{"version":3,"file":"js/app.6dc0942a8cbc17b299f2.js","mappings":"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","sources":["webpack:///./resources/area/web/default/js/components/catalog/filter/SwatchFilter.vue?798c","webpack:///./resources/area/web/default/js/components/catalog/filter/BaseFilter.ts","webpack:///./resources/area/web/default/js/components/catalog/filter/SwatchFilter.vue","webpack:///./resources/area/web/default/js/components/catalog/filter/SwatchFilter.vue?3d87","webpack:///./resources/area/web/default/js/components/catalog/filter/SwatchFilter.vue?b595"],"sourcesContent":["\nimport {Component} from 'vue-property-decorator';\nimport BaseFilter from \"./BaseFilter\";\n\n@Component({\n  name: 'swatch-filter'\n})\n\nexport default class extends BaseFilter {\n  public created(): void {\n    super.created();\n    this.filtersToShow = 25;\n  }\n\n  protected async toggleFilterStatus(option: object): Promise<void> {\n    await this.$store.dispatch(`${this.dataSource}/toggleFilter`, { filter: this.filter, option })\n  }\n\n  private optionWhite(o): string {\n    return ['#ffffff', '#fff'].includes((o.color_code || '').toLowerCase()) || o.label.toLowerCase().includes('wit') || o.label.toLowerCase().includes('white');\n  }\n\n  private get swatchType(): string {\n    return this.filter['renderer'].includes('text') ? 'text' : 'color';\n  }\n\n  private replaceSizeText(size: string): string {\n    const searchChunks = ['1/2', '2/3', '1/3', '1/4', '3/4'];\n    const replaceChunks = ['½', '⅔', '⅓', '¼', '¾'];\n\n    for (let i = 0; i < searchChunks.length; i++) {\n      if (size.includes(searchChunks[i])) {\n        return size.replace(searchChunks[i], replaceChunks[i]);\n      }\n    }\n\n    return size;\n  }\n}\n","import {Prop, Vue} from \"vue-property-decorator\";\n\nexport default class extends Vue {\n  @Prop() readonly dataSource: string;\n  @Prop() readonly filter!: object;\n\n  private splitColumns: boolean = false;\n  public filtersToShow: number = 0;\n  private smallBreakpoint: number = 768;\n  private filterCollapsed: boolean = false;\n  private filterOpen: boolean = true;\n\n  public created(): void {\n    this.splitColumns = (this.filter['layout'] || '') === '2columns';\n    this.filtersToShow = this.splitColumns ? 10 : 5;\n    this.filterCollapsed = this.filter['options'].length > this.filtersToShow;\n    this.filterOpen = window.outerWidth >= this.smallBreakpoint;\n    this.filtersToShow = window.outerWidth >= this.smallBreakpoint ? this.filtersToShow : this.filter['options'].length;\n  }\n\n  protected async toggleFilterStatus(option): Promise<void> {\n    await this.$store.dispatch(`${this.dataSource}/toggleFilter`, {filter: this.filter, option: option});\n    await this.$store.dispatch('InlineFilters/updateInlineFilters', {filter: this.filter, remove: this.isActive});\n    await this.scrollToTop();\n  }\n\n  protected setApiPendingState(newState: boolean): void {\n    this.$store.commit('CatalogCategory/SET_API_RESPONSE_PENDING', newState);\n  }\n\n  private toggleFilterValueCollapse(): void {\n    this.filterCollapsed = !this.filterCollapsed;\n  }\n\n  private filterIsVisibleCheck(index): boolean {\n    return this.filterCollapsed ? index < this.filtersToShow : true;\n  }\n\n  private toggleFilterVisibility(e): void {\n    if (e.target.tagName === 'I') {\n      return;\n    }\n    this.filterOpen = !this.filterOpen;\n  }\n\n  private get isActive(): boolean {\n    return !!this.filter['options'].filter(o => o.active).length;\n  }\n\n  private setTooltip(title, tooltip): void {\n    this.$parent['tooltip'] = {\n      title: title,\n      tooltip: tooltip\n    };\n  }\n\n  protected async scrollToTop(): Promise<void> {\n    const scrollElement = document.getElementById('listContainer');\n    if (scrollElement) {\n      const headerOffset = 150;\n      const elementPosition = scrollElement.getBoundingClientRect().top;\n      const offsetPosition = elementPosition - headerOffset;\n      window.scrollTo({\n        top: offsetPosition,\n        behavior: 'smooth'\n      });\n    }\n  }\n\n  private get selectedOptions(): Array<string> {\n    return this.filter['options'].filter(o => o.active).map(o => o.label);\n  }\n\n  private get selectedOptionsString(): string {\n    if (this.selectedOptions.length > 2) {\n      return `${this.selectedOptions[0]}, ${this.selectedOptions[1]}, +${this.selectedOptions.length - 2}`;\n    }\n    return this.selectedOptions.join(', ');\n  }\n}\n","import { render, staticRenderFns } from \"./SwatchFilter.vue?vue&type=template&id=1fd1bb38&\"\nimport script from \"./SwatchFilter.vue?vue&type=script&lang=ts&\"\nexport * from \"./SwatchFilter.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!./SwatchFilter.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!./SwatchFilter.vue?vue&type=script&lang=ts&\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('dl',{class:{ '_visible': _vm.filterOpen }},[_c('dt',{on:{\"click\":function($event){return _vm.toggleFilterVisibility($event)}}},[_c('div',{staticClass:\"label__wrapper\"},[_vm._v(\"\\n      \"+_vm._s(_vm.filter['label'])+\"\\n      \"),(_vm.filter['tooltip'])?_c('button',{attrs:{\"data-toggle\":\"offCanvas-filter-popup\"},on:{\"click\":function($event){return _vm.setTooltip(_vm.filter['label'], _vm.filter['tooltip'])}}},[_c('i',{attrs:{\"role\":\"tooltip\",\"data-toggle\":\"offCanvas-filter-popup\"}},[_vm._v(\"i\")])]):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"active-label__wrapper show-for-small-only\"},[_vm._v(_vm._s(_vm.selectedOptionsString))])]),_vm._v(\" \"),_c('dd',[_c('div',{staticClass:\"modal__header show-for-small-only\"},[_c('span',{staticClass:\"--title\"},[_vm._v(_vm._s(_vm.filter['label']))]),_vm._v(\" \"),_c('button',{staticClass:\"close-button --back\",on:{\"click\":function($event){return _vm.toggleFilterVisibility($event)}}},[_c('span',{attrs:{\"aria-hidden\":\"true\"}})])]),_vm._v(\" \"),_c('ol',{staticClass:\"_swatch filter__attributes\",class:{'_columns' : _vm.splitColumns}},[_vm._l((_vm.filter.options),function(option,index){return [_c('li',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.filterIsVisibleCheck(index)),expression:\"filterIsVisibleCheck(index)\"}]},[(option['url_path'])?_c('a',{attrs:{\"href\":option['url_path']},on:{\"click\":function($event){$event.stopPropagation();return _vm.setApiPendingState(true)}}},[_c('label',{class:{ '_active': option.active, '--text': _vm.swatchType === 'text' }},[(_vm.swatchType === 'color')?_c('span',{staticClass:\"color\",class:{ '_white': _vm.optionWhite(option) },style:({ backgroundColor: option['color_code'] })}):_vm._e(),_vm._v(\" \"),_c('span',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.replaceSizeText(option.label)))])])]):_c('label',{class:{ '_active': option.active, '--text': _vm.swatchType === 'text' },on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.toggleFilterStatus(option)}}},[(_vm.swatchType === 'color')?_c('span',{staticClass:\"color\",class:{ '_white': _vm.optionWhite(option) },style:({ backgroundColor: option['color_code'] })}):_vm._e(),_vm._v(\" \"),_c('span',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.replaceSizeText(option.label)))])])])]})],2),_vm._v(\" \"),(_vm.filter['options'].length > _vm.filtersToShow)?_c('div',{staticClass:\"filter__actions\"},[_c('button',{class:{'--less' : ! _vm.filterCollapsed},attrs:{\"type\":\"button\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.toggleFilterValueCollapse()}}},[_vm._v(\"\\n        \"+_vm._s(_vm.filterCollapsed ? _vm.$t('More options') : _vm.$t('Less options'))+\"\\n      \")])]):_vm._e()])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"],"names":["created","super","this","filtersToShow","toggleFilterStatus","option","$store","dispatch","dataSource","filter","optionWhite","o","includes","color_code","toLowerCase","label","swatchType","replaceSizeText","size","searchChunks","replaceChunks","i","length","replace","Component","name","Vue","splitColumns","smallBreakpoint","filterCollapsed","filterOpen","window","outerWidth","remove","isActive","scrollToTop","setApiPendingState","newState","commit","toggleFilterValueCollapse","filterIsVisibleCheck","index","toggleFilterVisibility","e","target","tagName","active","setTooltip","title","tooltip","$parent","scrollElement","document","getElementById","headerOffset","offsetPosition","getBoundingClientRect","top","scrollTo","behavior","selectedOptions","map","selectedOptionsString","join","Prop","render","_vm","_c","_self","_setupProxy","class","on","$event","staticClass","_v","_s","attrs","_e","_l","directives","rawName","value","expression","stopPropagation","style","backgroundColor","preventDefault","$t","staticRenderFns"],"sourceRoot":""}