iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
2 lines • 25.1 kB
JavaScript
/*! For license information please see 34995.e0f6f101d094ab75.js.LICENSE.txt */
"use strict";(self.rspackChunkhome_assistant_frontend=self.rspackChunkhome_assistant_frontend||[]).push([[34995],{50759:function(e,t,n){n.d(t,{A:function(){return S}});n(18111),n(7588),n(3362),n(27495),n(62953);var s=n(5124),o=n(67576),a=n(27259),i=n(40991),r=n(92070),u=n(9395),l=n(717);n(38625);let h;var m=(0,s.AH)(h||(h=(e=>e)`: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}}`));let d,c,p,b,v,g=e=>e;var f=Object.defineProperty,w=Object.getOwnPropertyDescriptor,y=(e,t,n,s)=>{for(var o,a=s>1?void 0:s?w(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&&f(t,n,a),a};let S=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(){var e;const t=this.submenuElement;this.hasSubmenu&&t&&this.isConnected&&(this.notifyParentOfOpening(),null===(e=t.showPopover)||void 0===e||e.call(t),t.hidden=!1,t.setAttribute("data-visible",""),this.submenuOpen=!0,this.setAttribute("aria-expanded","true"),await(0,a.Ud)(t,"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;var t;this.hasSubmenu&&e&&(this.submenuOpen=!1,this.setAttribute("aria-expanded","false"),e.hidden||(await(0,a.Ud)(e,"hide"),null!=e&&e.isConnected&&(e.hidden=!0,e.removeAttribute("data-visible"),null===(t=e.hidePopover)||void 0===t||t.call(e))))}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(0,s.qy)(d||(d=g` ${0} <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> ${0} ${0} `),"checkbox"===this.type?(0,s.qy)(c||(c=g`<slot name="checkbox-icon">${0}</slot>`),this.renderCheckboxIcon()):"",this.hasSubmenu?(0,s.qy)(p||(p=g` <wa-icon id="submenu-indicator" part="submenu-icon" exportparts="svg:submenu-icon__svg" library="system" name="chevron-right"></wa-icon> `)):"",this.hasSubmenu?(0,s.qy)(b||(b=g` <div id="submenu" part="submenu" popover="manual" role="menu" tabindex="-1" aria-orientation="vertical" hidden> <slot name="submenu"></slot> </div> `)):"")}renderCheckboxIcon(){return(0,s.qy)(v||(v=g` <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())}}};S.css=m,y([(0,o.P)("#submenu")],S.prototype,"submenuElement",2),y([(0,o.MZ)({type:Boolean})],S.prototype,"active",2),y([(0,o.MZ)({reflect:!0})],S.prototype,"variant",2),y([(0,o.MZ)({reflect:!0})],S.prototype,"size",2),y([(0,u.w)("size")],S.prototype,"handleSizeChange",1),y([(0,o.MZ)({attribute:"checkbox-adjacent",type:Boolean,reflect:!0})],S.prototype,"checkboxAdjacent",2),y([(0,o.MZ)({attribute:"submenu-adjacent",type:Boolean,reflect:!0})],S.prototype,"submenuAdjacent",2),y([(0,o.MZ)()],S.prototype,"value",2),y([(0,o.MZ)({reflect:!0})],S.prototype,"type",2),y([(0,o.MZ)({type:Boolean})],S.prototype,"checked",2),y([(0,o.MZ)({type:Boolean,reflect:!0})],S.prototype,"disabled",2),y([(0,o.MZ)({type:Boolean,reflect:!0})],S.prototype,"submenuOpen",2),y([(0,o.wk)()],S.prototype,"hasSubmenu",2),S=y([(0,o.EM)("wa-dropdown-item")],S)},52254:function(e,t,n){n.a(e,async function(e,s){try{n.d(t,{A:function(){return z}});n(74423),n(44114),n(18111),n(22489),n(20116),n(7588),n(61701),n(13579),n(45367),n(92731),n(3362),n(17642),n(58004),n(33853),n(45876),n(32475),n(15024),n(31698),n(42762),n(62953);var o=n(74234),a=n(5124),i=n(67576),r=n(17051),u=n(42462),l=n(28438),h=n(70214),m=n(98779),d=n(69840),c=n(27259),p=n(25877),b=n(95010),v=n(40991),g=n(9395),f=n(717),w=n(31896),y=n(17060),S=(n(50759),n(40158)),k=n(92920),E=e([S,o,y]);[S,o,y]=E.then?(await E)():E;let T,M=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 P=new Set;let z=class extends f.A{handleSizeChange(){(0,v.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){var t,n;const s=(null!==(t=null===(n=this.defaultSlot)||void 0===n?void 0:n.assignedElements({flatten:!0}))&&void 0!==t?t:[]).filter(e=>e.localName===this.dropdownItemTag);return e?s:s.filter(e=>!e.disabled)}getSubmenuItems(e,t=!1){var n;const s=(null===(n=e.shadowRoot)||void 0===n?void 0:n.querySelector('slot[name="submenu"]'))||e.querySelector('slot[name="submenu"]');if(!s)return[];const o=s.assignedElements({flatten:!0}).filter(e=>e.localName===this.dropdownItemTag);return t?o:o.filter(e=>!e.disabled)}syncItemSizes(){var e,t;(null!==(e=null===(t=this.defaultSlot)||void 0===t?void 0:t.assignedElements({flatten:!0}))&&void 0!==e?e:[]).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 m.k;if(this.dispatchEvent(e),e.defaultPrevented)return void(this.open=!1);if(this.popup.active)return;P.forEach(e=>e.open=!1),this.popup.active=!0,this.open=!0,P.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,c.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,P.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,c.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){var t;if(!e.submenuElement||!e.submenuOpen)return;if(null===(t=document.activeElement)||void 0===t?void 0:t.matches(":focus-visible"))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 h.j({item:e});this.dispatchEvent(n),n.defaultPrevented||(this.open=!1,null==t||t.focus({preventScroll:!0}))}async syncAriaAttributes(){var e;const t=this.getTrigger();let n;t&&("wa-button"===t.localName?(await customElements.whenDefined("wa-button"),await t.updateComplete,n=t.shadowRoot.querySelector('[part="base"]')):n=t,n.hasAttribute("id")||n.setAttribute("id",(0,b.N)("wa-dropdown-trigger-")),n.setAttribute("aria-haspopup","menu"),n.setAttribute("aria-expanded",this.open?"true":"false"),null===(e=this.menu)||void 0===e||e.setAttribute("aria-expanded","false"))}render(){var e;let t=this.hasUpdated?null===(e=this.popup)||void 0===e?void 0:e.active:this.open;return(0,a.qy)(T||(T=M` <wa-popup placement="${0}" distance="${0}" skidding="${0}" ?active="${0}" flip flip-fallback-strategy="best-fit" shift shift-padding="10" auto-size="vertical" auto-size-padding="10"> <slot name="trigger" slot="anchor" ="${0}" ="${0}"></slot> <div id="menu" part="menu" role="menu" tabindex="-1" aria-orientation="vertical" ="${0}" -opening="${0}"> <slot ="${0}"></slot> </div> </wa-popup> `),this.placement,this.distance,this.skidding,t,this.handleTriggerClick,this.syncAriaAttributes,this.handleMenuClick,this.handleSubmenuOpening,this.handleMenuSlotChange)}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(null==t||t.focus({preventScroll:!0}))}const n=[...(0,d.C)()].find(e=>e.localName===this.dropdownItemTag),s=(null==n?void 0: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=>{z.handleSubmenuSlotChange(e,this.dropdownItemTag)},this.handleGlobalMouseMove=e=>{var t;const n=this.getCurrentSubmenuItem();if(null==n||!n.submenuOpen||!n.submenuElement)return;const s=n.submenuElement.getBoundingClientRect(),o="rtl"===this.localize.dir(),a=o?s.right:s.left,i=o?Math.max(e.clientX,a):Math.min(e.clientX,a),r=Math.max(s.top,Math.min(e.clientY,s.bottom));n.submenuElement.style.setProperty("--safe-triangle-cursor-x",`${i}px`),n.submenuElement.style.setProperty("--safe-triangle-cursor-y",`${r}px`);const u=e.composedPath(),l=n.matches(":hover"),h=Boolean(null===(t=n.submenuElement)||void 0===t?void 0:t.matches(":hover")),m=l||!!u.find(e=>e===n),d=h||!!u.find(e=>e instanceof HTMLElement&&e.closest('[part="submenu"]')===n.submenuElement);m||d||setTimeout(()=>{l||h||(n.submenuOpen=!1)},100)}}};z.css=[w.A,k.A],C([(0,i.P)("slot:not([name])")],z.prototype,"defaultSlot",2),C([(0,i.P)("#menu")],z.prototype,"menu",2),C([(0,i.P)("wa-popup")],z.prototype,"popup",2),C([(0,i.MZ)({type:Boolean,reflect:!0})],z.prototype,"open",2),C([(0,i.MZ)({reflect:!0})],z.prototype,"size",2),C([(0,g.w)("size")],z.prototype,"handleSizeChange",1),C([(0,i.MZ)({attribute:"tag"})],z.prototype,"dropdownTag",2),C([(0,i.MZ)({attribute:"item-tag"})],z.prototype,"dropdownItemTag",2),C([(0,i.MZ)({reflect:!0})],z.prototype,"placement",2),C([(0,i.MZ)({type:Number})],z.prototype,"distance",2),C([(0,i.MZ)({type:Number})],z.prototype,"skidding",2),z=C([(0,i.EM)("wa-dropdown")],z),s()}catch(T){s(T)}})},92920:function(e,t,n){n.d(t,{A:function(){return o}});let s;var o=(0,n(5124).AH)(s||(s=(e=>e)`: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:function(e,t,n){n.d(t,{j:function(){return s}});class s extends Event{constructor(e){super("wa-select",{bubbles:!0,cancelable:!0,composed:!0}),this.detail=e}}},69840:function(e,t,n){n.d(t,{C:function(){return s}});n(62953);function*s(e=document.activeElement){null!=e&&(yield e,"shadowRoot"in e&&e.shadowRoot&&"closed"!==e.shadowRoot.mode&&(yield*s(e.shadowRoot.activeElement)))}}}]);