{"version":3,"sources":["webpack:///./src/project/search/navigation/CategoryNameAndCount.vue?0a17","webpack:///./src/project/search/navigation/CategoryNameAndCount.vue","webpack:///./src/project/search/navigation/CategoryNameAndCount.vue?b23a","webpack:///./src/project/search/navigation/CategoryNameAndCount.vue?040d","webpack:///./src/project/search/navigation/CategoryNameAndCount.vue?e053","webpack:///./src/core/ui-components/Accordion.vue?9f43","webpack:///./src/core/ui-components/Accordion.vue","webpack:///./src/core/ui-components/Accordion.vue?4890","webpack:///./src/core/ui-components/Accordion.vue?e423","webpack:///./src/project/search/navigation/CategoryNavigationV1.vue?5672","webpack:///./src/project/search/navigation/CategoryNavigationV1.vue","webpack:///./src/project/search/navigation/CategoryNavigationV1.vue?40fd","webpack:///./src/project/search/navigation/CategoryNavigationV1.vue?7820","webpack:///./src/core/ui-components/Accordion.vue?c71e","webpack:///./src/project/app/client-pages/CategoryPageV1.vue?cd63","webpack:///./src/project/app/client-pages/CategoryPageV1.vue","webpack:///./src/project/app/client-pages/CategoryPageV1.vue?2263","webpack:///./src/project/app/client-pages/CategoryPageV1.vue?b055","webpack:///./src/core/ui-components/AnimateValue.vue?1eae","webpack:///./src/core/ui-components/AnimateValue.vue","webpack:///./src/core/ui-components/AnimateValue.vue?eac7","webpack:///./src/core/ui-components/AnimateValue.vue?6864"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","menuItem","_v","_s","_f","displayLabel","name","attrs","value","_e","staticRenderFns","productCount","hideProductCount","type","Object","default","Boolean","components","AnimateValue","component","tag","class","disabled","hideHeader","headerClass","on","toggle","_t","isExpanded","icon","setFixedHeight","setAutoHeight","bodyTag","directives","rawName","expression","expanded","e","allowToggle","multiple","$parent","$children","forEach","child","el","style","height","scrollHeight","String","campaignName","campaignCode","activeMenuItem","rootMenuItem","path","url","query","$route","_l","key","id","children","menuItems","required","Array","CategoryNameAndCount","accordion","categoryId","pageDataUrl","handlePageDataCallback","handleSearchResultCallback","scopedSlots","_u","fn","ref","SearchProductControl","isFeatureEnabled","ProductListingPageV2","previousCategoryId","isFirstRequest","delayLoaderTimer","searchResult","seoInformation","seoCategoryName","seoBreadcrumb","settings","departmentPage","pageUrl","pageData","activeCategory","getCategoryById","page","getPage","includes","pageKey","location","getLocationForPage","paramString","entries","map","val","join","setCanonicalUrl","window","servercontext","culture","setOpenGraphUrl","expectedCategoryUrl","siteInfo","setPrerenderRedirectUrlsIfLocationIsWrong","delay","uaIsPrerender","uaIsBot","setTimeout","loadMetadataForPage","category","getCategorySeoInformation","then","result","updatePageTitleAndDescription","getBreadCrumbForCategory","categoryValues","cat","catIndex","length","totalHits","seofyNumbers","totalResults","undefined","toString","labelValues","brand","brandName","results","titleLabelKey","title","get","titleFromPage","seoTitle","titleWithParams","getWithNamedValues","setTitle","descriptionLabelKey","description","descriptionFromPage","seoDescription","descriptionWithParams","setDescription","to","from","isSearching","trackGenericPageView","clearTimeout","immediate","CategoryTileBlock","CategoryNavigation"],"mappings":"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","file":"js/chunk-63d6a836.56b55655.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"flex w-full\"},[_c('span',{staticClass:\"text-left flex-1\"},[(_vm.menuItem.displayLabel)?[_vm._v(\" \"+_vm._s(_vm._f(\"t\")(_vm.menuItem.displayLabel))+\" \")]:[_vm._v(\" \"+_vm._s(_vm.menuItem.name)+\" \")]],2),(_vm.showValue)?_c('AnimateValue',{staticClass:\"text-gray-800 ml-3\",attrs:{\"value\":_vm.value}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from 'vue';\r\nimport { Component, Prop } from 'vue-property-decorator';\r\nimport { MenuItem } from '@/types/apiServerContract';\r\nimport AnimateValue from '@/core/ui-components/AnimateValue.vue';\r\nimport localeNumberFilter from '@/project/filters/localeNumber.filter';\r\n\r\n@Component({\r\n components: { AnimateValue }\r\n})\r\nexport default class CategoryNameAndCount extends Vue {\r\n @Prop({\r\n type: Object,\r\n default: 'string'\r\n })\r\n private menuItem!: MenuItem;\r\n\r\n @Prop({\r\n type: Boolean,\r\n default: false\r\n })\r\n private hideProductCount!: boolean;\r\n\r\n private get value() {\r\n return `(${localeNumberFilter(this.menuItem.productCount)})`;\r\n }\r\n\r\n private get showValue() {\r\n return !this.hideProductCount && typeof this.menuItem.productCount === 'number';\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!./CategoryNameAndCount.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!./CategoryNameAndCount.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CategoryNameAndCount.vue?vue&type=template&id=3a595270&scoped=true&\"\nimport script from \"./CategoryNameAndCount.vue?vue&type=script&lang=ts&\"\nexport * from \"./CategoryNameAndCount.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./CategoryNameAndCount.vue?vue&type=style&index=0&id=3a595270&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 \"3a595270\",\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!./CategoryNameAndCount.vue?vue&type=style&index=0&id=3a595270&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!./CategoryNameAndCount.vue?vue&type=style&index=0&id=3a595270&lang=less&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(_vm.tag,{tag:\"component\",staticClass:\"accordion\",class:{ disabled: _vm.disabled }},[(!_vm.hideHeader)?_c('div',{staticClass:\"accordion-header\",class:_vm.headerClass,on:{\"click\":_vm.toggle}},[_vm._t(\"header\",null,{\"active\":_vm.isExpanded}),(_vm.icon)?_c('CIcon',{class:{ 'accordion-rotate': _vm.isExpanded },attrs:{\"height\":\"11\",\"width\":\"11\",\"name\":_vm.icon}}):_vm._e()],2):_vm._e(),_c('transition',{attrs:{\"appear\":\"\",\"name\":\"accordion\"},on:{\"enter\":_vm.setFixedHeight,\"after-enter\":_vm.setAutoHeight,\"before-leave\":_vm.setFixedHeight}},[(_vm.keepAlive)?[_c(_vm.bodyTag,{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isExpanded),expression:\"isExpanded\"}],tag:\"component\",staticClass:\"accordion-body\"},[_c('div',{staticClass:\"accordion-body-inner\"},[_vm._t(\"default\")],2)])]:[(_vm.isExpanded)?_c(_vm.bodyTag,{tag:\"component\",staticClass:\"accordion-body\"},[_c('div',{staticClass:\"accordion-body-inner\"},[_vm._t(\"default\")],2)]):_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\r\nimport { Vue, Component, Prop } from 'vue-property-decorator';\r\nimport IAccordion from '@/core/ui-components/IAccordion';\r\n\r\n@Component\r\nexport default class Accordion extends Vue implements IAccordion {\r\n @Prop({ type: String, default: 'div' }) tag!: string;\r\n @Prop({ type: String, default: 'div' }) bodyTag!: string;\r\n @Prop({ type: String, default: '' }) headerClass!: string;\r\n @Prop({ type: String, default: 'arrow-down' }) icon!: string;\r\n\r\n @Prop({ type: Boolean, default: false }) multiple!: boolean;\r\n @Prop({ type: Boolean, default: false }) disabled!: boolean;\r\n @Prop({ type: Boolean, default: false }) expanded!: boolean;\r\n @Prop({ type: Boolean, default: false }) hideHeader!: boolean;\r\n @Prop({ type: Boolean, default: false }) keepAlive!: boolean;\r\n @Prop({ type: Boolean, default: false }) allowToggle!: boolean;\r\n\r\n private isExpanded: boolean = false;\r\n\r\n created() {\r\n this.isExpanded = this.expanded;\r\n }\r\n\r\n public close() {\r\n this.isExpanded = false;\r\n }\r\n\r\n public open(): void {\r\n this.isExpanded = true;\r\n }\r\n\r\n private toggle(e: any) {\r\n if (this.disabled) return;\r\n\r\n this.allowToggle && (this.isExpanded = !this.isExpanded);\r\n\r\n if (this.multiple) return;\r\n\r\n // Close the rest\r\n this.$parent!.$children.forEach(child => {\r\n if (child instanceof Accordion && child !== this) {\r\n child.isExpanded = false;\r\n }\r\n });\r\n }\r\n\r\n private setFixedHeight(el: HTMLElement) {\r\n el.style.height = el.scrollHeight + 'px';\r\n }\r\n\r\n private setAutoHeight(el: HTMLElement) {\r\n el.style.height = 'auto';\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!./Accordion.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!./Accordion.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Accordion.vue?vue&type=template&id=2ef00608&\"\nimport script from \"./Accordion.vue?vue&type=script&lang=ts&\"\nexport * from \"./Accordion.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Accordion.vue?vue&type=style&index=0&lang=less&\"\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('nav',{staticClass:\"bg-white p-20 relative\"},[(_vm.campaignCode)?_c('h2',{staticClass:\"capitalize text-14 md:text-16 mb-5 md:mb-10 font-medium\"},[_vm._v(\" \"+_vm._s(_vm.campaignName || _vm.campaignCode)+\" \")]):_vm._e(),(_vm.rootMenuItem)?_c('CultureAwareRouterLink',{staticClass:\"mb-5 md:mb-10 last:mb-0 hover:underline font-medium\",class:{'font-bold' : _vm.activeMenuItem === _vm.rootMenuItem, 'text-12' : _vm.campaignCode, 'text-14 md:text-16' : !_vm.campaignCode },attrs:{\"to\":{ path: _vm.rootMenuItem.url, query: _vm.$route.query }}},[_c('CategoryNameAndCount',{attrs:{\"menu-item\":_vm.rootMenuItem,\"hide-product-count\":\"\"}})],1):_vm._e(),_vm._l((_vm.menuItemsOrRoot),function(menuItem){return _c('NavigationTree',{key:menuItem.id,staticClass:\"font-medium\",attrs:{\"menu-item\":menuItem,\"selected-menu-item\":_vm.activeMenuItem,\"use-route-navigation\":\"\"}})})],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\r\nimport Vue from 'vue';\r\nimport { Component, Prop } from 'vue-property-decorator';\r\nimport accordion from '@/core/ui-components/Accordion.vue';\r\nimport { MenuItem } from '@/types/apiServerContract';\r\nimport CategoryNameAndCount from '@/project/search/navigation/CategoryNameAndCount.vue';\r\n\r\n@Component({\r\n components: { CategoryNameAndCount, accordion }\r\n})\r\nexport default class CategoryNavigationV2 extends Vue {\r\n @Prop({ required: false, type: Object })\r\n private readonly rootMenuItem!: MenuItem | null;\r\n\r\n @Prop({ required: false, type: Object })\r\n private activeMenuItem!: MenuItem | null;\r\n\r\n @Prop({ required: false, type: String })\r\n private campaignCode!: string | null;\r\n\r\n @Prop({ required: false, type: String })\r\n private campaignName!: string | null;\r\n\r\n @Prop({ type: Array, required: true })\r\n private menuItems!: readonly MenuItem[];\r\n\r\n private get menuItemsOrRoot() {\r\n return this.rootMenuItem ? this.rootMenuItem.children : this.menuItems;\r\n }\r\n\r\n private get query() {\r\n return this.$route.query;\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!./CategoryNavigationV1.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!./CategoryNavigationV1.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CategoryNavigationV1.vue?vue&type=template&id=3adb0162&\"\nimport script from \"./CategoryNavigationV1.vue?vue&type=script&lang=ts&\"\nexport * from \"./CategoryNavigationV1.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/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!./Accordion.vue?vue&type=style&index=0&lang=less&\"; 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!./Accordion.vue?vue&type=style&index=0&lang=less&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('SearchProductControl',{attrs:{\"category-id\":_vm.categoryId,\"page-data-url\":_vm.pageDataUrl,\"page-data-result-callback\":_vm.handlePageDataCallback,\"search-result-callback\":_vm.handleSearchResultCallback,\"context-key\":\"category\",\"with-results-breadcrumb\":\"\"},scopedSlots:_vm._u([{key:\"navigation\",fn:function(ref){\nvar activeMenuItem = ref.activeMenuItem;\nvar rootMenuItem = ref.rootMenuItem;\nvar menuItems = ref.menuItems;\nreturn [_c('CategoryNavigation',{attrs:{\"active-menu-item\":activeMenuItem,\"root-menu-item\":rootMenuItem,\"menu-items\":menuItems}})]}}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\r\nimport gtmService from '@/project/tracking/gtm/GTM.service';\r\nimport { Route } from 'vue-router';\r\nimport megaMenuService from '@/project/shared/megaMenu.service';\r\nimport dictionaryService, { NamedLabelArgument } from '@/core/translation/dictionary.service';\r\nimport domService from '@/core/dom/dom.service';\r\nimport { upperFirst } from 'lodash';\r\nimport CategoryNavigation from '@/project/search/navigation/CategoryNavigationV1.vue';\r\nimport { PageData } from '@/types/contentServerContract';\r\nimport CategoryTileBlock from '@/project/app/blocks/categories/CategoryTileBlock.vue';\r\nimport botService from '@/project/site/bot.service';\r\nimport { CategorySeoInformationViewModel, Feature, MenuItem, SearchViewModel } from '@/types/apiServerContract';\r\nimport Api from '@/project/http/Api.service';\r\nimport urlHelper from '@/core/urlHelper.service';\r\nimport { UrlQueryKey } from '@/core/urlQueryKey';\r\nimport serverContextService from '@/core/serverContext.service';\r\nconst SearchProductControl = () => serverContextService.isFeatureEnabled(Feature.ProductListingPageV2)\r\n ? import('@/project/search/SearchProductControl.vue')\r\n : import('@/project/search/SearchProductControlV1.vue');\r\n@Component({\r\n components: { CategoryTileBlock, SearchProductControl, CategoryNavigation }\r\n})\r\nexport default class CategoryPage extends Vue {\r\n @Prop(String)\r\n private categoryId!: string;\r\n\r\n private previousCategoryId: string = '';\r\n private isFirstRequest: boolean = true;\r\n private delayLoaderTimer: number = 0;\r\n\r\n searchResult: SearchViewModel | null = null;\r\n seoInformation: CategorySeoInformationViewModel | null = null;\r\n seoCategoryName: null | string = null;\r\n seoBreadcrumb: MenuItem[] = [];\r\n\r\n private get pageDataUrl() {\r\n if (serverContextService.settings?.departmentPage) {\r\n const pageUrl = `${serverContextService.settings?.departmentPage}?categoryId=${this.categoryId}`;\r\n return pageUrl;\r\n }\r\n }\r\n\r\n private async handlePageDataCallback(pageData?: PageData) {\r\n const activeCategory = this.categoryId ? await megaMenuService.getCategoryById(this.categoryId) : null;\r\n\r\n const page = urlHelper.getPage();\r\n if (activeCategory?.url && page > 1 && !activeCategory?.url.includes(`${UrlQueryKey.pageKey}=`)) {\r\n const location = urlHelper.getLocationForPage(page) as any;\r\n const query = location.query || {};\r\n const paramString = Object.entries(query).map(([key, val]) => `${key}=${val}`).join('&');\r\n activeCategory.url = `${activeCategory.url}${(activeCategory.url.includes('?') ? '&' : '?')}${paramString}`;\r\n }\r\n\r\n domService.setCanonicalUrl(window.servercontext.culture + activeCategory?.url ?? '', true);\r\n domService.setOpenGraphUrl(window.servercontext.culture + activeCategory?.url ?? '', true);\r\n const expectedCategoryUrl = activeCategory?.url ? `${serverContextService.siteInfo.url}${activeCategory.url}` : null;\r\n botService.setPrerenderRedirectUrlsIfLocationIsWrong(expectedCategoryUrl);\r\n }\r\n\r\n private async handleSearchResultCallback(searchResult: SearchViewModel) {\r\n const delay = (botService.uaIsPrerender() || botService.uaIsBot()) ? 0 : this.isFirstRequest ? 1500 : 750;\r\n this.isFirstRequest = false;\r\n this.searchResult = searchResult;\r\n this.delayLoaderTimer = setTimeout(() => {\r\n this.loadMetadataForPage();\r\n }, delay);\r\n }\r\n\r\n private async loadMetadataForPage() {\r\n if (this.categoryId !== this.previousCategoryId) {\r\n Api.category.getCategorySeoInformation(this.categoryId).then(result => {\r\n this.seoInformation = result;\r\n this.updatePageTitleAndDescription();\r\n });\r\n megaMenuService.getBreadCrumbForCategory(this.categoryId).then(result => {\r\n this.seoBreadcrumb = result || [];\r\n this.updatePageTitleAndDescription();\r\n });\r\n this.previousCategoryId = this.categoryId;\r\n }\r\n }\r\n\r\n updatePageTitleAndDescription() {\r\n const categoryValues = {};\r\n this.seoBreadcrumb.map((cat, catIndex) => {\r\n categoryValues[`categoryLevel${catIndex + 1}`] = cat.name;\r\n });\r\n const activeCategory = this.categoryId && this.seoBreadcrumb.length > 0 ? this.seoBreadcrumb[this.seoBreadcrumb.length - 1] : null;\r\n this.seoCategoryName = upperFirst(activeCategory?.name ?? 'Unknown');\r\n\r\n const totalHits = dictionaryService.seofyNumbers(this.searchResult?.totalHits);\r\n const totalResults = totalHits !== undefined ? totalHits.toString(10) : undefined;\r\n const labelValues: NamedLabelArgument = {\r\n brand: this.searchResult?.brandName || undefined,\r\n totalResults: totalResults,\r\n results: totalResults,\r\n category: this.seoCategoryName,\r\n ...categoryValues\r\n };\r\n\r\n const titleLabelKey = 'Category.SEO.Title';\r\n const title = dictionaryService.get(titleLabelKey, [this.seoCategoryName]);\r\n const titleFromPage = this.seoInformation?.seoTitle;\r\n const titleWithParams = dictionaryService.getWithNamedValues(titleFromPage || titleLabelKey, labelValues, true, !!titleFromPage);\r\n domService.setTitle(titleWithParams || title);\r\n\r\n const descriptionLabelKey = 'Category.SEO.Description';\r\n const description = dictionaryService.get(descriptionLabelKey, [this.seoCategoryName]);\r\n const descriptionFromPage = this.seoInformation?.seoDescription;\r\n const descriptionWithParams = dictionaryService.getWithNamedValues(descriptionFromPage || descriptionLabelKey, labelValues, true, !!descriptionFromPage);\r\n domService.setDescription(descriptionWithParams || description);\r\n }\r\n\r\n @Watch('$route', {\r\n immediate: true\r\n })\r\n private onRouteChange(to: Route, from?: Route) {\r\n const isSearching = urlHelper.isSearching(to) || urlHelper.isSearching(from);\r\n if (isSearching) return;\r\n\r\n if (this.$route.name) {\r\n gtmService.trackGenericPageView(this.$route.name);\r\n }\r\n }\r\n\r\n public destroyed() {\r\n if (this.delayLoaderTimer) {\r\n clearTimeout(this.delayLoaderTimer);\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!./CategoryPageV1.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!./CategoryPageV1.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CategoryPageV1.vue?vue&type=template&id=58b4643a&\"\nimport script from \"./CategoryPageV1.vue?vue&type=script&lang=ts&\"\nexport * from \"./CategoryPageV1.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('transition',{attrs:{\"mode\":\"out-in\",\"enter-active-class\":\"animated fadeIn u-anim-dur-200\",\"leave-active-class\":\"animated fadeOut u-anim-dur-400\"}},[_c('span',{key:_vm.value},[_vm._v(\" \"+_vm._s(_vm.value)+\" \")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\r\nimport { Vue, Component, Prop } from 'vue-property-decorator';\r\n\r\n@Component\r\nexport default class AnimateValue extends Vue {\r\n @Prop()\r\n value!: any\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!./AnimateValue.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!./AnimateValue.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AnimateValue.vue?vue&type=template&id=6adf84b2&\"\nimport script from \"./AnimateValue.vue?vue&type=script&lang=ts&\"\nexport * from \"./AnimateValue.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"],"sourceRoot":""}