{"ast":null,"code":"import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport { Fragment as _Fragment } from \"react/jsx-dev-runtime\";\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"/home/gkkdzdg/www/src/slices/NewsListSlice/NewsListSlice.js\",\n    _this = this,\n    _s = $RefreshSig$(),\n    _s2 = $RefreshSig$(),\n    _s3 = $RefreshSig$();\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport cn from 'classnames';\nimport { Arrow } from 'components/gui/Arrow';\nimport BoxButton from 'components/gui/BoxButton';\nimport Button from 'components/gui/Button';\nimport SlideshowInline from 'components/slideshowInline/SlideshowInline';\nimport useLocale from 'contexts/useLocale';\nimport gsap from 'gsap';\nimport { useClientWidth } from 'hooks/useClientSize';\nimport { useIsDesktop } from 'hooks/useIsDevice';\nimport { getLastPosts } from 'lib/instagram';\nimport { useRef, useState } from 'react';\nimport SliceIntro from 'slices/SliceIntro/SliceIntro';\nimport styles from './NewsListSlice.module.scss'; // Mobile\n\nvar Slide = function Slide(_ref) {\n  _s();\n\n  var news = _ref.news,\n      className = _ref.className,\n      color = _ref.color;\n  //const imageURL = data.image && imageBuilder.image(data.image.asset).width(400).url()\n  var locale = useLocale();\n  return /*#__PURE__*/_jsxDEV(\"li\", {\n    className: cn(styles.itemContainer, className),\n    children: /*#__PURE__*/_jsxDEV(\"div\", {\n      className: cn(styles.item),\n      style: {\n        background: color\n      },\n      children: [/*#__PURE__*/_jsxDEV(\"div\", {\n        className: cn(styles.title),\n        children: /*#__PURE__*/_jsxDEV(\"h3\", {\n          className: cn('h--3'),\n          children: news.title\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 26,\n          columnNumber: 16\n        }, _this)\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 25,\n        columnNumber: 13\n      }, _this), /*#__PURE__*/_jsxDEV(\"div\", {\n        className: cn(styles.imageCont),\n        children: /*#__PURE__*/_jsxDEV(\"img\", {\n          src: 'https://www.colivingfactory.com/assets/coresider/images/1.png',\n          className: styles.image\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 29,\n          columnNumber: 16\n        }, _this)\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 28,\n        columnNumber: 13\n      }, _this), /*#__PURE__*/_jsxDEV(BoxButton, {\n        className: cn(styles.button),\n        label: locale('see-on-instagram'),\n        fullWidth: true,\n        href: 'https://www.instagram.com/colivingfactory',\n        white: true // icon='right'\n\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 31,\n        columnNumber: 13\n      }, _this)]\n    }, void 0, true, {\n      fileName: _jsxFileName,\n      lineNumber: 24,\n      columnNumber: 10\n    }, _this)\n  }, void 0, false, {\n    fileName: _jsxFileName,\n    lineNumber: 23,\n    columnNumber: 7\n  }, _this);\n};\n\n_s(Slide, \"ubkSS9Gz1bw7UV2c73rm/bCUdh8=\", false, function () {\n  return [useLocale];\n});\n\n_c = Slide;\nvar colorsMobile = ['#8E95BD', '#F1CDCD', '#AFB8A6', '#742521'];\n\nvar NewsSlideshow = function NewsSlideshow(_ref2) {\n  var news = _ref2.news,\n      introText = _ref2.introText;\n  return /*#__PURE__*/_jsxDEV(\"div\", {\n    className: cn('mobile-only', styles.newsSlideshow),\n    children: [/*#__PURE__*/_jsxDEV(\"div\", {\n      className: cn(styles.intro),\n      children: /*#__PURE__*/_jsxDEV(\"h3\", {\n        children: introText\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 55,\n        columnNumber: 13\n      }, _this)\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 54,\n      columnNumber: 10\n    }, _this), /*#__PURE__*/_jsxDEV(SlideshowInline, {\n      items: news,\n      renderItem: function renderItem(item, itemStyle, i) {\n        return /*#__PURE__*/_jsxDEV(Slide, {\n          className: itemStyle,\n          news: item,\n          color: colorsMobile[i % colorsMobile.length]\n        }, item._id + '-' + i, false, {\n          fileName: _jsxFileName,\n          lineNumber: 61,\n          columnNumber: 49\n        }, _this);\n      }\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 59,\n      columnNumber: 10\n    }, _this)]\n  }, void 0, true, {\n    fileName: _jsxFileName,\n    lineNumber: 50,\n    columnNumber: 7\n  }, _this);\n}; // Desktop\n\n\n_c2 = NewsSlideshow;\n\nvar NewsListItem = function NewsListItem(_ref3) {\n  var news = _ref3.news,\n      color = _ref3.color;\n  return /*#__PURE__*/_jsxDEV(\"li\", {\n    className: cn(styles.item),\n    style: {\n      background: color\n    },\n    children: [/*#__PURE__*/_jsxDEV(\"div\", {\n      className: cn(styles.square, styles.title),\n      children: /*#__PURE__*/_jsxDEV(\"h3\", {\n        className: cn('h--2'),\n        children: news.title\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 79,\n        columnNumber: 13\n      }, _this)\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 78,\n      columnNumber: 10\n    }, _this), /*#__PURE__*/_jsxDEV(\"div\", {\n      className: cn(styles.square, styles.imageCont),\n      children: /*#__PURE__*/_jsxDEV(\"img\", {\n        src: 'https://www.colivingfactory.com/assets/coresider/images/1.png',\n        className: styles.image\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 82,\n        columnNumber: 13\n      }, _this)\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 81,\n      columnNumber: 10\n    }, _this)]\n  }, void 0, true, {\n    fileName: _jsxFileName,\n    lineNumber: 77,\n    columnNumber: 7\n  }, _this);\n};\n\n_c3 = NewsListItem;\n\nvar ListArrow = function ListArrow(_ref4) {\n  var onClick = _ref4.onClick,\n      right = _ref4.right;\n  return /*#__PURE__*/_jsxDEV(\"div\", {\n    className: cn(styles.arrowButtonCont, right && styles.arrowButtonContRight),\n    children: /*#__PURE__*/_jsxDEV(Button, {\n      onClick: onClick,\n      className: cn(styles.arrowButton),\n      children: [right && /*#__PURE__*/_jsxDEV(Arrow, {\n        size: \"large\",\n        direction: \"right\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 92,\n        columnNumber: 23\n      }, _this), !right && /*#__PURE__*/_jsxDEV(Arrow, {\n        size: \"large\",\n        direction: \"left\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 93,\n        columnNumber: 24\n      }, _this)]\n    }, void 0, true, {\n      fileName: _jsxFileName,\n      lineNumber: 91,\n      columnNumber: 10\n    }, _this)\n  }, void 0, false, {\n    fileName: _jsxFileName,\n    lineNumber: 90,\n    columnNumber: 7\n  }, _this);\n};\n\n_c4 = ListArrow;\nvar colorsDesktop = ['#BCC8CC', '#F1CDCD', '#AFB8A6', '#742521'];\nvar showing = 4;\n\nvar NewsList = function NewsList(_ref5) {\n  _s2();\n\n  var news = _ref5.news,\n      introText = _ref5.introText;\n\n  var _useState = useState(0),\n      index = _useState[0],\n      setIndex = _useState[1];\n\n  var listRef = useRef();\n  var clientWidth = useClientWidth();\n  var itemWidth = clientWidth / 4;\n\n  var handleClick = function handleClick(inc) {\n    var newIndex = index + inc;\n\n    if (newIndex >= 0 && newIndex <= news.length - showing) {\n      var tl = gsap.timeline();\n      tl.to(listRef.current, {\n        duration: 0.3,\n        ease: 'power3.inOut',\n        x: -newIndex * itemWidth\n      });\n      setIndex(newIndex);\n    }\n  };\n\n  var displayArrows = news.length > showing;\n  return /*#__PURE__*/_jsxDEV(_Fragment, {\n    children: /*#__PURE__*/_jsxDEV(\"div\", {\n      className: cn(styles.listContainer),\n      children: [/*#__PURE__*/_jsxDEV(\"ul\", {\n        ref: listRef,\n        className: styles.list,\n        style: {\n          width: itemWidth * news.length\n        },\n        children: news.map(function (news, i) {\n          return /*#__PURE__*/_jsxDEV(_Fragment, {\n            children: /*#__PURE__*/_jsxDEV(NewsListItem, {\n              news: news,\n              color: colorsDesktop[i % colorsDesktop.length]\n            }, news._id + '-' + i, false, {\n              fileName: _jsxFileName,\n              lineNumber: 133,\n              columnNumber: 19\n            }, _this)\n          }, void 0, false);\n        })\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 130,\n        columnNumber: 10\n      }, _this), displayArrows && index > 0 && /*#__PURE__*/_jsxDEV(ListArrow, {\n        onClick: function onClick() {\n          return handleClick(-1);\n        }\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 142,\n        columnNumber: 13\n      }, _this), displayArrows && index < news.length - showing && /*#__PURE__*/_jsxDEV(ListArrow, {\n        onClick: function onClick() {\n          return handleClick(1);\n        },\n        right: true\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 144,\n        columnNumber: 13\n      }, _this)]\n    }, void 0, true, {\n      fileName: _jsxFileName,\n      lineNumber: 129,\n      columnNumber: 7\n    }, _this)\n  }, void 0, false);\n};\n\n_s2(NewsList, \"8EK6xbi8jw4CHgeHG9Xi3f5Jusw=\", false, function () {\n  return [useClientWidth];\n});\n\n_c5 = NewsList;\n\nvar NewsListSlice = function NewsListSlice(props) {\n  _s3();\n\n  var id = props.id,\n      introText = props.introText,\n      rest = _objectWithoutProperties(props, [\"id\", \"introText\"]);\n\n  var isDesktop = useIsDesktop(); // const instaData = getLastPosts()\n\n  return /*#__PURE__*/_jsxDEV(\"section\", {\n    id: id || 'news',\n    className: cn(styles.newsSlice),\n    children: [/*#__PURE__*/_jsxDEV(SliceIntro, {\n      text: introText\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 164,\n      columnNumber: 10\n    }, _this), isDesktop ? /*#__PURE__*/_jsxDEV(NewsList, _objectSpread({}, rest), void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 167,\n      columnNumber: 15\n    }, _this) : /*#__PURE__*/_jsxDEV(NewsSlideshow, _objectSpread({}, rest), void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 168,\n      columnNumber: 15\n    }, _this)]\n  }, void 0, true, {\n    fileName: _jsxFileName,\n    lineNumber: 159,\n    columnNumber: 7\n  }, _this);\n};\n\n_s3(NewsListSlice, \"LPvPO2c3CxR8xrtzm1E56phj+VA=\", false, function () {\n  return [useIsDesktop];\n});\n\n_c6 = NewsListSlice;\nexport default NewsListSlice;\n\nvar _c, _c2, _c3, _c4, _c5, _c6;\n\n$RefreshReg$(_c, \"Slide\");\n$RefreshReg$(_c2, \"NewsSlideshow\");\n$RefreshReg$(_c3, \"NewsListItem\");\n$RefreshReg$(_c4, \"ListArrow\");\n$RefreshReg$(_c5, \"NewsList\");\n$RefreshReg$(_c6, \"NewsListSlice\");","map":{"version":3,"sources":["/home/gkkdzdg/www/src/slices/NewsListSlice/NewsListSlice.js"],"names":["cn","Arrow","BoxButton","Button","SlideshowInline","useLocale","gsap","useClientWidth","useIsDesktop","getLastPosts","useRef","useState","SliceIntro","styles","Slide","news","className","color","locale","itemContainer","item","background","title","imageCont","image","button","colorsMobile","NewsSlideshow","introText","newsSlideshow","intro","itemStyle","i","length","_id","NewsListItem","square","ListArrow","onClick","right","arrowButtonCont","arrowButtonContRight","arrowButton","colorsDesktop","showing","NewsList","index","setIndex","listRef","clientWidth","itemWidth","handleClick","inc","newIndex","tl","timeline","to","current","duration","ease","x","displayArrows","listContainer","list","width","map","NewsListSlice","props","id","rest","isDesktop","newsSlice"],"mappings":"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","sourcesContent":["\nimport cn from 'classnames'\nimport { Arrow } from 'components/gui/Arrow'\nimport BoxButton from 'components/gui/BoxButton'\nimport Button from 'components/gui/Button'\nimport SlideshowInline from 'components/slideshowInline/SlideshowInline'\nimport useLocale from 'contexts/useLocale'\nimport gsap from 'gsap'\nimport { useClientWidth } from 'hooks/useClientSize'\nimport { useIsDesktop } from 'hooks/useIsDevice'\nimport { getLastPosts } from 'lib/instagram'\nimport { useRef, useState } from 'react'\nimport SliceIntro from 'slices/SliceIntro/SliceIntro'\nimport styles from './NewsListSlice.module.scss'\n\n// Mobile\nconst Slide = ({ news, className, color, }) => {\n\n   //const imageURL = data.image && imageBuilder.image(data.image.asset).width(400).url()\n   const locale = useLocale()\n\n   return (\n      <li className={cn(styles.itemContainer, className)}>\n         <div className={cn(styles.item)} style={{ background: color }}>\n            <div className={cn(styles.title)}>\n               <h3 className={cn('h--3')}>{news.title}</h3>\n            </div>\n            <div className={cn(styles.imageCont)}>\n               <img src={'https://www.colivingfactory.com/assets/coresider/images/1.png'} className={styles.image} />\n            </div>\n            <BoxButton\n               className={cn(styles.button)}\n               label={locale('see-on-instagram')}\n               fullWidth={true}\n               href={'https://www.instagram.com/colivingfactory'}\n               white={true}\n               // icon='right'\n            />\n         </div>\n      </li>\n   )\n}\n\n\nconst colorsMobile = ['#8E95BD', '#F1CDCD', '#AFB8A6', '#742521']\n\nconst NewsSlideshow = ({ news, introText }) => {\n\n   return (\n      <div\n         className={cn('mobile-only', styles.newsSlideshow)}\n      >\n\n         <div className={cn(styles.intro)}>\n            <h3>{introText}</h3>\n         </div>\n\n\n         <SlideshowInline\n            items={news}\n            renderItem={(item, itemStyle, i) => <Slide\n               className={itemStyle}\n               key={item._id + '-' + i}\n               news={item}\n               color={colorsMobile[i % colorsMobile.length]}\n            />}\n         />\n\n      </div>\n   )\n}\n\n// Desktop\nconst NewsListItem = ({ news, color }) => {\n\n   return (\n      <li className={cn(styles.item)} style={{ background: color }}>\n         <div className={cn(styles.square, styles.title)}>\n            <h3 className={cn('h--2')}>{news.title}</h3>\n         </div>\n         <div className={cn(styles.square, styles.imageCont)}>\n            <img src={'https://www.colivingfactory.com/assets/coresider/images/1.png'} className={styles.image} />\n         </div>\n      </li>\n   )\n}\n\nconst ListArrow = ({ onClick, right }) => {\n   return (\n      <div className={cn(styles.arrowButtonCont, right && styles.arrowButtonContRight)}>\n         <Button onClick={onClick} className={cn(styles.arrowButton)}>\n            {right && <Arrow size='large' direction='right' />}\n            {!right && <Arrow size='large' direction='left' />}\n         </Button>\n      </div>\n   )\n}\n\nconst colorsDesktop = ['#BCC8CC', '#F1CDCD', '#AFB8A6', '#742521']\nconst showing = 4\n\nconst NewsList = ({ news, introText, }) => {\n\n   const [index, setIndex] = useState(0)\n   const listRef = useRef()\n\n\n   const clientWidth = useClientWidth()\n   const itemWidth = clientWidth / 4\n\n   const handleClick = (inc) => {\n      const newIndex = index + inc\n      if (newIndex >= 0 && newIndex <= news.length - showing) {\n         const tl = gsap.timeline()\n\n         tl.to(listRef.current, {\n            duration: 0.3,\n            ease: 'power3.inOut',\n            x: -newIndex * itemWidth,\n         })\n\n         setIndex(newIndex)\n      }\n   }\n\n   const displayArrows = news.length > showing\n\n   return (<>\n      <div className={cn(styles.listContainer)}>\n         <ul ref={listRef} className={styles.list} style={{ width: itemWidth * news.length }}>\n            {news.map((news, i) =>\n               <>\n                  <NewsListItem\n                     key={news._id + '-' + i}\n                     news={news}\n                     color={colorsDesktop[i % colorsDesktop.length]}\n                  />\n               </>\n            )}\n         </ul>\n         {displayArrows && index > 0 &&\n            <ListArrow onClick={() => handleClick(-1)} />}\n         {displayArrows && index < news.length - showing &&\n            <ListArrow onClick={() => handleClick(1)} right />}\n      </div>\n   </>\n   )\n}\n\n\nconst NewsListSlice = (props) => {\n   const { id, introText, ...rest } = props\n\n   const isDesktop = useIsDesktop()\n\n   // const instaData = getLastPosts()\n\n   return (\n      <section\n         id={id || 'news'}\n         className={cn(styles.newsSlice)}\n      >\n\n         <SliceIntro text={introText} />\n\n         {isDesktop\n            ? <NewsList {...rest} />\n            : <NewsSlideshow {...rest} />\n         }\n\n      </section>\n   )\n}\n\nexport default NewsListSlice\n\n"]},"metadata":{},"sourceType":"module"}