{"ast":null,"code":"import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nvar _jsxFileName = \"/home/gkkdzdg/www/src/components/strips/Strip.js\",\n    _this = this,\n    _s = $RefreshSig$(),\n    _s2 = $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 { ArrowDownButton } from 'components/gui/Arrow';\nimport BoxButton from 'components/gui/BoxButton';\nimport CustomBlockContent from 'components/gui/CustomBlockContent';\nimport useLocale from 'contexts/useLocale';\nimport styles from './Strip.module.scss';\nimport HTMLReactParser from 'html-react-parser';\nimport { forwardRef } from 'react';\n\nvar Strip = function Strip(_ref, ref) {\n  var style = _ref.style,\n      className = _ref.className,\n      title = _ref.title,\n      intro = _ref.intro,\n      blocks = _ref.blocks,\n      button = _ref.button,\n      downHref = _ref.downHref;\n  return /*#__PURE__*/_jsxDEV(\"div\", {\n    ref: ref,\n    className: cn(styles.strip, className),\n    style: _objectSpread({}, style),\n    children: [/*#__PURE__*/_jsxDEV(\"div\", {\n      children: /*#__PURE__*/_jsxDEV(\"h2\", {\n        className: cn('h--1', styles.title),\n        children: title\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 31,\n        columnNumber: 13\n      }, _this)\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 30,\n      columnNumber: 10\n    }, _this), /*#__PURE__*/_jsxDEV(\"div\", {\n      children: [intro && /*#__PURE__*/_jsxDEV(\"strong\", {\n        className: cn('p--l', styles.intro),\n        children: intro\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 34,\n        columnNumber: 23\n      }, _this), blocks && /*#__PURE__*/_jsxDEV(CustomBlockContent, {\n        className: cn('p--m', styles.text),\n        blocks: blocks\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 35,\n        columnNumber: 24\n      }, _this), button && /*#__PURE__*/_jsxDEV(BoxButton, {\n        className: cn(styles.button),\n        label: button.label,\n        fullWidth: true,\n        onClick: function onClick() {},\n        icon: \"right\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 36,\n        columnNumber: 24\n      }, _this)]\n    }, void 0, true, {\n      fileName: _jsxFileName,\n      lineNumber: 33,\n      columnNumber: 10\n    }, _this), downHref && /*#__PURE__*/_jsxDEV(ArrowDownButton, {\n      href: downHref\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 44,\n      columnNumber: 23\n    }, _this)]\n  }, void 0, true, {\n    fileName: _jsxFileName,\n    lineNumber: 20,\n    columnNumber: 7\n  }, _this);\n};\n\n_c = Strip;\nexport default _c2 = /*#__PURE__*/forwardRef(Strip);\nexport var HouseStrip = function HouseStrip(_ref2) {\n  _s();\n\n  var style = _ref2.style,\n      className = _ref2.className,\n      title = _ref2.title,\n      blocks = _ref2.blocks,\n      accommodations = _ref2.accommodations,\n      area = _ref2.area,\n      surface = _ref2.surface;\n  var locale = useLocale();\n  var accommodationsCount = accommodations.length;\n  var availableCount = accommodations.reduce(function (acc, curr) {\n    return acc + (curr.available ? 1 : 0);\n  }, 0);\n  var cheapest = accommodations.reduce(function (acc, curr) {\n    var price = parseInt(curr.price.replace('€', '')); //.replace('$', '').replace(' ', ''))\n\n    return price < acc ? price : acc;\n  }, 9999);\n  var accommodationsCountHtml = locale(\"accommodations-count\", accommodationsCount).replace('#', \"<span class='bold'>\".concat(accommodationsCount, \"</span>\"));\n  var availableCountHtml = locale(\"available-accommodations\", availableCount).replace('#', \"<span class='bold'>\".concat(availableCount, \"</span>\"));\n  var cheapestHtml = locale(\"price-from\").replace('#', \"<span class='bold'>\".concat(cheapest, \"\\u20AC</span>\"));\n  return /*#__PURE__*/_jsxDEV(\"div\", {\n    className: cn(styles.strip, styles.houseStrip, className),\n    style: _objectSpread({}, style),\n    children: [/*#__PURE__*/_jsxDEV(\"div\", {\n      children: /*#__PURE__*/_jsxDEV(\"h2\", {\n        className: cn('h--1', styles.title),\n        children: title\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 96,\n        columnNumber: 13\n      }, _this)\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 95,\n      columnNumber: 10\n    }, _this), /*#__PURE__*/_jsxDEV(\"div\", {\n      children: [/*#__PURE__*/_jsxDEV(\"div\", {\n        className: cn(styles.houseInfosGrid),\n        children: [/*#__PURE__*/_jsxDEV(\"div\", {\n          style: {\n            flex: 1\n          },\n          children: area && area.split('\\n').map(function (line, i) {\n            return /*#__PURE__*/_jsxDEV(\"p\", {\n              className: cn('p--m'),\n              children: line\n            }, i, false, {\n              fileName: _jsxFileName,\n              lineNumber: 101,\n              columnNumber: 62\n            }, _this);\n          })\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 100,\n          columnNumber: 16\n        }, _this), /*#__PURE__*/_jsxDEV(\"div\", {\n          style: {\n            flex: 0.7\n          },\n          children: [/*#__PURE__*/_jsxDEV(\"p\", {\n            className: cn('p--m'),\n            children: HTMLReactParser(accommodationsCountHtml)\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 104,\n            columnNumber: 19\n          }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n            className: cn('p--m'),\n            children: HTMLReactParser(availableCountHtml)\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 105,\n            columnNumber: 19\n          }, _this)]\n        }, void 0, true, {\n          fileName: _jsxFileName,\n          lineNumber: 103,\n          columnNumber: 16\n        }, _this)]\n      }, void 0, true, {\n        fileName: _jsxFileName,\n        lineNumber: 99,\n        columnNumber: 13\n      }, _this), /*#__PURE__*/_jsxDEV(\"div\", {\n        className: cn(styles.houseInfosGrid),\n        children: [/*#__PURE__*/_jsxDEV(\"div\", {\n          style: {\n            flex: 1\n          },\n          children: [/*#__PURE__*/_jsxDEV(\"p\", {\n            className: cn('p--m'),\n            children: locale('house-surface-area')\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 110,\n            columnNumber: 19\n          }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n            className: cn('p--m', 'bold'),\n            children: surface\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 111,\n            columnNumber: 19\n          }, _this)]\n        }, void 0, true, {\n          fileName: _jsxFileName,\n          lineNumber: 109,\n          columnNumber: 16\n        }, _this), /*#__PURE__*/_jsxDEV(\"div\", {\n          style: {\n            flex: 0.7\n          },\n          children: /*#__PURE__*/_jsxDEV(\"p\", {\n            className: cn('p--m'),\n            children: HTMLReactParser(cheapestHtml)\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 114,\n            columnNumber: 19\n          }, _this)\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 113,\n          columnNumber: 16\n        }, _this)]\n      }, void 0, true, {\n        fileName: _jsxFileName,\n        lineNumber: 108,\n        columnNumber: 13\n      }, _this), blocks && /*#__PURE__*/_jsxDEV(CustomBlockContent, {\n        className: cn('p--m', styles.text),\n        blocks: blocks\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 117,\n        columnNumber: 24\n      }, _this), /*#__PURE__*/_jsxDEV(BoxButton, {\n        className: cn(styles.button),\n        label: locale('join-house').replace('{house}', title),\n        fullWidth: true,\n        onClick: function onClick() {},\n        icon: \"down\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 118,\n        columnNumber: 13\n      }, _this), /*#__PURE__*/_jsxDEV(BoxButton, {\n        className: cn(styles.button),\n        label: locale('share'),\n        fullWidth: true,\n        onClick: function onClick() {},\n        icon: \"right\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 125,\n        columnNumber: 13\n      }, _this)]\n    }, void 0, true, {\n      fileName: _jsxFileName,\n      lineNumber: 98,\n      columnNumber: 10\n    }, _this)]\n  }, void 0, true, {\n    fileName: _jsxFileName,\n    lineNumber: 85,\n    columnNumber: 7\n  }, _this);\n};\n\n_s(HouseStrip, \"ubkSS9Gz1bw7UV2c73rm/bCUdh8=\", false, function () {\n  return [useLocale];\n});\n\n_c3 = HouseStrip;\nexport var CityStrip = function CityStrip(_ref3) {\n  _s2();\n\n  var style = _ref3.style,\n      className = _ref3.className,\n      title = _ref3.title,\n      blocks = _ref3.blocks,\n      accommodationsCount = _ref3.accommodationsCount,\n      housesCount = _ref3.housesCount,\n      availableCount = _ref3.availableCount,\n      downHref = _ref3.downHref;\n  var locale = useLocale(); // const accommodationsCountHtml = locale(`accommodations-count-${accommodationsCount == 1 ? 'single' : 'plural'}`)\n  //    .replace('#', `<span class='bold'>${accommodationsCount}</span>`)\n\n  var housesCountHtml = locale(\"houses-count\", housesCount).replace('#', \"<span class='bold'>\".concat(housesCount, \"</span>\")); // const availableCountHtml = locale(`available-${availableCount == 1 ? 'single' : 'plural'}`)\n  //    .replace('#', `<span class='bold'>${availableCount}</span>`)\n\n  var availableCountHtml = locale(\"available-accommodations\", availableCount).replace('#', \"<span class='bold'>\".concat(availableCount, \"</span>\"));\n  return /*#__PURE__*/_jsxDEV(\"div\", {\n    className: cn(styles.strip, styles.cityStrip, className),\n    style: _objectSpread({}, style),\n    children: [/*#__PURE__*/_jsxDEV(\"div\", {\n      children: /*#__PURE__*/_jsxDEV(\"h2\", {\n        className: cn('h--1', styles.title),\n        children: title\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 173,\n        columnNumber: 13\n      }, _this)\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 172,\n      columnNumber: 10\n    }, _this), /*#__PURE__*/_jsxDEV(\"div\", {\n      children: [/*#__PURE__*/_jsxDEV(\"div\", {\n        className: cn(styles.cityInfosGrid),\n        children: [/*#__PURE__*/_jsxDEV(\"p\", {\n          className: cn('p--m'),\n          children: HTMLReactParser(housesCountHtml)\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 178,\n          columnNumber: 16\n        }, _this), /*#__PURE__*/_jsxDEV(\"p\", {\n          className: cn('p--m'),\n          children: HTMLReactParser(availableCountHtml)\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 179,\n          columnNumber: 16\n        }, _this)]\n      }, void 0, true, {\n        fileName: _jsxFileName,\n        lineNumber: 176,\n        columnNumber: 13\n      }, _this), blocks && /*#__PURE__*/_jsxDEV(CustomBlockContent, {\n        className: cn('p--m', styles.text),\n        blocks: blocks\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 181,\n        columnNumber: 24\n      }, _this), downHref && /*#__PURE__*/_jsxDEV(BoxButton, {\n        className: cn(styles.button),\n        label: locale('Découvrir les habitations.'),\n        fullWidth: true,\n        href: downHref,\n        icon: \"down\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 182,\n        columnNumber: 26\n      }, _this)]\n    }, void 0, true, {\n      fileName: _jsxFileName,\n      lineNumber: 175,\n      columnNumber: 10\n    }, _this)]\n  }, void 0, true, {\n    fileName: _jsxFileName,\n    lineNumber: 162,\n    columnNumber: 7\n  }, _this);\n};\n\n_s2(CityStrip, \"ubkSS9Gz1bw7UV2c73rm/bCUdh8=\", false, function () {\n  return [useLocale];\n});\n\n_c4 = CityStrip;\n\nvar _c, _c2, _c3, _c4;\n\n$RefreshReg$(_c, \"Strip\");\n$RefreshReg$(_c2, \"%default%\");\n$RefreshReg$(_c3, \"HouseStrip\");\n$RefreshReg$(_c4, \"CityStrip\");","map":{"version":3,"sources":["/home/gkkdzdg/www/src/components/strips/Strip.js"],"names":["cn","ArrowDownButton","BoxButton","CustomBlockContent","useLocale","styles","HTMLReactParser","forwardRef","Strip","ref","style","className","title","intro","blocks","button","downHref","strip","text","label","HouseStrip","accommodations","area","surface","locale","accommodationsCount","length","availableCount","reduce","acc","curr","available","cheapest","price","parseInt","replace","accommodationsCountHtml","availableCountHtml","cheapestHtml","houseStrip","houseInfosGrid","flex","split","map","line","i","CityStrip","housesCount","housesCountHtml","cityStrip","cityInfosGrid"],"mappings":"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","sourcesContent":["\nimport cn from 'classnames'\nimport { ArrowDownButton } from 'components/gui/Arrow'\nimport BoxButton from 'components/gui/BoxButton'\nimport CustomBlockContent from 'components/gui/CustomBlockContent'\nimport useLocale from 'contexts/useLocale'\nimport styles from './Strip.module.scss'\nimport HTMLReactParser from 'html-react-parser'\nimport { forwardRef } from 'react'\n\n\nconst Strip = ({ style, className,\n   title,\n   intro,\n   blocks,\n   button,\n   downHref,\n}, ref) => {\n   return (\n      <div\n         ref={ref}\n         className={cn(\n            styles.strip,\n            className,\n         )}\n         style={{\n            ...style,\n         }}\n      >\n         <div>\n            <h2 className={cn('h--1', styles.title)}>{title}</h2>\n         </div>\n         <div>\n            {intro && <strong className={cn('p--l', styles.intro)}>{intro}</strong>}\n            {blocks && <CustomBlockContent className={cn('p--m', styles.text)} blocks={blocks} />}\n            {button && <BoxButton\n               className={cn(styles.button)}\n               label={button.label}\n               fullWidth={true}\n               onClick={() => { }}\n               icon='right'\n            />}\n         </div>\n         {downHref && <ArrowDownButton href={downHref} />}\n      </div>\n   )\n}\n\nexport default forwardRef(Strip)\n\n\nexport const HouseStrip = ({ style, className,\n   title,\n   blocks,\n   accommodations,\n   // accommodationsCount,\n   // availableCount,\n   // cheapest,\n   area,\n   surface,\n   //downHref,\n}) => {\n\n   const locale = useLocale()\n\n\n\tconst accommodationsCount = accommodations.length\n\tconst availableCount = accommodations.reduce((acc, curr) => acc + (curr.available ? 1 : 0), 0)\n\tconst cheapest = accommodations.reduce((acc, curr) => {\n\t\tconst price = parseInt(curr.price.replace('€', ''))//.replace('$', '').replace(' ', ''))\n\t\treturn price < acc ? price : acc\n\t}, 9999)\n   \n   const accommodationsCountHtml = locale(`accommodations-count`, accommodationsCount)\n      .replace('#', `<span class='bold'>${accommodationsCount}</span>`)\n   \n   const availableCountHtml = locale(`available-accommodations`, availableCount)\n      .replace('#', `<span class='bold'>${availableCount}</span>`)\n\n   const cheapestHtml = locale(`price-from`)\n      .replace('#', `<span class='bold'>${cheapest}€</span>`)\n\n\n   return (\n      <div\n         className={cn(\n            styles.strip,\n            styles.houseStrip,\n            className,\n         )}\n         style={{\n            ...style,\n         }}\n      >\n         <div>\n            <h2 className={cn('h--1', styles.title)}>{title}</h2>\n         </div>\n         <div>\n            <div className={cn(styles.houseInfosGrid)}>\n               <div style={{ flex: 1, }}>{/*className={cn(styles.houseInfosRow)}>*/}\n                  {area && area.split('\\n').map((line, i) => <p key={i} className={cn('p--m')}>{line}</p>)}\n               </div>\n               <div style={{ flex: 0.7, }}>\n                  <p className={cn('p--m')}>{HTMLReactParser(accommodationsCountHtml)}</p>\n                  <p className={cn('p--m')}>{HTMLReactParser(availableCountHtml)}</p>\n               </div>\n            </div>\n            <div className={cn(styles.houseInfosGrid)}>\n               <div style={{ flex: 1, }}>\n                  <p className={cn('p--m')}>{locale('house-surface-area')}</p>\n                  <p className={cn('p--m', 'bold')}>{surface}</p>\n               </div>\n               <div style={{ flex: 0.7, }}>\n                  <p className={cn('p--m')}>{HTMLReactParser(cheapestHtml)}</p>\n               </div>\n            </div>\n            {blocks && <CustomBlockContent className={cn('p--m', styles.text)} blocks={blocks} />}\n            <BoxButton\n               className={cn(styles.button)}\n               label={locale('join-house').replace('{house}', title)}\n               fullWidth={true}\n               onClick={() => { }}\n               icon='down'\n            />\n            <BoxButton\n               className={cn(styles.button)}\n               label={locale('share')}\n               fullWidth={true}\n               onClick={() => { }}\n               icon='right'\n            />\n         </div>\n         {/* {downHref && <ArrowDownButton href={downHref} />} */}\n      </div>\n   )\n}\n\nexport const CityStrip = ({ style, className,\n   title,\n   blocks,\n   accommodationsCount,\n   housesCount,\n   availableCount,\n   downHref,\n}) => {\n\n   const locale = useLocale()\n   \n   // const accommodationsCountHtml = locale(`accommodations-count-${accommodationsCount == 1 ? 'single' : 'plural'}`)\n   //    .replace('#', `<span class='bold'>${accommodationsCount}</span>`)\n   \n   const housesCountHtml = locale(`houses-count`, housesCount)\n      .replace('#', `<span class='bold'>${housesCount}</span>`)\n   \n   // const availableCountHtml = locale(`available-${availableCount == 1 ? 'single' : 'plural'}`)\n   //    .replace('#', `<span class='bold'>${availableCount}</span>`)\n   const availableCountHtml = locale(`available-accommodations`, availableCount)\n      .replace('#', `<span class='bold'>${availableCount}</span>`)\n\n\n   return (\n      <div\n         className={cn(\n            styles.strip,\n            styles.cityStrip,\n            className,\n         )}\n         style={{\n            ...style,\n         }}\n      >\n         <div>\n            <h2 className={cn('h--1', styles.title)}>{title}</h2>\n         </div>\n         <div>\n            <div className={cn(styles.cityInfosGrid)}>\n               {/* <p className={cn('p--m')}>{HTMLReactParser(accommodationsCountHtml)}</p> */}\n               <p className={cn('p--m')}>{HTMLReactParser(housesCountHtml)}</p>\n               <p className={cn('p--m')}>{HTMLReactParser(availableCountHtml)}</p>\n            </div>\n            {blocks && <CustomBlockContent className={cn('p--m', styles.text)} blocks={blocks} />}\n            {downHref && <BoxButton\n               className={cn(styles.button)}\n               label={locale('Découvrir les habitations.')}\n               fullWidth={true}\n               href={downHref}\n               icon='down'\n            />}\n         </div>\n         {/* {downHref && <ArrowDownButton href={downHref} />} */}\n      </div>\n   )\n}"]},"metadata":{},"sourceType":"module"}