{"version":3,"sources":["webpack:///./src/project/product/product-tile/ProductRelationSearchControl.vue?707a","webpack:///./src/project/product/product-tile/ProductRelationSearchControl.vue","webpack:///./src/project/modals/overlays/ProductAccessoriesCategoryOverlay.service.ts","webpack:///./src/project/product/product-tile/ProductRelationSearchControl.vue?f756","webpack:///./src/project/product/product-tile/ProductRelationSearchControl.vue?604c","webpack:///./src/core/ui-components/tabs/Tab.vue?3c1b","webpack:///./src/core/ui-components/tabs/Tab.vue","webpack:///./src/core/ui-components/tabs/Tab.vue?57b9","webpack:///./src/core/ui-components/tabs/Tab.vue?7f28","webpack:///./src/core/ui-components/tabs/Tabs.vue?37c8","webpack:///./src/core/ui-components/tabs/Tabs.vue","webpack:///./src/core/ui-components/tabs/Tabs.vue?e940","webpack:///./src/core/ui-components/tabs/Tabs.vue?35b9","webpack:///./src/project/product/condensed/CondensedProductList.vue?bc88","webpack:///./src/project/product/condensed/CondensedProductList.vue","webpack:///./src/project/product/condensed/CondensedProductList.vue?4313","webpack:///./src/project/product/condensed/CondensedProductList.vue?b4f7","webpack:///./src/project/product/condensed/CondensedProductList.vue?48a1","webpack:///./src/core/modals/AbstractModalService.ts"],"names":["ProductRelationType","render","_vm","this","_h","$createElement","_c","_self","searchResult","categoryFacet","values","length","staticClass","_v","_s","$dictionary","get","totalProducts","toString","attrs","on","clickShowCategoryFilter","_e","_t","getProductsResult","hasMorePages","handleNextPage","staticRenderFns","categories","options","showModal","component","componentAttrs","placement","usePanelWrapper","closeOnRouteChange","closeOnBreakpointChange","AbstractModalService","accessoriesPageSize","searching","fromNumber","toNumber","filter","v","selected","map","key","products","isSearching","$emit","relationType","allowSearch","setSearching","similarAlternatives","product","productId","getCategoryIds","exactAlternatives","accessories","result","Object","freeze","HttpCancelError","show","facetValues","resetPaging","search","type","String","required","Boolean","default","immediate","directives","name","rawName","value","expression","active","hash","getHash","setHash","class","headerClass","_l","tab","activeTab","$event","toggle","contentClass","tabs","bus","emit","$children","x","$options","find","isActive","setup","isFirstBlock","headlineClasses","headline","trackingListName","scopedSlots","_u","fn","ref","productImpression","productClick","id","sliderOptions","index","viewed","productColor","prevButtonSelector","slot","nextButtonSelector","itemId","undefined","listViewPageSize","page","slidesPerView","rendered","activeBreakpoint","p","productBgColor","toLowerCase","Date","valueOf","newBreakpoint","getActiveBreakpoint","setSlidesPerView","$nextTick","addListener","handleBreakpointChange","removeListener","isBreakpointActive","spaceBetween","slidesPerGroup","loop","loopFillGroupWithBlank","watchSlidesVisibility","watchOverflow","setWrapperSize","navigation","nextEl","prevEl","grabCursor","instanceName","observer","observeParents","observeSlideChildren","Array","Number","components","ProductListTracker","SmartHeadline","baseOptions","disableBodyScroll","contentAutoScroll","contentMaxHeight","showCloseButton","disableUserClose","singleton","wide","closeButtonPosition","modalListeners","deferred","modalOptions","getOptions","hideModals","setActiveModal","state","promise"],"mappings":"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","file":"js/chunk-1904fd50.5c8a0895.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.searchResult && _vm.searchResult.categoryFacet.values.length > 1)?_c('div',{staticClass:\"lg:flex mb-10\"},[_c('div',{staticClass:\"lg:h-40 lg:flex items-center lg:pb-2\"},[_c('span',{staticClass:\"text-13 lg:text-14 font-bold\"},[_vm._v(\" \"+_vm._s(_vm.$dictionary.get('Product.Relations.FilterCategories.FilterSummary', [_vm.searchResult.totalProducts.toString(), _vm.searchResult.categoryFacet.values.length.toString()]))+\" \")])]),_c('CallToAction',{staticClass:\"cta--link cta-icon--16 mr-auto\",attrs:{\"text\":_vm.$dictionary.get('Product.Relations.FilterCategories'),\"icon\":\"filters\"},on:{\"click\":_vm.clickShowCategoryFilter}})],1):_vm._e(),_vm._t(\"default\",null,{\"products\":_vm.getProductsResult}),(_vm.searchResult && _vm.searchResult.hasMorePages)?_c('div',{staticClass:\"flex\"},[_c('CallToAction',{staticClass:\"cta--link cta-icon--16 mx-auto\",attrs:{\"text\":_vm.$dictionary.get('Product.Relations.ShowMore'),\"icon\":\"plus-big\"},on:{\"click\":_vm.handleNextPage}})],1):_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Vue, Component, Prop, Watch } from 'vue-property-decorator';\r\nimport Api from '@/project/http/Api.service';\r\nimport {\r\n ReferencedProductsViewModel, FacetValueViewObject\r\n} from '@/types/apiServerContract';\r\nimport { HttpCancelError } from '@/core/http/HttpCancelError';\r\nimport ProductAccessoriesCategoryOverlayService\r\n from '@/project/modals/overlays/ProductAccessoriesCategoryOverlay.service';\r\nexport enum ProductRelationType {\r\n 'accessories' = 'accessories',\r\n 'exactAlternatives' = 'exactAlternatives',\r\n 'similarAlternatives' = 'similarAlternatives',\r\n}\r\nconst accessoriesPageSize = 5;\r\n@Component\r\nexport default class ProductAccessoriesSearchControl extends Vue {\r\n @Prop({ type: String, required: true })\r\n productId!: string;\r\n\r\n @Prop({ type: Boolean, default: true })\r\n allowSearch!: boolean;\r\n\r\n @Prop({ type: String, default: ProductRelationType.accessories })\r\n relationType!: string;\r\n\r\n searchResult: ReferencedProductsViewModel | null = null;\r\n searching = false;\r\n fromNumber: number = 0;\r\n toNumber: number = accessoriesPageSize;\r\n\r\n getCategoryIds(): string[] {\r\n return (this.searchResult?.categoryFacet.values.filter(v => v.selected) ?? [])?.map(v => v.key);\r\n }\r\n\r\n get getProductsResult() {\r\n return this.searchResult?.products || [];\r\n }\r\n\r\n setSearching(isSearching: boolean) {\r\n this.searching = isSearching;\r\n if (!isSearching) {\r\n this.$emit('loaded', this.relationType);\r\n }\r\n }\r\n\r\n async search() {\r\n if (!this.allowSearch || this.searching) return;\r\n\r\n this.setSearching(true);\r\n try {\r\n const result = this.relationType === ProductRelationType.similarAlternatives\r\n ? await Api.product.similarAlternatives(this.productId, this.getCategoryIds(), this.fromNumber, this.toNumber)\r\n : this.relationType === ProductRelationType.exactAlternatives ? await Api.product.exactAlternatives(this.productId, this.getCategoryIds(), this.fromNumber, this.toNumber)\r\n : await Api.product.accessories(this.productId, this.getCategoryIds(), this.fromNumber, this.toNumber);\r\n this.searchResult = Object.freeze(result);\r\n\r\n this.setSearching(false);\r\n } catch (error) {\r\n if (error instanceof HttpCancelError) {\r\n // Ok - cancelled by newer request\r\n } else {\r\n this.setSearching(false);\r\n throw error;\r\n }\r\n }\r\n }\r\n\r\n async clickShowCategoryFilter() {\r\n const facetValues = await ProductAccessoriesCategoryOverlayService.show(this.searchResult?.categoryFacet.values || []) as FacetValueViewObject[];\r\n if (this.searchResult && facetValues) {\r\n this.resetPaging(); // always reset paging, facetValues will be undefined if modal is canceled\r\n this.searchResult.categoryFacet.values = facetValues;\r\n this.search();\r\n }\r\n }\r\n\r\n handleNextPage() {\r\n this.toNumber = this.toNumber + accessoriesPageSize;\r\n this.search();\r\n }\r\n\r\n resetPaging() {\r\n this.fromNumber = 0;\r\n this.toNumber = accessoriesPageSize;\r\n }\r\n\r\n @Watch('allowSearch')\r\n onAllowSearchChange() {\r\n if (this.allowSearch) {\r\n this.search();\r\n }\r\n }\r\n\r\n @Watch('productId', {\r\n immediate: true\r\n })\r\n onProductIdChange() {\r\n this.search();\r\n }\r\n\r\n mounted() {\r\n this.resetPaging();\r\n this.search();\r\n }\r\n}\r\n","import { AbstractModalService } from '@/core/modals/AbstractModalService';\r\nimport { ModalOptions } from '@/core/modals/ModalState';\r\nimport { FacetValueViewObject } from '@/types/apiServerContract';\r\n\r\nclass ProductAccessoriesCategroyOverlayService extends AbstractModalService {\r\n public show(\r\n categories: FacetValueViewObject[] | null,\r\n options?: Partial\r\n ) {\r\n return this.showModal({\r\n component: () => import(\r\n /* webpackPrefetch: true */\r\n '@/project/product/product-tile/ProductAccessoriesCategoryOverlay.vue'),\r\n componentAttrs: {\r\n categories\r\n },\r\n options: {\r\n placement: 'center',\r\n usePanelWrapper: false,\r\n closeOnRouteChange: true,\r\n closeOnBreakpointChange: true,\r\n ...options\r\n }\r\n });\r\n }\r\n}\r\n\r\nexport default new ProductAccessoriesCategroyOverlayService();\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductRelationSearchControl.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductRelationSearchControl.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProductRelationSearchControl.vue?vue&type=template&id=6aa2b6f2&\"\nimport script from \"./ProductRelationSearchControl.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProductRelationSearchControl.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.keepAlive)?_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.active),expression:\"active\"}]},[_vm._t(\"default\")],2):(_vm.active)?_c('div',[_vm._t(\"default\")],2):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\r\nimport { Vue, Component, Prop } from 'vue-property-decorator';\r\nimport ITab from './ITab';\r\nimport urlHelperService from '@/core/urlHelper.service';\r\n\r\n@Component({\r\n name: 'Tab'\r\n})\r\nexport default class Tab extends Vue implements ITab {\r\n @Prop({ type: String, required: true }) name!: string;\r\n @Prop({ type: String }) hash!: string;\r\n @Prop({ type: Boolean, default: false }) selected!: boolean;\r\n @Prop({ type: Boolean, default: false }) keepAlive!: boolean;\r\n\r\n active: boolean = this.selected;\r\n\r\n toggle(active: boolean) {\r\n this.active = active;\r\n\r\n if (active && this.hash) {\r\n if (urlHelperService.getHash() !== this.hash) {\r\n urlHelperService.setHash(this.hash);\r\n }\r\n }\r\n }\r\n\r\n get isActive() {\r\n return this.active;\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tab.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tab.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Tab.vue?vue&type=template&id=57332680&\"\nimport script from \"./Tab.vue?vue&type=script&lang=ts&\"\nexport * from \"./Tab.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('div',{staticClass:\"tab-header flex-shrink-0\"},[_c('div',{staticClass:\"flex flex-row flex-wrap\",class:_vm.headerClass},_vm._l((_vm.tabs),function(tab){return _c('button',{key:tab.name,staticClass:\"tab-button cursor-pointer\",class:{ 'active': tab.name === _vm.activeTab.name },attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.toggle(tab.name)}}},[_vm._t(\"header\",function(){return [_vm._v(\" \"+_vm._s(tab.name)+\" \")]},{\"title\":tab.name,\"active\":tab.name === _vm.activeTab.name})],2)}),0)]),_vm._t(\"sub-content\"),_c('div',{staticClass:\"tab-content\",class:_vm.contentClass},[_vm._t(\"default\")],2)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Vue, Component, Prop } from 'vue-property-decorator';\r\nimport Tab from './Tab.vue';\r\nimport urlHelperService from '@/core/urlHelper.service';\r\nimport bus from '@/core/bus';\r\nimport { ProductTrackerProcessBatchKey } from '@/project/tracking/gtm/ProductListTracker.vue';\r\n\r\n@Component\r\nexport default class TabsContainer extends Vue {\r\n activeTab: Tab | null = null;\r\n\r\n tabs: Tab[] = []\r\n\r\n @Prop(String) headerClass!: string\r\n @Prop(String) contentClass!: string\r\n\r\n toggle(name: string) {\r\n if (this.activeTab && this.activeTab.name !== name) {\r\n this.$emit('changed', name);\r\n }\r\n\r\n for (const tab of this.tabs) {\r\n if (tab.name === name) {\r\n this.activeTab = tab;\r\n tab.toggle(true);\r\n } else {\r\n tab.toggle(false);\r\n }\r\n }\r\n bus.emit(ProductTrackerProcessBatchKey);\r\n }\r\n\r\n setup() {\r\n this.tabs = this.$children.filter(x => x.$options.name === 'Tab') as Tab[];\r\n if (this.tabs.length === 0) {\r\n return;\r\n }\r\n\r\n const hash = urlHelperService.getHash();\r\n if (hash) {\r\n const activeTab = this.tabs.find(x => x.hash === hash);\r\n if (activeTab) {\r\n this.activeTab = activeTab;\r\n activeTab.toggle(true);\r\n }\r\n }\r\n\r\n if (!this.activeTab) {\r\n for (const tab of this.tabs) {\r\n if (tab.isActive) {\r\n this.activeTab = tab;\r\n break;\r\n }\r\n }\r\n\r\n // Always show atleast 1 tab\r\n if (!this.activeTab) {\r\n const activeTab = this.tabs[0];\r\n this.activeTab = activeTab;\r\n activeTab.toggle(true);\r\n }\r\n }\r\n\r\n this.$emit('init', this.activeTab.name);\r\n }\r\n\r\n mounted() {\r\n this.setup();\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tabs.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tabs.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Tabs.vue?vue&type=template&id=36979eda&\"\nimport script from \"./Tabs.vue?vue&type=script&lang=ts&\"\nexport * from \"./Tabs.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.headline)?_c('SmartHeadline',{staticClass:\"mb-10 only-xs:ml-20 only-xs:mb-20\",class:[{ 'mt-20': _vm.isFirstBlock }, _vm.headlineClasses],attrs:{\"level\":_vm.isFirstBlock ? 'h1' : 'h2',\"style-as-h1\":_vm.isFirstBlock}},[_vm._v(\" \"+_vm._s(_vm.headline)+\" \")]):_vm._e(),_c('ProductListTracker',{staticClass:\"relative w-full\",attrs:{\"products\":_vm.products,\"list-name\":_vm.trackingListName},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar productImpression = ref.productImpression;\nvar productClick = ref.productClick;\nreturn [(_vm.useSwiper)?[(_vm.rendered)?_c('Swiper',{class:'swiper-' + _vm.id,attrs:{\"id\":_vm.id,\"instance-name\":_vm.id,\"options\":_vm.sliderOptions}},_vm._l((_vm.products),function(product,index){return _c('SwiperSlide',{key:index,staticClass:\"condensed-product-tile-outer\"},[_c('Interceptor',{attrs:{\"threshold\":0.5},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar viewed = ref.viewed;\nreturn [(viewed)?_c('ProductTile',{class:_vm.productColor,attrs:{\"mode\":\"vertical\",\"product\":product,\"number-of-stock-labels\":1,\"product-click\":productClick,\"tracking-list-name\":_vm.trackingListName,\"relation-type\":_vm.relationType},on:{\"productImpression\":productImpression}}):_vm._e()]}}],null,true)})],1)}),1):_vm._e(),_c('button',{staticClass:\"custom-swiper-button-prev hidden md:block\",class:_vm.prevButtonSelector,attrs:{\"slot\":\"button-prev\",\"type\":\"button\"},slot:\"button-prev\"},[_c('CIcon',{attrs:{\"name\":\"arrow-thin-left\",\"width\":\"25\",\"height\":\"25\"}})],1),_c('button',{staticClass:\"custom-swiper-button-next hidden md:block\",class:_vm.nextButtonSelector,attrs:{\"slot\":\"button-next\",\"type\":\"button\"},slot:\"button-next\"},[_c('CIcon',{attrs:{\"name\":\"arrow-thin-right\",\"width\":\"25\",\"height\":\"25\"}})],1)]:_c('div',[_vm._l((_vm.listViewProducts),function(product,index){return _c('div',{key:index + ':' + product.itemId,staticClass:\"mb-10\",class:_vm.productColor},[_c('ProductTile',{attrs:{\"product\":product,\"nested\":\"\",\"number-of-stock-labels\":1,\"mode\":\"horizontal-tiny\",\"product-click\":productClick,\"relation-type\":_vm.relationType,\"tracking-list-name\":_vm.trackingListName},on:{\"productImpression\":productImpression}})],1)}),(_vm.listViewPageSize !== undefined && _vm.products.length > _vm.page * _vm.listViewPageSize)?_c('div',{staticClass:\"flex\"},[_c('CallToAction',{staticClass:\"cta--link cta-icon--16 mx-auto\",attrs:{\"text\":_vm.$dictionary.get('Product.Relations.ShowMore'),\"icon\":\"plus-big\"},on:{\"click\":_vm.handleNextPage}})],1):_vm._e()],2)]}}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Component from 'vue-class-component';\r\nimport { Prop, Vue } from 'vue-property-decorator';\r\nimport ProductListTracker from '@/project/tracking/gtm/ProductListTracker.vue';\r\nimport { ProductTileViewObject } from '@/types/apiServerContract';\r\nimport SmartHeadline from '@/core/ui-components/SmartHeadline.vue';\r\nimport { ProductRelationType } from './constants';\r\nimport breakpointState from '@/core/responsive/breakpoints/breakpointsState.observable';\r\nimport { MIN_LG } from '@/core/config/breakpointConfig';\r\nimport breakpointService from '@/core/responsive/breakpoints/breakpoints.service';\r\n\r\n@Component({\r\n components: { ProductListTracker, SmartHeadline }\r\n})\r\nexport default class CondensedProductList extends Vue {\r\n @Prop({\r\n required: true,\r\n type: Array\r\n })\r\n products!: ProductTileViewObject[];\r\n\r\n @Prop({\r\n required: true,\r\n type: String\r\n }) trackingListName!: string;\r\n\r\n @Prop({\r\n required: false,\r\n type: String,\r\n default: null\r\n }) headline!: string | null;\r\n\r\n @Prop({\r\n required: false,\r\n type: String,\r\n default: 'text-18 md:text-36 font-regular'\r\n })\r\n headlineClasses!: string;\r\n\r\n @Prop({\r\n required: false,\r\n type: Boolean,\r\n default: false\r\n }) isFirstBlock!: boolean;\r\n\r\n @Prop({\r\n required: false,\r\n type: String,\r\n default: null\r\n }) productBgColor!: string | null;\r\n\r\n @Prop({\r\n required: false,\r\n type: String,\r\n default: null\r\n }) relationType!: ProductRelationType | null;\r\n\r\n @Prop({\r\n type: Boolean,\r\n default: false\r\n }) useSwiper!: boolean;\r\n\r\n @Prop({\r\n type: Number\r\n }) listViewPageSize!: number | undefined;\r\n\r\n page: number = 1;\r\n slidesPerView: 6 | 'auto' = 6; // Desktop (LG and XL) 6, else 'auto'\r\n rendered: boolean = false;\r\n activeBreakpoint: string = '';\r\n\r\n get listViewProducts() {\r\n return this.products.filter((p, index) => this.listViewPageSize === undefined || index < this.page * this.listViewPageSize);\r\n }\r\n\r\n handleNextPage() {\r\n this.page++;\r\n }\r\n\r\n get productColor() {\r\n if (!this.productBgColor) return '';\r\n\r\n switch (this.productBgColor.toLowerCase()) {\r\n case 'white':\r\n return 'bg-white';\r\n case 'gray':\r\n return 'bg-gray-300';\r\n }\r\n }\r\n\r\n get id() {\r\n return new Date().valueOf();\r\n }\r\n\r\n get prevButtonSelector() {\r\n return 'custom-swiper-button-prev-' + this.id;\r\n }\r\n\r\n get nextButtonSelector() {\r\n return 'custom-swiper-button-next-' + this.id;\r\n }\r\n\r\n handleBreakpointChange() {\r\n const newBreakpoint = breakpointService.getActiveBreakpoint();\r\n if (newBreakpoint !== this.activeBreakpoint) {\r\n this.activeBreakpoint = newBreakpoint;\r\n this.rendered = false;\r\n this.setSlidesPerView();\r\n this.$nextTick(() => this.rendered = true);\r\n }\r\n }\r\n\r\n mounted() {\r\n this.activeBreakpoint = breakpointService.getActiveBreakpoint();\r\n breakpointService.addListener(this.handleBreakpointChange);\r\n this.setSlidesPerView();\r\n this.$nextTick(() => {\r\n this.rendered = true;\r\n });\r\n }\r\n\r\n destroyed() {\r\n breakpointService.removeListener(this.handleBreakpointChange);\r\n }\r\n\r\n setSlidesPerView() {\r\n this.slidesPerView = breakpointState.isBreakpointActive(MIN_LG) ? 6 : 'auto';\r\n }\r\n\r\n get sliderOptions() {\r\n return {\r\n spaceBetween: 10,\r\n slidesPerView: this.slidesPerView,\r\n slidesPerGroup: 1,\r\n loop: false,\r\n loopFillGroupWithBlank: false,\r\n watchSlidesVisibility: true,\r\n watchOverflow: true,\r\n setWrapperSize: true,\r\n navigation: {\r\n nextEl: '.' + this.nextButtonSelector,\r\n prevEl: '.' + this.prevButtonSelector\r\n },\r\n grabCursor: true,\r\n instanceName: this.id,\r\n observer: true,\r\n observeParents: true,\r\n observeSlideChildren: true\r\n };\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CondensedProductList.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CondensedProductList.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CondensedProductList.vue?vue&type=template&id=589c5ca0&scoped=true&\"\nimport script from \"./CondensedProductList.vue?vue&type=script&lang=ts&\"\nexport * from \"./CondensedProductList.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./CondensedProductList.vue?vue&type=style&index=0&id=589c5ca0&lang=less&scoped=true&\"\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 \"589c5ca0\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CondensedProductList.vue?vue&type=style&index=0&id=589c5ca0&lang=less&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../../node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CondensedProductList.vue?vue&type=style&index=0&id=589c5ca0&lang=less&scoped=true&\"","import Deferred from '@/core/async/Deferred';\r\nimport UUID from '@/core/uuid.service';\r\nimport { ComponentType, ModalOptions, ModalState } from './ModalState';\r\n\r\nconst baseOptions: ModalOptions = {\r\n disableBodyScroll: true,\r\n contentAutoScroll: true,\r\n contentMaxHeight: true,\r\n showCloseButton: true,\r\n disableUserClose: false,\r\n placement: 'center',\r\n singleton: true,\r\n usePanelWrapper: true,\r\n wide: false,\r\n closeOnRouteChange: true,\r\n closeOnBreakpointChange: true,\r\n closeButtonPosition: null\r\n};\r\n\r\nexport abstract class AbstractModalService {\r\n public abstract show(...aggs: any[]);\r\n\r\n protected async showModal({ component, componentAttrs, modalListeners, options }:\r\n { component: ComponentType; componentAttrs: any; modalListeners?: any; options?: Partial }): Promise {\r\n const deferred = new Deferred();\r\n\r\n const modalOptions = this.getOptions(options);\r\n\r\n if (modalOptions?.singleton) {\r\n await ModalState.hideModals();\r\n }\r\n\r\n ModalState.setActiveModal({\r\n id: UUID(),\r\n component: component,\r\n componentAttrs: componentAttrs,\r\n modalListeners: modalListeners,\r\n deferred: deferred,\r\n state: 'entering',\r\n ...modalOptions\r\n });\r\n\r\n return deferred.promise;\r\n }\r\n\r\n private getOptions(options?: Partial) : ModalOptions {\r\n options = {\r\n ...baseOptions,\r\n ...options\r\n };\r\n return options as ModalOptions;\r\n }\r\n}\r\n"],"sourceRoot":""}