@m3e/menu 1.1.1 → 1.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.min.js CHANGED
@@ -3,29 +3,29 @@
3
3
  * Copyright (c) 2025 matraic
4
4
  * See LICENSE file in the project root for full license text.
5
5
  */
6
- import{LitElement as e,nothing as t,html as s,css as i,unsafeCSS as n}from"lit";import{KeyboardClick as o,Focusable as r,AttachInternals as a,Disabled as l,isLinkButtonMixin as c,renderPseudoLink as h,DesignToken as d,HtmlFor as u,LinkButton as m,Role as p,HoverController as f,hasAssignedNodes as v,ScrollController as b,Checked as g}from"@m3e/core";import{addAriaReferencedId as y,removeAriaReferencedId as w,RovingTabIndexManager as E}from"@m3e/core/a11y";import{positionAnchor as k}from"@m3e/core/anchoring";import{M3eDirectionality as $}from"@m3e/core/bidi";function S(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r}function _(e,t,s,i){if("a"===s&&!i)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===s?i:"a"===s?i.call(e):i?i.value:t.get(e)}function C(e,t,s,i,n){if("m"===i)throw new TypeError("Private method is not writable");if("a"===i&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===i?n.call(e,s):n?n.value=s:t.set(e,s),s}"function"==typeof SuppressedError&&SuppressedError;
6
+ import{LitElement as e,nothing as t,html as s,css as i,unsafeCSS as n}from"lit";import{KeyboardClick as o,Focusable as r,AttachInternals as a,Disabled as h,isLinkButtonMixin as l,renderPseudoLink as c,DesignToken as d,HtmlFor as u,ActionElementBase as m,LinkButton as p,Role as f,HoverController as v,hasAssignedNodes as g,ScrollController as b,Checked as y}from"@m3e/core";import{addAriaReferencedId as w,removeAriaReferencedId as E,RovingTabIndexManager as k}from"@m3e/core/a11y";import{positionAnchor as $}from"@m3e/core/anchoring";import{M3eDirectionality as S}from"@m3e/core/bidi";function _(e,t,s,i){var n,o=arguments.length,r=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,s,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(r=(o<3?n(r):o>3?n(t,s,r):n(t,s))||r);return o>3&&r&&Object.defineProperty(t,s,r),r}function x(e,t,s,i){if("a"===s&&!i)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===s?i:"a"===s?i.call(e):i?i.value:t.get(e)}function C(e,t,s,i,n){if("m"===i)throw new TypeError("Private method is not writable");if("a"===i&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===i?n.call(e,s):n?n.value=s:t.set(e,s),s}"function"==typeof SuppressedError&&SuppressedError;
7
7
  /**
8
8
  * @license
9
9
  * Copyright 2017 Google LLC
10
10
  * SPDX-License-Identifier: BSD-3-Clause
11
11
  */
12
- const x=e=>(t,s)=>{void 0!==s?s.addInitializer(()=>{customElements.define(e,t)}):customElements.define(e,t)},P=globalThis,L=P.ShadowRoot&&(void 0===P.ShadyCSS||P.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,M=Symbol(),A=new WeakMap;
12
+ const P=e=>(t,s)=>{void 0!==s?s.addInitializer(()=>{customElements.define(e,t)}):customElements.define(e,t)},L=globalThis,M=L.ShadowRoot&&(void 0===L.ShadyCSS||L.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,A=Symbol(),U=new WeakMap;
13
13
  /**
14
14
  * @license
15
15
  * Copyright 2019 Google LLC
16
16
  * SPDX-License-Identifier: BSD-3-Clause
17
- */let U=class{constructor(e,t,s){if(this._$cssResult$=!0,s!==M)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o;const t=this.t;if(L&&void 0===e){const s=void 0!==t&&1===t.length;s&&(e=A.get(t)),void 0===e&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),s&&A.set(t,e))}return e}toString(){return this.cssText}};const O=(e,t)=>{if(L)e.adoptedStyleSheets=t.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet);else for(const s of t){const t=document.createElement("style"),i=P.litNonce;void 0!==i&&t.setAttribute("nonce",i),t.textContent=s.cssText,e.appendChild(t)}},W=L?e=>e:e=>e instanceof CSSStyleSheet?(e=>{let t="";for(const s of e.cssRules)t+=s.cssText;return(e=>new U("string"==typeof e?e:e+"",void 0,M))(t)})(e):e,{is:T,defineProperty:R,getOwnPropertyDescriptor:z,getOwnPropertyNames:j,getOwnPropertySymbols:D,getPrototypeOf:q}=Object,N=globalThis,I=N.trustedTypes,B=I?I.emptyScript:"",K=N.reactiveElementPolyfillSupport,H=(e,t)=>e,Y={toAttribute(e,t){switch(t){case Boolean:e=e?B:null;break;case Object:case Array:e=null==e?e:JSON.stringify(e)}return e},fromAttribute(e,t){let s=e;switch(t){case Boolean:s=null!==e;break;case Number:s=null===e?null:Number(e);break;case Object:case Array:try{s=JSON.parse(e)}catch(e){s=null}}return s}},Z=(e,t)=>!T(e,t),X={attribute:!0,type:String,converter:Y,reflect:!1,useDefault:!1,hasChanged:Z};
17
+ */let O=class{constructor(e,t,s){if(this._$cssResult$=!0,s!==A)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o;const t=this.t;if(M&&void 0===e){const s=void 0!==t&&1===t.length;s&&(e=U.get(t)),void 0===e&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),s&&U.set(t,e))}return e}toString(){return this.cssText}};const W=(e,t)=>{if(M)e.adoptedStyleSheets=t.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet);else for(const s of t){const t=document.createElement("style"),i=L.litNonce;void 0!==i&&t.setAttribute("nonce",i),t.textContent=s.cssText,e.appendChild(t)}},T=M?e=>e:e=>e instanceof CSSStyleSheet?(e=>{let t="";for(const s of e.cssRules)t+=s.cssText;return(e=>new O("string"==typeof e?e:e+"",void 0,A))(t)})(e):e,{is:R,defineProperty:j,getOwnPropertyDescriptor:z,getOwnPropertyNames:D,getOwnPropertySymbols:q,getPrototypeOf:N}=Object,I=globalThis,B=I.trustedTypes,K=B?B.emptyScript:"",H=I.reactiveElementPolyfillSupport,Y=(e,t)=>e,Z={toAttribute(e,t){switch(t){case Boolean:e=e?K:null;break;case Object:case Array:e=null==e?e:JSON.stringify(e)}return e},fromAttribute(e,t){let s=e;switch(t){case Boolean:s=null!==e;break;case Number:s=null===e?null:Number(e);break;case Object:case Array:try{s=JSON.parse(e)}catch(e){s=null}}return s}},X=(e,t)=>!R(e,t),J={attribute:!0,type:String,converter:Z,reflect:!1,useDefault:!1,hasChanged:X};
18
18
  /**
19
19
  * @license
20
20
  * Copyright 2017 Google LLC
21
21
  * SPDX-License-Identifier: BSD-3-Clause
22
- */Symbol.metadata??=Symbol("metadata"),N.litPropertyMetadata??=new WeakMap;class J extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??=[]).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,t=X){if(t.state&&(t.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((t=Object.create(t)).wrapped=!0),this.elementProperties.set(e,t),!t.noAccessor){const s=Symbol(),i=this.getPropertyDescriptor(e,s,t);void 0!==i&&R(this.prototype,e,i)}}static getPropertyDescriptor(e,t,s){const{get:i,set:n}=z(this.prototype,e)??{get(){return this[t]},set(e){this[t]=e}};return{get:i,set(t){const o=i?.call(this);n?.call(this,t),this.requestUpdate(e,o,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??X}static _$Ei(){if(this.hasOwnProperty(H("elementProperties")))return;const e=q(this);e.finalize(),void 0!==e.l&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(H("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(H("properties"))){const e=this.properties,t=[...j(e),...D(e)];for(const s of t)this.createProperty(s,e[s])}const e=this[Symbol.metadata];if(null!==e){const t=litPropertyMetadata.get(e);if(void 0!==t)for(const[e,s]of t)this.elementProperties.set(e,s)}this._$Eh=new Map;for(const[e,t]of this.elementProperties){const s=this._$Eu(e,t);void 0!==s&&this._$Eh.set(s,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){const t=[];if(Array.isArray(e)){const s=new Set(e.flat(1/0).reverse());for(const e of s)t.unshift(W(e))}else void 0!==e&&t.push(W(e));return t}static _$Eu(e,t){const s=t.attribute;return!1===s?void 0:"string"==typeof s?s:"string"==typeof e?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(e=>this.enableUpdating=e),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(e=>e(this))}addController(e){(this._$EO??=new Set).add(e),void 0!==this.renderRoot&&this.isConnected&&e.hostConnected?.()}removeController(e){this._$EO?.delete(e)}_$E_(){const e=new Map,t=this.constructor.elementProperties;for(const s of t.keys())this.hasOwnProperty(s)&&(e.set(s,this[s]),delete this[s]);e.size>0&&(this._$Ep=e)}createRenderRoot(){const e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return O(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(e=>e.hostConnected?.())}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach(e=>e.hostDisconnected?.())}attributeChangedCallback(e,t,s){this._$AK(e,s)}_$ET(e,t){const s=this.constructor.elementProperties.get(e),i=this.constructor._$Eu(e,s);if(void 0!==i&&!0===s.reflect){const n=(void 0!==s.converter?.toAttribute?s.converter:Y).toAttribute(t,s.type);this._$Em=e,null==n?this.removeAttribute(i):this.setAttribute(i,n),this._$Em=null}}_$AK(e,t){const s=this.constructor,i=s._$Eh.get(e);if(void 0!==i&&this._$Em!==i){const e=s.getPropertyOptions(i),n="function"==typeof e.converter?{fromAttribute:e.converter}:void 0!==e.converter?.fromAttribute?e.converter:Y;this._$Em=i;const o=n.fromAttribute(t,e.type);this[i]=o??this._$Ej?.get(i)??o,this._$Em=null}}requestUpdate(e,t,s){if(void 0!==e){const i=this.constructor,n=this[e];if(s??=i.getPropertyOptions(e),!((s.hasChanged??Z)(n,t)||s.useDefault&&s.reflect&&n===this._$Ej?.get(e)&&!this.hasAttribute(i._$Eu(e,s))))return;this.C(e,t,s)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(e,t,{useDefault:s,reflect:i,wrapped:n},o){s&&!(this._$Ej??=new Map).has(e)&&(this._$Ej.set(e,o??t??this[e]),!0!==n||void 0!==o)||(this._$AL.has(e)||(this.hasUpdated||s||(t=void 0),this._$AL.set(e,t)),!0===i&&this._$Em!==e&&(this._$Eq??=new Set).add(e))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}const e=this.scheduleUpdate();return null!=e&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[e,t]of this._$Ep)this[e]=t;this._$Ep=void 0}const e=this.constructor.elementProperties;if(e.size>0)for(const[t,s]of e){const{wrapped:e}=s,i=this[t];!0!==e||this._$AL.has(t)||void 0===i||this.C(t,void 0,s,i)}}let e=!1;const t=this._$AL;try{e=this.shouldUpdate(t),e?(this.willUpdate(t),this._$EO?.forEach(e=>e.hostUpdate?.()),this.update(t)):this._$EM()}catch(t){throw e=!1,this._$EM(),t}e&&this._$AE(t)}willUpdate(e){}_$AE(e){this._$EO?.forEach(e=>e.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Eq&&=this._$Eq.forEach(e=>this._$ET(e,this[e])),this._$EM()}updated(e){}firstUpdated(e){}}J.elementStyles=[],J.shadowRootOptions={mode:"open"},J[H("elementProperties")]=new Map,J[H("finalized")]=new Map,K?.({ReactiveElement:J}),(N.reactiveElementVersions??=[]).push("2.1.1");
22
+ */Symbol.metadata??=Symbol("metadata"),I.litPropertyMetadata??=new WeakMap;class V extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??=[]).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,t=J){if(t.state&&(t.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((t=Object.create(t)).wrapped=!0),this.elementProperties.set(e,t),!t.noAccessor){const s=Symbol(),i=this.getPropertyDescriptor(e,s,t);void 0!==i&&j(this.prototype,e,i)}}static getPropertyDescriptor(e,t,s){const{get:i,set:n}=z(this.prototype,e)??{get(){return this[t]},set(e){this[t]=e}};return{get:i,set(t){const o=i?.call(this);n?.call(this,t),this.requestUpdate(e,o,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??J}static _$Ei(){if(this.hasOwnProperty(Y("elementProperties")))return;const e=N(this);e.finalize(),void 0!==e.l&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(Y("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(Y("properties"))){const e=this.properties,t=[...D(e),...q(e)];for(const s of t)this.createProperty(s,e[s])}const e=this[Symbol.metadata];if(null!==e){const t=litPropertyMetadata.get(e);if(void 0!==t)for(const[e,s]of t)this.elementProperties.set(e,s)}this._$Eh=new Map;for(const[e,t]of this.elementProperties){const s=this._$Eu(e,t);void 0!==s&&this._$Eh.set(s,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){const t=[];if(Array.isArray(e)){const s=new Set(e.flat(1/0).reverse());for(const e of s)t.unshift(T(e))}else void 0!==e&&t.push(T(e));return t}static _$Eu(e,t){const s=t.attribute;return!1===s?void 0:"string"==typeof s?s:"string"==typeof e?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(e=>this.enableUpdating=e),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(e=>e(this))}addController(e){(this._$EO??=new Set).add(e),void 0!==this.renderRoot&&this.isConnected&&e.hostConnected?.()}removeController(e){this._$EO?.delete(e)}_$E_(){const e=new Map,t=this.constructor.elementProperties;for(const s of t.keys())this.hasOwnProperty(s)&&(e.set(s,this[s]),delete this[s]);e.size>0&&(this._$Ep=e)}createRenderRoot(){const e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return W(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(e=>e.hostConnected?.())}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach(e=>e.hostDisconnected?.())}attributeChangedCallback(e,t,s){this._$AK(e,s)}_$ET(e,t){const s=this.constructor.elementProperties.get(e),i=this.constructor._$Eu(e,s);if(void 0!==i&&!0===s.reflect){const n=(void 0!==s.converter?.toAttribute?s.converter:Z).toAttribute(t,s.type);this._$Em=e,null==n?this.removeAttribute(i):this.setAttribute(i,n),this._$Em=null}}_$AK(e,t){const s=this.constructor,i=s._$Eh.get(e);if(void 0!==i&&this._$Em!==i){const e=s.getPropertyOptions(i),n="function"==typeof e.converter?{fromAttribute:e.converter}:void 0!==e.converter?.fromAttribute?e.converter:Z;this._$Em=i;const o=n.fromAttribute(t,e.type);this[i]=o??this._$Ej?.get(i)??o,this._$Em=null}}requestUpdate(e,t,s){if(void 0!==e){const i=this.constructor,n=this[e];if(s??=i.getPropertyOptions(e),!((s.hasChanged??X)(n,t)||s.useDefault&&s.reflect&&n===this._$Ej?.get(e)&&!this.hasAttribute(i._$Eu(e,s))))return;this.C(e,t,s)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(e,t,{useDefault:s,reflect:i,wrapped:n},o){s&&!(this._$Ej??=new Map).has(e)&&(this._$Ej.set(e,o??t??this[e]),!0!==n||void 0!==o)||(this._$AL.has(e)||(this.hasUpdated||s||(t=void 0),this._$AL.set(e,t)),!0===i&&this._$Em!==e&&(this._$Eq??=new Set).add(e))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}const e=this.scheduleUpdate();return null!=e&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[e,t]of this._$Ep)this[e]=t;this._$Ep=void 0}const e=this.constructor.elementProperties;if(e.size>0)for(const[t,s]of e){const{wrapped:e}=s,i=this[t];!0!==e||this._$AL.has(t)||void 0===i||this.C(t,void 0,s,i)}}let e=!1;const t=this._$AL;try{e=this.shouldUpdate(t),e?(this.willUpdate(t),this._$EO?.forEach(e=>e.hostUpdate?.()),this.update(t)):this._$EM()}catch(t){throw e=!1,this._$EM(),t}e&&this._$AE(t)}willUpdate(e){}_$AE(e){this._$EO?.forEach(e=>e.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Eq&&=this._$Eq.forEach(e=>this._$ET(e,this[e])),this._$EM()}updated(e){}firstUpdated(e){}}V.elementStyles=[],V.shadowRootOptions={mode:"open"},V[Y("elementProperties")]=new Map,V[Y("finalized")]=new Map,H?.({ReactiveElement:V}),(I.reactiveElementVersions??=[]).push("2.1.1");
23
23
  /**
24
24
  * @license
25
25
  * Copyright 2017 Google LLC
26
26
  * SPDX-License-Identifier: BSD-3-Clause
27
27
  */
28
- const V={attribute:!0,type:String,converter:Y,reflect:!1,hasChanged:Z},F=(e=V,t,s)=>{const{kind:i,metadata:n}=s;let o=globalThis.litPropertyMetadata.get(n);if(void 0===o&&globalThis.litPropertyMetadata.set(n,o=new Map),"setter"===i&&((e=Object.create(e)).wrapped=!0),o.set(s.name,e),"accessor"===i){const{name:i}=s;return{set(s){const n=t.get.call(this);t.set.call(this,s),this.requestUpdate(i,n,e)},init(t){return void 0!==t&&this.C(i,void 0,e,t),t}}}if("setter"===i){const{name:i}=s;return function(s){const n=this[i];t.call(this,s),this.requestUpdate(i,n,e)}}throw Error("Unsupported decorator location: "+i)};function G(e){return(t,s)=>"object"==typeof s?F(e,t,s):((e,t,s)=>{const i=t.hasOwnProperty(s);return t.constructor.createProperty(s,e),i?Object.getOwnPropertyDescriptor(t,s):void 0})(e,t,s)}
28
+ const F={attribute:!0,type:String,converter:Z,reflect:!1,hasChanged:X},G=(e=F,t,s)=>{const{kind:i,metadata:n}=s;let o=globalThis.litPropertyMetadata.get(n);if(void 0===o&&globalThis.litPropertyMetadata.set(n,o=new Map),"setter"===i&&((e=Object.create(e)).wrapped=!0),o.set(s.name,e),"accessor"===i){const{name:i}=s;return{set(s){const n=t.get.call(this);t.set.call(this,s),this.requestUpdate(i,n,e)},init(t){return void 0!==t&&this.C(i,void 0,e,t),t}}}if("setter"===i){const{name:i}=s;return function(s){const n=this[i];t.call(this,s),this.requestUpdate(i,n,e)}}throw Error("Unsupported decorator location: "+i)};function Q(e){return(t,s)=>"object"==typeof s?G(e,t,s):((e,t,s)=>{const i=t.hasOwnProperty(s);return t.constructor.createProperty(s,e),i?Object.getOwnPropertyDescriptor(t,s):void 0})(e,t,s)}
29
29
  /**
30
30
  * @license
31
31
  * Copyright 2017 Google LLC
@@ -36,10 +36,10 @@ const V={attribute:!0,type:String,converter:Y,reflect:!1,hasChanged:Z},F=(e=V,t,
36
36
  * Copyright 2017 Google LLC
37
37
  * SPDX-License-Identifier: BSD-3-Clause
38
38
  */
39
- function Q(e,t){return(t,s,i)=>((e,t,s)=>(s.configurable=!0,s.enumerable=!0,Reflect.decorate&&"object"!=typeof t&&Object.defineProperty(e,t,s),s))(t,s,{get(){return(t=>t.renderRoot?.querySelector(e)??null)(this)}})}class ee extends(o(r(a(l(e),!0)))){get menu(){return this.closest("m3e-menu")}firstUpdated(e){super.firstUpdated(e),[this._focusRing,this._stateLayer,this._ripple].forEach(e=>e?.attach(this))}render(){return s`<div class="base"><m3e-state-layer class="state-layer" ?disabled="${this.disabled}"></m3e-state-layer><m3e-focus-ring class="focus-ring" inward ?disabled="${this.disabled}"></m3e-focus-ring><m3e-ripple class="ripple" ?disabled="${this.disabled}"></m3e-ripple><div class="touch" aria-hidden="true"></div>${c(this)?this[h]():t}<div class="wrapper">${this._renderContent()}</div></div>`}}var te,se,ie;ee.styles=i`:host { display: inline-block; outline: none; user-select: none; flex: none; height: var(--m3e-menu-item-container-height, 3rem); -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } :host(:not(:focus-visible)) .base { --m3e-state-layer-focus-opacity: 0; } :host(:not(:disabled):not([aria-expanded="true"])) .base { color: var(--m3e-menu-item-color, ${d.color.onSurface}); } :host(:not([aria-expanded="true"])) .base { --m3e-state-layer-hover-color: var(--m3e-menu-item-container-hover-color, ${d.color.onSurface}); --m3e-state-layer-focus-color: var(--m3e-menu-item-container-focus-color, ${d.color.onSurface}); --m3e-ripple-color: var(--m3e-menu-item-ripple-color, ${d.color.onSurface}); } :host(:not(:disabled)[checked]) .base, :host(:not(:disabled)[aria-expanded="true"]) .base { color: var(--m3e-menu-selected-color, ${d.color.onSecondaryContainer}); background-color: var(--m3e-menu-selected-container-color, ${d.color.secondaryContainer}); } :host([checked]) .base, :host([aria-expanded="true"]) .base { --m3e-state-layer-hover-color: var( --m3e-menu-item-selected-container-hover-color, ${d.color.onSecondaryContainer} ); --m3e-state-layer-focus-color: var( --m3e-menu-item-selected-container-focus-color, ${d.color.onSecondaryContainer} ); --m3e-ripple-color: var(--m3e-menu-item-selected-ripple-color, ${d.color.onSecondaryContainer}); } :host(:not(:disabled)) { cursor: pointer; } :host(:disabled) .base { color: color-mix( in srgb, var(--m3e-menu-item-disabled-color, ${d.color.onSurface}) var(--m3e-menu-item-disabled-opacity, 38%), transparent ); } .base { box-sizing: border-box; vertical-align: middle; display: inline-flex; align-items: center; position: relative; width: 100%; height: 100%; } .touch { position: absolute; height: 3rem; left: 0; right: 0; } .wrapper { display: inline-flex; align-items: center; column-gap: var(--m3e-menu-item-icon-label-space, 0.75rem); padding-inline-start: var(--m3e-menu-item-padding-start, 0.75rem); padding-inline-end: var(--m3e-menu-item-padding-end, 0.75rem); font-size: var(--m3e-menu-item-label-text-font-size, ${d.typescale.standard.label.large.fontSize}); font-weight: var( --m3e-menu-item-label-text-font-weight, ${d.typescale.standard.label.large.fontWeight} ); line-height: var( --m3e-menu-item-label-text-line-height, ${d.typescale.standard.label.large.lineHeight} ); letter-spacing: var(--m3e-menu-item-label-text-tracking, ${d.typescale.standard.label.large.tracking}); } .focus-ring { border-radius: var(--m3e-menu-item-focus-ring-shape, ${d.shape.corner.medium}); } .content { flex: 1 1 auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } ::slotted([slot="icon"]), ::slotted([slot="trailing-icon"]), .trailing-icon { flex: none; width: 1em; font-size: var(--m3e-menu-item-icon-size, 1.5rem) !important; } @media (forced-colors: active) { .base { background-color: Menu; color: MenuText; } :host(:disabled) .base { color: GrayText; } }`,S([Q(".focus-ring")],ee.prototype,"_focusRing",void 0),S([Q(".state-layer")],ee.prototype,"_stateLayer",void 0),S([Q(".ripple")],ee.prototype,"_ripple",void 0);let ne=class extends(u(e)){constructor(){super(...arguments),te.add(this),se.set(this,async e=>_(this,te,"m",ie).call(this,e))}get menu(){return"M3E-MENU"===this.control?.tagName?this.control:null}connectedCallback(){super.connectedCallback(),this.parentElement?.addEventListener("click",_(this,se,"f"))}disconnectedCallback(){super.disconnectedCallback(),this.parentElement?.removeEventListener("click",_(this,se,"f"))}attach(e){super.attach(e);const t=this.menu;t&&(this.parentElement&&(this.parentElement.ariaHasPopup="menu",this.parentElement.ariaExpanded="false",t.id&&y(this.parentElement,"aria-controls",t.id)),this.closest("m3e-menu")&&(t.submenu=!0))}detach(){if(this.parentElement){this.parentElement.ariaHasPopup=null,this.parentElement.ariaExpanded=null;const e=this.menu;e?.id&&w(this.parentElement,"aria-controls",e.id)}super.detach()}render(){return s`<slot></slot>`}};var oe,re,ae,le,ce,he,de,ue,me,pe,fe,ve;se=new WeakMap,te=new WeakSet,ie=function(e){!e.defaultPrevented&&this.parentElement&&("M3E-MENU-ITEM"===this.parentElement.tagName?this.menu?.show(this.parentElement):this.menu?.toggle(this.parentElement))},ne.styles=i`:host { display: contents; } ::slotted(.material-icons) { font-size: inherit !important; }`,ne=S([x("m3e-menu-trigger")],ne);let be=ve=class extends(m(p(ee,"menuitem"))){constructor(){super(),oe.add(this),re.set(this,e=>_(this,oe,"m",me).call(this,e)),ae.set(this,e=>_(this,oe,"m",pe).call(this,e)),le.set(this,()=>_(this,oe,"m",fe).call(this)),this._hasSubmenu=!1,ce.set(this,void 0),new f(this,{startDelay:500,endDelay:500,callback:e=>{e&&!this.disabled&&_(this,ce,"f")&&_(this,ce,"f").menu?.show(this)}})}get submenu(){return _(this,ce,"f")?.menu??null}connectedCallback(){super.connectedCallback(),this.addEventListener("click",_(this,re,"f")),this.addEventListener("keydown",_(this,ae,"f")),this.addEventListener("mouseenter",_(this,le,"f"))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("click",_(this,re,"f")),this.removeEventListener("keydown",_(this,ae,"f")),this.removeEventListener("mouseenter",_(this,le,"f"))}_renderContent(){return s`<slot name="icon" aria-hidden="true" @slotchange="${_(this,oe,"m",de)}"></slot><span class="content"><slot @slotchange="${_(this,oe,"m",he)}"></slot></span>${this._hasSubmenu?"ltr"===$.current?s`<svg class="trailing-icon" aria-hidden="true" viewBox="0 -960 960 960" fill="currentColor"><path d="M400-280v-400l200 200-200 200Z"/></svg>`:s`<svg class="trailing-icon" aria-hidden="true" viewBox="0 -960 960 960" fill="currentColor"><path d="M560-280 360-480l200-200v400Z"/></svg>`:s`<slot name="trailing-icon" aria-hidden="true" @slotchange="${_(this,oe,"m",ue)}"></slot>`}`}};var ge,ye,we,Ee,ke,$e,Se,_e,Ce,xe,Pe,Le,Me;re=new WeakMap,ae=new WeakMap,le=new WeakMap,ce=new WeakMap,oe=new WeakSet,he=function(e){C(this,ce,e.target.assignedElements({flatten:!0}).find(e=>e instanceof ne),"f"),this._hasSubmenu=void 0!==_(this,ce,"f")},de=function(e){this.classList.toggle("-with-icon",v(e.target))},ue=function(e){this.classList.toggle("-with-trailing-icon",v(e.target))},me=function(e){e.defaultPrevented||this._hasSubmenu||this.menu?.hideAll(!0)},pe=function(e){if(!e.defaultPrevented&&!this.disabled)switch(e.key){case"Right":case"ArrowRight":"ltr"===$.current&&(e.preventDefault(),this.submenu?.show(this));break;case"Left":case"ArrowLeft":"rtl"===$.current&&(e.preventDefault(),this.submenu?.show(this))}},fe=function(){this.menu?.items.forEach(e=>{e instanceof ve&&e!==this&&e.submenu?.isOpen&&e.submenu.hide()})},S([function(e){return G({...e,state:!0,attribute:!1})}
39
+ function ee(e,t){return(t,s,i)=>((e,t,s)=>(s.configurable=!0,s.enumerable=!0,Reflect.decorate&&"object"!=typeof t&&Object.defineProperty(e,t,s),s))(t,s,{get(){return(t=>t.renderRoot?.querySelector(e)??null)(this)}})}class te extends(o(r(a(h(e),!0)))){get menu(){return this.closest("m3e-menu")}firstUpdated(e){super.firstUpdated(e),[this._focusRing,this._stateLayer,this._ripple].forEach(e=>e?.attach(this))}render(){return s`<div class="base"><m3e-state-layer class="state-layer" ?disabled="${this.disabled}"></m3e-state-layer><m3e-focus-ring class="focus-ring" inward ?disabled="${this.disabled}"></m3e-focus-ring><m3e-ripple class="ripple" ?disabled="${this.disabled}"></m3e-ripple><div class="touch" aria-hidden="true"></div>${l(this)?this[c]():t}<div class="wrapper">${this._renderContent()}</div></div>`}}te.styles=i`:host { display: inline-block; outline: none; user-select: none; flex: none; height: var(--m3e-menu-item-container-height, 3rem); -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } :host(:not(:focus-visible)) .base { --m3e-state-layer-focus-opacity: 0; } :host(:not(:disabled):not([aria-expanded="true"])) .base { color: var(--m3e-menu-item-color, ${d.color.onSurface}); } :host(:not([aria-expanded="true"])) .base { --m3e-state-layer-hover-color: var(--m3e-menu-item-container-hover-color, ${d.color.onSurface}); --m3e-state-layer-focus-color: var(--m3e-menu-item-container-focus-color, ${d.color.onSurface}); --m3e-ripple-color: var(--m3e-menu-item-ripple-color, ${d.color.onSurface}); } :host(:not(:disabled)[checked]) .base, :host(:not(:disabled)[aria-expanded="true"]) .base { color: var(--m3e-menu-selected-color, ${d.color.onSecondaryContainer}); background-color: var(--m3e-menu-selected-container-color, ${d.color.secondaryContainer}); } :host([checked]) .base, :host([aria-expanded="true"]) .base { --m3e-state-layer-hover-color: var( --m3e-menu-item-selected-container-hover-color, ${d.color.onSecondaryContainer} ); --m3e-state-layer-focus-color: var( --m3e-menu-item-selected-container-focus-color, ${d.color.onSecondaryContainer} ); --m3e-ripple-color: var(--m3e-menu-item-selected-ripple-color, ${d.color.onSecondaryContainer}); } :host(:not(:disabled)) { cursor: pointer; } :host(:disabled) .base { color: color-mix( in srgb, var(--m3e-menu-item-disabled-color, ${d.color.onSurface}) var(--m3e-menu-item-disabled-opacity, 38%), transparent ); } .base { box-sizing: border-box; vertical-align: middle; display: inline-flex; align-items: center; position: relative; width: 100%; height: 100%; } .touch { position: absolute; height: 3rem; left: 0; right: 0; } .wrapper { display: inline-flex; align-items: center; column-gap: var(--m3e-menu-item-icon-label-space, 0.75rem); padding-inline-start: var(--m3e-menu-item-padding-start, 0.75rem); padding-inline-end: var(--m3e-menu-item-padding-end, 0.75rem); font-size: var(--m3e-menu-item-label-text-font-size, ${d.typescale.standard.label.large.fontSize}); font-weight: var( --m3e-menu-item-label-text-font-weight, ${d.typescale.standard.label.large.fontWeight} ); line-height: var( --m3e-menu-item-label-text-line-height, ${d.typescale.standard.label.large.lineHeight} ); letter-spacing: var(--m3e-menu-item-label-text-tracking, ${d.typescale.standard.label.large.tracking}); } .focus-ring { border-radius: var(--m3e-menu-item-focus-ring-shape, ${d.shape.corner.medium}); } .content { flex: 1 1 auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } ::slotted([slot="icon"]), ::slotted([slot="trailing-icon"]), .trailing-icon { flex: none; width: 1em; font-size: var(--m3e-menu-item-icon-size, 1.5rem) !important; } @media (forced-colors: active) { .base { background-color: Menu; color: MenuText; } :host(:disabled) .base { color: GrayText; } }`,_([ee(".focus-ring")],te.prototype,"_focusRing",void 0),_([ee(".state-layer")],te.prototype,"_stateLayer",void 0),_([ee(".ripple")],te.prototype,"_ripple",void 0);let se=class extends(u(m)){get menu(){return"M3E-MENU"===this.control?.tagName?this.control:null}attach(e){super.attach(e);const t=this.menu;t&&(this.parentElement&&(this.parentElement.ariaHasPopup="menu",this.parentElement.ariaExpanded="false",t.id&&w(this.parentElement,"aria-controls",t.id)),this.closest("m3e-menu")&&(t.submenu=!0))}detach(){if(this.parentElement){this.parentElement.ariaHasPopup=null,this.parentElement.ariaExpanded=null;const e=this.menu;e?.id&&E(this.parentElement,"aria-controls",e.id)}super.detach()}_onClick(){this.parentElement&&("M3E-MENU-ITEM"===this.parentElement.tagName?this.menu?.show(this.parentElement):this.menu?.toggle(this.parentElement))}};var ie,ne,oe,re,ae,he,le,ce,de,ue,me,pe;se=_([P("m3e-menu-trigger")],se);let fe=pe=class extends(p(f(te,"menuitem"))){constructor(){super(),ie.add(this),ne.set(this,e=>x(this,ie,"m",de).call(this,e)),oe.set(this,e=>x(this,ie,"m",ue).call(this,e)),re.set(this,()=>x(this,ie,"m",me).call(this)),this._hasSubmenu=!1,ae.set(this,void 0),new v(this,{startDelay:500,endDelay:500,callback:e=>{e&&!this.disabled&&x(this,ae,"f")&&x(this,ae,"f").menu?.show(this)}})}get submenu(){return x(this,ae,"f")?.menu??null}connectedCallback(){super.connectedCallback(),this.addEventListener("click",x(this,ne,"f")),this.addEventListener("keydown",x(this,oe,"f")),this.addEventListener("mouseenter",x(this,re,"f"))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("click",x(this,ne,"f")),this.removeEventListener("keydown",x(this,oe,"f")),this.removeEventListener("mouseenter",x(this,re,"f"))}_renderContent(){return s`<slot name="icon" aria-hidden="true" @slotchange="${x(this,ie,"m",le)}"></slot><span class="content"><slot @slotchange="${x(this,ie,"m",he)}"></slot></span>${this._hasSubmenu?"ltr"===S.current?s`<svg class="trailing-icon" aria-hidden="true" viewBox="0 -960 960 960" fill="currentColor"><path d="M400-280v-400l200 200-200 200Z"/></svg>`:s`<svg class="trailing-icon" aria-hidden="true" viewBox="0 -960 960 960" fill="currentColor"><path d="M560-280 360-480l200-200v400Z"/></svg>`:s`<slot name="trailing-icon" aria-hidden="true" @slotchange="${x(this,ie,"m",ce)}"></slot>`}`}};var ve,ge,be,ye,we,Ee,ke,$e,Se,_e,xe,Ce,Pe;ne=new WeakMap,oe=new WeakMap,re=new WeakMap,ae=new WeakMap,ie=new WeakSet,he=function(e){C(this,ae,e.target.assignedElements({flatten:!0}).find(e=>e instanceof se),"f"),this._hasSubmenu=void 0!==x(this,ae,"f")},le=function(e){this.classList.toggle("-with-icon",g(e.target))},ce=function(e){this.classList.toggle("-with-trailing-icon",g(e.target))},de=function(e){e.defaultPrevented||this._hasSubmenu||this.menu?.hideAll(!0)},ue=function(e){if(!e.defaultPrevented&&!this.disabled)switch(e.key){case"Right":case"ArrowRight":"ltr"===S.current&&(e.preventDefault(),this.submenu?.show(this));break;case"Left":case"ArrowLeft":"rtl"===S.current&&(e.preventDefault(),this.submenu?.show(this))}},me=function(){this.menu?.items.forEach(e=>{e instanceof pe&&e!==this&&e.submenu?.isOpen&&e.submenu.hide()})},_([function(e){return Q({...e,state:!0,attribute:!1})}
40
40
  /**
41
41
  * @license
42
42
  * Copyright 2017 Google LLC
43
43
  * SPDX-License-Identifier: BSD-3-Clause
44
- */()],be.prototype,"_hasSubmenu",void 0),be=ve=S([x("m3e-menu-item")],be);let Ae=Me=class extends(p(e,"menu")){constructor(){super(...arguments),ge.add(this),ye.set(this,void 0),we.set(this,void 0),Ee.set(this,(new E).withWrap().withHomeAndEnd().withVerticalOrientation()),ke.set(this,e=>_(this,ge,"m",xe).call(this,e)),$e.set(this,e=>_(this,ge,"m",Pe).call(this,e)),Se.set(this,new b(this,{target:null,callback:e=>e instanceof Me?e.items.filter(e=>e instanceof be).forEach(e=>e.submenu?.hide()):this.hideAll()})),_e.set(this,e=>{"closed"===e.newState?(_(this,we,"f")?.call(this),C(this,we,void 0,"f")):setTimeout(()=>{_(this,Ee,"f").setActiveItem(_(this,Ee,"f").items.find(e=>!e.disabled))},40)}),this.positionX="after",this.positionY="below",this.submenu=!1}get items(){return _(this,Ee,"f").items}get isOpen(){return void 0!==_(this,ye,"f")}connectedCallback(){super.connectedCallback(),this.tabIndex=-1,this.classList.add("-no-animate"),this.setAttribute("popover","manual"),this.addEventListener("keydown",_(this,ke,"f")),this.addEventListener("toggle",_(this,_e,"f")),document.addEventListener("click",_(this,$e,"f"))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("keydown",_(this,ke,"f")),this.removeEventListener("toggle",_(this,_e,"f")),document.removeEventListener("click",_(this,$e,"f"))}async show(e){_(this,ye,"f")&&_(this,ye,"f")!==e&&this.hide();let t=this.positionX;"rtl"===$.current&&(t="before"===t?"after":"before"),C(this,we,await k(this,e,{position:this.submenu?"before"===t?"left-start":"right-start":"above"===this.positionY?"before"===t?"top-end":"top-start":"before"===t?"bottom-end":"bottom-start",inline:!0,flip:!0,shift:!0,offset:this.submenu?void 0:4},(e,t,s)=>{if(this.submenu){if(_(this,ye,"f")){const e=_(this,ge,"m",Le).call(this,_(this,ye,"f")).y;this.classList.toggle("-shift-down",!1),this.classList.toggle("-shift-up",!1),this.classList.toggle(Math.round(t)===Math.round(e)?"-shift-down":"-shift-up",!0)}}else this.classList.toggle("-top",s.includes("top")),this.classList.toggle("-bottom",s.includes("bottom"));"rtl"===$.current?this.style.right=window.innerWidth-e-this.clientWidth+"px":this.style.left=`${e}px`,this.style.top=`${t}px`}),"f"),this.showPopover(),C(this,ye,e,"f"),_(this,ye,"f").ariaExpanded="true",_(this,Se,"f").observe(_(this,ye,"f"))}hide(e=!1){for(const e of _(this,Ee,"f").items){const t=e.submenu;t&&t.isOpen&&t.hide()}this.hidePopover(),_(this,ye,"f")&&(_(this,ye,"f").ariaExpanded="false",e&&_(this,ye,"f").focus(),_(this,Se,"f").unobserve(_(this,ye,"f")),C(this,ye,void 0,"f"))}hideAll(e=!1){let t=this;for(;_(t,ye,"f");){const e=_(t,ye,"f").closest("m3e-menu");if(!e)break;t=e}t.hide(e)}async toggle(e){_(this,ye,"f")?this.hide():await this.show(e)}render(){return s`<slot @slotchange="${_(this,ge,"m",Ce)}"></slot>`}firstUpdated(e){super.firstUpdated(e),requestAnimationFrame(()=>this.classList.remove("-no-animate"))}};var Ue,Oe,We,Te,Re,ze,je,De,qe,Ne,Ie,Be;ye=new WeakMap,we=new WeakMap,Ee=new WeakMap,ke=new WeakMap,$e=new WeakMap,Se=new WeakMap,_e=new WeakMap,ge=new WeakSet,Ce=function(){const{added:e}=_(this,Ee,"f").setItems([...this.querySelectorAll("m3e-menu-item,m3e-menu-item-checkbox,m3e-menu-item-radio")].filter(e=>e.closest("m3e-menu")===this));_(this,Ee,"f").activeItem||_(this,Ee,"f").updateActiveItem(e.find(e=>!e.disabled))},xe=function(e){switch(e.key){case"Right":case"ArrowRight":"rtl"===$.current?(e.preventDefault(),this.hide(!0)):_(this,Ee,"f").onKeyDown(e);break;case"Left":case"ArrowLeft":"ltr"===$.current?(e.preventDefault(),this.hide(!0)):_(this,Ee,"f").onKeyDown(e);break;case"Tab":this.hideAll();break;case"Escape":e.shiftKey||e.ctrlKey||this.hide(!0);break;default:_(this,Ee,"f").onKeyDown(e)}},Pe=function(e){this.submenu||e.composedPath().some(e=>e instanceof Me||e===_(this,ye,"f"))||this.hide()},Le=function(e){let t=0,s=0;for(let i=e;i;i=i.offsetParent instanceof HTMLElement?i.offsetParent:null)t+=i.offsetLeft-i.scrollLeft+i.clientLeft,s+=i.offsetTop-i.scrollTop+i.clientTop;return{x:t,y:s}},Ae.styles=i`:host { position: absolute; flex-direction: column; padding: unset; margin: unset; border: unset; overflow-y: auto; scrollbar-width: ${d.scrollbar.thinWidth}; scrollbar-color: ${d.scrollbar.color}; border-radius: var(--m3e-menu-container-shape, ${d.shape.corner.extraSmall}); min-width: var(--m3e-menu-container-min-width, 7rem); max-width: var(--m3e-menu-container-max-width, 17.5rem); max-height: var(--m3e-menu-container-max-height, 17.5rem); padding-block: var(--m3e-menu-container-padding-block, 0.5rem); background-color: var(--m3e-menu-container-color, ${d.color.surfaceContainer}); box-shadow: var(--m3e-menu-container-elevation, ${d.elevation.level3}); opacity: 0; display: none; } :host(:not(.-no-animate)) { transition: ${n(`opacity ${d.motion.duration.short2} ${d.motion.easing.standard}, \n transform ${d.motion.duration.short2} ${d.motion.easing.standard},\n overlay ${d.motion.duration.short2} ${d.motion.easing.standard} allow-discrete,\n display ${d.motion.duration.short2} ${d.motion.easing.standard} allow-discrete`)}; } :host(:not([submenu])) { transform: scaleY(0.8); } :host(:not([submenu]):popover-open) { transform: scaleY(1); } :host::backdrop { background-color: transparent; } :host(:popover-open) { display: inline-flex; opacity: 1; } :host(.-bottom) { transform-origin: top; } :host(.-top) { transform-origin: bottom; } :host(.-shift-down) { margin-top: calc(0px - var(--m3e-menu-container-padding-block, 0.5rem)); } :host(.-shift-up) { margin-top: var(--m3e-menu-container-padding-block, 0.5rem); } ::slotted(m3e-divider) { margin-block: var(--m3e-menu-divider-spacing, 0.5rem); } @starting-style { :host(:popover-open) { opacity: 0; } :host(:not([submenu]):popover-open) { transform: scaleY(0.8); } } @media (prefers-reduced-motion) { :host(:not(.-no-animate)) { transition: none; } } @media (forced-colors: active) { :host { background-color: Menu; color: MenuText; border: 1px solid CanvasText; } }`,S([G({attribute:"position-x"})],Ae.prototype,"positionX",void 0),S([G({attribute:"position-y"})],Ae.prototype,"positionY",void 0),S([G({type:Boolean,reflect:!0})],Ae.prototype,"submenu",void 0),Ae=Me=S([x("m3e-menu")],Ae);let Ke=class extends(g(p(ee,"menuitemcheckbox"))){constructor(){super(...arguments),Ue.add(this),Oe.set(this,e=>_(this,Ue,"m",qe).call(this,e)),We.set(this,e=>_(this,Ue,"m",Ne).call(this,e)),Te.set(this,()=>_(this,Ue,"m",Ie).call(this)),Re.set(this,()=>_(this,Ue,"m",Be).call(this)),ze.set(this,!1)}connectedCallback(){super.connectedCallback(),this.addEventListener("click",_(this,Oe,"f")),this.addEventListener("keydown",_(this,We,"f")),this.addEventListener("keyup",_(this,Te,"f")),this.addEventListener("mouseenter",_(this,Re,"f"))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("click",_(this,Oe,"f")),this.removeEventListener("keydown",_(this,We,"f")),this.removeEventListener("keyup",_(this,Te,"f")),this.removeEventListener("mouseenter",_(this,Re,"f"))}_renderContent(){return s`<div class="icon"><svg class="check" viewBox="0 -960 960 960" aria-hidden="true"><path fill="currentColor" d="M382-240 154-468l57-57 171 171 367-367 57 57-424 424Z"/></svg><slot name="icon" @slotchange="${_(this,Ue,"m",je)}"></slot></div><slot></slot><slot name="trailing-icon" aria-hidden="true" @slotchange="${_(this,Ue,"m",De)}"></slot>`}};Oe=new WeakMap,We=new WeakMap,Te=new WeakMap,Re=new WeakMap,ze=new WeakMap,Ue=new WeakSet,je=function(e){this.classList.toggle("-with-icon",v(e.target))},De=function(e){this.classList.toggle("-with-trailing-icon",v(e.target))},qe=function(e){e.defaultPrevented||(this.checked=!this.checked,this.performUpdate(),_(this,ze,"f")||this.menu?.hideAll(!0))},Ne=function(e){C(this,ze," "===e.key,"f")},Ie=function(){C(this,ze,!1,"f")},Be=function(){this.menu?.items.forEach(e=>{e instanceof be&&e.submenu?.isOpen&&e.submenu.hide()})},Ke.styles=[ee.styles,i`.icon { display: flex; align-items: center; justify-content: center; } :host(:not(.-with-icon)) .icon { margin-inline-start: calc(0px - var(--m3e-menu-item-icon-label-space, 0.75rem)); } .check { width: 1em; font-size: var(--m3e-menu-item-icon-size, 1.5rem) !important; } :host(:not([checked])) .check { display: none; } :host([checked]) .icon { margin-inline-start: 0; } :host([checked]) ::slotted([slot="icon"]) { display: none !important; }`],Ke=S([x("m3e-menu-item-checkbox")],Ke);let He=class extends(p(e,"group")){render(){return s`<slot></slot>`}};var Ye,Ze,Xe,Je,Ve,Fe,Ge,Qe,et,tt,st,it;He.styles=i`:host { display: contents; }`,He=S([x("m3e-menu-item-group")],He);let nt=class extends(g(p(ee,"menuitemradio"))){constructor(){super(...arguments),Ye.add(this),Ze.set(this,e=>_(this,Ye,"m",et).call(this,e)),Xe.set(this,e=>_(this,Ye,"m",tt).call(this,e)),Je.set(this,()=>_(this,Ye,"m",st).call(this)),Ve.set(this,()=>_(this,Ye,"m",it).call(this)),Fe.set(this,!1)}connectedCallback(){super.connectedCallback(),this.addEventListener("click",_(this,Ze,"f")),this.addEventListener("keydown",_(this,Xe,"f")),this.addEventListener("keyup",_(this,Je,"f")),this.addEventListener("mouseenter",_(this,Ve,"f"))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("click",_(this,Ze,"f")),this.removeEventListener("keydown",_(this,Xe,"f")),this.removeEventListener("keyup",_(this,Je,"f")),this.removeEventListener("mouseenter",_(this,Ve,"f"))}update(e){super.update(e),e.has("checked")&&this.checked&&(this.closest("[role='group']")??this.closest("m3e-menu"))?.querySelectorAll("m3e-menu-item-radio").forEach(e=>{e!==this&&e.checked&&(e.checked=!1)})}_renderContent(){return s`<div class="icon"><svg class="check" viewBox="0 -960 960 960" aria-hidden="true"><path fill="currentColor" d="M382-240 154-468l57-57 171 171 367-367 57 57-424 424Z"/></svg><slot name="icon" @slotchange="${_(this,Ye,"m",Ge)}"></slot></div><slot></slot><slot name="trailing-icon" aria-hidden="true" @slotchange="${_(this,Ye,"m",Qe)}"></slot>`}};Ze=new WeakMap,Xe=new WeakMap,Je=new WeakMap,Ve=new WeakMap,Fe=new WeakMap,Ye=new WeakSet,Ge=function(e){this.classList.toggle("-with-icon",v(e.target))},Qe=function(e){this.classList.toggle("-with-trailing-icon",v(e.target))},et=function(e){e.defaultPrevented||(this.checked=!0,this.performUpdate(),_(this,Fe,"f")||this.menu?.hideAll(!0))},tt=function(e){C(this,Fe," "===e.key,"f")},st=function(){C(this,Fe,!1,"f")},it=function(){this.menu?.items.forEach(e=>{e instanceof be&&e.submenu?.isOpen&&e.submenu.hide()})},nt.styles=Ke.styles,nt=S([x("m3e-menu-item-radio")],nt);export{Ae as M3eMenuElement,Ke as M3eMenuItemCheckboxElement,be as M3eMenuItemElement,He as M3eMenuItemGroupElement,nt as M3eMenuItemRadioElement,ne as M3eMenuTriggerElement};
44
+ */()],fe.prototype,"_hasSubmenu",void 0),fe=pe=_([P("m3e-menu-item")],fe);let Le=Pe=class extends(f(e,"menu")){constructor(){super(...arguments),ve.add(this),ge.set(this,void 0),be.set(this,void 0),ye.set(this,(new k).withWrap().withHomeAndEnd().withVerticalOrientation()),we.set(this,e=>x(this,ve,"m",_e).call(this,e)),Ee.set(this,e=>x(this,ve,"m",xe).call(this,e)),ke.set(this,new b(this,{target:null,callback:e=>e instanceof Pe?e.items.filter(e=>e instanceof fe).forEach(e=>e.submenu?.hide()):this.hideAll()})),$e.set(this,e=>{"closed"===e.newState?(x(this,be,"f")?.call(this),C(this,be,void 0,"f")):setTimeout(()=>{x(this,ye,"f").setActiveItem(x(this,ye,"f").items.find(e=>!e.disabled))},40)}),this.positionX="after",this.positionY="below",this.submenu=!1}get items(){return x(this,ye,"f").items}get isOpen(){return void 0!==x(this,ge,"f")}connectedCallback(){super.connectedCallback(),this.tabIndex=-1,this.classList.add("-no-animate"),this.setAttribute("popover","manual"),this.addEventListener("keydown",x(this,we,"f")),this.addEventListener("toggle",x(this,$e,"f")),document.addEventListener("click",x(this,Ee,"f"))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("keydown",x(this,we,"f")),this.removeEventListener("toggle",x(this,$e,"f")),document.removeEventListener("click",x(this,Ee,"f"))}async show(e){x(this,ge,"f")&&x(this,ge,"f")!==e&&this.hide();let t=this.positionX;"rtl"===S.current&&(t="before"===t?"after":"before"),C(this,be,await $(this,e,{position:this.submenu?"before"===t?"left-start":"right-start":"above"===this.positionY?"before"===t?"top-end":"top-start":"before"===t?"bottom-end":"bottom-start",inline:!0,flip:!0,shift:!0,offset:this.submenu?void 0:4},(e,t,s)=>{if(this.submenu){if(x(this,ge,"f")){const e=x(this,ve,"m",Ce).call(this,x(this,ge,"f")).y;this.classList.toggle("-shift-down",!1),this.classList.toggle("-shift-up",!1),this.classList.toggle(Math.round(t)===Math.round(e)?"-shift-down":"-shift-up",!0)}}else this.classList.toggle("-top",s.includes("top")),this.classList.toggle("-bottom",s.includes("bottom"));"rtl"===S.current?this.style.right=window.innerWidth-e-this.clientWidth+"px":this.style.left=`${e}px`,this.style.top=`${t}px`}),"f"),this.showPopover(),C(this,ge,e,"f"),x(this,ge,"f").ariaExpanded="true",x(this,ke,"f").observe(x(this,ge,"f"))}hide(e=!1){for(const e of x(this,ye,"f").items){const t=e.submenu;t&&t.isOpen&&t.hide()}this.hidePopover(),x(this,ge,"f")&&(x(this,ge,"f").ariaExpanded="false",e&&x(this,ge,"f").focus(),x(this,ke,"f").unobserve(x(this,ge,"f")),C(this,ge,void 0,"f"))}hideAll(e=!1){let t=this;for(;x(t,ge,"f");){const e=x(t,ge,"f").closest("m3e-menu");if(!e)break;t=e}t.hide(e)}async toggle(e){x(this,ge,"f")?this.hide():await this.show(e)}render(){return s`<slot @slotchange="${x(this,ve,"m",Se)}"></slot>`}firstUpdated(e){super.firstUpdated(e),requestAnimationFrame(()=>this.classList.remove("-no-animate"))}};var Me,Ae,Ue,Oe,We,Te,Re,je,ze,De,qe,Ne;ge=new WeakMap,be=new WeakMap,ye=new WeakMap,we=new WeakMap,Ee=new WeakMap,ke=new WeakMap,$e=new WeakMap,ve=new WeakSet,Se=function(){const{added:e}=x(this,ye,"f").setItems([...this.querySelectorAll("m3e-menu-item,m3e-menu-item-checkbox,m3e-menu-item-radio")].filter(e=>e.closest("m3e-menu")===this));x(this,ye,"f").activeItem||x(this,ye,"f").updateActiveItem(e.find(e=>!e.disabled))},_e=function(e){switch(e.key){case"Right":case"ArrowRight":"rtl"===S.current?(e.preventDefault(),this.hide(!0)):x(this,ye,"f").onKeyDown(e);break;case"Left":case"ArrowLeft":"ltr"===S.current?(e.preventDefault(),this.hide(!0)):x(this,ye,"f").onKeyDown(e);break;case"Tab":this.hideAll();break;case"Escape":e.shiftKey||e.ctrlKey||this.hide(!0);break;default:x(this,ye,"f").onKeyDown(e)}},xe=function(e){this.submenu||e.composedPath().some(e=>e instanceof Pe||e===x(this,ge,"f"))||this.hide()},Ce=function(e){let t=0,s=0;for(let i=e;i;i=i.offsetParent instanceof HTMLElement?i.offsetParent:null)t+=i.offsetLeft-i.scrollLeft+i.clientLeft,s+=i.offsetTop-i.scrollTop+i.clientTop;return{x:t,y:s}},Le.styles=i`:host { position: absolute; flex-direction: column; padding: unset; margin: unset; border: unset; overflow-y: auto; scrollbar-width: ${d.scrollbar.thinWidth}; scrollbar-color: ${d.scrollbar.color}; border-radius: var(--m3e-menu-container-shape, ${d.shape.corner.extraSmall}); min-width: var(--m3e-menu-container-min-width, 7rem); max-width: var(--m3e-menu-container-max-width, 17.5rem); max-height: var(--m3e-menu-container-max-height, 17.5rem); padding-block: var(--m3e-menu-container-padding-block, 0.5rem); background-color: var(--m3e-menu-container-color, ${d.color.surfaceContainer}); box-shadow: var(--m3e-menu-container-elevation, ${d.elevation.level3}); opacity: 0; display: none; } :host(:not(.-no-animate)) { transition: ${n(`opacity ${d.motion.duration.short2} ${d.motion.easing.standard}, \n transform ${d.motion.duration.short2} ${d.motion.easing.standard},\n overlay ${d.motion.duration.short2} ${d.motion.easing.standard} allow-discrete,\n display ${d.motion.duration.short2} ${d.motion.easing.standard} allow-discrete`)}; } :host(:not([submenu])) { transform: scaleY(0.8); } :host(:not([submenu]):popover-open) { transform: scaleY(1); } :host::backdrop { background-color: transparent; } :host(:popover-open) { display: inline-flex; opacity: 1; } :host(.-bottom) { transform-origin: top; } :host(.-top) { transform-origin: bottom; } :host(.-shift-down) { margin-top: calc(0px - var(--m3e-menu-container-padding-block, 0.5rem)); } :host(.-shift-up) { margin-top: var(--m3e-menu-container-padding-block, 0.5rem); } ::slotted(m3e-divider) { margin-block: var(--m3e-menu-divider-spacing, 0.5rem); } @starting-style { :host(:popover-open) { opacity: 0; } :host(:not([submenu]):popover-open) { transform: scaleY(0.8); } } @media (prefers-reduced-motion) { :host(:not(.-no-animate)) { transition: none; } } @media (forced-colors: active) { :host { background-color: Menu; color: MenuText; border: 1px solid CanvasText; } }`,_([Q({attribute:"position-x"})],Le.prototype,"positionX",void 0),_([Q({attribute:"position-y"})],Le.prototype,"positionY",void 0),_([Q({type:Boolean,reflect:!0})],Le.prototype,"submenu",void 0),Le=Pe=_([P("m3e-menu")],Le);let Ie=class extends(y(f(te,"menuitemcheckbox"))){constructor(){super(...arguments),Me.add(this),Ae.set(this,e=>x(this,Me,"m",ze).call(this,e)),Ue.set(this,e=>x(this,Me,"m",De).call(this,e)),Oe.set(this,()=>x(this,Me,"m",qe).call(this)),We.set(this,()=>x(this,Me,"m",Ne).call(this)),Te.set(this,!1)}connectedCallback(){super.connectedCallback(),this.addEventListener("click",x(this,Ae,"f")),this.addEventListener("keydown",x(this,Ue,"f")),this.addEventListener("keyup",x(this,Oe,"f")),this.addEventListener("mouseenter",x(this,We,"f"))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("click",x(this,Ae,"f")),this.removeEventListener("keydown",x(this,Ue,"f")),this.removeEventListener("keyup",x(this,Oe,"f")),this.removeEventListener("mouseenter",x(this,We,"f"))}_renderContent(){return s`<div class="icon"><svg class="check" viewBox="0 -960 960 960" aria-hidden="true"><path fill="currentColor" d="M382-240 154-468l57-57 171 171 367-367 57 57-424 424Z"/></svg><slot name="icon" @slotchange="${x(this,Me,"m",Re)}"></slot></div><slot></slot><slot name="trailing-icon" aria-hidden="true" @slotchange="${x(this,Me,"m",je)}"></slot>`}};Ae=new WeakMap,Ue=new WeakMap,Oe=new WeakMap,We=new WeakMap,Te=new WeakMap,Me=new WeakSet,Re=function(e){this.classList.toggle("-with-icon",g(e.target))},je=function(e){this.classList.toggle("-with-trailing-icon",g(e.target))},ze=function(e){e.defaultPrevented||(this.checked=!this.checked,this.performUpdate(),x(this,Te,"f")||this.menu?.hideAll(!0))},De=function(e){C(this,Te," "===e.key,"f")},qe=function(){C(this,Te,!1,"f")},Ne=function(){this.menu?.items.forEach(e=>{e instanceof fe&&e.submenu?.isOpen&&e.submenu.hide()})},Ie.styles=[te.styles,i`.icon { display: flex; align-items: center; justify-content: center; } :host(:not(.-with-icon)) .icon { margin-inline-start: calc(0px - var(--m3e-menu-item-icon-label-space, 0.75rem)); } .check { width: 1em; font-size: var(--m3e-menu-item-icon-size, 1.5rem) !important; } :host(:not([checked])) .check { display: none; } :host([checked]) .icon { margin-inline-start: 0; } :host([checked]) ::slotted([slot="icon"]) { display: none !important; }`],Ie=_([P("m3e-menu-item-checkbox")],Ie);let Be=class extends(f(e,"group")){render(){return s`<slot></slot>`}};var Ke,He,Ye,Ze,Xe,Je,Ve,Fe,Ge,Qe,et,tt;Be.styles=i`:host { display: contents; }`,Be=_([P("m3e-menu-item-group")],Be);let st=class extends(y(f(te,"menuitemradio"))){constructor(){super(...arguments),Ke.add(this),He.set(this,e=>x(this,Ke,"m",Ge).call(this,e)),Ye.set(this,e=>x(this,Ke,"m",Qe).call(this,e)),Ze.set(this,()=>x(this,Ke,"m",et).call(this)),Xe.set(this,()=>x(this,Ke,"m",tt).call(this)),Je.set(this,!1)}connectedCallback(){super.connectedCallback(),this.addEventListener("click",x(this,He,"f")),this.addEventListener("keydown",x(this,Ye,"f")),this.addEventListener("keyup",x(this,Ze,"f")),this.addEventListener("mouseenter",x(this,Xe,"f"))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("click",x(this,He,"f")),this.removeEventListener("keydown",x(this,Ye,"f")),this.removeEventListener("keyup",x(this,Ze,"f")),this.removeEventListener("mouseenter",x(this,Xe,"f"))}update(e){super.update(e),e.has("checked")&&this.checked&&(this.closest("[role='group']")??this.closest("m3e-menu"))?.querySelectorAll("m3e-menu-item-radio").forEach(e=>{e!==this&&e.checked&&(e.checked=!1)})}_renderContent(){return s`<div class="icon"><svg class="check" viewBox="0 -960 960 960" aria-hidden="true"><path fill="currentColor" d="M382-240 154-468l57-57 171 171 367-367 57 57-424 424Z"/></svg><slot name="icon" @slotchange="${x(this,Ke,"m",Ve)}"></slot></div><slot></slot><slot name="trailing-icon" aria-hidden="true" @slotchange="${x(this,Ke,"m",Fe)}"></slot>`}};He=new WeakMap,Ye=new WeakMap,Ze=new WeakMap,Xe=new WeakMap,Je=new WeakMap,Ke=new WeakSet,Ve=function(e){this.classList.toggle("-with-icon",g(e.target))},Fe=function(e){this.classList.toggle("-with-trailing-icon",g(e.target))},Ge=function(e){e.defaultPrevented||(this.checked=!0,this.performUpdate(),x(this,Je,"f")||this.menu?.hideAll(!0))},Qe=function(e){C(this,Je," "===e.key,"f")},et=function(){C(this,Je,!1,"f")},tt=function(){this.menu?.items.forEach(e=>{e instanceof fe&&e.submenu?.isOpen&&e.submenu.hide()})},st.styles=Ie.styles,st=_([P("m3e-menu-item-radio")],st);export{Le as M3eMenuElement,Ie as M3eMenuItemCheckboxElement,fe as M3eMenuItemElement,Be as M3eMenuItemGroupElement,st as M3eMenuItemRadioElement,se as M3eMenuTriggerElement};
45
45
  //# sourceMappingURL=index.min.js.map