1import{a3 as we,a4 as F,m as y,a5 as j,Y as O,L as me,w as b,s as Z,c as q,l as se,a6 as fe,a7 as Ee,v as Se,a8 as be,a9 as D,aa as Ve,S as Me,C as ye}from"./storefrontApp.CsApItsi.min.js";import{U as l,V as W,P as S,e as d,$ as _,x as P,w as Le,D as X,t as N}from"./chunk-vendor-lit.NvY0u02.js";import{S as L}from"./chunk-subscription_controller.pXrelaM.js";import{B as Ae}from"./chunk-backdrop_controller.BQhgTTX.js";import{B as re}from"./chunk-btn_controller.BPcEEeZ.js";import{S as Oe}from"./chunk-storefront_base_lit_element.lX23Jvc.js";import{k as $e,r as Te,l as Ne,i as oe,a as Ie,m as ke,u as x,n as Be,w as ae}from"./chunk-index.esm.BJO8Gf1.js";import{f as Re,t as De}from"./chunk-vendor-lodash.CWHFt7Z.js";import{S as Pe}from"./chunk-storefront_settings_constants.DIF02Gz.js";import{M as $,a as He,b as Y,c as J,d as Ue,e as T,T as Fe,f as xe,g as H}from"./chunk-menu_categories_constants.DXYSDJA.js";import{C as je}from"./chunk-context_provider_controller.CCbkLM7.js";import{C as qe}from"./chunk-click_outside_controller.DmGcU-e.js";import{a as We,c as ze}from"./chunk-vendor-rxjs.Dp7kflo.js";import{t as Ge}from"./chunk-translations_directive.DWSzkd6.js";import{C as z}from"./chunk-context_consumer_controller.DQ84A7A.js";import"./chunk-vendor-di.Bh23gdA.js";import"./chunk-vendor-phoenix.cdKS79L.js";import"./chunk-backdrop_constants.5bk4eBT.js";import"./chunk-keystrokes_controller.BSiCZ0Y.js";const Ke={clickedOutside:"clickedOutside"},h={closed:"closed",opened:"opened",close:"close",open:"open",goBack:"goBack",openView:"openView",toggle:"toggle"},Ze=50,Xe=100,C={showed:"menuContentShowed",hidden:"menuContentHidden",connected:"menuContentConnected"},c="s-menu-content",Q="menu__list_gradient",Ye={xs:"xs"},V={open:"open",close:"close",goBack:"goBack",toggle:"toggle"},Je={[V.open]:h.open,[V.close]:h.close,[V.goBack]:h.goBack,[V.toggle]:h.toggle},le="s-menu-toggle-action-button",Qe="s-menu-open-external-action-button",et="s-menu-action-button",ue=250,I="MenuViewChangerService",a={jsMenuLevelRest:"js__menu-level-rest",jsMenuItem:"js__menu-item",jsGoBackButton:"js__menu-go-back-button",jsMobileActionsButtons:"js__menu-mobile-action-buttons",jsSubMenuList:"js__sub-menu-list",jsMenuLevelHeader:"js__menu-level-header",jsMenuListItem:"js__menu-list-item",jsMenuLink:"js__menu-link"},p={root:0,first:1,second:2},E="root",ee="menu",M={sidebar:`${ee}_with-sidebar`,sidebarExpanded:`${ee}_with-sidebar-expanded`};class tt{#e;#t;constructor({viewChangerService:e,host:t}){this.#e=e,this.#t=t}closeAndClearAllViews(e=[]){const t=this.#e.getCurrentView();this.closeAndClearPreviousViews(e),e?.reduce((n,s)=>s===t?.id?!1:n,!0)&&(this.#e.deactivateCurrentView(),t&&this.closeView(t))}resetScrollInAllViews(){this.#t.querySelectorAll(`${c}.${we.horizontalScrollBlock}`).forEach(e=>F.unblockHorizontalScroll(e))}closeAndClearPreviousViews(e){this.closePreviousViews(e),this.#e.clearOpenedViewsHistory()}closePreviousViews(e){(this.#e.getOpenedViewsHistory()??[]).filter(({id:i})=>!e?.includes(i)).forEach(i=>{this.closeView(i)})}isViewVisible(e){const t=this.getMenuContent(e);if(!t)throw new Error(`View with id ${e} does not exist`);return t.isVisible}closeView(e){const t=this.getMenuContent(e.id);if(!t)return;const i=t.closest(`.${a.jsMenuLevelRest}`);i&&l.hide(i),t.hide()}getAllMenuItemsForSpecificContainer(e){return[...e.querySelectorAll(`.${a.jsMenuItem}`)]}deactivateAllToggleButtons(){this.#t.querySelectorAll("[toggleid][active]").forEach(e=>{e.deactivate()})}enableAllToggleButtons(){this.#t.querySelectorAll("[toggleid][disabled]").forEach(e=>e.enable())}activateToggleButton(e){this.getToggleButton(e)?.activate()}deactivateToggleButton(e){this.getToggleButton(e)?.deactivate()}shouldClosePreviousView(e){return e!==p.first&&e!==p.root}isRootMenuContentLevel(e){return e===p.root}isFirstMenuContentLevel(e){return e===p.first}isSecondMenuContentLevel(e){return e===p.second}doesSubmenuContainsSecondContentLevel(e){return!!e.querySelector(`[contentlevel="${p.second}"]`)}getMenuContent(e){return this.#t.querySelector(`[contentId="${e}"]`)}getRestMenuForSpecificView(e){const t=this.getMenuContent(e.id);return t?t.closest(`.${a.jsMenuLevelRest}`):null}getGoBackButtonForSpecificView(e){return e?.querySelector(`.${a.jsGoBackButton}`)}getToggleButton(e){return this.#t.querySelector(`[toggleId="${e}"]`)}showMobileActionsButtons(){const e=this.#t.querySelector(`.${a.jsMobileActionsButtons}`);e&&l.show(e)}hideMobileActionsButtons(){const e=this.#t.querySelector(`.${a.jsMobileActionsButtons}`);e&&l.hide(e)}hasSidebar(){return this.#t.classList.contains(M.sidebar)}}class he{constructor({viewChangerService:e,uiDomHelper:t,host:i,clickOutsideController:n}){this.viewChangerService=e,this.uiDomHelper=t,this.host=i,this.clickOutsideController=n,this.visibilityController=new W(i),this.isOpened=!1}goBack(){const e=this.viewChangerService.getCurrentView();e&&this.uiDomHelper.closeView(e),this.viewChangerService.goToPreviousView()}
1closeView(e){const t=this.viewChangerService.getView(e);t&&this.uiDomHelper.closeView(t)}}class it extends he{constructor(){super(...arguments),this.#e=new Ae,this.close=()=>{this.isOpened&&(this.cleanup(),this.isOpened=!1,this._dispatchEvent(h.closed))},this.open=()=>{this.isOpened||(this.uiDomHelper.showMobileActionsButtons(),this.visibilityController.show(),this.viewChangerService.activateView(E),this.#e.show(),requestAnimationFrame(()=>{this.clickOutsideController.enable()}),this.isOpened=!0,this._dispatchEvent(h.opened))}}#e;setup(){this.host.style.display="flex",this.uiDomHelper.closeAndClearAllViews(),this.visibilityController.hide(),this.clickOutsideController.disable(),this.uiDomHelper.showMobileActionsButtons(),this.uiDomHelper.resetScrollInAllViews(),this.isOpened=!1}toggleView(e){this.uiDomHelper.isViewVisible(e)?this.closeView(e):this.openView(e)}openView(e){this.viewChangerService.setView(e);const t=this.viewChangerService.getCurrentView();if(!t)return;const i=this.viewChangerService.getPreviouslyOpenedView(),n=i?.data??{},s=i&&this.uiDomHelper.getMenuContent(i.id),r=this.uiDomHelper.getMenuContent(t.id);if(!r)return;F.unblockHorizontalScroll(r),s&&F.blockHorizontalScroll(s),i&&this.uiDomHelper.shouldClosePreviousView(n?.contentLevel)&&this.uiDomHelper.closeView(i);const u=r.closest(`.${a.jsMenuLevelRest}`);u&&l.show(u),this._hideGoBackActionButtonIfNeeded(),r.show()}_hideGoBackActionButtonIfNeeded(){const e=this.viewChangerService.getOpenedViewsHistory()??[],t=this.host.querySelector(`.${a.jsMobileActionsButtons}`)?.querySelector(`.${a.jsGoBackButton}`);t&&(e.length?l.show(t):l.hide(t))}_dispatchEvent(e){this.host.dispatchEvent(new Event(e))}cleanup(){this.host.isOpened&&this.#e.hide(),this.visibilityController.hide(),this.uiDomHelper.closeAndClearAllViews(),this.uiDomHelper.resetScrollInAllViews(),this.uiDomHelper.hideMobileActionsButtons(),this.clickOutsideController.disable(),this.host.style.display="block"}}class nt extends he{constructor(){super(...arguments),this.close=()=>{this.cleanup(),this.isOpened=!1,this._dispatchEvent(h.closed)},this.open=()=>{this.viewChangerService.activateView(E),this.isOpened=!0,this._dispatchEvent(h.opened)}}setup(){this.uiDomHelper.closeAndClearAllViews([E]),this.viewChangerService.getView(E)&&this.viewChangerService.setView(E),this.visibilityController.show(),this.clickOutsideController.enable(),this.isOpened=!0}toggleView(e){const t=this.viewChangerService.getCurrentView(),i=this.viewChangerService.getView(e);i&&(this._shouldPreventToggleCurrentView(i,t)||(this.uiDomHelper.isViewVisible(e)?this.closeView(e):this.viewChangerService.setView(e)))}_shouldPreventToggleCurrentView(e,t){const i=e?.data?.contentLevel;return i===void 0||!t?!1:t&&e.id===t.id&&this.uiDomHelper.hasSidebar()&&this.uiDomHelper.isSecondMenuContentLevel(i)}openView(e){const t=this.viewChangerService.getCurrentView();if(!t)return;const i=t?.data?.contentLevel,n=this.uiDomHelper.getMenuContent(t.id);!n||i===void 0||(this.uiDomHelper.isFirstMenuContentLevel(i)&&this._updateViewForFirstContentLevelLayerOpened(t),this.uiDomHelper.isSecondMenuContentLevel(i)&&this._updateViewForSecondContentLevelLayerOpened(),this._adjustPreviouslyOpenedViewsState(t),this._showRestMenu(t),this._hideGoBackActionButtonIfNeeded(t),this.uiDomHelper.activateToggleButton(t.id),n.show())}closeView(e){const t=this.viewChangerService.getView(e);if(!t)throw new Error(`View with id ${e} does not exist`);const i=t.data?.contentLevel;i!==void 0&&this.closeViewsToggleButtonsWithContentLevelGraterOrEqualThan(i),this.uiDomHelper.closeView(t),this.viewChangerService.getCurrentView()?.id===t.id&&this.viewChangerService.deactivateCurrentView(),this.uiDomHelper.deactivateToggleButton(t.id)}_hideGoBackActionButtonIfNeeded(e){const t=this.viewChangerService.getPreviouslyOpenedView();if(!t)return;const{contentLevel:i}=t.data??{},n=this.host.querySelector(`[actionButtonId="${e.data?.goBackActionId}"]`);n&&i!==void 0&&(this.uiDomHelper.isFirstMenuContentLevel(i)?l.hide(n):l.show(n))}_showRestMenu(e){const t=this.uiDomHelper.getRestMenuForSpecificView(e);t&&l.show(t)}_updateViewForFirstContentLevelLayerOpened(e){const t=this.uiDomHelper.getMenuContent(e.id);t&&(this._resetSidebarState(),this.uiDomHelper.doesSubmenuContainsSecondContentLevel(t)&&this.host.classList.add(M.sidebar))}_updateViewForSecondContentLevelLayerOpened(){this.host?.classList.add(M.sidebarExpanded)}_adjustPreviouslyOpenedViewsState(e){const t=e.data?.contentLevel,i=this.viewChangerService.getPreviousView(),n=i?.data?.contentLevel;if(n===void 0||t===void 0)return;n>=t&&(this.closeViewsToggleButtonsWithContentLevelGraterOrEqualThan(t),this._filterFromStorePreviouslyOpenedViewsWithContentLevelGreaterThan(t));const s=i?.data?.contentLevel;s&&this.uiDomHelper.shouldClosePreviousView(s)&&this.uiDomHelper.closeView(i)}_filterFromStorePreviouslyOpenedViewsWithContentLevelGreaterThan(e){this.viewChangerService.updatePreviouslyOpenedViews(t=>t.filter(i=>i.data?.contentLevel?i.data?.contentLevel<e:!1))}
1closeViewsToggleButtonsWithContentLevelGraterOrEqualThan(e){const t=this.viewChangerService.getPreviousView();return[...this.viewChangerService.getOpenedViewsHistory()??[],t].filter(i=>i!==void 0).forEach(i=>{if(!i?.data?.contentLevel)return!1;i.data?.contentLevel>=e&&(this.uiDomHelper.deactivateToggleButton(i.id),this.uiDomHelper.closeView(i))})}_dispatchEvent(e){this.host.dispatchEvent(new Event(e))}cleanup(){this.uiDomHelper.closeAndClearAllViews([E]),this.uiDomHelper.deactivateAllToggleButtons(),this.uiDomHelper.enableAllToggleButtons(),this._resetSidebarState()}_resetSidebarState(){this.host?.classList.remove(M.sidebar),this.host?.classList.remove(M.sidebarExpanded)}}const te={viewClosed:"closed",viewOpened:"opened"};var st=Object.defineProperty,k=(o,e,t,i)=>{for(var n=void 0,s=o.length-1,r;s>=0;s--)(r=o[s])&&(n=r(e,t,n)||n);return n&&st(e,t,n),n};class w extends S{constructor(){super(),this.disabled=!1,this._hoverTimeout=null,this._showMenuAfterDelay=e=>{this._hoverTimeout=window.setTimeout(()=>{this._handleClick(e)},ue)},this._cancelShowMenu=()=>{this._hoverTimeout!==null&&(clearTimeout(this._hoverTimeout),this._hoverTimeout=null)},this._handleClickOnMobile=e=>{window.innerWidth>y.sm||this._handleClick(e)},this._handleClick=e=>{e.preventDefault(),this.disabled||this._dispatchActionEvent()},this._dispatchActionEvent=()=>{const e=new CustomEvent(Je[this.action],{bubbles:!0,detail:{$el:this}});this.dispatchEvent(e)},this._btnController=new re(this,this._handleClick)}static{this.moduleName=et}connectedCallback(){super.connectedCallback();const e=this.closest(c),t=e?.parentElement?.closest(c)===null;if(e&&t){this._addRootMenuEventListeners();return}this.contentLevel===2&&window.innerWidth>y.sm?(this.addEventListener("mouseenter",this._showMenuAfterDelay),this.addEventListener("mouseleave",this._cancelShowMenu)):this.addEventListener("click",this._handleClick)}_addRootMenuEventListeners(){this.addEventListener("click",this._handleClickOnMobile)}disable(){this.disabled=!0}enable(){this.disabled=!1}activate(){this.active=!0}deactivate(){this.active=!1}}k([d({type:String})],w.prototype,"action");k([d({type:Boolean,reflect:!0})],w.prototype,"disabled");k([d({type:Boolean,reflect:!0})],w.prototype,"active");k([d({type:Number,reflect:!0})],w.prototype,"contentLevel");class g{static makeElementsUnnavigableExpectActiveOne(e){this._filterActiveMenuItem(e).forEach(t=>{t.setAttribute("tabindex","-1")})}static makeElementsNavigableExpectActiveOne(e){this._filterActiveMenuItem(e).forEach(t=>{t.setAttribute("tabindex","0")})}static makeElementsNavigable(e){e.forEach(t=>{t.setAttribute("tabindex","0")})}static hasActiveElement(e){return e.reduce((t,i)=>i instanceof w?t||i.active:t,!1)}static _filterActiveMenuItem(e){return e.filter(t=>t instanceof w?!t.active:!0)}}class ce{constructor({viewChangerService:e,uiDomHelper:t,host:i,viewController:n}){this._shouldCloseMenu=s=>{[s.key==="Escape"].every(u=>u)&&this.viewController.close()},this._closeViewIfNavigatedOutside=s=>{const r=s.target;if(typeof r.closest!="function")return;const u=!!r.closest(j.component),v=!!r.closest("h-dropdown-content");u||v||this.viewController.close()},this.uiDomHelper=t,this.viewChangerService=e,this.host=i,this.viewController=n}setup(){document.addEventListener("focusin",this._closeViewIfNavigatedOutside,!0),document.addEventListener("keydown",this._shouldCloseMenu)}setFocusToFirstMenuItemInSidebar(e){const t=e?.querySelector(`.${a.jsSubMenuList}`);t&&l.setFocusToFirstFocusableElementInContainer(t)}setFocusToFirstLinkInParentMenuContentHeader(e){const t=this.uiDomHelper.getRestMenuForSpecificView(e);if(!t)return;const i=t.querySelector(`.${a.jsMenuLevelHeader}`);i&&l.setFocusToFirstFocusableElementInContainer(i)}cleanup(){document.removeEventListener("focus",this._closeViewIfNavigatedOutside,!0),document.removeEventListener("keydown",this._shouldCloseMenu)}}class rt extends ce{constructor(){super(...arguments),this._handleMenuShowed=e=>{if(!e?.detail?.$el)return;const{contentId:t}=e.detail.$el,i=this.viewChangerService.getView(t),n=this.uiDomHelper.getMenuContent(t);if(!i||!n||(this._setFocusToFirstFocusableElementBasedOnCurrentMenuLayout(i,n),!this.uiDomHelper.hasSidebar()))return;const s=n.querySelector(`.${a.jsSubMenuList}`);if(!s)return;const r=this.uiDomHelper.getAllMenuItemsForSpecificContainer(s);g.makeElementsNavigable(r),g.hasActiveElement(r)&&g.makeElementsUnnavigableExpectActiveOne(r)},this._handleFocusChanged=e=>{if(!this.uiDomHelper.hasSidebar())return;const t=e.target,i=t?.closest(c);if(!i)return;const{contentLevel:n}=i;this.uiDomHelper.isFirstMenuContentLevel(n)&&this._updateSidebarMenuItemsTabindex(i,t)}}setup(){super.setup(),this.host.addEventListener(C.showed,this._handleMenuShowed),this.host.addEventListener("focus",this._handleFocusChanged,!0)}_setFocusToFirstFocusableElementBasedOnCurrentMenuLayout(e,t){const{contentLevel:i}=e.data??{};i!==void 0&&i>=2&&this.setFocusToFirstLinkInParentMenuContentHeader(e)}_updateSidebarMenuItemsTabindex(e,t){const i=e.querySelector(`.${a.jsSubMenuList}`);if(!i)return;const n=this.uiDomHelper.getAllMenuItemsForSpecificContainer(i),s=!!t.closest(`.${a.jsSubMenuList}`);if(g.hasActiveElement(n)&&s){g.makeElementsNavigable(n);return}if(g.hasActiveElement(n)&&!s){g.makeElementsUnnavigableExpectActiveOne(n);return}g.makeElementsNavigable(n)}cleanup(){super.cleanup(),this.host.removeEventListener(C.showed,this._handleMenuShowed),this.host.removeEventListener("focus",this._handleFocusChanged,!0)}}class ot extends ce{constructor(){super(...arguments),this._handleMenuShowed=e=>{if(!e?.detail?.$el)return;const{contentId:t}=e.detail.$el,i=this.uiDomHelper.getMenuContent(t);if(!i)return;this._makeNavigableAllItemsInMenu(),this._makeUnnavigableAllFocusableElementsExpectCurrentViewAndMobileActionButtons(i);const n=this._getActiveCategoryLinkInCurrentContent(i);if(n&&!this.uiDomHelper.isFirstMenuContentLevel(i.contentLevel)){n.focus();return}this._focusFirstValidElement(i)}}setup(){super.setup(),this.host.addEventListener(C.showed,this._handleMenuShowed)}_focusFirstValidElement(e){const i=Array.from(e.querySelectorAll(l.getFocusableSelector())).find(n=>!n.classList.contains(a.jsMenuLink));i?i.focus():l.setFocusToFirstFocusableElementInContainer(e)}_getActiveCategoryLinkInCurrentContent(e){const t=e.closest(`${c}:not([contentId="${e.contentId}"])`);if(!t)return;const i=t?.querySelector(`.${a.jsMenuLevelHeader} s-menu-active-content-link`);if(i)return i.querySelector(l.getFocusableSelector())}_makeNavigableAllItemsInMenu(){this.host.querySelectorAll('[tabindex="-1"]').forEach(e
1=>l.makeNavigable(e))}_makeUnnavigableLinksInMenu(){this.host.querySelectorAll(`.${a.jsMenuLink}`).forEach(e=>l.makeUnnavigable(e))}_makeUnnavigableAllFocusableElementsExpectCurrentViewAndMobileActionButtons(e){const t=this.host.querySelectorAll(l.getFocusableSelector()),i=e.querySelectorAll(l.getFocusableSelector()),n=this._getActiveCategoryLinkInCurrentContent(e);[...t].forEach(s=>{s.closest(`.${a.jsMobileActionsButtons}`)||s.closest(`.${a.jsMenuLevelHeader}`)||l.makeUnnavigable(s)}),n&&l.makeNavigable(n),i.forEach(s=>l.makeNavigable(s)),this._makeUnnavigableLinksInMenu()}cleanup(){super.cleanup(),this._makeNavigableAllItemsInMenu(),this.host.removeEventListener(C.showed,this._handleMenuShowed)}}class at{constructor({host:e,resolutionDetectorApi:t,clickOutsideController:i,uiDomHelper:n,viewChangerService:s}){this._handleBreakpointChange=r=>{this._shouldLeaveCurrentViewControlAndKeyboardStrategy(r)||(this._setupNewViewController(),this._setupNewKeyboardController())},this._handleViewChange=r=>{r&&(this.#n?.openView(r.id),this._dispatchEvent(te.viewOpened,{currentView:this.#t.getCurrentView()}))},this.#e=e,this.#i=t,this.#s=new L(e),this.#r=i,this.#t=s,this.#a=n,this.#e.addController(this)}#e;#t;#i;#s;#r;#a;#n;#o;hostConnected(){this._setupSubscriptions(),this._setupNewViewController(),this._setupNewKeyboardController()}_setupSubscriptions(){this.#s.subscribe(this.#i.selectCurrentBreakpoint$(),this._handleBreakpointChange),this.#s.subscribe(this.#t.selectCurrentView$(),this._handleViewChange)}_shouldLeaveCurrentViewControlAndKeyboardStrategy(e){return this.#i.getPreviousBreakpoint()?.name!==O.xs&&e.name!==O.xs}_setupNewViewController(){this.#n?.cleanup(),this.#n=this._getMenuViewControllerStrategyBasedOnBreakpoint(),this.#n?.setup()}_setupNewKeyboardController(){this.#o?.cleanup(),this.#o=this._getMenuKeyboardStrategyBasedOnBreakpoint(),this.#o?.setup()}_getMenuViewControllerStrategyBasedOnBreakpoint(){const e={viewChangerService:this.#t,uiDomHelper:this.#a,clickOutsideController:this.#r,host:this.#e};return this.#i.isXs()?new it(e):new nt(e)}_getMenuKeyboardStrategyBasedOnBreakpoint(){const e={viewChangerService:this.#t,uiDomHelper:this.#a,host:this.#e,viewController:this};return this.#i.isXs()?new ot(e):new rt(e)}close(){this.#n?.close(),this._dispatchEvent(te.viewClosed)}open(){this.#n?.open()}goBack(){return this.#n?.goBack()}toggleView(e){this.#n?.toggleView(e)}openView(e){this.#t.setView(e)}get isOpened(){return!!this.#n?.isOpened}closeView(e){this.#n?.closeView(e)}_dispatchEvent(e,t){this.#e.dispatchEvent(new CustomEvent(e,{detail:t}))}hasMenuContentBeenRegistered(e){return!!this.#t.getView(e)}hostDisconnected(){this._cleanup()}_cleanup(){this.#n?.cleanup(),this.#o?.cleanup()}}var de;de=me;const lt=class ve{constructor({id:e,disabled:t=!1,data:i}){this[de]=!0,this.id=e,this.disabled=t,this.data=i}static create(e){return new ve(e)}};let ie=lt;class ut{constructor({viewRepository:e}){this.viewRepository=e}getCurrentView(){return this.viewRepository.getCurrentView()}getOpenedViewsHistory(){return this.viewRepository.getOpenedViewsHistory()}getPreviouslyOpenedView(){return this.viewRepository.getPreviouslyOpenedView()}selectCurrentView$(){return this.viewRepository.selectCurrentView$()}selectOpenedViewsHistory$(){return this.viewRepository.selectOpenedViewsHistory$()}selectPreviouslyOpenedView$(){return this.viewRepository.selectPreviouslyOpenedView$()}addView(e){this.viewRepository.addView(e)}addViews(e){this.viewRepository.addViews(e)}activateView(e){this.viewRepository.activateView(e)}deactivateCurrentView(){this.viewRepository.deactivateCurrentView()}clearAllViews(){this.viewRepository.clearAllViews()}getPreviousView(){return this.viewRepository.getPreviousView()}clearPreviousView(){this.viewRepository.clearPreviousView()}clearOpenedViewsHistory(){this.viewRepository.clearOpenedViewsHistory()}updatePreviouslyOpenedViews(e){this.viewRepository.updatePreviouslyOpenedViews(e)}getView(e){return this.viewRepository.getView(e)}}class ht extends ut{constructor(e){super(e)}goToPreviousView(){if(!this.hasPreviouslyOpenedView())return;const e=this.getPreviouslyOpenedView();this.viewRepository.updatePreviouslyOpenedViews(t=>t.slice(0,t.length-1)),e&&this.viewRepository.activateView(e.id)}setView(e){const t=this.getCurrentView();
1t?.id===e||!this.viewRepository.getView(e)||(t&&this.viewRepository.updatePreviouslyOpenedViews(n=>[...n,t]),this.viewRepository.activateView(e))}hasPreviouslyOpenedView(){return!!this.getOpenedViewsHistory()?.length}}class ct{#e;#t;constructor({viewEntitiesStore:e,viewStateStore:t}){this.#e=e,this.#t=t}activateView(e){const t=this.getCurrentView();t&&this._setPreviousView(t),this.#e.update($e(e))}deactivateCurrentView(){const e=this.getCurrentView();e&&this._setPreviousView(e),this.#e.update(Te())}_setPreviousView(e){this.#t.update(b(t=>t.previousView=e))}getCurrentView(){return this.#e.query(Ne())}getView(e){return this.#e.query(oe(e))}getPreviouslyOpenedView(){const e=this.#t.getValue().openedViewsHistory;return e[e.length-1]}getOpenedViewsHistory(){return this.#t.getValue().openedViewsHistory}getPreviousView(){return this.#t.getValue().previousView}getAllViews(){return this.#e.query(Ie({filterEntity:e=>!e.disabled}))}selectCurrentView$(){return this.#e.pipe(ke())}selectOpenedViewsHistory$(){return this.#t.pipe(Z(e=>e.openedViewsHistory))}selectPreviouslyOpenedView$(){return this.#t.pipe(Z(e=>e.openedViewsHistory[e.openedViewsHistory.length-1]))}addView(e){this.#e.update(x(e))}addViews(e){this.#e.update(x(e))}updatePreviouslyOpenedViews(e){this.#t.update(b(t=>{t.openedViewsHistory=e(this.getOpenedViewsHistory())}))}clearAllViews(){this.deactivateCurrentView(),this.clearOpenedViewsHistory(),this.clearPreviousView()}clearOpenedViewsHistory(){this.#t.update(b(e=>e.openedViewsHistory=[]))}clearPreviousView(){this.#t.update(b(e=>e.previousView=void 0))}getViewIndex(e){return this.getAllViews().findIndex(i=>i.id===e)}}const dt="ViewHistoryStore",vt="ViewEntitiesStore",_t=()=>q({name:vt},ae(),Be()),gt=()=>q({name:dt},se({openedViewsHistory:[],previousView:void 0}));class pt{#e;constructor({getSubcategories:e}){this.#e=e}createSubmenuList(e,t,i){return _` 2 <ul class="${a.jsSubMenuList} menu__submenu-list menu__submenu-list_${this._getLevelModifier(i)}"> 3 ${t.map(n=>_` 4 <li class="${a.jsMenuListItem} menu__submenu-list-item"> 5 ${n.subcategoryIds.length>0?this._createMenuToggleActionButton(e,n,i):this._createMenuLink(n,i)} 6 </li> 7 `)} 8 </ul> 9 `}createDescendantMenuContents(e,t,i){return this.#e(e.id).filter(n=>n.subcategoryIds.length>0).map(n=>_` 10 ${this.createMenuContent({contentId:this._generateCategoryContentId(t,n.id),category:n,parentContentId:t,goBackActionId:t,contentLevel:i})} 11 ${this.createDescendantMenuContents(n,t,i+1)} 12 `)}createMenuContent({contentId:e,category:t,parentContentId:i,goBackActionId:n,contentLevel:s}){return _` 13 <s-menu-content 14 hidden 15 contentId="${e}" 16 goBackActionId="${n}" 17 parentContentName="${t.name}" 18 parentContentUrl="${t.url}" 19 parentContentId="${i}" 20 contentLevel="${s}" 21 class="menu__content menu-content" 22 > 23 ${this.createSubmenuList(i,this.#e(t.id),s+1)} 24 </s-menu-content> 25 `}createLoadingMenuContent({contentId:e,name:t,url:i,parentContentId:n,goBackActionId:s,contentLevel:r}){return _` 26 <s-menu-content 27 hidden 28 contentId="${e}" 29 goBackActionId="${s}" 30 parentContentName="${t}" 31 parentContentUrl="${i}" 32 parentContentId="${n}" 33 contentLevel="${r}" 34 class="menu__content menu-content ${$.loadingContent}" 35 > 36 <div 37 class="loader ${$.loader}" 38 role="status" 39 > 40 <div class="loader__spinner"></div> 41 </div> 42 </s-menu-content> 43 `}createMenuContentWithDescendants(e){const{category:t,parentContentId:i,contentLevel:n}=e;return[this.createMenuContent(e),...this.createDescendantMenuContents(t,i,n+1)]}_createMenuLink(e,t){return _` 44 <a 45 class="${a.jsMenuItem} js__item-to-aggregate menu__submenu-list-link menu__submenu-list-link_${this._getLevelModifier(t)}" 46 href="${e.url}" 47 title="${e.name}" 48 >
49 <span>${e.name}</span> 50 </a> 51 `}_createMenuToggleActionButton(e,t,i){const n=this._generateCategoryContentId(e,t.id),s=i===p.second,r=_` 52 <s-menu-toggle-action-button 53 class=" 54 ${a.jsMenuItem} 55 js__menu-toggle-action-button 56 js__item-to-aggregate 57 menu-action-button 58 menu-action-button_toggle 59 ${s?"menu-action-button_icon-spread menu__submenu-list-link_toggle":""} 60 menu__submenu-list-link 61 menu__submenu-list-link_${this._getLevelModifier(i)} 62 " 63 aria-controls="${n}" 64 aria-expanded="false" 65 toggleId="${n}" 66 contentLevel="${i}" 67 tabindex="0" 68 > 69 <span>${this._truncateCategoryName(t.name)}</span> 70 ${this._createIcon()} 71 </s-menu-toggle-action-button> 72 `;return s?_` 73 <a 74 class="link_regular menu__link ${a.jsMenuLink}" 75 href="${t.url}" 76 tabindex="-1" 77 >${r}</a 78 > 79 `:r}_createIcon(){const e=document.querySelector("#iconsPath")?.href||"/assets/img/icons/symbol-defs.svg";return _` 80 <svg 81 class="icon menu-action-button__icon menu-action-button__icon_right" 82 aria-hidden="true" 83 > 84 <use 85 href="${e}#icon-chevron-right" 86 xlink:href="${e}#icon-chevron-right" 87 ></use> 88 </svg> 89 `}_generateCategoryContentId(e,t){return`${He}-${e}-${t}`}_getLevelModifier(e){return e===p.second?Y.second:Y.rest}_truncateCategoryName(e){return e.length<=J?e:`${e.slice(0,J)}...`}}class Ct{constructor({host:e,service:t,isProgressiveLoadingEnabled:i}){this.#r=null,this._fetchCategoriesBeforeOpening=()=>{this.#t.fetchCategories()},this._warmUpCategoriesWhenIdle=()=>{this.#r=fe(this._fetchCategoriesBeforeOpening,Ue)},this.#e=e,this.#t=t,this.#s=i,this.#i=new pt({getSubcategories:n=>this.#t.getSubcategories(n)}),this.#e.addController(this)}#e;#t;#i;#s;#r;hostConnected(){this.#e.addEventListener("pointerover",this._fetchCategoriesBeforeOpening),this.#e.addEventListener("focusin",this._fetchCategoriesBeforeOpening),this.#s&&this._scheduleCategoriesWarmUp()}hostDisconnected(){this.#e.removeEventListener("pointerover",this._fetchCategoriesBeforeOpening),this.#e.removeEventListener("focusin",this._fetchCategoriesBeforeOpening),this.#s&&this._cancelCategoriesWarmUp()}_scheduleCategoriesWarmUp(){if(document.readyState==="complete"){this._warmUpCategoriesWhenIdle();return}window.addEventListener("load",this._warmUpCategoriesWhenIdle,{once:!0})}_cancelCategoriesWarmUp(){window.removeEventListener("load",this._warmUpCategoriesWhenIdle),this.#r!==null&&(Ee(this.#r),this.#r=null)}async handleCategoryOpened(e){if(!this.needsMenuContents(e))return;const t=this._getCategoryId(e);if(t===null)return;if(this._shouldRenderLoadingMenuContent(e,t)){this._renderLoadingMenuContent(e),this.#e.flushPendingViews(),this._replaceLoadingMenuContentWithSubcategories(e,t);return}await this.#t.fetchCategories(),this.needsMenuContents(e)&&(this._renderSubcategories(t,e),this.#e.flushPendingViews())}_shouldRenderLoadingMenuContent(e,t){return!this.#s||this._findMenuContent(e)?!1:this.#t.getCategory(t)===void 0}_renderLoadingMenuContent(e){const t=this._findRenderTarget(e);if(!t)return;const{$toggleActionButton:i,$menuLevelRest:n,parentContentId:s,contentLevel:r}=t;this._appendMenuContents(n,[this.#i.createLoadingMenuContent({contentId:e,name:i.textContent?.trim()??"",url:i.closest("a")?.getAttribute("href")??"",parentContentId:s,goBackActionId:s,contentLevel:r})])}async _replaceLoadingMenuContentWithSubcategories(e,t){await this.#t.fetchCategories();const i=this._findMenuContent(e);if(!i)return;const n=this.#t.getCategory(t);if(!n){i.remove();return}const s=i.parentContentId??"",r=i.contentLevel+1,u=i.querySelector(`.${$.loader}`);this._appendMenuContents(i,[this.#i.createSubmenuList(s,this.#t.getSubcategories(t),r)]),u?.remove(),i.classList.remove($.loadingContent);const v=i.closest(`.${a.jsMenuLevelRest}`);v&&this._appendMenuContents(v,this.#i.createDescendantMenuContents(n,s,r)),this.#e.flushPendingViews()}needsMenuContents(e){const t=this._findMenuContent(e);
89if(!t)return this._findToggleActionButton(e)!==null;const i=this._findMenuLevelRest(t);return i?!i.querySelector(c):!1}_getCategoryId(e){const t=this._findMenuContent(e)??this._findToggleActionButton(e),i=Number(t?.getAttribute(T.categoryId));return Number.isInteger(i)&&i>0?i:null}_renderSubcategories(e,t){const i=this.#t.getCategory(e);if(!i)return;const n=this._findMenuContent(t);if(!n){this._renderMenuContentWithSubcategories(i,t);return}const s=n.contentLevel+1,r=this._findMenuLevelRest(n);this._renderSubmenuList(n,this.#t.getSubcategories(e),s),r&&P(this.#i.createDescendantMenuContents(i,t,s),r)}_renderMenuContentWithSubcategories(e,t){const i=this._findRenderTarget(t);if(!i)return;const{$menuLevelRest:n,parentContentId:s,contentLevel:r}=i;this._appendMenuContents(n,this.#i.createMenuContentWithDescendants({contentId:t,category:e,parentContentId:s,goBackActionId:s,contentLevel:r}))}_findRenderTarget(e){const t=this._findToggleActionButton(e),i=t?.closest(c);if(!t||!i)return null;if(!this.#s){const r=this._findMenuLevelRest(i);return r?{$toggleActionButton:t,$menuLevelRest:r,parentContentId:i.contentId,contentLevel:i.contentLevel+1}:null}const n=t.closest(`.${a.jsMenuLevelRest}`)??this._findMenuLevelRest(i),s=n?.closest(c);return!n||!s?null:{$toggleActionButton:t,$menuLevelRest:n,parentContentId:s.contentId,contentLevel:i.contentLevel+1}}_appendMenuContents(e,t){const i=document.createDocumentFragment();P(t,i),e.append(i)}_renderSubmenuList(e,t,i){if(!!e.querySelector(`.${a.jsSubMenuList}`))return;const s=this._findMenuLevel2(e);s&&P(this.#i.createSubmenuList(e.contentId,t,i),s)}_findMenuLevel2(e){return e.querySelector(`.menu__level:not(.${a.jsMenuLevelRest})`)}_findMenuLevelRest(e){return e.querySelector(`.${a.jsMenuLevelRest}`)}_findMenuContent(e){return this.#e.querySelector(`${c}[contentid="${e}"]`)}_findToggleActionButton(e){return this.#e.querySelector(`[${Fe}="${e}"][${T.categoryId}]`)}}class wt{#e;constructor({store:e}){this.#e=e}getCategory(e){return this.#e.query(oe(e))}getSubcategories(e){const t=this.getCategory(e);return t?t.subcategoryIds.map(i=>this.getCategory(i)).filter(i=>i!==void 0):[]}hasLoadedAllCategories(){return this.#e.getValue().hasLoadedAllCategories}saveCategoryTrees(e){const t=[];e.forEach(i=>this._flattenCategoryTree(i,t)),this.#e.update(x(t),b(i=>i.hasLoadedAllCategories=!0))}_flattenCategoryTree(e,t){t.push({id:e.id,name:e.name,url:e.url,subcategoryIds:e.children.map(i=>i.id)}),e.children.forEach(i=>this._flattenCategoryTree(i,t))}}class mt{#e;#t;#i=null;constructor({repository:e,categoryFetcherApi:t}){this.#e=e,this.#t=t}async fetchCategories(){if(!this.#e.hasLoadedAllCategories())return this._deduplicateConcurrentLoads()}getCategory(e){return this.#e.getCategory(e)}getSubcategories(e){return this.#e.getSubcategories(e)}_deduplicateConcurrentLoads(){return this.#i?this.#i:(this.#i=this._fetchAndSaveAllCategoryTrees().finally(()=>{this.#i=null}),this.#i)}async _fetchAndSaveAllCategoryTrees(){const e=await this.#t.getAllCategoryTrees();e&&this.#e.saveCategoryTrees(e)}}const ft=()=>q({name:xe.store},ae(),se({hasLoadedAllCategories:!1})),Et=ft();let U=null;const ne=o=>new mt({repository:new wt({store:Et}),categoryFetcherApi:o}),St=(o,e)=>e?(U||(U=ne(o)),U):ne(o);class bt extends Oe{constructor(){super(),this._id=Se(),this._context=new je(this),this._subscriptionController=new L(this),this._$rootMenuContents=[],this._pendingViews=[],this._batchViewsRafId=null,this._unhoverTimeout=null,this._lastWindowWidth=window.innerWidth,this._menuCurrentRect={left:0,top:0,width:0,height:0},this._menuSafeZoneSize={width:0,height:0},this._resizeObserver=null,this._observedMenuContent=null,this._menuCategoriesController=null,this._registerConnectedContent=e=>{const t=e;t?.detail?.$el&&(this._settingsApi.isFeatureEnabled("dev_storefront_menu_optimization")?this._enqueueContentRegistration(t.detail.$el):this._registerContent(t.detail.$el))},this._handleWindowResize=()=>{window.innerWidth!==this._lastWindowWidth&&(this.viewController.close(),this._resetPreviousMenuDimensions(),this._lastWindowWidth=window.innerWidth)},this._handleToggleViewEvent=e=>{if(!e?.detail?.$el)return;const t=e.detail.$el;this._toggleView(t)},this._handleOpenViewEvent=e=>{if(!e?.detail?.$el)return;const t=e.detail.$el;this._openView(t)},this._goBack=()=>{this.viewController.goBack()},this.close=e=>{e?.detail?.portalId||(this.viewController.close(),this._resetPreviousMenuDimensions(),document.removeEventListener("mouseover",this._closeOnUnhover))},this.open=()=>{this.viewController.open()},this._handleClickOutside=()=>{this.viewController.close(),this._resetPreviousMenuDimensions()},this._resetPreviousMenuDimensions=()=>{this._menuCurrentRect={left:0,top:0,width:0,height:0},this._menuSafeZoneSize={width:0,height:0},this._stopObservingMenuContent()},this._startObservingMenuContent=e=>{this._stopObservingMenuContent(),this._observedMenuContent=e;const{left:t,top:i,width:n,height:s}=e.getBoundingClientRect();this._menuCurrentRect={left:t,top:i,width:n,height:s},this._menuSafeZoneSize={width:n,height:s},this._resizeObserver=new ResizeObserver(r=>{for(const u of r){const v=u.borderBoxSize?.[0],R=v?v.inlineSize:u.contentRect.width,A=v?v.blockSize:u.contentRect.height;this._menuCurrentRect.width=R,this._menuCurrentRect.height=A,this._menuSafeZoneSize.width=Math.max(R,this._menuSafeZoneSize.width),this._menuSafeZoneSize.height=Math.max(A,this._menuSafeZoneSize.height)}}),this._resizeObserver.observe(e)},this._stopObservingMenuContent=()=>{this._resizeObserver?.disconnect(),this._resizeObserver=null,this._observedMenuContent=null},this._isInOffset=(e,t,i,n)=>{const{left:s,top:r,width:u,height:v}=i;return e>=s-n&&e<=s+u+n&&t>=r-n&&t<=r+v+n},this._resetPreviousMenuBounds=()=>{this._menuSafeZoneSize={width:this._menuCurrentRect.width,height:this._menuCurrentRect.height}},this._clearUnhoverTimeout=()=>{this._unhoverTimeout!==null&&(clearTimeout(this._unhoverTimeout),this._unhoverTimeout=null)},this._closeOnUnhover=Re(e=>{if(window.innerWidth<y[Ye.xs])return;const t=this._$rootMenuContents.find(A=>!A.hidden);if(!t)return;this._observedMenuContent!==t&&this._startObservingMenuContent(t);const i=e.target,n=document.querySelector(`${le}[toggleid="${t.contentId}"]`);if(t.contains(i)||n?.contains(i)){this._resetPreviousMenuBounds(),this._clearUnhoverTimeout();return}const{x:s,y:r}=e,u=10,v=new DOMRect(this._menuCurrentRect.left,this._menuCurrentRect.top,this._menuSafeZoneSize.width,this._menuSafeZoneSize.height);if(this._isInOffset(s,r,v,u)){this._clearUnhoverTimeout();return}this._unhoverTimeout===null&&(this._unhoverTimeout=window.setTimeout(()=>{this.close(),this._unhoverTimeout=null},250))},Xe),this._settingsApi=this.getApiSync(Pe.api),this._clickOutsideController=new qe({host:this,container:this,name:this._id,action:this._handleClickOutside}),this._viewChangerService=this._createViewChangerService(),this._uiDomHelper=new tt({viewChangerService:this._viewChangerService,host:this}),this.viewController=new at({host:this,resolutionDetectorApi:this.getApiSync(be.api),clickOutsideController:this._clickOutsideController,viewChangerService:this._viewChangerService,uiDomHelper:this._uiDomHelper}),this._context.provide(I,this._viewChangerService)}static{this.moduleName=j.component}get isOpened(){return this.viewController.isOpened}_createViewChangerService(){return new ht({viewRepository:new ct({viewEntitiesStore:_t(),viewStateStore:gt()})})}async connectedCallback(){super.connectedCallback(),this._$rootMenuContents=[...document.querySelectorAll(`${c}[parentcontentid="root"]`)],this._setupEventsHandlers(),this._shouldFetchCategories()&&(this._menuCategoriesController=await this._createMenuCategoriesController())}_shouldFetchCategories(){const e=this._settingsApi.isFeatureEnabled(H.progressiveLoading)&&this.hasAttribute(T.shouldFetchCategories),t=this._settingsApi.isFeatureEnabled(H.categoriesOptimization)&&this.querySelector(`[${T.categoryId}]`)!==null;return e||t}async _createMenuCategoriesController(){this.isFeatureRegistered(D.feature)||await this.getApiSync(Ve)?.registerDynamic(D.feature);const e=await this.getApi(D.api),t=this._settingsApi.isFeatureEnabled(H.progressiveLoading);return new Ct({host:this,service:St(e,t),isProgressiveLoadingEnabled:t})}_setupEventsHandlers(){this.addEventListener(Ke.clickedOutside,this._handleClickOutside),this.addEventListener(h.close,this.close),this.addEventListener(h.open,this.open),this.addEventListener(h.toggle,this._handleToggleViewEvent),this.addEventListener(h.openView,this._handleOpenViewEvent),this.addEventListener(h.goBack,this._goBack),this.addEventListener(C.connected,this._registerConnectedContent),this._subscriptionController.subscribe(We(window,"resize").pipe(ze(Ze)),this._handleWindowResize)}_registerContent(e){const{contentLevel:t,parentContentId:i,parentContentName:n,parentContentUrl:s,contentId:r,goBackActionId:u}=e;this._viewChangerService.addView(new ie({id:r,data:{contentLevel:t,parentContentName:n,parentContentUrl:s,parentContentId:i,goBackActionId:u}}))}_enqueueContentRegistration(e){const{contentLevel:t,parentContentId:i,parentContentName:n,parentContentUrl:s,contentId:r,goBackActionId:u}=e;this._pendingViews.push(new ie({id:r,data:{contentLevel:t,parentContentName:n,parentContentUrl:s,parentContentId:i,goBackActionId:u}})),this._settingsApi.isFeatureEnabled("dev_storefront_menu_optimization")&&this._batchViewsRafId===null&&(this._batchViewsRafId=requestAnimationFrame(()=>{this.flushPendingViews()}))}flushPendingViews(){this._pendingViews.length>
890&&(this._viewChangerService.addViews(this._pendingViews),this._pendingViews=[]),this._batchViewsRafId=null}_openView(e){const t=e.getAttribute("toggleId");if(t){if(this._settingsApi.isFeatureEnabled("dev_storefront_menu_optimization")&&this._hydrateLazyContent(t),this._menuCategoriesController){this._openViewAfterFetchingSubcategories(t);return}this.viewController.openView(t),this._clearUnhoverTimeout(),document.addEventListener("mouseover",this._closeOnUnhover)}}async _openViewAfterFetchingSubcategories(e){this._keepMenuOpenWhileFetching(),await this._menuCategoriesController?.handleCategoryOpened(e),this.viewController.openView(e)}_toggleView(e){const t=e.getAttribute("toggleId");if(t){if(this._settingsApi.isFeatureEnabled("dev_storefront_menu_optimization")&&this._hydrateLazyContent(t),this._menuCategoriesController){this._toggleViewAfterFetchingSubcategories(t);return}this.viewController.toggleView(t),this._clearUnhoverTimeout(),document.addEventListener("mouseover",this._closeOnUnhover)}}async _toggleViewAfterFetchingSubcategories(e){this._keepMenuOpenWhileFetching(),await this._menuCategoriesController?.handleCategoryOpened(e),this.viewController.toggleView(e)}_keepMenuOpenWhileFetching(){this._clearUnhoverTimeout(),document.addEventListener("mouseover",this._closeOnUnhover)}_hydrateLazyContent(e){const t=this.querySelector(`${c}[contentid="${e}"]`);if(!t)return;const i=[];t.querySelectorAll("template[data-lazy-menu]").forEach(s=>{s.parentElement?.closest(c)===t&&i.push(s)});const n=t.nextElementSibling;n instanceof HTMLTemplateElement&&n.hasAttribute("data-lazy-menu")&&i.push(n),i.length!==0&&(i.forEach(s=>{const r=s.content.cloneNode(!0);s.parentElement?.insertBefore(r,s),s.remove()}),this.flushPendingViews())}disconnectedCallback(){super.disconnectedCallback(),this._settingsApi.isFeatureEnabled("dev_storefront_menu_optimization")&&this._batchViewsRafId!==null&&(cancelAnimationFrame(this._batchViewsRafId),this._batchViewsRafId=null),this._pendingViews=[],this._stopObservingMenuContent(),document.removeEventListener("mouseover",this._closeOnUnhover)}}const Vt="s-menu-active-content-link",Mt="s-menu-active-content-name",yt="s-menu-previous-content-name";var Lt=Object.defineProperty,_e=(o,e,t,i)=>{for(var n=void 0,s=o.length-1,r;s>=0;s--)(r=o[s])&&(n=r(e,t,n)||n);return n&&Lt(e,t,n),n};class G extends S{constructor(){super(),this._subscriptionController=new L(this),this._handleCurrentViewChanged=e=>{e&&(this._activeContentName=e.data?.parentContentName,this._activeContentUrl=e.data?.parentContentUrl)},this._menuViewSwitcherContextConsumer=new z(this),this._visibilityController=new W(this)}static{this.moduleName=Vt}connectedCallback(){super.connectedCallback(),this._getViewChangerService()}async _getViewChangerService(){this._viewChangerService=await this._menuViewSwitcherContextConsumer.consumeAsync(I),this._viewChangerService&&this._subscriptionController.subscribe(this._viewChangerService.selectCurrentView$(),this._handleCurrentViewChanged)}render(){return!this._activeContentName||!this._activeContentUrl?Le:_` 90 <a 91 ?hidden=${!this._visibilityController.isVisible} 92 class="link" 93 href="${this._activeContentUrl}" 94 title="${this._activeContentName}" 95 > 96 ${this.hasSlot(X)?this.getSlot(X):Ge("All products")} 97 </a> 98 `}}_e([N()],G.prototype,"_activeContentName");_e([N()],G.prototype,"_activeContentUrl");var At=Object.defineProperty,Ot=(o,e,t,i)=>{for(var n=void 0,s=o.length-1,r;s>=0;s--)(r=o[s])&&(n=r(e,t,n)||n);return n&&At(e,t,n),n};class ge extends S{constructor(){super(),this._subscriptionController=new L(this),this._handleCurrentViewChanged=e=>{e&&(this._activeContentName=e.data?.parentContentName)},this._menuViewSwitcherContextConsumer=new z(this)}static{this.moduleName=Mt}connectedCallback(){super.connectedCallback(),this._getViewChangerService()}async _getViewChangerService(){this._viewChangerService=await this._menuViewSwitcherContextConsumer.consumeAsync(I),this._viewChangerService&&this._subscriptionController.subscribe(this._viewChangerService.selectCurrentView$(),this._handleCurrentViewChanged)}render(){return _` ${this._activeContentName} `}}Ot([N()],ge.prototype,"_activeContentName");var $t=Object.defineProperty,Tt=Object.getOwnPropertyDescriptor,f=(o,e,t,i)=>{for(var n=i>1?void 0:i?Tt(e,t):e,s=o.length-1,r;s>=0;s--)(r=o[s])&&(n=(i?r(e,t,n):r(n))||n);return i&&n&&$t(e,t,n),n};class m extends S{constructor(){super(),this.contentLevel=0,this._isDragging=!1,this._startX=0,this._scrollLeft=0,this._observer=null,this._observeLastLiElement=e=>{const t=this.querySelector("ul");t&&e.forEach(i=>
98{i.isIntersecting?t.classList.remove(Q):t.classList.add(Q)})},this._onMouseDown=e=>{e.preventDefault(),this.addEventListener("mousemove",this._onMouseMove),this.addEventListener("mouseup",this._onMouseUp),this.addEventListener("mouseleave",this._onMouseLeave),this._isDragging=!0,this._startX=e.pageX-this.scrollLeft,this._scrollLeft=this.scrollLeft},this._onMouseMove=De(e=>{if(!this._isDragging)return;e.preventDefault();const i=(e.pageX-this._startX-this._scrollLeft)*2,n=this.querySelector("ul");n&&(n.scrollLeft=this._scrollLeft-i)},25),this._onMouseUp=e=>{e.preventDefault(),e.stopPropagation(),this.removeEventListener("mousemove",this._onMouseMove),this.removeEventListener("mouseup",this._onMouseUp),this.removeEventListener("mouseleave",this._onMouseLeave),this._isDragging=!1},this._onMouseLeave=e=>{e.preventDefault(),this.removeEventListener("mousemove",this._onMouseMove),this.removeEventListener("mouseup",this._onMouseUp),this.removeEventListener("mouseleave",this._onMouseLeave),this._isDragging=!1},this._visibilityController=new W(this)}static{this.moduleName=c}get isVisible(){return this._visibilityController.isVisible}connectedCallback(){if(super.connectedCallback(),this.id=this.contentId,this._dispatchEvent(C.connected),this.contentId==="root"){this.addEventListener("mousedown",this._onMouseDown),this._observer=new IntersectionObserver(this._observeLastLiElement,{root:null,threshold:.9});const e=this.querySelector("ul.menu__list_root > li:last-child");e&&this._observer.observe(e)}}disconnectedCallback(){super.disconnectedCallback(),this._observer&&this._observer.disconnect()}show(){this._visibilityController.show(),requestAnimationFrame(()=>this._dispatchEvent(C.showed))}hide(){this._visibilityController.hide(),this._dispatchEvent(C.hidden)}_dispatchEvent(e){this.dispatchEvent(new CustomEvent(e,{bubbles:!0,detail:{$el:this}}))}}f([d({type:String})],m.prototype,"contentId",2);f([d({type:Number})],m.prototype,"contentLevel",2);f([d({type:String})],m.prototype,"parentContentName",2);f([d({type:String})],m.prototype,"parentContentId",2);f([d({type:String})],m.prototype,"goBackActionId",2);f([d({type:String})],m.prototype,"parentContentUrl",2);f([d({type:Boolean})],m.prototype,"isVisible",1);var Nt=Object.defineProperty,It=(o,e,t,i)=>{for(var n=void 0,s=o.length-1,r;s>=0;s--)(r=o[s])&&(n=r(e,t,n)||n);return n&&Nt(e,t,n),n};class pe extends S{constructor(){super(),this.selector="s-menu",this._removeAriaExpandedAttribute=()=>{this.removeAttribute("aria-expanded")},this._handleClick=()=>{this.setAttribute("aria-expanded","true"),this._$menu?.open()},this._btnController=new re(this,this._handleClick),this.setAttribute("aria-haspopup","menu")}static{this.moduleName=Qe}connectedCallback(){super.connectedCallback(),this.addEventListener("click",()=>{this._handleClick()}),this._$menu=document.querySelector(this.selector),this._setupEventsListener()}_setupEventsListener(){this._$menu?.addEventListener(h.closed,this._removeAriaExpandedAttribute)}}It([d({type:String})],pe.prototype,"selector");var kt=Object.defineProperty,Bt=(o,e,t,i)=>{for(var n=void 0,s=o.length-1,r;s>=0;s--)(r=o[s])&&(n=r(e,t,n)||n);return n&&kt(e,t,n),n};class Ce extends S{constructor(){super(),this._subscriptionController=new L(this),this._handlePreviousViewChanged=e=>{e&&(this._previousContentName=e?.data?.parentContentName)},this._menuViewSwitcherContextConsumer=new z(this)}static{this.moduleName=yt}connectedCallback(){super.connectedCallback(),this._getViewChangerService()}async _getViewChangerService(){this._viewChangerService=await this._menuViewSwitcherContextConsumer.consumeAsync(I),this._viewChangerService&&this._subscriptionController.subscribe(this._viewChangerService.selectPreviouslyOpenedView$(),this._handlePreviousViewChanged)}render(){return _` ${this._previousContentName}`}}Bt([N()],Ce.prototype,"_previousContentName");var Rt=Object.defineProperty,K=(o,e,t,i)=>{for(var n=void 0,s=o.length-1,r;s>=0;s--)(r=o[s])&&(n=r(e,t,n)||n);return n&&Rt(e,t,n),n};class B extends w{constructor(){super(...arguments),this.action=V.toggle,this._onMouseEnter=()=>{this._hoverTimeout=window.setTimeout(this._openOnHover,ue)},this._onMouseLeave=()=>{this._hoverTimeout!==null&&(clearTimeout(this._hoverTimeout),this._hoverTimeout=null)},this._openOnHover=()=>{window.innerWidth<y[O.xs]||this._dispatchEvent(h.openView)},this._closeOnFocusIn=()=>{window.innerWidth<y[O.xs]||this._dispatchEvent(h.close)}}static{this.moduleName=le}connectedCallback(){super.connectedCallback();const e=this.closest(c),t=e?.parentElement?.closest(c)===null;!e||!t||(this._setupListeners(),this.setAttribute("aria-haspopup","menu"))}_setupListeners(){this.addEventListener("mouseenter",this._onMouseEnter),this.addEventListener("mouseleave",this._onMouseLeave),this.addEventListener("focusin",this._closeOnFocusIn)}_dispatchEvent(e){this.dispatchEvent(new CustomEvent(e,{bubbles:!0,detail:{$el:this}}))}activate(){super.activate(),this.setAttribute("aria-expanded","true"),this.setAttribute("aria-pressed","true"),this.setAttribute("aria-current","true")}deactivate(){super.deactivate(),this.setAttribute("aria-expanded","fal
98se"),this.setAttribute("aria-pressed","false"),this.setAttribute("aria-current","false")}}K([d({type:Number})],B.prototype,"action");K([d({type:String,reflect:!0})],B.prototype,"toggleId");K([d({type:String})],B.prototype,"parentContentId");class ii extends Me{static{this.featureName=j.feature}init(){return{cores:[{type:ye,instance:[bt,m,ge,G,Ce,w,B,pe]}]}}}export{ii as MenuInitializer};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.