{"version":3,"sources":["webpack:///./Scripts/Components/ProductsViewLandscape.js","webpack:///./Scripts/expose-react.js","webpack:///./Scripts/Components/MiniCart.js","webpack:///./Scripts/expose-components.js"],"names":["props","products","Product","useCallback","product","className","itemScope","itemType","brandLogoUrl","hideBrandInfoInListings","alt","brand","src","loading","images","baseProductName","itemProp","content","description","id","text","showSimplifiedName","href","url","title","name","productPriceModel","articleNumber","quantityFieldId","label","showBuyButton","translate","userIsAuthenticated","disabled","length","map","key","global","React","ReactDOM","ReactDOMServer","MiniCart","dispatch","useDispatch","quantity","orderRows","fees","grandTotal","vat","checkoutUrl","showInfo","addToCartAnimating","discount","showMiniCartGrandTotal","miniCartGrandTotal","gtmGrandTotal","useSelector","state","cart","abortController","setAbortController","useState","useEffect","AbortController","triggerDataLayerAddToCart","updateOrderRowQuantity","debounce","rowSystemId","update","hasOrderRows","Object","keys","footer","fee","cost","OrderRowItem","row","internalQuantity","setInternalQuantity","onQuantityChange","value","image","CopyButton","brandName","totalPrice","unitPrice","recyclingFee","ProductInStockTag","QuantityInput","canEdit","onQuantityIncrease","parseInt","onQuantityDecrease","onChange","color","colors","onClick","orderRowItems","rowGroupKey","style","display","justifyContent","cursor","removeOrderRowGroup","toggle","size","SideMenu","open","onClosed","Components","renderForServer","ProductsView","AdvancedSearch","ProductPageTabsContainer","ProductsViewGallery","ProductsViewLandscape"],"mappings":"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","file":"7062.d1ab3f71602748f2a2ef.js","sourcesContent":["import { Package } from 'phosphor-react';\nimport React, { useCallback } from 'react';\nimport { translate } from '../Services/translation';\nimport ProductPriceModel from './ProductPriceModel';\nimport BuyButton from './BuyButton';\nimport CopyButton from './CopyButton';\nimport colors from 'Exports/colors.scss';\nimport ProductInStockTag from './ProductInStockTag';\n\nconst ProductsViewLandscape = (props) => {\n const { products } = props;\n\n const Product = useCallback((product) => {\n return (\n
  • \n \n
    \n
    \n {product.brandLogoUrl && !product.hideBrandInfoInListings && (\n \n )}\n \n
    \n
    \n
    \n \n \n {product.id}\n \n \n {product.showSimplifiedName && (\n \n

    \n {product.name}\n

    \n
    \n )}\n {!product.showSimplifiedName && (\n <>\n \n

    \n {!product.hideBrandInfoInListings && product.brand}{' '}\n {product.baseProductName}\n

    \n
    \n \n {product.name}\n \n \n )}\n\n \n {product.productPriceModel && (\n \n )}\n \n
    \n \n {product.productPriceModel && (\n \n )}\n \n
    \n
    \n \n
    \n
    \n \n \n
    \n \n
    \n \n
  • \n );\n }, []);\n\n return products?.length > 0 ? (\n \n ) : null;\n};\n\nexport default ProductsViewLandscape;\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport ReactDOMServer from 'react-dom/server';\n// import createEmotionCache from './createEmotionCache';\n// import createEmotionServer from '@emotion/server/create-instance';\n\nglobal.React = React;\nglobal.ReactDOM = ReactDOM;\nglobal.ReactDOMServer = ReactDOMServer;\n\n// const cache = createEmotionCache();\n\n// global.EmotionCache = cache\n","import React, { useEffect, useState } from 'react';\nimport * as debounce from 'lodash.debounce';\nimport { translate } from '../Services/translation';\nimport { Provider, useDispatch, useSelector } from 'react-redux';\nimport {\n removeOrderRowGroup,\n toggle,\n update,\n triggerDataLayerAddToCart,\n} from '../Actions/Cart.action';\nimport { ShoppingCart, Package, Trash, X as CloseIcon } from 'phosphor-react';\nimport QuantityInput from './QuantityInput';\nimport CopyButton from './CopyButton';\nimport SideMenu from './SideMenu';\nimport colors from 'Exports/colors.scss';\nimport renderForServer from '../render-for-server';\nimport ProductInStockTag from './ProductInStockTag';\n\nconst MiniCart = () => {\n const dispatch = useDispatch();\n const {\n quantity,\n orderRows,\n fees,\n grandTotal,\n vat,\n checkoutUrl,\n showInfo,\n addToCartAnimating = false,\n discount,\n showMiniCartGrandTotal,\n miniCartGrandTotal,\n gtmGrandTotal,\n } = useSelector((state) => state.cart);\n const onToggle = () => dispatch(toggle());\n const onClose = () => dispatch(toggle(false));\n\n const [abortController, setAbortController] = useState();\n\n // Must be set after client initialized\n useEffect(() => setAbortController(new AbortController()), []);\n\n useEffect(() => {\n if (showInfo === true) {\n dispatch(triggerDataLayerAddToCart(orderRows, gtmGrandTotal));\n }\n }, [showInfo]);\n\n const updateOrderRowQuantity = debounce(\n (articleNumber, quantity, rowSystemId) =>\n dispatch(update(articleNumber, quantity, rowSystemId, abortController)),\n 200\n );\n\n const hasOrderRows = orderRows && Object.keys(orderRows).length > 0;\n\n const footer = (\n <>\n {fees &&\n fees.map((fee) => (\n
    \n {fee.name}\n {fee.cost}\n
    \n ))}\n {discount && (\n
    \n {translate('checkout.summary.discount')}\n {discount}\n
    \n )}\n
    \n {translate('checkout.summary.vat')}\n {vat}\n
    \n
    \n
    \n {translate('checkout.cart.total')}\n \n {translate('checkout.summary.including-vat')}\n \n
    \n {grandTotal}\n
    \n
    \n \n {translate('minicart.checkout')}\n \n
    \n \n );\n\n const OrderRowItem = (row) => {\n const [internalQuantity, setInternalQuantity] = useState(row.quantity);\n\n const onQuantityChange = (value) => {\n updateOrderRowQuantity(row.articleNumber, value, row.rowSystemId);\n };\n\n return (\n
  • \n
    \n
    \n {row.brandLogoUrl && !row.hideBrandInfoInListings ? (\n \n ) : null}\n \n \n \n
    \n
    \n
    \n
    \n \n {row.articleNumber}\n \n \n

    \n \n {!row.hideBrandInfoInListings && row.brandName}{' '}\n {row.baseProductName}\n \n

    \n {row.name}\n
    \n
    \n \n {row.totalPrice}\n \n \n {row.unitPrice}\n \n {row.recyclingFee && (\n \n {translate('general.recycling-fee')} {row.recyclingFee}\n \n )}\n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n onQuantityChange(parseInt(row.quantity) + 1)\n }\n onQuantityDecrease={() =>\n onQuantityChange(parseInt(row.quantity) - 1)\n }\n onChange={(quantity) => onQuantityChange(quantity)}\n />\n
    \n {row.canEdit && (\n
    \n onQuantityChange(0)}\n />\n
    \n )}\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n onQuantityChange(parseInt(row.quantity) + 1)\n }\n onQuantityDecrease={() =>\n onQuantityChange(parseInt(row.quantity) - 1)\n }\n onChange={(quantity) => onQuantityChange(quantity)}\n />\n
    \n {row.canEdit && (\n
    \n onQuantityChange(0)}\n />\n
    \n )}\n
    \n
    \n
  • \n );\n };\n\n const orderRowItems = hasOrderRows\n ? Object.keys(orderRows).map((rowGroupKey) => (\n \n {rowGroupKey !== 'no-group' && (\n \n
    {translate('order-row-group.title')}
    \n dispatch(removeOrderRowGroup(rowGroupKey))}\n />\n \n )}\n {orderRows[rowGroupKey].map((row) => (\n \n ))}\n \n ))\n : null;\n\n return (\n \n onToggle()}>\n
    \n {quantity}\n \n
    \n \n
    {translate('minicart.cart')}
    \n {showMiniCartGrandTotal &&
    {miniCartGrandTotal}
    }\n
    \n
    \n onClose()}\n footer={hasOrderRows ? footer : null}\n >\n
    \n
    \n
    \n
    \n {quantity}\n \n
    \n
    \n \n {translate('minicart.cart')}\n {miniCartGrandTotal}\n \n
    \n
    \n {hasOrderRows ? (\n <>\n
      \n {hasOrderRows && <>{orderRowItems}}\n
    \n \n ) : (\n
    \n

    {translate('checkout.cart.empty')}

    \n
    \n )}\n
    \n
    \n \n \n );\n};\n\nexport default (props) => renderForServer(MiniCart, props);\n","import './expose-react';\nimport './Redux.server';\n\n// Components\nimport MiniCart from './Components/MiniCart';\nimport ProductsView from './Components/ProductsView';\nimport ProductsViewGallery from './Components/ProductsViewGallery';\nimport ProductsViewLandscape from './Components/ProductsViewLandscape';\nimport AdvancedSearch from './Components/AdvancedSearch/AdvancedSearch';\nimport ProductPageTabsContainer from './Components/ProductPageTabs/ProductPageTabs.Container';\nimport renderForServer from './render-for-server';\n\nglobal.Components = {\n MiniCart,\n ProductsView,\n AdvancedSearch,\n ProductPageTabsContainer,\n ProductsViewGallery: (props) => renderForServer(ProductsViewGallery, props),\n ProductsViewLandscape: (props) => renderForServer(ProductsViewLandscape, props),\n};\n"],"sourceRoot":""}