{"version":3,"sources":["webpack:///./Scripts/Components/FindStoreStoreInfo.js","webpack:///./Scripts/Components/FindStoreContent.js","webpack:///./Scripts/Containers/FindStore.container.js"],"names":["FindStoreStoreInfo","store","includeHeader","className","Title","Variants","length","variant","index","InStock","key","Name","StoreName","Address","City","ZipCode","Country","Phone","translate","href","Email","OpeningHoursList","row","OpeningHours","Day","ExtraInfo","FindStoreContent","storeList","Collapsible","label","FindStoreContainer","findStoreModel","useState","setStoreList","visible","setVisible","avalibleInAnyStore","setAvalibleInAnyStore","useEffect","json","setter","JSON","parse","onClick","SideMenu","id","header","open","onClosed"],"mappings":"yQAiEeA,EA9DY,SAAC,GAA6B,YAA3BC,EAA2B,EAA3BA,MAAOC,EAAoB,EAApBA,cACnC,OACE,6BACGA,GAAiB,uBAAGC,UAAU,qBAAqBF,EAAMG,OACzDH,EAAMI,UAAYJ,EAAMI,SAASC,OAAS,GACzC,yBAAKH,UAAS,mCAAuD,GAAzBF,EAAMI,SAASC,OAAc,gCAAkC,KACxG,MAAAL,EAAMI,UAAN,QAAmB,SAACE,EAASC,GAC5B,OACE,yBACEL,UAAS,mDACPI,EAAQE,QAAU,WAAa,gBAEjCC,IAAKF,GAEL,2BAAID,EAAQI,WAMtB,yBAAKR,UAAU,uBACZF,EAAMW,WAAa,2BAAIX,EAAMW,WAC7BX,EAAMY,SAAW,2BAAIZ,EAAMY,SAC3BZ,EAAMa,MACL,iDAAOb,EAAMc,QAAb,aAAwBd,EAAMa,OAA9B,OAAqCb,EAAMe,SAAW,KAAOf,EAAMe,WAGvE,yBAAKb,UAAU,wBACZF,EAAMgB,OACL,6BACE,8BAAOC,YAAU,qBACjB,uBAAGC,KAAI,cAASlB,EAAMgB,QAAUhB,EAAMgB,QAGzChB,EAAMmB,OACL,6BACE,8BAAOF,YAAU,qBACjB,uBAAGC,KAAI,iBAAYlB,EAAMmB,QAAUnB,EAAMmB,SAI/C,yBAAKjB,UAAU,6BACb,2BAAIe,YAAU,6BACbjB,EAAMoB,kBACLpB,EAAMoB,iBAAiBf,QACvB,MAAAL,EAAMoB,kBAAN,QAA2B,SAACC,EAAKd,GAC/B,OACE,yBACEL,UAAU,gCACVO,IAAKF,EAAQc,EAAIC,cAEjB,8BAAOD,EAAIE,KACX,8BAAOF,EAAIC,kBAIlBtB,EAAMwB,WAAa,2BAAIxB,EAAMwB,cC9BvBC,EAzBU,SAAC,GAAkB,IAAhBC,EAAgB,EAAhBA,UAC1B,OACE,yBAAKxB,UAAU,yBACZwB,GACC,IAAAA,GAAS,KAATA,GAAc,SAAC1B,EAAOO,GACpB,OAAyB,IAArBmB,EAAUrB,OAEV,kBAAC,EAAD,CACEI,IAAKF,EACLP,MAAOA,EACPC,eAAe,IAKjB,kBAAC0B,EAAA,EAAD,CAAalB,IAAKF,EAAOqB,MAAO5B,EAAMG,OACpC,kBAAC,EAAD,CAAoBH,MAAOA,UC6C5B6B,UAtDY,SAAC,GAAuB,IAArBC,EAAqB,EAArBA,eAAqB,EACfC,qBADe,WAC1CL,EAD0C,KAC/BM,EAD+B,OAEnBD,oBAAS,GAFU,WAE1CE,EAF0C,KAEjCC,EAFiC,OAGGH,oBAAS,GAHZ,WAG1CI,EAH0C,KAGtBC,EAHsB,KAIjDC,qBAAU,WAVgB,IAACC,EAAMC,IAWKP,GAXXM,EAWLR,IATpBS,EAAOC,KAAKC,MAAMH,MAUjB,CAACR,IACJO,qBAAU,WACJX,GACFU,EACE,IAAAV,GAAS,KAATA,GACE,SAAC1B,GAAD,aACE,IAAcA,EAAMI,WACpB,MAAAJ,EAAMI,UAAN,QAAoB,SAACE,GAAD,OAAaA,EAAQE,iBAIhD,CAACkB,IAMJ,OACE,6BACGS,EACC,4BACEjC,UAAU,oDACVwC,QAAS,kBAAMR,GAAYD,KAE3B,uBAAG/B,UAAU,kBAEb,8BAAOe,YAAU,6BAGnB,uBAAGf,UAAU,uBACX,uBAAGA,UAAU,kBACb,8BAAOe,YAAU,sCAIrB,kBAAC0B,EAAA,EAAD,CACEC,GAAG,YACH1C,UAAU,aACV2C,OAAQ5B,YAAU,qBAClB6B,KAAMb,EACNc,SA3BQ,WACZb,GAAW,KA4BP,kBAAC,EAAD,CAAkBR,UAAWA","file":"51.e6a6c67fe34a2914b2dc.js","sourcesContent":["import React from \"react\";\r\nimport { translate } from \"../Services/translation\";\r\n\r\nconst FindStoreStoreInfo = ({ store, includeHeader }) => {\r\n  return (\r\n    <div>\r\n      {includeHeader && <p className=\"find-store__title\">{store.Title}</p>}\r\n      {store.Variants && store.Variants.length > 0 && (\r\n        <div className={`find-store__variant-list ${store.Variants.length == 1 ? 'find-store__variant-list--one' : ''}`}>\r\n          {store.Variants.map((variant, index) => {\r\n            return (\r\n              <div\r\n                className={`find-store__variant find-store__variant--${\r\n                  variant.InStock ? \"in-stock\" : \"not-in-stock\"\r\n                }`}\r\n                key={index}\r\n              >\r\n                <p>{variant.Name}</p>\r\n              </div>\r\n            );\r\n          })}\r\n        </div>\r\n      )}\r\n      <div className=\"find-store__address\">\r\n        {store.StoreName && <p>{store.StoreName}</p>}\r\n        {store.Address && <p>{store.Address}</p>}\r\n        {store.City && (\r\n          <p>{`${store.ZipCode} ${store.City}${store.Country && ', ' + store.Country}`}</p>\r\n        )}\r\n      </div>\r\n      <div className=\"find-store__contacts\">\r\n        {store.Phone && (\r\n          <div>\r\n            <span>{translate(\"find-store.phone\")}</span>\r\n            <a href={`tel:${store.Phone}`}>{store.Phone}</a>\r\n          </div>\r\n        )}\r\n        {store.Email && (\r\n          <div>\r\n            <span>{translate(\"find-store.email\")}</span>\r\n            <a href={`mailto:${store.Email}`}>{store.Email}</a>\r\n          </div>\r\n        )}\r\n      </div>\r\n      <div className=\"find-store__opening-hours\">\r\n        <p>{translate(\"find-store.opening-hours\")}</p>\r\n        {store.OpeningHoursList &&\r\n          store.OpeningHoursList.length &&\r\n          store.OpeningHoursList.map((row, index) => {\r\n            return (\r\n              <div\r\n                className=\"find-store__opening-hours-row\"\r\n                key={index + row.OpeningHours}\r\n              >\r\n                <span>{row.Day}</span>\r\n                <span>{row.OpeningHours}</span>\r\n              </div>\r\n            );\r\n          })}\r\n        {store.ExtraInfo && <p>{store.ExtraInfo}</p>}\r\n      </div>\r\n    </div>\r\n  );\r\n};\r\n\r\nexport default FindStoreStoreInfo;\r\n","import React from \"react\";\r\nimport Collapsible from \"./Collapsible\";\r\nimport FindStoreStoreInfo from \"./FindStoreStoreInfo\";\r\n\r\nconst FindStoreContent = ({ storeList }) => {\r\n  return (\r\n    <div className=\"find-store__side-menu\">\r\n      {storeList &&\r\n        storeList.map((store, index) => {\r\n          if (storeList.length === 1) {\r\n            return (\r\n              <FindStoreStoreInfo\r\n                key={index}\r\n                store={store}\r\n                includeHeader={true}\r\n              />\r\n            );\r\n          } else {\r\n            return (\r\n              <Collapsible key={index} label={store.Title}>\r\n                <FindStoreStoreInfo store={store} />\r\n              </Collapsible>\r\n            );\r\n          }\r\n        })}\r\n    </div>\r\n  );\r\n};\r\n\r\nexport default FindStoreContent;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport SideMenu from \"../Components/SideMenu\";\r\nimport FindStoreContent from \"../Components/FindStoreContent\";\r\nimport { translate } from \"../Services/translation\";\r\n\r\nconst convertJsonToObject = (json, setter) => {\r\n  if (json) {\r\n    setter(JSON.parse(json));\r\n  }\r\n};\r\n\r\nconst FindStoreContainer = ({ findStoreModel }) => {\r\n  const [storeList, setStoreList] = useState();\r\n  const [visible, setVisible] = useState(false);\r\n  const [avalibleInAnyStore, setAvalibleInAnyStore] = useState(false);\r\n  useEffect(() => {\r\n    convertJsonToObject(findStoreModel, setStoreList);\r\n  }, [findStoreModel]);\r\n  useEffect(() => {\r\n    if (storeList) {\r\n      setAvalibleInAnyStore(\r\n        storeList.some(\r\n          (store) =>\r\n            Array.isArray(store.Variants) &&\r\n            store.Variants.some((variant) => variant.InStock)\r\n        )\r\n      );\r\n    }\r\n  }, [storeList]);\r\n\r\n  const close = () => {\r\n    setVisible(false);\r\n  };\r\n\r\n  return (\r\n    <div>\r\n      {avalibleInAnyStore ? (\r\n        <button\r\n          className=\"find-store__trigger find-store__trigger--in-stock\"\r\n          onClick={() => setVisible(!visible)}\r\n        >\r\n          <i className=\"ph ph-map-pin\"></i>\r\n\r\n          <span>{translate(\"find-store.button-title\")}</span>\r\n        </button>\r\n      ) : (\r\n        <p className=\"find-store__trigger\">\r\n          <i className=\"ph ph-map-pin\"></i>\r\n          <span>{translate(\"find-store.button-disabled-title\")}</span>\r\n        </p>\r\n      )}\r\n\r\n      <SideMenu\r\n        id=\"FindStore\"\r\n        className=\"find-store\"\r\n        header={translate(\"find-store.header\")}\r\n        open={visible}\r\n        onClosed={close}\r\n      >\r\n        <FindStoreContent storeList={storeList} />\r\n      </SideMenu>\r\n    </div>\r\n  );\r\n};\r\n\r\nexport default FindStoreContainer;\r\n"],"sourceRoot":""}