{"version":3,"sources":["webpack:///./src/project/modals/Modal.vue","webpack:///./src/project/modals/Modal.vue?4482","webpack:///./src/project/modals/Modal.vue?1301","webpack:///./src/project/layout/navigation/navigation.store.ts","webpack:///./src/project/layout/page-header/mobile/MobileMenu.vue?9fcc","webpack:///./src/project/layout/page-header/mobile/MobileMenu.vue","webpack:///./src/project/layout/page-header/mobile/MobileMenu.vue?7e58","webpack:///./src/project/layout/page-header/mobile/MobileMenu.vue?0982","webpack:///./src/project/layout/page-header/mobile/MobileMenu.vue?2e2d"],"names":["data","ModalState","hideModal","this","modal","id","type","Object","required","render","staticRenderFns","component","NavigationStore","state","observable","myAccountNavigationGeneral","name","get","icon","page","MY_ACCOUNT_PROFILE","MY_ACCOUNT_ORDER_HISTORY","MY_ACCOUNT_PRODUCT_BACKLOG","MY_ACCOUNT_QUOTES","MY_ACCOUNT_BLANKET_ORDERS","MY_ACCOUNT_BIDS","isFeatureEnabled","Rma","MY_ACCOUNT_RMA_RETURN","MY_ACCOUNT_LEDGER","MY_ACCOUNT_PRODUCT_GUIDE_CONFIGURATION","filter","n","Boolean","myAccountNavigationMisc","MY_ACCOUNT_FAVOURITES","MY_ACCOUNT_ACCOUNT_SETTINGS","MY_ACCOUNT_ADDRESS_BOOK","MY_ACCOUNT_USER_ADMINISTRATION","MY_ACCOUNT_IMPERSONATION","myAccountNavigationActions","action","logOff","push","catch","isPrivate","MY_ACCOUNT","children","item","isLoggedIn","permission","can","navItem","hasProductGuideConfigurations","_vm","_h","$createElement","_c","_self","staticClass","attrs","activeLevel","on","$event","previousLevel","_e","closeOverlay","ref","enterAnimationClasses","leaveAnimationClasses","key","nativeOn","clickMenuLink","_v","_s","_f","becomeACustomerPage","_l","showNavElement","nextLevel","productGuidePage","salesAndSupportPage","favouritesPageName","resourceNavigationItems","length","undefined","iconFill","campaignLink","url","campaignCode","menuItem","ix","path","preventDefault","clickNextLevel","brandPageName","openLogin","activeParent","apply","arguments","menuIndex","class","classForMenuItem","topLevel","Modal","navigation","breadcrumb","forward","pdpParentCategoryUrl","clientNavigationItems","resourceMenu","resourceMenuItemGroups","map","link","groupUrl","hasCulturePrefix","withoutCulturePrefix","headline","links","subLink","getMegaMenu","navigateToActiveNavigationItemOnDemand","navigationItems","$router","currentRoute","PRODUCT_DETAILS","i","navigationItem","activeItemTree","buildActiveItemTreeFor","a","tree","isClientMenuItem","prototype","hasOwnProperty","call","menuItemProperty","currentPage","$route","menu","childTree","activeChild","slice","settings","menuCampaignIcon","menuCampaignLink","hasLoggedInBefore","pop","animCls","BRAND_OVERVIEW","setTimeout","show","components","Accordion","CampaignIcon"],"mappings":"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","file":"js/chunk-31005669.0cbe7ea1.js","sourcesContent":["\r\nimport { Vue, Component, Prop } from 'vue-property-decorator';\r\nimport { IModal, ModalState } from '@/core/modals/ModalState';\r\n\r\n@Component\r\nexport default class Modal extends Vue {\r\n @Prop({ type: Object, required: true })\r\n protected modal!: IModal;\r\n\r\n protected closeOverlay(data?: any) {\r\n ModalState.hideModal(this.modal.id, data);\r\n }\r\n}\r\n","var render, staticRenderFns\nimport script from \"./Modal.vue?vue&type=script&lang=ts&\"\nexport * from \"./Modal.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!./Modal.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!./Modal.vue?vue&type=script&lang=ts&\"","import { PageName } from '@/router/routes/constants';\r\nimport dictionaryService from '@/core/translation/dictionary.service';\r\nimport authService from '@/core/auth/auth.service';\r\nimport { permissionForRoute } from '@/router/routes/client-routes/my-account.routes';\r\nimport permissionService from '@/project/auth/permission.service';\r\nimport { router } from 'spaRouter';\r\nimport serverContextService from '@/core/serverContext.service';\r\nimport { Feature } from '@/types/apiServerContract';\r\nimport Vue from 'vue';\r\nimport myAccountStore from '@/project/app/client-pages/my-account/my-account.store';\r\n\r\nexport interface ClientMenuItem {\r\n page?: string;\r\n url?: string;\r\n name: string;\r\n icon?: string;\r\n iconFill?: boolean; // as default on would be true, but we want a few icons to be false, usage would be something like this \r\n children?: ClientMenuItem[],\r\n isPrivate?: boolean;\r\n action?: () => void;\r\n}\r\n\r\ninterface INavigationStoreState {\r\n myAccountNavigationGeneral: ClientMenuItem[];\r\n myAccountNavigationMisc: ClientMenuItem[];\r\n myAccountNavigationActions: ClientMenuItem[];\r\n}\r\nclass NavigationStore {\r\n private state: INavigationStoreState = Vue.observable({\r\n myAccountNavigationGeneral: ([\r\n {\r\n name: dictionaryService.get('MyAccount.Profile'),\r\n icon: 'profile',\r\n page: PageName.MY_ACCOUNT_PROFILE\r\n },\r\n {\r\n name: dictionaryService.get('MyAccount.Navigation.OrderHistory'),\r\n icon: 'order-history',\r\n page: PageName.MY_ACCOUNT_ORDER_HISTORY\r\n },\r\n {\r\n name: dictionaryService.get('MyAccount.Navigation.ProductBacklog'),\r\n icon: 'stacked',\r\n page: PageName.MY_ACCOUNT_PRODUCT_BACKLOG\r\n },\r\n {\r\n name: dictionaryService.get('MyAccount.Navigation.Quotes'),\r\n icon: 'document',\r\n page: PageName.MY_ACCOUNT_QUOTES\r\n },\r\n {\r\n name: dictionaryService.get('MyAccount.Navigation.BlanketOrders'),\r\n icon: 'blanket-order',\r\n page: PageName.MY_ACCOUNT_BLANKET_ORDERS\r\n },\r\n {\r\n name: dictionaryService.get('MyAccount.Navigation.Bids'),\r\n icon: 'bid',\r\n page: PageName.MY_ACCOUNT_BIDS\r\n },\r\n serverContextService.isFeatureEnabled(Feature.Rma) && {\r\n name: dictionaryService.get('MyAccount.Navigation.RMAReturns'),\r\n icon: 'rma',\r\n page: PageName.MY_ACCOUNT_RMA_RETURN\r\n },\r\n {\r\n name: dictionaryService.get('MyAccount.Navigation.Ledger'),\r\n icon: 'ledger',\r\n page: PageName.MY_ACCOUNT_LEDGER\r\n },\r\n {\r\n name: dictionaryService.get('MyAccount.Navigation.ProductGuideConfiguration'),\r\n icon: 'productguide',\r\n page: PageName.MY_ACCOUNT_PRODUCT_GUIDE_CONFIGURATION\r\n }\r\n ].filter((n?: T): n is T => Boolean(n))) as ClientMenuItem[],\r\n myAccountNavigationMisc: [\r\n {\r\n name: dictionaryService.get('MyAccount.Navigation.Favourites'),\r\n icon: 'favorite-outline',\r\n page: PageName.MY_ACCOUNT_FAVOURITES\r\n },\r\n {\r\n name: dictionaryService.get('MyAccount.Navigation.AccountSettings'),\r\n icon: 'account-setting',\r\n page: PageName.MY_ACCOUNT_ACCOUNT_SETTINGS\r\n },\r\n {\r\n name: dictionaryService.get('MyAccount.Navigation.AddressBook'),\r\n icon: 'address-book',\r\n page: PageName.MY_ACCOUNT_ADDRESS_BOOK\r\n },\r\n {\r\n name: dictionaryService.get('MyAccount.Navigation.UserAdministration'),\r\n icon: 'profiles',\r\n page: PageName.MY_ACCOUNT_USER_ADMINISTRATION\r\n },\r\n {\r\n name: dictionaryService.get('MyAccount.Navigation.Impersonation'),\r\n icon: 'impersonate',\r\n page: PageName.MY_ACCOUNT_IMPERSONATION\r\n }\r\n ],\r\n myAccountNavigationActions: [\r\n {\r\n name: dictionaryService.get('MyAccount.Navigation.SignOut'),\r\n icon: 'login',\r\n action: () => {\r\n authService.logOff();\r\n router.push('/').catch(() => { });\r\n },\r\n isPrivate: true\r\n }\r\n ]\r\n });\r\n\r\n public get clientNavigationItems(): ClientMenuItem {\r\n return {\r\n name: dictionaryService.get('MyAccount.FrontPage.Title'),\r\n icon: 'profile',\r\n page: PageName.MY_ACCOUNT,\r\n children: [...this.myAccountNavigationGeneral, ...this.myAccountNavigationMisc, ...this.myAccountNavigationActions],\r\n isPrivate: true\r\n };\r\n }\r\n\r\n showNavElement(item: ClientMenuItem): boolean {\r\n if (item.isPrivate && !authService.isLoggedIn()) return false;\r\n if (item.page) {\r\n const permission = permissionForRoute(item.page);\r\n if (permission) {\r\n return permissionService.can(permission);\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n public get myAccountNavigationGeneral() {\r\n return this.state.myAccountNavigationGeneral.filter(navItem => {\r\n if (navItem.page === PageName.MY_ACCOUNT_PRODUCT_GUIDE_CONFIGURATION) {\r\n return myAccountStore.hasProductGuideConfigurations;\r\n }\r\n return true;\r\n });\r\n }\r\n\r\n public get myAccountNavigationMisc() {\r\n return this.state.myAccountNavigationMisc;\r\n }\r\n\r\n public get myAccountNavigationActions() {\r\n return this.state.myAccountNavigationActions;\r\n }\r\n}\r\nexport default new NavigationStore();\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('nav',{staticClass:\"mobile-menu w-screen h-screen relative bg-gray-300 flex flex-col\"},[_c('header',{staticClass:\"header relative h-60 flex-none bg-white\"},[_c('transition',{attrs:{\"appear\":\"\",\"enter-active-class\":\"animated fadeIn u-anim-dur-300\",\"leave-active-class\":\"animated fadeOut u-anim-dur-200\"}},[(_vm.activeLevel > 0)?_c('button',{staticClass:\"back\",on:{\"click\":function($event){return _vm.previousLevel()}}},[_c('CIcon',{attrs:{\"name\":\"arrow-thin-left\"}})],1):_vm._e()]),_c('button',{staticClass:\"close\",attrs:{\"aria-label\":\"Close\"},on:{\"click\":function($event){return _vm.closeOverlay()}}},[_c('CIcon',{attrs:{\"name\":\"close\"}})],1)],1),_c('section',{ref:\"scroll-container\",staticClass:\"flex-1 relative overflow-y-auto overflow-x-hidden\"},[_c('transition',{attrs:{\"enter-active-class\":_vm.enterAnimationClasses,\"leave-active-class\":_vm.leaveAnimationClasses}},[(_vm.activeLevel === 0)?_c('section',{key:_vm.activeLevel,staticClass:\"page\"},[_c('CultureAwareRouterLink',{staticClass:\"menu-line font-bold\",attrs:{\"to\":\"/\"},nativeOn:{\"click\":function($event){return _vm.clickMenuLink()}}},[_vm._v(\" \"+_vm._s(_vm._f(\"t\")('FrontPage.Home'))+\" \")]),(_vm.showBecomeACustomer)?_c('CultureAwareRouterLink',{staticClass:\"menu-line\",attrs:{\"to\":_vm.becomeACustomerPage},nativeOn:{\"click\":function($event){return _vm.clickMenuLink()}}},[_c('span',{staticClass:\"flex items-center\"},[_c('CIcon',{staticClass:\"mr-25\",attrs:{\"name\":\"becomeacustomer/become-a-customer\",\"fill\":false,\"width\":\"18\",\"height\":\"18\",\"aria-hidden\":\"true\"}}),_vm._v(\" \"+_vm._s(_vm._f(\"t\")('Information.BecomeACustomer.HeaderButton'))+\" \")],1)]):_vm._e(),_c('ul',[_vm._l((_vm.clientNavigationItems),function(item){return [(_vm.showNavElement(item))?_c('li',{key:item.name,staticClass:\"menu-line\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.nextLevel(item)}}},[_c('span',{staticClass:\"flex items-center\"},[(item.icon)?_c('CIcon',{staticClass:\"mr-25\",attrs:{\"name\":item.icon,\"width\":\"18\",\"height\":\"18\",\"aria-hidden\":\"true\"}}):_vm._e(),_c('span',[_vm._v(_vm._s(item.name))])],1),_c('CIcon',{attrs:{\"name\":\"arrow-thin-right\"}})],1):_vm._e()]})],2),(_vm.productGuidePage)?_c('CultureAwareRouterLink',{staticClass:\"menu-line\",attrs:{\"to\":_vm.productGuidePage},nativeOn:{\"click\":function($event){return _vm.clickMenuLink()}}},[_c('span',{staticClass:\"flex items-center\"},[_c('CIcon',{staticClass:\"mr-25\",attrs:{\"name\":\"productguide\",\"width\":\"18\",\"height\":\"18\",\"aria-hidden\":\"true\"}}),_vm._v(\" \"+_vm._s(_vm._f(\"t\")('ProductGuide'))+\" \")],1)]):_vm._e(),(_vm.salesAndSupportPage)?_c('CultureAwareRouterLink',{staticClass:\"menu-line\",attrs:{\"to\":_vm.salesAndSupportPage},nativeOn:{\"click\":function($event){return _vm.clickMenuLink()}}},[_c('span',{staticClass:\"flex items-center\"},[_c('CIcon',{staticClass:\"mr-25\",attrs:{\"name\":\"support\",\"width\":\"18\",\"height\":\"18\",\"aria-hidden\":\"true\"}}),_vm._v(\" \"+_vm._s(_vm._f(\"t\")('FrontPage.SalesAndSupport'))+\" \")],1)]):_vm._e(),(_vm.isLoggedIn)?_c('CultureAwareRouterLink',{staticClass:\"menu-line\",attrs:{\"to\":{ name: _vm.favouritesPageName }},nativeOn:{\"click\":function($event){return _vm.clickMenuLink()}}},[_c('span',{staticClass:\"flex items-center\"},[_c('CIcon',{staticClass:\"mr-25\",attrs:{\"name\":\"favorite-outline\",\"width\":\"18\",\"height\":\"18\",\"aria-hidden\":\"true\"}}),_vm._v(\" \"+_vm._s(_vm._f(\"t\")('MyAccount.Favourites.Title'))+\" \")],1)]):_vm._e(),(_vm.resourceNavigationItems.length > 0)?_c('section',{},[_c('ul',[_vm._l((_vm.resourceNavigationItems),function(item){return [(_vm.showNavElement(item))?_c('li',{key:item.name,staticClass:\"menu-line\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.nextLevel(item)}}},[_c('span',{staticClass:\"flex items-center\"},[(item.icon)?_c('CIcon',{staticClass:\"mr-25\",attrs:{\"name\":item.icon,\"fill\":item.iconFill === undefined || item.iconFill === true,\"width\":\"18\",\"height\":\"18\",\"aria-hidden\":\"true\"}}):_vm._e(),_c('span',[_vm._v(_vm._s(item.name))])],1),_c('CIcon',{attrs:{\"name\":\"arrow-thin-right\"}})],1):_vm._e()]})],2)]):_vm._e(),(_vm.campaignLink)?_c('CultureAwareRouterLink',{staticClass:\"menu-line\",attrs:{\"to\":_vm.campaignLink.url},nativeOn:{\"click\":function($event){return _vm.clickMenuLink()}}},[_c('span',{staticClass:\"flex items-center\"},[_c('CampaignIcon',{staticClass:\"mr-25\",attrs:{\"campaign-code\":_vm.campaignCode,\"fill\":true,\"original\":false,\"width\":\"18\",\"height\":\"18\"}}),_c('span',[_vm._v(_vm._s(_vm.campaignLink.name))])],1)]):_vm._e(),_c('div',{staticClass:\"mt-30\"},[_vm._l((_vm.navigation),function(menuItem,ix){return _c('CultureAwareRouterLink',{key:ix,staticClass:\"menu-line\",attrs:{\"event\":\"\",\"to\":menuItem.page ? { path: menuItem.url, name: menuItem.page } : menuItem.url},nativeOn:{\"click\":function($event){$event.preventDefault();return _vm.clickNextLevel($event, menuItem)}}},[_c('span',[_vm._v(\" \"+_vm._s(menuItem.name)+\" \")]),_c('CIcon',{attrs:{\"name\":\"arrow-thin-right\"}})],1)}),_c('CultureAwareRouterLink',{staticClass:\"menu-line\",attrs:{\"to\":{ name: _vm.brandPageName }},nativeOn:{\"click\":function($event){return _vm.clickMenuLink()}}},[_c('span',{staticClass:\"flex items-center\"},[_c('span',[_vm._v(_vm._s(_vm._f(\"t\")('Brand.BrandOverview.Title')))])])])],2),_c('section',{staticClass:\"mt-30\"},[_c('div',{staticClass:\"flex items-center\"},[(!_vm.isLoggedIn)?_c('CallToAction',{staticClass:\"m-20\",attrs:{\"icon\":\"login\"},on:{\"click\":_vm.openLogin}},[_vm._v(\" \"+_vm._s(_vm._f(\"t\")('Authentication.Login.LoginBtn'))+\" \")]):_vm._e(),(_vm.showBecomeACustomer)?_c('CallToAction',{staticClass:\"m-20 ml-auto\",attrs:{\"href\":_vm.becomeACustomerPage,\"icon\":\"becomeacustomer/become-a-customer\",\"icon-fill\":false}},[_c('span',{staticClass:\"whitespace-no-wrap font-regular leading-none\"},[_vm._v(_vm._s(_vm._f(\"t\")('Information.BecomeACustomer.HeaderButton')))])]):_vm._e()],1)])],1):_c('section',{key:_vm.activeLevel,staticClass:\"page\"},[(_vm.activeParent.url)?_c('CultureAwareRouterLink',{staticClass:\"bg-gray-300 h-60 flex items-center px-20\",attrs:{\"to\":_vm.activeParent.url},nativeOn:{\"click\":function($event){return _vm.clickMenuLink.apply(null, arguments)}}},[_c('span',{staticClass:\"text-13 font-bold mr-7\"},[_vm._v(_vm._s(_vm.activeParent.name))]),(_vm.activeParent.categoryIds)?_c('div',{staticClass:\"text-13 ml-auto border rounded-l-30 rounded-r-30 py-5 px-15 font-regular\"},[_c('span',{staticClass:\"whitespace-no-wrap\"},[_vm._v(\" \"+_vm._s(_vm._f(\"t\")('Category.MobileMenuGoToParent')))])]):_vm._e()]):(_vm.activeParent.page)?_c('section',{staticClass:\"bg-gray-300 h-60 flex items-center px-20 font-bold\"},[(_vm.activeParent.page)?_c('CultureAwareRouterLink',{staticClass:\"flex-grow\",attrs:{\"to\":_vm.activeParent.page ? { path: _vm.activeParent.url, name: _vm.activeParent.page } : _vm.activeParent.url},nativeOn:{\"click\":function($event){return _vm.clickMenuLink.apply(null, arguments)}}},[_vm._v(\" \"+_vm._s(_vm.activeParent.name)+\" \")]):_vm._e()],1):(_vm.activeParent.name)?_c('section',{staticClass:\"bg-gray-300 h-60 flex items-center px-20\",on:{\"click\":_vm.clickMenuLink}},[_c('span',{staticClass:\"text-13 font-bold\"},[_vm._v(\" \"+_vm._s(_vm.activeParent.name)+\" \")])]):_vm._e(),_c('ul',[_vm._l((_vm.children),function(menuItem,menuIndex){return [(_vm.showNavElement(menuItem))?_c('li',{key:((menuItem.name) + \"-1\"),staticClass:\"menu-line\"},[(menuItem.action)?_c('button',{staticClass:\"w-full h-full flex items-center justify-between\",on:{\"click\":function($event){menuItem.action(); _vm.clickMenuLink();}}},[_c('span',[_vm._v(_vm._s(menuItem.name))]),(menuItem.icon)?_c('CIcon',{attrs:{\"name\":menuItem.icon}}):_vm._e()],1):((menuItem.children && menuItem.children.length) && (menuItem.page || menuItem.url))?_c('CultureAwareRouterLink',{key:((menuItem.name) + \"-page-\" + menuIndex),staticClass:\"w-full h-full flex items-center\",attrs:{\"to\":menuItem.page ? { path: menuItem.url, name: menuItem.page } : menuItem.url,\"event\":\"\"},nativeOn:{\"click\":function($event){$event.preventDefault();return _vm.clickNextLevel($event, menuItem)}}},[_c('span',[_vm._v(\" \"+_vm._s(menuItem.name)+\" \")]),(menuItem.children && menuItem.children.length)?_c('CIcon',{staticClass:\"ml-auto\",attrs:{\"name\":\"arrow-thin-right\"}}):_vm._e()],1):(menuItem.page || menuItem.url)?_c('CultureAwareRouterLink',{key:((menuItem.name) + \"-page-\" + menuIndex),staticClass:\"w-full h-full flex items-center\",class:_vm.classForMenuItem(menuItem),attrs:{\"to\":menuItem.page ? { path: menuItem.url, name: menuItem.page } : menuItem.url},on:{\"click\":_vm.clickMenuLink}},[_c('span',[_vm._v(\" \"+_vm._s(menuItem.name)+\" \")])]):_vm._e()],1):_vm._e()]}),_c('li',{staticClass:\"mt-30 px-20 leading-none\"},[_c('button',{staticClass:\"flex items-center text-14\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.topLevel}},[_c('CIcon',{attrs:{\"name\":\"arrow-left\",\"width\":\"10\",\"height\":\"10\"}}),_c('span',{staticClass:\"ml-8\"},[_vm._v(_vm._s(_vm._f(\"t\")('FrontPage.MobileGoToTopLevelInMenu')))])],1)])],2)],1)])],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\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\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\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 Modal from '@/project/modals/Modal.vue';\r\nimport { Component } from 'vue-property-decorator';\r\nimport { MenuItem } from '@/types/apiServerContract';\r\nimport Accordion from '@/core/ui-components/Accordion.vue';\r\nimport authService from '@/core/auth/auth.service';\r\nimport megaMenuService from '@/project/shared/megaMenu.service';\r\nimport NavigationStore, { ClientMenuItem } from '@/project/layout/navigation/navigation.store';\r\nimport serverContextService from '@/core/serverContext.service';\r\nimport loginFormOverlayService from '@/project/modals/overlays/LoginFormOverlay.service';\r\nimport { PageName } from '@/router/routes/constants';\r\nimport CampaignIcon from '@/project/product/campaigns/CampaignIcon.vue';\r\nimport dictionaryService from '@/core/translation/dictionary.service';\r\nimport urlStringHelperService from '@/core/urlStringHelper.service';\r\nimport appStore from '@/core/app/app.store';\r\n\r\n@Component({\r\n components: {\r\n Accordion,\r\n CampaignIcon\r\n }\r\n})\r\nexport default class MobileMenu extends Modal {\r\n private navigation: readonly (MenuItem | ClientMenuItem)[] = [];\r\n private breadcrumb: (MenuItem | ClientMenuItem)[] = [];\r\n private activeLevel: number = 0;\r\n private forward = true;\r\n private pdpParentCategoryUrl:string | undefined = undefined;\r\n get favouritesPageName() {\r\n return PageName.MY_ACCOUNT_FAVOURITES;\r\n }\r\n\r\n get clientNavigationItems() {\r\n return [NavigationStore.clientNavigationItems];\r\n }\r\n\r\n get resourceNavigationItems() {\r\n if (!(serverContextService?.resourceMenu?.resourceMenuItemGroups?.length)) { return []; }\r\n const resourceMenu: ClientMenuItem = {\r\n name: dictionaryService.get('FrontPage.Resources'),\r\n url: '', // Empty url, because we don't want the page to exist,\r\n icon: 'resources',\r\n iconFill: false,\r\n children: ((serverContextService?.resourceMenu?.resourceMenuItemGroups?.length && serverContextService.resourceMenu.resourceMenuItemGroups) || []).map(link => {\r\n let groupUrl = link.groupUrl || '';\r\n if (urlStringHelperService.hasCulturePrefix(groupUrl)) {\r\n groupUrl = urlStringHelperService.withoutCulturePrefix(groupUrl);\r\n }\r\n return {\r\n name: link.headline || '',\r\n url: groupUrl,\r\n children: link.links?.map(subLink => {\r\n let url: string = subLink.url || '';\r\n if (urlStringHelperService.hasCulturePrefix(url)) {\r\n url = urlStringHelperService.withoutCulturePrefix(url);\r\n }\r\n return {\r\n name: subLink.name || '',\r\n url: url\r\n };\r\n })\r\n };\r\n })\r\n };\r\n\r\n return [resourceMenu];\r\n }\r\n\r\n async created() {\r\n this.navigation = await megaMenuService.getMegaMenu();\r\n this.navigateToActiveNavigationItemOnDemand();\r\n }\r\n\r\n private navigateToActiveNavigationItemOnDemand(): void {\r\n const navigationItems = [...this.clientNavigationItems, ...this.resourceNavigationItems, ...this.navigation];\r\n\r\n if (this.$router.currentRoute.name === PageName.PRODUCT_DETAILS) {\r\n // Finding the products primary category from breadcrumb\r\n if (appStore.breadcrumb.length >= 2) {\r\n this.pdpParentCategoryUrl = appStore.breadcrumb[appStore.breadcrumb.length - 2]?.url || undefined;\r\n }\r\n }\r\n\r\n for (let i = 0; i < navigationItems.length; i++) {\r\n const navigationItem = navigationItems[i];\r\n\r\n if (navigationItem) {\r\n const activeItemTree = this.buildActiveItemTreeFor(navigationItem, []);\r\n if (activeItemTree && activeItemTree.length) {\r\n for (let a = 0; a < activeItemTree.length; a++) {\r\n this.nextLevel(activeItemTree[a]);\r\n }\r\n\r\n return;\r\n }\r\n }\r\n }\r\n }\r\n\r\n private buildActiveItemTreeFor(menuItem: ClientMenuItem | MenuItem, tree: (ClientMenuItem | MenuItem)[] = []): (ClientMenuItem | MenuItem)[] | null {\r\n const isClientMenuItem = Object.prototype.hasOwnProperty.call(menuItem, 'page');\r\n const menuItemProperty = isClientMenuItem ? 'page' : 'url';\r\n const currentPage = this.$route[isClientMenuItem ? 'name' : 'path'];\r\n if (menuItem[menuItemProperty] && (menuItem[menuItemProperty] === currentPage || menuItem[menuItemProperty] === this.pdpParentCategoryUrl)) {\r\n return [...tree, menuItem];\r\n }\r\n\r\n if (menuItem.children && menuItem.children.length) {\r\n for (const menu of menuItem.children) {\r\n const childTree = this.buildActiveItemTreeFor(menu, [...tree, menuItem]);\r\n if (childTree) {\r\n const activeChild = childTree[childTree.length - 1];\r\n\r\n if (activeChild) {\r\n return activeChild.children && activeChild.children.length ? childTree : childTree.slice(0, childTree.length - 1);\r\n }\r\n }\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n private get isLoggedIn(): boolean {\r\n return authService.isLoggedIn();\r\n }\r\n\r\n private get campaignCode() {\r\n return serverContextService?.settings?.menuCampaignIcon;\r\n }\r\n\r\n private get campaignLink() {\r\n return serverContextService?.settings?.menuCampaignLink;\r\n }\r\n\r\n get becomeACustomerPage() {\r\n return serverContextService?.settings?.becomeACustomerPage;\r\n }\r\n\r\n get showBecomeACustomer(): boolean {\r\n // Only show for users who has never been logged in - and only if page exists\r\n return ((!this.isLoggedIn && !authService.hasLoggedInBefore()) && !!this.becomeACustomerPage);\r\n }\r\n\r\n private get activeParent(): MenuItem | ClientMenuItem | null {\r\n if (!this.breadcrumb.length) return null;\r\n return this.breadcrumb[this.activeLevel - 1];\r\n }\r\n\r\n private clickNextLevel($event, menuItem: MenuItem | ClientMenuItem) {\r\n this.nextLevel(menuItem);\r\n if (menuItem?.children?.length) {\r\n $event.preventDefault();\r\n return false;\r\n }\r\n }\r\n\r\n private nextLevel(menuItem: MenuItem | ClientMenuItem) {\r\n this.activeLevel++;\r\n this.breadcrumb.push(menuItem);\r\n this.forward = true;\r\n }\r\n\r\n private previousLevel() {\r\n this.activeLevel--;\r\n this.breadcrumb.pop();\r\n this.forward = false;\r\n }\r\n\r\n private topLevel() {\r\n this.activeLevel = 0;\r\n this.breadcrumb = [];\r\n this.forward = false;\r\n }\r\n\r\n private get children() {\r\n return this.activeParent?.children ?? [];\r\n }\r\n\r\n private get enterAnimationClasses() {\r\n const animCls = this.forward ? 'slideInRight' : 'slideInLeft';\r\n return `animated ${animCls} u-anim-dur-400 u-anim-ease-in-out`;\r\n }\r\n\r\n private get leaveAnimationClasses() {\r\n const animCls = this.forward ? 'slideOutLeft' : 'slideOutRight';\r\n return `animated ${animCls} u-anim-dur-400 u-anim-ease-in-out`;\r\n }\r\n\r\n private get brandPageName() {\r\n return PageName.BRAND_OVERVIEW;\r\n }\r\n\r\n private clickMenuLink() {\r\n setTimeout(() => this.closeOverlay(), 200);\r\n }\r\n\r\n private openLogin() {\r\n loginFormOverlayService.show('login');\r\n }\r\n\r\n private showNavElement(item: ClientMenuItem) {\r\n return NavigationStore.showNavElement(item);\r\n }\r\n\r\n private classForMenuItem(item: ClientMenuItem): string | null {\r\n return this.pdpParentCategoryUrl && this.pdpParentCategoryUrl === item.url ? 'font-bold' : null;\r\n }\r\n\r\n private get productGuidePage() {\r\n return serverContextService?.settings?.productGuidePage;\r\n }\r\n\r\n private get salesAndSupportPage() {\r\n return serverContextService?.settings?.salesAndSupportPage;\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!./MobileMenu.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!./MobileMenu.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MobileMenu.vue?vue&type=template&id=da49fc18&scoped=true&\"\nimport script from \"./MobileMenu.vue?vue&type=script&lang=ts&\"\nexport * from \"./MobileMenu.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./MobileMenu.vue?vue&type=style&index=0&id=da49fc18&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 \"da49fc18\",\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!./MobileMenu.vue?vue&type=style&index=0&id=da49fc18&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!./MobileMenu.vue?vue&type=style&index=0&id=da49fc18&lang=less&scoped=true&\""],"sourceRoot":""}