{"version":3,"sources":["webpack:///./src/feature/filter/filter.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":["Filter","element","_this","_classCallCheck","this","_possibleConstructorReturn","_getPrototypeOf","call","initDomCache","el","ticking","filter","body","window","features","dom","filterTrigger","querySelectorAll","selectAll","querySelector","selectItem","selectItemSecond","selectItemChecked","filterSave","document","filterReset","filterContent","filterSections","addClick","BaseFeature","_this2","addEventListener","event","isClickInside","getElementById","contains","target","classList","remove","forEach","isDropped","parentNode","filterItem","setAttribute","filterItemInput","add","e","activeElement","keyCode","preventDefault","isChecked","log","checked","i","length","$","__webpack_require__","fails","toObject","nativeGetPrototypeOf","CORRECT_PROTOTYPE_GETTER","stat","forced","sham","getPrototypeOf","it","setPrototypeOf"],"mappings":"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","file":"26-c143264e.pkg.js","sourcesContent":["import BaseFeature from '../../foundation/base/base';\r\n\r\nclass Filter extends BaseFeature {\r\n\tconstructor(element) {\r\n\t\tsuper(element);\r\n\r\n\t\tthis.initDomCache();\r\n\r\n\t\tthis.el = element;\r\n\t\tthis.ticking = false;\r\n\t\tthis.filter = this.el;\r\n\t\tthis.body = window.features.dom.body;\r\n\t\tthis.filterTrigger = this.el.querySelectorAll('[data-js=\"filterTrigger\"]');\r\n\t\tthis.selectAll = this.el.querySelector('[data-js=\"selectAll\"]');\r\n\t\tthis.selectItem = this.el.querySelectorAll('[data-js=\"selectItem\"]');\r\n\t\tthis.selectItemSecond = this.el.querySelector('[data-js=\"selectItem\"]');\r\n\t\tthis.selectItemChecked = this.el.querySelectorAll('[checked=\"true\"]');\r\n\t\tthis.filterSave = document.querySelector('.m-filter__button');\r\n\t\tthis.filterReset = document.querySelector('.m-filter__reset');\r\n\t\tthis.filterContent = this.el.querySelectorAll('[data-js=\"filterContent\"]');\r\n\t\tthis.filterSections = document.querySelectorAll('.m-filter__section');\r\n\t\tthis.addClick();\r\n\t}\r\n\r\n\taddClick() {\r\n\t\t// Click anywhere to close\r\n\t\tif (this.el) {\r\n\t\t\tdocument.addEventListener('click', (event) => {\r\n\t\t\t\tconst specifiedElement = document.getElementById('filterDropdown');\r\n\t\t\t\tconst isClickInside = specifiedElement.contains(event.target);\r\n\t\t\t\tif (document.querySelector('.m-filter__section.is-dropped')) {\r\n\t\t\t\t\tif (!isClickInside) {\r\n\t\t\t\t\t\tdocument.querySelector('.m-filter__section.is-dropped').classList.remove('is-dropped');\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t// Open-Close state on dropdown\r\n\t\tthis.filterTrigger.forEach((el) => {\r\n\t\t\tel.addEventListener('click', () => {\r\n\t\t\t\tconst isDropped = el.parentNode.classList.contains('is-dropped');\r\n\t\t\t\tthis.filterSections.forEach((filterItem) => {\r\n\t\t\t\t\tfilterItem.classList.remove('is-dropped');\r\n\t\t\t\t\tfilterItem.setAttribute('aria-expanded', 'false');\r\n\t\t\t\t});\r\n\t\t\t\tthis.selectItem.forEach((filterItemInput) => {\r\n\t\t\t\t\tfilterItemInput.setAttribute('tabindex', '-1');\r\n\t\t\t\t});\r\n\t\t\t\tif (!isDropped) {\r\n\t\t\t\t\tel.parentNode.classList.add('is-dropped');\r\n\t\t\t\t\tel.parentNode.setAttribute('aria-expanded', 'true');\r\n\t\t\t\t\tthis.selectItem.forEach((filterItemInput) => {\r\n\t\t\t\t\t\tfilterItemInput.setAttribute('tabindex', '0');\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\t// Accessibility\r\n\t\t\twindow.addEventListener('keyup', (e) => {\r\n\t\t\t\tconst isFocused = document.activeElement === el;\r\n\t\t\t\tif (isFocused && e.keyCode === 13) {\r\n\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\tconst isDropped = el.parentNode.classList.contains('is-dropped');\r\n\t\t\t\t\tthis.filterSections.forEach((filterItem) => {\r\n\t\t\t\t\t\tfilterItem.classList.remove('is-dropped');\r\n\t\t\t\t\t\tfilterItem.setAttribute('aria-expanded', 'false');\r\n\t\t\t\t\t});\r\n\t\t\t\t\tthis.selectItem.forEach((filterItemInput) => {\r\n\t\t\t\t\t\tfilterItemInput.setAttribute('tabindex', '-1');\r\n\t\t\t\t\t});\r\n\t\t\t\t\tif (!isDropped) {\r\n\t\t\t\t\t\tel.parentNode.classList.add('is-dropped');\r\n\t\t\t\t\t\tel.parentNode.setAttribute('aria-expanded', 'true');\r\n\t\t\t\t\t\tthis.selectItem.forEach((filterItemInput) => {\r\n\t\t\t\t\t\t\tfilterItemInput.setAttribute('tabindex', '0');\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\r\n\t\t// Selecting each input\r\n\t\tthis.selectItem.forEach((el) => {\r\n\t\t\tel.addEventListener('click', () => {\r\n\t\t\t\tconst numberofCheckedItems = this.isChecked();\r\n\t\t\t\tif (numberofCheckedItems === true) {\r\n\t\t\t\t\tel.parentNode.parentNode.parentNode.classList.add('has-search');\r\n\t\t\t\t\tdocument.querySelector('.m-filter').classList.add('has-buttons');\r\n\t\t\t\t} else {\r\n\t\t\t\t\tel.parentNode.parentNode.parentNode.classList.remove('has-search');\r\n\t\t\t\t\tdocument.querySelector('.m-filter').classList.remove('has-buttons');\r\n\t\t\t\t}\r\n\t\t\t\tthis.log('ischecked: ', this.isChecked());\r\n\t\t\t\tthis.selectAll.checked = false;\r\n\t\t\t});\r\n\r\n\r\n\t\t\t// Detecting active input on pageload\r\n\t\t\tif (this.selectItemChecked[0]) {\r\n\t\t\t\tthis.filterReset.classList.add('is-reset');\r\n\t\t\t\tel.parentNode.parentNode.parentNode.classList.add('has-search');\r\n\t\t\t\tdocument.querySelector('.m-filter').classList.add('has-buttons');\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t// Selecting All inputs\r\n\t\tthis.selectAll.addEventListener('change', () => {\r\n\t\t\tthis.log(this.selectItem);\r\n\t\t\tfor (let i = 0; i < this.selectItem.length; i++) {\r\n\t\t\t\tif (this.selectAll.checked) {\r\n\t\t\t\t\tthis.selectItem[i].checked = true;\r\n\t\t\t\t\tdocument.querySelector('.m-filter').classList.add('has-buttons');\r\n\t\t\t\t\tthis.selectAll.parentNode.parentNode.parentNode.classList.add('has-search');\r\n\t\t\t\t\tthis.filterSave.classList.add('is-button');\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.selectItem[i].checked = false;\r\n\t\t\t\t\tthis.selectAll.parentNode.parentNode.parentNode.classList.remove('has-search');\r\n\t\t\t\t\tdocument.querySelector('.m-filter').classList.remove('has-buttons');\r\n\t\t\t\t\tthis.filterSave.classList.remove('is-button');\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tisChecked() {\r\n\t\tlet isChecked = false;\r\n\t\tthis.selectItem.forEach((el) => {\r\n\t\t\tif (el.checked) {\r\n\t\t\t\tisChecked = true;\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn isChecked;\r\n\t}\r\n}\r\n\r\nexport default Filter;\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":""}