{"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/ServicesSlice/ServicesSlice.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 Button from 'components/gui/Button';\nimport CircleButton from 'components/gui/CircleButton';\nimport CustomBlockContent from 'components/gui/CustomBlockContent';\nimport Overlay from 'components/overlay/Overlay';\nimport { useIsDesktop } from 'hooks/useIsDevice';\nimport HTMLReactParser from 'html-react-parser';\nimport { useState } from 'react';\nimport SliceIntro from 'slices/SliceIntro/SliceIntro';\nimport TabsSlice from 'slices/TabsSlice/TabsSlice';\nimport styles from './ServicesSlice.module.scss'; // Mobile\n\nvar ServicesSlideshow = function ServicesSlideshow(_ref) {\n  _s();\n\n  var services = _ref.services,\n      onDemand = _ref.onDemand,\n      mutualized = _ref.mutualized;\n  console.log('ServicesSlice.js::13 services', services);\n\n  var _useState = useState(null),\n      openId = _useState[0],\n      setOpenId = _useState[1];\n\n  var onClick = function onClick(id) {\n    console.log('ServicesSlice.js::17 id', id);\n    setOpenId(id);\n  };\n\n  var openService = openId && services.filter(function (service) {\n    return service.id == openId;\n  })[0];\n\n  var renderTab = function renderTab(key) {\n    return /*#__PURE__*/_jsxDEV(\"div\", {\n      className: cn(styles.mobileGrid),\n      children: services.filter(function (service) {\n        return service.type == key;\n      }).map(function (service, i) {\n        return service.icon && /*#__PURE__*/_jsxDEV(Button, {\n          className: cn(styles.gridItem),\n          onClick: onClick && function () {\n            return onClick(service.id);\n          },\n          children: [HTMLReactParser(service.icon), /*#__PURE__*/_jsxDEV(\"div\", {\n            className: cn(styles.itemBottom),\n            children: [/*#__PURE__*/_jsxDEV(CircleButton, {\n              icon: \"plus\",\n              color: 'white'\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 40,\n              columnNumber: 16\n            }, _this), /*#__PURE__*/_jsxDEV(\"h5\", {\n              className: cn('h--5', styles.subtitle),\n              children: service.title\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 44,\n              columnNumber: 16\n            }, _this)]\n          }, void 0, true, {\n            fileName: _jsxFileName,\n            lineNumber: 39,\n            columnNumber: 13\n          }, _this)]\n        }, service.id + i, true, {\n          fileName: _jsxFileName,\n          lineNumber: 33,\n          columnNumber: 10\n        }, _this);\n      })\n    }, key, false, {\n      fileName: _jsxFileName,\n      lineNumber: 30,\n      columnNumber: 14\n    }, _this);\n  };\n\n  return /*#__PURE__*/_jsxDEV(_Fragment, {\n    children: [/*#__PURE__*/_jsxDEV(\"div\", {\n      className: cn(styles.description),\n      children: /*#__PURE__*/_jsxDEV(\"p\", {\n        className: cn('p--m'),\n        children: \"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Convallis id maecenas vulputate porta aliquet amet et nullam et. Justo tellus facilisis facilisis tellus enim a. Vitae ultrices dolor nulla non. Pulvinar ante euismod consequat amet vulputate vel a. Enim habitant nibh id fermentum. Quam neque purus commodo pellentesque feugiat cras eu ac.\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 54,\n        columnNumber: 7\n      }, _this)\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 53,\n      columnNumber: 4\n    }, _this), /*#__PURE__*/_jsxDEV(TabsSlice, {\n      tabs: [{\n        label: onDemand,\n        key: 'onDemand',\n        render: function render(key) {\n          return renderTab(key);\n        }\n      }, {\n        label: mutualized,\n        key: 'mutualized',\n        render: function render(key) {\n          return renderTab(key);\n        }\n      }]\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 58,\n      columnNumber: 4\n    }, _this), openService && /*#__PURE__*/_jsxDEV(Overlay, {\n      className: cn(styles.overlay),\n      onClose: function onClose() {\n        return setOpenId(null);\n      },\n      backColor: \"grey\",\n      children: [/*#__PURE__*/_jsxDEV(\"div\", {\n        className: cn(styles.overlayIconContainer),\n        children: HTMLReactParser(openService.icon)\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 77,\n        columnNumber: 10\n      }, _this), /*#__PURE__*/_jsxDEV(\"h2\", {\n        className: cn('h--2'),\n        children: openService.title\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 80,\n        columnNumber: 10\n      }, _this), openService.description && /*#__PURE__*/_jsxDEV(CustomBlockContent, {\n        className: cn('p--m'),\n        blocks: openService.description\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 81,\n        columnNumber: 38\n      }, _this)]\n    }, void 0, true, {\n      fileName: _jsxFileName,\n      lineNumber: 72,\n      columnNumber: 7\n    }, _this)]\n  }, void 0, true);\n}; // Desktop\n\n\n_s(ServicesSlideshow, \"Cc3RrB+G+FlU60T4PVhCtr70GIw=\");\n\n_c = ServicesSlideshow;\n\nvar ServicesGrid = function ServicesGrid(_ref2) {\n  var services = _ref2.services,\n      onDemand = _ref2.onDemand,\n      mutualized = _ref2.mutualized;\n  return /*#__PURE__*/_jsxDEV(\"div\", {\n    className: cn(styles.gridContainer),\n    children: [/*#__PURE__*/_jsxDEV(\"div\", {\n      className: cn(styles.gridPart, styles.gridOnDemand),\n      children: [/*#__PURE__*/_jsxDEV(\"h4\", {\n        className: cn('h--3', styles.subtitle),\n        children: onDemand\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 92,\n        columnNumber: 10\n      }, _this), /*#__PURE__*/_jsxDEV(\"div\", {\n        className: cn(styles.gridItems),\n        children: services.filter(function (service) {\n          return service.type == 'onDemand';\n        }).map(function (service, i) {\n          return service.icon && /*#__PURE__*/_jsxDEV(\"div\", {\n            className: cn(styles.gridItem),\n            children: [HTMLReactParser(service.icon), /*#__PURE__*/_jsxDEV(\"h5\", {\n              className: cn('h--5', styles.subtitle),\n              children: service.title\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 98,\n              columnNumber: 19\n            }, _this)]\n          }, service.title + i, true, {\n            fileName: _jsxFileName,\n            lineNumber: 96,\n            columnNumber: 16\n          }, _this);\n        })\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 93,\n        columnNumber: 10\n      }, _this)]\n    }, void 0, true, {\n      fileName: _jsxFileName,\n      lineNumber: 91,\n      columnNumber: 7\n    }, _this), /*#__PURE__*/_jsxDEV(\"div\", {\n      className: cn(styles.gridPart, styles.gridDescription),\n      children: /*#__PURE__*/_jsxDEV(\"p\", {\n        className: cn('p--m'),\n        children: \"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Convallis id maecenas vulputate porta aliquet amet et nullam et. Justo tellus facilisis facilisis tellus enim a. Vitae ultrices dolor nulla non. Pulvinar ante euismod consequat amet vulputate vel a. Enim habitant nibh id fermentum. Quam neque purus commodo pellentesque feugiat cras eu ac.\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 105,\n        columnNumber: 10\n      }, _this)\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 104,\n      columnNumber: 7\n    }, _this), /*#__PURE__*/_jsxDEV(\"div\", {\n      className: cn(styles.gridPart, styles.gridMutualized),\n      children: [/*#__PURE__*/_jsxDEV(\"h4\", {\n        className: cn('h--3', styles.subtitle),\n        children: mutualized\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 110,\n        columnNumber: 10\n      }, _this), /*#__PURE__*/_jsxDEV(\"div\", {\n        className: cn(styles.gridItems),\n        children: services.filter(function (service) {\n          return service.type == 'mutualized';\n        }).map(function (service) {\n          return service.icon && /*#__PURE__*/_jsxDEV(\"div\", {\n            className: cn(styles.gridItem),\n            children: [HTMLReactParser(service.icon), /*#__PURE__*/_jsxDEV(\"h5\", {\n              className: cn('h--5', styles.subtitle),\n              children: service.title\n            }, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 115,\n              columnNumber: 19\n            }, _this)]\n          }, void 0, true, {\n            fileName: _jsxFileName,\n            lineNumber: 113,\n            columnNumber: 32\n          }, _this);\n        })\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 111,\n        columnNumber: 10\n      }, _this)]\n    }, void 0, true, {\n      fileName: _jsxFileName,\n      lineNumber: 109,\n      columnNumber: 7\n    }, _this)]\n  }, void 0, true, {\n    fileName: _jsxFileName,\n    lineNumber: 90,\n    columnNumber: 11\n  }, _this);\n}; //\n\n\n_c2 = ServicesGrid;\n\nvar ServicesSlice = function ServicesSlice(props) {\n  _s2();\n\n  var introText = props.introText,\n      rest = _objectWithoutProperties(props, [\"introText\"]);\n\n  var isDesktop = useIsDesktop();\n  return /*#__PURE__*/_jsxDEV(\"section\", {\n    className: cn(styles.servicesSlice),\n    children: [/*#__PURE__*/_jsxDEV(SliceIntro, {\n      text: introText\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 133,\n      columnNumber: 10\n    }, _this), isDesktop ? /*#__PURE__*/_jsxDEV(ServicesGrid, _objectSpread({}, rest), void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 136,\n      columnNumber: 15\n    }, _this) : /*#__PURE__*/_jsxDEV(ServicesSlideshow, _objectSpread({}, rest), void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 137,\n      columnNumber: 15\n    }, _this)]\n  }, void 0, true, {\n    fileName: _jsxFileName,\n    lineNumber: 131,\n    columnNumber: 7\n  }, _this);\n};\n\n_s2(ServicesSlice, \"LPvPO2c3CxR8xrtzm1E56phj+VA=\", false, function () {\n  return [useIsDesktop];\n});\n\n_c3 = ServicesSlice;\nexport default ServicesSlice;\n\nvar _c, _c2, _c3;\n\n$RefreshReg$(_c, \"ServicesSlideshow\");\n$RefreshReg$(_c2, \"ServicesGrid\");\n$RefreshReg$(_c3, \"ServicesSlice\");","map":{"version":3,"sources":["/home/gkkdzdg/www/src/slices/ServicesSlice/ServicesSlice.js"],"names":["cn","Button","CircleButton","CustomBlockContent","Overlay","useIsDesktop","HTMLReactParser","useState","SliceIntro","TabsSlice","styles","ServicesSlideshow","services","onDemand","mutualized","console","log","openId","setOpenId","onClick","id","openService","filter","service","renderTab","key","mobileGrid","type","map","i","icon","gridItem","itemBottom","subtitle","title","description","label","render","overlay","overlayIconContainer","ServicesGrid","gridContainer","gridPart","gridOnDemand","gridItems","gridDescription","gridMutualized","ServicesSlice","props","introText","rest","isDesktop","servicesSlice"],"mappings":";;;;;;;;;;;;;;AACA,OAAOA,EAAP,MAAe,YAAf;AACA,OAAOC,MAAP,MAAmB,uBAAnB;AACA,OAAOC,YAAP,MAAyB,6BAAzB;AACA,OAAOC,kBAAP,MAA+B,mCAA/B;AACA,OAAOC,OAAP,MAAoB,4BAApB;AACA,SAASC,YAAT,QAA6B,mBAA7B;AACA,OAAOC,eAAP,MAA4B,mBAA5B;AACA,SAASC,QAAT,QAAyB,OAAzB;AACA,OAAOC,UAAP,MAAuB,8BAAvB;AACA,OAAOC,SAAP,MAAsB,4BAAtB;AACA,OAAOC,MAAP,MAAmB,6BAAnB,C,CAEA;;AACA,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,OAAyC;AAAA;;AAAA,MAAtCC,QAAsC,QAAtCA,QAAsC;AAAA,MAA5BC,QAA4B,QAA5BA,QAA4B;AAAA,MAAlBC,UAAkB,QAAlBA,UAAkB;AAEhEC,EAAAA,OAAO,CAACC,GAAR,CAAY,+BAAZ,EAA6CJ,QAA7C;;AAFgE,kBAIpCL,QAAQ,CAAC,IAAD,CAJ4B;AAAA,MAIzDU,MAJyD;AAAA,MAIjDC,SAJiD;;AAMhE,MAAMC,OAAO,GAAG,SAAVA,OAAU,CAACC,EAAD,EAAQ;AACrBL,IAAAA,OAAO,CAACC,GAAR,CAAY,yBAAZ,EAAuCI,EAAvC;AACAF,IAAAA,SAAS,CAACE,EAAD,CAAT;AACF,GAHD;;AAKA,MAAMC,WAAW,GAAGJ,MAAM,IAAIL,QAAQ,CAACU,MAAT,CAAgB,UAAAC,OAAO;AAAA,WAAIA,OAAO,CAACH,EAAR,IAAcH,MAAlB;AAAA,GAAvB,EAAiD,CAAjD,CAA9B;;AAEA,MAAMO,SAAS,GAAG,SAAZA,SAAY,CAACC,GAAD,EAAS;AAExB,wBAAO;AAAe,MAAA,SAAS,EAAEzB,EAAE,CAACU,MAAM,CAACgB,UAAR,CAA5B;AAAA,gBACNd,QAAQ,CAACU,MAAT,CAAgB,UAAAC,OAAO;AAAA,eAAIA,OAAO,CAACI,IAAR,IAAgBF,GAApB;AAAA,OAAvB,EAAgDG,GAAhD,CAAoD,UAACL,OAAD,EAAUM,CAAV;AAAA,eAClDN,OAAO,CAACO,IAAR,iBACA,QAAC,MAAD;AAEG,UAAA,SAAS,EAAE9B,EAAE,CAACU,MAAM,CAACqB,QAAR,CAFhB;AAGG,UAAA,OAAO,EAAEZ,OAAO,IAAK;AAAA,mBAAMA,OAAO,CAACI,OAAO,CAACH,EAAT,CAAb;AAAA,WAHxB;AAAA,qBAKId,eAAe,CAACiB,OAAO,CAACO,IAAT,CALnB,eAMG;AAAK,YAAA,SAAS,EAAE9B,EAAE,CAACU,MAAM,CAACsB,UAAR,CAAlB;AAAA,oCACG,QAAC,YAAD;AACG,cAAA,IAAI,EAAC,MADR;AAEG,cAAA,KAAK,EAAE;AAFV;AAAA;AAAA;AAAA;AAAA,qBADH,eAKG;AAAI,cAAA,SAAS,EAAEhC,EAAE,CAAC,MAAD,EAASU,MAAM,CAACuB,QAAhB,CAAjB;AAAA,wBAA6CV,OAAO,CAACW;AAArD;AAAA;AAAA;AAAA;AAAA,qBALH;AAAA;AAAA;AAAA;AAAA;AAAA,mBANH;AAAA,WACQX,OAAO,CAACH,EAAR,GAAaS,CADrB;AAAA;AAAA;AAAA;AAAA,iBAFkD;AAAA,OAApD;AADM,OAAUJ,GAAV;AAAA;AAAA;AAAA;AAAA,aAAP;AAmBF,GArBD;;AAuBA,sBAAO;AAAA,4BAEP;AAAK,MAAA,SAAS,EAAEzB,EAAE,CAACU,MAAM,CAACyB,WAAR,CAAlB;AAAA,6BACG;AAAG,QAAA,SAAS,EAAEnC,EAAE,CAAC,MAAD,CAAhB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADH;AAAA;AAAA;AAAA;AAAA,aAFO,eAOP,QAAC,SAAD;AACG,MAAA,IAAI,EAAE,CACH;AACGoC,QAAAA,KAAK,EAAEvB,QADV;AACoBY,QAAAA,GAAG,EAAE,UADzB;AAEGY,QAAAA,MAAM,EAAE,gBAAAZ,GAAG;AAAA,iBAAID,SAAS,CAACC,GAAD,CAAb;AAAA;AAFd,OADG,EAKH;AACGW,QAAAA,KAAK,EAAEtB,UADV;AACsBW,QAAAA,GAAG,EAAE,YAD3B;AAEGY,QAAAA,MAAM,EAAE,gBAAAZ,GAAG;AAAA,iBAAID,SAAS,CAACC,GAAD,CAAb;AAAA;AAFd,OALG;AADT;AAAA;AAAA;AAAA;AAAA,aAPO,EAoBNJ,WAAW,iBACT,QAAC,OAAD;AACG,MAAA,SAAS,EAAErB,EAAE,CAACU,MAAM,CAAC4B,OAAR,CADhB;AAEG,MAAA,OAAO,EAAE;AAAA,eAAMpB,SAAS,CAAC,IAAD,CAAf;AAAA,OAFZ;AAGG,MAAA,SAAS,EAAC,MAHb;AAAA,8BAKG;AAAK,QAAA,SAAS,EAAElB,EAAE,CAACU,MAAM,CAAC6B,oBAAR,CAAlB;AAAA,kBACIjC,eAAe,CAACe,WAAW,CAACS,IAAb;AADnB;AAAA;AAAA;AAAA;AAAA,eALH,eAQG;AAAI,QAAA,SAAS,EAAE9B,EAAE,CAAC,MAAD,CAAjB;AAAA,kBAA4BqB,WAAW,CAACa;AAAxC;AAAA;AAAA;AAAA;AAAA,eARH,EASIb,WAAW,CAACc,WAAZ,iBAA2B,QAAC,kBAAD;AAAoB,QAAA,SAAS,EAAEnC,EAAE,CAAC,MAAD,CAAjC;AAA4C,QAAA,MAAM,EAAEqB,WAAW,CAACc;AAAhE;AAAA;AAAA;AAAA;AAAA,eAT/B;AAAA;AAAA;AAAA;AAAA;AAAA,aArBI;AAAA,kBAAP;AAkCF,CAtED,C,CAwEA;;;GAxEMxB,iB;;KAAAA,iB;;AAyEN,IAAM6B,YAAY,GAAG,SAAfA,YAAe,QAAyC;AAAA,MAAtC5B,QAAsC,SAAtCA,QAAsC;AAAA,MAA5BC,QAA4B,SAA5BA,QAA4B;AAAA,MAAlBC,UAAkB,SAAlBA,UAAkB;AAE3D,sBAAO;AAAK,IAAA,SAAS,EAAEd,EAAE,CAACU,MAAM,CAAC+B,aAAR,CAAlB;AAAA,4BACJ;AAAK,MAAA,SAAS,EAAEzC,EAAE,CAACU,MAAM,CAACgC,QAAR,EAAkBhC,MAAM,CAACiC,YAAzB,CAAlB;AAAA,8BACG;AAAI,QAAA,SAAS,EAAE3C,EAAE,CAAC,MAAD,EAASU,MAAM,CAACuB,QAAhB,CAAjB;AAAA,kBAA6CpB;AAA7C;AAAA;AAAA;AAAA;AAAA,eADH,eAEG;AAAK,QAAA,SAAS,EAAEb,EAAE,CAACU,MAAM,CAACkC,SAAR,CAAlB;AAAA,kBACIhC,QAAQ,CAACU,MAAT,CAAgB,UAAAC,OAAO;AAAA,iBAAIA,OAAO,CAACI,IAAR,IAAgB,UAApB;AAAA,SAAvB,EAAuDC,GAAvD,CAA2D,UAACL,OAAD,EAAUM,CAAV;AAAA,iBACzDN,OAAO,CAACO,IAAR,iBACA;AAA6B,YAAA,SAAS,EAAE9B,EAAE,CAACU,MAAM,CAACqB,QAAR,CAA1C;AAAA,uBACIzB,eAAe,CAACiB,OAAO,CAACO,IAAT,CADnB,eAEG;AAAI,cAAA,SAAS,EAAE9B,EAAE,CAAC,MAAD,EAASU,MAAM,CAACuB,QAAhB,CAAjB;AAAA,wBAA6CV,OAAO,CAACW;AAArD;AAAA;AAAA;AAAA;AAAA,qBAFH;AAAA,aAAUX,OAAO,CAACW,KAAR,GAAgBL,CAA1B;AAAA;AAAA;AAAA;AAAA,mBAFyD;AAAA,SAA3D;AADJ;AAAA;AAAA;AAAA;AAAA,eAFH;AAAA;AAAA;AAAA;AAAA;AAAA,aADI,eAcJ;AAAK,MAAA,SAAS,EAAE7B,EAAE,CAACU,MAAM,CAACgC,QAAR,EAAkBhC,MAAM,CAACmC,eAAzB,CAAlB;AAAA,6BACG;AAAG,QAAA,SAAS,EAAE7C,EAAE,CAAC,MAAD,CAAhB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADH;AAAA;AAAA;AAAA;AAAA,aAdI,eAmBJ;AAAK,MAAA,SAAS,EAAEA,EAAE,CAACU,MAAM,CAACgC,QAAR,EAAkBhC,MAAM,CAACoC,cAAzB,CAAlB;AAAA,8BACG;AAAI,QAAA,SAAS,EAAE9C,EAAE,CAAC,MAAD,EAASU,MAAM,CAACuB,QAAhB,CAAjB;AAAA,kBAA6CnB;AAA7C;AAAA;AAAA;AAAA;AAAA,eADH,eAEG;AAAK,QAAA,SAAS,EAAEd,EAAE,CAACU,MAAM,CAACkC,SAAR,CAAlB;AAAA,kBACIhC,QAAQ,CAACU,MAAT,CAAgB,UAAAC,OAAO;AAAA,iBAAIA,OAAO,CAACI,IAAR,IAAgB,YAApB;AAAA,SAAvB,EAAyDC,GAAzD,CAA6D,UAAAL,OAAO;AAAA,iBAClEA,OAAO,CAACO,IAAR,iBAAgB;AAAK,YAAA,SAAS,EAAE9B,EAAE,CAACU,MAAM,CAACqB,QAAR,CAAlB;AAAA,uBACZzB,eAAe,CAACiB,OAAO,CAACO,IAAT,CADH,eAEb;AAAI,cAAA,SAAS,EAAE9B,EAAE,CAAC,MAAD,EAASU,MAAM,CAACuB,QAAhB,CAAjB;AAAA,wBAA6CV,OAAO,CAACW;AAArD;AAAA;AAAA;AAAA;AAAA,qBAFa;AAAA;AAAA;AAAA;AAAA;AAAA,mBADkD;AAAA,SAApE;AADJ;AAAA;AAAA;AAAA;AAAA,eAFH;AAAA;AAAA;AAAA;AAAA;AAAA,aAnBI;AAAA;AAAA;AAAA;AAAA;AAAA,WAAP;AA+BF,CAjCD,C,CAmCA;;;MAnCMM,Y;;AAoCN,IAAMO,aAAa,GAAG,SAAhBA,aAAgB,CAACC,KAAD,EAAW;AAAA;;AAAA,MAEtBC,SAFsB,GAECD,KAFD,CAEtBC,SAFsB;AAAA,MAERC,IAFQ,4BAECF,KAFD;;AAI9B,MAAMG,SAAS,GAAG9C,YAAY,EAA9B;AAEA,sBACG;AAAS,IAAA,SAAS,EAAEL,EAAE,CAACU,MAAM,CAAC0C,aAAR,CAAtB;AAAA,4BAEG,QAAC,UAAD;AAAY,MAAA,IAAI,EAAEH;AAAlB;AAAA;AAAA;AAAA;AAAA,aAFH,EAIIE,SAAS,gBACL,QAAC,YAAD,oBAAkBD,IAAlB;AAAA;AAAA;AAAA;AAAA,aADK,gBAEL,QAAC,iBAAD,oBAAuBA,IAAvB;AAAA;AAAA;AAAA;AAAA,aANR;AAAA;AAAA;AAAA;AAAA;AAAA,WADH;AAWF,CAjBD;;IAAMH,a;UAIe1C,Y;;;MAJf0C,a;AAmBN,eAAeA,aAAf","sourcesContent":["\nimport cn from 'classnames'\nimport Button from 'components/gui/Button'\nimport CircleButton from 'components/gui/CircleButton'\nimport CustomBlockContent from 'components/gui/CustomBlockContent'\nimport Overlay from 'components/overlay/Overlay'\nimport { useIsDesktop } from 'hooks/useIsDevice'\nimport HTMLReactParser from 'html-react-parser'\nimport { useState } from 'react'\nimport SliceIntro from 'slices/SliceIntro/SliceIntro'\nimport TabsSlice from 'slices/TabsSlice/TabsSlice'\nimport styles from './ServicesSlice.module.scss'\n\n// Mobile\nconst ServicesSlideshow = ({ services, onDemand, mutualized, }) => {\n\n   console.log('ServicesSlice.js::13 services', services)\n\n   const [openId, setOpenId] = useState(null)\n\n   const onClick = (id) => {\n      console.log('ServicesSlice.js::17 id', id)\n      setOpenId(id)\n   }\n\n   const openService = openId && services.filter(service => service.id == openId)[0]\n\n   const renderTab = (key) => {\n\n      return <div key={key} className={cn(styles.mobileGrid)}>\n      {services.filter(service => service.type == key).map((service, i) =>\n         service.icon &&\n         <Button\n            key={service.id + i}\n            className={cn(styles.gridItem)}\n            onClick={onClick && (() => onClick(service.id))}\n            >\n            {HTMLReactParser(service.icon)}\n            <div className={cn(styles.itemBottom)}>\n               <CircleButton\n                  icon='plus'\n                  color={'white'}\n               />\n               <h5 className={cn('h--5', styles.subtitle)}>{service.title}</h5>\n            </div>\n         </Button>\n      )}\n   </div>\n   }\n\n   return <>\n   \n   <div className={cn(styles.description)}>\n      <p className={cn('p--m')}>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Convallis id maecenas vulputate porta aliquet amet et nullam et. Justo tellus facilisis facilisis tellus enim a. Vitae ultrices dolor nulla non. Pulvinar ante euismod consequat amet vulputate vel a.\n      Enim habitant nibh id fermentum. Quam neque purus commodo pellentesque feugiat cras eu ac.</p>\n   </div>\n\n   <TabsSlice\n      tabs={[\n         {\n            label: onDemand, key: 'onDemand',\n            render: key => renderTab(key),\n         },\n         {\n            label: mutualized, key: 'mutualized',\n            render: key => renderTab(key),\n         },\n      ]}\n   />\n\n   {openService &&\n      <Overlay\n         className={cn(styles.overlay)}\n         onClose={() => setOpenId(null)}\n         backColor='grey'\n         >\n         <div className={cn(styles.overlayIconContainer)}>\n            {HTMLReactParser(openService.icon)}\n         </div>\n         <h2 className={cn('h--2')}>{openService.title}</h2>\n         {openService.description && <CustomBlockContent className={cn('p--m',)} blocks={openService.description} />}\n      </Overlay>\n   }\n   </>\n}\n\n// Desktop\nconst ServicesGrid = ({ services, onDemand, mutualized, }) => {\n\n   return <div className={cn(styles.gridContainer)}>\n      <div className={cn(styles.gridPart, styles.gridOnDemand)}>\n         <h4 className={cn('h--3', styles.subtitle)}>{onDemand}</h4>\n         <div className={cn(styles.gridItems)}>\n            {services.filter(service => service.type == 'onDemand').map((service, i) =>\n               service.icon &&\n               <div key={service.title + i} className={cn(styles.gridItem)}>\n                  {HTMLReactParser(service.icon)}\n                  <h5 className={cn('h--5', styles.subtitle)}>{service.title}</h5>\n               </div>\n            )}\n         </div>\n      </div>\n\n      <div className={cn(styles.gridPart, styles.gridDescription)}>\n         <p className={cn('p--m')}>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Convallis id maecenas vulputate porta aliquet amet et nullam et. Justo tellus facilisis facilisis tellus enim a. Vitae ultrices dolor nulla non. Pulvinar ante euismod consequat amet vulputate vel a.\n         Enim habitant nibh id fermentum. Quam neque purus commodo pellentesque feugiat cras eu ac.</p>\n      </div>\n\n      <div className={cn(styles.gridPart, styles.gridMutualized)}>\n         <h4 className={cn('h--3', styles.subtitle)}>{mutualized}</h4>\n         <div className={cn(styles.gridItems)}>\n            {services.filter(service => service.type == 'mutualized').map(service =>\n               service.icon && <div className={cn(styles.gridItem)}>\n                  {HTMLReactParser(service.icon)}\n                  <h5 className={cn('h--5', styles.subtitle)}>{service.title}</h5>\n               </div>\n            )}\n         </div>\n      </div>\n   </div>\n}\n\n//\nconst ServicesSlice = (props) => {\n\n   const { introText, ...rest } = props\n\n   const isDesktop = useIsDesktop()\n\n   return (\n      <section className={cn(styles.servicesSlice)}>\n\n         <SliceIntro text={introText} />\n\n         {isDesktop\n            ? <ServicesGrid {...rest} />\n            : <ServicesSlideshow {...rest} />\n         }\n      </section>\n   )\n}\n\nexport default ServicesSlice\n\n"]},"metadata":{},"sourceType":"module"}