{"ast":null,"code":"import { Fragment as _Fragment } from \"react/jsx-dev-runtime\";\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"/home/gkkdzdg/www/src/slices/PicturesSlice/PicturesSlice.js\";\nimport cn from 'classnames';\nimport Button from 'components/gui/Button';\nimport Slideshow from 'components/slideshow/Slideshow';\nimport SlideshowInline from 'components/slideshowInline/SlideshowInline';\nimport { useIsDesktop } from 'hooks/useIsDevice';\nimport { useState } from 'react';\nimport SliceIntro from 'slices/SliceIntro/SliceIntro';\nimport styles from './PicturesSlice.module.scss';\nimport CircleButton from 'components/gui/CircleButton';\nimport Matterport from 'components/matterport/Matterport';\n\nconst GridItem = ({\n  src,\n  onClick,\n  className\n}) => {\n  return /*#__PURE__*/_jsxDEV(\"div\", {\n    className: cn(styles.gridItem, className),\n    children: /*#__PURE__*/_jsxDEV(\"img\", {\n      onClick: onClick && (() => onClick(src)),\n      src: src\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 16,\n      columnNumber: 7\n    }, this)\n  }, void 0, false, {\n    fileName: _jsxFileName,\n    lineNumber: 15,\n    columnNumber: 11\n  }, this);\n}; // Mobile\n\n\nconst PicturesSlideshow = ({\n  pictures,\n  onClick,\n  on3D\n}) => {\n  const {\n    0: index,\n    1: setIndex\n  } = useState(0);\n  return /*#__PURE__*/_jsxDEV(_Fragment, {\n    children: [/*#__PURE__*/_jsxDEV(SlideshowInline, {\n      items: pictures,\n      renderItem: (item, itemStyle, i) => /*#__PURE__*/_jsxDEV(GridItem, {\n        className: itemStyle,\n        src: item,\n        onClick: onClick\n      }, item, false, {\n        fileName: _jsxFileName,\n        lineNumber: 30,\n        columnNumber: 46\n      }, this),\n      onIndexChange: index => setIndex(index)\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 28,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(CircleButton, {\n      onClick: () => onClick(pictures[index]),\n      className: cn(styles.openButton),\n      icon: \"fullScreen\"\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 39,\n      columnNumber: 7\n    }, this), on3D && /*#__PURE__*/_jsxDEV(CircleButton, {\n      onClick: () => on3D(),\n      className: cn(styles.threeDButton),\n      icon: \"3d\"\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 44,\n      columnNumber: 16\n    }, this)]\n  }, void 0, true);\n}; // Desktop\n\n\nconst PicturesGrid = ({\n  pictures,\n  onClick\n}) => {\n  return /*#__PURE__*/_jsxDEV(\"div\", {\n    className: cn(styles.grid),\n    children: pictures.map((picture, i) => {\n      return /*#__PURE__*/_jsxDEV(GridItem, {\n        src: picture,\n        onClick: onClick\n      }, i + '-' + picture, false, {\n        fileName: _jsxFileName,\n        lineNumber: 59,\n        columnNumber: 17\n      }, this);\n    })\n  }, void 0, false, {\n    fileName: _jsxFileName,\n    lineNumber: 56,\n    columnNumber: 11\n  }, this);\n}; //\n\n\nconst PicturesSlice = ({\n  pictures,\n  introText,\n  matterport\n}) => {\n  const isDesktop = useIsDesktop();\n  const {\n    0: openSlideshowWithSrc,\n    1: setOpenSlideshowWithSrc\n  } = useState();\n  const {\n    0: show3D,\n    1: setShow3D\n  } = useState(false);\n\n  const openFullScreen = src => {\n    setOpenSlideshowWithSrc(src);\n  };\n\n  return /*#__PURE__*/_jsxDEV(\"section\", {\n    className: cn(styles.picturesSlice),\n    children: [/*#__PURE__*/_jsxDEV(SliceIntro, {\n      text: introText\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 82,\n      columnNumber: 10\n    }, this), isDesktop ? /*#__PURE__*/_jsxDEV(PicturesGrid, {\n      pictures: pictures,\n      onClick: openFullScreen\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 85,\n      columnNumber: 15\n    }, this) : /*#__PURE__*/_jsxDEV(PicturesSlideshow, {\n      pictures: pictures,\n      onClick: openFullScreen,\n      on3D: matterport && (() => setShow3D(true))\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 86,\n      columnNumber: 15\n    }, this), show3D && /*#__PURE__*/_jsxDEV(Matterport, {\n      src: matterport,\n      onClose: () => setShow3D(false)\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 93,\n      columnNumber: 21\n    }, this), openSlideshowWithSrc && /*#__PURE__*/_jsxDEV(Slideshow // className={cn(styles.slideshow)}\n    , {\n      fullScreen: true,\n      withArrows: true,\n      images: pictures,\n      openOn: openSlideshowWithSrc,\n      onClose: () => setOpenSlideshowWithSrc(null)\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 99,\n      columnNumber: 13\n    }, this)]\n  }, void 0, true, {\n    fileName: _jsxFileName,\n    lineNumber: 80,\n    columnNumber: 7\n  }, this);\n};\n\nexport default PicturesSlice;","map":{"version":3,"sources":["/home/gkkdzdg/www/src/slices/PicturesSlice/PicturesSlice.js"],"names":["cn","Button","Slideshow","SlideshowInline","useIsDesktop","useState","SliceIntro","styles","CircleButton","Matterport","GridItem","src","onClick","className","gridItem","PicturesSlideshow","pictures","on3D","index","setIndex","item","itemStyle","i","openButton","threeDButton","PicturesGrid","grid","map","picture","PicturesSlice","introText","matterport","isDesktop","openSlideshowWithSrc","setOpenSlideshowWithSrc","show3D","setShow3D","openFullScreen","picturesSlice"],"mappings":";;;AACA,OAAOA,EAAP,MAAe,YAAf;AACA,OAAOC,MAAP,MAAmB,uBAAnB;AACA,OAAOC,SAAP,MAAsB,gCAAtB;AACA,OAAOC,eAAP,MAA4B,4CAA5B;AACA,SAASC,YAAT,QAA6B,mBAA7B;AACA,SAASC,QAAT,QAAyB,OAAzB;AACA,OAAOC,UAAP,MAAuB,8BAAvB;AACA,OAAOC,MAAP,MAAmB,6BAAnB;AACA,OAAOC,YAAP,MAAyB,6BAAzB;AACA,OAAOC,UAAP,MAAuB,kCAAvB;;AAEA,MAAMC,QAAQ,GAAG,CAAC;AAAEC,EAAAA,GAAF;AAAOC,EAAAA,OAAP;AAAgBC,EAAAA;AAAhB,CAAD,KAAkC;AAEhD,sBAAO;AAAK,IAAA,SAAS,EAAEb,EAAE,CAACO,MAAM,CAACO,QAAR,EAAkBD,SAAlB,CAAlB;AAAA,2BACJ;AACG,MAAA,OAAO,EAAED,OAAO,KAAK,MAAMA,OAAO,CAACD,GAAD,CAAlB,CADnB;AAEG,MAAA,GAAG,EAAEA;AAFR;AAAA;AAAA;AAAA;AAAA;AADI;AAAA;AAAA;AAAA;AAAA,UAAP;AAMF,CARD,C,CAUA;;;AACA,MAAMI,iBAAiB,GAAG,CAAC;AAAEC,EAAAA,QAAF;AAAYJ,EAAAA,OAAZ;AAAqBK,EAAAA;AAArB,CAAD,KAAkC;AACzD,QAAM;AAAA,OAACC,KAAD;AAAA,OAAQC;AAAR,MAAoBd,QAAQ,CAAC,CAAD,CAAlC;AAEA,sBAAO;AAAA,4BACJ,QAAC,eAAD;AACG,MAAA,KAAK,EAAEW,QADV;AAEG,MAAA,UAAU,EAAE,CAACI,IAAD,EAAOC,SAAP,EAAkBC,CAAlB,kBAAwB,QAAC,QAAD;AACjC,QAAA,SAAS,EAAED,SADsB;AAGjC,QAAA,GAAG,EAAED,IAH4B;AAIjC,QAAA,OAAO,EAAER;AAJwB,SAE5BQ,IAF4B;AAAA;AAAA;AAAA;AAAA,cAFvC;AAQG,MAAA,aAAa,EAAEF,KAAK,IAAIC,QAAQ,CAACD,KAAD;AARnC;AAAA;AAAA;AAAA;AAAA,YADI,eAYJ,QAAC,YAAD;AACG,MAAA,OAAO,EAAE,MAAMN,OAAO,CAACI,QAAQ,CAACE,KAAD,CAAT,CADzB;AAEG,MAAA,SAAS,EAAElB,EAAE,CAACO,MAAM,CAACgB,UAAR,CAFhB;AAGG,MAAA,IAAI,EAAC;AAHR;AAAA;AAAA;AAAA;AAAA,YAZI,EAiBHN,IAAI,iBAAI,QAAC,YAAD;AACN,MAAA,OAAO,EAAE,MAAMA,IAAI,EADb;AAEN,MAAA,SAAS,EAAEjB,EAAE,CAACO,MAAM,CAACiB,YAAR,CAFP;AAGN,MAAA,IAAI,EAAC;AAHC;AAAA;AAAA;AAAA;AAAA,YAjBL;AAAA,kBAAP;AAuBF,CA1BD,C,CA4BA;;;AAEA,MAAMC,YAAY,GAAG,CAAC;AAAET,EAAAA,QAAF;AAAYJ,EAAAA;AAAZ,CAAD,KAA4B;AAE9C,sBAAO;AAAK,IAAA,SAAS,EAAEZ,EAAE,CAACO,MAAM,CAACmB,IAAR,CAAlB;AAAA,cACHV,QAAQ,CAACW,GAAT,CAAa,CAACC,OAAD,EAAUN,CAAV,KAAgB;AAE3B,0BAAO,QAAC,QAAD;AAEJ,QAAA,GAAG,EAAEM,OAFD;AAGJ,QAAA,OAAO,EAAEhB;AAHL,SACCU,CAAC,GAAG,GAAJ,GAAUM,OADX;AAAA;AAAA;AAAA;AAAA,cAAP;AAKF,KAPA;AADG;AAAA;AAAA;AAAA;AAAA,UAAP;AAUF,CAZD,C,CAcA;;;AACA,MAAMC,aAAa,GAAG,CAAC;AAAEb,EAAAA,QAAF;AAAYc,EAAAA,SAAZ;AAAuBC,EAAAA;AAAvB,CAAD,KAA0C;AAE7D,QAAMC,SAAS,GAAG5B,YAAY,EAA9B;AACA,QAAM;AAAA,OAAC6B,oBAAD;AAAA,OAAuBC;AAAvB,MAAkD7B,QAAQ,EAAhE;AACA,QAAM;AAAA,OAAC8B,MAAD;AAAA,OAASC;AAAT,MAAsB/B,QAAQ,CAAC,KAAD,CAApC;;AAEA,QAAMgC,cAAc,GAAI1B,GAAD,IAAS;AAC7BuB,IAAAA,uBAAuB,CAACvB,GAAD,CAAvB;AACF,GAFD;;AAIA,sBACG;AAAS,IAAA,SAAS,EAAEX,EAAE,CAACO,MAAM,CAAC+B,aAAR,CAAtB;AAAA,4BAEG,QAAC,UAAD;AAAY,MAAA,IAAI,EAAER;AAAlB;AAAA;AAAA;AAAA;AAAA,YAFH,EAIIE,SAAS,gBACL,QAAC,YAAD;AAAc,MAAA,QAAQ,EAAEhB,QAAxB;AAAkC,MAAA,OAAO,EAAEqB;AAA3C;AAAA;AAAA;AAAA;AAAA,YADK,gBAEL,QAAC,iBAAD;AACC,MAAA,QAAQ,EAAErB,QADX;AAEC,MAAA,OAAO,EAAEqB,cAFV;AAGC,MAAA,IAAI,EAAEN,UAAU,KAAK,MAAMK,SAAS,CAAC,IAAD,CAApB;AAHjB;AAAA;AAAA;AAAA;AAAA,YANR,EAaID,MAAM,iBAAI,QAAC,UAAD;AACL,MAAA,GAAG,EAAEJ,UADA;AAEL,MAAA,OAAO,EAAE,MAAMK,SAAS,CAAC,KAAD;AAFnB;AAAA;AAAA;AAAA;AAAA,YAbd,EAkBIH,oBAAoB,iBAClB,QAAC,SAAD,CACG;AADH;AAEG,MAAA,UAAU,MAFb;AAGG,MAAA,UAAU,MAHb;AAIG,MAAA,MAAM,EAAEjB,QAJX;AAKG,MAAA,MAAM,EAAEiB,oBALX;AAMG,MAAA,OAAO,EAAE,MAAMC,uBAAuB,CAAC,IAAD;AANzC;AAAA;AAAA;AAAA;AAAA,YAnBN;AAAA;AAAA;AAAA;AAAA;AAAA,UADH;AA+BF,CAzCD;;AA2CA,eAAeL,aAAf","sourcesContent":["\nimport cn from 'classnames'\nimport Button from 'components/gui/Button'\nimport Slideshow from 'components/slideshow/Slideshow'\nimport SlideshowInline from 'components/slideshowInline/SlideshowInline'\nimport { useIsDesktop } from 'hooks/useIsDevice'\nimport { useState } from 'react'\nimport SliceIntro from 'slices/SliceIntro/SliceIntro'\nimport styles from './PicturesSlice.module.scss'\nimport CircleButton from 'components/gui/CircleButton'\nimport Matterport from 'components/matterport/Matterport'\n\nconst GridItem = ({ src, onClick, className, }) => {\n\n   return <div className={cn(styles.gridItem, className)}>\n      <img\n         onClick={onClick && (() => onClick(src))}\n         src={src}\n      />\n   </div>\n}\n\n// Mobile\nconst PicturesSlideshow = ({ pictures, onClick, on3D, }) => {\n   const [index, setIndex] = useState(0)\n\n   return <>\n      <SlideshowInline\n         items={pictures}\n         renderItem={(item, itemStyle, i) => <GridItem\n            className={itemStyle}\n            key={item}\n            src={item}\n            onClick={onClick}\n         />}\n         onIndexChange={index => setIndex(index)}\n      />\n\n      <CircleButton\n         onClick={() => onClick(pictures[index])}\n         className={cn(styles.openButton)}\n         icon='fullScreen'\n      />\n      {on3D && <CircleButton\n         onClick={() => on3D()}\n         className={cn(styles.threeDButton)}\n         icon='3d'\n      />}\n   </>\n}\n\n// Desktop\n\nconst PicturesGrid = ({ pictures, onClick, }) => {\n\n   return <div className={cn(styles.grid)}>\n      {pictures.map((picture, i) => {\n\n         return <GridItem\n            key={i + '-' + picture}\n            src={picture}\n            onClick={onClick}\n         />\n      })}\n   </div>\n}\n\n//\nconst PicturesSlice = ({ pictures, introText, matterport, }) => {\n\n   const isDesktop = useIsDesktop()\n   const [openSlideshowWithSrc, setOpenSlideshowWithSrc] = useState()\n   const [show3D, setShow3D] = useState(false)\n\n   const openFullScreen = (src) => {\n      setOpenSlideshowWithSrc(src)\n   }\n\n   return (\n      <section className={cn(styles.picturesSlice)}>\n\n         <SliceIntro text={introText} />\n\n         {isDesktop\n            ? <PicturesGrid pictures={pictures} onClick={openFullScreen} />\n            : <PicturesSlideshow\n               pictures={pictures}\n               onClick={openFullScreen}\n               on3D={matterport && (() => setShow3D(true))}\n            />\n         }\n\n         {show3D && <Matterport\n               src={matterport}\n               onClose={() => setShow3D(false)}\n               />}\n\n         {openSlideshowWithSrc &&\n            <Slideshow\n               // className={cn(styles.slideshow)}\n               fullScreen\n               withArrows\n               images={pictures}\n               openOn={openSlideshowWithSrc}\n               onClose={() => setOpenSlideshowWithSrc(null)}\n            />\n         }\n      </section>\n   )\n}\n\nexport default PicturesSlice\n\n"]},"metadata":{},"sourceType":"module"}