iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
2 lines • 24.3 kB
JavaScript
/*! For license information please see 34995.3d80a6d1e8df7e0b.js.LICENSE.txt */
export const __rspack_esm_id=34995;export const __rspack_esm_ids=[34995];export const __webpack_modules__={50759(e,t,n){n.d(t,{A:()=>p});n(18111),n(7588);var s=n(5124),o=n(22441),a=n(27259),i=n(40991),r=n(92070),u=n(9395),l=n(717),m=(n(38625),s.AH`:host{display:flex;position:relative;align-items:center;padding:.5em 1em;border-radius:var(--wa-border-radius-s);isolation:isolate;color:var(--wa-color-text-normal);line-height:var(--wa-line-height-condensed);cursor:pointer;transition:var(--wa-transition-fast) background-color var(--wa-transition-easing),var(--wa-transition-fast) color var(--wa-transition-easing)} (hover:hover){:host(:hover:not(:state(disabled))){background-color:var(--wa-color-neutral-fill-normal)}}:host(:state(submenu-open)){background-color:var(--wa-color-neutral-fill-normal)}:host(:focus-visible){z-index:1;outline:var(--wa-focus-ring);background-color:var(--wa-color-neutral-fill-normal)}:host(:state(disabled)),:host([disabled]){opacity:.5;cursor:not-allowed}:host([variant=danger]),:host([variant=danger]) #details{color:var(--wa-color-danger-on-quiet)} (hover:hover){:host([variant=danger]:hover){background-color:var(--wa-color-danger-fill-normal);color:var(--wa-color-danger-on-normal)}}:host([variant=danger]:focus-visible),:host([variant=danger]:state(submenu-open)){background-color:var(--wa-color-danger-fill-normal);color:var(--wa-color-danger-on-normal)}:host([checkbox-adjacent]){padding-inline-start:2em}:host([submenu-adjacent]:not(:state(has-submenu))) #details{padding-inline-end:0}:host(:state(has-submenu)[submenu-adjacent]) #details{padding-inline-end:1.75em}#check{visibility:hidden;margin-inline-start:-1.5em;margin-inline-end:.5em;font-size:var(--wa-font-size-smaller)}:host(:state(checked)) #check{visibility:visible}#icon ::slotted(*){display:flex;flex:0 0 auto;align-items:center;margin-inline-end:.75em!important;font-size:var(--wa-font-size-smaller)}#label{flex:1 1 auto;min-width:0}#details{display:flex;flex:0 0 auto;align-items:center;justify-content:end;color:var(--wa-color-text-quiet);font-size:var(--wa-font-size-smaller)!important}#details ::slotted(*){margin-inline-start:2em!important}#submenu-indicator{position:absolute;inset-inline-end:1em;color:var(--wa-color-neutral-on-quiet);font-size:var(--wa-font-size-smaller)}:host(:dir(rtl)) #submenu-indicator{transform:scaleX(-1)}#submenu{display:flex;z-index:10;position:absolute;top:0;left:0;flex-direction:column;width:max-content;margin:0;padding:.25em;border:var(--wa-border-style) var(--wa-border-width-s) var(--wa-color-surface-border);border-radius:var(--wa-border-radius-m);background-color:var(--wa-color-surface-raised);box-shadow:var(--wa-shadow-m);color:var(--wa-color-text-normal);text-align:start;-webkit-user-select:none;user-select:none}#submenu[popover]{margin:0;inset:auto;padding:.25em;overflow:visible;border-radius:var(--wa-border-radius-m)}#submenu.show{animation:submenu-show var(--show-duration,50ms) ease}#submenu.hide{animation:submenu-show var(--show-duration,50ms) ease reverse}#submenu[data-placement^=top]{transform-origin:bottom}#submenu[data-placement^=bottom]{transform-origin:top}#submenu[data-placement^=left]{transform-origin:right}#submenu[data-placement^=right]{transform-origin:left}#submenu[data-placement=left-start]{transform-origin:right top}#submenu[data-placement=left-end]{transform-origin:right bottom}#submenu[data-placement=right-start]{transform-origin:left top}#submenu[data-placement=right-end]{transform-origin:left bottom}#submenu::before{display:none;z-index:9;position:fixed;top:0;right:0;bottom:0;left:0;background-color:transparent;content:"";clip-path:polygon(var(--safe-triangle-cursor-x,0) var(--safe-triangle-cursor-y,0),var(--safe-triangle-submenu-start-x,0) var(--safe-triangle-submenu-start-y,0),var(--safe-triangle-submenu-end-x,0) var(--safe-triangle-submenu-end-y,0));pointer-events:auto}#submenu[data-visible]::before{display:block}::slotted(wa-dropdown-item){font-size:inherit}::slotted(wa-divider){--spacing:0.25em} submenu-show{from{scale:0.9;opacity:0}to{scale:1;opacity:1}}`),h=Object.defineProperty,c=Object.getOwnPropertyDescriptor,d=(e,t,n,s)=>{for(var o,a=s>1?void 0:s?c(t,n):t,i=e.length-1;i>=0;i--)(o=e[i])&&(a=(s?o(t,n,a):o(a))||a);return s&&a&&h(t,n,a),a};let p=class extends l.A{handleSizeChange(){(0,i.b)(this.localName,this.size)}connectedCallback(){super.connectedCallback(),this.addEventListener("click",this.handleHostClick),this.addEventListener("mouseenter",this.handleMouseEnter.bind(this)),this.shadowRoot.addEventListener("click",this.handleClick,{capture:!0}),this.shadowRoot.addEventListener("slotchange",this.handleSlotChange)}disconnectedCallback(){super.disconnectedCallback(),this.closeSubmenu(),this.removeEventListener("click",this.handleHostClick),this.removeEventListener("mouseenter",this.handleMouseEnter),this.shadowRoot.removeEventListener("click",this.handleClick,{capture:!0}),this.shadowRoot.removeEventListener("slotchange",this.handleSlotChange)}firstUpdated(){this.setAttribute("tabindex","-1"),this.hasSubmenu=this.hasSlotController.test("submenu"),this.updateHasSubmenuState()}updated(e){e.has("active")&&(this.setAttribute("tabindex",this.active?"0":"-1"),this.customStates.set("active",this.active)),e.has("checked")&&("checkbox"===this.type?this.setAttribute("aria-checked",this.checked?"true":"false"):this.removeAttribute("aria-checked"),this.customStates.set("checked",this.checked)),e.has("disabled")&&(this.setAttribute("aria-disabled",this.disabled?"true":"false"),this.customStates.set("disabled",this.disabled),this.style.pointerEvents=this.disabled?"none":""),e.has("type")&&("checkbox"===this.type?(this.setAttribute("role","menuitemcheckbox"),this.setAttribute("aria-checked",this.checked?"true":"false")):(this.setAttribute("role","menuitem"),this.removeAttribute("aria-checked"))),e.has("submenuOpen")&&(this.customStates.set("submenu-open",this.submenuOpen),this.submenuOpen?this.openSubmenu():this.closeSubmenu())}updateHasSubmenuState(){this.customStates.set("has-submenu",this.hasSubmenu)}async openSubmenu(){const e=this.submenuElement;this.hasSubmenu&&e&&this.isConnected&&(this.notifyParentOfOpening(),e.showPopover?.(),e.hidden=!1,e.setAttribute("data-visible",""),this.submenuOpen=!0,this.setAttribute("aria-expanded","true"),await(0,a.Ud)(e,"show"),setTimeout(()=>{const e=this.getSubmenuItems();e.length>0&&(e.forEach((e,t)=>e.active=0===t),e[0].focus({preventScroll:!0}))},0))}notifyParentOfOpening(){const e=new CustomEvent("submenu-opening",{bubbles:!0,composed:!0,detail:{item:this}});this.dispatchEvent(e);const t=this.parentElement;if(t){[...t.children].filter(e=>e!==this&&"wa-dropdown-item"===e.localName&&e.getAttribute("slot")===this.getAttribute("slot")&&e.submenuOpen).forEach(e=>{e.submenuOpen=!1})}}async closeSubmenu(){const e=this.submenuElement;this.hasSubmenu&&e&&(this.submenuOpen=!1,this.setAttribute("aria-expanded","false"),e.hidden||(await(0,a.Ud)(e,"hide"),e?.isConnected&&(e.hidden=!0,e.removeAttribute("data-visible"),e.hidePopover?.())))}getSubmenuItems(){return[...this.children].filter(e=>"wa-dropdown-item"===e.localName&&"submenu"===e.getAttribute("slot")&&!e.hasAttribute("disabled"))}handleMouseEnter(){this.hasSubmenu&&!this.disabled&&(this.notifyParentOfOpening(),this.submenuOpen=!0)}render(){return s.qy` ${"checkbox"===this.type?s.qy`<slot name="checkbox-icon">${this.renderCheckboxIcon()}</slot>`:""} <span id="icon" part="icon"> <slot name="icon"></slot> </span> <span id="label" part="label"> <slot></slot> </span> <span id="details" part="details"> <slot name="details"></slot> </span> ${this.hasSubmenu?s.qy` <wa-icon id="submenu-indicator" part="submenu-icon" exportparts="svg:submenu-icon__svg" library="system" name="chevron-right"></wa-icon> `:""} ${this.hasSubmenu?s.qy` <div id="submenu" part="submenu" popover="manual" role="menu" tabindex="-1" aria-orientation="vertical" hidden> <slot name="submenu"></slot> </div> `:""} `}renderCheckboxIcon(){return s.qy` <wa-icon id="check" part="checkmark" exportparts="svg:checkmark__svg" library="system" name="check"></wa-icon> `}constructor(){super(...arguments),this.hasSlotController=new r.X(this,"[default]","start","end"),this.active=!1,this.variant="default",this.size="m",this.checkboxAdjacent=!1,this.submenuAdjacent=!1,this.type="normal",this.checked=!1,this.disabled=!1,this.submenuOpen=!1,this.hasSubmenu=!1,this.handleSlotChange=()=>{this.hasSubmenu=this.hasSlotController.test("submenu"),this.updateHasSubmenuState(),this.hasSubmenu?(this.setAttribute("aria-haspopup","menu"),this.setAttribute("aria-expanded",this.submenuOpen?"true":"false")):(this.removeAttribute("aria-haspopup"),this.removeAttribute("aria-expanded"))},this.handleHostClick=e=>{this.disabled&&(e.preventDefault(),e.stopImmediatePropagation())},this.handleClick=e=>{this.disabled&&(e.preventDefault(),e.stopImmediatePropagation())}}};p.css=m,d([(0,o.P)("#submenu")],p.prototype,"submenuElement",2),d([(0,o.MZ)({type:Boolean})],p.prototype,"active",2),d([(0,o.MZ)({reflect:!0})],p.prototype,"variant",2),d([(0,o.MZ)({reflect:!0})],p.prototype,"size",2),d([(0,u.w)("size")],p.prototype,"handleSizeChange",1),d([(0,o.MZ)({attribute:"checkbox-adjacent",type:Boolean,reflect:!0})],p.prototype,"checkboxAdjacent",2),d([(0,o.MZ)({attribute:"submenu-adjacent",type:Boolean,reflect:!0})],p.prototype,"submenuAdjacent",2),d([(0,o.MZ)()],p.prototype,"value",2),d([(0,o.MZ)({reflect:!0})],p.prototype,"type",2),d([(0,o.MZ)({type:Boolean})],p.prototype,"checked",2),d([(0,o.MZ)({type:Boolean,reflect:!0})],p.prototype,"disabled",2),d([(0,o.MZ)({type:Boolean,reflect:!0})],p.prototype,"submenuOpen",2),d([(0,o.wk)()],p.prototype,"hasSubmenu",2),p=d([(0,o.EM)("wa-dropdown-item")],p)},52254(e,t,n){n.a(e,async function(e,s){try{n.d(t,{A:()=>M});n(74423),n(44114),n(18111),n(22489),n(20116),n(7588),n(61701),n(13579),n(45367),n(92731),n(17642),n(58004),n(33853),n(45876),n(32475),n(15024),n(31698);var o=n(76848),a=n(5124),i=n(22441),r=n(17051),u=n(42462),l=n(28438),m=n(70214),h=n(98779),c=n(69840),d=n(27259),p=n(25877),b=n(95010),g=n(40991),f=n(9395),v=n(717),w=n(31896),y=n(17060),S=(n(50759),n(40158)),k=n(92920),E=e([S,y]);[S,y]=E.then?(await E)():E;var x=Object.defineProperty,A=Object.getOwnPropertyDescriptor,C=(e,t,n,s)=>{for(var o,a=s>1?void 0:s?A(t,n):t,i=e.length-1;i>=0;i--)(o=e[i])&&(a=(s?o(t,n,a):o(a))||a);return s&&a&&x(t,n,a),a};const T=new Set;let M=class extends v.A{handleSizeChange(){(0,g.b)(this.localName,this.size)}disconnectedCallback(){super.disconnectedCallback(),clearInterval(this.userTypedTimeout),this.closeAllSubmenus(),this.submenuCleanups.forEach(e=>e()),this.submenuCleanups.clear(),document.removeEventListener("mousemove",this.handleGlobalMouseMove),document.removeEventListener("keydown",this.handleDocumentKeyDown),document.removeEventListener("pointerdown",this.handleDocumentPointerDown),(0,p.Fw)(this)}firstUpdated(){this.syncAriaAttributes()}async updated(e){if(e.has("open")){const t=e.get("open");if(t===this.open)return;if(void 0===t&&!1===this.open)return;this.customStates.set("open",this.open),this.open?await this.showMenu():(this.closeAllSubmenus(),await this.hideMenu())}e.has("size")&&this.syncItemSizes()}getItems(e=!1){const t=(this.defaultSlot?.assignedElements({flatten:!0})??[]).filter(e=>e.localName===this.dropdownItemTag);return e?t:t.filter(e=>!e.disabled)}getSubmenuItems(e,t=!1){const n=e.shadowRoot?.querySelector('slot[name="submenu"]')||e.querySelector('slot[name="submenu"]');if(!n)return[];const s=n.assignedElements({flatten:!0}).filter(e=>e.localName===this.dropdownItemTag);return t?s:s.filter(e=>!e.disabled)}syncItemSizes(){(this.defaultSlot?.assignedElements({flatten:!0})??[]).filter(e=>e.localName===this.dropdownItemTag).forEach(e=>e.size=this.size)}addToSubmenuStack(e){const t=this.openSubmenuStack.indexOf(e);-1!==t?this.openSubmenuStack=this.openSubmenuStack.slice(0,t+1):this.openSubmenuStack.push(e)}removeFromSubmenuStack(){return this.openSubmenuStack.pop()}getCurrentSubmenuItem(){return this.openSubmenuStack.length>0?this.openSubmenuStack[this.openSubmenuStack.length-1]:void 0}closeAllSubmenus(){this.getItems(!0).forEach(e=>{e.submenuOpen=!1}),this.openSubmenuStack=[]}closeSiblingSubmenus(e){const t=e.closest(`${this.dropdownItemTag}:not([slot="submenu"])`);let n;n=t?this.getSubmenuItems(t,!0):this.getItems(!0),n.forEach(t=>{t!==e&&t.submenuOpen&&(t.submenuOpen=!1)}),this.openSubmenuStack.includes(e)||this.openSubmenuStack.push(e)}getTrigger(){return this.querySelector('[slot="trigger"]')}async showMenu(){if(!this.getTrigger()||!this.popup||!this.menu)return;const e=new h.k;if(this.dispatchEvent(e),e.defaultPrevented)return void(this.open=!1);if(this.popup.active)return;T.forEach(e=>e.open=!1),this.popup.active=!0,this.open=!0,T.add(this),(0,p.AZ)(this),this.syncAriaAttributes(),this.addEventListener("keydown",this.handleDocumentKeyDown),document.addEventListener("pointerdown",this.handleDocumentPointerDown),document.addEventListener("mousemove",this.handleGlobalMouseMove),this.menu.classList.remove("hide"),await(0,d.Ud)(this.menu,"show");const t=this.getItems();t.length>0&&(t.forEach((e,t)=>e.active=0===t),t[0].focus({preventScroll:!0})),this.dispatchEvent(new u.q)}async hideMenu(){if(!this.popup||!this.menu)return;const e=new l.L({source:this});this.dispatchEvent(e),e.defaultPrevented?this.open=!0:(this.open=!1,T.delete(this),(0,p.Fw)(this),this.syncAriaAttributes(),this.removeEventListener("keydown",this.handleDocumentKeyDown),document.removeEventListener("pointerdown",this.handleDocumentPointerDown),document.removeEventListener("mousemove",this.handleGlobalMouseMove),this.menu.classList.remove("show"),await(0,d.Ud)(this.menu,"hide"),this.popup.active=this.open,this.dispatchEvent(new r.Z))}handleMenuClick(e){const t=e.target.closest(this.dropdownItemTag);if(t&&!t.disabled)return t.hasSubmenu?(t.submenuOpen||(this.closeSiblingSubmenus(t),this.addToSubmenuStack(t),t.submenuOpen=!0),void e.stopPropagation()):void this.makeSelection(t)}async handleMenuSlotChange(){const e=this.getItems(!0);await Promise.all(e.map(e=>e.updateComplete)),this.syncItemSizes();const t=e.some(e=>"checkbox"===e.type),n=e.some(e=>e.hasSubmenu);e.forEach((e,s)=>{e.active=0===s,e.checkboxAdjacent=t,e.submenuAdjacent=n})}handleTriggerClick(){this.open=!this.open}handleSubmenuOpening(e){const t=e.detail.item;this.closeSiblingSubmenus(t),this.addToSubmenuStack(t),this.setupSubmenuPosition(t),this.processSubmenuItems(t)}setupSubmenuPosition(e){if(!e.submenuElement)return;this.cleanupSubmenuPosition(e);const t=(0,o.ll)(e,e.submenuElement,()=>{this.positionSubmenu(e),this.updateSafeTriangleCoordinates(e)});this.submenuCleanups.set(e,t);const n=e.submenuElement.querySelector('slot[name="submenu"]');n&&(n.removeEventListener("slotchange",this._onSubmenuSlotChange),n.addEventListener("slotchange",this._onSubmenuSlotChange),this._onSubmenuSlotChange({target:n}))}static handleSubmenuSlotChange(e,t){const n=e.target;if(!n)return;const s=n.assignedElements().filter(e=>e.localName===t);if(0===s.length)return;const o=s.some(e=>e.hasSubmenu),a=s.some(e=>"checkbox"===e.type);s.forEach(e=>{e.submenuAdjacent=o,e.checkboxAdjacent=a})}processSubmenuItems(e){if(!e.submenuElement)return;const t=this.getSubmenuItems(e,!0),n=t.some(e=>e.hasSubmenu);t.forEach(e=>{e.submenuAdjacent=n})}cleanupSubmenuPosition(e){const t=this.submenuCleanups.get(e);t&&(t(),this.submenuCleanups.delete(e))}positionSubmenu(e){if(!e.submenuElement)return;const t="rtl"===this.localize.dir()?"left-start":"right-start";(0,o.rD)(e,e.submenuElement,{placement:t,middleware:[(0,o.cY)({mainAxis:0,crossAxis:-5}),(0,o.UU)({fallbackStrategy:"bestFit"}),(0,o.BN)({padding:8})]}).then(({x:t,y:n,placement:s})=>{e.submenuElement.setAttribute("data-placement",s),Object.assign(e.submenuElement.style,{left:`${t}px`,top:`${n}px`})})}updateSafeTriangleCoordinates(e){if(!e.submenuElement||!e.submenuOpen)return;const t=document.activeElement?.matches(":focus-visible");if(t)return void e.submenuElement.style.setProperty("--safe-triangle-visible","none");e.submenuElement.style.setProperty("--safe-triangle-visible","block");const n=e.submenuElement.getBoundingClientRect(),s="rtl"===this.localize.dir();e.submenuElement.style.setProperty("--safe-triangle-submenu-start-x",`${s?n.right:n.left}px`),e.submenuElement.style.setProperty("--safe-triangle-submenu-start-y",`${n.top}px`),e.submenuElement.style.setProperty("--safe-triangle-submenu-end-x",`${s?n.right:n.left}px`),e.submenuElement.style.setProperty("--safe-triangle-submenu-end-y",`${n.bottom}px`)}makeSelection(e){const t=this.getTrigger();if(e.disabled)return;"checkbox"===e.type&&(e.checked=!e.checked);const n=new m.j({item:e});this.dispatchEvent(n),n.defaultPrevented||(this.open=!1,t?.focus({preventScroll:!0}))}async syncAriaAttributes(){const e=this.getTrigger();let t;e&&("wa-button"===e.localName?(await customElements.whenDefined("wa-button"),await e.updateComplete,t=e.shadowRoot.querySelector('[part="base"]')):t=e,t.hasAttribute("id")||t.setAttribute("id",(0,b.N)("wa-dropdown-trigger-")),t.setAttribute("aria-haspopup","menu"),t.setAttribute("aria-expanded",this.open?"true":"false"),this.menu?.setAttribute("aria-expanded","false"))}render(){let e=this.hasUpdated?this.popup?.active:this.open;return a.qy` <wa-popup placement="${this.placement}" distance="${this.distance}" skidding="${this.skidding}" ?active="${e}" flip flip-fallback-strategy="best-fit" shift shift-padding="10" auto-size="vertical" auto-size-padding="10"> <slot name="trigger" slot="anchor" ="${this.handleTriggerClick}" ="${this.syncAriaAttributes}"></slot> <div id="menu" part="menu" role="menu" tabindex="-1" aria-orientation="vertical" ="${this.handleMenuClick}" -opening="${this.handleSubmenuOpening}"> <slot ="${this.handleMenuSlotChange}"></slot> </div> </wa-popup> `}constructor(){super(...arguments),this.submenuCleanups=new Map,this.localize=new y.c(this),this.userTypedQuery="",this.openSubmenuStack=[],this.open=!1,this.size="m",this.dropdownTag="wa-dropdown",this.dropdownItemTag="wa-dropdown-item",this.placement="bottom-start",this.distance=0,this.skidding=0,this.handleDocumentKeyDown=async e=>{const t="rtl"===this.localize.dir();if("Escape"===e.key&&this.open&&(0,p.a0)(this)){const t=this.getTrigger();return e.preventDefault(),e.stopPropagation(),this.open=!1,void t?.focus({preventScroll:!0})}const n=[...(0,c.C)()].find(e=>e.localName===this.dropdownItemTag),s=n?.localName===this.dropdownItemTag,o=this.getCurrentSubmenuItem(),a=!!o;let i,r,u,l;if(a?(i=this.getSubmenuItems(o),r=i.find(e=>e.active||e===n),u=r?i.indexOf(r):-1):(i=this.getItems(),r=i.find(e=>e.active||e===n),u=r?i.indexOf(r):-1),"ArrowUp"===e.key&&(e.preventDefault(),e.stopPropagation(),l=u>0?i[u-1]:i[i.length-1]),"ArrowDown"===e.key&&(e.preventDefault(),e.stopPropagation(),l=-1!==u&&u<i.length-1?i[u+1]:i[0]),e.key===(t?"ArrowLeft":"ArrowRight")&&s&&r&&r.hasSubmenu)return e.preventDefault(),e.stopPropagation(),r.submenuOpen=!0,this.addToSubmenuStack(r),void setTimeout(()=>{const e=this.getSubmenuItems(r);e.length>0&&(e.forEach((e,t)=>e.active=0===t),e[0].focus({preventScroll:!0}))},0);if(e.key===(t?"ArrowRight":"ArrowLeft")&&a){e.preventDefault(),e.stopPropagation();const t=this.removeFromSubmenuStack();return void(t&&(t.submenuOpen=!1,setTimeout(()=>{t.focus({preventScroll:!0}),t.active=!0;("submenu"===t.slot?this.getSubmenuItems(t.parentElement):this.getItems()).forEach(e=>{e!==t&&(e.active=!1)})},0)))}if("Home"!==e.key&&"End"!==e.key||(e.preventDefault(),e.stopPropagation(),l="Home"===e.key?i[0]:i[i.length-1]),"Tab"===e.key&&await this.hideMenu(),1!==e.key.length||e.metaKey||e.ctrlKey||e.altKey||" "===e.key&&""===this.userTypedQuery||(clearTimeout(this.userTypedTimeout),this.userTypedTimeout=setTimeout(()=>{this.userTypedQuery=""},1e3),this.userTypedQuery+=e.key,i.some(e=>{const t=(e.textContent||"").trim().toLowerCase(),n=this.userTypedQuery.trim().toLowerCase();return!!t.startsWith(n)&&(l=e,!0)})),l)return e.preventDefault(),e.stopPropagation(),i.forEach(e=>e.active=e===l),l.focus({preventScroll:!0}),void l.scrollIntoView({block:"nearest"});("Enter"===e.key||" "===e.key&&""===this.userTypedQuery)&&s&&r&&(e.preventDefault(),e.stopPropagation(),r.hasSubmenu?(r.submenuOpen=!0,this.addToSubmenuStack(r),setTimeout(()=>{const e=this.getSubmenuItems(r);e.length>0&&(e.forEach((e,t)=>e.active=0===t),e[0].focus({preventScroll:!0}))},0)):this.makeSelection(r))},this.handleDocumentPointerDown=e=>{e.composedPath().some(e=>e instanceof HTMLElement&&(e===this||e.closest(`${this.dropdownTag}, [part="submenu"]`)))||(this.open=!1)},this._onSubmenuSlotChange=e=>{M.handleSubmenuSlotChange(e,this.dropdownItemTag)},this.handleGlobalMouseMove=e=>{const t=this.getCurrentSubmenuItem();if(!t?.submenuOpen||!t.submenuElement)return;const n=t.submenuElement.getBoundingClientRect(),s="rtl"===this.localize.dir(),o=s?n.right:n.left,a=s?Math.max(e.clientX,o):Math.min(e.clientX,o),i=Math.max(n.top,Math.min(e.clientY,n.bottom));t.submenuElement.style.setProperty("--safe-triangle-cursor-x",`${a}px`),t.submenuElement.style.setProperty("--safe-triangle-cursor-y",`${i}px`);const r=e.composedPath(),u=t.matches(":hover"),l=Boolean(t.submenuElement?.matches(":hover")),m=u||!!r.find(e=>e===t),h=l||!!r.find(e=>e instanceof HTMLElement&&e.closest('[part="submenu"]')===t.submenuElement);m||h||setTimeout(()=>{u||l||(t.submenuOpen=!1)},100)}}};M.css=[w.A,k.A],C([(0,i.P)("slot:not([name])")],M.prototype,"defaultSlot",2),C([(0,i.P)("#menu")],M.prototype,"menu",2),C([(0,i.P)("wa-popup")],M.prototype,"popup",2),C([(0,i.MZ)({type:Boolean,reflect:!0})],M.prototype,"open",2),C([(0,i.MZ)({reflect:!0})],M.prototype,"size",2),C([(0,f.w)("size")],M.prototype,"handleSizeChange",1),C([(0,i.MZ)({attribute:"tag"})],M.prototype,"dropdownTag",2),C([(0,i.MZ)({attribute:"item-tag"})],M.prototype,"dropdownItemTag",2),C([(0,i.MZ)({reflect:!0})],M.prototype,"placement",2),C([(0,i.MZ)({type:Number})],M.prototype,"distance",2),C([(0,i.MZ)({type:Number})],M.prototype,"skidding",2),M=C([(0,i.EM)("wa-dropdown")],M),s()}catch(e){s(e)}})},92920(e,t,n){n.d(t,{A:()=>s});var s=n(5124).AH`:host{--show-duration:50ms;--hide-duration:50ms;display:contents}#menu{display:flex;flex-direction:column;width:max-content;margin:0;padding:.25em;border:var(--wa-border-style) var(--wa-border-width-s) var(--wa-color-surface-border);border-radius:var(--wa-border-radius-m);background-color:var(--wa-color-surface-raised);box-shadow:var(--wa-shadow-m);color:var(--wa-color-text-normal);text-align:start;-webkit-user-select:none;user-select:none;overflow:auto;max-width:var(--auto-size-available-width)!important;max-height:var(--auto-size-available-height)!important}#menu.show{animation:show var(--show-duration) ease}#menu.hide{animation:show var(--hide-duration) ease reverse}#menu ::slotted(h1),#menu ::slotted(h2),#menu ::slotted(h3),#menu ::slotted(h4),#menu ::slotted(h5),#menu ::slotted(h6){display:block!important;margin:.25em 0!important;padding:.25em .75em!important;color:var(--wa-color-text-quiet);font-family:var(--wa-font-family-body)!important;font-weight:var(--wa-font-weight-semibold)!important;font-size:var(--wa-font-size-smaller)!important}#menu ::slotted(wa-divider){--spacing:0.25em}wa-popup[data-current-placement^=top] #menu{transform-origin:bottom}wa-popup[data-current-placement^=bottom] #menu{transform-origin:top}wa-popup[data-current-placement^=left] #menu{transform-origin:right}wa-popup[data-current-placement^=right] #menu{transform-origin:left}wa-popup[data-current-placement=left-start] #menu{transform-origin:right top}wa-popup[data-current-placement=left-end] #menu{transform-origin:right bottom}wa-popup[data-current-placement=right-start] #menu{transform-origin:left top}wa-popup[data-current-placement=right-end] #menu{transform-origin:left bottom} show{from{scale:0.9;opacity:0}to{scale:1;opacity:1}}`},70214(e,t,n){n.d(t,{j:()=>s});class s extends Event{constructor(e){super("wa-select",{bubbles:!0,cancelable:!0,composed:!0}),this.detail=e}}},69840(e,t,n){function*s(e=document.activeElement){null!=e&&(yield e,"shadowRoot"in e&&e.shadowRoot&&"closed"!==e.shadowRoot.mode&&(yield*s(e.shadowRoot.activeElement)))}n.d(t,{C:()=>s})}};