{"version":3,"file":"static/js/216.3adec7fa.chunk.js","mappings":"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","sources":["helpers/components/OutsideClickTrigger.jsx","modules/pdp-stock-overlay/component/storeLine.jsx","helpers/emitter.js","constants/eventSpaces.js","constants/emits.js","modules/pdp-stock-overlay/component/productStockOverlay.jsx","modules/pdp-stock-overlay/component/pdpButton.jsx","modules/pdp-stock-overlay/ProductStockOverlayModule.js"],"sourcesContent":["import React, { Component } from \"react\"\nimport PropTypes from \"prop-types\"\n\n/**\n * Component that alerts if you click outside of it\n */\nexport default class OutsideClickTrigger extends Component {\n constructor(props) {\n super(props)\n\n this.setWrapperRef = this.setWrapperRef.bind(this)\n this.handleClickOutside = this.handleClickOutside.bind(this)\n }\n\n componentDidMount() {\n document.addEventListener(\"mousedown\", this.handleClickOutside)\n }\n\n componentWillUnmount() {\n document.removeEventListener(\"mousedown\", this.handleClickOutside)\n }\n\n /**\n * Set the wrapper ref\n */\n setWrapperRef(node) {\n this.wrapperRef = node\n }\n\n /**\n * Alert if clicked on outside of element\n */\n handleClickOutside(event) {\n if (this.wrapperRef && !this.wrapperRef.contains(event.target)) {\n if (this.props.onOutsideClick) this.props.onOutsideClick()\n }\n }\n\n render() {\n return (\n
\n {this.props.children}\n
\n )\n }\n}\n\nOutsideClickTrigger.propTypes = {\n children: PropTypes.element.isRequired,\n}\n","import React from \"react\"\nimport JQuery from \"jquery\"\n\nconst StoreLine = ({ store, textKeys, availableOnWeb, alwaysShowStock }) => {\n const stockPrint = textKeys.storeStockInStockText?.replace(\"{quantity}\", Math.max(0, store.Stock))\n const webStockPrint = textKeys.storeStockWebStockText\n const noneInStock = store.Stock <= 0\n const fewInStock = store.Stock <= 1\n const checkmarkModifier = noneInStock ? \" empty-stock\" : fewInStock ? \" few-stock\" : \"\"\n\n const stockTextElement =\n alwaysShowStock || store.IsEligibleForPickup || !availableOnWeb ? (\n
\n

\n {stockPrint}\n
\n ) : (\n
{webStockPrint}
\n )\n\n const addToBasketElement = availableOnWeb ? (\n overlayAddProductClick(store.StoreId)} value={textKeys.addToBasketButtonText}>\n {textKeys.addToBasketButtonText}\n \n \n ) : undefined\n return (\n
\n

\n {store.ShopTitle}\n

\n
\n {store.Road}, {store.PostCode} {store.Municipality},\n
\n
Telefon: {store.PhoneNumber}
\n
\n {stockTextElement}\n {addToBasketElement}\n
\n
\n
\n )\n}\n\n// this is ugly and bad, but the functionality needs to work\nconst overlayAddProductClick = (store) => {\n var addProductbutton = JQuery(\"#add-product\")\n if (JQuery(addProductbutton).prop(\"disabled\")) return false\n\n var val = JQuery(addProductbutton).closest(\".product-info\").find(\"#code\").val()\n var careProducts = JQuery(\".care-products\").find(\"input[name='care-product-checkbox']\")\n var careProductCodes = []\n careProducts.each(function (index, value) {\n if (JQuery(value).prop(\"checked\")) {\n careProductCodes.push(JQuery(value).val())\n }\n })\n\n window.addItemTo(\"basket\", val, careProductCodes, store)\n JQuery(\"#pageOverlay\").html(null).show()\n}\n\nexport default StoreLine\n","import mitt from \"mitt\"\n\nexport let Emitter = mitt()\n\nexport default Emitter\n","export const PRODUCT_STOCK_OVERLAY = \"PRODUCT_STOCK_OVERLAY\"\n","export const OPEN_OVERLAY = \"OPEN_OVERLAY\"\nexport const CLOSE_OVERLAY = \"CLOSE_OVERLAY\"\n\nexport const withEventSpace = (eventSpace, event) => {\n return eventSpace + \"_\" + event\n}\n","import React, { useState } from \"react\"\nimport StoreLine from \"./storeLine\"\nimport OutsideClickTrigger from \"../../../helpers/components/OutsideClickTrigger\"\nimport Emitter from \"../../../helpers/emitter\"\nimport * as EventSpace from \"../../../constants/eventSpaces\"\nimport * as Event from \"../../../constants/emits\"\nimport { InventoryServiceProxy } from \"../../../data-access/InventoryServiceProxy\"\n\nconst enrichStore = (store, stock) => {\n store.Stock = stock\n store.IsEligibleForPickup = store.EnableSameDayPickup && store.Stock > 0\n return store\n}\n\nconst enrichStoresWithStock = async (stores, productId, endpointUrl) => {\n let stockClient = new InventoryServiceProxy.Client(endpointUrl)\n return await stockClient\n .getInventoriesWithStoreStock(productId)\n .then((stock) => stores.map((s) => enrichStore(s, stock[s.StoreId])))\n .catch(() => {\n return undefined\n })\n}\n\nconst ProductStockOverlay = ({ textKeys, stores, productId, inWebStock, alwaysShowStock, endpointUrl }) => {\n const [overlayOpen, setOverlayOpen] = useState(false)\n const [stockFetched, setStockFetched] = useState(false)\n const [webStores, setWebstores] = useState(stores)\n const [pickupStores, setPickupstores] = useState([])\n\n const openStockOverlay = async () => {\n if (!stockFetched) {\n await enrichStoresWithStock(stores, productId, endpointUrl).then((res) => {\n if (res) {\n setStockFetched(true)\n var pickupStores = res.filter((s) => (!inWebStock && s.Stock > 0) || s.IsEligibleForPickup)\n setPickupstores(pickupStores)\n setWebstores(res.filter((s) => !pickupStores.includes(s)))\n }\n })\n }\n\n setOverlayOpen(true)\n if (!document.getElementsByClassName(\"main-body\")[0].classList.contains(\"show-overlay\")) {\n document.getElementsByClassName(\"main-body\")[0].classList.add(\"show-overlay\")\n }\n }\n\n const closeStockOverlay = () => {\n setOverlayOpen(false)\n if (document.getElementsByClassName(\"main-body\")[0].classList.contains(\"show-overlay\")) {\n document.getElementsByClassName(\"main-body\")[0].classList.remove(\"show-overlay\")\n }\n }\n\n const headerElement = inWebStock ? (\n
\n

{textKeys.storeStockOverlayHeader}

\n

{textKeys.storeStockOverlaySubheader}

\n
\n ) : (\n
\n

{textKeys.storeStockOverlayNoStockHeader}

\n

{textKeys.storeStockOverlayNoStockSubheader}

\n
\n )\n\n const pickupSectionHeader = inWebStock ? (\n
\n {textKeys.storeStockOverlayPickupHeaderIcon && }\n
\n

{textKeys.storeStockOverlayPickupHeader}

\n {textKeys.storeStockOverlayPickupSubheader &&

{textKeys.storeStockOverlayPickupSubheader}

}\n
\n
\n ) : (\n
\n {textKeys.storeStockOverlayNoPickupHeaderIcon && }\n
\n

{textKeys.storeStockOverlayNoPickupHeader}

\n {textKeys.storeStockOverlayNoPickupSubheader &&

{textKeys.storeStockOverlayNoPickupSubheader}

}\n
\n
\n )\n\n const webSectionHeader = inWebStock ? (\n
\n {textKeys.storeStockOverlayWebHeaderIcon && }\n
\n

{textKeys.storeStockOverlayWebHeader}

\n {textKeys.storeStockOverlayWebSubheader &&

{textKeys.storeStockOverlayWebSubheader}

}\n
\n
\n ) : (\n
\n {textKeys.storeStockOverlayNoWebHeaderIcon && }\n
\n

{textKeys.storeStockOverlayNoWebHeader}

\n {textKeys.storeStockOverlayNoWebSubheader &&

{textKeys.storeStockOverlayNoWebSubheader}

}\n
\n
\n )\n\n Emitter.on(Event.withEventSpace(EventSpace.PRODUCT_STOCK_OVERLAY, Event.OPEN_OVERLAY), openStockOverlay)\n Emitter.on(Event.withEventSpace(EventSpace.PRODUCT_STOCK_OVERLAY, Event.CLOSE_OVERLAY), closeStockOverlay)\n if (overlayOpen) {\n return (\n
\n \n <>\n
\n
\n
\n {headerElement}\n {pickupStores && pickupStores.length > 0 && (\n
\n {pickupSectionHeader}\n {pickupStores.map((s) => (\n \n ))}\n
\n )}\n {webStores && webStores.length > 0 && (\n
\n {webSectionHeader}\n {webStores.map((s) => (\n \n ))}\n
\n )}\n \n
\n
\n )\n } else {\n return null\n }\n}\n\nexport default ProductStockOverlay\n","import React from \"react\"\nimport Emitter from \"../../../helpers/emitter\"\nimport * as EventSpace from \"../../../constants/eventSpaces\"\nimport * as Event from \"../../../constants/emits\"\n\nconst PdpButton = ({ textKeys, showButton }) => {\n const clickHandler = () => {\n Emitter.emit(Event.withEventSpace(EventSpace.PRODUCT_STOCK_OVERLAY, Event.OPEN_OVERLAY), true)\n }\n\n return showButton ? (\n \n ) : (\n <>\n )\n}\n\nexport default PdpButton\n","import React from \"react\"\nimport ReactDOM from \"react-dom\"\nimport ProductStockOverlay from \"./component/productStockOverlay\"\nimport PdpButton from \"./component/pdpButton\"\n\nexport default class ProductStockOverlayModule {\n constructor(elem) {\n this.elem = elem\n this.elem.stores = JSON.parse(elem.dataset.stores || \"\")\n this.elem.showButton = this.elem.stores.length > 0\n this.elem.endpointUrl = elem.dataset.endpointUrl\n this.elem.productId = elem.dataset.productId\n this.elem.inWebStock = elem.dataset.inWebStock === \"True\"\n this.elem.alwaysShowStock = elem.dataset.alwaysShowStock === \"True\"\n this.elem.textKeys = JSON.parse(elem.dataset.textKeys || \"\")\n this.overlayButton = document.getElementById(\"stock-overlay-button\")\n this.init()\n }\n\n init() {\n ReactDOM.unmountComponentAtNode(this.elem)\n ReactDOM.render(\n ,\n this.elem,\n )\n if (this.overlayButton) {\n ReactDOM.unmountComponentAtNode(this.overlayButton)\n ReactDOM.render(, this.overlayButton)\n }\n }\n}\n"],"names":["OutsideClickTrigger","_Component","props","_this","_classCallCheck","_callSuper","setWrapperRef","bind","handleClickOutside","_inherits","_createClass","key","value","document","addEventListener","this","removeEventListener","node","wrapperRef","event","contains","target","onOutsideClick","_jsx","className","ref","children","Component","overlayAddProductClick","store","addProductbutton","JQuery","prop","val","closest","find","careProducts","careProductCodes","each","index","push","window","addItemTo","html","show","_ref","_textKeys$storeStockI","textKeys","availableOnWeb","alwaysShowStock","stockPrint","storeStockInStockText","replace","Math","max","Stock","webStockPrint","storeStockWebStockText","noneInStock","fewInStock","checkmarkModifier","stockTextElement","IsEligibleForPickup","_jsxs","addToBasketElement","onClick","StoreId","addToBasketButtonText","undefined","href","ContentUrl","ShopTitle","Road","PostCode","Municipality","PhoneNumber","mitt","PRODUCT_STOCK_OVERLAY","OPEN_OVERLAY","withEventSpace","eventSpace","enrichStore","stock","EnableSameDayPickup","enrichStoresWithStock","_asyncToGenerator","_regeneratorRuntime","mark","_callee","stores","productId","endpointUrl","stockClient","wrap","_context","prev","next","InventoryServiceProxy","Client","getInventoriesWithStoreStock","then","map","s","catch","abrupt","sent","stop","_x","_x2","_x3","apply","arguments","_ref2","inWebStock","_useState","useState","_useState2","_slicedToArray","overlayOpen","setOverlayOpen","_useState3","_useState4","stockFetched","setStockFetched","_useState5","_useState6","webStores","setWebstores","_useState7","_useState8","pickupStores","setPickupstores","openStockOverlay","_ref3","_callee2","_context2","res","filter","includes","getElementsByClassName","classList","add","closeStockOverlay","remove","headerElement","storeStockOverlayHeader","storeStockOverlaySubheader","storeStockOverlayNoStockHeader","storeStockOverlayNoStockSubheader","pickupSectionHeader","storeStockOverlayPickupHeaderIcon","src","storeStockOverlayPickupHeader","storeStockOverlayPickupSubheader","storeStockOverlayNoPickupHeaderIcon","storeStockOverlayNoPickupHeader","storeStockOverlayNoPickupSubheader","webSectionHeader","storeStockOverlayWebHeaderIcon","storeStockOverlayWebHeader","storeStockOverlayWebSubheader","storeStockOverlayNoWebHeaderIcon","storeStockOverlayNoWebHeader","storeStockOverlayNoWebSubheader","Emitter","on","Event","EventSpace","id","_Fragment","style","textAlign","length","StoreLine","showButton","emit","type","findInStoreButtonText","ProductStockOverlayModule","elem","JSON","parse","dataset","overlayButton","getElementById","init","ReactDOM","ProductStockOverlay","PdpButton"],"sourceRoot":""}