mtrl 0.5.12 → 0.6.1

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.
@@ -11,7 +11,7 @@
11
11
  * - tertiary: Uses the tertiary color, lower emphasis
12
12
  * - surface: Uses the surface color with an outline, lowest emphasis
13
13
  */
14
- export type ExtendedFabVariant = 'primary' | 'secondary' | 'tertiary' | 'surface';
14
+ export type ExtendedFabVariant = "primary" | "secondary" | "tertiary" | "surface";
15
15
  /**
16
16
  * Extended FAB width behavior
17
17
  *
@@ -22,7 +22,7 @@ export type ExtendedFabVariant = 'primary' | 'secondary' | 'tertiary' | 'surface
22
22
  * - fixed: Maintains a constant width regardless of content (default)
23
23
  * - fluid: Adjusts width based on content length
24
24
  */
25
- export type ExtendedFabWidth = 'fixed' | 'fluid';
25
+ export type ExtendedFabWidth = "fixed" | "fluid";
26
26
  /**
27
27
  * Extended FAB position on the screen
28
28
  *
@@ -37,7 +37,7 @@ export type ExtendedFabWidth = 'fixed' | 'fluid';
37
37
  * - top-right: Used for actions related to top content
38
38
  * - top-left: Less common but available for special layouts
39
39
  */
40
- export type ExtendedFabPosition = 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left';
40
+ export type ExtendedFabPosition = "top-right" | "top-left" | "bottom-right" | "bottom-left";
41
41
  /**
42
42
  * Configuration interface for the Extended FAB component
43
43
  *
@@ -138,7 +138,7 @@ export interface ExtendedFabConfig {
138
138
  * });
139
139
  * ```
140
140
  */
141
- iconPosition?: 'start' | 'end';
141
+ iconPosition?: "start" | "end";
142
142
  /**
143
143
  * Text label for the Extended FAB
144
144
  *
@@ -223,7 +223,7 @@ export interface ExtendedFabConfig {
223
223
  * });
224
224
  * ```
225
225
  */
226
- type?: 'button' | 'submit' | 'reset';
226
+ type?: "button" | "submit" | "reset";
227
227
  /**
228
228
  * Accessible label for screen readers
229
229
  *
@@ -364,6 +364,11 @@ export interface ExtendedFabConfig {
364
364
  * ```
365
365
  */
366
366
  collapseOnScroll?: boolean;
367
+ /**
368
+ * Index signature for additional configuration options
369
+ * Required for compatibility with core feature interfaces
370
+ */
371
+ [key: string]: unknown;
367
372
  }
368
373
  /**
369
374
  * Extended FAB component interface
@@ -11,7 +11,7 @@
11
11
  * - tertiary: Uses the tertiary color, lower emphasis
12
12
  * - surface: Uses the surface color with an outline, lowest emphasis
13
13
  */
14
- export type FabVariant = 'primary' | 'secondary' | 'tertiary' | 'surface';
14
+ export type FabVariant = "primary" | "secondary" | "tertiary" | "surface";
15
15
  /**
16
16
  * FAB size variants
17
17
  *
@@ -24,7 +24,7 @@ export type FabVariant = 'primary' | 'secondary' | 'tertiary' | 'surface';
24
24
  * - default: 56px diameter, for standard primary actions (default)
25
25
  * - large: 96px diameter, for emphasis or touch-focused interfaces
26
26
  */
27
- export type FabSize = 'small' | 'default' | 'large';
27
+ export type FabSize = "small" | "default" | "large";
28
28
  /**
29
29
  * FAB position options
30
30
  *
@@ -39,7 +39,7 @@ export type FabSize = 'small' | 'default' | 'large';
39
39
  * - top-right: Used for actions related to top content
40
40
  * - top-left: Less common but available for special layouts
41
41
  */
42
- export type FabPosition = 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left';
42
+ export type FabPosition = "top-right" | "top-left" | "bottom-right" | "bottom-left";
43
43
  /**
44
44
  * Configuration interface for the FAB component
45
45
  *
@@ -209,7 +209,7 @@ export interface FabConfig {
209
209
  * });
210
210
  * ```
211
211
  */
212
- type?: 'button' | 'submit' | 'reset';
212
+ type?: "button" | "submit" | "reset";
213
213
  /**
214
214
  * Accessible label for screen readers
215
215
  *
@@ -310,6 +310,11 @@ export interface FabConfig {
310
310
  * ```
311
311
  */
312
312
  animate?: boolean;
313
+ /**
314
+ * Index signature for additional configuration options
315
+ * Required for compatibility with core feature interfaces
316
+ */
317
+ [key: string]: unknown;
313
318
  }
314
319
  /**
315
320
  * FAB component interface
package/dist/index.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * mtrl v0.5.12
2
+ * mtrl v0.6.1
3
3
  * A functional TypeScript component library based on Material Design 3
4
4
  * @license MIT
5
5
  */
@@ -15,7 +15,7 @@ var{defineProperty:O8,getOwnPropertyNames:v3,getOwnPropertyDescriptor:S3}=Object
15
15
  <line x1="18" y1="6" x2="6" y2="18"></line>
16
16
  <line x1="6" y1="6" x2="18" y2="18"></line>
17
17
  </svg>
18
- `,O.addEventListener("click",(F)=>{if(F.preventDefault(),F.stopPropagation(),$&&$.emit)$.emit("dialog:close",{source:"closeButton"})}),V.appendChild(O)}return V},j=()=>{let V=document.createElement("div");if(V.classList.add($.getClass("dialog-content")),J.content)V.innerHTML=J.content;return V},K=()=>{let V=document.createElement("div");V.classList.add($.getClass("dialog-footer"));let k=J.footerAlignment||"right";if(k!=="right")a(V,`${$.getClass("dialog-footer")}--${k}`);if(Array.isArray(J.buttons)&&J.buttons.length>0)J.buttons.forEach((O)=>z5(V,O,$));return V},z=()=>{return d9({variant:"full-width",class:$.getClass("dialog-divider")})},Y=Z(),G=j(),W=Array.isArray(J.buttons)&&J.buttons.length>0?K():null;a($.element,$.getClass("dialog"));let X=J.size||"medium";if(X!=="medium")a($.element,`${$.getClass("dialog")}--${X}`);let U=J.animation||"scale";if(U!=="scale")a($.element,`${$.getClass("dialog")}--${U}`);$.element.appendChild(Y);let L=null,M=null;if(J.divider){if(L=z(),L.element.classList.add($.getClass("dialog-header-divider")),$.element.appendChild(L.element),W)M=z(),M.element.classList.add($.getClass("dialog-footer-divider"))}if($.element.appendChild(G),M)$.element.appendChild(M.element);if(W)$.element.appendChild(W);q.appendChild($.element);let B=J.container||document.body;return B.appendChild(q),{...$,overlay:q,structure:{header:Y,content:G,footer:W,headerDivider:L,footerDivider:M,container:B}}},K5=()=>(J)=>{return{...J,divider:{toggleDivider($){if($&&!J.structure.headerDivider){let Q=d9({variant:"full-width",class:`${J.getClass("dialog-divider")} ${J.getClass("dialog-header-divider")}`});if(J.element.insertBefore(Q.element,J.structure.content),J.structure.headerDivider=Q,J.structure.footer&&!J.structure.footerDivider){let q=d9({variant:"full-width",class:`${J.getClass("dialog-divider")} ${J.getClass("dialog-footer-divider")}`});J.element.insertBefore(q.element,J.structure.footer),J.structure.footerDivider=q}}else if(!$){if(J.structure.headerDivider)J.structure.headerDivider.element.remove(),J.structure.headerDivider=null;if(J.structure.footerDivider)J.structure.footerDivider.element.remove(),J.structure.footerDivider=null}return J},hasDivider(){return J.structure.headerDivider!==null}}}},z5=(J,$,Q)=>{let{text:q,variant:Z="text",onClick:j,closeDialog:K=!0,autofocus:z=!1,attributes:Y={}}=$,G=f6({text:q,variant:Z,...Y});if(G.on("click",(W)=>{console.log("button click");let X=K;if(typeof j==="function")try{if(j(W,Q)===!1)X=!1}catch(U){console.error("Error in onClick handler:",U)}if(X){if(Q&&Q.emit)Q.emit("dialog:close",{source:"button",text:q})}}),z)G.element.setAttribute("autofocus","true");if(J.appendChild(G.element),!Q._buttons)Q._buttons=[];Q._buttons.push({config:$,instance:G})},Y5=()=>(J)=>{let $=J.config.open===!0,Q=J.config.animationDuration||150,q='button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])',Z=null,j=()=>{if(!J.config.trapFocus)return;let U=J.element.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');if(U.length===0)return;let L=U[0],M=U[U.length-1];if(J.config.autofocus){let V=J.element.querySelector("[autofocus]");if(V)V.focus();else L.focus()}J.element.addEventListener("keydown",B);function B(V){if(V.key!=="Tab")return;if(V.shiftKey){if(document.activeElement===L)M.focus(),V.preventDefault()}else if(document.activeElement===M)L.focus(),V.preventDefault()}},K=()=>{if(!J.config.trapFocus)return;if(J.element.removeEventListener("keydown",U),Z)Z.focus(),Z=null;function U(){}},z=()=>{if(J.config.closeOnOverlayClick!==!1)J.overlay.addEventListener("click",G);if(J.config.closeOnEscape!==!1)document.addEventListener("keydown",W)},Y=()=>{J.overlay.removeEventListener("click",G),document.removeEventListener("keydown",W)};function G(U){if(U.target===J.overlay)X.close()}function W(U){if(U.key==="Escape"&&X.isOpen())X.close()}if($)a(J.overlay,`${J.getClass("dialog-overlay")}--visible`),a(J.element,`${J.getClass("dialog")}--visible`),j(),z();let X={open(){if(this.isOpen())return;Z=document.activeElement;let U={dialog:J,defaultPrevented:!1,preventDefault:()=>{U.defaultPrevented=!0}};if(typeof J.emit==="function")J.emit(z7.BEFORE_OPEN,U);if(U.defaultPrevented)return;if(J.overlay&&!J.overlay.parentNode)(J.structure.container||document.body).appendChild(J.overlay);a(J.overlay,`${J.getClass("dialog-overlay")}--visible`),setTimeout(()=>{if(a(J.element,`${J.getClass("dialog")}--visible`),j(),z(),typeof J.emit==="function")J.emit(z7.OPEN,{dialog:J}),setTimeout(()=>{J.emit(z7.AFTER_OPEN,{dialog:J})},Q)},10)},close(){console.log("Dialog close method called");let U={dialog:J,defaultPrevented:!1,preventDefault:()=>{U.defaultPrevented=!0}};if(typeof J.emit==="function")J.emit(z7.BEFORE_CLOSE,U);if(U.defaultPrevented){console.log("Dialog close prevented by event handler");return}let L=`${J.getClass("dialog")}--visible`,M=`${J.getClass("dialog-overlay")}--visible`;if(X6(J.element,L),X6(J.overlay,M),K(),Y(),typeof J.emit==="function")J.emit(z7.CLOSE,{dialog:J});setTimeout(()=>{if(J.overlay&&J.overlay.parentNode)J.overlay.parentNode.removeChild(J.overlay);if(typeof J.emit==="function")J.emit(z7.AFTER_CLOSE,{dialog:J})},Q)},toggle(U){if(U===void 0)this.isOpen()?this.close():this.open();else if(U)this.open();else this.close()},isOpen(){return J.element.classList.contains(`${J.getClass("dialog")}--visible`)}};if(J&&J.on)J.on("dialog:close",()=>{X.close()});return{...J,visibility:X}},G5=()=>(J)=>{let $=J.structure.header,Q=J.structure.content,q=J.structure.footer;return{...J,content:{setTitle(Z){let j=$.querySelector(`.${J.getClass("dialog-header-title")}`);if(!j&&Z)j=document.createElement("h2"),j.classList.add(J.getClass("dialog-header-title")),$.querySelector(`.${J.getClass("dialog-header-content")}`).appendChild(j);if(j)j.textContent=Z},getTitle(){let Z=$.querySelector(`.${J.getClass("dialog-header-title")}`);return Z?Z.textContent||"":""},setSubtitle(Z){let j=$.querySelector(`.${J.getClass("dialog-header-subtitle")}`);if(!j&&Z)j=document.createElement("p"),j.classList.add(J.getClass("dialog-header-subtitle")),$.querySelector(`.${J.getClass("dialog-header-content")}`).appendChild(j);if(j)j.textContent=Z},getSubtitle(){let Z=$.querySelector(`.${J.getClass("dialog-header-subtitle")}`);return Z?Z.textContent||"":""},setContent(Z){Q.innerHTML=Z},getContent(){return Q.innerHTML},getHeaderElement(){return $},getContentElement(){return Q},getFooterElement(){return q}}}},W5=()=>(J)=>{if(!J._buttons)J._buttons=[];return{...J,buttons:{addButton($){let Q=J.structure.footer;if(!Q){Q=document.createElement("div"),Q.classList.add(J.getClass("dialog-footer"));let q=J.config.footerAlignment||"right";if(q!=="right")a(Q,`${J.getClass("dialog-footer")}--${q}`);J.element.appendChild(Q),J.structure.footer=Q}z5(Q,$,J)},removeButton($){if(typeof $==="number"){if($>=0&&$<J._buttons.length)J._buttons[$].instance.destroy(),J._buttons.splice($,1)}else{let Q=J._buttons.findIndex((q)=>q.config.text===$);if(Q!==-1)J._buttons[Q].instance.destroy(),J._buttons.splice(Q,1)}if(J._buttons.length===0&&J.structure.footer)J.element.removeChild(J.structure.footer),J.structure.footer=null},getButtons(){return J._buttons.map(($)=>$.config)},setFooterAlignment($){if(!J.structure.footer)return;if(["right","left","center","space-between"].forEach((q)=>{if(q!=="right")X6(J.structure.footer,`${J.getClass("dialog-footer")}--${q}`)}),$!=="right")a(J.structure.footer,`${J.getClass("dialog-footer")}--${$}`)}}}},U5=()=>(J)=>{return{...J,size:{setSize($){if(["small","medium","large","fullwidth","fullscreen"].forEach((q)=>{X6(J.element,`${J.getClass("dialog")}--${q}`)}),$!=="medium")a(J.element,`${J.getClass("dialog")}--${$}`)}}}},X5=()=>(J)=>{return{...J,confirm($){return new Promise((Q)=>{let{title:q="Confirm",message:Z,confirmText:j="Yes",cancelText:K="No",confirmVariant:z="filled",cancelVariant:Y="text",size:G="small"}=$;J.content.setTitle(q),J.content.setContent(`<p>${Z}</p>`),J.size.setSize(G),J._buttons.forEach((W)=>W.instance.destroy()),J._buttons=[],J.buttons.addButton({text:j,variant:z,onClick:()=>{Q(!0)}}),J.buttons.addButton({text:K,variant:Y,onClick:()=>{Q(!1)}}),J.visibility.open()})}}};c9();var B5=(J)=>($)=>({...$,open(){return J.visibility.open(),this},close(){return J.visibility.close(),this},toggle(Q){return J.visibility.toggle(Q),this},isOpen(){return J.visibility.isOpen()},setTitle(Q){return J.content.setTitle(Q),this},getTitle(){return J.content.getTitle()},setSubtitle(Q){return J.content.setSubtitle(Q),this},getSubtitle(){return J.content.getSubtitle()},setContent(Q){return J.content.setContent(Q),this},getContent(){return J.content.getContent()},addButton(Q){return J.buttons.addButton(Q),this},removeButton(Q){return J.buttons.removeButton(Q),this},getButtons(){return J.buttons.getButtons()},setFooterAlignment(Q){return J.buttons.setFooterAlignment(Q),this},toggleDivider(Q){return J.divider.toggleDivider(Q),this},hasDivider(){return J.divider.hasDivider()},setSize(Q){return J.size.setSize(Q),this},on(Q,q){return J.events.on(Q,q),this},off(Q,q){return J.events.off(Q,q),this},getHeaderElement(){return J.content.getHeaderElement()},getContentElement(){return J.content.getContentElement()},getFooterElement(){return J.content.getFooterElement()},confirm(Q){if($.confirm)return $.confirm(Q||{message:"Are you sure?"});return Promise.resolve(!1)},destroy(){if(console.log("destroy",this.isOpen()),this.isOpen()){let Q=`${$.getClass("dialog")}--visible`,q=`${$.getClass("dialog-overlay")}--visible`;if(X6($.element,Q),X6($.overlay,q),J.focus&&J.focus.releaseFocus)J.focus.releaseFocus()}if(J.lifecycle.destroy(),$.overlay&&$.overlay.parentNode)$.overlay.parentNode.removeChild($.overlay)},element:$.element,overlay:$.overlay});var dq=(J={})=>{let $=t4(J);try{let Q=I(T,E(),b(n4($)),j5($),Y5(),G5(),W5(),U5(),K5(),X5(),C(),(q)=>B5($5(q))(q))($);if($.on)Object.entries($.on).forEach(([q,Z])=>{if(typeof Z==="function")Q.on(q,Z)});return Q}catch(Q){throw console.error("Dialog creation error:",Q),Error(`Failed to create dialog: ${Q.message}`)}},yJ=dq;$6();s();i();var F5=({disabled:J,lifecycle:$,className:Q})=>(q)=>({...q,element:q.element,getValue:()=>q.element.value,setValue(Z){return q.element.value=Z,this},enable(){return J.enable(),this},disable(){return J.disable(),this},setIcon(Z){return q.icon.setIcon(Z),this},getIcon(){return q.icon.getIcon()},setPosition(Z){return["top-right","top-left","bottom-right","bottom-left"].forEach((K)=>{q.element.classList.remove(`${Q}--${K}`)}),q.element.classList.add(`${Q}--${Z}`),this},getPosition(){let Z=["top-right","top-left","bottom-right","bottom-left"];for(let j of Z)if(q.element.classList.contains(`${Q}--${j}`))return j;return null},lower(){return q.element.classList.add(`${Q}--lowered`),this},raise(){return q.element.classList.remove(`${Q}--lowered`),this},destroy(){$.destroy()}});m();var gq={variant:"primary",size:"default",type:"button",ripple:!0},H5=(J={})=>S(gq,J,"fab"),M5=(J)=>{let $={type:J.type||"button","aria-label":J.ariaLabel||(J.icon?"action":void 0)};if(J.disabled===!0)$.disabled=!0;let Q=[];if(Q.push(`fab--${J.size||"default"}`),J.animate)Q.push("fab--animate-enter");if(J.position)Q.push(`fab--${J.position}`);if(J.disabled===!0)Q.push("fab--disabled");let q={...J,className:Q};return f(q,{tag:"button",attributes:$,forwardEvents:{click:(Z)=>!Z.element.disabled,focus:!0,blur:!0},interactive:!0})},k5=(J)=>({disabled:{enable:()=>J.disabled.enable(),disable:()=>J.disabled.disable()},lifecycle:{destroy:()=>J.lifecycle.destroy()},className:J.getClass("fab")});var rq=(J={})=>{let $=H5(J);try{return I(T,E(),b(M5($)),j6($),T6($),K6($),R6($),C(),(q)=>F5(k5(q))(q))($)}catch(Q){throw console.error("FAB creation error:",Q),Error(`Failed to create FAB: ${Q.message}`)}},v$=rq;$6();s();i();var V5=({disabled:J,lifecycle:$,text:Q,className:q})=>(Z)=>({...Z,element:Z.element,getValue:()=>Z.element.value,setValue(j){return Z.element.value=j,this},enable(){return J.enable(),this},disable(){return J.disable(),this},setIcon(j){return Z.icon.setIcon(j),this},getIcon(){return Z.icon.getIcon()},setText(j){return Q.setText(j),this},getText(){return Q.getText()},setPosition(j){return["top-right","top-left","bottom-right","bottom-left"].forEach((z)=>{Z.element.classList.remove(`${q}--${z}`)}),Z.element.classList.add(`${q}--${j}`),this},getPosition(){let j=["top-right","top-left","bottom-right","bottom-left"];for(let K of j)if(Z.element.classList.contains(`${q}--${K}`))return K;return null},lower(){return Z.element.classList.add(`${q}--lowered`),this},raise(){return Z.element.classList.remove(`${q}--lowered`),this},collapse(){Z.element.classList.add(`${q}--collapsed`);let j=new CustomEvent("collapse",{bubbles:!0,cancelable:!0});return Z.element.dispatchEvent(j),this},expand(){Z.element.classList.remove(`${q}--collapsed`);let j=new CustomEvent("expand",{bubbles:!0,cancelable:!0});return Z.element.dispatchEvent(j),this},destroy(){$.destroy()}});m();var lq={variant:"primary",type:"button",ripple:!0,iconPosition:"start",width:"fixed"},N5=(J={})=>S(lq,J,"extended-fab"),L5=(J)=>{let $={type:J.type||"button","aria-label":J.ariaLabel||J.text||(J.icon?"action":void 0)},Q=[`${J.prefix}-extended-fab`];if(J.variant)Q.push(`${J.prefix}-extended-fab--${J.variant}`);if(J.width)Q.push(`${J.prefix}-extended-fab--${J.width}`);if(J.animate)Q.push(`${J.prefix}-extended-fab--animate-enter`);if(J.position)Q.push(`${J.prefix}-extended-fab--${J.position}`);if(J.collapseOnScroll)Q.push(`${J.prefix}-extended-fab--collapsible`);if(J.class)Q.push(J.class);if(J.disabled===!0)$.disabled=!0,Q.push(`${J.prefix}-extended-fab--disabled`);return f(J,{tag:"button",attributes:$,className:Q,forwardEvents:{click:(q)=>!q.element.disabled,focus:!0,blur:!0},interactive:!0})},_5=(J)=>({disabled:{enable:()=>J.disabled.enable(),disable:()=>J.disabled.disable()},lifecycle:{destroy:()=>J.lifecycle.destroy()},className:J.getClass("extended-fab"),text:{setText:($)=>J.text.setText($),getText:()=>J.text.getText()}});var pq=(J={})=>{let $=N5(J),Q=(q)=>{if($.collapseOnScroll){let Z=window.scrollY,j=!1,K=10,z=()=>{if(!j)window.requestAnimationFrame(()=>{let G=window.scrollY,W=G-Z;if(W>K)q.collapse();else if(W<-K)q.expand();if(G<=0)q.expand();Z=G,j=!1}),j=!0};window.addEventListener("scroll",z,{passive:!0}),requestAnimationFrame(()=>{q.expand()});let Y=q.destroy;q.destroy=()=>{window.removeEventListener("scroll",z),Y.call(q)}}};try{let q=I(T,E(),b(L5($)),j6($),T6($),K9($),K6($),R6($),C(),(Z)=>V5(_5(Z))(Z))($);return Q(q),q}catch(q){throw console.error("Extended FAB creation error:",q),Error(`Failed to create Extended FAB: ${q.message}`)}},S$=pq;$6();s();i();var D5=(J)=>($)=>{if(!J.toggle)return{...$,toggleState:{select:function(){return this},deselect:function(){return this},toggle:function(){return this},isSelected:()=>!1,isToggle:()=>!1,setIcon:function(){return this},setSelectedIcon:function(){return this},getSelectedIcon:()=>""}};let Q=J.prefix||"mtrl",q=J.componentName||"icon-button",Z=`${Q}-${q}--selected`,j=J.selected||!1,K=J.icon||"",z=J.selectedIcon||"",Y=()=>{if(!$.icon)return;let M=j&&z?z:K;if(M)$.icon.setIcon(M)},G=()=>{$.element.setAttribute("aria-pressed",String(j))},W={select(){if(!j)j=!0,$.element.classList.add(Z),Y(),G();return this},deselect(){if(j)j=!1,$.element.classList.remove(Z),Y(),G();return this},toggle(){if(j)this.deselect();else this.select();return this},isSelected(){return j},isToggle(){return!0},setIcon(M){if(K=M,!j)Y();return this},setSelectedIcon(M){if(z=M,j)Y();return this},getSelectedIcon(){return z}};if(j)$.element.classList.add(Z),G(),Y();else G();let X=J.toggleOnClick!==!1,U=()=>{W.toggle();let M=new CustomEvent("toggle",{bubbles:!0,detail:{selected:j}});$.element.dispatchEvent(M)};if(X)$.element.addEventListener("click",U);let L=$.lifecycle?.destroy;if($.lifecycle)$.lifecycle.destroy=()=>{if(X)$.element.removeEventListener("click",U);if(L)L()};return{...$,toggleState:W}};var O5=({disabled:J,lifecycle:$,toggleState:Q})=>(q)=>{let Z=q.componentName||"icon-button",j=q.getClass(Z),K={setIcon:(Y)=>{return q.icon.setIcon(Y),K},getIcon:()=>q.icon.getIcon(),getElement:()=>q.icon.getElement()},z={element:q.element,icon:K,disabled:{enable:()=>J.enable(),disable:()=>J.disable(),isDisabled:()=>J.isDisabled()},lifecycle:{destroy:()=>$.destroy()},getClass:q.getClass,getValue:()=>q.element.value,setValue(Y){return q.element.value=Y,z},getVariant(){let Y=["filled","tonal","outlined","standard"];for(let G of Y)if(q.element.classList.contains(`${j}--${G}`))return G;return"standard"},setVariant(Y){return["filled","tonal","outlined","standard"].forEach((W)=>{q.element.classList.remove(`${j}--${W}`)}),q.element.classList.add(`${j}--${Y}`),z},getSize(){let Y=["xs","s","m","l","xl"];for(let G of Y)if(q.element.classList.contains(`${j}--${G}`))return G;return"s"},setSize(Y){if(["xs","s","m","l","xl"].forEach((W)=>{q.element.classList.remove(`${j}--${W}`)}),Y!=="s")q.element.classList.add(`${j}--${Y}`);return z},getShape(){let Y=["round","square"];for(let G of Y)if(q.element.classList.contains(`${j}--${G}`))return G;return"round"},setShape(Y){if(["round","square"].forEach((W)=>{q.element.classList.remove(`${j}--${W}`)}),Y!=="round")q.element.classList.add(`${j}--${Y}`);return z},getWidth(){let Y=["narrow","default","wide"];for(let G of Y)if(q.element.classList.contains(`${j}--${G}`))return G;return"default"},setWidth(Y){if(["narrow","default","wide"].forEach((W)=>{q.element.classList.remove(`${j}--${W}`)}),Y!=="default")q.element.classList.add(`${j}--${Y}`);return z},enable(){return J.enable(),z},disable(){return J.disable(),z},setIcon(Y){if(Q?.isToggle()&&!Q.isSelected())Q.setIcon(Y);return q.icon.setIcon(Y),z},getIcon(){return q.icon.getIcon()},setSelectedIcon(Y){if(Q)Q.setSelectedIcon(Y);return z},getSelectedIcon(){return Q?.getSelectedIcon()||""},isToggle(){return Q?.isToggle()||!1},select(){if(Q)Q.select();return z},deselect(){if(Q)Q.deselect();return z},toggleSelected(){if(Q)Q.toggle();return z},isSelected(){return Q?.isSelected()||!1},setAriaLabel(Y){return q.element.setAttribute("aria-label",Y),z},destroy(){$.destroy()},on(Y,G){if(q.on)q.on(Y,G);else q.element.addEventListener(Y,G);return z},off(Y,G){if(q.off)q.off(Y,G);else q.element.removeEventListener(Y,G);return z},addClass(...Y){if(q.addClass)q.addClass(...Y);else Y.forEach((G)=>q.element.classList.add(G));return z},removeClass(...Y){if(q.removeClass)q.removeClass(...Y);else Y.forEach((G)=>q.element.classList.remove(G));return z}};return z};m();var C$={FILLED:"filled",TONAL:"tonal",OUTLINED:"outlined",STANDARD:"standard"},E$={XS:"xs",S:"s",M:"m",L:"l",XL:"xl"},h$={ROUND:"round",SQUARE:"square"},u$={NARROW:"narrow",DEFAULT:"default",WIDE:"wide"},P5={BUTTON:"button",SUBMIT:"submit",RESET:"reset"},R5={ROOT:"icon-button",ICON:"icon-button__icon",SELECTED:"icon-button--selected",DISABLED:"icon-button--disabled",PRESSED:"icon-button--pressed"},f$={DURATION:450,TIMING:"cubic-bezier(0.4, 0.0, 0.2, 1)",OPACITY:["0.7","0"]},w5={XS:{square:12,pressed:8},S:{square:12,pressed:8},M:{square:16,pressed:12},L:{square:28,pressed:16},XL:{square:28,pressed:16}},y5={XS:18,S:24,M:24,L:36,XL:48},A5={XS:32,S:40,M:56,L:96,XL:136},x5={XS:{narrow:28,default:32,wide:36},S:{narrow:32,default:40,wide:48},M:{narrow:48,default:56,wide:64},L:{narrow:80,default:96,wide:112},XL:{narrow:112,default:136,wide:160}};var sq={variant:C$.STANDARD,size:E$.S,shape:h$.ROUND,width:u$.DEFAULT,disabled:!1,type:P5.BUTTON,toggle:!1,selected:!1,ripple:!0,tooltip:!0,rippleConfig:{duration:f$.DURATION,timing:f$.TIMING,opacity:f$.OPACITY}},T5=(J={})=>S(sq,J,"icon-button"),I5=(J)=>{let $={type:J.type||"button"};if(J.ariaLabel)$["aria-label"]=J.ariaLabel;if(J.toggle)$["aria-pressed"]=J.selected?"true":"false";if(J.disabled===!0)$.disabled=!0;if(J.value!==void 0)$.value=J.value;let Q=[];if(J.size&&J.size!=="s")Q.push(`icon-button--${J.size}`);if(J.shape&&J.shape!=="round")Q.push(`icon-button--${J.shape}`);if(J.width&&J.width!=="default")Q.push(`icon-button--${J.width}`);if(J.toggle)Q.push("icon-button--toggle");if(J.toggle&&J.selected)Q.push("icon-button--selected");if(J.disabled===!0)Q.push("icon-button--disabled");let q=J.className||J.class,Z=[...Q,...Array.isArray(q)?q:q?[q]:[]],j={...J,className:Z};return f(j,{tag:"button",attributes:$,forwardEvents:{click:(K)=>!K.element.disabled,focus:!0,blur:!0},interactive:!0})},b5=(J)=>({disabled:{enable:()=>J.disabled.enable(),disable:()=>J.disabled.disable(),isDisabled:()=>J.disabled.isDisabled()},lifecycle:{destroy:()=>J.lifecycle.destroy()},toggleState:J.toggleState});var mq=(J={})=>{let $=T5(J);try{return I(T,E(),b(I5($)),j6($),T9($),T6($),K6($),D5($),R6($),C(),(q)=>{if($.shape&&$.shape!=="round"&&q.element){let Z=`${$.prefix}-${$.componentName}--${$.shape}`;q.element.classList.add(Z)}return q},(q)=>{if($.width&&$.width!=="default"&&q.element){let Z=`${$.prefix}-${$.componentName}--${$.width}`;q.element.classList.add(Z)}return q},(q)=>O5(b5(q))(q))($)}catch(Q){throw console.error("IconButton creation error:",Q),Error(`Failed to create icon button: ${Q.message}`)}},d$=mq;$6();s();i();var v5=!1,aq=(J)=>($)=>{if(!$.element)return console.warn("Cannot initialize menu controller: missing element"),$;let Q={visible:J.visible||!1,items:J.items||[],position:J.position,selectedItemId:null,activeItemIndex:-1,component:$},q={triggerEvent(F,H={},N){let _={menu:Q.component,...H,originalEvent:N,preventDefault:()=>{_.defaultPrevented=!0},defaultPrevented:!1};return $.emit(F,_),_}},Z=()=>{if($.opener&&typeof $.opener.getOpener==="function")return $.opener.getOpener();let{opener:F}=J;if(typeof F==="string"){let H=document.querySelector(F);if(!H)return console.warn(`Menu opener not found: ${F}`),null;return H}if(typeof F==="object"&&F!==null&&"element"in F)return F.element;return F},j=(F,H)=>{let N=document.createElement("li"),_=`${$.getClass("menu-item")}`;if(N.className=_,N.setAttribute("role","menuitem"),N.setAttribute("tabindex","-1"),N.setAttribute("data-id",F.id),N.setAttribute("data-index",H.toString()),F.disabled)N.classList.add(`${_}--disabled`),N.setAttribute("aria-disabled","true");else N.setAttribute("aria-disabled","false");if(Q.selectedItemId&&F.id===Q.selectedItemId)N.classList.add(`${_}--selected`),N.setAttribute("aria-selected","true");else N.setAttribute("aria-selected","false");if(F.hasSubmenu)N.classList.add(`${_}--submenu`),N.setAttribute("aria-haspopup","true"),N.setAttribute("aria-expanded","false");let D=document.createElement("span");if(D.className=`${$.getClass("menu-item-content")}`,F.icon){let P=document.createElement("span");P.className=`${$.getClass("menu-item-icon")}`,P.innerHTML=F.icon,D.appendChild(P)}let R=document.createElement("span");if(R.className=`${$.getClass("menu-item-text")}`,R.textContent=F.text,D.appendChild(R),F.shortcut){let P=document.createElement("span");P.className=`${$.getClass("menu-item-shortcut")}`,P.textContent=F.shortcut,D.appendChild(P)}if(N.appendChild(D),!F.disabled){if(N.addEventListener("click",(P)=>G(P,F,H)),N.addEventListener("keydown",(P)=>{if(P.key==="Enter"||P.key===" ")P.preventDefault(),G(P,F,H)}),N.addEventListener("focus",()=>{Q.activeItemIndex=H}),F.hasSubmenu&&J.openSubmenuOnHover)N.addEventListener("mouseenter",()=>{if($.submenu)$.submenu.handleSubmenuHover(F,H,N)}),N.addEventListener("mouseleave",(P)=>{if($.submenu)$.submenu.handleSubmenuLeave(P)})}return N},K=(F,H)=>{let N=document.createElement("li");if(N.className=`${$.getClass("menu-divider")}`,N.setAttribute("role","separator"),N.setAttribute("data-index",H.toString()),F.id)N.setAttribute("id",F.id);return N},z=()=>{let F=document.createElement("ul");F.className=`${$.getClass("menu-list")}`,F.setAttribute("role","menu"),Q.items.forEach((H,N)=>{if("type"in H&&H.type==="divider")F.appendChild(K(H,N));else F.appendChild(j(H,N))}),$.element.innerHTML="",$.element.appendChild(F)},Y=(F)=>{for(let H of Q.items){if("id"in H&&H.id===F)return H;if("submenu"in H&&Array.isArray(H.submenu)){for(let N of H.submenu)if("id"in N&&N.id===F)return N}}return null},G=(F,H,N)=>{if(F.preventDefault(),F.stopPropagation(),H.disabled)return;if(H.hasSubmenu&&$.submenu){$.submenu.handleSubmenuClick(H,N,F.currentTarget);return}let _=q.triggerEvent("select",{item:H,itemId:H.id,itemData:H.data},F);if(J.closeOnSelect&&!_.defaultPrevented)U(F,!0)},W=(F)=>{if(!$.element)return;$.element.querySelectorAll(`.${$.getClass("menu-item")}`).forEach((N)=>{if(N.getAttribute("data-id")===F)N.classList.add(`${$.getClass("menu-item--selected")}`),N.setAttribute("aria-selected","true");else N.classList.remove(`${$.getClass("menu-item--selected")}`),N.setAttribute("aria-selected","false")}),Q.selectedItemId=F},X=(F,H="mouse")=>{if(Q.visible)return;if(Q.visible=!0,document.removeEventListener("click",M),!$.element.parentNode)$.element.classList.remove(`${$.getClass("menu--visible")}`),$.element.setAttribute("aria-hidden","true"),$.element.style.transform="scaleY(0)",$.element.style.opacity="0",(J.container||document.body).appendChild($.element);setTimeout(()=>{let N=Z();if(N&&$.position)$.position.positionMenu(N);$.element.setAttribute("aria-hidden","false"),$.element.style.transform="",$.element.style.opacity="",$.element.getBoundingClientRect(),$.element.classList.add(`${$.getClass("menu--visible")}`),setTimeout(()=>{if($.keyboard&&$.keyboard.handleInitialFocus)$.keyboard.handleInitialFocus($.element,H);else if(H==="keyboard"){let _=Array.from($.element.querySelectorAll(`.${$.getClass("menu-item")}:not(.${$.getClass("menu-item--disabled")})`));if(_.length>0)_.forEach((D)=>{D.tabIndex=-1}),_[0].tabIndex=0,_[0].focus();else $.element.tabIndex=0,$.element.focus()}else{$.element.tabIndex=-1;let _=Array.from($.element.querySelectorAll(`.${$.getClass("menu-item")}:not(.${$.getClass("menu-item--disabled")})`));if(_.length>0)_.forEach((D)=>{D.tabIndex=-1}),_[0].tabIndex=0}},100),setTimeout(()=>{if(J.closeOnClickOutside&&Q.visible)document.addEventListener("click",M);if(J.closeOnEscape)document.addEventListener("keydown",B);window.addEventListener("resize",V,{passive:!0}),window.addEventListener("scroll",k,{passive:!0})},0)},20),q.triggerEvent("open",{},F)},U=(F,H=!0)=>{if(!Q.visible)return;if($.emit("menu-closing",{event:F,restoreFocus:H}),$.submenu)$.submenu.closeAllSubmenus();setTimeout(()=>{Q.visible=!1,$.element.setAttribute("aria-hidden","true"),$.element.classList.remove(`${$.getClass("menu--visible")}`),document.removeEventListener("click",M),document.removeEventListener("keydown",B),window.removeEventListener("resize",V),window.removeEventListener("scroll",k),q.triggerEvent("close",{restoreFocus:H},F),setTimeout(()=>{if($.element.parentNode&&!Q.visible)$.element.parentNode.removeChild($.element)},300)},50)},L=(F,H="mouse")=>{if(Q.visible)U(F);else{if(F){if(F instanceof KeyboardEvent)H="keyboard";else if(F instanceof MouseEvent)H="mouse"}X(F,H)}},M=(F)=>{if(v5){v5=!1;return}if($.element.contains(F.target))return;let H=Z();if(H&&H.contains(F.target))return;if($.submenu&&$.submenu.hasOpenSubmenu()){let N=$.submenu.getActiveSubmenus();for(let _ of N)if(_.element.contains(F.target))return}U(F,!1)},B=(F)=>{let H=$.element.contains(F.target),N=$.submenu&&$.submenu.hasOpenSubmenu()&&$.submenu.getActiveSubmenus().some((_)=>_.element.contains(F.target));if(Q.visible){if(H||N){if(F.key==="Escape")F.preventDefault(),U(F,!0)}else if($.keyboard&&$.keyboard.handleMenuKeydown)$.keyboard.handleMenuKeydown(F,Q,{closeMenu:U,closeSubmenu:$.submenu?$.submenu.closeSubmenu:null,findItemById:Y,handleSubmenuClick:$.submenu?$.submenu.handleSubmenuClick:null,handleNestedSubmenuClick:$.submenu?$.submenu.handleNestedSubmenuClick:null})}},V=()=>{if(Q.visible)if(J.closeOnResize)U(void 0,!0);else{let F=Z();if(F&&$.position)$.position.positionMenu(F)}},k=()=>{if(Q.visible)window.requestAnimationFrame(()=>{let F=Z();if(F&&$.position)$.position.positionMenu(F)})},O=()=>{if(z(),$.keyboard&&$.keyboard.setupKeyboardHandlers)$.keyboard.setupKeyboardHandlers($.element,Q,{closeMenu:U,closeSubmenu:$.submenu?$.submenu.closeSubmenu:null,findItemById:Y,handleSubmenuClick:$.submenu?$.submenu.handleSubmenuClick:null,handleNestedSubmenuClick:$.submenu?$.submenu.handleNestedSubmenuClick:null});if(Q.visible){let F=Z();if(F&&$.position)$.position.positionMenu(F);if($.element.classList.add(`${$.getClass("menu--visible")}`),J.closeOnClickOutside)document.addEventListener("click",M);if(J.closeOnEscape)document.addEventListener("keydown",B);window.addEventListener("resize",V),window.addEventListener("scroll",k)}};if($.on("create-menu-items",(F)=>{let{items:H,container:N,onItemCreated:_}=F;H.forEach((D,R)=>{let P;if("type"in D&&D.type==="divider")P=K(D,R);else P=j(D,R);if(N.appendChild(P),_)_(P)})}),setTimeout(O,0),$.lifecycle){let F=$.lifecycle.destroy||(()=>{});$.lifecycle.destroy=()=>{document.removeEventListener("click",M),document.removeEventListener("keydown",B),window.removeEventListener("resize",V),window.removeEventListener("scroll",k),F()}}return{...$,menu:{open:(F,H="mouse")=>{return X(F,H),$},close:(F,H=!0)=>{return U(F,H),$},toggle:(F,H="mouse")=>{return L(F,H),$},isOpen:()=>Q.visible,setItems:(F)=>{return Q.items=F,z(),$},getItems:()=>Q.items,setPosition:(F)=>{if(Q.position=F,Q.visible){let H=Z();if(H&&$.position)$.position.positionMenu(H)}return $},getPosition:()=>Q.position,setSelected:(F)=>{return W(F),$},getSelected:()=>Q.selectedItemId}}},AJ=aq;var iq=(J)=>($)=>{if(!$.element)return console.warn("Cannot initialize menu opener: missing element"),$;let Q=!1;document.addEventListener("keydown",(B)=>{Q=B.key==="Tab",setTimeout(()=>{Q=!1},100)});let q={openerElement:null,openerComponent:null,activeClass:""},Z=(B)=>{if(!B)return{element:null,component:null};if(typeof B==="string"){let V=document.querySelector(B);if(!V)return console.warn(`Menu opener not found: ${B}`),{element:null,component:null};return{element:V,component:null}}if(typeof B==="object"&&B!==null){if("element"in B&&B.element instanceof HTMLElement)return{element:B.element,component:B};if("getElement"in B&&typeof B.getElement==="function"){let V=B.getElement();if(V instanceof HTMLElement)return{element:V,component:B}}if("input"in B&&B.input instanceof HTMLElement)return{element:B.input,component:B};if(B instanceof HTMLElement)return{element:B,component:null}}return console.warn("Invalid opener type:",B),{element:null,component:null}},j=(B)=>{let V=$.getClass("").split("-")[0];if(B.tagName==="BUTTON")return`${V}-button--active`;else if(B.classList.contains(`${V}-chip`))return`${V}-chip--selected`;else if(B.classList.contains(`${V}-textfield`)||B.classList.contains(`${V}-select`))return`${V}-textfield--focused`;else return`${V}-menu-opener--active`},K=(B)=>{let{element:V,component:k}=B;if(!V)return;if(q.openerElement&&q.openerElement!==V)U();q.openerElement=V,q.openerComponent=k,q.activeClass=j(V),V.addEventListener("click",G),V.addEventListener("keydown",W),V.addEventListener("blur",X),V.setAttribute("aria-haspopup","true"),V.setAttribute("aria-expanded","false");let O=$.element.id;if(!O)O=`menu-${Date.now()}-${Math.floor(Math.random()*1000)}`,$.element.id=O;V.setAttribute("aria-controls",O)},z=(B)=>{if(!q.openerElement)return;if(q.openerComponent&&typeof q.openerComponent.setActive==="function"){q.openerComponent.setActive(B);return}if(q.openerComponent&&"selected"in q.openerComponent){q.openerComponent.selected=B;return}if(q.openerComponent&&typeof q.openerComponent.focus==="function"&&typeof q.openerComponent.blur==="function"){if(B)q.openerComponent.focus();else q.openerComponent.blur();return}if(q.openerElement.classList)if(B)q.openerElement.classList.add(q.activeClass);else q.openerElement.classList.remove(q.activeClass)},Y=()=>{if(!q.openerElement)return;if(q.openerComponent&&typeof q.openerComponent.focus==="function"){requestAnimationFrame(()=>{q.openerComponent.focus()});return}if(q.openerComponent&&"input"in q.openerComponent&&q.openerComponent.input instanceof HTMLElement){requestAnimationFrame(()=>{q.openerComponent.input.focus()});return}requestAnimationFrame(()=>{q.openerElement.focus()})},G=(B)=>{if(B.preventDefault(),$.menu)if($.menu.isOpen())$.menu.close(B);else $.menu.open(B,"mouse")},W=(B)=>{if(!$.menu)return;let V=$.menu.isOpen();switch(B.key){case"Enter":case" ":case"ArrowDown":case"Down":if(B.preventDefault(),!V)$.menu.open(B,"keyboard");break;case"Escape":if(V)B.preventDefault(),$.menu.close(B);break;case"ArrowUp":case"Up":if(B.preventDefault(),!V)$.menu.open(B,"keyboard"),setTimeout(()=>{let k=$.element.querySelectorAll(`.${$.getClass("menu-item")}:not(.${$.getClass("menu-item--disabled")})`);if(k.length>0){k.forEach((F)=>F.setAttribute("tabindex","-1"));let O=k[k.length-1];O.setAttribute("tabindex","0"),O.focus()}},100);break}},X=(B)=>{if(!$.menu||!$.menu.isOpen())return;let V=B.relatedTarget;if(Q){setTimeout(()=>{if($.menu&&$.menu.isOpen())$.menu.close(B,!1)},10);return}if(V){if($.element.contains(V))return;if(V.getAttribute("aria-haspopup")==="true"||V.closest('[aria-haspopup="true"]'))return}setTimeout(()=>{if($.menu&&$.menu.isOpen())$.menu.close(B,!1)},50)},U=()=>{if(q.openerElement)q.openerElement.removeEventListener("click",G),q.openerElement.removeEventListener("keydown",W),q.openerElement.removeEventListener("blur",X),q.openerElement.removeAttribute("aria-haspopup"),q.openerElement.removeAttribute("aria-expanded"),q.openerElement.removeAttribute("aria-controls"),z(!1);q.openerComponent=null,q.openerElement=null,q.activeClass=""},{element:L,component:M}=Z(J.opener);if(K({element:L,component:M}),$.lifecycle){let B=$.lifecycle.destroy||(()=>{});$.lifecycle.destroy=()=>{U(),B()}}return $.on("open",()=>{if(q.openerElement)q.openerElement.setAttribute("aria-expanded","true"),z(!0)}),$.on("close",(B)=>{if(q.openerElement){if(q.openerElement.setAttribute("aria-expanded","false"),z(!1),B.restoreFocus&&!Q)Y()}}),{...$,opener:{setOpener(B){let V=Z(B);if(V.element)K(V);return $},getOpener(){return q.openerElement},getOpenerComponent(){return q.openerComponent},setActive(B){return z(B),$},focus(){return Y(),$}}}},xJ=iq;var cq=(J,$)=>{let Q=(j,K,z,Y=!1)=>{if(!j||!K)return;let G=$.container&&$.container!==document.body;j.style.position="absolute";let W=G?0:window.pageXOffset||document.documentElement.scrollLeft,X=G?0:window.pageYOffset||document.documentElement.scrollTop,U=K.getBoundingClientRect(),L=j.cloneNode(!0);if(L.style.visibility="hidden",L.style.display="block",L.style.position="absolute",L.style.top="0",L.style.left="0",L.style.transform="none",L.style.opacity="0",L.style.pointerEvents="none",L.classList.add(`${J.getClass("menu--visible")}`),$.width==="100%"&&!Y)L.style.width=`${U.width}px`;let M=$.container||document.body;M.appendChild(L);let B=L.getBoundingClientRect(),V=window.innerWidth,k=window.innerHeight;M.removeChild(L);let O=$.offset!==void 0?$.offset:8,F=0,H=0,N=z;if(Y){if(N=z||"right-start",N.startsWith("right")&&U.right+B.width+O>V-16)N=N.replace("right","left");else if(N.startsWith("left")&&U.left-B.width-O<16)N=N.replace("left","right");if(U.top+B.height>k-48){if(N==="right-start")N="right-end";else if(N==="left-start")N="left-end"}}else switch(z){case"top-start":case"top":case"top-end":if(U.top<B.height+O+48)N=z.replace("top","bottom");break;case"bottom-start":case"bottom":case"bottom-end":if(U.bottom+B.height+O+48>k){if(U.top>k-U.bottom)N=z.replace("bottom","top")}break;case"right-start":case"right":case"left-start":case"left":if(U.bottom+B.height>k-48){if(z==="right-start")N="right-end";else if(z==="left-start")N="left-end";else if(z==="right")F=U.top-(B.height-U.height)-O;else if(z==="left")F=U.top-(B.height-U.height)-O}break}if(["position-top","position-bottom","position-right","position-left"].forEach((G6)=>{j.classList.remove(`${J.getClass("menu")}--${G6}`)}),N.startsWith("top")||N==="right-end"||N==="left-end"||N==="right"&&F<U.top||N==="left"&&F<U.top)j.classList.add(`${J.getClass("menu")}--position-top`);else if(N.startsWith("left"))j.classList.add(`${J.getClass("menu")}--position-left`);else if(N.startsWith("right"))j.classList.add(`${J.getClass("menu")}--position-right`);else j.classList.add(`${J.getClass("menu")}--position-bottom`);let R=G&&$.container?$.container.getBoundingClientRect():{top:0,left:0,right:0,bottom:0},P=G?-R.left:W,w=G?-R.top:X;switch(N){case"top-start":F=U.top+w-B.height-O,H=U.left+P;break;case"top":F=U.top+w-B.height-O,H=U.left+P+U.width/2-B.width/2;break;case"top-end":F=U.top+w-B.height-O,H=U.right+P-B.width;break;case"right-start":F=U.top+w,H=U.right+P+O;break;case"right":if(F===0)F=U.top+w+U.height/2-B.height/2;else F+=w;H=U.right+P+O;break;case"right-end":F=U.bottom+w-B.height,H=U.right+P+O;break;case"bottom-start":F=U.bottom+w+O,H=U.left+P;break;case"bottom":F=U.bottom+w+O,H=U.left+P+U.width/2-B.width/2;break;case"bottom-end":F=U.bottom+w+O,H=U.right+P-B.width;break;case"left-start":F=U.top+w,H=U.left+P-B.width-O;break;case"left":if(F===0)F=U.top+w+U.height/2-B.height/2;else F+=w;H=U.left+P-B.width-O;break;case"left-end":F=U.bottom+w-B.height,H=U.left+P-B.width-O;break}if(G){if(j.style.top=`${F}px`,j.style.left=`${H}px`,$.width==="100%"&&!Y)j.style.width=`${U.width}px`;if($.maxHeight)j.style.maxHeight=$.maxHeight;return}let x=48;if(F-X<x)F=x+X;let A=48;if(F-X+B.height>k-A){let G6=k-(F-X)-A,e=Math.min(B.height,100),B6=Math.max(G6,e);if(j.style.maxHeight=`${B6}px`,$.maxHeight){let y=parseInt($.maxHeight,10);if(!isNaN(y)&&y<parseInt(j.style.maxHeight||"0",10))j.style.maxHeight=$.maxHeight}}else if($.maxHeight)j.style.maxHeight=$.maxHeight;if($.width==="100%"&&!Y)j.style.width=`${U.width}px`;let l=Math.max(x+X,F),n=Math.max(16+W,H);if(j.style.top=`${l}px`,j.style.left=`${n}px`,n-W+B.width>V-16)j.style.left="auto",j.style.right="16px"};return{positionMenu:(j)=>{if(!j||!J.element)return;Q(J.element,j,$.position,!1)},positionSubmenu:(j,K,z=1)=>{if(!j||!K)return;let Y=z%2===1?"right-start":"left-start";j.style.zIndex=`${1000+z*10}`,Q(j,K,Y,!0)},positionElement:Q}},oq=(J)=>($)=>{if(!$.element)return $;let Q=cq($,J);return{...$,position:Q}},TJ=oq;var tq=(J)=>{let $=!1,Q="",q=null,Z=500;(()=>{document.addEventListener("keydown",(U)=>{$=U.key==="Tab",setTimeout(()=>{$=!1},100)})})();let K=()=>{let L=document.querySelectorAll('a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])');return Array.from(L).filter((M)=>{return M.offsetParent!==null&&!M.classList.contains("hidden")})},z=()=>{if(Q="",q)clearTimeout(q),q=null},Y=(U,L)=>{if(z(),L==="keyboard"){let M=Array.from(U.querySelectorAll(`.${J.getClass("menu-item")}:not(.${J.getClass("menu-item--disabled")})`));if(M.length>0)M[0].setAttribute("tabindex","0"),M[0].focus();else U.setAttribute("tabindex","0"),U.focus()}else{U.setAttribute("tabindex","-1");let M=U.querySelector(`.${J.getClass("menu-item")}:not(.${J.getClass("menu-item--disabled")})`);if(M)M.setAttribute("tabindex","0")}},G=(U,L,M)=>{let B=L.activeSubmenu&&L.activeSubmenu.contains(U.target),V=B?L.activeSubmenu:J.element,k=Array.from(V.querySelectorAll(`.${J.getClass("menu-item")}:not(.${J.getClass("menu-item--disabled")})`));if(k.length===0)return;let O=document.activeElement,F=-1;if(O&&k.includes(O))F=k.indexOf(O);let H=(N)=>{if(k[N])k[N].focus()};if(U.key.length===1&&!U.ctrlKey&&!U.metaKey&&!U.altKey){if(U.preventDefault(),U.stopPropagation(),Q+=U.key.toLowerCase(),q)clearTimeout(q);q=setTimeout(()=>{Q="",q=null},Z);let N=k.findIndex((_)=>{return(_.querySelector(`.${J.getClass("menu-item-text")}`)?.textContent?.toLowerCase()||"").startsWith(Q)});if(N!==-1)H(N);else if(Q.length>1){let _=Q.slice(-1),D=k.findIndex((R)=>{return(R.querySelector(`.${J.getClass("menu-item-text")}`)?.textContent?.toLowerCase()||"").startsWith(_)});if(D!==-1)Q=_,H(D)}return}switch(U.key){case"ArrowDown":case"Down":if(U.preventDefault(),U.stopPropagation(),F<0)H(0);else if(F<k.length-1)H(F+1);else H(0);break;case"ArrowUp":case"Up":if(U.preventDefault(),U.stopPropagation(),F<0)H(k.length-1);else if(F>0)H(F-1);else H(k.length-1);break;case"Home":U.preventDefault(),U.stopPropagation(),H(0);break;case"End":U.preventDefault(),U.stopPropagation(),H(k.length-1);break;case"Enter":case" ":if(U.preventDefault(),U.stopPropagation(),F>=0)k[F].click();break;case"ArrowRight":case"Right":if(U.preventDefault(),U.stopPropagation(),B){if(F>=0&&k[F].classList.contains(`${J.getClass("menu-item--submenu")}`)){let _=k[F],D=parseInt(_.getAttribute("data-index"),10),P=_.closest(`.${J.getClass("menu--submenu")}`)?.getAttribute("data-parent-item"),w=M.findItemById(P);if(w&&w.submenu){let x=w.submenu[D];M.handleNestedSubmenuClick(x,D,_)}}}else if(F>=0&&k[F].classList.contains(`${J.getClass("menu-item--submenu")}`)){let _=k[F],D=parseInt(_.getAttribute("data-index"),10),R=L.items[D];M.handleSubmenuClick(R,D,_)}break;case"ArrowLeft":case"Left":if(U.preventDefault(),U.stopPropagation(),B)if(L.activeSubmenuItem){let _=L.activeSubmenuItem,D=parseInt(V.getAttribute("data-level")||"1",10);if(M.closeSubmenu(D),_)_.focus()}else M.closeSubmenu(1);break;case"Escape":if(U.preventDefault(),U.stopPropagation(),B)if(L.activeSubmenuItem){let _=L.activeSubmenuItem,D=parseInt(V.getAttribute("data-level")||"1",10);if(M.closeSubmenu(D),_)_.focus()}else M.closeSubmenu(1);else M.closeMenu(U,!0);break;case"Tab":if(Q="",q)clearTimeout(q),q=null;U.preventDefault();let N=J.opener?.getOpener?.();if(M.closeMenu(U,!0),N)setTimeout(()=>{if(U.shiftKey);else{let _=K(),D=_.indexOf(N);if(D>=0&&D<_.length-1)_[D+1].focus()}},0);break}};return{handleInitialFocus:Y,handleMenuKeydown:G,setupKeyboardHandlers:(U,L,M)=>{let B=U.querySelectorAll(`.${J.getClass("menu-item")}:not(.${J.getClass("menu-item--disabled")})`);if(B.forEach((V)=>{V.tabIndex=-1}),B.length>0)B[0].tabIndex=0;U.addEventListener("keydown",(V)=>G(V,L,M))},isTabNavigationActive:()=>$,getFocusableElements:K,resetTypeahead:z}},nq=()=>(J)=>{if(!J.element)return J;let $=tq(J);return{...J,keyboard:$}},IJ=nq;var eq=(J)=>($)=>{if(!$.element)return console.warn("Cannot initialize menu submenu: missing element"),$;let Q={activeSubmenu:null,activeSubmenuItem:null,submenuLevel:0,activeSubmenus:[],submenuTimer:null,hoverIntent:{timer:null,activeItem:null},component:$},q=()=>{if(Q.hoverIntent.timer)clearTimeout(Q.hoverIntent.timer),Q.hoverIntent.timer=null,Q.hoverIntent.activeItem=null},Z=()=>{if(Q.submenuTimer)clearTimeout(Q.submenuTimer),Q.submenuTimer=null},j=(O,F,H)=>{if(!J.openSubmenuOnHover||!O.hasSubmenu)return;q(),Z(),Q.hoverIntent.activeItem=H,Q.hoverIntent.timer=setTimeout(()=>{if(H.matches(":hover")){if(Q.activeSubmenuItem!==H)G(O,F,H)}Q.hoverIntent.timer=null},100)},K=()=>{q(),Z(),Q.submenuTimer=setTimeout(()=>{let{activeSubmenu:O,activeSubmenuItem:F}=Q;if(O&&F){let H=O.matches(":hover"),N=F.matches(":hover");if(!H&&!N)W(Q.submenuLevel)}Q.submenuTimer=null},300)},z=(O,F,H)=>{if(!O.submenu||!O.hasSubmenu)return;let N=H.getAttribute("aria-expanded")==="true";if(Q.activeSubmenus.some((D)=>D.isOpening))return;if(N){let D=parseInt(H.closest(`.${$.getClass("menu--submenu")}`)?.getAttribute("data-level")||"0",10);W(D+1),H.setAttribute("aria-expanded","false")}else G(O,F,H)},Y=(O,F,H)=>{if(!O.submenu||!O.hasSubmenu)return;let N=H.getAttribute("aria-expanded")==="true";if(Q.activeSubmenus.some((D)=>D.isOpening))return;if(N){let D=parseInt(H.closest(`.${$.getClass("menu--submenu")}`)?.getAttribute("data-level")||"1",10);W(D+1)}else G(O,F,H)},G=(O,F,H)=>{if(!O.submenu||!O.hasSubmenu)return;let N=H.closest(`.${$.getClass("menu--submenu")}`)?parseInt(H.closest(`.${$.getClass("menu--submenu")}`).getAttribute("data-level")||"0",10)+1:1;if(W(N),Q.activeSubmenus.findIndex((w)=>w.menuItem===H&&w.isOpening)>=0)return;H.setAttribute("aria-expanded","true");let D=document.createElement("div");D.className=`${$.getClass("menu")} ${$.getClass("menu--submenu")}`,D.setAttribute("role","menu"),D.setAttribute("tabindex","-1"),D.setAttribute("data-level",N.toString()),D.setAttribute("data-parent-item",O.id),D.style.zIndex=`${1000+N*10}`;let R=document.createElement("ul");R.className=`${$.getClass("menu-list")}`;let P=[];if($.emit("create-menu-items",{items:O.submenu,container:R,level:N,onItemCreated:(w)=>{if(!w.classList.contains(`${$.getClass("menu-item--disabled")}`))P.push(w)}}),D.appendChild(R),document.body.appendChild(D),$.position&&$.position.positionSubmenu)$.position.positionSubmenu(D,H,N);if($.keyboard&&$.keyboard.setupKeyboardHandlers)$.keyboard.setupKeyboardHandlers(D,{activeSubmenus:Q.activeSubmenus},{closeSubmenu:W,handleNestedSubmenuClick:Y});D.addEventListener("mouseenter",()=>{Z()}),D.addEventListener("mouseleave",()=>{K()}),Q.activeSubmenu=D,Q.activeSubmenuItem=H,Q.activeSubmenus.push({element:D,menuItem:H,level:N,isOpening:!0}),Q.submenuLevel=N,document.addEventListener("click",U),window.addEventListener("resize",L,{passive:!0}),window.addEventListener("scroll",M,{passive:!0}),requestAnimationFrame(()=>{D.classList.add(`${$.getClass("menu--visible")}`),setTimeout(()=>{let w=Q.activeSubmenus.findIndex((x)=>x.element===D);if(w!==-1)Q.activeSubmenus[w].isOpening=!1;if(P.length>0){if(N>=2||document.activeElement===H)P[0].setAttribute("tabindex","0"),P[0].focus()}},300)}),$.emit("submenu-opened",{submenuElement:D,parentItem:H,level:N,item:O})},W=(O)=>{q(),Z();let F=[];for(let H=Q.activeSubmenus.length-1;H>=0;H--)if(Q.activeSubmenus[H].level>=O){let N=Q.activeSubmenus[H];if(N.menuItem)N.menuItem.setAttribute("aria-expanded","false");N.element.classList.remove(`${$.getClass("menu--visible")}`),setTimeout(()=>{if(N.element.parentNode)N.element.parentNode.removeChild(N.element)},200),F.push(H)}if(F.forEach((H)=>{Q.activeSubmenus.splice(H,1)}),Q.activeSubmenus.length>0){let H=Q.activeSubmenus[Q.activeSubmenus.length-1];if(Q.activeSubmenu=H.element,Q.activeSubmenuItem=H.menuItem,Q.submenuLevel=H.level,H.menuItem)H.menuItem.focus()}else Q.activeSubmenu=null,Q.activeSubmenuItem=null,Q.submenuLevel=0;$.emit("submenu-closed",{level:O})},X=()=>{if(q(),Z(),Q.activeSubmenus.length===0)return;[...Q.activeSubmenus].forEach((O)=>{if(O.menuItem)O.menuItem.setAttribute("aria-expanded","false");O.element.classList.remove(`${$.getClass("menu--visible")}`),setTimeout(()=>{if(O.element.parentNode)O.element.parentNode.removeChild(O.element)},200)}),Q.activeSubmenu=null,Q.activeSubmenuItem=null,Q.activeSubmenus=[],Q.submenuLevel=0,document.removeEventListener("click",U),window.removeEventListener("resize",L),window.removeEventListener("scroll",M),$.emit("all-submenus-closed",{})},U=(O)=>{if(!Q.activeSubmenu)return;let{activeSubmenu:F,activeSubmenuItem:H}=Q;if(F.contains(O.target)||H&&H.contains(O.target))return;X()},L=()=>{if(Q.activeSubmenu&&Q.activeSubmenuItem&&$.position)$.position.positionSubmenu(Q.activeSubmenu,Q.activeSubmenuItem,Q.submenuLevel)},M=()=>{window.requestAnimationFrame(()=>{if(Q.activeSubmenu&&Q.activeSubmenuItem&&$.position)$.position.positionSubmenu(Q.activeSubmenu,Q.activeSubmenuItem,Q.submenuLevel)})},B=()=>{return Q.activeSubmenus.length>0},V=()=>{return Q.submenuLevel},k=()=>{return[...Q.activeSubmenus]};if($.lifecycle){let O=$.lifecycle.destroy||(()=>{});$.lifecycle.destroy=()=>{if(q(),Z(),document.removeEventListener("click",U),window.removeEventListener("resize",L),window.removeEventListener("scroll",M),Q.activeSubmenus.length>0)Q.activeSubmenus.forEach((F)=>{if(F.element.parentNode)F.element.parentNode.removeChild(F.element)});O()}}return $.on("menu-closing",()=>{X()}),{...$,submenu:{openSubmenu:G,closeSubmenu:W,closeAllSubmenus:X,handleSubmenuClick:z,handleNestedSubmenuClick:Y,handleSubmenuHover:j,handleSubmenuLeave:K,hasOpenSubmenu:B,getSubmenuLevel:V,getActiveSubmenus:k}}},bJ=eq;var S5=({menu:J,opener:$,events:Q,lifecycle:q})=>(Z)=>{return{element:Z.element,open(K,z="mouse"){if(K&&!z){if(K instanceof KeyboardEvent)z="keyboard"}return J.open(K,z),this},close(K,z=!0,Y=!1){return J.close(K,z,Y),this},toggle(K,z){if(K&&!z){if(K instanceof KeyboardEvent)z="keyboard";else if(K instanceof MouseEvent)z="mouse"}return J.toggle(K,z),this},isOpen(){return J.isOpen()},setItems(K){return J.setItems(K),this},getItems(){return J.getItems()},setOpener(K){return $.setOpener(K),this},getOpener(){return $.getOpener()},setPosition(K){return J.setPosition(K),this},getPosition(){return J.getPosition()},setSelected(K){return J.setSelected(K),this},getSelected(){return J.getSelected()},on(K,z){if(Q?.on)Q.on(K,z);else if(Z.on)Z.on(K,z);return this},off(K,z){if(Q?.off)Q.off(K,z);else if(Z.off)Z.off(K,z);return this},destroy(){q.destroy()}}};m();var g$={BOTTOM_START:"bottom-start",BOTTOM:"bottom",BOTTOM_END:"bottom-end",TOP_START:"top-start",TOP:"top",TOP_END:"top-end",RIGHT_START:"right-start",RIGHT:"right",RIGHT_END:"right-end",LEFT_START:"left-start",LEFT:"left",LEFT_END:"left-end"},c6={POSITION:g$.BOTTOM_START,OFFSET:0,CLOSE_ON_SELECT:!0,CLOSE_ON_CLICK_OUTSIDE:!0,CLOSE_ON_ESCAPE:!0,OPEN_SUBMENU_ON_HOVER:!0,AUTO_FLIP:!0},vJ={MOUSE:"mouse",KEYBOARD:"keyboard"},SJ={ITEM:"item",DIVIDER:"divider"},CJ={OPEN:"open",CLOSE:"close",SELECT:"select"},p7={CONTAINER:"menu",VISIBLE:"menu--visible",INNER:"menu__inner",ITEM:"menu__item",ITEM_DISABLED:"menu__item--disabled",ITEM_SELECTED:"menu__item--selected",ITEM_HAS_SUBMENU:"menu__item--has-submenu",DIVIDER:"menu__divider",ITEM_ICON:"menu__item-icon",ITEM_TEXT:"menu__item-text",ITEM_SHORTCUT:"menu__item-shortcut",SUBMENU_INDICATOR:"menu__submenu-indicator"};var $Z={items:[],position:c6.POSITION,closeOnSelect:c6.CLOSE_ON_SELECT,closeOnClickOutside:c6.CLOSE_ON_CLICK_OUTSIDE,closeOnEscape:c6.CLOSE_ON_ESCAPE,openSubmenuOnHover:c6.OPEN_SUBMENU_ON_HOVER,offset:c6.OFFSET,autoFlip:c6.AUTO_FLIP,visible:!1},C5=(J)=>{if(!J.opener)throw Error("Menu component requires an opener element or selector");return S($Z,J,"menu")},E5=(J)=>{let $={};if(J.width)$.width=J.width;if(J.maxHeight)$.maxHeight=J.maxHeight;let Q={role:"menu",tabindex:"-1","aria-hidden":(!J.visible).toString(),style:Object.entries($).map(([q,Z])=>`${q}: ${Z}`).join(";")};return f(J,{tag:"div",attributes:Q,className:[J.visible?p7.VISIBLE:null,J.class].filter(Boolean),forwardEvents:{keydown:!0}})},h5=(J)=>({menu:{open:($,Q)=>J.menu?.open($,Q),close:($,Q,q)=>J.menu?.close($,Q,q),toggle:($,Q)=>J.menu?.toggle($,Q),isOpen:()=>J.menu?.isOpen()||!1,setItems:($)=>J.menu?.setItems($),getItems:()=>J.menu?.getItems()||[],setPosition:($)=>J.menu?.setPosition($),getPosition:()=>J.menu?.getPosition(),setSelected:($)=>J.menu?.setSelected($),getSelected:()=>J.menu?.getSelected()},opener:{setOpener:($)=>J.opener?.setOpener($),getOpener:()=>J.opener?.getOpener()},submenu:{hasOpenSubmenu:()=>J.submenu?.hasOpenSubmenu()||!1,closeAllSubmenus:()=>J.submenu?.closeAllSubmenus()},events:{on:($,Q)=>J.on?.($,Q),off:($,Q)=>J.off?.($,Q)},lifecycle:{destroy:()=>J.lifecycle?.destroy()}});var JZ=(J)=>{try{let $=C5(J),Q=I(T,E(),b(E5($)),TJ($),IJ(),bJ($),AJ($),xJ($),C(),(q)=>S5(h5(q))(q))($);if($.on&&typeof Q.on==="function")Object.entries($.on).forEach(([q,Z])=>{if(typeof Z==="function")Q.on(q,Z)});return Q}catch($){throw console.error("Menu creation error:",$),Error(`Failed to create menu: ${$.message}`)}},s7=JZ;$6();s();i();var u5=(J)=>($)=>{return{...$,element:$.element,items:$.items||new Map,addItem(q){if(typeof $.addItem==="function")$.addItem(q);return this},removeItem(q){if(typeof $.removeItem==="function")$.removeItem(q);return this},getItem(q){if(typeof $.getItem==="function")return $.getItem(q);return this.items.get(q)},getAllItems(){if(typeof $.getAllItems==="function")return $.getAllItems();return Array.from(this.items.values())},getActive(){if(typeof $.getActive==="function")return $.getActive();return null},getItemPath(q){if(typeof $.getItemPath==="function")return $.getItemPath(q);return[]},setActive(q){if(typeof $.handleItemClick==="function")$.handleItemClick(q);else if(typeof $.setActive==="function")$.setActive(q);else{let Z=this.items.get(q);if(Z&&Z.element){if($.emit)$.emit("change",{id:q,item:Z,source:"api"})}}return this},enable(){if(J.disabled.enable)J.disabled.enable();return this},disable(){if(J.disabled.disable)J.disabled.disable();return this},expand(){if(this.element.classList.remove(`${this.element.className.split(" ")[0]}--hidden`),this.element.setAttribute("aria-hidden","false"),$.emit)$.emit("expanded",{source:"api"});return this},collapse(){if(this.element.classList.add(`${this.element.className.split(" ")[0]}--hidden`),this.element.setAttribute("aria-hidden","true"),$.emit)$.emit("collapsed",{source:"api"});return this},isExpanded(){return!this.element.classList.contains(`${this.element.className.split(" ")[0]}--hidden`)},toggle(){return this.isExpanded()?this.collapse():this.expand()},on(q,Z){if($.on)$.on(q,Z);return this},off(q,Z){if($.off)$.off(q,Z);return this},destroy(){if(J.lifecycle.destroy)J.lifecycle.destroy()}}};var r$={RAIL:"rail",DRAWER:"drawer",BAR:"bar",MODAL:"modal",STANDARD:"standard"},l$={LEFT:"left",RIGHT:"right",TOP:"top",BOTTOM:"bottom"},p$={FIXED:"fixed",DISMISSIBLE:"dismissible",MODAL:"modal"},EJ={ACTIVE:"active",DISABLED:"disabled",EXPANDED:"expanded",COLLAPSED:"collapsed",HOVERED:"hovered",FOCUSED:"focused",PRESSED:"pressed"},m7={CHANGE:"change",EXPAND:"expand",COLLAPSE:"collapse",GROUP_EXPAND:"group:expand",GROUP_COLLAPSE:"group:collapse"},W9={VARIANT:r$.STANDARD,POSITION:l$.LEFT,BEHAVIOR:p$.FIXED,EXPANDED:!1,SHOW_LABELS:!0,SCRIM_ENABLED:!0},t={CONTAINER:"nav",VARIANT_PREFIX:"nav--",POSITION_PREFIX:"nav--pos-",BEHAVIOR_PREFIX:"nav--",EXPANDED:"nav--expanded",DISABLED:"nav--disabled",ITEM:"nav-item",ITEM_CONTAINER:"nav-item-container",ICON:"nav-item-icon",LABEL:"nav-item-label",BADGE:"nav-item-badge",DIVIDER:"nav-divider",SCRIM:"nav-scrim",GROUP:"nav-group",GROUP_TITLE:"nav-group-title",SUBTITLE:"nav-subtitle",NESTED_CONTAINER:"nav-nested-container",NESTED_ITEM:"nav-nested-item",EXPAND_ICON:"nav-expand-icon",ACTIVE:"nav-item--active",ITEM_DISABLED:"nav-item--disabled"};var QZ=(J)=>{let $=document.createElement("span");return $.className=`${J}-${t.EXPAND_ICON}`,$.innerHTML=`
18
+ `,O.addEventListener("click",(F)=>{if(F.preventDefault(),F.stopPropagation(),$&&$.emit)$.emit("dialog:close",{source:"closeButton"})}),V.appendChild(O)}return V},j=()=>{let V=document.createElement("div");if(V.classList.add($.getClass("dialog-content")),J.content)V.innerHTML=J.content;return V},K=()=>{let V=document.createElement("div");V.classList.add($.getClass("dialog-footer"));let k=J.footerAlignment||"right";if(k!=="right")a(V,`${$.getClass("dialog-footer")}--${k}`);if(Array.isArray(J.buttons)&&J.buttons.length>0)J.buttons.forEach((O)=>z5(V,O,$));return V},z=()=>{return d9({variant:"full-width",class:$.getClass("dialog-divider")})},Y=Z(),G=j(),W=Array.isArray(J.buttons)&&J.buttons.length>0?K():null;a($.element,$.getClass("dialog"));let X=J.size||"medium";if(X!=="medium")a($.element,`${$.getClass("dialog")}--${X}`);let U=J.animation||"scale";if(U!=="scale")a($.element,`${$.getClass("dialog")}--${U}`);$.element.appendChild(Y);let L=null,M=null;if(J.divider){if(L=z(),L.element.classList.add($.getClass("dialog-header-divider")),$.element.appendChild(L.element),W)M=z(),M.element.classList.add($.getClass("dialog-footer-divider"))}if($.element.appendChild(G),M)$.element.appendChild(M.element);if(W)$.element.appendChild(W);q.appendChild($.element);let B=J.container||document.body;return B.appendChild(q),{...$,overlay:q,structure:{header:Y,content:G,footer:W,headerDivider:L,footerDivider:M,container:B}}},K5=()=>(J)=>{return{...J,divider:{toggleDivider($){if($&&!J.structure.headerDivider){let Q=d9({variant:"full-width",class:`${J.getClass("dialog-divider")} ${J.getClass("dialog-header-divider")}`});if(J.element.insertBefore(Q.element,J.structure.content),J.structure.headerDivider=Q,J.structure.footer&&!J.structure.footerDivider){let q=d9({variant:"full-width",class:`${J.getClass("dialog-divider")} ${J.getClass("dialog-footer-divider")}`});J.element.insertBefore(q.element,J.structure.footer),J.structure.footerDivider=q}}else if(!$){if(J.structure.headerDivider)J.structure.headerDivider.element.remove(),J.structure.headerDivider=null;if(J.structure.footerDivider)J.structure.footerDivider.element.remove(),J.structure.footerDivider=null}return J},hasDivider(){return J.structure.headerDivider!==null}}}},z5=(J,$,Q)=>{let{text:q,variant:Z="text",onClick:j,closeDialog:K=!0,autofocus:z=!1,attributes:Y={}}=$,G=f6({text:q,variant:Z,...Y});if(G.on("click",(W)=>{let X=K;if(typeof j==="function")try{if(j(W,Q)===!1)X=!1}catch(U){console.error("Error in onClick handler:",U)}if(X){if(Q&&Q.emit)Q.emit("dialog:close",{source:"button",text:q})}}),z)G.element.setAttribute("autofocus","true");if(J.appendChild(G.element),!Q._buttons)Q._buttons=[];Q._buttons.push({config:$,instance:G})},Y5=()=>(J)=>{let $=J.config.open===!0,Q=J.config.animationDuration||150,q='button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])',Z=null,j=()=>{if(!J.config.trapFocus)return;let U=J.element.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');if(U.length===0)return;let L=U[0],M=U[U.length-1];if(J.config.autofocus){let V=J.element.querySelector("[autofocus]");if(V)V.focus();else L.focus()}J.element.addEventListener("keydown",B);function B(V){if(V.key!=="Tab")return;if(V.shiftKey){if(document.activeElement===L)M.focus(),V.preventDefault()}else if(document.activeElement===M)L.focus(),V.preventDefault()}},K=()=>{if(!J.config.trapFocus)return;if(J.element.removeEventListener("keydown",U),Z)Z.focus(),Z=null;function U(){}},z=()=>{if(J.config.closeOnOverlayClick!==!1)J.overlay.addEventListener("click",G);if(J.config.closeOnEscape!==!1)document.addEventListener("keydown",W)},Y=()=>{J.overlay.removeEventListener("click",G),document.removeEventListener("keydown",W)};function G(U){if(U.target===J.overlay)X.close()}function W(U){if(U.key==="Escape"&&X.isOpen())X.close()}if($)a(J.overlay,`${J.getClass("dialog-overlay")}--visible`),a(J.element,`${J.getClass("dialog")}--visible`),j(),z();let X={open(){if(this.isOpen())return;Z=document.activeElement;let U={dialog:J,defaultPrevented:!1,preventDefault:()=>{U.defaultPrevented=!0}};if(typeof J.emit==="function")J.emit(z7.BEFORE_OPEN,U);if(U.defaultPrevented)return;if(J.overlay&&!J.overlay.parentNode)(J.structure.container||document.body).appendChild(J.overlay);a(J.overlay,`${J.getClass("dialog-overlay")}--visible`),setTimeout(()=>{if(a(J.element,`${J.getClass("dialog")}--visible`),j(),z(),typeof J.emit==="function")J.emit(z7.OPEN,{dialog:J}),setTimeout(()=>{J.emit(z7.AFTER_OPEN,{dialog:J})},Q)},10)},close(){let U={dialog:J,defaultPrevented:!1,preventDefault:()=>{U.defaultPrevented=!0}};if(typeof J.emit==="function")J.emit(z7.BEFORE_CLOSE,U);if(U.defaultPrevented){console.log("Dialog close prevented by event handler");return}let L=`${J.getClass("dialog")}--visible`,M=`${J.getClass("dialog-overlay")}--visible`;if(X6(J.element,L),X6(J.overlay,M),K(),Y(),typeof J.emit==="function")J.emit(z7.CLOSE,{dialog:J});setTimeout(()=>{if(J.overlay&&J.overlay.parentNode)J.overlay.parentNode.removeChild(J.overlay);if(typeof J.emit==="function")J.emit(z7.AFTER_CLOSE,{dialog:J})},Q)},toggle(U){if(U===void 0)this.isOpen()?this.close():this.open();else if(U)this.open();else this.close()},isOpen(){return J.element.classList.contains(`${J.getClass("dialog")}--visible`)}};if(J&&J.on)J.on("dialog:close",()=>{X.close()});return{...J,visibility:X}},G5=()=>(J)=>{let $=J.structure.header,Q=J.structure.content,q=J.structure.footer;return{...J,content:{setTitle(Z){let j=$.querySelector(`.${J.getClass("dialog-header-title")}`);if(!j&&Z)j=document.createElement("h2"),j.classList.add(J.getClass("dialog-header-title")),$.querySelector(`.${J.getClass("dialog-header-content")}`).appendChild(j);if(j)j.textContent=Z},getTitle(){let Z=$.querySelector(`.${J.getClass("dialog-header-title")}`);return Z?Z.textContent||"":""},setSubtitle(Z){let j=$.querySelector(`.${J.getClass("dialog-header-subtitle")}`);if(!j&&Z)j=document.createElement("p"),j.classList.add(J.getClass("dialog-header-subtitle")),$.querySelector(`.${J.getClass("dialog-header-content")}`).appendChild(j);if(j)j.textContent=Z},getSubtitle(){let Z=$.querySelector(`.${J.getClass("dialog-header-subtitle")}`);return Z?Z.textContent||"":""},setContent(Z){Q.innerHTML=Z},getContent(){return Q.innerHTML},getHeaderElement(){return $},getContentElement(){return Q},getFooterElement(){return q}}}},W5=()=>(J)=>{if(!J._buttons)J._buttons=[];return{...J,buttons:{addButton($){let Q=J.structure.footer;if(!Q){Q=document.createElement("div"),Q.classList.add(J.getClass("dialog-footer"));let q=J.config.footerAlignment||"right";if(q!=="right")a(Q,`${J.getClass("dialog-footer")}--${q}`);J.element.appendChild(Q),J.structure.footer=Q}z5(Q,$,J)},removeButton($){if(typeof $==="number"){if($>=0&&$<J._buttons.length)J._buttons[$].instance.destroy(),J._buttons.splice($,1)}else{let Q=J._buttons.findIndex((q)=>q.config.text===$);if(Q!==-1)J._buttons[Q].instance.destroy(),J._buttons.splice(Q,1)}if(J._buttons.length===0&&J.structure.footer)J.element.removeChild(J.structure.footer),J.structure.footer=null},getButtons(){return J._buttons.map(($)=>$.config)},setFooterAlignment($){if(!J.structure.footer)return;if(["right","left","center","space-between"].forEach((q)=>{if(q!=="right")X6(J.structure.footer,`${J.getClass("dialog-footer")}--${q}`)}),$!=="right")a(J.structure.footer,`${J.getClass("dialog-footer")}--${$}`)}}}},U5=()=>(J)=>{return{...J,size:{setSize($){if(["small","medium","large","fullwidth","fullscreen"].forEach((q)=>{X6(J.element,`${J.getClass("dialog")}--${q}`)}),$!=="medium")a(J.element,`${J.getClass("dialog")}--${$}`)}}}},X5=()=>(J)=>{return{...J,confirm($){return new Promise((Q)=>{let{title:q="Confirm",message:Z,confirmText:j="Yes",cancelText:K="No",confirmVariant:z="filled",cancelVariant:Y="text",size:G="small"}=$;J.content.setTitle(q),J.content.setContent(`<p>${Z}</p>`),J.size.setSize(G),J._buttons.forEach((W)=>W.instance.destroy()),J._buttons=[],J.buttons.addButton({text:j,variant:z,onClick:()=>{Q(!0)}}),J.buttons.addButton({text:K,variant:Y,onClick:()=>{Q(!1)}}),J.visibility.open()})}}};c9();var B5=(J)=>($)=>({...$,open(){return J.visibility.open(),this},close(){return J.visibility.close(),this},toggle(Q){return J.visibility.toggle(Q),this},isOpen(){return J.visibility.isOpen()},setTitle(Q){return J.content.setTitle(Q),this},getTitle(){return J.content.getTitle()},setSubtitle(Q){return J.content.setSubtitle(Q),this},getSubtitle(){return J.content.getSubtitle()},setContent(Q){return J.content.setContent(Q),this},getContent(){return J.content.getContent()},addButton(Q){return J.buttons.addButton(Q),this},removeButton(Q){return J.buttons.removeButton(Q),this},getButtons(){return J.buttons.getButtons()},setFooterAlignment(Q){return J.buttons.setFooterAlignment(Q),this},toggleDivider(Q){return J.divider.toggleDivider(Q),this},hasDivider(){return J.divider.hasDivider()},setSize(Q){return J.size.setSize(Q),this},on(Q,q){return J.events.on(Q,q),this},off(Q,q){return J.events.off(Q,q),this},getHeaderElement(){return J.content.getHeaderElement()},getContentElement(){return J.content.getContentElement()},getFooterElement(){return J.content.getFooterElement()},confirm(Q){if($.confirm)return $.confirm(Q||{message:"Are you sure?"});return Promise.resolve(!1)},destroy(){if(console.log("destroy",this.isOpen()),this.isOpen()){let Q=`${$.getClass("dialog")}--visible`,q=`${$.getClass("dialog-overlay")}--visible`;if(X6($.element,Q),X6($.overlay,q),J.focus&&J.focus.releaseFocus)J.focus.releaseFocus()}if(J.lifecycle.destroy(),$.overlay&&$.overlay.parentNode)$.overlay.parentNode.removeChild($.overlay)},element:$.element,overlay:$.overlay});var dq=(J={})=>{let $=t4(J);try{let Q=I(T,E(),b(n4($)),j5($),Y5(),G5(),W5(),U5(),K5(),X5(),C(),(q)=>B5($5(q))(q))($);if($.on)Object.entries($.on).forEach(([q,Z])=>{if(typeof Z==="function")Q.on(q,Z)});return Q}catch(Q){throw console.error("Dialog creation error:",Q),Error(`Failed to create dialog: ${Q.message}`)}},yJ=dq;$6();s();i();var F5=({disabled:J,lifecycle:$,className:Q})=>(q)=>({...q,element:q.element,getValue:()=>q.element.value,setValue(Z){return q.element.value=Z,this},enable(){return J.enable(),this},disable(){return J.disable(),this},setIcon(Z){return q.icon.setIcon(Z),this},getIcon(){return q.icon.getIcon()},setPosition(Z){return["top-right","top-left","bottom-right","bottom-left"].forEach((K)=>{q.element.classList.remove(`${Q}--${K}`)}),q.element.classList.add(`${Q}--${Z}`),this},getPosition(){let Z=["top-right","top-left","bottom-right","bottom-left"];for(let j of Z)if(q.element.classList.contains(`${Q}--${j}`))return j;return null},lower(){return q.element.classList.add(`${Q}--lowered`),this},raise(){return q.element.classList.remove(`${Q}--lowered`),this},destroy(){$.destroy()}});m();var gq={variant:"primary",size:"default",type:"button",ripple:!0},H5=(J={})=>S(gq,J,"fab"),M5=(J)=>{let $={type:J.type||"button","aria-label":J.ariaLabel||(J.icon?"action":void 0)};if(J.disabled===!0)$.disabled=!0;let Q=[];if(Q.push(`fab--${J.size||"default"}`),J.animate)Q.push("fab--animate-enter");if(J.position)Q.push(`fab--${J.position}`);if(J.disabled===!0)Q.push("fab--disabled");let q={...J,className:Q};return f(q,{tag:"button",attributes:$,forwardEvents:{click:(Z)=>!Z.element.disabled,focus:!0,blur:!0},interactive:!0})},k5=(J)=>({disabled:{enable:()=>J.disabled.enable(),disable:()=>J.disabled.disable()},lifecycle:{destroy:()=>J.lifecycle.destroy()},className:J.getClass("fab")});var rq=(J={})=>{let $=H5(J);try{return I(T,E(),b(M5($)),j6($),T6($),K6($),R6($),C(),(q)=>F5(k5(q))(q))($)}catch(Q){throw console.error("FAB creation error:",Q),Error(`Failed to create FAB: ${Q.message}`)}},v$=rq;$6();s();i();var V5=({disabled:J,lifecycle:$,text:Q,className:q})=>(Z)=>({...Z,element:Z.element,getValue:()=>Z.element.value,setValue(j){return Z.element.value=j,this},enable(){return J.enable(),this},disable(){return J.disable(),this},setIcon(j){return Z.icon.setIcon(j),this},getIcon(){return Z.icon.getIcon()},setText(j){return Q.setText(j),this},getText(){return Q.getText()},setPosition(j){return["top-right","top-left","bottom-right","bottom-left"].forEach((z)=>{Z.element.classList.remove(`${q}--${z}`)}),Z.element.classList.add(`${q}--${j}`),this},getPosition(){let j=["top-right","top-left","bottom-right","bottom-left"];for(let K of j)if(Z.element.classList.contains(`${q}--${K}`))return K;return null},lower(){return Z.element.classList.add(`${q}--lowered`),this},raise(){return Z.element.classList.remove(`${q}--lowered`),this},collapse(){Z.element.classList.add(`${q}--collapsed`);let j=new CustomEvent("collapse",{bubbles:!0,cancelable:!0});return Z.element.dispatchEvent(j),this},expand(){Z.element.classList.remove(`${q}--collapsed`);let j=new CustomEvent("expand",{bubbles:!0,cancelable:!0});return Z.element.dispatchEvent(j),this},destroy(){$.destroy()}});m();var lq={variant:"primary",type:"button",ripple:!0,iconPosition:"start",width:"fixed"},N5=(J={})=>S(lq,J,"extended-fab"),L5=(J)=>{let $={type:J.type||"button","aria-label":J.ariaLabel||J.text||(J.icon?"action":void 0)},Q=[`${J.prefix}-extended-fab`];if(J.variant)Q.push(`${J.prefix}-extended-fab--${J.variant}`);if(J.width)Q.push(`${J.prefix}-extended-fab--${J.width}`);if(J.animate)Q.push(`${J.prefix}-extended-fab--animate-enter`);if(J.position)Q.push(`${J.prefix}-extended-fab--${J.position}`);if(J.collapseOnScroll)Q.push(`${J.prefix}-extended-fab--collapsible`);if(J.class)Q.push(J.class);if(J.disabled===!0)$.disabled=!0,Q.push(`${J.prefix}-extended-fab--disabled`);return f(J,{tag:"button",attributes:$,className:Q,forwardEvents:{click:(q)=>!q.element.disabled,focus:!0,blur:!0},interactive:!0})},_5=(J)=>({disabled:{enable:()=>J.disabled.enable(),disable:()=>J.disabled.disable()},lifecycle:{destroy:()=>J.lifecycle.destroy()},className:J.getClass("extended-fab"),text:{setText:($)=>J.text.setText($),getText:()=>J.text.getText()}});var pq=(J={})=>{let $=N5(J),Q=(q)=>{if($.collapseOnScroll){let Z=window.scrollY,j=!1,K=10,z=()=>{if(!j)window.requestAnimationFrame(()=>{let G=window.scrollY,W=G-Z;if(W>K)q.collapse();else if(W<-K)q.expand();if(G<=0)q.expand();Z=G,j=!1}),j=!0};window.addEventListener("scroll",z,{passive:!0}),requestAnimationFrame(()=>{q.expand()});let Y=q.destroy;q.destroy=()=>{window.removeEventListener("scroll",z),Y.call(q)}}};try{let q=I(T,E(),b(L5($)),j6($),T6($),K9($),K6($),R6($),C(),(Z)=>V5(_5(Z))(Z))($);return Q(q),q}catch(q){throw console.error("Extended FAB creation error:",q),Error(`Failed to create Extended FAB: ${q.message}`)}},S$=pq;$6();s();i();var D5=(J)=>($)=>{if(!J.toggle)return{...$,toggleState:{select:function(){return this},deselect:function(){return this},toggle:function(){return this},isSelected:()=>!1,isToggle:()=>!1,setIcon:function(){return this},setSelectedIcon:function(){return this},getSelectedIcon:()=>""}};let Q=J.prefix||"mtrl",q=J.componentName||"icon-button",Z=`${Q}-${q}--selected`,j=J.selected||!1,K=J.icon||"",z=J.selectedIcon||"",Y=()=>{if(!$.icon)return;let M=j&&z?z:K;if(M)$.icon.setIcon(M)},G=()=>{$.element.setAttribute("aria-pressed",String(j))},W={select(){if(!j)j=!0,$.element.classList.add(Z),Y(),G();return this},deselect(){if(j)j=!1,$.element.classList.remove(Z),Y(),G();return this},toggle(){if(j)this.deselect();else this.select();return this},isSelected(){return j},isToggle(){return!0},setIcon(M){if(K=M,!j)Y();return this},setSelectedIcon(M){if(z=M,j)Y();return this},getSelectedIcon(){return z}};if(j)$.element.classList.add(Z),G(),Y();else G();let X=J.toggleOnClick!==!1,U=()=>{W.toggle();let M=new CustomEvent("toggle",{bubbles:!0,detail:{selected:j}});$.element.dispatchEvent(M)};if(X)$.element.addEventListener("click",U);let L=$.lifecycle?.destroy;if($.lifecycle)$.lifecycle.destroy=()=>{if(X)$.element.removeEventListener("click",U);if(L)L()};return{...$,toggleState:W}};var O5=({disabled:J,lifecycle:$,toggleState:Q})=>(q)=>{let Z=q.componentName||"icon-button",j=q.getClass(Z),K={setIcon:(Y)=>{return q.icon.setIcon(Y),K},getIcon:()=>q.icon.getIcon(),getElement:()=>q.icon.getElement()},z={element:q.element,icon:K,disabled:{enable:()=>J.enable(),disable:()=>J.disable(),isDisabled:()=>J.isDisabled()},lifecycle:{destroy:()=>$.destroy()},getClass:q.getClass,getValue:()=>q.element.value,setValue(Y){return q.element.value=Y,z},getVariant(){let Y=["filled","tonal","outlined","standard"];for(let G of Y)if(q.element.classList.contains(`${j}--${G}`))return G;return"standard"},setVariant(Y){return["filled","tonal","outlined","standard"].forEach((W)=>{q.element.classList.remove(`${j}--${W}`)}),q.element.classList.add(`${j}--${Y}`),z},getSize(){let Y=["xs","s","m","l","xl"];for(let G of Y)if(q.element.classList.contains(`${j}--${G}`))return G;return"s"},setSize(Y){if(["xs","s","m","l","xl"].forEach((W)=>{q.element.classList.remove(`${j}--${W}`)}),Y!=="s")q.element.classList.add(`${j}--${Y}`);return z},getShape(){let Y=["round","square"];for(let G of Y)if(q.element.classList.contains(`${j}--${G}`))return G;return"round"},setShape(Y){if(["round","square"].forEach((W)=>{q.element.classList.remove(`${j}--${W}`)}),Y!=="round")q.element.classList.add(`${j}--${Y}`);return z},getWidth(){let Y=["narrow","default","wide"];for(let G of Y)if(q.element.classList.contains(`${j}--${G}`))return G;return"default"},setWidth(Y){if(["narrow","default","wide"].forEach((W)=>{q.element.classList.remove(`${j}--${W}`)}),Y!=="default")q.element.classList.add(`${j}--${Y}`);return z},enable(){return J.enable(),z},disable(){return J.disable(),z},setIcon(Y){if(Q?.isToggle()&&!Q.isSelected())Q.setIcon(Y);return q.icon.setIcon(Y),z},getIcon(){return q.icon.getIcon()},setSelectedIcon(Y){if(Q)Q.setSelectedIcon(Y);return z},getSelectedIcon(){return Q?.getSelectedIcon()||""},isToggle(){return Q?.isToggle()||!1},select(){if(Q)Q.select();return z},deselect(){if(Q)Q.deselect();return z},toggleSelected(){if(Q)Q.toggle();return z},isSelected(){return Q?.isSelected()||!1},setAriaLabel(Y){return q.element.setAttribute("aria-label",Y),z},destroy(){$.destroy()},on(Y,G){if(q.on)q.on(Y,G);else q.element.addEventListener(Y,G);return z},off(Y,G){if(q.off)q.off(Y,G);else q.element.removeEventListener(Y,G);return z},addClass(...Y){if(q.addClass)q.addClass(...Y);else Y.forEach((G)=>q.element.classList.add(G));return z},removeClass(...Y){if(q.removeClass)q.removeClass(...Y);else Y.forEach((G)=>q.element.classList.remove(G));return z}};return z};m();var C$={FILLED:"filled",TONAL:"tonal",OUTLINED:"outlined",STANDARD:"standard"},E$={XS:"xs",S:"s",M:"m",L:"l",XL:"xl"},h$={ROUND:"round",SQUARE:"square"},u$={NARROW:"narrow",DEFAULT:"default",WIDE:"wide"},P5={BUTTON:"button",SUBMIT:"submit",RESET:"reset"},R5={ROOT:"icon-button",ICON:"icon-button__icon",SELECTED:"icon-button--selected",DISABLED:"icon-button--disabled",PRESSED:"icon-button--pressed"},f$={DURATION:450,TIMING:"cubic-bezier(0.4, 0.0, 0.2, 1)",OPACITY:["0.7","0"]},w5={XS:{square:12,pressed:8},S:{square:12,pressed:8},M:{square:16,pressed:12},L:{square:28,pressed:16},XL:{square:28,pressed:16}},y5={XS:18,S:24,M:24,L:36,XL:48},A5={XS:32,S:40,M:56,L:96,XL:136},x5={XS:{narrow:28,default:32,wide:36},S:{narrow:32,default:40,wide:48},M:{narrow:48,default:56,wide:64},L:{narrow:80,default:96,wide:112},XL:{narrow:112,default:136,wide:160}};var sq={variant:C$.STANDARD,size:E$.S,shape:h$.ROUND,width:u$.DEFAULT,disabled:!1,type:P5.BUTTON,toggle:!1,selected:!1,ripple:!0,tooltip:!0,rippleConfig:{duration:f$.DURATION,timing:f$.TIMING,opacity:f$.OPACITY}},T5=(J={})=>S(sq,J,"icon-button"),I5=(J)=>{let $={type:J.type||"button"};if(J.ariaLabel)$["aria-label"]=J.ariaLabel;if(J.toggle)$["aria-pressed"]=J.selected?"true":"false";if(J.disabled===!0)$.disabled=!0;if(J.value!==void 0)$.value=J.value;let Q=[];if(J.size&&J.size!=="s")Q.push(`icon-button--${J.size}`);if(J.shape&&J.shape!=="round")Q.push(`icon-button--${J.shape}`);if(J.width&&J.width!=="default")Q.push(`icon-button--${J.width}`);if(J.toggle)Q.push("icon-button--toggle");if(J.toggle&&J.selected)Q.push("icon-button--selected");if(J.disabled===!0)Q.push("icon-button--disabled");let q=J.className||J.class,Z=[...Q,...Array.isArray(q)?q:q?[q]:[]],j={...J,className:Z};return f(j,{tag:"button",attributes:$,forwardEvents:{click:(K)=>!K.element.disabled,focus:!0,blur:!0},interactive:!0})},b5=(J)=>({disabled:{enable:()=>J.disabled.enable(),disable:()=>J.disabled.disable(),isDisabled:()=>J.disabled.isDisabled()},lifecycle:{destroy:()=>J.lifecycle.destroy()},toggleState:J.toggleState});var mq=(J={})=>{let $=T5(J);try{return I(T,E(),b(I5($)),j6($),T9($),T6($),K6($),D5($),R6($),C(),(q)=>{if($.shape&&$.shape!=="round"&&q.element){let Z=`${$.prefix}-${$.componentName}--${$.shape}`;q.element.classList.add(Z)}return q},(q)=>{if($.width&&$.width!=="default"&&q.element){let Z=`${$.prefix}-${$.componentName}--${$.width}`;q.element.classList.add(Z)}return q},(q)=>O5(b5(q))(q))($)}catch(Q){throw console.error("IconButton creation error:",Q),Error(`Failed to create icon button: ${Q.message}`)}},d$=mq;$6();s();i();var v5=!1,aq=(J)=>($)=>{if(!$.element)return console.warn("Cannot initialize menu controller: missing element"),$;let Q={visible:J.visible||!1,items:J.items||[],position:J.position,selectedItemId:null,activeItemIndex:-1,component:$},q={triggerEvent(F,H={},N){let _={menu:Q.component,...H,originalEvent:N,preventDefault:()=>{_.defaultPrevented=!0},defaultPrevented:!1};return $.emit(F,_),_}},Z=()=>{if($.opener&&typeof $.opener.getOpener==="function")return $.opener.getOpener();let{opener:F}=J;if(typeof F==="string"){let H=document.querySelector(F);if(!H)return console.warn(`Menu opener not found: ${F}`),null;return H}if(typeof F==="object"&&F!==null&&"element"in F)return F.element;return F},j=(F,H)=>{let N=document.createElement("li"),_=`${$.getClass("menu-item")}`;if(N.className=_,N.setAttribute("role","menuitem"),N.setAttribute("tabindex","-1"),N.setAttribute("data-id",F.id),N.setAttribute("data-index",H.toString()),F.disabled)N.classList.add(`${_}--disabled`),N.setAttribute("aria-disabled","true");else N.setAttribute("aria-disabled","false");if(Q.selectedItemId&&F.id===Q.selectedItemId)N.classList.add(`${_}--selected`),N.setAttribute("aria-selected","true");else N.setAttribute("aria-selected","false");if(F.hasSubmenu)N.classList.add(`${_}--submenu`),N.setAttribute("aria-haspopup","true"),N.setAttribute("aria-expanded","false");let D=document.createElement("span");if(D.className=`${$.getClass("menu-item-content")}`,F.icon){let P=document.createElement("span");P.className=`${$.getClass("menu-item-icon")}`,P.innerHTML=F.icon,D.appendChild(P)}let R=document.createElement("span");if(R.className=`${$.getClass("menu-item-text")}`,R.textContent=F.text,D.appendChild(R),F.shortcut){let P=document.createElement("span");P.className=`${$.getClass("menu-item-shortcut")}`,P.textContent=F.shortcut,D.appendChild(P)}if(N.appendChild(D),!F.disabled){if(N.addEventListener("click",(P)=>G(P,F,H)),N.addEventListener("keydown",(P)=>{if(P.key==="Enter"||P.key===" ")P.preventDefault(),G(P,F,H)}),N.addEventListener("focus",()=>{Q.activeItemIndex=H}),F.hasSubmenu&&J.openSubmenuOnHover)N.addEventListener("mouseenter",()=>{if($.submenu)$.submenu.handleSubmenuHover(F,H,N)}),N.addEventListener("mouseleave",(P)=>{if($.submenu)$.submenu.handleSubmenuLeave(P)})}return N},K=(F,H)=>{let N=document.createElement("li");if(N.className=`${$.getClass("menu-divider")}`,N.setAttribute("role","separator"),N.setAttribute("data-index",H.toString()),F.id)N.setAttribute("id",F.id);return N},z=()=>{let F=document.createElement("ul");F.className=`${$.getClass("menu-list")}`,F.setAttribute("role","menu"),Q.items.forEach((H,N)=>{if("type"in H&&H.type==="divider")F.appendChild(K(H,N));else F.appendChild(j(H,N))}),$.element.innerHTML="",$.element.appendChild(F)},Y=(F)=>{for(let H of Q.items){if("id"in H&&H.id===F)return H;if("submenu"in H&&Array.isArray(H.submenu)){for(let N of H.submenu)if("id"in N&&N.id===F)return N}}return null},G=(F,H,N)=>{if(F.preventDefault(),F.stopPropagation(),H.disabled)return;if(H.hasSubmenu&&$.submenu){$.submenu.handleSubmenuClick(H,N,F.currentTarget);return}let _=q.triggerEvent("select",{item:H,itemId:H.id,itemData:H.data},F);if(J.closeOnSelect&&!_.defaultPrevented)U(F,!0)},W=(F)=>{if(!$.element)return;$.element.querySelectorAll(`.${$.getClass("menu-item")}`).forEach((N)=>{if(N.getAttribute("data-id")===F)N.classList.add(`${$.getClass("menu-item--selected")}`),N.setAttribute("aria-selected","true");else N.classList.remove(`${$.getClass("menu-item--selected")}`),N.setAttribute("aria-selected","false")}),Q.selectedItemId=F},X=(F,H="mouse")=>{if(Q.visible)return;if(Q.visible=!0,document.removeEventListener("click",M),!$.element.parentNode)$.element.classList.remove(`${$.getClass("menu--visible")}`),$.element.setAttribute("aria-hidden","true"),$.element.style.transform="scaleY(0)",$.element.style.opacity="0",(J.container||document.body).appendChild($.element);setTimeout(()=>{let N=Z();if(N&&$.position)$.position.positionMenu(N);$.element.setAttribute("aria-hidden","false"),$.element.style.transform="",$.element.style.opacity="",$.element.getBoundingClientRect(),$.element.classList.add(`${$.getClass("menu--visible")}`),setTimeout(()=>{if($.keyboard&&$.keyboard.handleInitialFocus)$.keyboard.handleInitialFocus($.element,H);else if(H==="keyboard"){let _=Array.from($.element.querySelectorAll(`.${$.getClass("menu-item")}:not(.${$.getClass("menu-item--disabled")})`));if(_.length>0)_.forEach((D)=>{D.tabIndex=-1}),_[0].tabIndex=0,_[0].focus();else $.element.tabIndex=0,$.element.focus()}else{$.element.tabIndex=-1;let _=Array.from($.element.querySelectorAll(`.${$.getClass("menu-item")}:not(.${$.getClass("menu-item--disabled")})`));if(_.length>0)_.forEach((D)=>{D.tabIndex=-1}),_[0].tabIndex=0}},100),setTimeout(()=>{if(J.closeOnClickOutside&&Q.visible)document.addEventListener("click",M);if(J.closeOnEscape)document.addEventListener("keydown",B);window.addEventListener("resize",V,{passive:!0}),window.addEventListener("scroll",k,{passive:!0})},0)},20),q.triggerEvent("open",{},F)},U=(F,H=!0)=>{if(!Q.visible)return;if($.emit("menu-closing",{event:F,restoreFocus:H}),$.submenu)$.submenu.closeAllSubmenus();setTimeout(()=>{Q.visible=!1,$.element.setAttribute("aria-hidden","true"),$.element.classList.remove(`${$.getClass("menu--visible")}`),document.removeEventListener("click",M),document.removeEventListener("keydown",B),window.removeEventListener("resize",V),window.removeEventListener("scroll",k),q.triggerEvent("close",{restoreFocus:H},F),setTimeout(()=>{if($.element.parentNode&&!Q.visible)$.element.parentNode.removeChild($.element)},300)},50)},L=(F,H="mouse")=>{if(Q.visible)U(F);else{if(F){if(F instanceof KeyboardEvent)H="keyboard";else if(F instanceof MouseEvent)H="mouse"}X(F,H)}},M=(F)=>{if(v5){v5=!1;return}if($.element.contains(F.target))return;let H=Z();if(H&&H.contains(F.target))return;if($.submenu&&$.submenu.hasOpenSubmenu()){let N=$.submenu.getActiveSubmenus();for(let _ of N)if(_.element.contains(F.target))return}U(F,!1)},B=(F)=>{let H=$.element.contains(F.target),N=$.submenu&&$.submenu.hasOpenSubmenu()&&$.submenu.getActiveSubmenus().some((_)=>_.element.contains(F.target));if(Q.visible){if(H||N){if(F.key==="Escape")F.preventDefault(),U(F,!0)}else if($.keyboard&&$.keyboard.handleMenuKeydown)$.keyboard.handleMenuKeydown(F,Q,{closeMenu:U,closeSubmenu:$.submenu?$.submenu.closeSubmenu:null,findItemById:Y,handleSubmenuClick:$.submenu?$.submenu.handleSubmenuClick:null,handleNestedSubmenuClick:$.submenu?$.submenu.handleNestedSubmenuClick:null})}},V=()=>{if(Q.visible)if(J.closeOnResize)U(void 0,!0);else{let F=Z();if(F&&$.position)$.position.positionMenu(F)}},k=()=>{if(Q.visible)window.requestAnimationFrame(()=>{let F=Z();if(F&&$.position)$.position.positionMenu(F)})},O=()=>{if(z(),$.keyboard&&$.keyboard.setupKeyboardHandlers)$.keyboard.setupKeyboardHandlers($.element,Q,{closeMenu:U,closeSubmenu:$.submenu?$.submenu.closeSubmenu:null,findItemById:Y,handleSubmenuClick:$.submenu?$.submenu.handleSubmenuClick:null,handleNestedSubmenuClick:$.submenu?$.submenu.handleNestedSubmenuClick:null});if(Q.visible){let F=Z();if(F&&$.position)$.position.positionMenu(F);if($.element.classList.add(`${$.getClass("menu--visible")}`),J.closeOnClickOutside)document.addEventListener("click",M);if(J.closeOnEscape)document.addEventListener("keydown",B);window.addEventListener("resize",V),window.addEventListener("scroll",k)}};if($.on("create-menu-items",(F)=>{let{items:H,container:N,onItemCreated:_}=F;H.forEach((D,R)=>{let P;if("type"in D&&D.type==="divider")P=K(D,R);else P=j(D,R);if(N.appendChild(P),_)_(P)})}),setTimeout(O,0),$.lifecycle){let F=$.lifecycle.destroy||(()=>{});$.lifecycle.destroy=()=>{document.removeEventListener("click",M),document.removeEventListener("keydown",B),window.removeEventListener("resize",V),window.removeEventListener("scroll",k),F()}}return{...$,menu:{open:(F,H="mouse")=>{return X(F,H),$},close:(F,H=!0)=>{return U(F,H),$},toggle:(F,H="mouse")=>{return L(F,H),$},isOpen:()=>Q.visible,setItems:(F)=>{return Q.items=F,z(),$},getItems:()=>Q.items,setPosition:(F)=>{if(Q.position=F,Q.visible){let H=Z();if(H&&$.position)$.position.positionMenu(H)}return $},getPosition:()=>Q.position,setSelected:(F)=>{return W(F),$},getSelected:()=>Q.selectedItemId}}},AJ=aq;var iq=(J)=>($)=>{if(!$.element)return console.warn("Cannot initialize menu opener: missing element"),$;let Q=!1;document.addEventListener("keydown",(B)=>{Q=B.key==="Tab",setTimeout(()=>{Q=!1},100)});let q={openerElement:null,openerComponent:null,activeClass:""},Z=(B)=>{if(!B)return{element:null,component:null};if(typeof B==="string"){let V=document.querySelector(B);if(!V)return console.warn(`Menu opener not found: ${B}`),{element:null,component:null};return{element:V,component:null}}if(typeof B==="object"&&B!==null){if("element"in B&&B.element instanceof HTMLElement)return{element:B.element,component:B};if("getElement"in B&&typeof B.getElement==="function"){let V=B.getElement();if(V instanceof HTMLElement)return{element:V,component:B}}if("input"in B&&B.input instanceof HTMLElement)return{element:B.input,component:B};if(B instanceof HTMLElement)return{element:B,component:null}}return console.warn("Invalid opener type:",B),{element:null,component:null}},j=(B)=>{let V=$.getClass("").split("-")[0];if(B.tagName==="BUTTON")return`${V}-button--active`;else if(B.classList.contains(`${V}-chip`))return`${V}-chip--selected`;else if(B.classList.contains(`${V}-textfield`)||B.classList.contains(`${V}-select`))return`${V}-textfield--focused`;else return`${V}-menu-opener--active`},K=(B)=>{let{element:V,component:k}=B;if(!V)return;if(q.openerElement&&q.openerElement!==V)U();q.openerElement=V,q.openerComponent=k,q.activeClass=j(V),V.addEventListener("click",G),V.addEventListener("keydown",W),V.addEventListener("blur",X),V.setAttribute("aria-haspopup","true"),V.setAttribute("aria-expanded","false");let O=$.element.id;if(!O)O=`menu-${Date.now()}-${Math.floor(Math.random()*1000)}`,$.element.id=O;V.setAttribute("aria-controls",O)},z=(B)=>{if(!q.openerElement)return;if(q.openerComponent&&typeof q.openerComponent.setActive==="function"){q.openerComponent.setActive(B);return}if(q.openerComponent&&"selected"in q.openerComponent){q.openerComponent.selected=B;return}if(q.openerComponent&&typeof q.openerComponent.focus==="function"&&typeof q.openerComponent.blur==="function"){if(B)q.openerComponent.focus();else q.openerComponent.blur();return}if(q.openerElement.classList)if(B)q.openerElement.classList.add(q.activeClass);else q.openerElement.classList.remove(q.activeClass)},Y=()=>{if(!q.openerElement)return;if(q.openerComponent&&typeof q.openerComponent.focus==="function"){requestAnimationFrame(()=>{q.openerComponent.focus()});return}if(q.openerComponent&&"input"in q.openerComponent&&q.openerComponent.input instanceof HTMLElement){requestAnimationFrame(()=>{q.openerComponent.input.focus()});return}requestAnimationFrame(()=>{q.openerElement.focus()})},G=(B)=>{if(B.preventDefault(),$.menu)if($.menu.isOpen())$.menu.close(B);else $.menu.open(B,"mouse")},W=(B)=>{if(!$.menu)return;let V=$.menu.isOpen();switch(B.key){case"Enter":case" ":case"ArrowDown":case"Down":if(B.preventDefault(),!V)$.menu.open(B,"keyboard");break;case"Escape":if(V)B.preventDefault(),$.menu.close(B);break;case"ArrowUp":case"Up":if(B.preventDefault(),!V)$.menu.open(B,"keyboard"),setTimeout(()=>{let k=$.element.querySelectorAll(`.${$.getClass("menu-item")}:not(.${$.getClass("menu-item--disabled")})`);if(k.length>0){k.forEach((F)=>F.setAttribute("tabindex","-1"));let O=k[k.length-1];O.setAttribute("tabindex","0"),O.focus()}},100);break}},X=(B)=>{if(!$.menu||!$.menu.isOpen())return;let V=B.relatedTarget;if(Q){setTimeout(()=>{if($.menu&&$.menu.isOpen())$.menu.close(B,!1)},10);return}if(V){if($.element.contains(V))return;if(V.getAttribute("aria-haspopup")==="true"||V.closest('[aria-haspopup="true"]'))return}setTimeout(()=>{if($.menu&&$.menu.isOpen())$.menu.close(B,!1)},50)},U=()=>{if(q.openerElement)q.openerElement.removeEventListener("click",G),q.openerElement.removeEventListener("keydown",W),q.openerElement.removeEventListener("blur",X),q.openerElement.removeAttribute("aria-haspopup"),q.openerElement.removeAttribute("aria-expanded"),q.openerElement.removeAttribute("aria-controls"),z(!1);q.openerComponent=null,q.openerElement=null,q.activeClass=""},{element:L,component:M}=Z(J.opener);if(K({element:L,component:M}),$.lifecycle){let B=$.lifecycle.destroy||(()=>{});$.lifecycle.destroy=()=>{U(),B()}}return $.on("open",()=>{if(q.openerElement)q.openerElement.setAttribute("aria-expanded","true"),z(!0)}),$.on("close",(B)=>{if(q.openerElement){if(q.openerElement.setAttribute("aria-expanded","false"),z(!1),B.restoreFocus&&!Q)Y()}}),{...$,opener:{setOpener(B){let V=Z(B);if(V.element)K(V);return $},getOpener(){return q.openerElement},getOpenerComponent(){return q.openerComponent},setActive(B){return z(B),$},focus(){return Y(),$}}}},xJ=iq;var cq=(J,$)=>{let Q=(j,K,z,Y=!1)=>{if(!j||!K)return;let G=$.container&&$.container!==document.body;j.style.position="absolute";let W=G?0:window.pageXOffset||document.documentElement.scrollLeft,X=G?0:window.pageYOffset||document.documentElement.scrollTop,U=K.getBoundingClientRect(),L=j.cloneNode(!0);if(L.style.visibility="hidden",L.style.display="block",L.style.position="absolute",L.style.top="0",L.style.left="0",L.style.transform="none",L.style.opacity="0",L.style.pointerEvents="none",L.classList.add(`${J.getClass("menu--visible")}`),$.width==="100%"&&!Y)L.style.width=`${U.width}px`;let M=$.container||document.body;M.appendChild(L);let B=L.getBoundingClientRect(),V=window.innerWidth,k=window.innerHeight;M.removeChild(L);let O=$.offset!==void 0?$.offset:8,F=0,H=0,N=z;if(Y){if(N=z||"right-start",N.startsWith("right")&&U.right+B.width+O>V-16)N=N.replace("right","left");else if(N.startsWith("left")&&U.left-B.width-O<16)N=N.replace("left","right");if(U.top+B.height>k-48){if(N==="right-start")N="right-end";else if(N==="left-start")N="left-end"}}else switch(z){case"top-start":case"top":case"top-end":if(U.top<B.height+O+48)N=z.replace("top","bottom");break;case"bottom-start":case"bottom":case"bottom-end":if(U.bottom+B.height+O+48>k){if(U.top>k-U.bottom)N=z.replace("bottom","top")}break;case"right-start":case"right":case"left-start":case"left":if(U.bottom+B.height>k-48){if(z==="right-start")N="right-end";else if(z==="left-start")N="left-end";else if(z==="right")F=U.top-(B.height-U.height)-O;else if(z==="left")F=U.top-(B.height-U.height)-O}break}if(["position-top","position-bottom","position-right","position-left"].forEach((G6)=>{j.classList.remove(`${J.getClass("menu")}--${G6}`)}),N.startsWith("top")||N==="right-end"||N==="left-end"||N==="right"&&F<U.top||N==="left"&&F<U.top)j.classList.add(`${J.getClass("menu")}--position-top`);else if(N.startsWith("left"))j.classList.add(`${J.getClass("menu")}--position-left`);else if(N.startsWith("right"))j.classList.add(`${J.getClass("menu")}--position-right`);else j.classList.add(`${J.getClass("menu")}--position-bottom`);let R=G&&$.container?$.container.getBoundingClientRect():{top:0,left:0,right:0,bottom:0},P=G?-R.left:W,w=G?-R.top:X;switch(N){case"top-start":F=U.top+w-B.height-O,H=U.left+P;break;case"top":F=U.top+w-B.height-O,H=U.left+P+U.width/2-B.width/2;break;case"top-end":F=U.top+w-B.height-O,H=U.right+P-B.width;break;case"right-start":F=U.top+w,H=U.right+P+O;break;case"right":if(F===0)F=U.top+w+U.height/2-B.height/2;else F+=w;H=U.right+P+O;break;case"right-end":F=U.bottom+w-B.height,H=U.right+P+O;break;case"bottom-start":F=U.bottom+w+O,H=U.left+P;break;case"bottom":F=U.bottom+w+O,H=U.left+P+U.width/2-B.width/2;break;case"bottom-end":F=U.bottom+w+O,H=U.right+P-B.width;break;case"left-start":F=U.top+w,H=U.left+P-B.width-O;break;case"left":if(F===0)F=U.top+w+U.height/2-B.height/2;else F+=w;H=U.left+P-B.width-O;break;case"left-end":F=U.bottom+w-B.height,H=U.left+P-B.width-O;break}if(G){if(j.style.top=`${F}px`,j.style.left=`${H}px`,$.width==="100%"&&!Y)j.style.width=`${U.width}px`;if($.maxHeight)j.style.maxHeight=$.maxHeight;return}let x=48;if(F-X<x)F=x+X;let A=48;if(F-X+B.height>k-A){let G6=k-(F-X)-A,e=Math.min(B.height,100),B6=Math.max(G6,e);if(j.style.maxHeight=`${B6}px`,$.maxHeight){let y=parseInt($.maxHeight,10);if(!isNaN(y)&&y<parseInt(j.style.maxHeight||"0",10))j.style.maxHeight=$.maxHeight}}else if($.maxHeight)j.style.maxHeight=$.maxHeight;if($.width==="100%"&&!Y)j.style.width=`${U.width}px`;let l=Math.max(x+X,F),n=Math.max(16+W,H);if(j.style.top=`${l}px`,j.style.left=`${n}px`,n-W+B.width>V-16)j.style.left="auto",j.style.right="16px"};return{positionMenu:(j)=>{if(!j||!J.element)return;Q(J.element,j,$.position,!1)},positionSubmenu:(j,K,z=1)=>{if(!j||!K)return;let Y=z%2===1?"right-start":"left-start";j.style.zIndex=`${1000+z*10}`,Q(j,K,Y,!0)},positionElement:Q}},oq=(J)=>($)=>{if(!$.element)return $;let Q=cq($,J);return{...$,position:Q}},TJ=oq;var tq=(J)=>{let $=!1,Q="",q=null,Z=500;(()=>{document.addEventListener("keydown",(U)=>{$=U.key==="Tab",setTimeout(()=>{$=!1},100)})})();let K=()=>{let L=document.querySelectorAll('a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])');return Array.from(L).filter((M)=>{return M.offsetParent!==null&&!M.classList.contains("hidden")})},z=()=>{if(Q="",q)clearTimeout(q),q=null},Y=(U,L)=>{if(z(),L==="keyboard"){let M=Array.from(U.querySelectorAll(`.${J.getClass("menu-item")}:not(.${J.getClass("menu-item--disabled")})`));if(M.length>0)M[0].setAttribute("tabindex","0"),M[0].focus();else U.setAttribute("tabindex","0"),U.focus()}else{U.setAttribute("tabindex","-1");let M=U.querySelector(`.${J.getClass("menu-item")}:not(.${J.getClass("menu-item--disabled")})`);if(M)M.setAttribute("tabindex","0")}},G=(U,L,M)=>{let B=L.activeSubmenu&&L.activeSubmenu.contains(U.target),V=B?L.activeSubmenu:J.element,k=Array.from(V.querySelectorAll(`.${J.getClass("menu-item")}:not(.${J.getClass("menu-item--disabled")})`));if(k.length===0)return;let O=document.activeElement,F=-1;if(O&&k.includes(O))F=k.indexOf(O);let H=(N)=>{if(k[N])k[N].focus()};if(U.key.length===1&&!U.ctrlKey&&!U.metaKey&&!U.altKey){if(U.preventDefault(),U.stopPropagation(),Q+=U.key.toLowerCase(),q)clearTimeout(q);q=setTimeout(()=>{Q="",q=null},Z);let N=k.findIndex((_)=>{return(_.querySelector(`.${J.getClass("menu-item-text")}`)?.textContent?.toLowerCase()||"").startsWith(Q)});if(N!==-1)H(N);else if(Q.length>1){let _=Q.slice(-1),D=k.findIndex((R)=>{return(R.querySelector(`.${J.getClass("menu-item-text")}`)?.textContent?.toLowerCase()||"").startsWith(_)});if(D!==-1)Q=_,H(D)}return}switch(U.key){case"ArrowDown":case"Down":if(U.preventDefault(),U.stopPropagation(),F<0)H(0);else if(F<k.length-1)H(F+1);else H(0);break;case"ArrowUp":case"Up":if(U.preventDefault(),U.stopPropagation(),F<0)H(k.length-1);else if(F>0)H(F-1);else H(k.length-1);break;case"Home":U.preventDefault(),U.stopPropagation(),H(0);break;case"End":U.preventDefault(),U.stopPropagation(),H(k.length-1);break;case"Enter":case" ":if(U.preventDefault(),U.stopPropagation(),F>=0)k[F].click();break;case"ArrowRight":case"Right":if(U.preventDefault(),U.stopPropagation(),B){if(F>=0&&k[F].classList.contains(`${J.getClass("menu-item--submenu")}`)){let _=k[F],D=parseInt(_.getAttribute("data-index"),10),P=_.closest(`.${J.getClass("menu--submenu")}`)?.getAttribute("data-parent-item"),w=M.findItemById(P);if(w&&w.submenu){let x=w.submenu[D];M.handleNestedSubmenuClick(x,D,_)}}}else if(F>=0&&k[F].classList.contains(`${J.getClass("menu-item--submenu")}`)){let _=k[F],D=parseInt(_.getAttribute("data-index"),10),R=L.items[D];M.handleSubmenuClick(R,D,_)}break;case"ArrowLeft":case"Left":if(U.preventDefault(),U.stopPropagation(),B)if(L.activeSubmenuItem){let _=L.activeSubmenuItem,D=parseInt(V.getAttribute("data-level")||"1",10);if(M.closeSubmenu(D),_)_.focus()}else M.closeSubmenu(1);break;case"Escape":if(U.preventDefault(),U.stopPropagation(),B)if(L.activeSubmenuItem){let _=L.activeSubmenuItem,D=parseInt(V.getAttribute("data-level")||"1",10);if(M.closeSubmenu(D),_)_.focus()}else M.closeSubmenu(1);else M.closeMenu(U,!0);break;case"Tab":if(Q="",q)clearTimeout(q),q=null;U.preventDefault();let N=J.opener?.getOpener?.();if(M.closeMenu(U,!0),N)setTimeout(()=>{if(U.shiftKey);else{let _=K(),D=_.indexOf(N);if(D>=0&&D<_.length-1)_[D+1].focus()}},0);break}};return{handleInitialFocus:Y,handleMenuKeydown:G,setupKeyboardHandlers:(U,L,M)=>{let B=U.querySelectorAll(`.${J.getClass("menu-item")}:not(.${J.getClass("menu-item--disabled")})`);if(B.forEach((V)=>{V.tabIndex=-1}),B.length>0)B[0].tabIndex=0;U.addEventListener("keydown",(V)=>G(V,L,M))},isTabNavigationActive:()=>$,getFocusableElements:K,resetTypeahead:z}},nq=()=>(J)=>{if(!J.element)return J;let $=tq(J);return{...J,keyboard:$}},IJ=nq;var eq=(J)=>($)=>{if(!$.element)return console.warn("Cannot initialize menu submenu: missing element"),$;let Q={activeSubmenu:null,activeSubmenuItem:null,submenuLevel:0,activeSubmenus:[],submenuTimer:null,hoverIntent:{timer:null,activeItem:null},component:$},q=()=>{if(Q.hoverIntent.timer)clearTimeout(Q.hoverIntent.timer),Q.hoverIntent.timer=null,Q.hoverIntent.activeItem=null},Z=()=>{if(Q.submenuTimer)clearTimeout(Q.submenuTimer),Q.submenuTimer=null},j=(O,F,H)=>{if(!J.openSubmenuOnHover||!O.hasSubmenu)return;q(),Z(),Q.hoverIntent.activeItem=H,Q.hoverIntent.timer=setTimeout(()=>{if(H.matches(":hover")){if(Q.activeSubmenuItem!==H)G(O,F,H)}Q.hoverIntent.timer=null},100)},K=()=>{q(),Z(),Q.submenuTimer=setTimeout(()=>{let{activeSubmenu:O,activeSubmenuItem:F}=Q;if(O&&F){let H=O.matches(":hover"),N=F.matches(":hover");if(!H&&!N)W(Q.submenuLevel)}Q.submenuTimer=null},300)},z=(O,F,H)=>{if(!O.submenu||!O.hasSubmenu)return;let N=H.getAttribute("aria-expanded")==="true";if(Q.activeSubmenus.some((D)=>D.isOpening))return;if(N){let D=parseInt(H.closest(`.${$.getClass("menu--submenu")}`)?.getAttribute("data-level")||"0",10);W(D+1),H.setAttribute("aria-expanded","false")}else G(O,F,H)},Y=(O,F,H)=>{if(!O.submenu||!O.hasSubmenu)return;let N=H.getAttribute("aria-expanded")==="true";if(Q.activeSubmenus.some((D)=>D.isOpening))return;if(N){let D=parseInt(H.closest(`.${$.getClass("menu--submenu")}`)?.getAttribute("data-level")||"1",10);W(D+1)}else G(O,F,H)},G=(O,F,H)=>{if(!O.submenu||!O.hasSubmenu)return;let N=H.closest(`.${$.getClass("menu--submenu")}`)?parseInt(H.closest(`.${$.getClass("menu--submenu")}`).getAttribute("data-level")||"0",10)+1:1;if(W(N),Q.activeSubmenus.findIndex((w)=>w.menuItem===H&&w.isOpening)>=0)return;H.setAttribute("aria-expanded","true");let D=document.createElement("div");D.className=`${$.getClass("menu")} ${$.getClass("menu--submenu")}`,D.setAttribute("role","menu"),D.setAttribute("tabindex","-1"),D.setAttribute("data-level",N.toString()),D.setAttribute("data-parent-item",O.id),D.style.zIndex=`${1000+N*10}`;let R=document.createElement("ul");R.className=`${$.getClass("menu-list")}`;let P=[];if($.emit("create-menu-items",{items:O.submenu,container:R,level:N,onItemCreated:(w)=>{if(!w.classList.contains(`${$.getClass("menu-item--disabled")}`))P.push(w)}}),D.appendChild(R),document.body.appendChild(D),$.position&&$.position.positionSubmenu)$.position.positionSubmenu(D,H,N);if($.keyboard&&$.keyboard.setupKeyboardHandlers)$.keyboard.setupKeyboardHandlers(D,{activeSubmenus:Q.activeSubmenus},{closeSubmenu:W,handleNestedSubmenuClick:Y});D.addEventListener("mouseenter",()=>{Z()}),D.addEventListener("mouseleave",()=>{K()}),Q.activeSubmenu=D,Q.activeSubmenuItem=H,Q.activeSubmenus.push({element:D,menuItem:H,level:N,isOpening:!0}),Q.submenuLevel=N,document.addEventListener("click",U),window.addEventListener("resize",L,{passive:!0}),window.addEventListener("scroll",M,{passive:!0}),requestAnimationFrame(()=>{D.classList.add(`${$.getClass("menu--visible")}`),setTimeout(()=>{let w=Q.activeSubmenus.findIndex((x)=>x.element===D);if(w!==-1)Q.activeSubmenus[w].isOpening=!1;if(P.length>0){if(N>=2||document.activeElement===H)P[0].setAttribute("tabindex","0"),P[0].focus()}},300)}),$.emit("submenu-opened",{submenuElement:D,parentItem:H,level:N,item:O})},W=(O)=>{q(),Z();let F=[];for(let H=Q.activeSubmenus.length-1;H>=0;H--)if(Q.activeSubmenus[H].level>=O){let N=Q.activeSubmenus[H];if(N.menuItem)N.menuItem.setAttribute("aria-expanded","false");N.element.classList.remove(`${$.getClass("menu--visible")}`),setTimeout(()=>{if(N.element.parentNode)N.element.parentNode.removeChild(N.element)},200),F.push(H)}if(F.forEach((H)=>{Q.activeSubmenus.splice(H,1)}),Q.activeSubmenus.length>0){let H=Q.activeSubmenus[Q.activeSubmenus.length-1];if(Q.activeSubmenu=H.element,Q.activeSubmenuItem=H.menuItem,Q.submenuLevel=H.level,H.menuItem)H.menuItem.focus()}else Q.activeSubmenu=null,Q.activeSubmenuItem=null,Q.submenuLevel=0;$.emit("submenu-closed",{level:O})},X=()=>{if(q(),Z(),Q.activeSubmenus.length===0)return;[...Q.activeSubmenus].forEach((O)=>{if(O.menuItem)O.menuItem.setAttribute("aria-expanded","false");O.element.classList.remove(`${$.getClass("menu--visible")}`),setTimeout(()=>{if(O.element.parentNode)O.element.parentNode.removeChild(O.element)},200)}),Q.activeSubmenu=null,Q.activeSubmenuItem=null,Q.activeSubmenus=[],Q.submenuLevel=0,document.removeEventListener("click",U),window.removeEventListener("resize",L),window.removeEventListener("scroll",M),$.emit("all-submenus-closed",{})},U=(O)=>{if(!Q.activeSubmenu)return;let{activeSubmenu:F,activeSubmenuItem:H}=Q;if(F.contains(O.target)||H&&H.contains(O.target))return;X()},L=()=>{if(Q.activeSubmenu&&Q.activeSubmenuItem&&$.position)$.position.positionSubmenu(Q.activeSubmenu,Q.activeSubmenuItem,Q.submenuLevel)},M=()=>{window.requestAnimationFrame(()=>{if(Q.activeSubmenu&&Q.activeSubmenuItem&&$.position)$.position.positionSubmenu(Q.activeSubmenu,Q.activeSubmenuItem,Q.submenuLevel)})},B=()=>{return Q.activeSubmenus.length>0},V=()=>{return Q.submenuLevel},k=()=>{return[...Q.activeSubmenus]};if($.lifecycle){let O=$.lifecycle.destroy||(()=>{});$.lifecycle.destroy=()=>{if(q(),Z(),document.removeEventListener("click",U),window.removeEventListener("resize",L),window.removeEventListener("scroll",M),Q.activeSubmenus.length>0)Q.activeSubmenus.forEach((F)=>{if(F.element.parentNode)F.element.parentNode.removeChild(F.element)});O()}}return $.on("menu-closing",()=>{X()}),{...$,submenu:{openSubmenu:G,closeSubmenu:W,closeAllSubmenus:X,handleSubmenuClick:z,handleNestedSubmenuClick:Y,handleSubmenuHover:j,handleSubmenuLeave:K,hasOpenSubmenu:B,getSubmenuLevel:V,getActiveSubmenus:k}}},bJ=eq;var S5=({menu:J,opener:$,events:Q,lifecycle:q})=>(Z)=>{return{element:Z.element,open(K,z="mouse"){if(K&&!z){if(K instanceof KeyboardEvent)z="keyboard"}return J.open(K,z),this},close(K,z=!0,Y=!1){return J.close(K,z,Y),this},toggle(K,z){if(K&&!z){if(K instanceof KeyboardEvent)z="keyboard";else if(K instanceof MouseEvent)z="mouse"}return J.toggle(K,z),this},isOpen(){return J.isOpen()},setItems(K){return J.setItems(K),this},getItems(){return J.getItems()},setOpener(K){return $.setOpener(K),this},getOpener(){return $.getOpener()},setPosition(K){return J.setPosition(K),this},getPosition(){return J.getPosition()},setSelected(K){return J.setSelected(K),this},getSelected(){return J.getSelected()},on(K,z){if(Q?.on)Q.on(K,z);else if(Z.on)Z.on(K,z);return this},off(K,z){if(Q?.off)Q.off(K,z);else if(Z.off)Z.off(K,z);return this},destroy(){q.destroy()}}};m();var g$={BOTTOM_START:"bottom-start",BOTTOM:"bottom",BOTTOM_END:"bottom-end",TOP_START:"top-start",TOP:"top",TOP_END:"top-end",RIGHT_START:"right-start",RIGHT:"right",RIGHT_END:"right-end",LEFT_START:"left-start",LEFT:"left",LEFT_END:"left-end"},c6={POSITION:g$.BOTTOM_START,OFFSET:0,CLOSE_ON_SELECT:!0,CLOSE_ON_CLICK_OUTSIDE:!0,CLOSE_ON_ESCAPE:!0,OPEN_SUBMENU_ON_HOVER:!0,AUTO_FLIP:!0},vJ={MOUSE:"mouse",KEYBOARD:"keyboard"},SJ={ITEM:"item",DIVIDER:"divider"},CJ={OPEN:"open",CLOSE:"close",SELECT:"select"},p7={CONTAINER:"menu",VISIBLE:"menu--visible",INNER:"menu__inner",ITEM:"menu__item",ITEM_DISABLED:"menu__item--disabled",ITEM_SELECTED:"menu__item--selected",ITEM_HAS_SUBMENU:"menu__item--has-submenu",DIVIDER:"menu__divider",ITEM_ICON:"menu__item-icon",ITEM_TEXT:"menu__item-text",ITEM_SHORTCUT:"menu__item-shortcut",SUBMENU_INDICATOR:"menu__submenu-indicator"};var $Z={items:[],position:c6.POSITION,closeOnSelect:c6.CLOSE_ON_SELECT,closeOnClickOutside:c6.CLOSE_ON_CLICK_OUTSIDE,closeOnEscape:c6.CLOSE_ON_ESCAPE,openSubmenuOnHover:c6.OPEN_SUBMENU_ON_HOVER,offset:c6.OFFSET,autoFlip:c6.AUTO_FLIP,visible:!1},C5=(J)=>{if(!J.opener)throw Error("Menu component requires an opener element or selector");return S($Z,J,"menu")},E5=(J)=>{let $={};if(J.width)$.width=J.width;if(J.maxHeight)$.maxHeight=J.maxHeight;let Q={role:"menu",tabindex:"-1","aria-hidden":(!J.visible).toString(),style:Object.entries($).map(([q,Z])=>`${q}: ${Z}`).join(";")};return f(J,{tag:"div",attributes:Q,className:[J.visible?p7.VISIBLE:null,J.class].filter(Boolean),forwardEvents:{keydown:!0}})},h5=(J)=>({menu:{open:($,Q)=>J.menu?.open($,Q),close:($,Q,q)=>J.menu?.close($,Q,q),toggle:($,Q)=>J.menu?.toggle($,Q),isOpen:()=>J.menu?.isOpen()||!1,setItems:($)=>J.menu?.setItems($),getItems:()=>J.menu?.getItems()||[],setPosition:($)=>J.menu?.setPosition($),getPosition:()=>J.menu?.getPosition(),setSelected:($)=>J.menu?.setSelected($),getSelected:()=>J.menu?.getSelected()},opener:{setOpener:($)=>J.opener?.setOpener($),getOpener:()=>J.opener?.getOpener()},submenu:{hasOpenSubmenu:()=>J.submenu?.hasOpenSubmenu()||!1,closeAllSubmenus:()=>J.submenu?.closeAllSubmenus()},events:{on:($,Q)=>J.on?.($,Q),off:($,Q)=>J.off?.($,Q)},lifecycle:{destroy:()=>J.lifecycle?.destroy()}});var JZ=(J)=>{try{let $=C5(J),Q=I(T,E(),b(E5($)),TJ($),IJ(),bJ($),AJ($),xJ($),C(),(q)=>S5(h5(q))(q))($);if($.on&&typeof Q.on==="function")Object.entries($.on).forEach(([q,Z])=>{if(typeof Z==="function")Q.on(q,Z)});return Q}catch($){throw console.error("Menu creation error:",$),Error(`Failed to create menu: ${$.message}`)}},s7=JZ;$6();s();i();var u5=(J)=>($)=>{return{...$,element:$.element,items:$.items||new Map,addItem(q){if(typeof $.addItem==="function")$.addItem(q);return this},removeItem(q){if(typeof $.removeItem==="function")$.removeItem(q);return this},getItem(q){if(typeof $.getItem==="function")return $.getItem(q);return this.items.get(q)},getAllItems(){if(typeof $.getAllItems==="function")return $.getAllItems();return Array.from(this.items.values())},getActive(){if(typeof $.getActive==="function")return $.getActive();return null},getItemPath(q){if(typeof $.getItemPath==="function")return $.getItemPath(q);return[]},setActive(q){if(typeof $.handleItemClick==="function")$.handleItemClick(q);else if(typeof $.setActive==="function")$.setActive(q);else{let Z=this.items.get(q);if(Z&&Z.element){if($.emit)$.emit("change",{id:q,item:Z,source:"api"})}}return this},enable(){if(J.disabled.enable)J.disabled.enable();return this},disable(){if(J.disabled.disable)J.disabled.disable();return this},expand(){if(this.element.classList.remove(`${this.element.className.split(" ")[0]}--hidden`),this.element.setAttribute("aria-hidden","false"),$.emit)$.emit("expanded",{source:"api"});return this},collapse(){if(this.element.classList.add(`${this.element.className.split(" ")[0]}--hidden`),this.element.setAttribute("aria-hidden","true"),$.emit)$.emit("collapsed",{source:"api"});return this},isExpanded(){return!this.element.classList.contains(`${this.element.className.split(" ")[0]}--hidden`)},toggle(){return this.isExpanded()?this.collapse():this.expand()},on(q,Z){if($.on)$.on(q,Z);return this},off(q,Z){if($.off)$.off(q,Z);return this},destroy(){if(J.lifecycle.destroy)J.lifecycle.destroy()}}};var r$={RAIL:"rail",DRAWER:"drawer",BAR:"bar",MODAL:"modal",STANDARD:"standard"},l$={LEFT:"left",RIGHT:"right",TOP:"top",BOTTOM:"bottom"},p$={FIXED:"fixed",DISMISSIBLE:"dismissible",MODAL:"modal"},EJ={ACTIVE:"active",DISABLED:"disabled",EXPANDED:"expanded",COLLAPSED:"collapsed",HOVERED:"hovered",FOCUSED:"focused",PRESSED:"pressed"},m7={CHANGE:"change",EXPAND:"expand",COLLAPSE:"collapse",GROUP_EXPAND:"group:expand",GROUP_COLLAPSE:"group:collapse"},W9={VARIANT:r$.STANDARD,POSITION:l$.LEFT,BEHAVIOR:p$.FIXED,EXPANDED:!1,SHOW_LABELS:!0,SCRIM_ENABLED:!0},t={CONTAINER:"nav",VARIANT_PREFIX:"nav--",POSITION_PREFIX:"nav--pos-",BEHAVIOR_PREFIX:"nav--",EXPANDED:"nav--expanded",DISABLED:"nav--disabled",ITEM:"nav-item",ITEM_CONTAINER:"nav-item-container",ICON:"nav-item-icon",LABEL:"nav-item-label",BADGE:"nav-item-badge",DIVIDER:"nav-divider",SCRIM:"nav-scrim",GROUP:"nav-group",GROUP_TITLE:"nav-group-title",SUBTITLE:"nav-subtitle",NESTED_CONTAINER:"nav-nested-container",NESTED_ITEM:"nav-nested-item",EXPAND_ICON:"nav-expand-icon",ACTIVE:"nav-item--active",ITEM_DISABLED:"nav-item--disabled"};var QZ=(J)=>{let $=document.createElement("span");return $.className=`${J}-${t.EXPAND_ICON}`,$.innerHTML=`
19
19
  <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor">
20
20
  <polyline points="9 18 15 12 9 6"></polyline>
21
21
  </svg>
@@ -54,4 +54,4 @@ var{defineProperty:O8,getOwnPropertyNames:v3,getOwnPropertyDescriptor:S3}=Object
54
54
  </svg>
55
55
  `,J.closeButtonElement.addEventListener("click",()=>{Q()}),E6()&&$.optimizeForTouch)J.closeButtonElement.style.minWidth=`${x8.COMFORTABLE}px`,J.closeButtonElement.style.minHeight=`${x8.COMFORTABLE}px`,J.closeButtonElement.addEventListener("touchstart",()=>{J.closeButtonElement.classList.add("active")},{passive:!0}),J.closeButtonElement.addEventListener("touchend",()=>{setTimeout(()=>{J.closeButtonElement.classList.remove("active")},M9.FEEDBACK_DURATION)},{passive:!0});return J.drawer.element.appendChild(J.closeButtonElement),J.closeButtonElement},R3=(J,$,Q,q)=>{let{drawer:Z,rail:j}=J;if(!Z||!j)return;if(oZ(J,$,Q),tZ(J,$,Q),nZ(J,$,Q,q),$.enableSwipeGestures&&E6())eZ(J,Q,q);Q()},nZ=(J,$,Q,q)=>{if(!$.hideOnClickOutside)return;if(J.outsideClickHandlerSet)return;J.outsideClickHandlerSet=!0;let Z=E6()?"touchend":"click",j=(K)=>{if(!J.isMobile||!q())return;let Y=m6(K).target;if(J.drawer.element.contains(Y)||J.rail.element.contains(Y))return;Q()};J.outsideClickHandler=j,document.addEventListener(Z,j,E6()?{passive:!0}:!1)},eZ=(J,$,Q,q)=>{let{drawer:Z,rail:j}=J;if(!Z||!j)return;let K=0,z=0;j.element.addEventListener("touchstart",(Y)=>{let G=Y.touches[0];K=G.clientX,z=G.clientY},{passive:!0}),j.element.addEventListener("touchmove",(Y)=>{if(!J.isMobile||Q()||!q)return;let G=Y.touches[0],W=G.clientX-K,X=G.clientY-z;if(Math.abs(W)>Math.abs(X)&&W>M9.SWIPE_THRESHOLD)q()},{passive:!0}),Z.element.addEventListener("touchstart",(Y)=>{let G=Y.touches[0];K=G.clientX,z=G.clientY},{passive:!0}),Z.element.addEventListener("touchmove",(Y)=>{if(!J.isMobile||!Q())return;let W=Y.touches[0].clientX-K;if(W<0){if(Z.element.style.transform=`translateX(${W/2}px)`,W<-M9.SWIPE_THRESHOLD)$()}},{passive:!0}),Z.element.addEventListener("touchend",()=>{if(Z.element.style.transform)Z.element.style.transition="transform 0.2s ease",Z.element.style.transform="",setTimeout(()=>{Z.element.style.transition=""},200)},{passive:!0})},w3=(J,$)=>{if(J.overlayElement)J.overlayElement.classList.remove("active"),J.overlayElement.setAttribute("aria-hidden","true");if(J.closeButtonElement)J.closeButtonElement.style.display="none";document.body.classList.remove($.bodyLockClass)};var $j=(J={})=>{let $=U3(J),Q=Q0(J),q=q0(J),Z={initialize:()=>Z,cleanup:()=>{},navigateTo:()=>{},getRail:()=>$.rail,getDrawer:()=>$.drawer,getActiveSection:()=>$.activeSection,getActiveSubsection:()=>$.activeSubsection,showDrawer:()=>{},hideDrawer:()=>{},isDrawerVisible:()=>!1,configure:()=>Z,setProcessingChange:()=>{},isProcessingChange:()=>!1,isMobile:()=>$.isMobile,checkMobileState:()=>{},onSectionChange:void 0,onItemSelect:void 0,onViewChange:void 0},j=()=>H3($,q),K=()=>M3($,q),z=()=>k3($),Y=(B)=>{X3($,B,j,K)},G=()=>{R3($,q,K,z)},W=()=>{V3($,q,G,()=>w3($,q),Z)},X=(B,V,k)=>{L3($,B,V,k)},U=()=>{if($.rail=B3($,Q),$.drawer=F3($,Q),_3($,Q,Y,j,K,Z),D3($,Q,K,Z),O3($,W),J.activeSection&&$.items[J.activeSection]){if($.activeSection=J.activeSection,$.rail)$.rail.setActive(J.activeSection);if(Y(J.activeSection),J.expanded===!0)j();else K()}return W(),Z},L=()=>{P3($,W),N3($)},M=(B)=>{return Object.assign(J,B),Object.assign(Q,Q0({...J,...B})),Object.assign(q,q0({...J,...B})),Z};return Z.initialize=U,Z.cleanup=L,Z.navigateTo=X,Z.showDrawer=j,Z.hideDrawer=K,Z.isDrawerVisible=z,Z.configure=M,Z.setProcessingChange=(B)=>{$.processingChange=B},Z.isProcessingChange=()=>$.processingChange,Z.isMobile=()=>$.isMobile,Z.checkMobileState=W,Z},y3=$j;m8();n6();$6();s();i();var A3=(J)=>($)=>{let Q="";if(J.value){let j=(J.options||[]).find((K)=>K.id===J.value);if(j)Q=j.text}let q='<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M7 10l5 5 5-5H7z"/></svg>',Z=e7({label:J.label,variant:J.variant||"filled",density:J.density||"default",value:Q,name:J.name,disabled:J.disabled,required:J.required,supportingText:J.supportingText,error:J.error,trailingIcon:q,readonly:!0});if(Z.element.classList.add(`${J.prefix||"mtrl"}-select`),Z.input)Z.input.addEventListener("keydown",(j)=>{if(!["Tab","Escape","ArrowDown","ArrowUp","ArrowLeft","ArrowRight","Enter"," ","Home","End"].includes(j.key))j.preventDefault()}),Z.input.addEventListener("paste",(j)=>{j.preventDefault()}),Z.input.addEventListener("cut",(j)=>{j.preventDefault()});return{...$,element:Z.element,textfield:Z}},Z0=(J)=>{return J.map(($)=>{if("type"in $&&$.type==="divider")return $;let Q={id:$.id.toString(),text:$.text,icon:$.icon,disabled:$.disabled,hasSubmenu:!1,data:$};if($.hasSubmenu&&Array.isArray($.submenu))Q.hasSubmenu=!0,Q.submenu=Z0($.submenu);return Q})},x3=(J)=>($)=>{if(!$.textfield)return console.warn("Cannot add menu: textfield not found"),$;let Q={options:J.options||[],selectedOption:null};if(J.value)Q.selectedOption=Q.options.find((K)=>K.id===J.value);let q=Z0(Q.options),Z=s7({opener:$.textfield,items:q,position:J.placement||"bottom-start",width:"100%",class:"select-menu",closeOnSelect:!0,closeOnClickOutside:!0,closeOnEscape:!0,closeOnResize:!0,offset:0,container:$.element});Z.on("select",(K)=>{if(!K.item||K.item.hasSubmenu)return;let z=K.item.data;if(!z||!("id"in z)||!("text"in z)){console.warn("Invalid menu selection: missing required data properties");return}if(Q.selectedOption=z,$.textfield.setValue(z.text),Z.setSelected(z.id),$.emit)$.emit("change",{select:$,value:z.id,text:z.text,option:z,originalEvent:K.originalEvent,preventDefault:()=>{K.defaultPrevented=!0},defaultPrevented:!1})}),$.textfield.element.addEventListener("keydown",(K)=>{if($.textfield.input.disabled)return;if((K.key==="Enter"||K.key===" "||K.key==="ArrowDown")&&!Z.isOpen()){if(K.preventDefault(),Z.open(K,"keyboard"),$.emit)$.emit("open",{select:$,originalEvent:K,preventDefault:()=>{},defaultPrevented:!1})}else if(K.key==="Escape"&&Z.isOpen())K.preventDefault(),Z.close(K)}),Z.on("open",()=>{$.textfield.element.classList.add(`${J.prefix||"mtrl"}-select--open`);let K=J.prefix||"mtrl";if($.textfield.element.classList.add(`${K}-textfield--focused`),$.textfield.element.classList.contains(`${K}-textfield--filled`))$.textfield.element.classList.add(`${K}-textfield--filled-focused`)}),Z.on("close",(K)=>{if($.textfield.element.classList.remove(`${J.prefix||"mtrl"}-select--open`),setTimeout(()=>{let z=J.prefix||"mtrl";if(document.activeElement===$.textfield.input||$.textfield.element.contains(document.activeElement)){if($.textfield.element.classList.add(`${z}-textfield--focused`),$.textfield.element.classList.contains(`${z}-textfield--filled`))$.textfield.element.classList.add(`${z}-textfield--filled-focused`)}else if($.textfield.element.classList.remove(`${z}-textfield--focused`),$.textfield.element.classList.contains(`${z}-textfield--filled`))$.textfield.element.classList.remove(`${z}-textfield--filled-focused`)},10),$.emit)$.emit("close",{select:$,originalEvent:K.originalEvent,preventDefault:()=>{},defaultPrevented:!1})});let j=()=>{if(!Q.selectedOption)return;Z.setSelected(Q.selectedOption.id)};return Z.on("open",()=>{setTimeout(j,50)}),{...$,menu:Z,select:{getValue:()=>Q.selectedOption?.id||null,setValue:(K)=>{if(K===null||K===void 0||K==="")return Q.selectedOption=null,$.textfield.setValue(""),Z.setSelected(null),$;let z=Q.options.find((Y)=>("id"in Y)&&Y.id===K);if(z&&"text"in z)Q.selectedOption=z,$.textfield.setValue(z.text),Z.setSelected(z.id);return $},clear:()=>{return Q.selectedOption=null,$.textfield.setValue(""),Z.setSelected(null),$},getText:()=>Q.selectedOption?.text||"",getSelectedOption:()=>Q.selectedOption,getOptions:()=>[...Q.options],setOptions:(K)=>{Q.options=K;let z=Z0(K);if(Z.setItems(z),Q.selectedOption&&!K.find((Y)=>("id"in Y)&&Y.id===Q.selectedOption.id))Q.selectedOption=null,$.textfield.setValue("");return $},open:(K,z="mouse")=>{return Z.open(K,z),$},close:(K)=>{return Z.close(K),$},isOpen:()=>Z.isOpen()}}};var T3=(J)=>($)=>({...$,element:$.element,textfield:$.textfield,menu:$.menu,getValue:J.select.getValue,setValue(Q){return J.select.setValue(Q),this},clear(){return J.select.clear(),this},getText:J.select.getText,getSelectedOption:J.select.getSelectedOption,getOptions:J.select.getOptions,setOptions(Q){return J.select.setOptions(Q),this},open(Q="mouse"){if($.menu&&typeof $.menu.open==="function")$.menu.open(void 0,Q);else J.select.open();return this},close(){return J.select.close(),this},isOpen:J.select.isOpen,setDensity(Q){if($.textfield?.setDensity)$.textfield.setDensity(Q);return this},getDensity(){if($.textfield?.getDensity)return $.textfield.getDensity();return"default"},on(Q,q){if(J.events?.on)J.events.on(Q,q);else if($.on)$.on(Q,q);return this},off(Q,q){if(J.events?.off)J.events.off(Q,q);else if($.off)$.off(Q,q);return this},enable(){return J.disabled.enable(),this},disable(){return J.disabled.disable(),this},setError(Q,q){if($.textfield?.setError)$.textfield.setError(Q,q);return this},clearError(){if($.textfield?.setError)$.textfield.setError(!1);return this},destroy(){J.lifecycle.destroy()}});m();var Jj={options:[],variant:A9.VARIANT,placement:A9.PLACEMENT},I3=(J={options:[]})=>S(Jj,J,"select"),b3=(J)=>({select:{getValue:J.select?.getValue||(()=>null),setValue:J.select?.setValue||(()=>J),clear:J.select?.clear||(()=>J),getText:J.select?.getText||(()=>""),getSelectedOption:J.select?.getSelectedOption||(()=>null),getOptions:J.select?.getOptions||(()=>[]),setOptions:J.select?.setOptions||(()=>J),open:J.select?.open||(()=>J),close:J.select?.close||(()=>J),isOpen:J.select?.isOpen||(()=>!1)},events:{on:J.on||(()=>J),off:J.off||(()=>J)},disabled:{enable:()=>{if(J.textfield?.enable)J.textfield.enable();return J},disable:()=>{if(J.textfield?.disable)J.textfield.disable();return J}},lifecycle:{destroy:()=>{if(J.textfield?.destroy)J.textfield.destroy();if(J.menu?.destroy)J.menu.destroy();if(J.lifecycle?.destroy)J.lifecycle.destroy()}}});var Qj=(J)=>{try{let $=I3(J),Q=I(T,E(),A3($),x3($),C(),(q)=>T3(b3(q))(q))($);if(J.on){if(J.on.change)Q.on("change",J.on.change);if(J.on.open)Q.on("open",J.on.open);if(J.on.close)Q.on("close",J.on.close)}return Q}catch($){throw console.error("Select creation error:",$),Error(`Failed to create select: ${$.message}`)}},j0=Qj;E7();E7();f8();qJ();var K0={DOCKED:"docked",MODAL:"modal",MODAL_INPUT:"modal-input"},z0={DAY:"day",MONTH:"month",YEAR:"year"},Y0={SINGLE:"single",RANGE:"range"},G0=["S","M","T","W","T","F","S"],W0=["January","February","March","April","May","June","July","August","September","October","November","December"],U0=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],X0="MM/DD/YYYY";var B0={SMALL:"small",MEDIUM:"medium",LARGE:"large",FULLWIDTH:"fullwidth",FULLSCREEN:"fullscreen"},F0={SCALE:"scale",SLIDE_UP:"slide-up",SLIDE_DOWN:"slide-down",FADE:"fade"},H0={RIGHT:"right",LEFT:"left",CENTER:"center",SPACE_BETWEEN:"space-between"};var M0={TEXT:"text",FILLED:"filled",OUTLINED:"outlined",TONAL:"tonal"},k0="Yes",V0="No";var N0={PRIMARY:"primary",SECONDARY:"secondary",TERTIARY:"tertiary",SURFACE:"surface"},L0={SMALL:"small",DEFAULT:"default",LARGE:"large"},_0={TOP_RIGHT:"top-right",TOP_LEFT:"top-left",BOTTOM_RIGHT:"bottom-right",BOTTOM_LEFT:"bottom-left"};n6();
56
56
 
57
- //# debugId=48CA3FF9A2DEF76E64756E2164756E21
57
+ //# debugId=B4F1EB0CCBBE6F5564756E2164756E21