{"version":3,"sources":["webpack:///./src/feature/basket/basket.js","webpack:///./node_modules/core-js/modules/es.object.get-prototype-of.js","webpack:///./node_modules/core-js/modules/es.object.set-prototype-of.js"],"names":["Basket","element","_this","_classCallCheck","this","_possibleConstructorReturn","_getPrototypeOf","call","initDomCache","el","basket","body","window","features","dom","closeSlider","querySelector","basketItems","closeCard","querySelectorAll","basketTrigger","slider","basketAlert","document","addClick","BaseFeature","_this2","forEach","closeElement","addEventListener","parentNode","classList","add","e","stopPropagation","searchTrigger","remove","setAttribute","activeElement","keyCode","click","$","__webpack_require__","fails","toObject","nativeGetPrototypeOf","CORRECT_PROTOTYPE_GETTER","target","stat","forced","sham","getPrototypeOf","it","setPrototypeOf"],"mappings":"m+BAEMA,cACL,SAAAA,EAAYC,GAAS,IAAAC,EAAA,mGAAAC,CAAAC,KAAAJ,IACpBE,EAAAG,EAAAD,KAAAE,EAAAN,GAAAO,KAAAH,KAAMH,KACDO,eAELN,EAAKO,GAAKR,EACVC,EAAKQ,OAASR,EAAKO,GACnBP,EAAKS,KAAOC,OAAOC,SAASC,IAAIH,KAChCT,EAAKa,YAAcb,EAAKO,GAAGO,cAAc,2BACzCd,EAAKe,YAAcf,EAAKO,GAAGO,cAAc,2BACzCd,EAAKgB,UAAYhB,EAAKO,GAAGU,iBAAiB,yBAC1CjB,EAAKkB,cAAgBlB,EAAKO,GAAGO,cAAc,6BAC3Cd,EAAKmB,OAASnB,EAAKO,GAAGO,cAAc,sBACpCd,EAAKoB,YAAcpB,EAAKO,GAAGO,cAAc,2BACzCd,EAAKS,KAAOY,SAASP,cAAc,QAEnCd,EAAKsB,WAfetB,wPADDuB,iDAmBT,IAAAC,EAAAtB,KACNA,KAAKc,WACRd,KAAKc,UAAUS,QAAQ,SAACC,GACvBA,EAAaC,iBAAiB,QAAS,WACtCD,EAAaE,WAAWA,WAAWC,UAAUC,IAAI,uBAKhD5B,KAAKgB,eAAiBhB,KAAKiB,QAC9BjB,KAAKgB,cAAcS,iBAAiB,QAAS,SAACI,GAC7CA,EAAEC,kBAEF,IAAMC,EAAgBZ,SAASP,cAAc,gCACzCmB,GACHA,EAAcJ,UAAUK,OAAO,aAEhCV,EAAKL,OAAOU,UAAUC,IAAI,aAC1BN,EAAKf,KAAKoB,UAAUC,IAAI,oBACxBN,EAAKN,cAAciB,aAAa,gBAAiB,UAG/CjC,KAAKW,aACRX,KAAKW,YAAYc,iBAAiB,QAAS,WAC1CH,EAAKL,OAAOU,UAAUK,OAAO,aAC7BV,EAAKf,KAAKoB,UAAUK,OAAO,oBAC3BV,EAAKN,cAAciB,aAAa,gBAAiB,WAI/CjC,KAAKW,aACRQ,SAASP,cAAc,WAAWa,iBAAiB,QAAS,WAC3DH,EAAKL,OAAOU,UAAUK,OAAO,aAC7BV,EAAKf,KAAKoB,UAAUK,OAAO,oBAC3BV,EAAKN,cAAciB,aAAa,gBAAiB,WAK9CjC,KAAKkB,aACTlB,KAAKgB,cAAciB,aAAa,WAAY,MAI7CzB,OAAOiB,iBAAiB,QAAS,SAACI,GACfV,SAASe,gBAAkBZ,EAAKN,eACnB,KAAda,EAAEM,SAElBb,EAAKN,cAAcoB,QAEF,KAAdP,EAAEM,SAELb,EAAKX,YAAYyB,+CAMNxC,iCC/Ef,IAAAyC,EAAQC,EAAQ,GAChBC,EAAYD,EAAQ,GACpBE,EAAeF,EAAQ,IACvBG,EAA2BH,EAAQ,IACnCI,EAA+BJ,EAAQ,KAKvCD,EAAA,CAAGM,OAAA,SAAAC,MAAA,EAAAC,OAJHN,EAAA,WAA6CE,EAAA,KAI1CK,MAAAJ,GAA6F,CAChGK,eAAA,SAAAC,GACA,OAAAP,EAAAD,EAAAQ,4BCXQV,EAAQ,EAKhBD,CAAA,CAAGM,OAAA,SAAAC,MAAA,GAA+B,CAClCK,eALqBX,EAAQ","file":"21-0a9a4d42.pkg.js","sourcesContent":["import BaseFeature from '../../foundation/base/base';\r\n\r\nclass Basket extends BaseFeature {\r\n\tconstructor(element) {\r\n\t\tsuper(element);\r\n\t\tthis.initDomCache();\r\n\r\n\t\tthis.el = element;\r\n\t\tthis.basket = this.el;\r\n\t\tthis.body = window.features.dom.body;\r\n\t\tthis.closeSlider = this.el.querySelector('[data-js=\"closeSlider\"]');\r\n\t\tthis.basketItems = this.el.querySelector('[data-js=\"basketItems\"]');\r\n\t\tthis.closeCard = this.el.querySelectorAll('[data-js=\"closeCard\"]');\r\n\t\tthis.basketTrigger = this.el.querySelector('[data-js=\"basketTrigger\"]');\r\n\t\tthis.slider = this.el.querySelector('[data-js=\"slider\"]');\r\n\t\tthis.basketAlert = this.el.querySelector('[data-js=\"basketAlert\"]');\r\n\t\tthis.body = document.querySelector('body');\r\n\r\n\t\tthis.addClick();\r\n\t}\r\n\r\n\taddClick() {\r\n\t\tif (this.closeCard) {\r\n\t\t\tthis.closeCard.forEach((closeElement) => {\r\n\t\t\t\tcloseElement.addEventListener('click', () => {\r\n\t\t\t\t\tcloseElement.parentNode.parentNode.classList.add('is-deleted-item');\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tif (this.basketTrigger && this.slider) {\r\n\t\t\tthis.basketTrigger.addEventListener('click', (e) => {\r\n\t\t\t\te.stopPropagation();\r\n\t\t\t\t// Collapsing menu if basket is triggered\r\n\t\t\t\tconst searchTrigger = document.querySelector('.m-menu-list__item.is-active');\r\n\t\t\t\tif (searchTrigger) {\r\n\t\t\t\t\tsearchTrigger.classList.remove('is-active');\r\n\t\t\t\t}\r\n\t\t\t\tthis.slider.classList.add('is-active');\r\n\t\t\t\tthis.body.classList.add('is-active-basket');\r\n\t\t\t\tthis.basketTrigger.setAttribute('aria-expanded', 'true'); // Accessibility\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (this.closeSlider) {\r\n\t\t\tthis.closeSlider.addEventListener('click', () => {\r\n\t\t\t\tthis.slider.classList.remove('is-active');\r\n\t\t\t\tthis.body.classList.remove('is-active-basket');\r\n\t\t\t\tthis.basketTrigger.setAttribute('aria-expanded', 'false'); // Accessibility\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tif (this.closeSlider) {\r\n\t\t\tdocument.querySelector('.o-main').addEventListener('click', () => {\r\n\t\t\t\tthis.slider.classList.remove('is-active');\r\n\t\t\t\tthis.body.classList.remove('is-active-basket');\r\n\t\t\t\tthis.basketTrigger.setAttribute('aria-expanded', 'false'); // Accessibility\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t// Disable tab if basket is empty\r\n\t\tif (!this.basketAlert) {\r\n\t\t\tthis.basketTrigger.setAttribute('tabindex', '-1'); // Accessibility\r\n\t\t}\r\n\r\n\t\t// Accessibility\r\n\t\twindow.addEventListener('keyup', (e) => {\r\n\t\t\tconst isFocused = document.activeElement === this.basketTrigger;\r\n\t\t\tif (isFocused && e.keyCode === 13) {\r\n\t\t\t\t// Trigger the button element with a click\r\n\t\t\t\tthis.basketTrigger.click();\r\n\t\t\t}\r\n\t\t\tif (e.keyCode === 27) {\r\n\t\t\t\t// Trigger the button element with a click\r\n\t\t\t\tthis.closeSlider.click();\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n}\r\n\r\nexport default Basket;\r\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar 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 = fails(function () { nativeGetPrototypeOf(1); });\n\n// `Object.getPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !CORRECT_PROTOTYPE_GETTER }, {\n getPrototypeOf: function getPrototypeOf(it) {\n return nativeGetPrototypeOf(toObject(it));\n }\n});\n\n","var $ = require('../internals/export');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// `Object.setPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.setprototypeof\n$({ target: 'Object', stat: true }, {\n setPrototypeOf: setPrototypeOf\n});\n"],"sourceRoot":""}