{"version":3,"file":"./modules/Filter.xxxxxxxx.js","mappings":"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","sources":["webpack:///./modules/Filter.ts","webpack:///./modules/FilterActiveSection.ts","webpack:///./modules/LayerAdvance.ts","webpack:///../../../node_modules/rxjs/_esm5/internal/operators/takeWhile.js","webpack:///./modules/LayerPage.ts","webpack:///./modules/NivTFilter.ts"],"sourcesContent":["import FilterExpandElement from './FilterExpandElement';\r\nimport FilterActiveSection from './FilterActiveSection';\r\nimport LayerPage from './LayerPage';\r\nimport { Optional } from '../typings/mapped-types';\r\nimport { createElementFromString } from '../helpers/DOMHelpers';\r\nimport { getOptions, compareTimeStamp } from '../helpers/helperFunctions';\r\nimport NivTFilter from './NivTFilter';\r\n\r\nconst moduleSelector = '[data-module=\"Filter\"]';\r\n\r\nexport default class Filter {\r\n    private layer: LayerPage;\r\n    private filterBtn: HTMLElement;\r\n    private filterTmplNode: HTMLElement;\r\n    private activeFilterSection: FilterActiveSection;\r\n    private filterItems: FilterExpandElement[];\r\n\r\n    static setup(selector: string = moduleSelector): void {\r\n        Array.from(document.querySelectorAll(selector)).filter((node: HTMLElement) => !node.dataset.moduleInitialized).forEach((element: HTMLElement) => {\r\n            new Filter(element);\r\n            element.dataset.moduleInitialized = 'true';\r\n        });\r\n    }\r\n\r\n    constructor(public element: HTMLElement, private options: Optional<FilterOptions> = {}) {\r\n        this.options = getOptions(this.element, Object.assign(this.getDefaultOptions(), this.options));\r\n        this.filterBtn = <HTMLElement>this.element.querySelector(this.options.filterBtnSelector);\r\n        this.filterTmplNode = <HTMLElement>this.element.querySelector(this.options.filterTmplSelector);\r\n        this.layer = this.getFilterLayer();\r\n    }\r\n\r\n    async init(): Promise<Filter> {\r\n        if (this.element.querySelector('.nx-filter-navigation'))\r\n            await this.loadAndInitFilterNavigation();\r\n\r\n        this.hiddenLayerBeforeOpen()\r\n            .open(() => {\r\n                this.addHandlerOnFilterBtnClick()\r\n                    .initFilterItems(this.layer.getLayerNode())\r\n                    .initActiveFilterSection(this.layer.getLayerNode())\r\n                    .addHandlerOnFilterChange()\r\n                    .addHandlerOnApplyBtnClick()\r\n                    .addHandlerOnFilterLayerClick()\r\n                    .visibleLayerAfterInit();\r\n            });\r\n\r\n        return this;\r\n    }\r\n\r\n    // Start: FilterLayer\r\n    private getFilterLayer(): LayerPage {\r\n        const layer = new LayerPage(\r\n            this.element,\r\n            {\r\n                beforeClose: async () => this.resetFilterActionState().synchronize(),\r\n            }\r\n        );\r\n        layer.insertContent(createElementFromString(this.filterTmplNode.innerHTML));\r\n\r\n        return layer;\r\n    }\r\n\r\n    private openFilterLayer(): Filter {\r\n        this.layer.open();\r\n        return this;\r\n    }\r\n\r\n    private closeFilterLayer(): Filter {\r\n        this.layer.close();\r\n        return this;\r\n    }\r\n\r\n    private hiddenLayerBeforeOpen(): LayerPage {\r\n        this.layer.getLayerNode().style.opacity = '0';\r\n        return this.layer;\r\n    }\r\n\r\n    private visibleLayerAfterInit(): void {\r\n        this.closeFilterLayer();\r\n        this.layer.getLayerNode().style.opacity = null;\r\n    }\r\n\r\n    // Start: FilterExpandElement usage\r\n    private initFilterItems(element: HTMLElement): Filter {\r\n        this.filterItems = Array.from(element.querySelectorAll(this.options.filterItemSelector))\r\n            .map((item: HTMLElement) => new FilterExpandElement(item));\r\n\r\n        return this;\r\n    }\r\n\r\n    private getAllActiveFilterItems(): FilterCheckBox[] {\r\n        return this.filterItems\r\n            .reduce((acc, fItm) => acc = acc.concat(fItm.getCheckedFilters()), [])\r\n            .sort(compareTimeStamp);\r\n    }\r\n    // End: FilterExpandElement usage\r\n\r\n    // Start: FilterActiveSection usage\r\n    private initActiveFilterSection(element: HTMLElement): Filter {\r\n        this.activeFilterSection = new FilterActiveSection(<HTMLElement>element.querySelector('.nx-active-filters'), \r\n        {   updateCB: () =>  this.synchronize(),\r\n            updateCB1: () =>  this.synchronizeWithoutVisibilityChange(),\r\n            applyCB: () =>   this.reloadFilterAction()\r\n        });\r\n        return this;\r\n    }\r\n\r\n    private refreshActiveFilters(): Filter {\r\n        this.activeFilterSection.refreshActiveFilters(this.getAllActiveFilterItems());\r\n        document.dispatchEvent(new CustomEvent('FilterExpandable:reset'));\r\n        return this;\r\n    }\r\n\r\n    private updateAllFilterItems(): Filter {\r\n        this.filterItems.forEach(fItm => fItm.refreshFilters());\r\n        return this;\r\n    }\r\n    // End: FilterActiveSection usage\r\n\r\n    // Start: Event handlers\r\n    private initFilterNavigation(FilterNavigation): Filter {\r\n        const filterNavigationNode = <HTMLElement>this.element.querySelector(this.options.filterNavigationSelector);\r\n\r\n        if (filterNavigationNode) {\r\n            new FilterNavigation(<HTMLElement>this.element.querySelector(this.options.filterNavigationSelector), {\r\n                updateCB: () => {\r\n                    this.reloadFilterAction().updateFilterAction();\r\n                },\r\n                updateCB1: () => {\r\n                    this.reloadFilterAction()\r\n                }\r\n            });\r\n        }\r\n\r\n        return this;\r\n    }\r\n\r\n    private async loadAndInitFilterNavigation(): Promise<void> {\r\n        await import(/* webpackChunkName: \"[request]\" */'./FilterNavigation')\r\n            .then(({ default: FilterNavigation }) => this.initFilterNavigation(FilterNavigation));\r\n    }\r\n\r\n    // Start: Event handlers\r\n    private onFilterChange(): void {\r\n        const input = <HTMLInputElement>event.target;\r\n\r\n        if (input.closest(this.options.checkboxSelector)) {\r\n            \r\n            this.updateFilterAction()\r\n                .refreshActiveFilters();\r\n        }\r\n    }\r\n\r\n    private addHandlerOnFilterChange(): Filter {\r\n        this.layer.getLayerNode().addEventListener('change', () => this.onFilterChange());\r\n        return this;\r\n    }\r\n\r\n    private addHandlerOnApplyBtnClick(): Filter {\r\n        this.layer.getLayerNode().querySelector(this.options.applyBtnSelector).addEventListener('click', () => {\r\n            this.reloadFilterAction().closeFilterLayer();\r\n            new NivTFilter(this.activeFilterSection.activeFilterItemsArr);\r\n        });\r\n        return this;\r\n    }\r\n\r\n    private addHandlerOnFilterBtnClick(): Filter {\r\n        this.filterBtn.addEventListener('click', () => {\r\n            this.openFilterLayer()\r\n                .saveFilterActionState();\r\n        });\r\n        return this;\r\n    }\r\n\r\n    private onLayerClick(event: Event): void {\r\n        const target = <HTMLElement>event.target,\r\n            currentFilterItem = <HTMLElement>target.closest(this.options.filterItemSelector + '--active') || target;\r\n\r\n        this.filterItems.forEach(fItm => fItm.element !== currentFilterItem && fItm.closeExpander());\r\n    }\r\n\r\n    private addHandlerOnFilterLayerClick(): Filter {\r\n        this.layer.getLayerNode().addEventListener('click', this.onLayerClick.bind(this));\r\n\r\n        return this;\r\n    }\r\n    // End: Event Handlers\r\n\r\n    // Start: FilterAction callbacks\r\n    private updateFilterAction(): Filter {\r\n        this.options.callbacks.update();\r\n        return this;\r\n    }\r\n\r\n    updateFilterActionV2(): Filter {\r\n        this.options.callbacks.updateV2();\r\n        return this;\r\n    }\r\n\r\n    private reloadFilterAction(): Filter {\r\n        this.options.callbacks.reload();\r\n        return this;\r\n    }\r\n\r\n    private saveFilterActionState(): Filter {\r\n        this.options.callbacks.saveState();\r\n        return this;\r\n    }\r\n\r\n    private resetFilterActionState(): Filter {\r\n        this.options.callbacks.resetState();\r\n        return this;\r\n    }\r\n\r\n    // End: FilterAction callbacks\r\n\r\n    private synchronize(): Filter {\r\n        this.updateAllFilterItems()\r\n            .refreshActiveFilters()\r\n            .updateFilterAction();\r\n\r\n        return this;\r\n    }\r\n\r\n    private synchronizeWithoutVisibilityChange(): Filter {\r\n        this.updateAllFilterItems()\r\n            .refreshActiveFilters();\r\n\r\n        return this;\r\n    }\r\n\r\n    getFilterLayerNode(): HTMLElement {\r\n        return this.layer.getLayerNode();\r\n    }\r\n\r\n    private getDefaultOptions(): Optional<FilterOptions> {\r\n        return {\r\n            filterBtnSelector: '.nx-filter-button__wrapper',\r\n            filterTmplSelector: '.nx-filter__tmpl',\r\n            checkboxSelector: '.nx-cat-item__tag-value',\r\n            filterItemSelector: '.nx-tag-filter__item',\r\n            applyBtnSelector: '.nx-sort-filters__apply-btn',\r\n            filterNavigationSelector: '.nx-filter-navigation',\r\n            callbacks: {\r\n                updateV2: () => { },\r\n                update: () => { },\r\n                reload: () => { },\r\n                saveState: () => { },\r\n                resetState: () => { }\r\n            }\r\n        };\r\n    }\r\n}\r\n\r\n// Hot Module Replacement\r\nif (module.hot) {\r\n    let nodesCache: HMRNodes[] = Array.from(document.querySelectorAll(moduleSelector)).map((element: Node) => ({ nodeToReplace: element, nodeOrigin: element.cloneNode(true) }));\r\n\r\n    Filter.setup(moduleSelector);\r\n\r\n    module.hot.accept(() => {\r\n        Filter.setup(moduleSelector);\r\n    });\r\n    module.hot.dispose(() => {\r\n        nodesCache.forEach(({ nodeToReplace, nodeOrigin }) => { nodeToReplace = nodeToReplace.parentElement.replaceChild(nodeOrigin.cloneNode(true), nodeToReplace) });\r\n    });\r\n} else {\r\n    Filter.setup(moduleSelector);\r\n}","import {\r\n    createElementFromString,\r\n    addElementsFromArray,\r\n    addToElement,\r\n    hasClass\r\n} from '../helpers/DOMHelpers';\r\nimport { getOptions, getCateforyName, toggleSelection } from '../helpers/helperFunctions';\r\n\r\nexport default class ActiveFilterSection {\r\n    private list: HTMLElement[];\r\n    private deleteAllBtns: HTMLElement[];\r\n    public activeFilterItemsArr: ActiveFilterListItem[];\r\n    private activeTagsFiltersWrapper: HTMLElement;\r\n\r\n    constructor(private element: HTMLElement, private options: ActiveFilterSectionOptions = {}) {\r\n        this.options = getOptions(this.element, Object.assign(this.getDefaultOptions(), this.options));\r\n        this.list = this.getNodesFromLayerAndDOM(this.options.actFlListSelector);\r\n        this.deleteAllBtns = this.getNodesFromLayerAndDOM(this.options.actFlDeleteAllBtnSelector);\r\n        this.activeTagsFiltersWrapper = this.getNodesFromLayerAndDOM(this.options.outerSelector)[0];\r\n        this.init();\r\n\r\n    }\r\n\r\n    private init(): ActiveFilterSection {\r\n        this.addClickHandler()\r\n            .addHandlerOndeleteAllBtn();\r\n\r\n        return this;\r\n    }\r\n\r\n    private getNodesFromLayerAndDOM(selector: string): HTMLElement[] {\r\n        const listArr = Array.from(<NodeListOf<HTMLElement>>document.querySelectorAll(selector))\r\n            .concat(Array.from(<NodeListOf<HTMLElement>>this.element.querySelectorAll(selector)));\r\n\r\n        return [...new Set(listArr)];\r\n    }\r\n\r\n    private getActiveFilterListItem(input: FilterCheckBox, idx): ActiveFilterListItem {\r\n        const activeFilterListItem = <ActiveFilterListItem>createElementFromString(`\r\n            <li class=\"nx-active-filters__item nx-act-filter\" data-input-name=\"${input.name}\" ${(idx >= this.options.displayMaxActiveFilters) ? 'data-hidden' : ''} data-parent-name=\"${input.dataset.parentName}\">\r\n                <span class=\"nx-act-filter__name\">${getCateforyName(this.options.actFlItemNameSelector, input)}</span>\r\n                <span class=\"nx-act-filter__remove-btn\"></span>\r\n            </li>`\r\n        );\r\n        activeFilterListItem.inputElement = input;\r\n        return activeFilterListItem;\r\n    }\r\n\r\n    private getSelectedFilterItems(inputs: FilterCheckBox[]): ActiveFilterListItem[] {\r\n        return inputs.map((inp, idx) => this.getActiveFilterListItem(inp, idx));\r\n    }\r\n\r\n    private addClickHandler(): ActiveFilterSection {\r\n        this.list.forEach(l => l.addEventListener('click', this.onActiveFilterListItemClick.bind(this)));\r\n        return this;\r\n    }\r\n\r\n    private onActiveFilterListItemClick(event: Event): void {\r\n        const target = <HTMLElement>event.target,\r\n            isRemoveButton = hasClass(target, 'nx-act-filter__remove-btn'),\r\n            listItem = isRemoveButton ? <ActiveFilterListItem>target.parentElement : null,\r\n            isOutOfLayer = listItem && !!listItem.closest(this.options.outerSelector);\r\n\r\n        if (listItem) {\r\n            const filterNavigation = document.querySelector('.nx-filter-navigation'),\r\n                currentActiveHc = filterNavigation?.querySelector('.nx-filter-navigation__level.nx-filter-navigation__level--active .nx-active') as HTMLElement,\r\n                isLastLevelItem = currentActiveHc && currentActiveHc.dataset.id == \"\";\r\n\r\n            this.removeActiveFilters(listItem, isLastLevelItem)\r\n                .applyOnOuterSection(isOutOfLayer)\r\n        }\r\n    }\r\n\r\n    private removeActiveFilters(actFilterItem: ActiveFilterListItem, isLastLevelItem: boolean): ActiveFilterSection {\r\n        toggleSelection(actFilterItem.inputElement, false);\r\n        isLastLevelItem ? this.options.updateCB1() : this.options.updateCB();\r\n\r\n        return this;\r\n    }\r\n\r\n    private applyOnOuterSection(isOuterSction: boolean): ActiveFilterSection {\r\n        if (isOuterSction) {\r\n            this.options.applyCB();\r\n        }\r\n        return this;\r\n    }\r\n\r\n    private addHandlerOndeleteAllBtn(): ActiveFilterSection {\r\n        this.deleteAllBtns.forEach(b => {\r\n            b.addEventListener('click', this.removeAllActiveFilters.bind(this));\r\n        });\r\n        return this;\r\n    }\r\n\r\n    private removeAllActiveFilters(event: Event): ActiveFilterSection {\r\n        event.preventDefault();\r\n\r\n        this.activeFilterItemsArr.forEach(actFItm => toggleSelection(actFItm.inputElement, false));\r\n\r\n        this.options.updateCB();\r\n        this.options.applyCB();\r\n        this.refreshActiveFilters([])\r\n\r\n        return this;\r\n    }\r\n\r\n    private getDefaultOptions(): ActiveFilterSectionOptions {\r\n        return {\r\n            outerSelector: '.nx-sort-filters__active-filters',\r\n            actFlListSelector: '.nx-active-filters__list',\r\n            actFlDeleteAllBtnSelector: '.nx-active-filters__delete-all',\r\n            actFlItemSelector: '.nx-act-filter',\r\n            actFlItemNameSelector: '.nx-cat-item__name',\r\n            updateCB: () => { },\r\n            updateCB1: () => { },\r\n            applyCB: () => { }\r\n        };\r\n    }\r\n\r\n    refreshActiveFilters(inputs: FilterCheckBox[]): ActiveFilterSection {\r\n        this.activeFilterItemsArr = this.getSelectedFilterItems(inputs);\r\n        const filterListTags = document.querySelector('.nx-active-filters__list') as HTMLElement;\r\n\r\n\r\n        this.list.forEach(l => {\r\n            const parent = l.parentElement;\r\n            l.innerHTML = '';\r\n\r\n            addElementsFromArray(l, this.getSelectedFilterItems(inputs));\r\n            addToElement(parent, l);\r\n        });\r\n\r\n        inputs[0] && inputs[0].dispatchEvent(new CustomEvent('change'));\r\n\r\n        if (this.activeFilterItemsArr.length > 0) {\r\n            this.deleteAllBtns.forEach(b => {\r\n                b.style.display = 'inline';\r\n            });\r\n\r\n            this.activeTagsFiltersWrapper.style.marginBottom = '32px'\r\n        } else {\r\n            this.deleteAllBtns.forEach(b => {\r\n                b.style.display = 'none';\r\n            });\r\n\r\n            this.activeTagsFiltersWrapper.style.marginBottom = '';\r\n        }\r\n\r\n        if (this.activeFilterItemsArr.length >= 2) {\r\n            let showAllBtn = createElementFromString(`<span class=\"nx-active-filters__item nx-act-filter nx-act-filter__show-all-btn\">...</span>`);\r\n\r\n            showAllBtn.addEventListener('click', () => this.showAllActiveFilters());\r\n            addToElement(filterListTags, showAllBtn);\r\n        }\r\n\r\n        return this;\r\n    }\r\n\r\n    showAllActiveFilters() {\r\n        let activeFilters = Array.from(<NodeListOf<HTMLElement>>document.querySelectorAll(`${this.options.outerSelector} ${this.options.actFlItemSelector}`));\r\n        activeFilters.forEach(el => el.removeAttribute('data-hidden'));\r\n    }\r\n\r\n    setUpdateCallback(cb: Callback): ActiveFilterSection {\r\n        this.options.updateCB = cb;\r\n        return this;\r\n    }\r\n}","import LayerBasic, { BasicLayerOptions } from './LayerBasic';\r\nimport { Optional } from '../typings/mapped-types';\r\nimport {\r\n    getOptions,\r\n    requestAnimationFrameTimer,\r\n    requestNextAnimationFrame,\r\n    IOSScroll,\r\n} from '../helpers/helperFunctions';\r\nimport {\r\n    addClass,\r\n    addClasses,\r\n    removeClasses,\r\n} from '../helpers/DOMHelpers';\r\n\r\nconst spinnerClasses = ['nx-u-spinner', 'nx-u-spinner--medium'];\r\n\r\nexport interface LayerAdvanceOptions extends BasicLayerOptions {\r\n    beforeOpen: AsyncCallback;\r\n    afterOpen: AsyncCallback;\r\n    beforeClose: AsyncCallback;\r\n    afterClose: AsyncCallback;\r\n}\r\n\r\nexport default class LayerAdvance extends LayerBasic {\r\n    protected options: LayerAdvanceOptions;\r\n\r\n    constructor(element: HTMLElement, options: Optional<LayerAdvanceOptions> = {}) {\r\n        super(element, options);\r\n\r\n        this.options = getOptions(this.element, this.options);\r\n\r\n        this.init();\r\n    }\r\n\r\n    protected getDefaultOptions(): Optional<LayerAdvanceOptions> {\r\n        const defOptions = super.getDefaultOptions();\r\n\r\n        return {\r\n            ...defOptions,\r\n            layerModifierClasses: `${defOptions.layerMainClass}--page`,\r\n            layerCloseBtnModifierClass: `${defOptions.layerMainClass}__close-btn--page`,\r\n            layerCloseIconClass: `${defOptions.layerCloseIconClass} nx-close-icon--thin`,\r\n            beforeOpen: async () => { await window.NiveaX.initModules(); },\r\n            afterOpen: async () => { },\r\n            beforeClose: async () => { },\r\n            afterClose: async () => { },\r\n        };\r\n    }\r\n\r\n    protected get isOpen(): boolean {\r\n        return document.body.contains(this.layer);\r\n    }\r\n\r\n    showSpinner(): LayerAdvance {\r\n        addClasses(this.layer.querySelector('.nx-layer__wrapper'), ...spinnerClasses);\r\n\r\n        if (!this.isOpen) IOSScroll.prevent(true);\r\n        super.open();\r\n\r\n        return this;\r\n    }\r\n\r\n\r\n    async open(callback: Callback = () => { }): Promise<any> {\r\n        const {\r\n            layerMainClass,\r\n            beforeOpen,\r\n            afterOpen,\r\n        } = this.options;\r\n\r\n        await beforeOpen();\r\n\r\n        this.backButton();\r\n\r\n        if (!this.isOpen) IOSScroll.prevent(true);\r\n\r\n        removeClasses(this.layer.querySelector('.nx-layer__wrapper'), ...spinnerClasses);\r\n\r\n        super.open();\r\n\r\n        requestNextAnimationFrame(() => this.layer.classList.add(`${layerMainClass}--open`));\r\n\r\n        window.NiveaX.loadShopPrices();\r\n\r\n        await afterOpen();\r\n\r\n        callback();\r\n    }\r\n\r\n    async close(callback: Callback = () => { }): Promise<any> {\r\n        const {\r\n            layerMainClass,\r\n            beforeClose,\r\n            afterClose,\r\n        } = this.options;\r\n\r\n        await beforeClose();\r\n\r\n        sessionStorage.removeItem('layers');\r\n\r\n        addClass(this.layer, `${layerMainClass}--closing`);\r\n\r\n        requestAnimationFrameTimer(() => {\r\n            removeClasses(this.layer, `${layerMainClass}--open`, `${layerMainClass}--closing`);\r\n            super.close();\r\n        }, 400);\r\n\r\n        if (document.body.classList.contains('nx-u-lock-screen') || document.body.classList.contains('nx-u-prevent-scroll'))\r\n            IOSScroll.allow();\r\n\r\n        await afterClose();\r\n\r\n        callback();\r\n    }\r\n\r\n    backButton(){\r\n        let layersArray;\r\n        let layers;\r\n        let getLayers = sessionStorage.getItem('layers');\r\n\r\n        if (getLayers) {\r\n            layersArray = JSON.parse(getLayers);\r\n\r\n            if (layersArray.includes(location.hash)) {\r\n                let index = layersArray.findIndex(i => i == location.hash) + 1;\r\n                layersArray = layersArray.slice(0, index);\r\n                layers = [...layersArray]\r\n            } else {\r\n                layers = [...layersArray, location.hash]\r\n            }\r\n        } else {\r\n            layers = [location.hash]\r\n        }\r\n\r\n        sessionStorage.setItem('layers', `${JSON.stringify(layers)}`);\r\n\r\n        if (layers.length > 1) {\r\n            this.layer.classList.add('nx-layer--show-back-tbn');\r\n        } else {\r\n            this.layer.classList.remove('nx-layer--show-back-tbn');\r\n        }\r\n    }\r\n}\r\n","/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */\nimport * as tslib_1 from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function takeWhile(predicate, inclusive) {\n    if (inclusive === void 0) {\n        inclusive = false;\n    }\n    return function (source) {\n        return source.lift(new TakeWhileOperator(predicate, inclusive));\n    };\n}\nvar TakeWhileOperator = /*@__PURE__*/ (function () {\n    function TakeWhileOperator(predicate, inclusive) {\n        this.predicate = predicate;\n        this.inclusive = inclusive;\n    }\n    TakeWhileOperator.prototype.call = function (subscriber, source) {\n        return source.subscribe(new TakeWhileSubscriber(subscriber, this.predicate, this.inclusive));\n    };\n    return TakeWhileOperator;\n}());\nvar TakeWhileSubscriber = /*@__PURE__*/ (function (_super) {\n    tslib_1.__extends(TakeWhileSubscriber, _super);\n    function TakeWhileSubscriber(destination, predicate, inclusive) {\n        var _this = _super.call(this, destination) || this;\n        _this.predicate = predicate;\n        _this.inclusive = inclusive;\n        _this.index = 0;\n        return _this;\n    }\n    TakeWhileSubscriber.prototype._next = function (value) {\n        var destination = this.destination;\n        var result;\n        try {\n            result = this.predicate(value, this.index++);\n        }\n        catch (err) {\n            destination.error(err);\n            return;\n        }\n        this.nextOrComplete(value, result);\n    };\n    TakeWhileSubscriber.prototype.nextOrComplete = function (value, predicateResult) {\n        var destination = this.destination;\n        if (Boolean(predicateResult)) {\n            destination.next(value);\n        }\n        else {\n            if (this.inclusive) {\n                destination.next(value);\n            }\n            destination.complete();\n        }\n    };\n    return TakeWhileSubscriber;\n}(Subscriber));\n//# sourceMappingURL=takeWhile.js.map\n","import {\r\n    fromEvent,\r\n    of,\r\n    combineLatest,\r\n} from 'rxjs';\r\nimport {\r\n    takeUntil,\r\n    takeWhile,\r\n    switchMap,\r\n    filter,\r\n    map,\r\n    tap,\r\n} from 'rxjs/operators';\r\n\r\nimport LayerAdvance, { LayerAdvanceOptions } from './LayerAdvance';\r\nimport { Optional } from '../typings/mapped-types';\r\nimport { requestAnimationFrameTimer } from '../helpers/helperFunctions';\r\nimport { hasClass, objectToStyleString } from '../helpers/DOMHelpers';\r\n\r\nconst moduleSelector = '[data-module=\"LayerPage\"]';\r\n\r\nexport default class LayerPage extends LayerAdvance {\r\n    static setup(selector: string = moduleSelector): void {\r\n        Array.from(document.querySelectorAll(selector)).filter((node: HTMLElement) => !node.dataset.moduleInitialized).forEach((element: HTMLElement) => {\r\n            new LayerPage(element);\r\n            element.dataset.moduleInitialized = 'true';\r\n        });\r\n    }\r\n\r\n    constructor(element: HTMLElement, options: Optional<LayerAdvanceOptions> = {}) {\r\n        super(element, options);\r\n\r\n        this.listenToEvents();\r\n    }\r\n\r\n    protected getDefaultOptions(): Optional<LayerAdvanceOptions> {\r\n        const defOptions = super.getDefaultOptions();\r\n\r\n        return {\r\n            ...defOptions,\r\n            layerModifierClasses: `${defOptions.layerMainClass}--page`,\r\n            layerCloseBtnModifierClass: `${defOptions.layerMainClass}__close-btn--page`,\r\n            layerCloseIconClass: `${defOptions.layerCloseIconClass} nx-close-icon--thin`,\r\n            beforeOpen: async () => { await NiveaX.initModules(); },\r\n            afterOpen: async () => {\r\n             },\r\n            beforeClose: async () => { },\r\n            afterClose: async () => { },\r\n        };\r\n    }\r\n\r\n    private listenToEvents(): LayerPage {\r\n        const touchStart$ = fromEvent(this.layerContent, 'touchstart', { passive: true }).pipe(filter((e: TouchEvent) => e.target === e.currentTarget)),\r\n            touchEnd$ = fromEvent(document, 'touchend', { passive: true }).pipe(tap(() => requestAnimationFrame(() => this.wrapper.removeAttribute('style')))),\r\n            touchMove$ = fromEvent(document, 'touchmove', { passive: true }).pipe(map((e: TouchEvent) => e.changedTouches[0].clientY)),\r\n            { layerMainClass } = this.options;\r\n\r\n        const layerMove$ = touchStart$.pipe(\r\n            map((e: TouchEvent) => e.changedTouches[0].clientY),\r\n            switchMap(startY => combineLatest(of(startY), touchMove$)\r\n                .pipe(\r\n                    takeUntil(touchEnd$),\r\n                    takeWhile(() => !hasClass(this.layer, `${layerMainClass}--closing`))))\r\n        );\r\n\r\n        layerMove$.subscribe(([startY, moveY]) => {\r\n            const offsetHeight = document.documentElement.offsetHeight,\r\n                endPoint = offsetHeight * 0.3,\r\n                translateY = moveY - startY,\r\n                percentResult = translateY / endPoint;\r\n\r\n            const styles = {\r\n                transform: `translateY(${Math.max(translateY, 0)}px) scale(${Math.min(1 - (0.2 * percentResult), 1)})`,\r\n                transition: 'none',\r\n                overflow: 'hidden',\r\n                opacity: Math.min(1 - (0.6 * percentResult), 1),\r\n            }\r\n\r\n            if (percentResult < 1) {\r\n                this.wrapper.setAttribute('style', objectToStyleString(styles));\r\n            } else {\r\n                this.close();\r\n                requestAnimationFrameTimer(() => {\r\n                    this.wrapper.removeAttribute('style');\r\n                }, 300);\r\n            }\r\n        });\r\n\r\n        return this;\r\n    }\r\n\r\n    getLayerNode(): HTMLElement {\r\n        return this.layer;\r\n    }\r\n}\r\n\r\n// Hot Module Replacement\r\nif (module.hot) {\r\n    let nodesCache: HMRNodes[] = Array.from(document.querySelectorAll(moduleSelector)).map((element: Node) => ({ nodeToReplace: element, nodeOrigin: element.cloneNode(true) }));\r\n\r\n    LayerPage.setup(moduleSelector);\r\n\r\n    module.hot.accept(() => {\r\n        LayerPage.setup(moduleSelector);\r\n    });\r\n    module.hot.dispose(() => {\r\n        nodesCache.forEach(({ nodeToReplace, nodeOrigin }) => { nodeToReplace = nodeToReplace.parentElement.replaceChild(nodeOrigin.cloneNode(true), nodeToReplace) });\r\n    });\r\n} else {\r\n    LayerPage.setup(moduleSelector);\r\n}","/// <reference path=\"../typings/niveax.d.ts\"/>\r\nimport { addLayer } from '../ClassWithTracking/helpers';\r\nexport default class NivTFilter {\r\n    constructor(public element: Array<HTMLElement>) {\r\n        this.init();\r\n    }\r\n\r\n    init() {\r\n        this.element.forEach(filter => {\r\n            this.trackActiveFilter(filter.querySelector('.nx-act-filter__name').innerHTML, filter.dataset.parentName);\r\n        });\r\n    }\r\n\r\n    trackActiveFilter(eventAction: string, eventLabel: string) {\r\n        if (window.NiveaX.IsUAEnabled) {\r\n            addLayer({\r\n                event: 'ga_event',\r\n                eventCategory: 'Filter',\r\n                eventAction: eventAction,\r\n                eventLabel: eventLabel,\r\n                eventNonInteraction: false\r\n            });\r\n        }\r\n\r\n        if (window.NiveaX.IsGA4Enabled) {\r\n            addLayer({\r\n                event: 'ga4_event',\r\n                event_name: 'filter',\r\n                filter_type: eventAction,\r\n                filter_title: eventLabel,\r\n                _clear: true\r\n            });\r\n        }\r\n    }\r\n}"],"names":["moduleSelector","Filter","setup","selector","Array","from","document","querySelectorAll","filter","node","dataset","moduleInitialized","forEach","element","constructor","options","this","Object","assign","getDefaultOptions","filterBtn","querySelector","filterBtnSelector","filterTmplNode","filterTmplSelector","layer","getFilterLayer","init","loadAndInitFilterNavigation","hiddenLayerBeforeOpen","open","addHandlerOnFilterBtnClick","initFilterItems","getLayerNode","initActiveFilterSection","addHandlerOnFilterChange","addHandlerOnApplyBtnClick","addHandlerOnFilterLayerClick","visibleLayerAfterInit","beforeClose","async","resetFilterActionState","synchronize","insertContent","innerHTML","openFilterLayer","closeFilterLayer","close","style","opacity","filterItems","filterItemSelector","map","item","getAllActiveFilterItems","reduce","acc","fItm","concat","getCheckedFilters","sort","activeFilterSection","updateCB","updateCB1","synchronizeWithoutVisibilityChange","applyCB","reloadFilterAction","refreshActiveFilters","dispatchEvent","CustomEvent","updateAllFilterItems","refreshFilters","initFilterNavigation","FilterNavigation","filterNavigationSelector","updateFilterAction","then","default","onFilterChange","event","target","closest","checkboxSelector","addEventListener","applyBtnSelector","activeFilterItemsArr","saveFilterActionState","onLayerClick","currentFilterItem","closeExpander","bind","callbacks","update","updateFilterActionV2","updateV2","reload","saveState","resetState","getFilterLayerNode","ActiveFilterSection","list","getNodesFromLayerAndDOM","actFlListSelector","deleteAllBtns","actFlDeleteAllBtnSelector","activeTagsFiltersWrapper","outerSelector","addClickHandler","addHandlerOndeleteAllBtn","listArr","Set","getActiveFilterListItem","input","idx","activeFilterListItem","name","displayMaxActiveFilters","parentName","actFlItemNameSelector","inputElement","getSelectedFilterItems","inputs","inp","l","onActiveFilterListItemClick","listItem","parentElement","isOutOfLayer","filterNavigation","currentActiveHc","isLastLevelItem","id","removeActiveFilters","applyOnOuterSection","actFilterItem","isOuterSction","b","removeAllActiveFilters","preventDefault","actFItm","actFlItemSelector","filterListTags","parent","length","display","marginBottom","showAllBtn","showAllActiveFilters","el","removeAttribute","setUpdateCallback","cb","spinnerClasses","LayerAdvance","super","defOptions","layerModifierClasses","layerMainClass","layerCloseBtnModifierClass","layerCloseIconClass","beforeOpen","window","NiveaX","initModules","afterOpen","afterClose","isOpen","body","contains","showSpinner","callback","backButton","classList","add","loadShopPrices","sessionStorage","removeItem","layersArray","layers","getLayers","getItem","JSON","parse","includes","location","hash","index","findIndex","i","slice","setItem","stringify","remove","TakeWhileOperator","predicate","inclusive","prototype","call","subscriber","source","subscribe","TakeWhileSubscriber","_super","destination","_this","_next","value","result","err","error","nextOrComplete","predicateResult","Boolean","next","complete","Subscriber","LayerPage","listenToEvents","touchStart$","fromEvent","layerContent","passive","pipe","e","currentTarget","touchEnd$","tap","requestAnimationFrame","wrapper","touchMove$","changedTouches","clientY","switchMap","startY","combineLatest","of","takeUntil","lift","moveY","translateY","percentResult","documentElement","offsetHeight","styles","transform","Math","max","min","transition","overflow","setAttribute","NivTFilter","trackActiveFilter","eventAction","eventLabel","IsUAEnabled","eventCategory","eventNonInteraction","IsGA4Enabled","event_name","filter_type","filter_title","_clear"],"sourceRoot":""}