{"version":3,"sources":["webpack:///./node_modules/core-js/internals/function-bind.js","webpack:///./src/js/modules/global/CartCounter.js","webpack:///./src/js/modules/global/Cart.js","webpack:///./node_modules/core-js/modules/es.object.get-prototype-of.js","webpack:///./node_modules/core-js/modules/es.reflect.construct.js"],"names":["aFunction","isObject","arraySlice","slice","factories","construct","C","argsLength","args","list","i","Function","join","module","exports","bind","that","fn","this","partArgs","call","arguments","boundFunction","concat","length","apply","prototype","CartCounter","dom","cartList","document","querySelector","cartCounterMobile","cartCounterDesktop","clean","cartItems","querySelectorAll","innerHTML","removeAttribute","setAttribute","Component","Cart","buttonsContainer","el","mainContainer","emptyCart","itemsList","cartDescription","getProductsEndpoint","dataset","removeProductsEndpoint","addProductsEndpoint","counter","cartContainerDesktop","cartBtnDesktop","cartBtnMobile","cartContainerMobile","getProducts","window","addProduct","removeProduct","setRemoveProduct","mq","matchMedia","resizeBasedOnSafari","addEventListener","productId","axios","post","id","data","d","code","renderAlert","errorMessage","checkCartItems","innerWidth","toggleCart","console","error","cleanCart","button","container","scrollTo","behavior","classList","toggle","hidden","body","style","overflow","message","alert","insertAdjacentHTML","alertCloseButton","alertOverlay","removeAlert","remove","Products","innerHtml","CartDescription","renderProducts","addRemoveProductListeners","forEach","btn","e","target","closest","products","product","item","createProductItem","Id","ImageUrl","ImageDescription","Url","Title","Size","ColorName","ColorValue","matches","test","navigator","userAgent","log","paddingBlockEnd","toObject","nativeGetPrototypeOf","CORRECT_PROTOTYPE_GETTER","FAILS_ON_PRIMITIVES","stat","forced","sham","getPrototypeOf","it","create","anObject","fails","nativeConstruct","Reflect","NEW_TARGET_BUG","F","ARGS_BUG","FORCED","Target","newTarget","$args","push","proto","instance","Object","result"],"mappings":"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","file":"26.bundle.js","sourcesContent":["'use strict';\nvar aFunction = require('../internals/a-function');\nvar isObject = require('../internals/is-object');\nvar arraySlice = [].slice;\nvar factories = {};\n\nvar construct = function (C, argsLength, args) {\n if (!(argsLength in factories)) {\n for (var list = [], i = 0; i < argsLength; i++) list[i] = 'a[' + i + ']';\n // eslint-disable-next-line no-new-func\n factories[argsLength] = Function('C,a', 'return new C(' + list.join(',') + ')');\n } return factories[argsLength](C, args);\n};\n\n// `Function.prototype.bind` method implementation\n// https://tc39.github.io/ecma262/#sec-function.prototype.bind\nmodule.exports = Function.bind || function bind(that /* , ...args */) {\n var fn = aFunction(this);\n var partArgs = arraySlice.call(arguments, 1);\n var boundFunction = function bound(/* args... */) {\n var args = partArgs.concat(arraySlice.call(arguments));\n return this instanceof boundFunction ? construct(fn, args.length, args) : fn.apply(that, args);\n };\n if (isObject(fn.prototype)) boundFunction.prototype = fn.prototype;\n return boundFunction;\n};\n","import { Component } from '@verndale/core';\n\nclass CartCounter extends Component {\n setupDefaults() {\n this.dom = {\n cartList: document.querySelector('.cart__items'),\n cartCounterMobile: document.querySelector(\n '.mobile-header__cart-button-counter'\n ),\n cartCounterDesktop: document.querySelector(\n '.desktop-header__cart-button-counter'\n ),\n };\n }\n\n checkCartItems(clean = false) {\n const cartItems = this.dom.cartList.querySelectorAll('.cart__item');\n if (cartItems.length > 0) {\n this.dom.cartCounterMobile.innerHTML = cartItems.length;\n this.dom.cartCounterMobile.removeAttribute('hidden');\n this.dom.cartCounterDesktop.innerHTML = cartItems.length;\n this.dom.cartCounterDesktop.removeAttribute('hidden');\n } else {\n this.dom.cartCounterMobile.setAttribute('hidden', true);\n this.dom.cartCounterDesktop.setAttribute('hidden', true);\n }\n\n if (clean) {\n this.dom.cartCounterMobile.setAttribute('hidden', true);\n this.dom.cartCounterDesktop.setAttribute('hidden', true);\n }\n }\n}\n\nexport default CartCounter;\n","import { Component } from '@verndale/core';\nimport axios from 'axios';\nimport CartCounter from './CartCounter';\n\nclass Cart extends Component {\n setupDefaults() {\n this.dom = {\n buttonsContainer: this.el.querySelector('.cart__buttons'),\n mainContainer: this.el.querySelector('.cart__content'),\n emptyCart: this.el.querySelector('.cart__content-empty'),\n itemsList: this.el.querySelector('.cart__items'),\n cartDescription: this.el.querySelector('.cart__description'),\n getProductsEndpoint: this.el.dataset.getProductsEndpoint,\n removeProductsEndpoint: this.el.dataset.removeProductsEndpoint,\n addProductsEndpoint: this.el.dataset.addProductsEndpoint,\n counter: document.querySelector('body'),\n cartContainerDesktop: document.querySelector('.cart__container'),\n cartBtnDesktop: document.querySelector(\n '.desktop-header__nav__utility-nav-item--cart'\n ),\n cartBtnMobile: document.querySelector(\n '.mobile-header__cart-button button'\n ),\n cartContainerMobile: document.querySelector('.cart__container'),\n };\n\n this.getProducts();\n\n window.addProduct = this.addProduct.bind(this);\n window.getProducts = this.getProducts.bind(this);\n window.removeProduct = this.setRemoveProduct.bind(this);\n this.counter = new CartCounter(this.dom.counter);\n this.mq = window.matchMedia('(max-width: 1024px)');\n this.resizeBasedOnSafari();\n }\n\n addListeners() {\n if (this.mq) {\n this.mq.addEventListener('change', this.resizeBasedOnSafari.bind(this));\n }\n }\n\n cleanCart() {\n this.dom.itemsList.innerHTML = '';\n }\n\n async addProduct(productId) {\n if (this.dom.addProductsEndpoint) {\n try {\n const { data } = await axios.post(this.dom.addProductsEndpoint, {\n id: productId,\n });\n if (data && data.d && data.d.code) {\n this.renderAlert(data.d.errorMessage);\n } else {\n this.counter.checkCartItems();\n if (window.innerWidth > 1024) {\n this.toggleCart(\n this.dom.cartBtnDesktop,\n this.dom.cartContainerDesktop\n );\n } else {\n this.toggleCart(\n this.dom.cartBtnMobile,\n this.dom.cartContainerMobile\n );\n }\n }\n } catch (error) {\n console.error(error);\n } finally {\n this.cleanCart();\n this.getProducts();\n }\n }\n }\n\n toggleCart(button, container) {\n window.scrollTo(0, 0, { behavior: 'smooth' });\n button.classList.toggle('is-active');\n\n if (container.hidden) {\n container.removeAttribute('hidden');\n document.body.style.overflow = 'hidden';\n } else {\n container.setAttribute('hidden', true);\n document.body.style.overflow = 'auto';\n }\n }\n\n renderAlert(message) {\n const alert = `\n \n
\n
\n \n \n \n
\n
\n \n ${message}\n \n
\n \n
\n
\n `;\n\n window.scrollTo(0, 0, { behavior: 'smooth' });\n document.body.insertAdjacentHTML('beforeend', alert);\n const alertCloseButton = document.querySelector(\n '.cart-alert__close-button'\n );\n const alertOverlay = document.querySelector('.cart-alert__close-button');\n alertCloseButton.addEventListener('click', this.removeAlert.bind(this));\n alertOverlay.addEventListener('click', this.removeAlert.bind(this));\n }\n\n removeAlert() {\n const alert = document.querySelector('.cart-alert');\n if (alert) {\n alert.remove();\n }\n }\n\n async getProducts() {\n if (this.dom.getProductsEndpoint) {\n try {\n const { data } = await axios.post(this.dom.getProductsEndpoint, {});\n if (data && data.d && data.d.Products && data.d.Products.length > 0) {\n this.dom.emptyCart.setAttribute('hidden', true);\n this.dom.itemsList.removeAttribute('hidden');\n this.dom.mainContainer.removeAttribute('hidden');\n this.dom.cartDescription.innerHtml = data.d.CartDescription;\n this.cleanCart();\n this.renderProducts(data.d.Products);\n this.addRemoveProductListeners();\n this.counter.checkCartItems();\n } else {\n this.dom.mainContainer.setAttribute('hidden', true);\n this.dom.itemsList.setAttribute('hidden', true);\n this.dom.emptyCart.removeAttribute('hidden');\n this.counter.checkCartItems(true);\n }\n } catch (error) {\n console.error(error);\n }\n }\n }\n\n addRemoveProductListeners() {\n const removeProductBtns = this.el.querySelectorAll(\n '.cart__item__remove-button'\n );\n removeProductBtns.forEach((btn) => {\n btn.addEventListener('click', this.removeProduct.bind(this));\n });\n }\n\n removeProduct(e) {\n const productId = e.target.closest('.cart__item').dataset.productId;\n this.setRemoveProduct(productId);\n e.target.closest('.cart__item').remove();\n\n const cartItems = this.el.querySelectorAll('.cart__item');\n if (cartItems.length === 0) {\n this.dom.mainContainer.setAttribute('hidden', true);\n this.dom.itemsList.setAttribute('hidden', true);\n this.dom.emptyCart.removeAttribute('hidden');\n }\n }\n\n async setRemoveProduct(productId) {\n if (this.dom.removeProductsEndpoint) {\n try {\n const { data } = await axios.post(this.dom.removeProductsEndpoint, {\n id: productId,\n });\n if (data) {\n this.getProducts();\n }\n } catch (error) {\n console.error(error);\n }\n }\n }\n\n renderProducts(products) {\n products.forEach((product) => {\n const item = this.createProductItem(product);\n this.dom.itemsList.insertAdjacentHTML('beforeend', item);\n });\n }\n\n createProductItem(product) {\n return `\n
  • \n
    \n \n
    \n
    \n \n ${product.Title}\n \n
    \n
    \n ${product.Size}\n
    \n ${product.ColorName && product.ColorValue ? `
    \n Color:\n ${product.ColorName}\n
    ` : ''}\n }\n
    \n
    \n \n
  • \n `;\n }\n\n resizeBasedOnSafari() {\n if (this.mq.matches) {\n const isSafari = /^((?!chrome|android).)*safari/i.test(\n navigator.userAgent\n );\n\n if (isSafari) {\n console.log('Safari detected');\n\n this.dom.buttonsContainer.style.paddingBlockEnd = '10vh';\n console.log(this.dom.buttonsContainer);\n }\n }\n }\n}\n\nexport default Cart;\n","var toObject = require('../internals/to-object');\nvar nativeGetPrototypeOf = require('../internals/object-get-prototype-of');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\nvar FAILS_ON_PRIMITIVES = require('../internals/fails')(function () { nativeGetPrototypeOf(1); });\n\n// `Object.getPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\nrequire('../internals/export')({\n target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !CORRECT_PROTOTYPE_GETTER\n}, {\n getPrototypeOf: function getPrototypeOf(it) {\n return nativeGetPrototypeOf(toObject(it));\n }\n});\n\n","var create = require('../internals/object-create');\nvar aFunction = require('../internals/a-function');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar bind = require('../internals/function-bind');\nvar nativeConstruct = (require('../internals/global').Reflect || {}).construct;\n\n// `Reflect.construct` method\n// https://tc39.github.io/ecma262/#sec-reflect.construct\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function () {\n function F() { /* empty */ }\n return !(nativeConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\nvar ARGS_BUG = !fails(function () {\n nativeConstruct(function () { /* empty */ });\n});\nvar FORCED = NEW_TARGET_BUG || ARGS_BUG;\n\nrequire('../internals/export')({ target: 'Reflect', stat: true, forced: FORCED, sham: FORCED }, {\n construct: function construct(Target, args /* , newTarget */) {\n aFunction(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);\n if (ARGS_BUG && !NEW_TARGET_BUG) return nativeConstruct(Target, args, newTarget);\n if (Target == newTarget) {\n // w/o altered newTarget, optimization for 0-4 arguments\n switch (args.length) {\n case 0: return new Target();\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n $args.push.apply($args, args);\n return new (bind.apply(Target, $args))();\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype;\n var instance = create(isObject(proto) ? proto : Object.prototype);\n var result = Function.apply.call(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n"],"sourceRoot":""}