{"version":3,"sources":["webpack:///./src/project/app/blocks/categories/CategoryTileBlock.vue?e88b","webpack:///./src/project/app/blocks/categories/CategoryTileBlockItem.vue?f701","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?d356","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/core/ui-components/SmartHeadline.vue","webpack:///./src/core/ui-components/SmartHeadline.vue?38f1","webpack:///./src/core/ui-components/SmartHeadline.vue?2c08","webpack:///./src/project/app/blocks/categories/CategoryBlockItem.vue?4a09","webpack:///./src/project/app/blocks/categories/CategoryTileBlock.vue?2cae"],"names":["render","_vm","this","_h","$createElement","_c","_self","content","staticClass","attrs","isFirstBlock","_v","_s","headline","_e","tiles","length","class","id","sliderOptions","_l","tile","tileIndex","key","imageMode","imageSizesAttributes","maxImageClippedDimension","prevButtonSelector","slot","nextButtonSelector","classes","staticRenderFns","description","callToAction","url","image","CategoryTileBlockImageModes","clipped","computedImageClippedDimensions","width","height","imageAlt","imageAspectRatio","focalPoint","buttonClass","name","categoryTileCtaButtonColor","buttonFullWidth","lowFull","type","Object","components","ResponsiveIcon","component","cls","push","maxItemsOnMdScreen","numbers","xs","md","Math","floor","Date","valueOf","spaceBetween","slidesPerView","watchSlidesVisibility","navigation","nextEl","prevEl","grabCursor","instanceName","observer","observeParents","observeSlideChildren","breakpointsInverse","breakpoints","640","required","default","Boolean","CategoryTileBlockItem","CategoryBlockItem","SmartHeadline","renderedPixelUrl","visiblePixelUrl","viewPixelUrl","clickPixelUrl","scopedSlots","_u","fn","ref","click","categoryUrl","nativeOn","$event","apply","arguments","icon","categoryDisplayName","$dictionary","get","getUrlForMenuItem","campaignUrl","indexOf","getPageUrl","AdnuntiusPixels","h","data","$props","h1","styleAsH1","level","$slots","String","validator","value","includes"],"mappings":"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","file":"js/chunk-a56033f8.d6134ae1.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.content.headline)?_c('SmartHeadline',{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(),(_vm.content && _vm.content.tiles && _vm.content.tiles.length > 5)?_c('article',{staticClass:\"relative w-full overflow-visible category-tile-blocks--swiper\"},[_c('Swiper',{class:'swiper-' + _vm.id,attrs:{\"id\":_vm.id,\"instance-name\":_vm.id,\"options\":_vm.sliderOptions}},_vm._l((_vm.content.tiles),function(tile,tileIndex){return _c('SwiperSlide',{key:tileIndex,staticClass:\"h-auto\"},[_c('CategoryTileBlockItem',{key:tileIndex,staticClass:\"h-full\",attrs:{\"content\":tile.content,\"image-mode\":_vm.imageMode,\"image-sizes-attributes\":_vm.imageSizesAttributes,\"clipped-image-dimensions\":_vm.maxImageClippedDimension}})],1)}),1),_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)],1):_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 (_vm.content)?_c('div',{staticClass:\"flex flex-col\",class:{'bg-white': (_vm.content.headline || _vm.content.description || (_vm.content.callToAction && _vm.content.callToAction.url))}},[_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,\"loading\":\"lazy\",\"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,\"loading\":\"lazy\",\"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,\"hex-color\":_vm.content.categoryTileCtaButtonColor}})],1):_vm._e()],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\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 get buttonClass(): string {\r\n return this.content?.buttonFullWidth ? 'w-full' : '';\r\n }\r\n\r\n 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 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 get imageAlt(): string {\r\n return this.content?.headline || this.content?.description || this.content?.callToAction?.name || '';\r\n }\r\n\r\n 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\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 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 get imageMode() {\r\n return CategoryTileBlockImageModes[this.content.imageMode];\r\n }\r\n\r\n get classes() {\r\n const cls: string[] = [];\r\n if (this.imageMode !== CategoryTileBlockImageModes.clipped) {\r\n cls.push('category-tile-blocks--1-in-row-mobile');\r\n }\r\n if (this.content.tiles.length % 4 === 0) {\r\n cls.push('category-tile-blocks--4-in-row');\r\n } else if (this.content.tiles.length % 5 === 0) {\r\n cls.push('category-tile-blocks--5-in-row');\r\n }\r\n return cls;\r\n }\r\n\r\n 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 get imageSizesAttributes(): IResponsiveImageWidthOnScreenConfig | number {\r\n const maxItemsOnMdScreen = this.content.tiles.length > 5 ? this.content.tiles.length % 4 === 0 ? 4 : 3 : this.content.tiles.length % 5 === 0 ? 5 : 3;\r\n const numbers = {\r\n xs: 50,\r\n md: Math.floor(100 / (this.content.tiles.length % 4 === 0 ? 4 : maxItemsOnMdScreen))\r\n };\r\n return numbers;\r\n }\r\n\r\n get id() {\r\n return 'category-tile-block-' + 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 get sliderOptions() {\r\n return {\r\n spaceBetween: 20,\r\n slidesPerView: 2,\r\n watchSlidesVisibility: 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 breakpointsInverse: true, // Mobile first, then override on larger screens\r\n breakpoints: {\r\n 640: {\r\n slidesPerView: this.content.tiles.length % 4 === 0 ? 4 : 3\r\n }\r\n }\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!./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=7aef40b5&\"\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=81a58146&\"\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","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.$dictionary.get('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 categoryUrl: string | null = null;\r\n\r\n get icon(): string {\r\n return this.content.icon.url;\r\n }\r\n\r\n 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 get renderedPixelUrl() {\r\n return this.content?.renderedPixelUrl;\r\n }\r\n\r\n get viewPixelUrl() {\r\n return this.content?.viewPixelUrl;\r\n }\r\n\r\n get visiblePixelUrl() {\r\n return this.content?.visiblePixelUrl;\r\n }\r\n\r\n 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=5ac999c7&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=5ac999c7&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 \"5ac999c7\",\n null\n \n)\n\nexport default component.exports","\r\nimport Vue, { CreateElement } from 'vue';\r\nimport { Component, Prop } from 'vue-property-decorator';\r\n\r\n@Component\r\nexport default class SmartHeadline extends Vue {\r\n @Prop({\r\n type: Boolean,\r\n default: false\r\n })\r\n styleAsH1!: boolean;\r\n\r\n @Prop({ required: false, type: String, default: 'h2', validator: (value: string) => ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'].includes(value) })\r\n level!: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\r\n\r\n render(h: CreateElement) {\r\n const data = {\r\n ...this.$props,\r\n class: {\r\n h1: this.styleAsH1\r\n }\r\n };\r\n return h(this.level, data, this.$slots.default);\r\n }\r\n}\r\n","var render, staticRenderFns\nimport script from \"./SmartHeadline.vue?vue&type=script&lang=ts&\"\nexport * from \"./SmartHeadline.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!./SmartHeadline.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!./SmartHeadline.vue?vue&type=script&lang=ts&\"","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=5ac999c7&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=5ac999c7&lang=less&scoped=true&\"","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":""}