{"version":3,"sources":["webpack:///./src/project/app/client-pages/CategoryPage.vue?48f1","webpack:///./src/project/app/client-pages/CategoryPage.vue","webpack:///./src/project/app/client-pages/CategoryPage.vue?77de","webpack:///./src/project/app/client-pages/CategoryPage.vue?49e6","webpack:///./src/project/app/blocks/categories/CategoryTileBlock.vue?2fe9","webpack:///./src/project/app/blocks/categories/CategoryTileBlockItem.vue?61d2","webpack:///./src/project/app/blocks/categories/CategoryTileBlockItem.vue","webpack:///./src/project/app/blocks/categories/CategoryTileBlock.vue","webpack:///./src/project/app/blocks/categories/CategoryTileBlockItem.vue?a546","webpack:///./src/project/app/blocks/categories/CategoryTileBlockItem.vue?7a52","webpack:///./src/project/app/blocks/categories/CategoryTileBlock.vue?215f","webpack:///./src/project/app/blocks/categories/CategoryTileBlock.vue?d4fa","webpack:///./src/project/app/blocks/categories/CategoryBlockItem.vue?127b","webpack:///./src/project/app/blocks/categories/CategoryBlockItem.vue?310b","webpack:///./src/project/app/blocks/categories/CategoryBlockItem.vue","webpack:///./src/project/app/blocks/categories/CategoryBlockItem.vue?f082","webpack:///./src/project/app/blocks/categories/CategoryBlockItem.vue?4345","webpack:///./src/project/search/navigation/CategoryNavigation.vue?11b5","webpack:///./src/project/search/navigation/CategoryNavigation.vue","webpack:///./src/project/search/navigation/CategoryNavigation.vue?7f14","webpack:///./src/project/search/navigation/CategoryNavigation.vue?e082","webpack:///./src/project/app/blocks/categories/CategoryTileBlock.vue?2cae"],"names":["render","_vm","this","_h","$createElement","_c","_self","attrs","categoryId","pageDataUrl","handlePageDataCallback","handleSearchResultCallback","scopedSlots","_u","key","fn","ref","activeMenuItem","rootMenuItem","menuItems","staticRenderFns","previousCategoryId","isFirstRequest","delayLoaderTimer","searchResult","seoInformation","seoCategoryName","seoBreadcrumb","settings","departmentPage","pageUrl","pageData","activeCategory","getCategoryById","page","getPage","url","includes","pageKey","location","getLocationForPage","query","paramString","Object","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","name","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","$route","trackGenericPageView","clearTimeout","String","immediate","components","CategoryTileBlock","SearchProductControl","CategoryNavigation","component","content","staticClass","isFirstBlock","_v","_s","headline","_e","class","classes","_l","tile","tileIndex","imageMode","imageSizesAttributes","maxImageClippedDimension","image","callToAction","CategoryTileBlockImageModes","clipped","computedImageClippedDimensions","width","height","imageAlt","imageAspectRatio","focalPoint","buttonClass","buttonFullWidth","lowFull","type","ResponsiveIcon","cls","push","tiles","numbers","xs","md","Math","floor","required","default","Boolean","CategoryTileBlockItem","CategoryBlockItem","SmartHeadline","renderedPixelUrl","visiblePixelUrl","viewPixelUrl","clickPixelUrl","click","categoryUrl","nativeOn","$event","apply","arguments","icon","categoryDisplayName","_f","campaignUrl","getUrlForMenuItem","indexOf","getPageUrl","AdnuntiusPixels","campaignName","campaignCode","path","menuItem","id","children","Array","CategoryNameAndCount","accordion"],"mappings":"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","file":"js/chunk-1dced5b8.bfdb20a6.js","sourcesContent":["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 SearchProductControl from '@/project/search/SearchProductControl.vue';\r\nimport serverContext from '@/core/serverContext.service';\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/CategoryNavigation.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, MenuItem, SearchViewModel } from '@/types/apiServerContract';\r\nimport Api from '@/project/http/Api.service';\r\nimport urlHelper, { UrlQueryKey } from '@/core/urlHelper.service';\r\n\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 (serverContext.settings?.departmentPage) {\r\n const pageUrl = `${serverContext.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 ? `${serverContext.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!./CategoryPage.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!./CategoryPage.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CategoryPage.vue?vue&type=template&id=6d944ffa&\"\nimport script from \"./CategoryPage.vue?vue&type=script&lang=ts&\"\nexport * from \"./CategoryPage.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.content.headline)?_c('smart-headline',{staticClass:\"text-18 md:text-34 mb-10\",attrs:{\"level\":_vm.isFirstBlock ? 'h1' : 'h2',\"style-as-h1\":_vm.isFirstBlock}},[_vm._v(\" \"+_vm._s(_vm.content.headline)+\" \")]):_vm._e(),_c('div',{staticClass:\"category-tile-blocks\",class:_vm.classes},_vm._l((_vm.content.tiles),function(tile,tileIndex){return _c('CategoryTileBlockItem',{key:tileIndex,attrs:{\"content\":tile.content,\"image-mode\":_vm.imageMode,\"image-sizes-attributes\":_vm.imageSizesAttributes,\"clipped-image-dimensions\":_vm.maxImageClippedDimension}})}),1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"bg-white flex flex-col\"},[_c('CultureAwareRouterLink',{staticClass:\"w-full\",class:{'pt-10': !_vm.content.image},attrs:{\"to\":_vm.content.callToAction && _vm.content.callToAction.url}},[(_vm.content.image && _vm.imageMode === _vm.CategoryTileBlockImageModes.clipped)?_c('div',{staticClass:\"flex justify-center min-h-140\"},[_c('div',{staticClass:\"flex my-auto\"},[_c('ResponsiveIcon',{staticClass:\"mx-auto\",attrs:{\"image-url\":_vm.content.image.url,\"width\":_vm.computedImageClippedDimensions.width,\"height\":_vm.computedImageClippedDimensions.height,\"alt\":_vm.imageAlt,\"bg-color\":\"ffffff\"}})],1)]):(_vm.content.image)?_c('ResponsiveImage',{staticClass:\"mb-10 md:mb-20\",attrs:{\"image-url\":_vm.content.image.url,\"width-on-screen\":_vm.imageSizesAttributes,\"aspect-ratio\":_vm.imageAspectRatio,\"focal-point\":_vm.content.image.focalPoint,\"alt\":_vm.imageAlt,\"mode\":\"crop\"}}):_vm._e(),(_vm.content.headline)?_c('div',{staticClass:\"px-10 md:px-20 text-13 lg:text-14 font-bold text-black mb-10\"},[_vm._v(\" \"+_vm._s(_vm.content.headline)+\" \")]):_vm._e(),(_vm.content.description)?_c('div',{staticClass:\"px-10 md:px-20 mb-10\"},[_vm._v(\" \"+_vm._s(_vm.content.description)+\" \")]):_vm._e()],1),(_vm.content.callToAction)?_c('div',{staticClass:\"mt-auto px-10 md:px-20 pb-10 md:pb-20\"},[_c('CallToAction',{class:_vm.buttonClass,attrs:{\"href\":_vm.content.callToAction.url,\"text\":_vm.content.callToAction.name}})],1):_vm._e()],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\r\nimport { Prop, Vue } from 'vue-property-decorator';\r\nimport Component from 'vue-class-component';\r\nimport ResponsiveIcon from '@/core/responsive/image/ResponsiveIcon.vue';\r\nimport { CategoryTileBlockImageModes } from '@/project/app/blocks/categories/CategoryTileBlock.vue';\r\nimport { IResponsiveImageWidthOnScreenConfig } from '@/core/responsive/image/ResponsiveImage.vue';\r\nimport { CategoryTileViewModel } from '@/types/contentServerContract';\r\n\r\n@Component({\r\n components: { ResponsiveIcon }\r\n})\r\nexport default class CategoryTileBlockItem extends Vue {\r\n @Prop({\r\n type: Object\r\n }) content!: CategoryTileViewModel | null;\r\n\r\n @Prop()\r\n imageMode!: CategoryTileBlockImageModes;\r\n\r\n @Prop()\r\n clippedImageDimensions!: undefined | { width: number, height: number };\r\n\r\n @Prop()\r\n imageSizesAttributes!:IResponsiveImageWidthOnScreenConfig | number;\r\n\r\n private get buttonClass(): string {\r\n return this.content?.buttonFullWidth ? 'w-full' : '';\r\n }\r\n\r\n private get computedImageClippedDimensions(): { width: number, height: number} {\r\n if (this.imageMode === CategoryTileBlockImageModes.clipped) {\r\n // const width = this.content.image?.height\r\n return { width: 346, height: 232 };\r\n }\r\n return { width: 0, height: 0 };\r\n }\r\n\r\n private get imageAspectRatio() {\r\n if (this.imageMode === CategoryTileBlockImageModes.clipped) return undefined;\r\n if (this.imageMode === CategoryTileBlockImageModes.lowFull) return 210 / 136;\r\n\r\n return 268 / 208; // High aspect ratio\r\n }\r\n\r\n private get imageAlt(): string {\r\n return this.content?.headline || this.content?.description || this.content?.callToAction?.name || '';\r\n }\r\n\r\n private get CategoryTileBlockImageModes() {\r\n return CategoryTileBlockImageModes;\r\n }\r\n}\r\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 CategoryBlockItem from './CategoryBlockItem.vue';\r\nimport SmartHeadline from '@/core/ui-components/SmartHeadline.vue';\r\nimport CategoryTileBlockItem from '@/project/app/blocks/categories/CategoryTileBlockItem.vue';\r\nimport { CategoryTileBlockViewModel } from '@/types/contentServerContract';\r\nimport { IResponsiveImageWidthOnScreenConfig } from '@/core/responsive/image/ResponsiveImage.vue';\r\nexport enum CategoryTileBlockImageModes {\r\n 'clipped',\r\n 'lowFull',\r\n 'highFull'\r\n}\r\n@Component({\r\n components: { CategoryTileBlockItem, CategoryBlockItem, SmartHeadline }\r\n})\r\nexport default class CategoryTileBlock extends Vue {\r\n @Prop()\r\n content!: CategoryTileBlockViewModel;\r\n\r\n @Prop({\r\n required: false,\r\n default: false,\r\n type: Boolean\r\n }) isFirstBlock!: boolean;\r\n\r\n private get imageMode() {\r\n return CategoryTileBlockImageModes[this.content.imageMode];\r\n }\r\n\r\n private get classes() {\r\n const cls: string[] = [];\r\n if (this.imageMode !== CategoryTileBlockImageModes.clipped) {\r\n cls.push('--1-in-row-mobile');\r\n }\r\n if (this.content.tiles.length % 4 === 0) {\r\n cls.push('--4-in-row');\r\n } else if (this.content.tiles.length % 5 === 0) {\r\n cls.push('--5-in-row');\r\n }\r\n return cls;\r\n }\r\n\r\n private get maxImageClippedDimension(): undefined | { width: number, height: number } {\r\n if (this.imageMode === CategoryTileBlockImageModes.clipped) {\r\n return { width: 100, height: 100 };\r\n }\r\n return undefined;\r\n }\r\n\r\n private get imageSizesAttributes(): IResponsiveImageWidthOnScreenConfig | number {\r\n const numbers = {\r\n xs: 50,\r\n md: Math.floor(100 / (this.content.tiles.length % 4 === 0 ? 4 : this.content.tiles.length % 5 === 0 ? 5 : 3))\r\n };\r\n return numbers;\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!./CategoryTileBlockItem.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!./CategoryTileBlockItem.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CategoryTileBlockItem.vue?vue&type=template&id=1009cff3&\"\nimport script from \"./CategoryTileBlockItem.vue?vue&type=script&lang=ts&\"\nexport * from \"./CategoryTileBlockItem.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/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!./CategoryTileBlock.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!./CategoryTileBlock.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CategoryTileBlock.vue?vue&type=template&id=ce6e8f8c&\"\nimport script from \"./CategoryTileBlock.vue?vue&type=script&lang=ts&\"\nexport * from \"./CategoryTileBlock.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./CategoryTileBlock.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","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!./CategoryBlockItem.vue?vue&type=style&index=0&id=4034c70f&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!./CategoryBlockItem.vue?vue&type=style&index=0&id=4034c70f&lang=less&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('AdnuntiusPixels',{staticClass:\"flex justify-center md:mx-10 first:ml-0 last:mr-0 w-1/2 sm:w-1/3 md:w-auto md:flex-1\",attrs:{\"rendered-url\":_vm.content.renderedPixelUrl,\"visible-url\":_vm.content.visiblePixelUrl,\"view-url\":_vm.content.viewPixelUrl,\"click-url\":_vm.content.clickPixelUrl},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar click = ref.click;\nreturn [(_vm.categoryUrl)?_c('CultureAwareRouterLink',{staticClass:\"category-link category-link--whiteBox mb-15 md:mb-0 mx-5 md:mx-10\",attrs:{\"to\":_vm.categoryUrl,\"target\":\"_top\"},nativeOn:{\"click\":function($event){return click.apply(null, arguments)}}},[_c('div',{staticClass:\"category-item w-full h-full flex items-center justify-center\"},[_c('img',{attrs:{\"src\":_vm.icon,\"alt\":_vm.content.categoryDisplayName}})]),_c('span',{staticClass:\"sr-only\"},[_vm._v(\" \"+_vm._s(_vm._f(\"t\")('BrandHero.BrandLogo.SeeAllProductsFrom'))+\" \")]),_c('p',{staticClass:\"text-12 md:text-14 font-medium mt-10 md:mt-20 text-center\"},[_vm._v(\" \"+_vm._s(_vm.content.categoryDisplayName)+\" \"),_c('CIcon',{staticClass:\"category-link--arrow hidden\",attrs:{\"name\":\"arrow-right\",\"width\":\"9\",\"height\":\"9\"}})],1)]):_vm._e()]}}])})}\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 { Prop, Vue } from 'vue-property-decorator';\r\nimport Component from 'vue-class-component';\r\nimport AdnuntiusPixels from '@/project/tracking/adnuntius/AdnuntiusPixels.vue';\r\nimport { CategoryItemViewModel } from '@/types/apiServerContract';\r\nimport megaMenuService from '@/project/shared/megaMenu.service';\r\n\r\n@Component({\r\n components: { AdnuntiusPixels }\r\n})\r\nexport default class CategoryBlockItem extends Vue {\r\n @Prop({\r\n type: Object\r\n }) content!: CategoryItemViewModel;\r\n\r\n private categoryUrl: string | null = null;\r\n\r\n private get icon(): string {\r\n return this.content.icon.url;\r\n }\r\n\r\n private async getPageUrl() {\r\n let url;\r\n const campaignUrl = this.content.url ? await megaMenuService.getUrlForMenuItem(this.content.url) : null;\r\n\r\n if (this.content.url!.indexOf('c-') >= 0 && campaignUrl) {\r\n url = campaignUrl;\r\n } else {\r\n url = this.content.url;\r\n }\r\n\r\n return url;\r\n }\r\n\r\n private get renderedPixelUrl() {\r\n return this.content?.renderedPixelUrl;\r\n }\r\n\r\n private get viewPixelUrl() {\r\n return this.content?.viewPixelUrl;\r\n }\r\n\r\n private get visiblePixelUrl() {\r\n return this.content?.visiblePixelUrl;\r\n }\r\n\r\n private get clickPixelUrl() {\r\n return this.content?.clickPixelUrl;\r\n }\r\n\r\n async created() {\r\n this.categoryUrl = await this.getPageUrl();\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!./CategoryBlockItem.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!./CategoryBlockItem.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CategoryBlockItem.vue?vue&type=template&id=4034c70f&scoped=true&\"\nimport script from \"./CategoryBlockItem.vue?vue&type=script&lang=ts&\"\nexport * from \"./CategoryBlockItem.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./CategoryBlockItem.vue?vue&type=style&index=0&id=4034c70f&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 \"4034c70f\",\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 CategoryNavigation 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!./CategoryNavigation.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!./CategoryNavigation.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CategoryNavigation.vue?vue&type=template&id=8726cc8e&\"\nimport script from \"./CategoryNavigation.vue?vue&type=script&lang=ts&\"\nexport * from \"./CategoryNavigation.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!./CategoryTileBlock.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!./CategoryTileBlock.vue?vue&type=style&index=0&lang=less&\""],"sourceRoot":""}