{"version":3,"file":"js/app.8482610e5f48fa518721.js","mappings":"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","sources":["webpack:///./resources/area/web/default/js/components/catalog/ProductFilterList.vue?f079","webpack:///./resources/area/web/default/js/components/catalog/ProductFilterList.vue","webpack:///./resources/area/web/default/js/components/catalog/ProductFilterList.vue?b857","webpack:///./resources/area/web/default/js/components/catalog/ProductFilterList.vue?0590"],"sourcesContent":["\nimport {Component, Vue, Prop, Watch} from 'vue-property-decorator';\nimport ServiceContainer from '@flashpointbv/solar-service-container';\nimport vToolTip from 'v-tooltip';\n\nVue.use(vToolTip);\n\n@Component({\n  name: 'product-filter-list',\n  components: {\n    ...ServiceContainer().getComponents(),\n    'off-canvas': () => import(/* webpackChunkName: \"off-canvas\" */ './../OffCanvas.vue'),\n  }\n})\n\nexport default class extends Vue {\n  @Prop({required: true}) readonly dataSource: string;\n  @Prop() readonly categoryName: string;\n  @Prop() readonly subCategories: Array<object>;\n  @Prop({default: 0}) richCategoryFilterCount: number;\n\n  private showData: boolean = false;\n  private tooltip: object = {\n    title: '',\n    content: '',\n  };\n\n  private get totalProductCount(): number {\n    return this.$store.getters[`${this.dataSource}/totalItemCount`];\n  }\n\n  private get filterList(): object[] {\n    return [\n      ...(this.$store.getters[`${this.dataSource}/filterList`] || []).filter(f => f.is_visible),\n    ];\n  }\n\n  private get activeFilterCount(): number {\n    return (this.$store.getters[`${this.dataSource}/activeFilters`].map(\n      f => f.options.filter(o => o.active).length\n    ).reduce((a, b) => a + b, 0) || 0);\n  }\n\n  @Watch('activeFilterCount')\n  private handleActiveFilterCountChange(nv, ov): void {\n    const widgetElements = document.getElementsByClassName('page-builder__wrapper');\n    widgetElements && [...widgetElements].forEach((el) => {\n      el.classList.toggle('--hidden', nv > this.richCategoryFilterCount);\n    });\n  }\n\n  private determineFilterComponent(filter: object): string {\n    if (filter['type'] === 'price') {\n      return 'price-filter';\n    }\n\n    if ((filter['renderer'] || '').includes('swatch')) {\n      return 'swatch-filter';\n    }\n\n    return 'attribute-filter';\n  }\n\n  private mounted(): void {\n    window.addEventListener('load', () => {\n      const catalogCategoryFilterPlaceholders = document.querySelector('.catalog__category-filter-placeholder');\n      if (catalogCategoryFilterPlaceholders) {\n        (catalogCategoryFilterPlaceholders as HTMLElement).style.display = 'none';\n      }\n      this.showData = true;\n    });\n\n    const widgetElements = document.getElementsByClassName('page-builder__wrapper');\n    if (this.activeFilterCount === this.richCategoryFilterCount) {\n      widgetElements && [...widgetElements].forEach((el) => {\n        el.classList.toggle('--hidden', false);\n      });\n    }\n  }\n\n  private hiddenAll(): void {\n    document.querySelectorAll('._visible').forEach((el) => {\n      el.classList.remove('_visible')\n    })\n  }\n}\n","import { render, staticRenderFns } from \"./ProductFilterList.vue?vue&type=template&id=14401e02&\"\nimport script from \"./ProductFilterList.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProductFilterList.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","import mod from \"-!../../../../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[0]!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductFilterList.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[0]!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductFilterList.vue?vue&type=script&lang=ts&\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showData),expression:\"showData\"}],staticClass:\"off-canvas in-canvas-for-medium position-left\",attrs:{\"id\":\"offCanvas-filter\",\"data-off-canvas\":\"\"}},[_c('div',{staticClass:\"modal__header show-for-small-only\"},[_c('span',{staticClass:\"--title\"},[_vm._v(_vm._s(_vm.$t('Filter')))]),_vm._v(\" \"),_vm._m(0)]),_vm._v(\" \"),_c('div',{staticClass:\"modal__content\"},[_c('catalog-category-sub-category-list',{attrs:{\"init-sub-categories\":_vm.subCategories,\"category-name\":_vm.categoryName}}),_vm._v(\" \"),(!! this.$slots['category-custom-links'])?_c('dl',{staticClass:\"catalog__category-custom-links\"},[_vm._t(\"category-custom-links\")],2):_vm._e(),_vm._v(\" \"),_vm._l((_vm.filterList),function(filter){return _c(_vm.determineFilterComponent(filter),{key:`product-filter-${filter['code']}`,tag:\"component\",attrs:{\"filter\":filter,\"data-source\":_vm.dataSource}})})],2),_vm._v(\" \"),_c('div',{staticClass:\"modal__footer\"},[_c('button',{staticClass:\"_button _cta show-for-small-only\",attrs:{\"data-close\":\"\"},on:{\"click\":function($event){return _vm.hiddenAll()}}},[_c('span',{attrs:{\"aria-hidden\":\"true\"},domProps:{\"textContent\":_vm._s(_vm.activeFilterCount > 0 ? _vm.$tc('Show {totalItems} results', _vm.totalProductCount, {totalItems: _vm.totalProductCount}) : _vm.$t('Show results'))}})])]),_vm._v(\" \"),_c('portal',{attrs:{\"to\":\"modals\"}},[_c('off-canvas',{attrs:{\"id\":\"offCanvas-filter-popup\",\"title\":_vm.tooltip['title']}},[_c('div',{staticClass:\"--content --table\",domProps:{\"innerHTML\":_vm._s(_vm.tooltip['tooltip'])}})])],1)],1)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('button',{staticClass:\"close-button\",attrs:{\"aria-label\":\"Close menu\",\"type\":\"button\",\"data-close\":\"\"}},[_c('span',{attrs:{\"aria-hidden\":\"true\"}})])\n}]\n\nexport { render, staticRenderFns }"],"names":["Vue","use","showData","tooltip","title","content","totalProductCount","this","$store","getters","dataSource","filterList","filter","f","is_visible","activeFilterCount","map","options","o","active","length","reduce","a","b","handleActiveFilterCountChange","nv","ov","widgetElements","document","getElementsByClassName","forEach","el","classList","toggle","richCategoryFilterCount","determineFilterComponent","includes","mounted","window","addEventListener","catalogCategoryFilterPlaceholders","querySelector","style","display","hiddenAll","querySelectorAll","remove","Prop","required","Array","default","Watch","Component","name","components","getComponents","render","_vm","_c","_self","_setupProxy","directives","rawName","value","expression","staticClass","attrs","_v","_s","$t","_m","subCategories","categoryName","$slots","_t","_e","_l","key","tag","on","$event","domProps","$tc","totalItems","staticRenderFns"],"sourceRoot":""}