{"version":3,"sources":["webpack:///./Scripts/Components/MiniCartProduct.js","webpack:///./Scripts/Components/MiniCart.js","webpack:///./Scripts/Containers/MiniCart.container.js","webpack:///./Scripts/Hooks/useOutsideClick.js"],"names":["MiniCartProduct","product","onCartItemIncrement","onCartItemDecrement","onCartItemRemove","className","src","image","alt","name","onClick","campaignPrice","price","quantity","MiniCart","bottomOfNavbar","orderRows","includeVAT","orderTotal","checkoutUrl","showInfo","toggle","update","miniCartRef","React","useRef","miniCartInfoRef","useOutsideClick","ref","node","document","body","style","top","right","current","boundingRect","getBoundingClientRect","window","innerWidth","x","width","getMiniCartRightPos","length","translate","orderRow","rowSystemId","size","key","href","connect","state","cart","dispatch","props","callback","useEffect","addEventListener","handleClickOutside","removeEventListener","event","contains","target"],"mappings":"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","file":"12.10d893c3d6ad9640d5dd.js","sourcesContent":["import React, { Fragment } from 'react';\r\n\r\nconst MiniCartProduct = ({ product, onCartItemIncrement, onCartItemDecrement, onCartItemRemove }) => (\r\n\r\n
\r\n
\r\n {product.name}\r\n
\r\n
\r\n
\r\n

{product.name}

\r\n \r\n
\r\n
\r\n {product.campaignPrice ? (\r\n \r\n {product.campaignPrice} {product.price}\r\n \r\n ) : product.price}\r\n
\r\n
\r\n \r\n
\r\n {product.quantity}\r\n
\r\n \r\n
\r\n
\r\n
\r\n);\r\n\r\nexport default MiniCartProduct;","import React from 'react';\r\nimport { useOutsideClick } from '../Hooks/useOutsideClick';\r\nimport { translate } from '../Services/translation';\r\nimport MiniCartProduct from './MiniCartProduct';\r\nimport { Portal } from 'react-portal';\r\n\r\nconst MiniCart = ({ bottomOfNavbar, quantity, orderRows, includeVAT, orderTotal, checkoutUrl, showInfo, toggle, update }) => {\r\n const miniCartRef = React.useRef()\r\n const miniCartInfoRef = React.useRef()\r\n \r\n // TODO FIX! Does not work :)))\r\n useOutsideClick(miniCartInfoRef, showInfo && toggle)\r\n \r\n\r\n const getMiniCartRightPos = () => {\r\n if(!miniCartRef || !miniCartRef.current) return 0\r\n var boundingRect = miniCartRef.current.getBoundingClientRect()\r\n return window.innerWidth - boundingRect.x - (boundingRect.width*2)\r\n }\r\n\r\n return
\r\n
toggle()}>\r\n \r\n { quantity }\r\n \r\n
\r\n {showInfo && \r\n
\r\n {orderRows.length > 0\r\n ?
\r\n
\r\n
\r\n
{translate('checkout.cart.title')}
\r\n
\r\n
\r\n {orderRows.map(orderRow => {\r\n const { rowSystemId, quantity, size } = orderRow;\r\n return (\r\n update(rowSystemId, quantity + 1)}\r\n onCartItemDecrement={() => update(rowSystemId, quantity - 1)}\r\n onCartItemRemove={() => update(rowSystemId, 0)}\r\n />\r\n );\r\n })}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {includeVAT ? translate('minicart.taxesincluded') : translate('minicart.total')}\r\n {orderTotal}\r\n
\r\n
\r\n
\r\n {translate('minicart.checkout')}\r\n
\r\n
\r\n :
\r\n
\r\n
\r\n {translate('checkout.cart.empty')}\r\n
\r\n
\r\n }\r\n
\r\n
}\r\n
\r\n}\r\n\r\nexport default MiniCart;","import React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport MiniCart from '../Components/MiniCart';\r\nimport { toggle, update } from '../Actions/Cart.action';\r\n\r\nconst MiniCartContainer = props => (\r\n \r\n)\r\n\r\nconst mapStateToProps = state => {\r\n const { cart } = state;\r\n return {\r\n ...cart,\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n toggle: () => dispatch(toggle()),\r\n update: (rowSystemId, quantity) => dispatch(update(rowSystemId, quantity)),\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(MiniCartContainer);","import React from \"react\"\r\n\r\nexport const useOutsideClick = (ref, callback) => {\r\n React.useEffect(() => {\r\n if(!ref)\r\n return\r\n \r\n /**\r\n * Called if clicked outside of element\r\n */\r\n function handleClickOutside(event) {\r\n if (ref && ref.current && !ref.current.contains(event.target)) {\r\n if(callback)\r\n callback()\r\n }\r\n }\r\n\r\n // Bind the event listener\r\n document.addEventListener(\"mousedown\", handleClickOutside);\r\n return () => {\r\n // Unbind the event listener on clean up\r\n document.removeEventListener(\"mousedown\", handleClickOutside);\r\n };\r\n }, [ref]);\r\n}"],"sourceRoot":""}