{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"/home/gkkdzdg/www/src/components/strips/Strip.js\";\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\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\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\nconst Strip = ({\n  style,\n  className,\n  title,\n  intro,\n  blocks,\n  button,\n  downHref\n}, ref) => {\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: () => {},\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\nexport default /*#__PURE__*/forwardRef(Strip);\nexport const HouseStrip = ({\n  style,\n  className,\n  title,\n  blocks,\n  accommodations,\n  // accommodationsCount,\n  // availableCount,\n  // cheapest,\n  area,\n  surface //downHref,\n\n}) => {\n  const locale = useLocale();\n  const accommodationsCount = accommodations.length;\n  const availableCount = accommodations.reduce((acc, curr) => acc + (curr.available ? 1 : 0), 0);\n  const cheapest = accommodations.reduce((acc, curr) => {\n    const price = parseInt(curr.price.replace('€', '')); //.replace('$', '').replace(' ', ''))\n\n    return price < acc ? price : acc;\n  }, 9999);\n  const accommodationsCountHtml = locale(`accommodations-count`, accommodationsCount).replace('#', `<span class='bold'>${accommodationsCount}</span>`);\n  const availableCountHtml = locale(`available-accommodations`, availableCount).replace('#', `<span class='bold'>${availableCount}</span>`);\n  const cheapestHtml = locale(`price-from`).replace('#', `<span class='bold'>${cheapest}€</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((line, i) => /*#__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        }, 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: () => {},\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: () => {},\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};\nexport const CityStrip = ({\n  style,\n  className,\n  title,\n  blocks,\n  accommodationsCount,\n  housesCount,\n  availableCount,\n  downHref\n}) => {\n  const locale = useLocale(); // const accommodationsCountHtml = locale(`accommodations-count-${accommodationsCount == 1 ? 'single' : 'plural'}`)\n  //    .replace('#', `<span class='bold'>${accommodationsCount}</span>`)\n\n  const housesCountHtml = locale(`houses-count`, housesCount).replace('#', `<span class='bold'>${housesCount}</span>`); // const availableCountHtml = locale(`available-${availableCount == 1 ? 'single' : 'plural'}`)\n  //    .replace('#', `<span class='bold'>${availableCount}</span>`)\n\n  const availableCountHtml = locale(`available-accommodations`, availableCount).replace('#', `<span class='bold'>${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};","map":{"version":3,"sources":["/home/gkkdzdg/www/src/components/strips/Strip.js"],"names":["cn","ArrowDownButton","BoxButton","CustomBlockContent","useLocale","styles","HTMLReactParser","forwardRef","Strip","style","className","title","intro","blocks","button","downHref","ref","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"}