@pod-os/elements 0.29.1-rc.c8e652b.0 → 0.29.1-rc.d6d1332.0

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.
Files changed (78) hide show
  1. package/dist/cjs/{app-globals-97a7ec18.js → app-globals-92c0c4ce.js} +3 -1
  2. package/dist/cjs/app-globals-92c0c4ce.js.map +1 -0
  3. package/dist/cjs/chunk.3Y6SB6QS-10eff6c1.js +31 -0
  4. package/dist/cjs/chunk.3Y6SB6QS-10eff6c1.js.map +1 -0
  5. package/dist/cjs/elements.cjs.js +3 -2
  6. package/dist/cjs/elements.cjs.js.map +1 -1
  7. package/dist/cjs/{ion-icon_32.cjs.entry.js → ion-icon_33.cjs.entry.js} +136 -120
  8. package/dist/cjs/ion-icon_33.cjs.entry.js.map +1 -0
  9. package/dist/cjs/loader.cjs.js +3 -2
  10. package/dist/cjs/loader.cjs.js.map +1 -1
  11. package/dist/collection/apps/pos-app-browser/pos-app-browser.css +3 -0
  12. package/dist/collection/collection-manifest.json +1 -0
  13. package/dist/collection/components/pos-tool-select/pos-tool-select.css +51 -0
  14. package/dist/collection/components/pos-tool-select/pos-tool-select.js +55 -0
  15. package/dist/collection/components/pos-tool-select/pos-tool-select.js.map +1 -0
  16. package/dist/collection/components/pos-tool-select/shoelace.js +2 -0
  17. package/dist/collection/components/pos-tool-select/shoelace.js.map +1 -0
  18. package/dist/collection/components/pos-type-router/pos-type-router.css +14 -0
  19. package/dist/collection/components/pos-type-router/pos-type-router.js +14 -3
  20. package/dist/collection/components/pos-type-router/pos-type-router.js.map +1 -1
  21. package/dist/collection/components/pos-type-router/selectToolsForTypes.js +47 -0
  22. package/dist/collection/components/pos-type-router/selectToolsForTypes.js.map +1 -0
  23. package/dist/collection/global.js +2 -0
  24. package/dist/collection/global.js.map +1 -1
  25. package/dist/components/chunk.3Y6SB6QS.js +28 -0
  26. package/dist/components/chunk.3Y6SB6QS.js.map +1 -0
  27. package/dist/components/chunk.HVTXQL7M.js +24 -598
  28. package/dist/components/chunk.HVTXQL7M.js.map +1 -1
  29. package/dist/components/chunk.YHLNUJ7P.js +556 -0
  30. package/dist/components/chunk.YHLNUJ7P.js.map +1 -0
  31. package/dist/components/index.js +2 -0
  32. package/dist/components/index.js.map +1 -1
  33. package/dist/components/pos-app-browser.js +65 -59
  34. package/dist/components/pos-app-browser.js.map +1 -1
  35. package/dist/components/pos-make-findable2.js +1 -0
  36. package/dist/components/pos-make-findable2.js.map +1 -1
  37. package/dist/components/pos-tool-select.d.ts +11 -0
  38. package/dist/components/pos-tool-select.js +8 -0
  39. package/dist/components/pos-tool-select.js.map +1 -0
  40. package/dist/components/pos-tool-select2.js +43 -0
  41. package/dist/components/pos-tool-select2.js.map +1 -0
  42. package/dist/components/pos-type-router2.js +43 -18
  43. package/dist/components/pos-type-router2.js.map +1 -1
  44. package/dist/components/pos-user-menu2.js +2 -1
  45. package/dist/components/pos-user-menu2.js.map +1 -1
  46. package/dist/elements/elements.esm.js +1 -1
  47. package/dist/elements/elements.esm.js.map +1 -1
  48. package/dist/elements/{p-d303d82c.entry.js → p-20c36eb6.entry.js} +48 -48
  49. package/dist/elements/p-20c36eb6.entry.js.map +1 -0
  50. package/dist/elements/p-36a54274.js +2 -0
  51. package/dist/elements/p-36a54274.js.map +1 -0
  52. package/dist/elements/p-c066fd50.js +2 -0
  53. package/dist/elements/p-c066fd50.js.map +1 -0
  54. package/dist/esm/{app-globals-fd9221d0.js → app-globals-64c60cb2.js} +3 -1
  55. package/dist/esm/app-globals-64c60cb2.js.map +1 -0
  56. package/dist/esm/chunk.3Y6SB6QS-ff2f5b55.js +28 -0
  57. package/dist/esm/chunk.3Y6SB6QS-ff2f5b55.js.map +1 -0
  58. package/dist/esm/elements.js +3 -2
  59. package/dist/esm/elements.js.map +1 -1
  60. package/dist/esm/{ion-icon_32.entry.js → ion-icon_33.entry.js} +135 -120
  61. package/dist/esm/ion-icon_33.entry.js.map +1 -0
  62. package/dist/esm/loader.js +3 -2
  63. package/dist/esm/loader.js.map +1 -1
  64. package/dist/types/components/pos-tool-select/pos-tool-select.d.ts +6 -0
  65. package/dist/types/components/pos-tool-select/shoelace.d.ts +1 -0
  66. package/dist/types/components/pos-type-router/selectToolsForTypes.d.ts +13 -0
  67. package/dist/types/components.d.ts +17 -0
  68. package/package.json +1 -1
  69. package/dist/cjs/app-globals-97a7ec18.js.map +0 -1
  70. package/dist/cjs/ion-icon_32.cjs.entry.js.map +0 -1
  71. package/dist/collection/components/pos-type-router/selectAppForTypes.js +0 -33
  72. package/dist/collection/components/pos-type-router/selectAppForTypes.js.map +0 -1
  73. package/dist/elements/p-61cd1259.js +0 -2
  74. package/dist/elements/p-61cd1259.js.map +0 -1
  75. package/dist/elements/p-d303d82c.entry.js.map +0 -1
  76. package/dist/esm/app-globals-fd9221d0.js.map +0 -1
  77. package/dist/esm/ion-icon_32.entry.js.map +0 -1
  78. package/dist/types/components/pos-type-router/selectAppForTypes.d.ts +0 -9
@@ -1 +1 @@
1
- {"file":"chunk.HVTXQL7M.js","mappings":"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AAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;AACzB,MAAM,CAAC,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,KAAK,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC;AAC1D,KAAK,CAAC,CAAC;AACP,GAAG;AACH,EAAE,MAAM,GAAG;AACX,IAAI,OAAOgB,CAAI,CAAC;AAChB;AACA,oBAAoB,EAAE,IAAI,CAAC,gBAAgB,CAAC;AAC5C,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC;AAClC,iBAAiB,EAAE,IAAI,CAAC,aAAa,CAAC;AACtC,mBAAmB,EAAE,IAAI,CAAC,eAAe,CAAC;AAC1C;AACA,IAAI,CAAC,CAAC;AACN,GAAG;AACH,CAAC,CAAC;AACF,MAAM,CAAC,MAAM,GAAG,CAAC,wBAAwB,EAAE,mBAAmB,CAAC,CAAC;AAChE,eAAe,CAAC;AAChB,EAAEE,GAAK,CAAC,MAAM,CAAC;AACf,CAAC,EAAE,MAAM,CAAC,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC;;AC5HtC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;;ACNxB;AAEA,IAAI,wBAAwB,GAAGlB,GAAG,CAAC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA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KAAK,GAAG;AACZ,EAAE,KAAK,EAAE,CAAC;AACV;AACA;AACA;AACA,EAAE,CAAC;AACH,EAAE,KAAK,EAAE,CAAC;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,CAAC;AACH,EAAE,cAAc,EAAE,CAAC;AACnB;AACA;AACA;AACA,EAAE,CAAC;AACH,EAAE,cAAc,EAAE,CAAC;AACnB;AACA;AACA;AACA,EAAE,CAAC;AACH,EAAE,eAAe,EAAE,CAAC;AACpB;AACA;AACA;AACA,EAAE,CAAC;AACH,EAAE,IAAI,EAAE,CAAC;AACT;AACA;AACA;AACA,EAAE,CAAC;AACH,EAAE,GAAG,EAAE,CAAC;AACR;AACA;AACA;AACA;AACA,EAAE,CAAC;AACH,EAAE,WAAW,EAAE,CAAC;AAChB;AACA;AACA;AACA;AACA;AACA,EAAE,CAAC;AACH,EAAE,UAAU,EAAE,CAAC;AACf;AACA;AACA;AACA,EAAE,CAAC;AACH,EAAE,eAAe,EAAE,CAAC;AACpB;AACA;AACA;AACA,EAAE,CAAC;AACH,EAAE,aAAa,EAAE,CAAC;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,CAAC;AACH,EAAE,aAAa,EAAE,CAAC;AAClB;AACA;AACA;AACA,EAAE,CAAC;AACH,EAAE,WAAW,EAAE,CAAC;AAChB;AACA;AACA;AACA,EAAE,CAAC;AACH,EAAE,YAAY,EAAE,CAAC;AACjB;AACA;AACA;AACA,EAAE,CAAC;AACH,EAAE,KAAK,EAAE,CAAC;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,CAAC;AACH,EAAE,WAAW,EAAE,CAAC;AAChB;AACA;AACA;AACA,EAAE,CAAC;AACH,EAAE,MAAM,EAAE,CAAC;AACX;AACA;AACA;AACA,EAAE,CAAC;AACH,EAAE,eAAe,EAAE,CAAC;AACpB;AACA;AACA;AACA,EAAE,CAAC;AACH,CAAC,CAAC;AACF,IAAI,aAAa,GAAG;AACpB,EAAE,IAAI,EAAE,QAAQ;AAChB,EAAE,QAAQ,EAAE,CAAC,IA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","names":["t","e","s","o","n","r","i","S","c","h","a","l","p","d","u","f","y","css","LocalizeController","DefaultLocalizationController","LitElement","property","computePosition","arrow","flip","offset","shift","size","getComputedStyle","autoPlacement$1","hide$1","inline$1","limitShift$1","html","classMap","query","ifDefined","createRef","ref","isTemplateResult","state"],"sources":["../node_modules/@lit/reactive-element/css-tag.js","../node_modules/@lit/reactive-element/reactive-element.js","../node_modules/lit-html/lit-html.js","../node_modules/lit-element/lit-element.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.LXP7GVU3.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.KAW7D32O.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.VESXC477.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.3KSWVBQ5.js","../node_modules/@shoelace-style/localize/dist/index.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.7BTDLTNI.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.6CTB5ZDJ.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.TUVJKY7S.js","../node_modules/@lit/reactive-element/decorators/property.js","../node_modules/@lit/reactive-element/decorators/state.js","../node_modules/@lit/reactive-element/decorators/base.js","../node_modules/@lit/reactive-element/decorators/query.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.4TUIT776.js","../node_modules/@floating-ui/utils/dist/floating-ui.utils.esm.js","../node_modules/@floating-ui/core/dist/floating-ui.core.esm.js","../node_modules/@floating-ui/utils/dom/floating-ui.utils.dom.esm.js","../node_modules/@floating-ui/dom/dist/floating-ui.dom.esm.js","../node_modules/lit-html/directive.js","../node_modules/lit-html/directives/class-map.js","../node_modules/composed-offset-position/dist/composed-offset-position.esm.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.5JY5FUCG.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.K7JGTRV7.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.B4BZKR24.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.AJ3ENQ5C.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.GMYPQTFK.js","../node_modules/lit-html/directives/if-defined.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.C56A5M6T.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.UDWRA64J.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.VVA35HTY.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.Q6CVTR7F.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.JHOXTQXA.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.KZJNDGFO.js","../node_modules/lit-html/directive-helpers.js","../node_modules/lit-html/async-directive.js","../node_modules/lit-html/directives/ref.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.ZLIGP6HZ.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.7DUCI5S4.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.36O46B5H.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.NYIIDP5N.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.3Y6SB6QS.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.P7ZG6EMR.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.3TFKS637.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.ZL53POKZ.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.QLXRCYS4.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.YHLNUJ7P.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.WGYPSPL3.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.HVTXQL7M.js"],"sourcesContent":["/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),o=new WeakMap;class n{constructor(t,e,o){if(this._$cssResult$=!0,o!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new n(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const o=1===t.length?t[0]:e.reduce(((e,s,o)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[o+1]),t[0]);return new n(o,t,s)},S=(s,o)=>{if(e)s.adoptedStyleSheets=o.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of o){const o=document.createElement(\"style\"),n=t.litNonce;void 0!==n&&o.setAttribute(\"nonce\",n),o.textContent=e.cssText,s.appendChild(o)}},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{n as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as s}from\"./css-tag.js\";export{CSSResult,css,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{is:i,defineProperty:e,getOwnPropertyDescriptor:h,getOwnPropertyNames:r,getOwnPropertySymbols:o,getPrototypeOf:n}=Object,a=globalThis,c=a.trustedTypes,l=c?c.emptyScript:\"\",p=a.reactiveElementPolyfillSupport,d=(t,s)=>t,u={toAttribute(t,s){switch(s){case Boolean:t=t?l:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},f=(t,s)=>!i(t,s),b={attribute:!0,type:String,converter:u,reflect:!1,useDefault:!1,hasChanged:f};Symbol.metadata??=Symbol(\"metadata\"),a.litPropertyMetadata??=new WeakMap;class y extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=b){if(s.state&&(s.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((s=Object.create(s)).wrapped=!0),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),h=this.getPropertyDescriptor(t,i,s);void 0!==h&&e(this.prototype,t,h)}}static getPropertyDescriptor(t,s,i){const{get:e,set:r}=h(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t}};return{get:e,set(s){const h=e?.call(this);r?.call(this,s),this.requestUpdate(t,h,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??b}static _$Ei(){if(this.hasOwnProperty(d(\"elementProperties\")))return;const t=n(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(d(\"finalized\")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(d(\"properties\"))){const t=this.properties,s=[...r(t),...o(t)];for(const i of s)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(void 0!==s)for(const[t,i]of s)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(t(s))}else void 0!==s&&i.push(t(s));return i}static _$Eu(t,s){const i=s.attribute;return!1===i?void 0:\"string\"==typeof i?i:\"string\"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return s(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,s,i){this._$AK(t,i)}_$ET(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(void 0!==e&&!0===i.reflect){const h=(void 0!==i.converter?.toAttribute?i.converter:u).toAttribute(s,i.type);this._$Em=t,null==h?this.removeAttribute(e):this.setAttribute(e,h),this._$Em=null}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(void 0!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),h=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u;this._$Em=e;const r=h.fromAttribute(s,t.type);this[e]=r??this._$Ej?.get(e)??r,this._$Em=null}}requestUpdate(t,s,i){if(void 0!==t){const e=this.constructor,h=this[t];if(i??=e.getPropertyOptions(t),!((i.hasChanged??f)(h,s)||i.useDefault&&i.reflect&&h===this._$Ej?.get(t)&&!this.hasAttribute(e._$Eu(t,i))))return;this.C(t,s,i)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(t,s,{useDefault:i,reflect:e,wrapped:h},r){i&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,r??s??this[t]),!0!==h||void 0!==r)||(this._$AL.has(t)||(this.hasUpdated||i||(s=void 0),this._$AL.set(t,s)),!0===e&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t){const{wrapped:t}=i,e=this[s];!0!==t||this._$AL.has(s)||void 0===e||this.C(s,void 0,i,e)}}let t=!1;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$EO?.forEach((t=>t.hostUpdate?.())),this.update(s)):this._$EM()}catch(s){throw t=!1,this._$EM(),s}t&&this._$AE(s)}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach((t=>this._$ET(t,this[t]))),this._$EM()}updated(t){}firstUpdated(t){}}y.elementStyles=[],y.shadowRootOptions={mode:\"open\"},y[d(\"elementProperties\")]=new Map,y[d(\"finalized\")]=new Map,p?.({ReactiveElement:y}),(a.reactiveElementVersions??=[]).push(\"2.1.1\");export{y as ReactiveElement,s as adoptStyles,u as defaultConverter,t as getCompatibleStyle,f as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,i=t.trustedTypes,s=i?i.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,e=\"$lit$\",h=`lit$${Math.random().toFixed(9).slice(2)}$`,o=\"?\"+h,n=`<${o}>`,r=document,l=()=>r.createComment(\"\"),c=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,a=Array.isArray,u=t=>a(t)||\"function\"==typeof t?.[Symbol.iterator],d=\"[ \\t\\n\\f\\r]\",f=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,v=/-->/g,_=/>/g,m=RegExp(`>|${d}(?:([^\\\\s\"'>=/]+)(${d}*=${d}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),p=/'/g,g=/\"/g,$=/^(?:script|style|textarea|title)$/i,y=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x=y(1),b=y(2),w=y(3),T=Symbol.for(\"lit-noChange\"),E=Symbol.for(\"lit-nothing\"),A=new WeakMap,C=r.createTreeWalker(r,129);function P(t,i){if(!a(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==s?s.createHTML(i):i}const V=(t,i)=>{const s=t.length-1,o=[];let r,l=2===i?\"<svg>\":3===i?\"<math>\":\"\",c=f;for(let i=0;i<s;i++){const s=t[i];let a,u,d=-1,y=0;for(;y<s.length&&(c.lastIndex=y,u=c.exec(s),null!==u);)y=c.lastIndex,c===f?\"!--\"===u[1]?c=v:void 0!==u[1]?c=_:void 0!==u[2]?($.test(u[2])&&(r=RegExp(\"</\"+u[2],\"g\")),c=m):void 0!==u[3]&&(c=m):c===m?\">\"===u[0]?(c=r??f,d=-1):void 0===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=void 0===u[3]?m:'\"'===u[3]?g:p):c===g||c===p?c=m:c===v||c===_?c=f:(c=m,r=void 0);const x=c===m&&t[i+1].startsWith(\"/>\")?\" \":\"\";l+=c===f?s+n:d>=0?(o.push(a),s.slice(0,d)+e+s.slice(d)+h+x):s+h+(-2===d?i:x)}return[P(t,l+(t[s]||\"<?>\")+(2===i?\"</svg>\":3===i?\"</math>\":\"\")),o]};class N{constructor({strings:t,_$litType$:s},n){let r;this.parts=[];let c=0,a=0;const u=t.length-1,d=this.parts,[f,v]=V(t,s);if(this.el=N.createElement(f,n),C.currentNode=this.el.content,2===s||3===s){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(r=C.nextNode())&&d.length<u;){if(1===r.nodeType){if(r.hasAttributes())for(const t of r.getAttributeNames())if(t.endsWith(e)){const i=v[a++],s=r.getAttribute(t).split(h),e=/([.?@])?(.*)/.exec(i);d.push({type:1,index:c,name:e[2],strings:s,ctor:\".\"===e[1]?H:\"?\"===e[1]?I:\"@\"===e[1]?L:k}),r.removeAttribute(t)}else t.startsWith(h)&&(d.push({type:6,index:c}),r.removeAttribute(t));if($.test(r.tagName)){const t=r.textContent.split(h),s=t.length-1;if(s>0){r.textContent=i?i.emptyScript:\"\";for(let i=0;i<s;i++)r.append(t[i],l()),C.nextNode(),d.push({type:2,index:++c});r.append(t[s],l())}}}else if(8===r.nodeType)if(r.data===o)d.push({type:2,index:c});else{let t=-1;for(;-1!==(t=r.data.indexOf(h,t+1));)d.push({type:7,index:c}),t+=h.length-1}c++}}static createElement(t,i){const s=r.createElement(\"template\");return s.innerHTML=t,s}}function S(t,i,s=t,e){if(i===T)return i;let h=void 0!==e?s._$Co?.[e]:s._$Cl;const o=c(i)?void 0:i._$litDirective$;return h?.constructor!==o&&(h?._$AO?.(!1),void 0===o?h=void 0:(h=new o(t),h._$AT(t,s,e)),void 0!==e?(s._$Co??=[])[e]=h:s._$Cl=h),void 0!==h&&(i=S(t,h._$AS(t,i.values),h,e)),i}class M{constructor(t,i){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:i},parts:s}=this._$AD,e=(t?.creationScope??r).importNode(i,!0);C.currentNode=e;let h=C.nextNode(),o=0,n=0,l=s[0];for(;void 0!==l;){if(o===l.index){let i;2===l.type?i=new R(h,h.nextSibling,this,t):1===l.type?i=new l.ctor(h,l.name,l.strings,this,t):6===l.type&&(i=new z(h,this,t)),this._$AV.push(i),l=s[++n]}o!==l?.index&&(h=C.nextNode(),o++)}return C.currentNode=r,e}p(t){let i=0;for(const s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class R{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,i,s,e){this.type=2,this._$AH=E,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cv=e?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===t?.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=S(this,t,i),c(t)?t===E||null==t||\"\"===t?(this._$AH!==E&&this._$AR(),this._$AH=E):t!==this._$AH&&t!==T&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):u(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==E&&c(this._$AH)?this._$AA.nextSibling.data=t:this.T(r.createTextNode(t)),this._$AH=t}$(t){const{values:i,_$litType$:s}=t,e=\"number\"==typeof s?this._$AC(t):(void 0===s.el&&(s.el=N.createElement(P(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===e)this._$AH.p(i);else{const t=new M(e,this),s=t.u(this.options);t.p(i),this.T(s),this._$AH=t}}_$AC(t){let i=A.get(t.strings);return void 0===i&&A.set(t.strings,i=new N(t)),i}k(t){a(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const h of t)e===i.length?i.push(s=new R(this.O(l()),this.O(l()),this,this.options)):s=i[e],s._$AI(h),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,i){for(this._$AP?.(!1,!0,i);t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}}class k{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,i,s,e,h){this.type=1,this._$AH=E,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=h,s.length>2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=E}_$AI(t,i=this,s,e){const h=this.strings;let o=!1;if(void 0===h)t=S(this,t,i,0),o=!c(t)||t!==this._$AH&&t!==T,o&&(this._$AH=t);else{const e=t;let n,r;for(t=h[0],n=0;n<h.length-1;n++)r=S(this,e[s+n],i,n),r===T&&(r=this._$AH[n]),o||=!c(r)||r!==this._$AH[n],r===E?t=E:t!==E&&(t+=(r??\"\")+h[n+1]),this._$AH[n]=r}o&&!e&&this.j(t)}j(t){t===E?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??\"\")}}class H extends k{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===E?void 0:t}}class I extends k{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==E)}}class L extends k{constructor(t,i,s,e,h){super(t,i,s,e,h),this.type=5}_$AI(t,i=this){if((t=S(this,t,i,0)??E)===T)return;const s=this._$AH,e=t===E&&s!==E||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,h=t!==E&&(s===E||e);e&&this.element.removeEventListener(this.name,this,s),h&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){\"function\"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class z{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){S(this,t)}}const Z={M:e,P:h,A:o,C:1,L:V,R:M,D:u,V:S,I:R,H:k,N:I,U:L,B:H,F:z},j=t.litHtmlPolyfillSupport;j?.(N,R),(t.litHtmlVersions??=[]).push(\"3.3.1\");const B=(t,i,s)=>{const e=s?.renderBefore??i;let h=e._$litPart$;if(void 0===h){const t=s?.renderBefore??null;e._$litPart$=h=new R(i.insertBefore(l(),t),t,void 0,s??{})}return h._$AI(t),h};export{Z as _$LH,x as html,w as mathml,T as noChange,E as nothing,B as render,b as svg};\n//# sourceMappingURL=lit-html.js.map\n","import{ReactiveElement as t}from\"@lit/reactive-element\";export*from\"@lit/reactive-element\";import{render as e,noChange as r}from\"lit-html\";export*from\"lit-html\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const s=globalThis;class i extends t{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const r=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=e(r,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return r}}i._$litElement$=!0,i[\"finalized\"]=!0,s.litElementHydrateSupport?.({LitElement:i});const o=s.litElementPolyfillSupport;o?.({LitElement:i});const n={_$AK:(t,e,r)=>{t._$AK(e,r)},_$AL:t=>t._$AL};(s.litElementVersions??=[]).push(\"4.2.1\");export{i as LitElement,n as _$LE};\n//# sourceMappingURL=lit-element.js.map\n","// src/components/dropdown/dropdown.styles.ts\nimport { css } from \"lit\";\nvar dropdown_styles_default = css`\n :host {\n display: inline-block;\n }\n\n .dropdown::part(popup) {\n z-index: var(--sl-z-index-dropdown);\n }\n\n .dropdown[data-current-placement^='top']::part(popup) {\n transform-origin: bottom;\n }\n\n .dropdown[data-current-placement^='bottom']::part(popup) {\n transform-origin: top;\n }\n\n .dropdown[data-current-placement^='left']::part(popup) {\n transform-origin: right;\n }\n\n .dropdown[data-current-placement^='right']::part(popup) {\n transform-origin: left;\n }\n\n .dropdown__trigger {\n display: block;\n }\n\n .dropdown__panel {\n font-family: var(--sl-font-sans);\n font-size: var(--sl-font-size-medium);\n font-weight: var(--sl-font-weight-normal);\n box-shadow: var(--sl-shadow-large);\n border-radius: var(--sl-border-radius-medium);\n pointer-events: none;\n }\n\n .dropdown--open .dropdown__panel {\n display: block;\n pointer-events: all;\n }\n\n /* When users slot a menu, make sure it conforms to the popup's auto-size */\n ::slotted(sl-menu) {\n max-width: var(--auto-size-available-width) !important;\n max-height: var(--auto-size-available-height) !important;\n }\n`;\n\nexport {\n dropdown_styles_default\n};\n","var __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for(\"Symbol.\" + name);\nvar __typeError = (msg) => {\n throw TypeError(msg);\n};\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __decorateClass = (decorators, target, key, kind) => {\n var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;\n for (var i = decorators.length - 1, decorator; i >= 0; i--)\n if (decorator = decorators[i])\n result = (kind ? decorator(target, key, result) : decorator(result)) || result;\n if (kind && result) __defProp(target, key, result);\n return result;\n};\nvar __accessCheck = (obj, member, msg) => member.has(obj) || __typeError(\"Cannot \" + msg);\nvar __privateGet = (obj, member, getter) => (__accessCheck(obj, member, \"read from private field\"), getter ? getter.call(obj) : member.get(obj));\nvar __privateAdd = (obj, member, value) => member.has(obj) ? __typeError(\"Cannot add the same private member more than once\") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\nvar __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, \"write to private field\"), setter ? setter.call(obj, value) : member.set(obj, value), value);\nvar __await = function(promise, isYieldStar) {\n this[0] = promise;\n this[1] = isYieldStar;\n};\nvar __yieldStar = (value) => {\n var obj = value[__knownSymbol(\"asyncIterator\")], isAwait = false, method, it = {};\n if (obj == null) {\n obj = value[__knownSymbol(\"iterator\")]();\n method = (k) => it[k] = (x) => obj[k](x);\n } else {\n obj = obj.call(value);\n method = (k) => it[k] = (v) => {\n if (isAwait) {\n isAwait = false;\n if (k === \"throw\") throw v;\n return v;\n }\n isAwait = true;\n return {\n done: false,\n value: new __await(new Promise((resolve) => {\n var x = obj[k](v);\n if (!(x instanceof Object)) __typeError(\"Object expected\");\n resolve(x);\n }), 1)\n };\n };\n }\n return it[__knownSymbol(\"iterator\")] = () => it, method(\"next\"), \"throw\" in obj ? method(\"throw\") : it.throw = (x) => {\n throw x;\n }, \"return\" in obj && method(\"return\"), it;\n};\n\nexport {\n __spreadValues,\n __spreadProps,\n __decorateClass,\n __privateGet,\n __privateAdd,\n __privateSet,\n __yieldStar\n};\n","import {\n __yieldStar\n} from \"./chunk.KAW7D32O.js\";\n\n// src/internal/active-elements.ts\nfunction* activeElements(activeElement = document.activeElement) {\n if (activeElement === null || activeElement === void 0) return;\n yield activeElement;\n if (\"shadowRoot\" in activeElement && activeElement.shadowRoot && activeElement.shadowRoot.mode !== \"closed\") {\n yield* __yieldStar(activeElements(activeElement.shadowRoot.activeElement));\n }\n}\nfunction getDeepestActiveElement() {\n return [...activeElements()].pop();\n}\n\n// src/internal/tabbable.ts\nvar computedStyleMap = /* @__PURE__ */ new WeakMap();\nfunction getCachedComputedStyle(el) {\n let computedStyle = computedStyleMap.get(el);\n if (!computedStyle) {\n computedStyle = window.getComputedStyle(el, null);\n computedStyleMap.set(el, computedStyle);\n }\n return computedStyle;\n}\nfunction isVisible(el) {\n if (typeof el.checkVisibility === \"function\") {\n return el.checkVisibility({ checkOpacity: false, checkVisibilityCSS: true });\n }\n const computedStyle = getCachedComputedStyle(el);\n return computedStyle.visibility !== \"hidden\" && computedStyle.display !== \"none\";\n}\nfunction isOverflowingAndTabbable(el) {\n const computedStyle = getCachedComputedStyle(el);\n const { overflowY, overflowX } = computedStyle;\n if (overflowY === \"scroll\" || overflowX === \"scroll\") {\n return true;\n }\n if (overflowY !== \"auto\" || overflowX !== \"auto\") {\n return false;\n }\n const isOverflowingY = el.scrollHeight > el.clientHeight;\n if (isOverflowingY && overflowY === \"auto\") {\n return true;\n }\n const isOverflowingX = el.scrollWidth > el.clientWidth;\n if (isOverflowingX && overflowX === \"auto\") {\n return true;\n }\n return false;\n}\nfunction isTabbable(el) {\n const tag = el.tagName.toLowerCase();\n const tabindex = Number(el.getAttribute(\"tabindex\"));\n const hasTabindex = el.hasAttribute(\"tabindex\");\n if (hasTabindex && (isNaN(tabindex) || tabindex <= -1)) {\n return false;\n }\n if (el.hasAttribute(\"disabled\")) {\n return false;\n }\n if (el.closest(\"[inert]\")) {\n return false;\n }\n if (tag === \"input\" && el.getAttribute(\"type\") === \"radio\") {\n const rootNode = el.getRootNode();\n const findRadios = `input[type='radio'][name=\"${el.getAttribute(\"name\")}\"]`;\n const firstChecked = rootNode.querySelector(`${findRadios}:checked`);\n if (firstChecked) {\n return firstChecked === el;\n }\n const firstRadio = rootNode.querySelector(findRadios);\n return firstRadio === el;\n }\n if (!isVisible(el)) {\n return false;\n }\n if ((tag === \"audio\" || tag === \"video\") && el.hasAttribute(\"controls\")) {\n return true;\n }\n if (el.hasAttribute(\"tabindex\")) {\n return true;\n }\n if (el.hasAttribute(\"contenteditable\") && el.getAttribute(\"contenteditable\") !== \"false\") {\n return true;\n }\n const isNativelyTabbable = [\n \"button\",\n \"input\",\n \"select\",\n \"textarea\",\n \"a\",\n \"audio\",\n \"video\",\n \"summary\",\n \"iframe\"\n ].includes(tag);\n if (isNativelyTabbable) {\n return true;\n }\n return isOverflowingAndTabbable(el);\n}\nfunction getTabbableBoundary(root) {\n var _a, _b;\n const tabbableElements = getTabbableElements(root);\n const start = (_a = tabbableElements[0]) != null ? _a : null;\n const end = (_b = tabbableElements[tabbableElements.length - 1]) != null ? _b : null;\n return { start, end };\n}\nfunction getSlottedChildrenOutsideRootElement(slotElement, root) {\n var _a;\n return ((_a = slotElement.getRootNode({ composed: true })) == null ? void 0 : _a.host) !== root;\n}\nfunction getTabbableElements(root) {\n const walkedEls = /* @__PURE__ */ new WeakMap();\n const tabbableElements = [];\n function walk(el) {\n if (el instanceof Element) {\n if (el.hasAttribute(\"inert\") || el.closest(\"[inert]\")) {\n return;\n }\n if (walkedEls.has(el)) {\n return;\n }\n walkedEls.set(el, true);\n if (!tabbableElements.includes(el) && isTabbable(el)) {\n tabbableElements.push(el);\n }\n if (el instanceof HTMLSlotElement && getSlottedChildrenOutsideRootElement(el, root)) {\n el.assignedElements({ flatten: true }).forEach((assignedEl) => {\n walk(assignedEl);\n });\n }\n if (el.shadowRoot !== null && el.shadowRoot.mode === \"open\") {\n walk(el.shadowRoot);\n }\n }\n for (const e of el.children) {\n walk(e);\n }\n }\n walk(root);\n return tabbableElements.sort((a, b) => {\n const aTabindex = Number(a.getAttribute(\"tabindex\")) || 0;\n const bTabindex = Number(b.getAttribute(\"tabindex\")) || 0;\n return bTabindex - aTabindex;\n });\n}\n\nexport {\n activeElements,\n getDeepestActiveElement,\n getTabbableBoundary,\n getTabbableElements\n};\n","// src/components/popup/popup.styles.ts\nimport { css } from \"lit\";\nvar popup_styles_default = css`\n :host {\n --arrow-color: var(--sl-color-neutral-1000);\n --arrow-size: 6px;\n\n /*\n * These properties are computed to account for the arrow's dimensions after being rotated 45º. The constant\n * 0.7071 is derived from sin(45), which is the diagonal size of the arrow's container after rotating.\n */\n --arrow-size-diagonal: calc(var(--arrow-size) * 0.7071);\n --arrow-padding-offset: calc(var(--arrow-size-diagonal) - var(--arrow-size));\n\n display: contents;\n }\n\n .popup {\n position: absolute;\n isolation: isolate;\n max-width: var(--auto-size-available-width, none);\n max-height: var(--auto-size-available-height, none);\n }\n\n .popup--fixed {\n position: fixed;\n }\n\n .popup:not(.popup--active) {\n display: none;\n }\n\n .popup__arrow {\n position: absolute;\n width: calc(var(--arrow-size-diagonal) * 2);\n height: calc(var(--arrow-size-diagonal) * 2);\n rotate: 45deg;\n background: var(--arrow-color);\n z-index: -1;\n }\n\n /* Hover bridge */\n .popup-hover-bridge:not(.popup-hover-bridge--visible) {\n display: none;\n }\n\n .popup-hover-bridge {\n position: fixed;\n z-index: calc(var(--sl-z-index-dropdown) - 1);\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n clip-path: polygon(\n var(--hover-bridge-top-left-x, 0) var(--hover-bridge-top-left-y, 0),\n var(--hover-bridge-top-right-x, 0) var(--hover-bridge-top-right-y, 0),\n var(--hover-bridge-bottom-right-x, 0) var(--hover-bridge-bottom-right-y, 0),\n var(--hover-bridge-bottom-left-x, 0) var(--hover-bridge-bottom-left-y, 0)\n );\n }\n`;\n\nexport {\n popup_styles_default\n};\n","const connectedElements = new Set();\nconst translations = new Map();\nlet fallback;\nlet documentDirection = 'ltr';\nlet documentLanguage = 'en';\nconst isClient = (typeof MutationObserver !== \"undefined\" && typeof document !== \"undefined\" && typeof document.documentElement !== \"undefined\");\nif (isClient) {\n const documentElementObserver = new MutationObserver(update);\n documentDirection = document.documentElement.dir || 'ltr';\n documentLanguage = document.documentElement.lang || navigator.language;\n documentElementObserver.observe(document.documentElement, {\n attributes: true,\n attributeFilter: ['dir', 'lang']\n });\n}\nexport function registerTranslation(...translation) {\n translation.map(t => {\n const code = t.$code.toLowerCase();\n if (translations.has(code)) {\n translations.set(code, Object.assign(Object.assign({}, translations.get(code)), t));\n }\n else {\n translations.set(code, t);\n }\n if (!fallback) {\n fallback = t;\n }\n });\n update();\n}\nexport function update() {\n if (isClient) {\n documentDirection = document.documentElement.dir || 'ltr';\n documentLanguage = document.documentElement.lang || navigator.language;\n }\n [...connectedElements.keys()].map((el) => {\n if (typeof el.requestUpdate === 'function') {\n el.requestUpdate();\n }\n });\n}\nexport class LocalizeController {\n constructor(host) {\n this.host = host;\n this.host.addController(this);\n }\n hostConnected() {\n connectedElements.add(this.host);\n }\n hostDisconnected() {\n connectedElements.delete(this.host);\n }\n dir() {\n return `${this.host.dir || documentDirection}`.toLowerCase();\n }\n lang() {\n return `${this.host.lang || documentLanguage}`.toLowerCase();\n }\n getTranslationData(lang) {\n var _a, _b;\n const locale = new Intl.Locale(lang.replace(/_/g, '-'));\n const language = locale === null || locale === void 0 ? void 0 : locale.language.toLowerCase();\n const region = (_b = (_a = locale === null || locale === void 0 ? void 0 : locale.region) === null || _a === void 0 ? void 0 : _a.toLowerCase()) !== null && _b !== void 0 ? _b : '';\n const primary = translations.get(`${language}-${region}`);\n const secondary = translations.get(language);\n return { locale, language, region, primary, secondary };\n }\n exists(key, options) {\n var _a;\n const { primary, secondary } = this.getTranslationData((_a = options.lang) !== null && _a !== void 0 ? _a : this.lang());\n options = Object.assign({ includeFallback: false }, options);\n if ((primary && primary[key]) ||\n (secondary && secondary[key]) ||\n (options.includeFallback && fallback && fallback[key])) {\n return true;\n }\n return false;\n }\n term(key, ...args) {\n const { primary, secondary } = this.getTranslationData(this.lang());\n let term;\n if (primary && primary[key]) {\n term = primary[key];\n }\n else if (secondary && secondary[key]) {\n term = secondary[key];\n }\n else if (fallback && fallback[key]) {\n term = fallback[key];\n }\n else {\n console.error(`No translation found for: ${String(key)}`);\n return String(key);\n }\n if (typeof term === 'function') {\n return term(...args);\n }\n return term;\n }\n date(dateToFormat, options) {\n dateToFormat = new Date(dateToFormat);\n return new Intl.DateTimeFormat(this.lang(), options).format(dateToFormat);\n }\n number(numberToFormat, options) {\n numberToFormat = Number(numberToFormat);\n return isNaN(numberToFormat) ? '' : new Intl.NumberFormat(this.lang(), options).format(numberToFormat);\n }\n relativeTime(value, unit, options) {\n return new Intl.RelativeTimeFormat(this.lang(), options).format(value, unit);\n }\n}\n","// src/translations/en.ts\nimport { registerTranslation } from \"@shoelace-style/localize\";\nvar translation = {\n $code: \"en\",\n $name: \"English\",\n $dir: \"ltr\",\n carousel: \"Carousel\",\n clearEntry: \"Clear entry\",\n close: \"Close\",\n copied: \"Copied\",\n copy: \"Copy\",\n currentValue: \"Current value\",\n error: \"Error\",\n goToSlide: (slide, count) => `Go to slide ${slide} of ${count}`,\n hidePassword: \"Hide password\",\n loading: \"Loading\",\n nextSlide: \"Next slide\",\n numOptionsSelected: (num) => {\n if (num === 0) return \"No options selected\";\n if (num === 1) return \"1 option selected\";\n return `${num} options selected`;\n },\n previousSlide: \"Previous slide\",\n progress: \"Progress\",\n remove: \"Remove\",\n resize: \"Resize\",\n scrollToEnd: \"Scroll to end\",\n scrollToStart: \"Scroll to start\",\n selectAColorFromTheScreen: \"Select a color from the screen\",\n showPassword: \"Show password\",\n slideNum: (slide) => `Slide ${slide}`,\n toggleColorFormat: \"Toggle color format\"\n};\nregisterTranslation(translation);\nvar en_default = translation;\n\nexport {\n en_default\n};\n","import {\n en_default\n} from \"./chunk.7BTDLTNI.js\";\n\n// src/utilities/localize.ts\nimport { LocalizeController as DefaultLocalizationController, registerTranslation } from \"@shoelace-style/localize\";\nimport { registerTranslation as registerTranslation2 } from \"@shoelace-style/localize\";\nvar LocalizeController = class extends DefaultLocalizationController {\n};\nregisterTranslation(en_default);\n\nexport {\n LocalizeController,\n registerTranslation2 as registerTranslation\n};\n","// src/styles/component.styles.ts\nimport { css } from \"lit\";\nvar component_styles_default = css`\n :host {\n box-sizing: border-box;\n }\n\n :host *,\n :host *::before,\n :host *::after {\n box-sizing: inherit;\n }\n\n [hidden] {\n display: none !important;\n }\n`;\n\nexport {\n component_styles_default\n};\n","import{defaultConverter as t,notEqual as e}from\"../reactive-element.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o={attribute:!0,type:String,converter:t,reflect:!1,hasChanged:e},r=(t=o,e,r)=>{const{kind:n,metadata:i}=r;let s=globalThis.litPropertyMetadata.get(i);if(void 0===s&&globalThis.litPropertyMetadata.set(i,s=new Map),\"setter\"===n&&((t=Object.create(t)).wrapped=!0),s.set(r.name,t),\"accessor\"===n){const{name:o}=r;return{set(r){const n=e.get.call(this);e.set.call(this,r),this.requestUpdate(o,n,t)},init(e){return void 0!==e&&this.C(o,void 0,t,e),e}}}if(\"setter\"===n){const{name:o}=r;return function(r){const n=this[o];e.call(this,r),this.requestUpdate(o,n,t)}}throw Error(\"Unsupported decorator location: \"+n)};function n(t){return(e,o)=>\"object\"==typeof o?r(t,e,o):((t,e,o)=>{const r=e.hasOwnProperty(o);return e.constructor.createProperty(o,t),r?Object.getOwnPropertyDescriptor(e,o):void 0})(t,e,o)}export{n as property,r as standardProperty};\n//# sourceMappingURL=property.js.map\n","import{property as t}from\"./property.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function r(r){return t({...r,state:!0,attribute:!1})}export{r as state};\n//# sourceMappingURL=state.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst e=(e,t,c)=>(c.configurable=!0,c.enumerable=!0,Reflect.decorate&&\"object\"!=typeof t&&Object.defineProperty(e,t,c),c);export{e as desc};\n//# sourceMappingURL=base.js.map\n","import{desc as t}from\"./base.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function e(e,r){return(n,s,i)=>{const o=t=>t.renderRoot?.querySelector(e)??null;if(r){const{get:e,set:r}=\"object\"==typeof s?n:i??(()=>{const t=Symbol();return{get(){return this[t]},set(e){this[t]=e}}})();return t(n,s,{get(){let t=e.call(this);return void 0===t&&(t=o(this),(null!==t||this.hasUpdated)&&r.call(this,t)),t}})}return t(n,s,{get(){return o(this)}})}}export{e as query};\n//# sourceMappingURL=query.js.map\n","import {\n __decorateClass,\n __privateAdd,\n __privateGet,\n __privateSet,\n __spreadValues\n} from \"./chunk.KAW7D32O.js\";\n\n// src/internal/shoelace-element.ts\nimport { LitElement } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nvar _hasRecordedInitialProperties;\nvar ShoelaceElement = class extends LitElement {\n constructor() {\n super();\n __privateAdd(this, _hasRecordedInitialProperties, false);\n // Store the constructor value of all `static properties = {}`\n this.initialReflectedProperties = /* @__PURE__ */ new Map();\n Object.entries(this.constructor.dependencies).forEach(([name, component]) => {\n this.constructor.define(name, component);\n });\n }\n emit(name, options) {\n const event = new CustomEvent(name, __spreadValues({\n bubbles: true,\n cancelable: false,\n composed: true,\n detail: {}\n }, options));\n this.dispatchEvent(event);\n return event;\n }\n /* eslint-enable */\n static define(name, elementConstructor = this, options = {}) {\n const currentlyRegisteredConstructor = customElements.get(name);\n if (!currentlyRegisteredConstructor) {\n try {\n customElements.define(name, elementConstructor, options);\n } catch (_err) {\n customElements.define(name, class extends elementConstructor {\n }, options);\n }\n return;\n }\n let newVersion = \" (unknown version)\";\n let existingVersion = newVersion;\n if (\"version\" in elementConstructor && elementConstructor.version) {\n newVersion = \" v\" + elementConstructor.version;\n }\n if (\"version\" in currentlyRegisteredConstructor && currentlyRegisteredConstructor.version) {\n existingVersion = \" v\" + currentlyRegisteredConstructor.version;\n }\n if (newVersion && existingVersion && newVersion === existingVersion) {\n return;\n }\n console.warn(\n `Attempted to register <${name}>${newVersion}, but <${name}>${existingVersion} has already been registered.`\n );\n }\n attributeChangedCallback(name, oldValue, newValue) {\n if (!__privateGet(this, _hasRecordedInitialProperties)) {\n this.constructor.elementProperties.forEach(\n (obj, prop) => {\n if (obj.reflect && this[prop] != null) {\n this.initialReflectedProperties.set(prop, this[prop]);\n }\n }\n );\n __privateSet(this, _hasRecordedInitialProperties, true);\n }\n super.attributeChangedCallback(name, oldValue, newValue);\n }\n willUpdate(changedProperties) {\n super.willUpdate(changedProperties);\n this.initialReflectedProperties.forEach((value, prop) => {\n if (changedProperties.has(prop) && this[prop] == null) {\n this[prop] = value;\n }\n });\n }\n};\n_hasRecordedInitialProperties = new WeakMap();\n/* eslint-disable */\n// @ts-expect-error This is auto-injected at build time.\nShoelaceElement.version = \"2.20.1\";\nShoelaceElement.dependencies = {};\n__decorateClass([\n property()\n], ShoelaceElement.prototype, \"dir\", 2);\n__decorateClass([\n property()\n], ShoelaceElement.prototype, \"lang\", 2);\n\nexport {\n ShoelaceElement\n};\n","/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n x: v,\n y: v\n});\nconst oppositeSideMap = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n start: 'end',\n end: 'start'\n};\nfunction clamp(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\nconst yAxisSides = /*#__PURE__*/new Set(['top', 'bottom']);\nfunction getSideAxis(placement) {\n return yAxisSides.has(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nconst lrPlacement = ['left', 'right'];\nconst rlPlacement = ['right', 'left'];\nconst tbPlacement = ['top', 'bottom'];\nconst btPlacement = ['bottom', 'top'];\nfunction getSideList(side, isStart, rtl) {\n switch (side) {\n case 'top':\n case 'bottom':\n if (rtl) return isStart ? rlPlacement : lrPlacement;\n return isStart ? lrPlacement : rlPlacement;\n case 'left':\n case 'right':\n return isStart ? tbPlacement : btPlacement;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === 'start', rtl);\n if (alignment) {\n list = list.map(side => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n const {\n x,\n y,\n width,\n height\n } = rect;\n return {\n width,\n height,\n top: y,\n left: x,\n right: x + width,\n bottom: y + height,\n x,\n y\n };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n let {\n reference,\n floating\n } = _ref;\n const sideAxis = getSideAxis(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const alignLength = getAxisLength(alignmentAxis);\n const side = getSide(placement);\n const isVertical = sideAxis === 'y';\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n let coords;\n switch (side) {\n case 'top':\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n case 'bottom':\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n case 'right':\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n case 'left':\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n switch (getAlignment(placement)) {\n case 'start':\n coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n case 'end':\n coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n }\n return coords;\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform\n } = config;\n const validMiddleware = middleware.filter(Boolean);\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n let rects = await platform.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement(rects, placement, rtl);\n let statefulPlacement = placement;\n let middlewareData = {};\n let resetCount = 0;\n for (let i = 0; i < validMiddleware.length; i++) {\n const {\n name,\n fn\n } = validMiddleware[i];\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform,\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData = {\n ...middlewareData,\n [name]: {\n ...middlewareData[name],\n ...data\n }\n };\n if (reset && resetCount <= 50) {\n resetCount++;\n if (typeof reset === 'object') {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n if (reset.rects) {\n rects = reset.rects === true ? await platform.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n ({\n x,\n y\n } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n }\n i = -1;\n }\n }\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n var _await$platform$isEle;\n if (options === void 0) {\n options = {};\n }\n const {\n x,\n y,\n platform,\n rects,\n elements,\n strategy\n } = state;\n const {\n boundary = 'clippingAncestors',\n rootBoundary = 'viewport',\n elementContext = 'floating',\n altBoundary = false,\n padding = 0\n } = evaluate(options, state);\n const paddingObject = getPaddingObject(padding);\n const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n boundary,\n rootBoundary,\n strategy\n }));\n const rect = elementContext === 'floating' ? {\n x,\n y,\n width: rects.floating.width,\n height: rects.floating.height\n } : rects.reference;\n const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n x: 1,\n y: 1\n } : {\n x: 1,\n y: 1\n };\n const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n elements,\n rect,\n offsetParent,\n strategy\n }) : rect);\n return {\n top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n };\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n name: 'arrow',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n platform,\n elements,\n middlewareData\n } = state;\n // Since `element` is required, we don't Partial<> the type.\n const {\n element,\n padding = 0\n } = evaluate(options, state) || {};\n if (element == null) {\n return {};\n }\n const paddingObject = getPaddingObject(padding);\n const coords = {\n x,\n y\n };\n const axis = getAlignmentAxis(placement);\n const length = getAxisLength(axis);\n const arrowDimensions = await platform.getDimensions(element);\n const isYAxis = axis === 'y';\n const minProp = isYAxis ? 'top' : 'left';\n const maxProp = isYAxis ? 'bottom' : 'right';\n const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n // DOM platform can return `window` as the `offsetParent`.\n if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n clientSize = elements.floating[clientProp] || rects.floating[length];\n }\n const centerToReference = endDiff / 2 - startDiff / 2;\n\n // If the padding is large enough that it causes the arrow to no longer be\n // centered, modify the padding so that it is centered.\n const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n // Make sure the arrow doesn't overflow the floating element if the center\n // point is outside the floating element's bounds.\n const min$1 = minPadding;\n const max = clientSize - arrowDimensions[length] - maxPadding;\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset = clamp(min$1, center, max);\n\n // If the reference is small enough that the arrow's padding causes it to\n // to point to nothing for an aligned placement, adjust the offset of the\n // floating element itself. To ensure `shift()` continues to take action,\n // a single reset is performed when this is true.\n const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n return {\n [axis]: coords[axis] + alignmentOffset,\n data: {\n [axis]: offset,\n centerOffset: center - offset - alignmentOffset,\n ...(shouldAddOffset && {\n alignmentOffset\n })\n },\n reset: shouldAddOffset\n };\n }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n return allowedPlacementsSortedByAlignment.filter(placement => {\n if (alignment) {\n return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n }\n return true;\n });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'autoPlacement',\n options,\n async fn(state) {\n var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n const {\n rects,\n middlewareData,\n placement,\n platform,\n elements\n } = state;\n const {\n crossAxis = false,\n alignment,\n allowedPlacements = placements,\n autoAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n const currentPlacement = placements$1[currentIndex];\n if (currentPlacement == null) {\n return {};\n }\n const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n // Make `computeCoords` start from the right place.\n if (placement !== currentPlacement) {\n return {\n reset: {\n placement: placements$1[0]\n }\n };\n }\n const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n placement: currentPlacement,\n overflows: currentOverflows\n }];\n const nextPlacement = placements$1[currentIndex + 1];\n\n // There are more placements to check.\n if (nextPlacement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n const placementsSortedByMostSpace = allOverflows.map(d => {\n const alignment = getAlignment(d.placement);\n return [d.placement, alignment && crossAxis ?\n // Check along the mainAxis and main crossAxis side.\n d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n // Check only the mainAxis.\n d.overflows[0], d.overflows];\n }).sort((a, b) => a[1] - b[1]);\n const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n // Aligned placements should not check their opposite crossAxis\n // side.\n getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n if (resetPlacement !== placement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: resetPlacement\n }\n };\n }\n return {};\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'flip',\n options,\n async fn(state) {\n var _middlewareData$arrow, _middlewareData$flip;\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement,\n platform,\n elements\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = 'bestFit',\n fallbackAxisSideDirection = 'none',\n flipAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n\n // If a reset by the arrow was caused due to an alignment offset being\n // added, we should skip any logic now since `flip()` has already done its\n // work.\n // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n const side = getSide(placement);\n const initialSideAxis = getSideAxis(initialPlacement);\n const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';\n if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n }\n const placements = [initialPlacement, ...fallbackPlacements];\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n if (checkMainAxis) {\n overflows.push(overflow[side]);\n }\n if (checkCrossAxis) {\n const sides = getAlignmentSides(placement, rects, rtl);\n overflows.push(overflow[sides[0]], overflow[sides[1]]);\n }\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }];\n\n // One or more sides is overflowing.\n if (!overflows.every(side => side <= 0)) {\n var _middlewareData$flip2, _overflowsData$filter;\n const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n const nextPlacement = placements[nextIndex];\n if (nextPlacement) {\n const ignoreCrossAxisOverflow = checkCrossAxis === 'alignment' ? initialSideAxis !== getSideAxis(nextPlacement) : false;\n if (!ignoreCrossAxisOverflow ||\n // We leave the current main axis only if every placement on that axis\n // overflows the main axis.\n overflowsData.every(d => d.overflows[0] > 0 && getSideAxis(d.placement) === initialSideAxis)) {\n // Try next placement and re-run the lifecycle.\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n }\n\n // First, find the candidates that fit on the mainAxis side of overflow,\n // then find the placement that fits the best on the main crossAxis side.\n let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n // Otherwise fallback.\n if (!resetPlacement) {\n switch (fallbackStrategy) {\n case 'bestFit':\n {\n var _overflowsData$filter2;\n const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\n if (hasFallbackAxisSideDirection) {\n const currentSideAxis = getSideAxis(d.placement);\n return currentSideAxis === initialSideAxis ||\n // Create a bias to the `y` side axis due to horizontal\n // reading directions favoring greater width.\n currentSideAxis === 'y';\n }\n return true;\n }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n if (placement) {\n resetPlacement = placement;\n }\n break;\n }\n case 'initialPlacement':\n resetPlacement = initialPlacement;\n break;\n }\n }\n if (placement !== resetPlacement) {\n return {\n reset: {\n placement: resetPlacement\n }\n };\n }\n }\n return {};\n }\n };\n};\n\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\nfunction isAnySideFullyClipped(overflow) {\n return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'hide',\n options,\n async fn(state) {\n const {\n rects\n } = state;\n const {\n strategy = 'referenceHidden',\n ...detectOverflowOptions\n } = evaluate(options, state);\n switch (strategy) {\n case 'referenceHidden':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n elementContext: 'reference'\n });\n const offsets = getSideOffsets(overflow, rects.reference);\n return {\n data: {\n referenceHiddenOffsets: offsets,\n referenceHidden: isAnySideFullyClipped(offsets)\n }\n };\n }\n case 'escaped':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n altBoundary: true\n });\n const offsets = getSideOffsets(overflow, rects.floating);\n return {\n data: {\n escapedOffsets: offsets,\n escaped: isAnySideFullyClipped(offsets)\n }\n };\n }\n default:\n {\n return {};\n }\n }\n }\n };\n};\n\nfunction getBoundingRect(rects) {\n const minX = min(...rects.map(rect => rect.left));\n const minY = min(...rects.map(rect => rect.top));\n const maxX = max(...rects.map(rect => rect.right));\n const maxY = max(...rects.map(rect => rect.bottom));\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n}\nfunction getRectsByLine(rects) {\n const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n const groups = [];\n let prevRect = null;\n for (let i = 0; i < sortedRects.length; i++) {\n const rect = sortedRects[i];\n if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n groups.push([rect]);\n } else {\n groups[groups.length - 1].push(rect);\n }\n prevRect = rect;\n }\n return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'inline',\n options,\n async fn(state) {\n const {\n placement,\n elements,\n rects,\n platform,\n strategy\n } = state;\n // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n // ClientRect's bounds, despite the event listener being triggered. A\n // padding of 2 seems to handle this issue.\n const {\n padding = 2,\n x,\n y\n } = evaluate(options, state);\n const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n const clientRects = getRectsByLine(nativeClientRects);\n const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n const paddingObject = getPaddingObject(padding);\n function getBoundingClientRect() {\n // There are two rects and they are disjoined.\n if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n // Find the first rect in which the point is fully inside.\n return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n }\n\n // There are 2 or more connected rects.\n if (clientRects.length >= 2) {\n if (getSideAxis(placement) === 'y') {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = getSide(placement) === 'top';\n const top = firstRect.top;\n const bottom = lastRect.bottom;\n const left = isTop ? firstRect.left : lastRect.left;\n const right = isTop ? firstRect.right : lastRect.right;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n const isLeftSide = getSide(placement) === 'left';\n const maxRight = max(...clientRects.map(rect => rect.right));\n const minLeft = min(...clientRects.map(rect => rect.left));\n const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n const top = measureRects[0].top;\n const bottom = measureRects[measureRects.length - 1].bottom;\n const left = minLeft;\n const right = maxRight;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n return fallback;\n }\n const resetRects = await platform.getElementRects({\n reference: {\n getBoundingClientRect\n },\n floating: elements.floating,\n strategy\n });\n if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n return {\n reset: {\n rects: resetRects\n }\n };\n }\n return {};\n }\n };\n};\n\nconst originSides = /*#__PURE__*/new Set(['left', 'top']);\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\n\nasync function convertValueToCoords(state, options) {\n const {\n placement,\n platform,\n elements\n } = state;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isVertical = getSideAxis(placement) === 'y';\n const mainAxisMulti = originSides.has(side) ? -1 : 1;\n const crossAxisMulti = rtl && isVertical ? -1 : 1;\n const rawValue = evaluate(options, state);\n\n // eslint-disable-next-line prefer-const\n let {\n mainAxis,\n crossAxis,\n alignmentAxis\n } = typeof rawValue === 'number' ? {\n mainAxis: rawValue,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: rawValue.mainAxis || 0,\n crossAxis: rawValue.crossAxis || 0,\n alignmentAxis: rawValue.alignmentAxis\n };\n if (alignment && typeof alignmentAxis === 'number') {\n crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n }\n return isVertical ? {\n x: crossAxis * crossAxisMulti,\n y: mainAxis * mainAxisMulti\n } : {\n x: mainAxis * mainAxisMulti,\n y: crossAxis * crossAxisMulti\n };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n if (options === void 0) {\n options = 0;\n }\n return {\n name: 'offset',\n options,\n async fn(state) {\n var _middlewareData$offse, _middlewareData$arrow;\n const {\n x,\n y,\n placement,\n middlewareData\n } = state;\n const diffCoords = await convertValueToCoords(state, options);\n\n // If the placement is the same and the arrow caused an alignment offset\n // then we don't need to change the positioning coordinates.\n if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: {\n ...diffCoords,\n placement\n }\n };\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'shift',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: _ref => {\n let {\n x,\n y\n } = _ref;\n return {\n x,\n y\n };\n }\n },\n ...detectOverflowOptions\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const crossAxis = getSideAxis(getSide(placement));\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n if (checkMainAxis) {\n const minSide = mainAxis === 'y' ? 'top' : 'left';\n const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n const min = mainAxisCoord + overflow[minSide];\n const max = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = clamp(min, mainAxisCoord, max);\n }\n if (checkCrossAxis) {\n const minSide = crossAxis === 'y' ? 'top' : 'left';\n const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n const min = crossAxisCoord + overflow[minSide];\n const max = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = clamp(min, crossAxisCoord, max);\n }\n const limitedCoords = limiter.fn({\n ...state,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return {\n ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y,\n enabled: {\n [mainAxis]: checkMainAxis,\n [crossAxis]: checkCrossAxis\n }\n }\n };\n }\n };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n options,\n fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = state;\n const {\n offset = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const crossAxis = getSideAxis(placement);\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = evaluate(offset, state);\n const computedOffset = typeof rawOffset === 'number' ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\n };\n if (checkMainAxis) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2;\n const len = mainAxis === 'y' ? 'width' : 'height';\n const isOriginSide = originSides.has(getSide(placement));\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'size',\n options,\n async fn(state) {\n var _state$middlewareData, _state$middlewareData2;\n const {\n placement,\n rects,\n platform,\n elements\n } = state;\n const {\n apply = () => {},\n ...detectOverflowOptions\n } = evaluate(options, state);\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isYAxis = getSideAxis(placement) === 'y';\n const {\n width,\n height\n } = rects.floating;\n let heightSide;\n let widthSide;\n if (side === 'top' || side === 'bottom') {\n heightSide = side;\n widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n } else {\n widthSide = side;\n heightSide = alignment === 'end' ? 'top' : 'bottom';\n }\n const maximumClippingHeight = height - overflow.top - overflow.bottom;\n const maximumClippingWidth = width - overflow.left - overflow.right;\n const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n const noShift = !state.middlewareData.shift;\n let availableHeight = overflowAvailableHeight;\n let availableWidth = overflowAvailableWidth;\n if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n availableWidth = maximumClippingWidth;\n }\n if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n availableHeight = maximumClippingHeight;\n }\n if (noShift && !alignment) {\n const xMin = max(overflow.left, 0);\n const xMax = max(overflow.right, 0);\n const yMin = max(overflow.top, 0);\n const yMax = max(overflow.bottom, 0);\n if (isYAxis) {\n availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n } else {\n availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n }\n }\n await apply({\n ...state,\n availableWidth,\n availableHeight\n });\n const nextDimensions = await platform.getDimensions(elements.floating);\n if (width !== nextDimensions.width || height !== nextDimensions.height) {\n return {\n reset: {\n rects: true\n }\n };\n }\n return {};\n }\n };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n","function hasWindow() {\n return typeof window !== 'undefined';\n}\nfunction getNodeName(node) {\n if (isNode(node)) {\n return (node.nodeName || '').toLowerCase();\n }\n // Mocked nodes in testing environments may not be instances of Node. By\n // returning `#document` an infinite loop won't occur.\n // https://github.com/floating-ui/floating-ui/issues/2317\n return '#document';\n}\nfunction getWindow(node) {\n var _node$ownerDocument;\n return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n var _ref;\n return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n if (!hasWindow() || typeof ShadowRoot === 'undefined') {\n return false;\n }\n return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nconst invalidOverflowDisplayValues = /*#__PURE__*/new Set(['inline', 'contents']);\nfunction isOverflowElement(element) {\n const {\n overflow,\n overflowX,\n overflowY,\n display\n } = getComputedStyle(element);\n return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !invalidOverflowDisplayValues.has(display);\n}\nconst tableElements = /*#__PURE__*/new Set(['table', 'td', 'th']);\nfunction isTableElement(element) {\n return tableElements.has(getNodeName(element));\n}\nconst topLayerSelectors = [':popover-open', ':modal'];\nfunction isTopLayer(element) {\n return topLayerSelectors.some(selector => {\n try {\n return element.matches(selector);\n } catch (_e) {\n return false;\n }\n });\n}\nconst transformProperties = ['transform', 'translate', 'scale', 'rotate', 'perspective'];\nconst willChangeValues = ['transform', 'translate', 'scale', 'rotate', 'perspective', 'filter'];\nconst containValues = ['paint', 'layout', 'strict', 'content'];\nfunction isContainingBlock(elementOrCss) {\n const webkit = isWebKit();\n const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n // https://drafts.csswg.org/css-transforms-2/#individual-transforms\n return transformProperties.some(value => css[value] ? css[value] !== 'none' : false) || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || willChangeValues.some(value => (css.willChange || '').includes(value)) || containValues.some(value => (css.contain || '').includes(value));\n}\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else if (isTopLayer(currentNode)) {\n return null;\n }\n currentNode = getParentNode(currentNode);\n }\n return null;\n}\nfunction isWebKit() {\n if (typeof CSS === 'undefined' || !CSS.supports) return false;\n return CSS.supports('-webkit-backdrop-filter', 'none');\n}\nconst lastTraversableNodeNames = /*#__PURE__*/new Set(['html', 'body', '#document']);\nfunction isLastTraversableNode(node) {\n return lastTraversableNodeNames.has(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n if (isElement(element)) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n }\n return {\n scrollLeft: element.scrollX,\n scrollTop: element.scrollY\n };\n}\nfunction getParentNode(node) {\n if (getNodeName(node) === 'html') {\n return node;\n }\n const result =\n // Step into the shadow DOM of the parent of a slotted node.\n node.assignedSlot ||\n // DOM Element detected.\n node.parentNode ||\n // ShadowRoot detected.\n isShadowRoot(node) && node.host ||\n // Fallback.\n getDocumentElement(node);\n return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n const parentNode = getParentNode(node);\n if (isLastTraversableNode(parentNode)) {\n return node.ownerDocument ? node.ownerDocument.body : node.body;\n }\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n var _node$ownerDocument2;\n if (list === void 0) {\n list = [];\n }\n if (traverseIframes === void 0) {\n traverseIframes = true;\n }\n const scrollableAncestor = getNearestOverflowAncestor(node);\n const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n const win = getWindow(scrollableAncestor);\n if (isBody) {\n const frameElement = getFrameElement(win);\n return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n }\n return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n}\nfunction getFrameElement(win) {\n return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getFrameElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isTopLayer, isWebKit };\n","import { rectToClientRect, arrow as arrow$1, autoPlacement as autoPlacement$1, detectOverflow as detectOverflow$1, flip as flip$1, hide as hide$1, inline as inline$1, limitShift as limitShift$1, offset as offset$1, shift as shift$1, size as size$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle, isHTMLElement, isElement, getWindow, isWebKit, getFrameElement, getNodeScroll, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n const css = getComputedStyle(element);\n // In testing environments, the `width` and `height` properties are empty\n // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n let width = parseFloat(css.width) || 0;\n let height = parseFloat(css.height) || 0;\n const hasOffset = isHTMLElement(element);\n const offsetWidth = hasOffset ? element.offsetWidth : width;\n const offsetHeight = hasOffset ? element.offsetHeight : height;\n const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n if (shouldFallback) {\n width = offsetWidth;\n height = offsetHeight;\n }\n return {\n width,\n height,\n $: shouldFallback\n };\n}\n\nfunction unwrapElement(element) {\n return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n const domElement = unwrapElement(element);\n if (!isHTMLElement(domElement)) {\n return createCoords(1);\n }\n const rect = domElement.getBoundingClientRect();\n const {\n width,\n height,\n $\n } = getCssDimensions(domElement);\n let x = ($ ? round(rect.width) : rect.width) / width;\n let y = ($ ? round(rect.height) : rect.height) / height;\n\n // 0, NaN, or Infinity should always fallback to 1.\n\n if (!x || !Number.isFinite(x)) {\n x = 1;\n }\n if (!y || !Number.isFinite(y)) {\n y = 1;\n }\n return {\n x,\n y\n };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n const win = getWindow(element);\n if (!isWebKit() || !win.visualViewport) {\n return noOffsets;\n }\n return {\n x: win.visualViewport.offsetLeft,\n y: win.visualViewport.offsetTop\n };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n return false;\n }\n return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n const clientRect = element.getBoundingClientRect();\n const domElement = unwrapElement(element);\n let scale = createCoords(1);\n if (includeScale) {\n if (offsetParent) {\n if (isElement(offsetParent)) {\n scale = getScale(offsetParent);\n }\n } else {\n scale = getScale(element);\n }\n }\n const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n let x = (clientRect.left + visualOffsets.x) / scale.x;\n let y = (clientRect.top + visualOffsets.y) / scale.y;\n let width = clientRect.width / scale.x;\n let height = clientRect.height / scale.y;\n if (domElement) {\n const win = getWindow(domElement);\n const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n let currentWin = win;\n let currentIFrame = getFrameElement(currentWin);\n while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n const iframeScale = getScale(currentIFrame);\n const iframeRect = currentIFrame.getBoundingClientRect();\n const css = getComputedStyle(currentIFrame);\n const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n x *= iframeScale.x;\n y *= iframeScale.y;\n width *= iframeScale.x;\n height *= iframeScale.y;\n x += left;\n y += top;\n currentWin = getWindow(currentIFrame);\n currentIFrame = getFrameElement(currentWin);\n }\n }\n return rectToClientRect({\n width,\n height,\n x,\n y\n });\n}\n\n// If <html> has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n const leftScroll = getNodeScroll(element).scrollLeft;\n if (!rect) {\n return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n }\n return rect.left + leftScroll;\n}\n\nfunction getHTMLOffset(documentElement, scroll, ignoreScrollbarX) {\n if (ignoreScrollbarX === void 0) {\n ignoreScrollbarX = false;\n }\n const htmlRect = documentElement.getBoundingClientRect();\n const x = htmlRect.left + scroll.scrollLeft - (ignoreScrollbarX ? 0 :\n // RTL <body> scrollbar.\n getWindowScrollBarX(documentElement, htmlRect));\n const y = htmlRect.top + scroll.scrollTop;\n return {\n x,\n y\n };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n elements,\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isFixed = strategy === 'fixed';\n const documentElement = getDocumentElement(offsetParent);\n const topLayer = elements ? isTopLayer(elements.floating) : false;\n if (offsetParent === documentElement || topLayer && isFixed) {\n return rect;\n }\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n let scale = createCoords(1);\n const offsets = createCoords(0);\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent);\n scale = getScale(offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n }\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll, true) : createCoords(0);\n return {\n width: rect.width * scale.x,\n height: rect.height * scale.y,\n x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n };\n}\n\nfunction getClientRects(element) {\n return Array.from(element.getClientRects());\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = element.ownerDocument.body;\n const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n if (getComputedStyle(body).direction === 'rtl') {\n x += max(html.clientWidth, body.clientWidth) - width;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\nfunction getViewportRect(element, strategy) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n const visualViewportBased = isWebKit();\n if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\nconst absoluteOrFixed = /*#__PURE__*/new Set(['absolute', 'fixed']);\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n const width = element.clientWidth * scale.x;\n const height = element.clientHeight * scale.y;\n const x = left * scale.x;\n const y = top * scale.y;\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n let rect;\n if (clippingAncestor === 'viewport') {\n rect = getViewportRect(element, strategy);\n } else if (clippingAncestor === 'document') {\n rect = getDocumentRect(getDocumentElement(element));\n } else if (isElement(clippingAncestor)) {\n rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n } else {\n const visualOffsets = getVisualOffsets(element);\n rect = {\n x: clippingAncestor.x - visualOffsets.x,\n y: clippingAncestor.y - visualOffsets.y,\n width: clippingAncestor.width,\n height: clippingAncestor.height\n };\n }\n return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n const parentNode = getParentNode(element);\n if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n return false;\n }\n return getComputedStyle(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n const cachedResult = cache.get(element);\n if (cachedResult) {\n return cachedResult;\n }\n let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n let currentContainingBlockComputedStyle = null;\n const elementIsFixed = getComputedStyle(element).position === 'fixed';\n let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n const computedStyle = getComputedStyle(currentNode);\n const currentNodeIsContaining = isContainingBlock(currentNode);\n if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n currentContainingBlockComputedStyle = null;\n }\n const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && absoluteOrFixed.has(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n if (shouldDropCurrentNode) {\n // Drop non-containing blocks.\n result = result.filter(ancestor => ancestor !== currentNode);\n } else {\n // Record last containing block for next iteration.\n currentContainingBlockComputedStyle = computedStyle;\n }\n currentNode = getParentNode(currentNode);\n }\n cache.set(element, result);\n return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary,\n strategy\n } = _ref;\n const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n const firstClippingAncestor = clippingAncestors[0];\n const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n return {\n width: clippingRect.right - clippingRect.left,\n height: clippingRect.bottom - clippingRect.top,\n x: clippingRect.left,\n y: clippingRect.top\n };\n}\n\nfunction getDimensions(element) {\n const {\n width,\n height\n } = getCssDimensions(element);\n return {\n width,\n height\n };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const isFixed = strategy === 'fixed';\n const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = createCoords(0);\n\n // If the <body> scrollbar appears on the left (e.g. RTL systems). Use\n // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n function setLeftRTLScrollbarOffset() {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n setLeftRTLScrollbarOffset();\n }\n }\n if (isFixed && !isOffsetParentAnElement && documentElement) {\n setLeftRTLScrollbarOffset();\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n return {\n x,\n y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction isStaticPositioned(element) {\n return getComputedStyle(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n if (!isHTMLElement(element) || getComputedStyle(element).position === 'fixed') {\n return null;\n }\n if (polyfill) {\n return polyfill(element);\n }\n let rawOffsetParent = element.offsetParent;\n\n // Firefox returns the <html> element as the offsetParent if it's non-static,\n // while Chrome and Safari return the <body> element. The <body> element must\n // be used to perform the correct calculations even if the <html> element is\n // non-static.\n if (getDocumentElement(element) === rawOffsetParent) {\n rawOffsetParent = rawOffsetParent.ownerDocument.body;\n }\n return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n const win = getWindow(element);\n if (isTopLayer(element)) {\n return win;\n }\n if (!isHTMLElement(element)) {\n let svgOffsetParent = getParentNode(element);\n while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n return svgOffsetParent;\n }\n svgOffsetParent = getParentNode(svgOffsetParent);\n }\n return win;\n }\n let offsetParent = getTrueOffsetParent(element, polyfill);\n while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n }\n if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n return win;\n }\n return offsetParent || getContainingBlock(element) || win;\n}\n\nconst getElementRects = async function (data) {\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n const getDimensionsFn = this.getDimensions;\n const floatingDimensions = await getDimensionsFn(data.floating);\n return {\n reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n floating: {\n x: 0,\n y: 0,\n width: floatingDimensions.width,\n height: floatingDimensions.height\n }\n };\n};\n\nfunction isRTL(element) {\n return getComputedStyle(element).direction === 'rtl';\n}\n\nconst platform = {\n convertOffsetParentRelativeRectToViewportRelativeRect,\n getDocumentElement,\n getClippingRect,\n getOffsetParent,\n getElementRects,\n getClientRects,\n getDimensions,\n getScale,\n isElement,\n isRTL\n};\n\nfunction rectsAreEqual(a, b) {\n return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n let io = null;\n let timeoutId;\n const root = getDocumentElement(element);\n function cleanup() {\n var _io;\n clearTimeout(timeoutId);\n (_io = io) == null || _io.disconnect();\n io = null;\n }\n function refresh(skip, threshold) {\n if (skip === void 0) {\n skip = false;\n }\n if (threshold === void 0) {\n threshold = 1;\n }\n cleanup();\n const elementRectForRootMargin = element.getBoundingClientRect();\n const {\n left,\n top,\n width,\n height\n } = elementRectForRootMargin;\n if (!skip) {\n onMove();\n }\n if (!width || !height) {\n return;\n }\n const insetTop = floor(top);\n const insetRight = floor(root.clientWidth - (left + width));\n const insetBottom = floor(root.clientHeight - (top + height));\n const insetLeft = floor(left);\n const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n const options = {\n rootMargin,\n threshold: max(0, min(1, threshold)) || 1\n };\n let isFirstUpdate = true;\n function handleObserve(entries) {\n const ratio = entries[0].intersectionRatio;\n if (ratio !== threshold) {\n if (!isFirstUpdate) {\n return refresh();\n }\n if (!ratio) {\n // If the reference is clipped, the ratio is 0. Throttle the refresh\n // to prevent an infinite loop of updates.\n timeoutId = setTimeout(() => {\n refresh(false, 1e-7);\n }, 1000);\n } else {\n refresh(false, ratio);\n }\n }\n if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {\n // It's possible that even though the ratio is reported as 1, the\n // element is not actually fully within the IntersectionObserver's root\n // area anymore. This can happen under performance constraints. This may\n // be a bug in the browser's IntersectionObserver implementation. To\n // work around this, we compare the element's bounding rect now with\n // what it was at the time we created the IntersectionObserver. If they\n // are not equal then the element moved, so we refresh.\n refresh();\n }\n isFirstUpdate = false;\n }\n\n // Older browsers don't support a `document` as the root and will throw an\n // error.\n try {\n io = new IntersectionObserver(handleObserve, {\n ...options,\n // Handle <iframe>s\n root: root.ownerDocument\n });\n } catch (_e) {\n io = new IntersectionObserver(handleObserve, options);\n }\n io.observe(element);\n }\n refresh(true);\n return cleanup;\n}\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n ancestorScroll = true,\n ancestorResize = true,\n elementResize = typeof ResizeObserver === 'function',\n layoutShift = typeof IntersectionObserver === 'function',\n animationFrame = false\n } = options;\n const referenceEl = unwrapElement(reference);\n const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...getOverflowAncestors(floating)] : [];\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.addEventListener('scroll', update, {\n passive: true\n });\n ancestorResize && ancestor.addEventListener('resize', update);\n });\n const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n let reobserveFrame = -1;\n let resizeObserver = null;\n if (elementResize) {\n resizeObserver = new ResizeObserver(_ref => {\n let [firstEntry] = _ref;\n if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {\n // Prevent update loops when using the `size` middleware.\n // https://github.com/floating-ui/floating-ui/issues/1740\n resizeObserver.unobserve(floating);\n cancelAnimationFrame(reobserveFrame);\n reobserveFrame = requestAnimationFrame(() => {\n var _resizeObserver;\n (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n });\n }\n update();\n });\n if (referenceEl && !animationFrame) {\n resizeObserver.observe(referenceEl);\n }\n resizeObserver.observe(floating);\n }\n let frameId;\n let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n if (animationFrame) {\n frameLoop();\n }\n function frameLoop() {\n const nextRefRect = getBoundingClientRect(reference);\n if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {\n update();\n }\n prevRefRect = nextRefRect;\n frameId = requestAnimationFrame(frameLoop);\n }\n update();\n return () => {\n var _resizeObserver2;\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.removeEventListener('scroll', update);\n ancestorResize && ancestor.removeEventListener('resize', update);\n });\n cleanupIo == null || cleanupIo();\n (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n resizeObserver = null;\n if (animationFrame) {\n cancelAnimationFrame(frameId);\n }\n };\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nconst detectOverflow = detectOverflow$1;\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = offset$1;\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = autoPlacement$1;\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = shift$1;\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = flip$1;\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = size$1;\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = hide$1;\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = arrow$1;\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = inline$1;\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = limitShift$1;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n */\nconst computePosition = (reference, floating, options) => {\n // This caches the expensive `getClippingElementAncestors` function so that\n // multiple lifecycle resets re-use the same result. It only lives for a\n // single call. If other functions become expensive, we can add them as well.\n const cache = new Map();\n const mergedOptions = {\n platform,\n ...options\n };\n const platformWithCache = {\n ...mergedOptions.platform,\n _c: cache\n };\n return computePosition$1(reference, floating, {\n ...mergedOptions,\n platform: platformWithCache\n });\n};\n\nexport { arrow, autoPlacement, autoUpdate, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, platform, shift, size };\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e=t=>(...e)=>({_$litDirective$:t,values:e});class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}export{i as Directive,t as PartType,e as directive};\n//# sourceMappingURL=directive.js.map\n","import{noChange as t}from\"../lit-html.js\";import{directive as s,Directive as i,PartType as r}from\"../directive.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const e=s(class extends i{constructor(t){if(super(t),t.type!==r.ATTRIBUTE||\"class\"!==t.name||t.strings?.length>2)throw Error(\"`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.\")}render(t){return\" \"+Object.keys(t).filter((s=>t[s])).join(\" \")+\" \"}update(s,[i]){if(void 0===this.st){this.st=new Set,void 0!==s.strings&&(this.nt=new Set(s.strings.join(\" \").split(/\\s/).filter((t=>\"\"!==t))));for(const t in i)i[t]&&!this.nt?.has(t)&&this.st.add(t);return this.render(i)}const r=s.element.classList;for(const t of this.st)t in i||(r.remove(t),this.st.delete(t));for(const t in i){const s=!!i[t];s===this.st.has(t)||this.nt?.has(t)||(s?(r.add(t),this.st.add(t)):(r.remove(t),this.st.delete(t)))}return t}});export{e as classMap};\n//# sourceMappingURL=class-map.js.map\n","import { isContainingBlock } from '@floating-ui/utils/dom';\n\nfunction offsetParent(element) {\n return offsetParentPolyfill(element);\n}\nfunction offsetTop(element) {\n return offsetTopLeftPolyfill(element, 'offsetTop');\n}\nfunction offsetLeft(element) {\n return offsetTopLeftPolyfill(element, 'offsetLeft');\n}\nfunction flatTreeParent(element) {\n if (element.assignedSlot) {\n return element.assignedSlot;\n }\n if (element.parentNode instanceof ShadowRoot) {\n return element.parentNode.host;\n }\n return element.parentNode;\n}\nfunction ancestorTreeScopes(element) {\n const scopes = new Set();\n let currentScope = element.getRootNode();\n while (currentScope) {\n scopes.add(currentScope);\n currentScope = currentScope.parentNode\n ? currentScope.parentNode.getRootNode()\n : null;\n }\n return scopes;\n}\nfunction offsetParentPolyfill(element) {\n // Do an initial walk to check for display:none ancestors.\n for (let ancestor = element; ancestor; ancestor = flatTreeParent(ancestor)) {\n if (!(ancestor instanceof Element)) {\n continue;\n }\n if (getComputedStyle(ancestor).display === 'none') {\n return null;\n }\n }\n for (let ancestor = flatTreeParent(element); ancestor; ancestor = flatTreeParent(ancestor)) {\n if (!(ancestor instanceof Element)) {\n continue;\n }\n const style = getComputedStyle(ancestor);\n // Display:contents nodes aren't in the layout tree, so they should be skipped.\n if (style.display === 'contents') {\n continue;\n }\n if (style.position !== 'static' || isContainingBlock(style)) {\n return ancestor;\n }\n if (ancestor.tagName === 'BODY') {\n return ancestor;\n }\n }\n return null;\n}\nfunction offsetTopLeftPolyfill(element, offsetTopOrLeft) {\n let value = element[offsetTopOrLeft];\n let nextOffsetParent = offsetParentPolyfill(element);\n const scopes = ancestorTreeScopes(element);\n while (nextOffsetParent && !scopes.has(nextOffsetParent.getRootNode())) {\n value -= nextOffsetParent[offsetTopOrLeft];\n nextOffsetParent = offsetParentPolyfill(nextOffsetParent);\n }\n return value;\n}\n\nexport { offsetLeft, offsetParent, offsetTop };\n","import {\n popup_styles_default\n} from \"./chunk.3KSWVBQ5.js\";\nimport {\n LocalizeController\n} from \"./chunk.6CTB5ZDJ.js\";\nimport {\n component_styles_default\n} from \"./chunk.TUVJKY7S.js\";\nimport {\n ShoelaceElement\n} from \"./chunk.4TUIT776.js\";\nimport {\n __decorateClass,\n __spreadProps,\n __spreadValues\n} from \"./chunk.KAW7D32O.js\";\n\n// src/components/popup/popup.component.ts\nimport { arrow, autoUpdate, computePosition, flip, offset, platform, shift, size } from \"@floating-ui/dom\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { html } from \"lit\";\nimport { offsetParent } from \"composed-offset-position\";\nimport { property, query } from \"lit/decorators.js\";\nfunction isVirtualElement(e) {\n return e !== null && typeof e === \"object\" && \"getBoundingClientRect\" in e && (\"contextElement\" in e ? e.contextElement instanceof Element : true);\n}\nvar SlPopup = class extends ShoelaceElement {\n constructor() {\n super(...arguments);\n this.localize = new LocalizeController(this);\n this.active = false;\n this.placement = \"top\";\n this.strategy = \"absolute\";\n this.distance = 0;\n this.skidding = 0;\n this.arrow = false;\n this.arrowPlacement = \"anchor\";\n this.arrowPadding = 10;\n this.flip = false;\n this.flipFallbackPlacements = \"\";\n this.flipFallbackStrategy = \"best-fit\";\n this.flipPadding = 0;\n this.shift = false;\n this.shiftPadding = 0;\n this.autoSizePadding = 0;\n this.hoverBridge = false;\n this.updateHoverBridge = () => {\n if (this.hoverBridge && this.anchorEl) {\n const anchorRect = this.anchorEl.getBoundingClientRect();\n const popupRect = this.popup.getBoundingClientRect();\n const isVertical = this.placement.includes(\"top\") || this.placement.includes(\"bottom\");\n let topLeftX = 0;\n let topLeftY = 0;\n let topRightX = 0;\n let topRightY = 0;\n let bottomLeftX = 0;\n let bottomLeftY = 0;\n let bottomRightX = 0;\n let bottomRightY = 0;\n if (isVertical) {\n if (anchorRect.top < popupRect.top) {\n topLeftX = anchorRect.left;\n topLeftY = anchorRect.bottom;\n topRightX = anchorRect.right;\n topRightY = anchorRect.bottom;\n bottomLeftX = popupRect.left;\n bottomLeftY = popupRect.top;\n bottomRightX = popupRect.right;\n bottomRightY = popupRect.top;\n } else {\n topLeftX = popupRect.left;\n topLeftY = popupRect.bottom;\n topRightX = popupRect.right;\n topRightY = popupRect.bottom;\n bottomLeftX = anchorRect.left;\n bottomLeftY = anchorRect.top;\n bottomRightX = anchorRect.right;\n bottomRightY = anchorRect.top;\n }\n } else {\n if (anchorRect.left < popupRect.left) {\n topLeftX = anchorRect.right;\n topLeftY = anchorRect.top;\n topRightX = popupRect.left;\n topRightY = popupRect.top;\n bottomLeftX = anchorRect.right;\n bottomLeftY = anchorRect.bottom;\n bottomRightX = popupRect.left;\n bottomRightY = popupRect.bottom;\n } else {\n topLeftX = popupRect.right;\n topLeftY = popupRect.top;\n topRightX = anchorRect.left;\n topRightY = anchorRect.top;\n bottomLeftX = popupRect.right;\n bottomLeftY = popupRect.bottom;\n bottomRightX = anchorRect.left;\n bottomRightY = anchorRect.bottom;\n }\n }\n this.style.setProperty(\"--hover-bridge-top-left-x\", `${topLeftX}px`);\n this.style.setProperty(\"--hover-bridge-top-left-y\", `${topLeftY}px`);\n this.style.setProperty(\"--hover-bridge-top-right-x\", `${topRightX}px`);\n this.style.setProperty(\"--hover-bridge-top-right-y\", `${topRightY}px`);\n this.style.setProperty(\"--hover-bridge-bottom-left-x\", `${bottomLeftX}px`);\n this.style.setProperty(\"--hover-bridge-bottom-left-y\", `${bottomLeftY}px`);\n this.style.setProperty(\"--hover-bridge-bottom-right-x\", `${bottomRightX}px`);\n this.style.setProperty(\"--hover-bridge-bottom-right-y\", `${bottomRightY}px`);\n }\n };\n }\n async connectedCallback() {\n super.connectedCallback();\n await this.updateComplete;\n this.start();\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n this.stop();\n }\n async updated(changedProps) {\n super.updated(changedProps);\n if (changedProps.has(\"active\")) {\n if (this.active) {\n this.start();\n } else {\n this.stop();\n }\n }\n if (changedProps.has(\"anchor\")) {\n this.handleAnchorChange();\n }\n if (this.active) {\n await this.updateComplete;\n this.reposition();\n }\n }\n async handleAnchorChange() {\n await this.stop();\n if (this.anchor && typeof this.anchor === \"string\") {\n const root = this.getRootNode();\n this.anchorEl = root.getElementById(this.anchor);\n } else if (this.anchor instanceof Element || isVirtualElement(this.anchor)) {\n this.anchorEl = this.anchor;\n } else {\n this.anchorEl = this.querySelector('[slot=\"anchor\"]');\n }\n if (this.anchorEl instanceof HTMLSlotElement) {\n this.anchorEl = this.anchorEl.assignedElements({ flatten: true })[0];\n }\n if (this.anchorEl && this.active) {\n this.start();\n }\n }\n start() {\n if (!this.anchorEl || !this.active) {\n return;\n }\n this.cleanup = autoUpdate(this.anchorEl, this.popup, () => {\n this.reposition();\n });\n }\n async stop() {\n return new Promise((resolve) => {\n if (this.cleanup) {\n this.cleanup();\n this.cleanup = void 0;\n this.removeAttribute(\"data-current-placement\");\n this.style.removeProperty(\"--auto-size-available-width\");\n this.style.removeProperty(\"--auto-size-available-height\");\n requestAnimationFrame(() => resolve());\n } else {\n resolve();\n }\n });\n }\n /** Forces the popup to recalculate and reposition itself. */\n reposition() {\n if (!this.active || !this.anchorEl) {\n return;\n }\n const middleware = [\n // The offset middleware goes first\n offset({ mainAxis: this.distance, crossAxis: this.skidding })\n ];\n if (this.sync) {\n middleware.push(\n size({\n apply: ({ rects }) => {\n const syncWidth = this.sync === \"width\" || this.sync === \"both\";\n const syncHeight = this.sync === \"height\" || this.sync === \"both\";\n this.popup.style.width = syncWidth ? `${rects.reference.width}px` : \"\";\n this.popup.style.height = syncHeight ? `${rects.reference.height}px` : \"\";\n }\n })\n );\n } else {\n this.popup.style.width = \"\";\n this.popup.style.height = \"\";\n }\n if (this.flip) {\n middleware.push(\n flip({\n boundary: this.flipBoundary,\n // @ts-expect-error - We're converting a string attribute to an array here\n fallbackPlacements: this.flipFallbackPlacements,\n fallbackStrategy: this.flipFallbackStrategy === \"best-fit\" ? \"bestFit\" : \"initialPlacement\",\n padding: this.flipPadding\n })\n );\n }\n if (this.shift) {\n middleware.push(\n shift({\n boundary: this.shiftBoundary,\n padding: this.shiftPadding\n })\n );\n }\n if (this.autoSize) {\n middleware.push(\n size({\n boundary: this.autoSizeBoundary,\n padding: this.autoSizePadding,\n apply: ({ availableWidth, availableHeight }) => {\n if (this.autoSize === \"vertical\" || this.autoSize === \"both\") {\n this.style.setProperty(\"--auto-size-available-height\", `${availableHeight}px`);\n } else {\n this.style.removeProperty(\"--auto-size-available-height\");\n }\n if (this.autoSize === \"horizontal\" || this.autoSize === \"both\") {\n this.style.setProperty(\"--auto-size-available-width\", `${availableWidth}px`);\n } else {\n this.style.removeProperty(\"--auto-size-available-width\");\n }\n }\n })\n );\n } else {\n this.style.removeProperty(\"--auto-size-available-width\");\n this.style.removeProperty(\"--auto-size-available-height\");\n }\n if (this.arrow) {\n middleware.push(\n arrow({\n element: this.arrowEl,\n padding: this.arrowPadding\n })\n );\n }\n const getOffsetParent = this.strategy === \"absolute\" ? (element) => platform.getOffsetParent(element, offsetParent) : platform.getOffsetParent;\n computePosition(this.anchorEl, this.popup, {\n placement: this.placement,\n middleware,\n strategy: this.strategy,\n platform: __spreadProps(__spreadValues({}, platform), {\n getOffsetParent\n })\n }).then(({ x, y, middlewareData, placement }) => {\n const isRtl = this.localize.dir() === \"rtl\";\n const staticSide = { top: \"bottom\", right: \"left\", bottom: \"top\", left: \"right\" }[placement.split(\"-\")[0]];\n this.setAttribute(\"data-current-placement\", placement);\n Object.assign(this.popup.style, {\n left: `${x}px`,\n top: `${y}px`\n });\n if (this.arrow) {\n const arrowX = middlewareData.arrow.x;\n const arrowY = middlewareData.arrow.y;\n let top = \"\";\n let right = \"\";\n let bottom = \"\";\n let left = \"\";\n if (this.arrowPlacement === \"start\") {\n const value = typeof arrowX === \"number\" ? `calc(${this.arrowPadding}px - var(--arrow-padding-offset))` : \"\";\n top = typeof arrowY === \"number\" ? `calc(${this.arrowPadding}px - var(--arrow-padding-offset))` : \"\";\n right = isRtl ? value : \"\";\n left = isRtl ? \"\" : value;\n } else if (this.arrowPlacement === \"end\") {\n const value = typeof arrowX === \"number\" ? `calc(${this.arrowPadding}px - var(--arrow-padding-offset))` : \"\";\n right = isRtl ? \"\" : value;\n left = isRtl ? value : \"\";\n bottom = typeof arrowY === \"number\" ? `calc(${this.arrowPadding}px - var(--arrow-padding-offset))` : \"\";\n } else if (this.arrowPlacement === \"center\") {\n left = typeof arrowX === \"number\" ? `calc(50% - var(--arrow-size-diagonal))` : \"\";\n top = typeof arrowY === \"number\" ? `calc(50% - var(--arrow-size-diagonal))` : \"\";\n } else {\n left = typeof arrowX === \"number\" ? `${arrowX}px` : \"\";\n top = typeof arrowY === \"number\" ? `${arrowY}px` : \"\";\n }\n Object.assign(this.arrowEl.style, {\n top,\n right,\n bottom,\n left,\n [staticSide]: \"calc(var(--arrow-size-diagonal) * -1)\"\n });\n }\n });\n requestAnimationFrame(() => this.updateHoverBridge());\n this.emit(\"sl-reposition\");\n }\n render() {\n return html`\n <slot name=\"anchor\" @slotchange=${this.handleAnchorChange}></slot>\n\n <span\n part=\"hover-bridge\"\n class=${classMap({\n \"popup-hover-bridge\": true,\n \"popup-hover-bridge--visible\": this.hoverBridge && this.active\n })}\n ></span>\n\n <div\n part=\"popup\"\n class=${classMap({\n popup: true,\n \"popup--active\": this.active,\n \"popup--fixed\": this.strategy === \"fixed\",\n \"popup--has-arrow\": this.arrow\n })}\n >\n <slot></slot>\n ${this.arrow ? html`<div part=\"arrow\" class=\"popup__arrow\" role=\"presentation\"></div>` : \"\"}\n </div>\n `;\n }\n};\nSlPopup.styles = [component_styles_default, popup_styles_default];\n__decorateClass([\n query(\".popup\")\n], SlPopup.prototype, \"popup\", 2);\n__decorateClass([\n query(\".popup__arrow\")\n], SlPopup.prototype, \"arrowEl\", 2);\n__decorateClass([\n property()\n], SlPopup.prototype, \"anchor\", 2);\n__decorateClass([\n property({ type: Boolean, reflect: true })\n], SlPopup.prototype, \"active\", 2);\n__decorateClass([\n property({ reflect: true })\n], SlPopup.prototype, \"placement\", 2);\n__decorateClass([\n property({ reflect: true })\n], SlPopup.prototype, \"strategy\", 2);\n__decorateClass([\n property({ type: Number })\n], SlPopup.prototype, \"distance\", 2);\n__decorateClass([\n property({ type: Number })\n], SlPopup.prototype, \"skidding\", 2);\n__decorateClass([\n property({ type: Boolean })\n], SlPopup.prototype, \"arrow\", 2);\n__decorateClass([\n property({ attribute: \"arrow-placement\" })\n], SlPopup.prototype, \"arrowPlacement\", 2);\n__decorateClass([\n property({ attribute: \"arrow-padding\", type: Number })\n], SlPopup.prototype, \"arrowPadding\", 2);\n__decorateClass([\n property({ type: Boolean })\n], SlPopup.prototype, \"flip\", 2);\n__decorateClass([\n property({\n attribute: \"flip-fallback-placements\",\n converter: {\n fromAttribute: (value) => {\n return value.split(\" \").map((p) => p.trim()).filter((p) => p !== \"\");\n },\n toAttribute: (value) => {\n return value.join(\" \");\n }\n }\n })\n], SlPopup.prototype, \"flipFallbackPlacements\", 2);\n__decorateClass([\n property({ attribute: \"flip-fallback-strategy\" })\n], SlPopup.prototype, \"flipFallbackStrategy\", 2);\n__decorateClass([\n property({ type: Object })\n], SlPopup.prototype, \"flipBoundary\", 2);\n__decorateClass([\n property({ attribute: \"flip-padding\", type: Number })\n], SlPopup.prototype, \"flipPadding\", 2);\n__decorateClass([\n property({ type: Boolean })\n], SlPopup.prototype, \"shift\", 2);\n__decorateClass([\n property({ type: Object })\n], SlPopup.prototype, \"shiftBoundary\", 2);\n__decorateClass([\n property({ attribute: \"shift-padding\", type: Number })\n], SlPopup.prototype, \"shiftPadding\", 2);\n__decorateClass([\n property({ attribute: \"auto-size\" })\n], SlPopup.prototype, \"autoSize\", 2);\n__decorateClass([\n property()\n], SlPopup.prototype, \"sync\", 2);\n__decorateClass([\n property({ type: Object })\n], SlPopup.prototype, \"autoSizeBoundary\", 2);\n__decorateClass([\n property({ attribute: \"auto-size-padding\", type: Number })\n], SlPopup.prototype, \"autoSizePadding\", 2);\n__decorateClass([\n property({ attribute: \"hover-bridge\", type: Boolean })\n], SlPopup.prototype, \"hoverBridge\", 2);\n\nexport {\n SlPopup\n};\n","import {\n __spreadProps,\n __spreadValues\n} from \"./chunk.KAW7D32O.js\";\n\n// src/utilities/animation-registry.ts\nvar defaultAnimationRegistry = /* @__PURE__ */ new Map();\nvar customAnimationRegistry = /* @__PURE__ */ new WeakMap();\nfunction ensureAnimation(animation) {\n return animation != null ? animation : { keyframes: [], options: { duration: 0 } };\n}\nfunction getLogicalAnimation(animation, dir) {\n if (dir.toLowerCase() === \"rtl\") {\n return {\n keyframes: animation.rtlKeyframes || animation.keyframes,\n options: animation.options\n };\n }\n return animation;\n}\nfunction setDefaultAnimation(animationName, animation) {\n defaultAnimationRegistry.set(animationName, ensureAnimation(animation));\n}\nfunction setAnimation(el, animationName, animation) {\n customAnimationRegistry.set(el, __spreadProps(__spreadValues({}, customAnimationRegistry.get(el)), { [animationName]: ensureAnimation(animation) }));\n}\nfunction getAnimation(el, animationName, options) {\n const customAnimation = customAnimationRegistry.get(el);\n if (customAnimation == null ? void 0 : customAnimation[animationName]) {\n return getLogicalAnimation(customAnimation[animationName], options.dir);\n }\n const defaultAnimation = defaultAnimationRegistry.get(animationName);\n if (defaultAnimation) {\n return getLogicalAnimation(defaultAnimation, options.dir);\n }\n return {\n keyframes: [],\n options: { duration: 0 }\n };\n}\n\nexport {\n setDefaultAnimation,\n setAnimation,\n getAnimation\n};\n","// src/internal/event.ts\nfunction waitForEvent(el, eventName) {\n return new Promise((resolve) => {\n function done(event) {\n if (event.target === el) {\n el.removeEventListener(eventName, done);\n resolve();\n }\n }\n el.addEventListener(eventName, done);\n });\n}\n\nexport {\n waitForEvent\n};\n","import {\n __spreadProps,\n __spreadValues\n} from \"./chunk.KAW7D32O.js\";\n\n// src/internal/animate.ts\nfunction animateTo(el, keyframes, options) {\n return new Promise((resolve) => {\n if ((options == null ? void 0 : options.duration) === Infinity) {\n throw new Error(\"Promise-based animations must be finite.\");\n }\n const animation = el.animate(keyframes, __spreadProps(__spreadValues({}, options), {\n duration: prefersReducedMotion() ? 0 : options.duration\n }));\n animation.addEventListener(\"cancel\", resolve, { once: true });\n animation.addEventListener(\"finish\", resolve, { once: true });\n });\n}\nfunction parseDuration(delay) {\n delay = delay.toString().toLowerCase();\n if (delay.indexOf(\"ms\") > -1) {\n return parseFloat(delay);\n }\n if (delay.indexOf(\"s\") > -1) {\n return parseFloat(delay) * 1e3;\n }\n return parseFloat(delay);\n}\nfunction prefersReducedMotion() {\n const query = window.matchMedia(\"(prefers-reduced-motion: reduce)\");\n return query.matches;\n}\nfunction stopAnimations(el) {\n return Promise.all(\n el.getAnimations().map((animation) => {\n return new Promise((resolve) => {\n animation.cancel();\n requestAnimationFrame(resolve);\n });\n })\n );\n}\nfunction shimKeyframesHeightAuto(keyframes, calculatedHeight) {\n return keyframes.map((keyframe) => __spreadProps(__spreadValues({}, keyframe), {\n height: keyframe.height === \"auto\" ? `${calculatedHeight}px` : keyframe.height\n }));\n}\n\nexport {\n animateTo,\n parseDuration,\n prefersReducedMotion,\n stopAnimations,\n shimKeyframesHeightAuto\n};\n","import {\n __spreadValues\n} from \"./chunk.KAW7D32O.js\";\n\n// src/internal/watch.ts\nfunction watch(propertyName, options) {\n const resolvedOptions = __spreadValues({\n waitUntilFirstUpdate: false\n }, options);\n return (proto, decoratedFnName) => {\n const { update } = proto;\n const watchedProperties = Array.isArray(propertyName) ? propertyName : [propertyName];\n proto.update = function(changedProps) {\n watchedProperties.forEach((property) => {\n const key = property;\n if (changedProps.has(key)) {\n const oldValue = changedProps.get(key);\n const newValue = this[key];\n if (oldValue !== newValue) {\n if (!resolvedOptions.waitUntilFirstUpdate || this.hasUpdated) {\n this[decoratedFnName](oldValue, newValue);\n }\n }\n }\n });\n update.call(this, changedProps);\n };\n };\n}\n\nexport {\n watch\n};\n","import{nothing as t}from\"../lit-html.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o=o=>o??t;export{o as ifDefined};\n//# sourceMappingURL=if-defined.js.map\n","import {\n dropdown_styles_default\n} from \"./chunk.LXP7GVU3.js\";\nimport {\n getDeepestActiveElement,\n getTabbableBoundary\n} from \"./chunk.VESXC477.js\";\nimport {\n SlPopup\n} from \"./chunk.5JY5FUCG.js\";\nimport {\n getAnimation,\n setDefaultAnimation\n} from \"./chunk.K7JGTRV7.js\";\nimport {\n waitForEvent\n} from \"./chunk.B4BZKR24.js\";\nimport {\n animateTo,\n stopAnimations\n} from \"./chunk.AJ3ENQ5C.js\";\nimport {\n LocalizeController\n} from \"./chunk.6CTB5ZDJ.js\";\nimport {\n watch\n} from \"./chunk.GMYPQTFK.js\";\nimport {\n component_styles_default\n} from \"./chunk.TUVJKY7S.js\";\nimport {\n ShoelaceElement\n} from \"./chunk.4TUIT776.js\";\nimport {\n __decorateClass\n} from \"./chunk.KAW7D32O.js\";\n\n// src/components/dropdown/dropdown.component.ts\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { html } from \"lit\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport { property, query } from \"lit/decorators.js\";\nvar SlDropdown = class extends ShoelaceElement {\n constructor() {\n super(...arguments);\n this.localize = new LocalizeController(this);\n this.open = false;\n this.placement = \"bottom-start\";\n this.disabled = false;\n this.stayOpenOnSelect = false;\n this.distance = 0;\n this.skidding = 0;\n this.hoist = false;\n this.sync = void 0;\n this.handleKeyDown = (event) => {\n if (this.open && event.key === \"Escape\") {\n event.stopPropagation();\n this.hide();\n this.focusOnTrigger();\n }\n };\n this.handleDocumentKeyDown = (event) => {\n var _a;\n if (event.key === \"Escape\" && this.open && !this.closeWatcher) {\n event.stopPropagation();\n this.focusOnTrigger();\n this.hide();\n return;\n }\n if (event.key === \"Tab\") {\n if (this.open && ((_a = document.activeElement) == null ? void 0 : _a.tagName.toLowerCase()) === \"sl-menu-item\") {\n event.preventDefault();\n this.hide();\n this.focusOnTrigger();\n return;\n }\n const computeClosestContaining = (element, tagName) => {\n if (!element) return null;\n const closest = element.closest(tagName);\n if (closest) return closest;\n const rootNode = element.getRootNode();\n if (rootNode instanceof ShadowRoot) {\n return computeClosestContaining(rootNode.host, tagName);\n }\n return null;\n };\n setTimeout(() => {\n var _a2;\n const activeElement = ((_a2 = this.containingElement) == null ? void 0 : _a2.getRootNode()) instanceof ShadowRoot ? getDeepestActiveElement() : document.activeElement;\n if (!this.containingElement || computeClosestContaining(activeElement, this.containingElement.tagName.toLowerCase()) !== this.containingElement) {\n this.hide();\n }\n });\n }\n };\n this.handleDocumentMouseDown = (event) => {\n const path = event.composedPath();\n if (this.containingElement && !path.includes(this.containingElement)) {\n this.hide();\n }\n };\n this.handlePanelSelect = (event) => {\n const target = event.target;\n if (!this.stayOpenOnSelect && target.tagName.toLowerCase() === \"sl-menu\") {\n this.hide();\n this.focusOnTrigger();\n }\n };\n }\n connectedCallback() {\n super.connectedCallback();\n if (!this.containingElement) {\n this.containingElement = this;\n }\n }\n firstUpdated() {\n this.panel.hidden = !this.open;\n if (this.open) {\n this.addOpenListeners();\n this.popup.active = true;\n }\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeOpenListeners();\n this.hide();\n }\n focusOnTrigger() {\n const trigger = this.trigger.assignedElements({ flatten: true })[0];\n if (typeof (trigger == null ? void 0 : trigger.focus) === \"function\") {\n trigger.focus();\n }\n }\n getMenu() {\n return this.panel.assignedElements({ flatten: true }).find((el) => el.tagName.toLowerCase() === \"sl-menu\");\n }\n handleTriggerClick() {\n if (this.open) {\n this.hide();\n } else {\n this.show();\n this.focusOnTrigger();\n }\n }\n async handleTriggerKeyDown(event) {\n if ([\" \", \"Enter\"].includes(event.key)) {\n event.preventDefault();\n this.handleTriggerClick();\n return;\n }\n const menu = this.getMenu();\n if (menu) {\n const menuItems = menu.getAllItems();\n const firstMenuItem = menuItems[0];\n const lastMenuItem = menuItems[menuItems.length - 1];\n if ([\"ArrowDown\", \"ArrowUp\", \"Home\", \"End\"].includes(event.key)) {\n event.preventDefault();\n if (!this.open) {\n this.show();\n await this.updateComplete;\n }\n if (menuItems.length > 0) {\n this.updateComplete.then(() => {\n if (event.key === \"ArrowDown\" || event.key === \"Home\") {\n menu.setCurrentItem(firstMenuItem);\n firstMenuItem.focus();\n }\n if (event.key === \"ArrowUp\" || event.key === \"End\") {\n menu.setCurrentItem(lastMenuItem);\n lastMenuItem.focus();\n }\n });\n }\n }\n }\n }\n handleTriggerKeyUp(event) {\n if (event.key === \" \") {\n event.preventDefault();\n }\n }\n handleTriggerSlotChange() {\n this.updateAccessibleTrigger();\n }\n //\n // Slotted triggers can be arbitrary content, but we need to link them to the dropdown panel with `aria-haspopup` and\n // `aria-expanded`. These must be applied to the \"accessible trigger\" (the tabbable portion of the trigger element\n // that gets slotted in) so screen readers will understand them. The accessible trigger could be the slotted element,\n // a child of the slotted element, or an element in the slotted element's shadow root.\n //\n // For example, the accessible trigger of an <sl-button> is a <button> located inside its shadow root.\n //\n // To determine this, we assume the first tabbable element in the trigger slot is the \"accessible trigger.\"\n //\n updateAccessibleTrigger() {\n const assignedElements = this.trigger.assignedElements({ flatten: true });\n const accessibleTrigger = assignedElements.find((el) => getTabbableBoundary(el).start);\n let target;\n if (accessibleTrigger) {\n switch (accessibleTrigger.tagName.toLowerCase()) {\n // Shoelace buttons have to update the internal button so it's announced correctly by screen readers\n case \"sl-button\":\n case \"sl-icon-button\":\n target = accessibleTrigger.button;\n break;\n default:\n target = accessibleTrigger;\n }\n target.setAttribute(\"aria-haspopup\", \"true\");\n target.setAttribute(\"aria-expanded\", this.open ? \"true\" : \"false\");\n }\n }\n /** Shows the dropdown panel. */\n async show() {\n if (this.open) {\n return void 0;\n }\n this.open = true;\n return waitForEvent(this, \"sl-after-show\");\n }\n /** Hides the dropdown panel */\n async hide() {\n if (!this.open) {\n return void 0;\n }\n this.open = false;\n return waitForEvent(this, \"sl-after-hide\");\n }\n /**\n * Instructs the dropdown menu to reposition. Useful when the position or size of the trigger changes when the menu\n * is activated.\n */\n reposition() {\n this.popup.reposition();\n }\n addOpenListeners() {\n var _a;\n this.panel.addEventListener(\"sl-select\", this.handlePanelSelect);\n if (\"CloseWatcher\" in window) {\n (_a = this.closeWatcher) == null ? void 0 : _a.destroy();\n this.closeWatcher = new CloseWatcher();\n this.closeWatcher.onclose = () => {\n this.hide();\n this.focusOnTrigger();\n };\n } else {\n this.panel.addEventListener(\"keydown\", this.handleKeyDown);\n }\n document.addEventListener(\"keydown\", this.handleDocumentKeyDown);\n document.addEventListener(\"mousedown\", this.handleDocumentMouseDown);\n }\n removeOpenListeners() {\n var _a;\n if (this.panel) {\n this.panel.removeEventListener(\"sl-select\", this.handlePanelSelect);\n this.panel.removeEventListener(\"keydown\", this.handleKeyDown);\n }\n document.removeEventListener(\"keydown\", this.handleDocumentKeyDown);\n document.removeEventListener(\"mousedown\", this.handleDocumentMouseDown);\n (_a = this.closeWatcher) == null ? void 0 : _a.destroy();\n }\n async handleOpenChange() {\n if (this.disabled) {\n this.open = false;\n return;\n }\n this.updateAccessibleTrigger();\n if (this.open) {\n this.emit(\"sl-show\");\n this.addOpenListeners();\n await stopAnimations(this);\n this.panel.hidden = false;\n this.popup.active = true;\n const { keyframes, options } = getAnimation(this, \"dropdown.show\", { dir: this.localize.dir() });\n await animateTo(this.popup.popup, keyframes, options);\n this.emit(\"sl-after-show\");\n } else {\n this.emit(\"sl-hide\");\n this.removeOpenListeners();\n await stopAnimations(this);\n const { keyframes, options } = getAnimation(this, \"dropdown.hide\", { dir: this.localize.dir() });\n await animateTo(this.popup.popup, keyframes, options);\n this.panel.hidden = true;\n this.popup.active = false;\n this.emit(\"sl-after-hide\");\n }\n }\n render() {\n return html`\n <sl-popup\n part=\"base\"\n exportparts=\"popup:base__popup\"\n id=\"dropdown\"\n placement=${this.placement}\n distance=${this.distance}\n skidding=${this.skidding}\n strategy=${this.hoist ? \"fixed\" : \"absolute\"}\n flip\n shift\n auto-size=\"vertical\"\n auto-size-padding=\"10\"\n sync=${ifDefined(this.sync ? this.sync : void 0)}\n class=${classMap({\n dropdown: true,\n \"dropdown--open\": this.open\n })}\n >\n <slot\n name=\"trigger\"\n slot=\"anchor\"\n part=\"trigger\"\n class=\"dropdown__trigger\"\n @click=${this.handleTriggerClick}\n @keydown=${this.handleTriggerKeyDown}\n @keyup=${this.handleTriggerKeyUp}\n @slotchange=${this.handleTriggerSlotChange}\n ></slot>\n\n <div aria-hidden=${this.open ? \"false\" : \"true\"} aria-labelledby=\"dropdown\">\n <slot part=\"panel\" class=\"dropdown__panel\"></slot>\n </div>\n </sl-popup>\n `;\n }\n};\nSlDropdown.styles = [component_styles_default, dropdown_styles_default];\nSlDropdown.dependencies = { \"sl-popup\": SlPopup };\n__decorateClass([\n query(\".dropdown\")\n], SlDropdown.prototype, \"popup\", 2);\n__decorateClass([\n query(\".dropdown__trigger\")\n], SlDropdown.prototype, \"trigger\", 2);\n__decorateClass([\n query(\".dropdown__panel\")\n], SlDropdown.prototype, \"panel\", 2);\n__decorateClass([\n property({ type: Boolean, reflect: true })\n], SlDropdown.prototype, \"open\", 2);\n__decorateClass([\n property({ reflect: true })\n], SlDropdown.prototype, \"placement\", 2);\n__decorateClass([\n property({ type: Boolean, reflect: true })\n], SlDropdown.prototype, \"disabled\", 2);\n__decorateClass([\n property({ attribute: \"stay-open-on-select\", type: Boolean, reflect: true })\n], SlDropdown.prototype, \"stayOpenOnSelect\", 2);\n__decorateClass([\n property({ attribute: false })\n], SlDropdown.prototype, \"containingElement\", 2);\n__decorateClass([\n property({ type: Number })\n], SlDropdown.prototype, \"distance\", 2);\n__decorateClass([\n property({ type: Number })\n], SlDropdown.prototype, \"skidding\", 2);\n__decorateClass([\n property({ type: Boolean })\n], SlDropdown.prototype, \"hoist\", 2);\n__decorateClass([\n property({ reflect: true })\n], SlDropdown.prototype, \"sync\", 2);\n__decorateClass([\n watch(\"open\", { waitUntilFirstUpdate: true })\n], SlDropdown.prototype, \"handleOpenChange\", 1);\nsetDefaultAnimation(\"dropdown.show\", {\n keyframes: [\n { opacity: 0, scale: 0.9 },\n { opacity: 1, scale: 1 }\n ],\n options: { duration: 100, easing: \"ease\" }\n});\nsetDefaultAnimation(\"dropdown.hide\", {\n keyframes: [\n { opacity: 1, scale: 1 },\n { opacity: 0, scale: 0.9 }\n ],\n options: { duration: 100, easing: \"ease\" }\n});\n\nexport {\n SlDropdown\n};\n","import {\n SlDropdown\n} from \"./chunk.C56A5M6T.js\";\n\n// src/components/dropdown/dropdown.ts\nvar dropdown_default = SlDropdown;\nSlDropdown.define(\"sl-dropdown\");\n\nexport {\n dropdown_default\n};\n","// src/components/menu/menu.styles.ts\nimport { css } from \"lit\";\nvar menu_styles_default = css`\n :host {\n display: block;\n position: relative;\n background: var(--sl-panel-background-color);\n border: solid var(--sl-panel-border-width) var(--sl-panel-border-color);\n border-radius: var(--sl-border-radius-medium);\n padding: var(--sl-spacing-x-small) 0;\n overflow: auto;\n overscroll-behavior: none;\n }\n\n ::slotted(sl-divider) {\n --spacing: var(--sl-spacing-x-small);\n }\n`;\n\nexport {\n menu_styles_default\n};\n","import {\n menu_styles_default\n} from \"./chunk.VVA35HTY.js\";\nimport {\n component_styles_default\n} from \"./chunk.TUVJKY7S.js\";\nimport {\n ShoelaceElement\n} from \"./chunk.4TUIT776.js\";\nimport {\n __decorateClass\n} from \"./chunk.KAW7D32O.js\";\n\n// src/components/menu/menu.component.ts\nimport { html } from \"lit\";\nimport { query } from \"lit/decorators.js\";\nvar SlMenu = class extends ShoelaceElement {\n connectedCallback() {\n super.connectedCallback();\n this.setAttribute(\"role\", \"menu\");\n }\n handleClick(event) {\n const menuItemTypes = [\"menuitem\", \"menuitemcheckbox\"];\n const composedPath = event.composedPath();\n const target = composedPath.find((el) => {\n var _a;\n return menuItemTypes.includes(((_a = el == null ? void 0 : el.getAttribute) == null ? void 0 : _a.call(el, \"role\")) || \"\");\n });\n if (!target) return;\n const closestMenu = composedPath.find((el) => {\n var _a;\n return ((_a = el == null ? void 0 : el.getAttribute) == null ? void 0 : _a.call(el, \"role\")) === \"menu\";\n });\n const clickHasSubmenu = closestMenu !== this;\n if (clickHasSubmenu) return;\n const item = target;\n if (item.type === \"checkbox\") {\n item.checked = !item.checked;\n }\n this.emit(\"sl-select\", { detail: { item } });\n }\n handleKeyDown(event) {\n if (event.key === \"Enter\" || event.key === \" \") {\n const item = this.getCurrentItem();\n event.preventDefault();\n event.stopPropagation();\n item == null ? void 0 : item.click();\n } else if ([\"ArrowDown\", \"ArrowUp\", \"Home\", \"End\"].includes(event.key)) {\n const items = this.getAllItems();\n const activeItem = this.getCurrentItem();\n let index = activeItem ? items.indexOf(activeItem) : 0;\n if (items.length > 0) {\n event.preventDefault();\n event.stopPropagation();\n if (event.key === \"ArrowDown\") {\n index++;\n } else if (event.key === \"ArrowUp\") {\n index--;\n } else if (event.key === \"Home\") {\n index = 0;\n } else if (event.key === \"End\") {\n index = items.length - 1;\n }\n if (index < 0) {\n index = items.length - 1;\n }\n if (index > items.length - 1) {\n index = 0;\n }\n this.setCurrentItem(items[index]);\n items[index].focus();\n }\n }\n }\n handleMouseDown(event) {\n const target = event.target;\n if (this.isMenuItem(target)) {\n this.setCurrentItem(target);\n }\n }\n handleSlotChange() {\n const items = this.getAllItems();\n if (items.length > 0) {\n this.setCurrentItem(items[0]);\n }\n }\n isMenuItem(item) {\n var _a;\n return item.tagName.toLowerCase() === \"sl-menu-item\" || [\"menuitem\", \"menuitemcheckbox\", \"menuitemradio\"].includes((_a = item.getAttribute(\"role\")) != null ? _a : \"\");\n }\n /** @internal Gets all slotted menu items, ignoring dividers, headers, and other elements. */\n getAllItems() {\n return [...this.defaultSlot.assignedElements({ flatten: true })].filter((el) => {\n if (el.inert || !this.isMenuItem(el)) {\n return false;\n }\n return true;\n });\n }\n /**\n * @internal Gets the current menu item, which is the menu item that has `tabindex=\"0\"` within the roving tab index.\n * The menu item may or may not have focus, but for keyboard interaction purposes it's considered the \"active\" item.\n */\n getCurrentItem() {\n return this.getAllItems().find((i) => i.getAttribute(\"tabindex\") === \"0\");\n }\n /**\n * @internal Sets the current menu item to the specified element. This sets `tabindex=\"0\"` on the target element and\n * `tabindex=\"-1\"` to all other items. This method must be called prior to setting focus on a menu item.\n */\n setCurrentItem(item) {\n const items = this.getAllItems();\n items.forEach((i) => {\n i.setAttribute(\"tabindex\", i === item ? \"0\" : \"-1\");\n });\n }\n render() {\n return html`\n <slot\n @slotchange=${this.handleSlotChange}\n @click=${this.handleClick}\n @keydown=${this.handleKeyDown}\n @mousedown=${this.handleMouseDown}\n ></slot>\n `;\n }\n};\nSlMenu.styles = [component_styles_default, menu_styles_default];\n__decorateClass([\n query(\"slot\")\n], SlMenu.prototype, \"defaultSlot\", 2);\n\nexport {\n SlMenu\n};\n","import {\n SlMenu\n} from \"./chunk.Q6CVTR7F.js\";\n\n// src/components/menu/menu.ts\nvar menu_default = SlMenu;\nSlMenu.define(\"sl-menu\");\n\nexport {\n menu_default\n};\n","// src/components/menu-item/menu-item.styles.ts\nimport { css } from \"lit\";\nvar menu_item_styles_default = css`\n :host {\n --submenu-offset: -2px;\n\n display: block;\n }\n\n :host([inert]) {\n display: none;\n }\n\n .menu-item {\n position: relative;\n display: flex;\n align-items: stretch;\n font-family: var(--sl-font-sans);\n font-size: var(--sl-font-size-medium);\n font-weight: var(--sl-font-weight-normal);\n line-height: var(--sl-line-height-normal);\n letter-spacing: var(--sl-letter-spacing-normal);\n color: var(--sl-color-neutral-700);\n padding: var(--sl-spacing-2x-small) var(--sl-spacing-2x-small);\n transition: var(--sl-transition-fast) fill;\n user-select: none;\n -webkit-user-select: none;\n white-space: nowrap;\n cursor: pointer;\n }\n\n .menu-item.menu-item--disabled {\n outline: none;\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .menu-item.menu-item--loading {\n outline: none;\n cursor: wait;\n }\n\n .menu-item.menu-item--loading *:not(sl-spinner) {\n opacity: 0.5;\n }\n\n .menu-item--loading sl-spinner {\n --indicator-color: currentColor;\n --track-width: 1px;\n position: absolute;\n font-size: 0.75em;\n top: calc(50% - 0.5em);\n left: 0.65rem;\n opacity: 1;\n }\n\n .menu-item .menu-item__label {\n flex: 1 1 auto;\n display: inline-block;\n text-overflow: ellipsis;\n overflow: hidden;\n }\n\n .menu-item .menu-item__prefix {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n }\n\n .menu-item .menu-item__prefix::slotted(*) {\n margin-inline-end: var(--sl-spacing-x-small);\n }\n\n .menu-item .menu-item__suffix {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n }\n\n .menu-item .menu-item__suffix::slotted(*) {\n margin-inline-start: var(--sl-spacing-x-small);\n }\n\n /* Safe triangle */\n .menu-item--submenu-expanded::after {\n content: '';\n position: fixed;\n z-index: calc(var(--sl-z-index-dropdown) - 1);\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n clip-path: polygon(\n var(--safe-triangle-cursor-x, 0) var(--safe-triangle-cursor-y, 0),\n var(--safe-triangle-submenu-start-x, 0) var(--safe-triangle-submenu-start-y, 0),\n var(--safe-triangle-submenu-end-x, 0) var(--safe-triangle-submenu-end-y, 0)\n );\n }\n\n :host(:focus-visible) {\n outline: none;\n }\n\n :host(:hover:not([aria-disabled='true'], :focus-visible)) .menu-item,\n .menu-item--submenu-expanded {\n background-color: var(--sl-color-neutral-100);\n color: var(--sl-color-neutral-1000);\n }\n\n :host(:focus-visible) .menu-item {\n outline: none;\n background-color: var(--sl-color-primary-600);\n color: var(--sl-color-neutral-0);\n opacity: 1;\n }\n\n .menu-item .menu-item__check,\n .menu-item .menu-item__chevron {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 1.5em;\n visibility: hidden;\n }\n\n .menu-item--checked .menu-item__check,\n .menu-item--has-submenu .menu-item__chevron {\n visibility: visible;\n }\n\n /* Add elevation and z-index to submenus */\n sl-popup::part(popup) {\n box-shadow: var(--sl-shadow-large);\n z-index: var(--sl-z-index-dropdown);\n margin-left: var(--submenu-offset);\n }\n\n .menu-item--rtl sl-popup::part(popup) {\n margin-left: calc(-1 * var(--submenu-offset));\n }\n\n @media (forced-colors: active) {\n :host(:hover:not([aria-disabled='true'])) .menu-item,\n :host(:focus-visible) .menu-item {\n outline: dashed 1px SelectedItem;\n outline-offset: -1px;\n }\n }\n\n ::slotted(sl-menu) {\n max-width: var(--auto-size-available-width) !important;\n max-height: var(--auto-size-available-height) !important;\n }\n`;\n\nexport {\n menu_item_styles_default\n};\n","import{_$LH as o}from\"./lit-html.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{I:t}=o,i=o=>null===o||\"object\"!=typeof o&&\"function\"!=typeof o,n={HTML:1,SVG:2,MATHML:3},e=(o,t)=>void 0===t?void 0!==o?._$litType$:o?._$litType$===t,l=o=>null!=o?._$litType$?.h,d=o=>void 0!==o?._$litDirective$,c=o=>o?._$litDirective$,f=o=>void 0===o.strings,r=()=>document.createComment(\"\"),s=(o,i,n)=>{const e=o._$AA.parentNode,l=void 0===i?o._$AB:i._$AA;if(void 0===n){const i=e.insertBefore(r(),l),d=e.insertBefore(r(),l);n=new t(i,d,o,o.options)}else{const t=n._$AB.nextSibling,i=n._$AM,d=i!==o;if(d){let t;n._$AQ?.(o),n._$AM=o,void 0!==n._$AP&&(t=o._$AU)!==i._$AU&&n._$AP(t)}if(t!==l||d){let o=n._$AA;for(;o!==t;){const t=o.nextSibling;e.insertBefore(o,l),o=t}}}return n},v=(o,t,i=o)=>(o._$AI(t,i),o),u={},m=(o,t=u)=>o._$AH=t,p=o=>o._$AH,M=o=>{o._$AR(),o._$AA.remove()},h=o=>{o._$AR()};export{n as TemplateResultType,h as clearPart,p as getCommittedValue,c as getDirectiveClass,s as insertPart,l as isCompiledTemplateResult,d as isDirectiveResult,i as isPrimitive,f as isSingleExpression,e as isTemplateResult,M as removePart,v as setChildPartValue,m as setCommittedValue};\n//# sourceMappingURL=directive-helpers.js.map\n","import{isSingleExpression as i}from\"./directive-helpers.js\";import{Directive as t,PartType as e}from\"./directive.js\";export{directive}from\"./directive.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const s=(i,t)=>{const e=i._$AN;if(void 0===e)return!1;for(const i of e)i._$AO?.(t,!1),s(i,t);return!0},o=i=>{let t,e;do{if(void 0===(t=i._$AM))break;e=t._$AN,e.delete(i),i=t}while(0===e?.size)},r=i=>{for(let t;t=i._$AM;i=t){let e=t._$AN;if(void 0===e)t._$AN=e=new Set;else if(e.has(i))break;e.add(i),c(t)}};function h(i){void 0!==this._$AN?(o(this),this._$AM=i,r(this)):this._$AM=i}function n(i,t=!1,e=0){const r=this._$AH,h=this._$AN;if(void 0!==h&&0!==h.size)if(t)if(Array.isArray(r))for(let i=e;i<r.length;i++)s(r[i],!1),o(r[i]);else null!=r&&(s(r,!1),o(r));else s(this,i)}const c=i=>{i.type==e.CHILD&&(i._$AP??=n,i._$AQ??=h)};class f extends t{constructor(){super(...arguments),this._$AN=void 0}_$AT(i,t,e){super._$AT(i,t,e),r(this),this.isConnected=i._$AU}_$AO(i,t=!0){i!==this.isConnected&&(this.isConnected=i,i?this.reconnected?.():this.disconnected?.()),t&&(s(this,i),o(this))}setValue(t){if(i(this._$Ct))this._$Ct._$AI(t,this);else{const i=[...this._$Ct._$AH];i[this._$Ci]=t,this._$Ct._$AI(i,this,0)}}disconnected(){}reconnected(){}}export{f as AsyncDirective,t as Directive,e as PartType};\n//# sourceMappingURL=async-directive.js.map\n","import{nothing as t}from\"../lit-html.js\";import{AsyncDirective as i}from\"../async-directive.js\";import{directive as s}from\"../directive.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const e=()=>new h;class h{}const o=new WeakMap,n=s(class extends i{render(i){return t}update(i,[s]){const e=s!==this.G;return e&&void 0!==this.G&&this.rt(void 0),(e||this.lt!==this.ct)&&(this.G=s,this.ht=i.options?.host,this.rt(this.ct=i.element)),t}rt(t){if(this.isConnected||(t=void 0),\"function\"==typeof this.G){const i=this.ht??globalThis;let s=o.get(i);void 0===s&&(s=new WeakMap,o.set(i,s)),void 0!==s.get(this.G)&&this.G.call(this.ht,void 0),s.set(this.G,t),void 0!==t&&this.G.call(this.ht,t)}else this.G.value=t}get lt(){return\"function\"==typeof this.G?o.get(this.ht??globalThis)?.get(this.G):this.G?.value}disconnected(){this.lt===this.ct&&this.rt(void 0)}reconnected(){this.rt(this.ct)}});export{e as createRef,n as ref};\n//# sourceMappingURL=ref.js.map\n","// src/components/menu-item/submenu-controller.ts\nimport { createRef, ref } from \"lit/directives/ref.js\";\nimport { html } from \"lit\";\nvar SubmenuController = class {\n constructor(host, hasSlotController) {\n this.popupRef = createRef();\n this.enableSubmenuTimer = -1;\n this.isConnected = false;\n this.isPopupConnected = false;\n this.skidding = 0;\n this.submenuOpenDelay = 100;\n // Set the safe triangle cursor position\n this.handleMouseMove = (event) => {\n this.host.style.setProperty(\"--safe-triangle-cursor-x\", `${event.clientX}px`);\n this.host.style.setProperty(\"--safe-triangle-cursor-y\", `${event.clientY}px`);\n };\n this.handleMouseOver = () => {\n if (this.hasSlotController.test(\"submenu\")) {\n this.enableSubmenu();\n }\n };\n // Focus on the first menu-item of a submenu.\n this.handleKeyDown = (event) => {\n switch (event.key) {\n case \"Escape\":\n case \"Tab\":\n this.disableSubmenu();\n break;\n case \"ArrowLeft\":\n if (event.target !== this.host) {\n event.preventDefault();\n event.stopPropagation();\n this.host.focus();\n this.disableSubmenu();\n }\n break;\n case \"ArrowRight\":\n case \"Enter\":\n case \" \":\n this.handleSubmenuEntry(event);\n break;\n default:\n break;\n }\n };\n this.handleClick = (event) => {\n var _a;\n if (event.target === this.host) {\n event.preventDefault();\n event.stopPropagation();\n } else if (event.target instanceof Element && (event.target.tagName === \"sl-menu-item\" || ((_a = event.target.role) == null ? void 0 : _a.startsWith(\"menuitem\")))) {\n this.disableSubmenu();\n }\n };\n // Close this submenu on focus outside of the parent or any descendants.\n this.handleFocusOut = (event) => {\n if (event.relatedTarget && event.relatedTarget instanceof Element && this.host.contains(event.relatedTarget)) {\n return;\n }\n this.disableSubmenu();\n };\n // Prevent the parent menu-item from getting focus on mouse movement on the submenu\n this.handlePopupMouseover = (event) => {\n event.stopPropagation();\n };\n // Set the safe triangle values for the submenu when the position changes\n this.handlePopupReposition = () => {\n const submenuSlot = this.host.renderRoot.querySelector(\"slot[name='submenu']\");\n const menu = submenuSlot == null ? void 0 : submenuSlot.assignedElements({ flatten: true }).filter((el) => el.localName === \"sl-menu\")[0];\n const isRtl = getComputedStyle(this.host).direction === \"rtl\";\n if (!menu) {\n return;\n }\n const { left, top, width, height } = menu.getBoundingClientRect();\n this.host.style.setProperty(\"--safe-triangle-submenu-start-x\", `${isRtl ? left + width : left}px`);\n this.host.style.setProperty(\"--safe-triangle-submenu-start-y\", `${top}px`);\n this.host.style.setProperty(\"--safe-triangle-submenu-end-x\", `${isRtl ? left + width : left}px`);\n this.host.style.setProperty(\"--safe-triangle-submenu-end-y\", `${top + height}px`);\n };\n (this.host = host).addController(this);\n this.hasSlotController = hasSlotController;\n }\n hostConnected() {\n if (this.hasSlotController.test(\"submenu\") && !this.host.disabled) {\n this.addListeners();\n }\n }\n hostDisconnected() {\n this.removeListeners();\n }\n hostUpdated() {\n if (this.hasSlotController.test(\"submenu\") && !this.host.disabled) {\n this.addListeners();\n this.updateSkidding();\n } else {\n this.removeListeners();\n }\n }\n addListeners() {\n if (!this.isConnected) {\n this.host.addEventListener(\"mousemove\", this.handleMouseMove);\n this.host.addEventListener(\"mouseover\", this.handleMouseOver);\n this.host.addEventListener(\"keydown\", this.handleKeyDown);\n this.host.addEventListener(\"click\", this.handleClick);\n this.host.addEventListener(\"focusout\", this.handleFocusOut);\n this.isConnected = true;\n }\n if (!this.isPopupConnected) {\n if (this.popupRef.value) {\n this.popupRef.value.addEventListener(\"mouseover\", this.handlePopupMouseover);\n this.popupRef.value.addEventListener(\"sl-reposition\", this.handlePopupReposition);\n this.isPopupConnected = true;\n }\n }\n }\n removeListeners() {\n if (this.isConnected) {\n this.host.removeEventListener(\"mousemove\", this.handleMouseMove);\n this.host.removeEventListener(\"mouseover\", this.handleMouseOver);\n this.host.removeEventListener(\"keydown\", this.handleKeyDown);\n this.host.removeEventListener(\"click\", this.handleClick);\n this.host.removeEventListener(\"focusout\", this.handleFocusOut);\n this.isConnected = false;\n }\n if (this.isPopupConnected) {\n if (this.popupRef.value) {\n this.popupRef.value.removeEventListener(\"mouseover\", this.handlePopupMouseover);\n this.popupRef.value.removeEventListener(\"sl-reposition\", this.handlePopupReposition);\n this.isPopupConnected = false;\n }\n }\n }\n handleSubmenuEntry(event) {\n const submenuSlot = this.host.renderRoot.querySelector(\"slot[name='submenu']\");\n if (!submenuSlot) {\n console.error(\"Cannot activate a submenu if no corresponding menuitem can be found.\", this);\n return;\n }\n let menuItems = null;\n for (const elt of submenuSlot.assignedElements()) {\n menuItems = elt.querySelectorAll(\"sl-menu-item, [role^='menuitem']\");\n if (menuItems.length !== 0) {\n break;\n }\n }\n if (!menuItems || menuItems.length === 0) {\n return;\n }\n menuItems[0].setAttribute(\"tabindex\", \"0\");\n for (let i = 1; i !== menuItems.length; ++i) {\n menuItems[i].setAttribute(\"tabindex\", \"-1\");\n }\n if (this.popupRef.value) {\n event.preventDefault();\n event.stopPropagation();\n if (this.popupRef.value.active) {\n if (menuItems[0] instanceof HTMLElement) {\n menuItems[0].focus();\n }\n } else {\n this.enableSubmenu(false);\n this.host.updateComplete.then(() => {\n if (menuItems[0] instanceof HTMLElement) {\n menuItems[0].focus();\n }\n });\n this.host.requestUpdate();\n }\n }\n }\n setSubmenuState(state) {\n if (this.popupRef.value) {\n if (this.popupRef.value.active !== state) {\n this.popupRef.value.active = state;\n this.host.requestUpdate();\n }\n }\n }\n // Shows the submenu. Supports disabling the opening delay, e.g. for keyboard events that want to set the focus to the\n // newly opened menu.\n enableSubmenu(delay = true) {\n if (delay) {\n window.clearTimeout(this.enableSubmenuTimer);\n this.enableSubmenuTimer = window.setTimeout(() => {\n this.setSubmenuState(true);\n }, this.submenuOpenDelay);\n } else {\n this.setSubmenuState(true);\n }\n }\n disableSubmenu() {\n window.clearTimeout(this.enableSubmenuTimer);\n this.setSubmenuState(false);\n }\n // Calculate the space the top of a menu takes-up, for aligning the popup menu-item with the activating element.\n updateSkidding() {\n var _a;\n if (!((_a = this.host.parentElement) == null ? void 0 : _a.computedStyleMap)) {\n return;\n }\n const styleMap = this.host.parentElement.computedStyleMap();\n const attrs = [\"padding-top\", \"border-top-width\", \"margin-top\"];\n const skidding = attrs.reduce((accumulator, attr) => {\n var _a2;\n const styleValue = (_a2 = styleMap.get(attr)) != null ? _a2 : new CSSUnitValue(0, \"px\");\n const unitValue = styleValue instanceof CSSUnitValue ? styleValue : new CSSUnitValue(0, \"px\");\n const pxValue = unitValue.to(\"px\");\n return accumulator - pxValue.value;\n }, 0);\n this.skidding = skidding;\n }\n isExpanded() {\n return this.popupRef.value ? this.popupRef.value.active : false;\n }\n renderSubmenu() {\n const isRtl = getComputedStyle(this.host).direction === \"rtl\";\n if (!this.isConnected) {\n return html` <slot name=\"submenu\" hidden></slot> `;\n }\n return html`\n <sl-popup\n ${ref(this.popupRef)}\n placement=${isRtl ? \"left-start\" : \"right-start\"}\n anchor=\"anchor\"\n flip\n flip-fallback-strategy=\"best-fit\"\n skidding=\"${this.skidding}\"\n strategy=\"fixed\"\n auto-size=\"vertical\"\n auto-size-padding=\"10\"\n >\n <slot name=\"submenu\"></slot>\n </sl-popup>\n `;\n }\n};\n\nexport {\n SubmenuController\n};\n","// src/components/spinner/spinner.styles.ts\nimport { css } from \"lit\";\nvar spinner_styles_default = css`\n :host {\n --track-width: 2px;\n --track-color: rgb(128 128 128 / 25%);\n --indicator-color: var(--sl-color-primary-600);\n --speed: 2s;\n\n display: inline-flex;\n width: 1em;\n height: 1em;\n flex: none;\n }\n\n .spinner {\n flex: 1 1 auto;\n height: 100%;\n width: 100%;\n }\n\n .spinner__track,\n .spinner__indicator {\n fill: none;\n stroke-width: var(--track-width);\n r: calc(0.5em - var(--track-width) / 2);\n cx: 0.5em;\n cy: 0.5em;\n transform-origin: 50% 50%;\n }\n\n .spinner__track {\n stroke: var(--track-color);\n transform-origin: 0% 0%;\n }\n\n .spinner__indicator {\n stroke: var(--indicator-color);\n stroke-linecap: round;\n stroke-dasharray: 150% 75%;\n animation: spin var(--speed) linear infinite;\n }\n\n @keyframes spin {\n 0% {\n transform: rotate(0deg);\n stroke-dasharray: 0.05em, 3em;\n }\n\n 50% {\n transform: rotate(450deg);\n stroke-dasharray: 1.375em, 1.375em;\n }\n\n 100% {\n transform: rotate(1080deg);\n stroke-dasharray: 0.05em, 3em;\n }\n }\n`;\n\nexport {\n spinner_styles_default\n};\n","import {\n spinner_styles_default\n} from \"./chunk.7DUCI5S4.js\";\nimport {\n LocalizeController\n} from \"./chunk.6CTB5ZDJ.js\";\nimport {\n component_styles_default\n} from \"./chunk.TUVJKY7S.js\";\nimport {\n ShoelaceElement\n} from \"./chunk.4TUIT776.js\";\n\n// src/components/spinner/spinner.component.ts\nimport { html } from \"lit\";\nvar SlSpinner = class extends ShoelaceElement {\n constructor() {\n super(...arguments);\n this.localize = new LocalizeController(this);\n }\n render() {\n return html`\n <svg part=\"base\" class=\"spinner\" role=\"progressbar\" aria-label=${this.localize.term(\"loading\")}>\n <circle class=\"spinner__track\"></circle>\n <circle class=\"spinner__indicator\"></circle>\n </svg>\n `;\n }\n};\nSlSpinner.styles = [component_styles_default, spinner_styles_default];\n\nexport {\n SlSpinner\n};\n","// src/internal/slot.ts\nvar HasSlotController = class {\n constructor(host, ...slotNames) {\n this.slotNames = [];\n this.handleSlotChange = (event) => {\n const slot = event.target;\n if (this.slotNames.includes(\"[default]\") && !slot.name || slot.name && this.slotNames.includes(slot.name)) {\n this.host.requestUpdate();\n }\n };\n (this.host = host).addController(this);\n this.slotNames = slotNames;\n }\n hasDefaultSlot() {\n return [...this.host.childNodes].some((node) => {\n if (node.nodeType === node.TEXT_NODE && node.textContent.trim() !== \"\") {\n return true;\n }\n if (node.nodeType === node.ELEMENT_NODE) {\n const el = node;\n const tagName = el.tagName.toLowerCase();\n if (tagName === \"sl-visually-hidden\") {\n return false;\n }\n if (!el.hasAttribute(\"slot\")) {\n return true;\n }\n }\n return false;\n });\n }\n hasNamedSlot(name) {\n return this.host.querySelector(`:scope > [slot=\"${name}\"]`) !== null;\n }\n test(slotName) {\n return slotName === \"[default]\" ? this.hasDefaultSlot() : this.hasNamedSlot(slotName);\n }\n hostConnected() {\n this.host.shadowRoot.addEventListener(\"slotchange\", this.handleSlotChange);\n }\n hostDisconnected() {\n this.host.shadowRoot.removeEventListener(\"slotchange\", this.handleSlotChange);\n }\n};\nfunction getTextContent(slot) {\n if (!slot) {\n return \"\";\n }\n const nodes = slot.assignedNodes({ flatten: true });\n let text = \"\";\n [...nodes].forEach((node) => {\n if (node.nodeType === Node.TEXT_NODE) {\n text += node.textContent;\n }\n });\n return text;\n}\n\nexport {\n HasSlotController,\n getTextContent\n};\n","// src/utilities/base-path.ts\nvar basePath = \"\";\nfunction setBasePath(path) {\n basePath = path;\n}\nfunction getBasePath(subpath = \"\") {\n if (!basePath) {\n const scripts = [...document.getElementsByTagName(\"script\")];\n const configScript = scripts.find((script) => script.hasAttribute(\"data-shoelace\"));\n if (configScript) {\n setBasePath(configScript.getAttribute(\"data-shoelace\"));\n } else {\n const fallbackScript = scripts.find((s) => {\n return /shoelace(\\.min)?\\.js($|\\?)/.test(s.src) || /shoelace-autoloader(\\.min)?\\.js($|\\?)/.test(s.src);\n });\n let path = \"\";\n if (fallbackScript) {\n path = fallbackScript.getAttribute(\"src\");\n }\n setBasePath(path.split(\"/\").slice(0, -1).join(\"/\"));\n }\n }\n return basePath.replace(/\\/$/, \"\") + (subpath ? `/${subpath.replace(/^\\//, \"\")}` : ``);\n}\n\nexport {\n setBasePath,\n getBasePath\n};\n","import {\n getBasePath\n} from \"./chunk.3Y6SB6QS.js\";\n\n// src/components/icon/library.default.ts\nvar library = {\n name: \"default\",\n resolver: (name) => getBasePath(`assets/icons/${name}.svg`)\n};\nvar library_default_default = library;\n\nexport {\n library_default_default\n};\n","// src/components/icon/library.system.ts\nvar icons = {\n caret: `\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n <polyline points=\"6 9 12 15 18 9\"></polyline>\n </svg>\n `,\n check: `\n <svg part=\"checked-icon\" class=\"checkbox__icon\" viewBox=\"0 0 16 16\">\n <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\" stroke-linecap=\"round\">\n <g stroke=\"currentColor\">\n <g transform=\"translate(3.428571, 3.428571)\">\n <path d=\"M0,5.71428571 L3.42857143,9.14285714\"></path>\n <path d=\"M9.14285714,0 L3.42857143,9.14285714\"></path>\n </g>\n </g>\n </g>\n </svg>\n `,\n \"chevron-down\": `\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" class=\"bi bi-chevron-down\" viewBox=\"0 0 16 16\">\n <path fill-rule=\"evenodd\" d=\"M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z\"/>\n </svg>\n `,\n \"chevron-left\": `\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" class=\"bi bi-chevron-left\" viewBox=\"0 0 16 16\">\n <path fill-rule=\"evenodd\" d=\"M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z\"/>\n </svg>\n `,\n \"chevron-right\": `\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" class=\"bi bi-chevron-right\" viewBox=\"0 0 16 16\">\n <path fill-rule=\"evenodd\" d=\"M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z\"/>\n </svg>\n `,\n copy: `\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" class=\"bi bi-copy\" viewBox=\"0 0 16 16\">\n <path fill-rule=\"evenodd\" d=\"M4 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V2Zm2-1a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H6ZM2 5a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1v-1h1v1a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h1v1H2Z\"/>\n </svg>\n `,\n eye: `\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" class=\"bi bi-eye\" viewBox=\"0 0 16 16\">\n <path d=\"M16 8s-3-5.5-8-5.5S0 8 0 8s3 5.5 8 5.5S16 8 16 8zM1.173 8a13.133 13.133 0 0 1 1.66-2.043C4.12 4.668 5.88 3.5 8 3.5c2.12 0 3.879 1.168 5.168 2.457A13.133 13.133 0 0 1 14.828 8c-.058.087-.122.183-.195.288-.335.48-.83 1.12-1.465 1.755C11.879 11.332 10.119 12.5 8 12.5c-2.12 0-3.879-1.168-5.168-2.457A13.134 13.134 0 0 1 1.172 8z\"/>\n <path d=\"M8 5.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5zM4.5 8a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0z\"/>\n </svg>\n `,\n \"eye-slash\": `\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" class=\"bi bi-eye-slash\" viewBox=\"0 0 16 16\">\n <path d=\"M13.359 11.238C15.06 9.72 16 8 16 8s-3-5.5-8-5.5a7.028 7.028 0 0 0-2.79.588l.77.771A5.944 5.944 0 0 1 8 3.5c2.12 0 3.879 1.168 5.168 2.457A13.134 13.134 0 0 1 14.828 8c-.058.087-.122.183-.195.288-.335.48-.83 1.12-1.465 1.755-.165.165-.337.328-.517.486l.708.709z\"/>\n <path d=\"M11.297 9.176a3.5 3.5 0 0 0-4.474-4.474l.823.823a2.5 2.5 0 0 1 2.829 2.829l.822.822zm-2.943 1.299.822.822a3.5 3.5 0 0 1-4.474-4.474l.823.823a2.5 2.5 0 0 0 2.829 2.829z\"/>\n <path d=\"M3.35 5.47c-.18.16-.353.322-.518.487A13.134 13.134 0 0 0 1.172 8l.195.288c.335.48.83 1.12 1.465 1.755C4.121 11.332 5.881 12.5 8 12.5c.716 0 1.39-.133 2.02-.36l.77.772A7.029 7.029 0 0 1 8 13.5C3 13.5 0 8 0 8s.939-1.721 2.641-3.238l.708.709zm10.296 8.884-12-12 .708-.708 12 12-.708.708z\"/>\n </svg>\n `,\n eyedropper: `\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" class=\"bi bi-eyedropper\" viewBox=\"0 0 16 16\">\n <path d=\"M13.354.646a1.207 1.207 0 0 0-1.708 0L8.5 3.793l-.646-.647a.5.5 0 1 0-.708.708L8.293 5l-7.147 7.146A.5.5 0 0 0 1 12.5v1.793l-.854.853a.5.5 0 1 0 .708.707L1.707 15H3.5a.5.5 0 0 0 .354-.146L11 7.707l1.146 1.147a.5.5 0 0 0 .708-.708l-.647-.646 3.147-3.146a1.207 1.207 0 0 0 0-1.708l-2-2zM2 12.707l7-7L10.293 7l-7 7H2v-1.293z\"></path>\n </svg>\n `,\n \"grip-vertical\": `\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" class=\"bi bi-grip-vertical\" viewBox=\"0 0 16 16\">\n <path d=\"M7 2a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm3 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zM7 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm3 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zM7 8a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm3 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm-3 3a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm3 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm-3 3a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm3 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0z\"></path>\n </svg>\n `,\n indeterminate: `\n <svg part=\"indeterminate-icon\" class=\"checkbox__icon\" viewBox=\"0 0 16 16\">\n <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\" stroke-linecap=\"round\">\n <g stroke=\"currentColor\" stroke-width=\"2\">\n <g transform=\"translate(2.285714, 6.857143)\">\n <path d=\"M10.2857143,1.14285714 L1.14285714,1.14285714\"></path>\n </g>\n </g>\n </g>\n </svg>\n `,\n \"person-fill\": `\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" class=\"bi bi-person-fill\" viewBox=\"0 0 16 16\">\n <path d=\"M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H3zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"/>\n </svg>\n `,\n \"play-fill\": `\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" class=\"bi bi-play-fill\" viewBox=\"0 0 16 16\">\n <path d=\"m11.596 8.697-6.363 3.692c-.54.313-1.233-.066-1.233-.697V4.308c0-.63.692-1.01 1.233-.696l6.363 3.692a.802.802 0 0 1 0 1.393z\"></path>\n </svg>\n `,\n \"pause-fill\": `\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" class=\"bi bi-pause-fill\" viewBox=\"0 0 16 16\">\n <path d=\"M5.5 3.5A1.5 1.5 0 0 1 7 5v6a1.5 1.5 0 0 1-3 0V5a1.5 1.5 0 0 1 1.5-1.5zm5 0A1.5 1.5 0 0 1 12 5v6a1.5 1.5 0 0 1-3 0V5a1.5 1.5 0 0 1 1.5-1.5z\"></path>\n </svg>\n `,\n radio: `\n <svg part=\"checked-icon\" class=\"radio__icon\" viewBox=\"0 0 16 16\">\n <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n <g fill=\"currentColor\">\n <circle cx=\"8\" cy=\"8\" r=\"3.42857143\"></circle>\n </g>\n </g>\n </svg>\n `,\n \"star-fill\": `\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" class=\"bi bi-star-fill\" viewBox=\"0 0 16 16\">\n <path d=\"M3.612 15.443c-.386.198-.824-.149-.746-.592l.83-4.73L.173 6.765c-.329-.314-.158-.888.283-.95l4.898-.696L7.538.792c.197-.39.73-.39.927 0l2.184 4.327 4.898.696c.441.062.612.636.282.95l-3.522 3.356.83 4.73c.078.443-.36.79-.746.592L8 13.187l-4.389 2.256z\"/>\n </svg>\n `,\n \"x-lg\": `\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" class=\"bi bi-x-lg\" viewBox=\"0 0 16 16\">\n <path d=\"M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8 2.146 2.854Z\"/>\n </svg>\n `,\n \"x-circle-fill\": `\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" class=\"bi bi-x-circle-fill\" viewBox=\"0 0 16 16\">\n <path d=\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z\"></path>\n </svg>\n `\n};\nvar systemLibrary = {\n name: \"system\",\n resolver: (name) => {\n if (name in icons) {\n return `data:image/svg+xml,${encodeURIComponent(icons[name])}`;\n }\n return \"\";\n }\n};\nvar library_system_default = systemLibrary;\n\nexport {\n library_system_default\n};\n","import {\n library_default_default\n} from \"./chunk.P7ZG6EMR.js\";\nimport {\n library_system_default\n} from \"./chunk.3TFKS637.js\";\n\n// src/components/icon/library.ts\nvar registry = [library_default_default, library_system_default];\nvar watchedIcons = [];\nfunction watchIcon(icon) {\n watchedIcons.push(icon);\n}\nfunction unwatchIcon(icon) {\n watchedIcons = watchedIcons.filter((el) => el !== icon);\n}\nfunction getIconLibrary(name) {\n return registry.find((lib) => lib.name === name);\n}\nfunction registerIconLibrary(name, options) {\n unregisterIconLibrary(name);\n registry.push({\n name,\n resolver: options.resolver,\n mutator: options.mutator,\n spriteSheet: options.spriteSheet\n });\n watchedIcons.forEach((icon) => {\n if (icon.library === name) {\n icon.setIcon();\n }\n });\n}\nfunction unregisterIconLibrary(name) {\n registry = registry.filter((lib) => lib.name !== name);\n}\n\nexport {\n watchIcon,\n unwatchIcon,\n getIconLibrary,\n registerIconLibrary,\n unregisterIconLibrary\n};\n","// src/components/icon/icon.styles.ts\nimport { css } from \"lit\";\nvar icon_styles_default = css`\n :host {\n display: inline-block;\n width: 1em;\n height: 1em;\n box-sizing: content-box !important;\n }\n\n svg {\n display: block;\n height: 100%;\n width: 100%;\n }\n`;\n\nexport {\n icon_styles_default\n};\n","import {\n getIconLibrary,\n unwatchIcon,\n watchIcon\n} from \"./chunk.ZL53POKZ.js\";\nimport {\n icon_styles_default\n} from \"./chunk.QLXRCYS4.js\";\nimport {\n watch\n} from \"./chunk.GMYPQTFK.js\";\nimport {\n component_styles_default\n} from \"./chunk.TUVJKY7S.js\";\nimport {\n ShoelaceElement\n} from \"./chunk.4TUIT776.js\";\nimport {\n __decorateClass\n} from \"./chunk.KAW7D32O.js\";\n\n// src/components/icon/icon.component.ts\nimport { html } from \"lit\";\nimport { isTemplateResult } from \"lit/directive-helpers.js\";\nimport { property, state } from \"lit/decorators.js\";\nvar CACHEABLE_ERROR = Symbol();\nvar RETRYABLE_ERROR = Symbol();\nvar parser;\nvar iconCache = /* @__PURE__ */ new Map();\nvar SlIcon = class extends ShoelaceElement {\n constructor() {\n super(...arguments);\n this.initialRender = false;\n this.svg = null;\n this.label = \"\";\n this.library = \"default\";\n }\n /** Given a URL, this function returns the resulting SVG element or an appropriate error symbol. */\n async resolveIcon(url, library) {\n var _a;\n let fileData;\n if (library == null ? void 0 : library.spriteSheet) {\n this.svg = html`<svg part=\"svg\">\n <use part=\"use\" href=\"${url}\"></use>\n </svg>`;\n return this.svg;\n }\n try {\n fileData = await fetch(url, { mode: \"cors\" });\n if (!fileData.ok) return fileData.status === 410 ? CACHEABLE_ERROR : RETRYABLE_ERROR;\n } catch (e) {\n return RETRYABLE_ERROR;\n }\n try {\n const div = document.createElement(\"div\");\n div.innerHTML = await fileData.text();\n const svg = div.firstElementChild;\n if (((_a = svg == null ? void 0 : svg.tagName) == null ? void 0 : _a.toLowerCase()) !== \"svg\") return CACHEABLE_ERROR;\n if (!parser) parser = new DOMParser();\n const doc = parser.parseFromString(svg.outerHTML, \"text/html\");\n const svgEl = doc.body.querySelector(\"svg\");\n if (!svgEl) return CACHEABLE_ERROR;\n svgEl.part.add(\"svg\");\n return document.adoptNode(svgEl);\n } catch (e) {\n return CACHEABLE_ERROR;\n }\n }\n connectedCallback() {\n super.connectedCallback();\n watchIcon(this);\n }\n firstUpdated() {\n this.initialRender = true;\n this.setIcon();\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n unwatchIcon(this);\n }\n getIconSource() {\n const library = getIconLibrary(this.library);\n if (this.name && library) {\n return {\n url: library.resolver(this.name),\n fromLibrary: true\n };\n }\n return {\n url: this.src,\n fromLibrary: false\n };\n }\n handleLabelChange() {\n const hasLabel = typeof this.label === \"string\" && this.label.length > 0;\n if (hasLabel) {\n this.setAttribute(\"role\", \"img\");\n this.setAttribute(\"aria-label\", this.label);\n this.removeAttribute(\"aria-hidden\");\n } else {\n this.removeAttribute(\"role\");\n this.removeAttribute(\"aria-label\");\n this.setAttribute(\"aria-hidden\", \"true\");\n }\n }\n async setIcon() {\n var _a;\n const { url, fromLibrary } = this.getIconSource();\n const library = fromLibrary ? getIconLibrary(this.library) : void 0;\n if (!url) {\n this.svg = null;\n return;\n }\n let iconResolver = iconCache.get(url);\n if (!iconResolver) {\n iconResolver = this.resolveIcon(url, library);\n iconCache.set(url, iconResolver);\n }\n if (!this.initialRender) {\n return;\n }\n const svg = await iconResolver;\n if (svg === RETRYABLE_ERROR) {\n iconCache.delete(url);\n }\n if (url !== this.getIconSource().url) {\n return;\n }\n if (isTemplateResult(svg)) {\n this.svg = svg;\n if (library) {\n await this.updateComplete;\n const shadowSVG = this.shadowRoot.querySelector(\"[part='svg']\");\n if (typeof library.mutator === \"function\" && shadowSVG) {\n library.mutator(shadowSVG);\n }\n }\n return;\n }\n switch (svg) {\n case RETRYABLE_ERROR:\n case CACHEABLE_ERROR:\n this.svg = null;\n this.emit(\"sl-error\");\n break;\n default:\n this.svg = svg.cloneNode(true);\n (_a = library == null ? void 0 : library.mutator) == null ? void 0 : _a.call(library, this.svg);\n this.emit(\"sl-load\");\n }\n }\n render() {\n return this.svg;\n }\n};\nSlIcon.styles = [component_styles_default, icon_styles_default];\n__decorateClass([\n state()\n], SlIcon.prototype, \"svg\", 2);\n__decorateClass([\n property({ reflect: true })\n], SlIcon.prototype, \"name\", 2);\n__decorateClass([\n property()\n], SlIcon.prototype, \"src\", 2);\n__decorateClass([\n property()\n], SlIcon.prototype, \"label\", 2);\n__decorateClass([\n property({ reflect: true })\n], SlIcon.prototype, \"library\", 2);\n__decorateClass([\n watch(\"label\")\n], SlIcon.prototype, \"handleLabelChange\", 1);\n__decorateClass([\n watch([\"name\", \"src\", \"library\"])\n], SlIcon.prototype, \"setIcon\", 1);\n\nexport {\n SlIcon\n};\n","import {\n menu_item_styles_default\n} from \"./chunk.KZJNDGFO.js\";\nimport {\n SubmenuController\n} from \"./chunk.ZLIGP6HZ.js\";\nimport {\n SlPopup\n} from \"./chunk.5JY5FUCG.js\";\nimport {\n SlSpinner\n} from \"./chunk.36O46B5H.js\";\nimport {\n HasSlotController,\n getTextContent\n} from \"./chunk.NYIIDP5N.js\";\nimport {\n LocalizeController\n} from \"./chunk.6CTB5ZDJ.js\";\nimport {\n SlIcon\n} from \"./chunk.YHLNUJ7P.js\";\nimport {\n watch\n} from \"./chunk.GMYPQTFK.js\";\nimport {\n component_styles_default\n} from \"./chunk.TUVJKY7S.js\";\nimport {\n ShoelaceElement\n} from \"./chunk.4TUIT776.js\";\nimport {\n __decorateClass\n} from \"./chunk.KAW7D32O.js\";\n\n// src/components/menu-item/menu-item.component.ts\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { html } from \"lit\";\nimport { property, query } from \"lit/decorators.js\";\nvar SlMenuItem = class extends ShoelaceElement {\n constructor() {\n super(...arguments);\n this.localize = new LocalizeController(this);\n this.type = \"normal\";\n this.checked = false;\n this.value = \"\";\n this.loading = false;\n this.disabled = false;\n this.hasSlotController = new HasSlotController(this, \"submenu\");\n this.submenuController = new SubmenuController(this, this.hasSlotController);\n this.handleHostClick = (event) => {\n if (this.disabled) {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n };\n this.handleMouseOver = (event) => {\n this.focus();\n event.stopPropagation();\n };\n }\n connectedCallback() {\n super.connectedCallback();\n this.addEventListener(\"click\", this.handleHostClick);\n this.addEventListener(\"mouseover\", this.handleMouseOver);\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener(\"click\", this.handleHostClick);\n this.removeEventListener(\"mouseover\", this.handleMouseOver);\n }\n handleDefaultSlotChange() {\n const textLabel = this.getTextLabel();\n if (typeof this.cachedTextLabel === \"undefined\") {\n this.cachedTextLabel = textLabel;\n return;\n }\n if (textLabel !== this.cachedTextLabel) {\n this.cachedTextLabel = textLabel;\n this.emit(\"slotchange\", { bubbles: true, composed: false, cancelable: false });\n }\n }\n handleCheckedChange() {\n if (this.checked && this.type !== \"checkbox\") {\n this.checked = false;\n console.error('The checked attribute can only be used on menu items with type=\"checkbox\"', this);\n return;\n }\n if (this.type === \"checkbox\") {\n this.setAttribute(\"aria-checked\", this.checked ? \"true\" : \"false\");\n } else {\n this.removeAttribute(\"aria-checked\");\n }\n }\n handleDisabledChange() {\n this.setAttribute(\"aria-disabled\", this.disabled ? \"true\" : \"false\");\n }\n handleTypeChange() {\n if (this.type === \"checkbox\") {\n this.setAttribute(\"role\", \"menuitemcheckbox\");\n this.setAttribute(\"aria-checked\", this.checked ? \"true\" : \"false\");\n } else {\n this.setAttribute(\"role\", \"menuitem\");\n this.removeAttribute(\"aria-checked\");\n }\n }\n /** Returns a text label based on the contents of the menu item's default slot. */\n getTextLabel() {\n return getTextContent(this.defaultSlot);\n }\n isSubmenu() {\n return this.hasSlotController.test(\"submenu\");\n }\n render() {\n const isRtl = this.localize.dir() === \"rtl\";\n const isSubmenuExpanded = this.submenuController.isExpanded();\n return html`\n <div\n id=\"anchor\"\n part=\"base\"\n class=${classMap({\n \"menu-item\": true,\n \"menu-item--rtl\": isRtl,\n \"menu-item--checked\": this.checked,\n \"menu-item--disabled\": this.disabled,\n \"menu-item--loading\": this.loading,\n \"menu-item--has-submenu\": this.isSubmenu(),\n \"menu-item--submenu-expanded\": isSubmenuExpanded\n })}\n ?aria-haspopup=\"${this.isSubmenu()}\"\n ?aria-expanded=\"${isSubmenuExpanded ? true : false}\"\n >\n <span part=\"checked-icon\" class=\"menu-item__check\">\n <sl-icon name=\"check\" library=\"system\" aria-hidden=\"true\"></sl-icon>\n </span>\n\n <slot name=\"prefix\" part=\"prefix\" class=\"menu-item__prefix\"></slot>\n\n <slot part=\"label\" class=\"menu-item__label\" @slotchange=${this.handleDefaultSlotChange}></slot>\n\n <slot name=\"suffix\" part=\"suffix\" class=\"menu-item__suffix\"></slot>\n\n <span part=\"submenu-icon\" class=\"menu-item__chevron\">\n <sl-icon name=${isRtl ? \"chevron-left\" : \"chevron-right\"} library=\"system\" aria-hidden=\"true\"></sl-icon>\n </span>\n\n ${this.submenuController.renderSubmenu()}\n ${this.loading ? html` <sl-spinner part=\"spinner\" exportparts=\"base:spinner__base\"></sl-spinner> ` : \"\"}\n </div>\n `;\n }\n};\nSlMenuItem.styles = [component_styles_default, menu_item_styles_default];\nSlMenuItem.dependencies = {\n \"sl-icon\": SlIcon,\n \"sl-popup\": SlPopup,\n \"sl-spinner\": SlSpinner\n};\n__decorateClass([\n query(\"slot:not([name])\")\n], SlMenuItem.prototype, \"defaultSlot\", 2);\n__decorateClass([\n query(\".menu-item\")\n], SlMenuItem.prototype, \"menuItem\", 2);\n__decorateClass([\n property()\n], SlMenuItem.prototype, \"type\", 2);\n__decorateClass([\n property({ type: Boolean, reflect: true })\n], SlMenuItem.prototype, \"checked\", 2);\n__decorateClass([\n property()\n], SlMenuItem.prototype, \"value\", 2);\n__decorateClass([\n property({ type: Boolean, reflect: true })\n], SlMenuItem.prototype, \"loading\", 2);\n__decorateClass([\n property({ type: Boolean, reflect: true })\n], SlMenuItem.prototype, \"disabled\", 2);\n__decorateClass([\n watch(\"checked\")\n], SlMenuItem.prototype, \"handleCheckedChange\", 1);\n__decorateClass([\n watch(\"disabled\")\n], SlMenuItem.prototype, \"handleDisabledChange\", 1);\n__decorateClass([\n watch(\"type\")\n], SlMenuItem.prototype, \"handleTypeChange\", 1);\n\nexport {\n SlMenuItem\n};\n","import {\n SlMenuItem\n} from \"./chunk.WGYPSPL3.js\";\n\n// src/components/menu-item/menu-item.ts\nvar menu_item_default = SlMenuItem;\nSlMenuItem.define(\"sl-menu-item\");\n\nexport {\n menu_item_default\n};\n"],"version":3}
1
+ {"file":"chunk.HVTXQL7M.js","mappings":"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AK,CAAC,CAAC;AACP,GAAG;AACH,EAAE,MAAM,GAAG;AACX,IAAI,OAAOkB,CAAI,CAAC;AAChB;AACA,oBAAoB,EAAE,IAAI,CAAC,gBAAgB,CAAC;AAC5C,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC;AAClC,iBAAiB,EAAE,IAAI,CAAC,aAAa,CAAC;AACtC,mBAAmB,EAAE,IAAI,CAAC,eAAe,CAAC;AAC1C;AACA,IAAI,CAAC,CAAC;AACN,GAAG;AACH,CAAC,CAAC;AACF,MAAM,CAAC,MAAM,GAAG,CAAC,wBAAwB,EAAE,mBAAmB,CAAC,CAAC;AAChE,eAAe,CAAC;AAChB,EAAEE,GAAK,CAAC,MAAM,CAAC;AACf,CAAC,EAAE,MAAM,CAAC,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC;;AC5HtC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;;ACNxB;AAEA,IAAI,wBAAwB,GAAGpB,GAAG,CAAC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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","names":["css","LocalizeController","DefaultLocalizationController","e","t","computePosition","arrow","flip","offset","shift","size","getComputedStyle","autoPlacement$1","hide$1","inline$1","limitShift$1","s","r","html","classMap","query","property","o","ifDefined","h","n","i","createRef","ref"],"sources":["../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.LXP7GVU3.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.VESXC477.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.3KSWVBQ5.js","../node_modules/@shoelace-style/localize/dist/index.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.7BTDLTNI.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.6CTB5ZDJ.js","../node_modules/@lit/reactive-element/decorators/base.js","../node_modules/@lit/reactive-element/decorators/query.js","../node_modules/@floating-ui/utils/dist/floating-ui.utils.esm.js","../node_modules/@floating-ui/core/dist/floating-ui.core.esm.js","../node_modules/@floating-ui/utils/dom/floating-ui.utils.dom.esm.js","../node_modules/@floating-ui/dom/dist/floating-ui.dom.esm.js","../node_modules/lit-html/directive.js","../node_modules/lit-html/directives/class-map.js","../node_modules/composed-offset-position/dist/composed-offset-position.esm.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.5JY5FUCG.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.K7JGTRV7.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.B4BZKR24.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.AJ3ENQ5C.js","../node_modules/lit-html/directives/if-defined.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.C56A5M6T.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.UDWRA64J.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.VVA35HTY.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.Q6CVTR7F.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.JHOXTQXA.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.KZJNDGFO.js","../node_modules/lit-html/async-directive.js","../node_modules/lit-html/directives/ref.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.ZLIGP6HZ.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.7DUCI5S4.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.36O46B5H.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.NYIIDP5N.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.WGYPSPL3.js","../node_modules/@shoelace-style/shoelace/dist/chunks/chunk.HVTXQL7M.js"],"sourcesContent":["// src/components/dropdown/dropdown.styles.ts\nimport { css } from \"lit\";\nvar dropdown_styles_default = css`\n :host {\n display: inline-block;\n }\n\n .dropdown::part(popup) {\n z-index: var(--sl-z-index-dropdown);\n }\n\n .dropdown[data-current-placement^='top']::part(popup) {\n transform-origin: bottom;\n }\n\n .dropdown[data-current-placement^='bottom']::part(popup) {\n transform-origin: top;\n }\n\n .dropdown[data-current-placement^='left']::part(popup) {\n transform-origin: right;\n }\n\n .dropdown[data-current-placement^='right']::part(popup) {\n transform-origin: left;\n }\n\n .dropdown__trigger {\n display: block;\n }\n\n .dropdown__panel {\n font-family: var(--sl-font-sans);\n font-size: var(--sl-font-size-medium);\n font-weight: var(--sl-font-weight-normal);\n box-shadow: var(--sl-shadow-large);\n border-radius: var(--sl-border-radius-medium);\n pointer-events: none;\n }\n\n .dropdown--open .dropdown__panel {\n display: block;\n pointer-events: all;\n }\n\n /* When users slot a menu, make sure it conforms to the popup's auto-size */\n ::slotted(sl-menu) {\n max-width: var(--auto-size-available-width) !important;\n max-height: var(--auto-size-available-height) !important;\n }\n`;\n\nexport {\n dropdown_styles_default\n};\n","import {\n __yieldStar\n} from \"./chunk.KAW7D32O.js\";\n\n// src/internal/active-elements.ts\nfunction* activeElements(activeElement = document.activeElement) {\n if (activeElement === null || activeElement === void 0) return;\n yield activeElement;\n if (\"shadowRoot\" in activeElement && activeElement.shadowRoot && activeElement.shadowRoot.mode !== \"closed\") {\n yield* __yieldStar(activeElements(activeElement.shadowRoot.activeElement));\n }\n}\nfunction getDeepestActiveElement() {\n return [...activeElements()].pop();\n}\n\n// src/internal/tabbable.ts\nvar computedStyleMap = /* @__PURE__ */ new WeakMap();\nfunction getCachedComputedStyle(el) {\n let computedStyle = computedStyleMap.get(el);\n if (!computedStyle) {\n computedStyle = window.getComputedStyle(el, null);\n computedStyleMap.set(el, computedStyle);\n }\n return computedStyle;\n}\nfunction isVisible(el) {\n if (typeof el.checkVisibility === \"function\") {\n return el.checkVisibility({ checkOpacity: false, checkVisibilityCSS: true });\n }\n const computedStyle = getCachedComputedStyle(el);\n return computedStyle.visibility !== \"hidden\" && computedStyle.display !== \"none\";\n}\nfunction isOverflowingAndTabbable(el) {\n const computedStyle = getCachedComputedStyle(el);\n const { overflowY, overflowX } = computedStyle;\n if (overflowY === \"scroll\" || overflowX === \"scroll\") {\n return true;\n }\n if (overflowY !== \"auto\" || overflowX !== \"auto\") {\n return false;\n }\n const isOverflowingY = el.scrollHeight > el.clientHeight;\n if (isOverflowingY && overflowY === \"auto\") {\n return true;\n }\n const isOverflowingX = el.scrollWidth > el.clientWidth;\n if (isOverflowingX && overflowX === \"auto\") {\n return true;\n }\n return false;\n}\nfunction isTabbable(el) {\n const tag = el.tagName.toLowerCase();\n const tabindex = Number(el.getAttribute(\"tabindex\"));\n const hasTabindex = el.hasAttribute(\"tabindex\");\n if (hasTabindex && (isNaN(tabindex) || tabindex <= -1)) {\n return false;\n }\n if (el.hasAttribute(\"disabled\")) {\n return false;\n }\n if (el.closest(\"[inert]\")) {\n return false;\n }\n if (tag === \"input\" && el.getAttribute(\"type\") === \"radio\") {\n const rootNode = el.getRootNode();\n const findRadios = `input[type='radio'][name=\"${el.getAttribute(\"name\")}\"]`;\n const firstChecked = rootNode.querySelector(`${findRadios}:checked`);\n if (firstChecked) {\n return firstChecked === el;\n }\n const firstRadio = rootNode.querySelector(findRadios);\n return firstRadio === el;\n }\n if (!isVisible(el)) {\n return false;\n }\n if ((tag === \"audio\" || tag === \"video\") && el.hasAttribute(\"controls\")) {\n return true;\n }\n if (el.hasAttribute(\"tabindex\")) {\n return true;\n }\n if (el.hasAttribute(\"contenteditable\") && el.getAttribute(\"contenteditable\") !== \"false\") {\n return true;\n }\n const isNativelyTabbable = [\n \"button\",\n \"input\",\n \"select\",\n \"textarea\",\n \"a\",\n \"audio\",\n \"video\",\n \"summary\",\n \"iframe\"\n ].includes(tag);\n if (isNativelyTabbable) {\n return true;\n }\n return isOverflowingAndTabbable(el);\n}\nfunction getTabbableBoundary(root) {\n var _a, _b;\n const tabbableElements = getTabbableElements(root);\n const start = (_a = tabbableElements[0]) != null ? _a : null;\n const end = (_b = tabbableElements[tabbableElements.length - 1]) != null ? _b : null;\n return { start, end };\n}\nfunction getSlottedChildrenOutsideRootElement(slotElement, root) {\n var _a;\n return ((_a = slotElement.getRootNode({ composed: true })) == null ? void 0 : _a.host) !== root;\n}\nfunction getTabbableElements(root) {\n const walkedEls = /* @__PURE__ */ new WeakMap();\n const tabbableElements = [];\n function walk(el) {\n if (el instanceof Element) {\n if (el.hasAttribute(\"inert\") || el.closest(\"[inert]\")) {\n return;\n }\n if (walkedEls.has(el)) {\n return;\n }\n walkedEls.set(el, true);\n if (!tabbableElements.includes(el) && isTabbable(el)) {\n tabbableElements.push(el);\n }\n if (el instanceof HTMLSlotElement && getSlottedChildrenOutsideRootElement(el, root)) {\n el.assignedElements({ flatten: true }).forEach((assignedEl) => {\n walk(assignedEl);\n });\n }\n if (el.shadowRoot !== null && el.shadowRoot.mode === \"open\") {\n walk(el.shadowRoot);\n }\n }\n for (const e of el.children) {\n walk(e);\n }\n }\n walk(root);\n return tabbableElements.sort((a, b) => {\n const aTabindex = Number(a.getAttribute(\"tabindex\")) || 0;\n const bTabindex = Number(b.getAttribute(\"tabindex\")) || 0;\n return bTabindex - aTabindex;\n });\n}\n\nexport {\n activeElements,\n getDeepestActiveElement,\n getTabbableBoundary,\n getTabbableElements\n};\n","// src/components/popup/popup.styles.ts\nimport { css } from \"lit\";\nvar popup_styles_default = css`\n :host {\n --arrow-color: var(--sl-color-neutral-1000);\n --arrow-size: 6px;\n\n /*\n * These properties are computed to account for the arrow's dimensions after being rotated 45º. The constant\n * 0.7071 is derived from sin(45), which is the diagonal size of the arrow's container after rotating.\n */\n --arrow-size-diagonal: calc(var(--arrow-size) * 0.7071);\n --arrow-padding-offset: calc(var(--arrow-size-diagonal) - var(--arrow-size));\n\n display: contents;\n }\n\n .popup {\n position: absolute;\n isolation: isolate;\n max-width: var(--auto-size-available-width, none);\n max-height: var(--auto-size-available-height, none);\n }\n\n .popup--fixed {\n position: fixed;\n }\n\n .popup:not(.popup--active) {\n display: none;\n }\n\n .popup__arrow {\n position: absolute;\n width: calc(var(--arrow-size-diagonal) * 2);\n height: calc(var(--arrow-size-diagonal) * 2);\n rotate: 45deg;\n background: var(--arrow-color);\n z-index: -1;\n }\n\n /* Hover bridge */\n .popup-hover-bridge:not(.popup-hover-bridge--visible) {\n display: none;\n }\n\n .popup-hover-bridge {\n position: fixed;\n z-index: calc(var(--sl-z-index-dropdown) - 1);\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n clip-path: polygon(\n var(--hover-bridge-top-left-x, 0) var(--hover-bridge-top-left-y, 0),\n var(--hover-bridge-top-right-x, 0) var(--hover-bridge-top-right-y, 0),\n var(--hover-bridge-bottom-right-x, 0) var(--hover-bridge-bottom-right-y, 0),\n var(--hover-bridge-bottom-left-x, 0) var(--hover-bridge-bottom-left-y, 0)\n );\n }\n`;\n\nexport {\n popup_styles_default\n};\n","const connectedElements = new Set();\nconst translations = new Map();\nlet fallback;\nlet documentDirection = 'ltr';\nlet documentLanguage = 'en';\nconst isClient = (typeof MutationObserver !== \"undefined\" && typeof document !== \"undefined\" && typeof document.documentElement !== \"undefined\");\nif (isClient) {\n const documentElementObserver = new MutationObserver(update);\n documentDirection = document.documentElement.dir || 'ltr';\n documentLanguage = document.documentElement.lang || navigator.language;\n documentElementObserver.observe(document.documentElement, {\n attributes: true,\n attributeFilter: ['dir', 'lang']\n });\n}\nexport function registerTranslation(...translation) {\n translation.map(t => {\n const code = t.$code.toLowerCase();\n if (translations.has(code)) {\n translations.set(code, Object.assign(Object.assign({}, translations.get(code)), t));\n }\n else {\n translations.set(code, t);\n }\n if (!fallback) {\n fallback = t;\n }\n });\n update();\n}\nexport function update() {\n if (isClient) {\n documentDirection = document.documentElement.dir || 'ltr';\n documentLanguage = document.documentElement.lang || navigator.language;\n }\n [...connectedElements.keys()].map((el) => {\n if (typeof el.requestUpdate === 'function') {\n el.requestUpdate();\n }\n });\n}\nexport class LocalizeController {\n constructor(host) {\n this.host = host;\n this.host.addController(this);\n }\n hostConnected() {\n connectedElements.add(this.host);\n }\n hostDisconnected() {\n connectedElements.delete(this.host);\n }\n dir() {\n return `${this.host.dir || documentDirection}`.toLowerCase();\n }\n lang() {\n return `${this.host.lang || documentLanguage}`.toLowerCase();\n }\n getTranslationData(lang) {\n var _a, _b;\n const locale = new Intl.Locale(lang.replace(/_/g, '-'));\n const language = locale === null || locale === void 0 ? void 0 : locale.language.toLowerCase();\n const region = (_b = (_a = locale === null || locale === void 0 ? void 0 : locale.region) === null || _a === void 0 ? void 0 : _a.toLowerCase()) !== null && _b !== void 0 ? _b : '';\n const primary = translations.get(`${language}-${region}`);\n const secondary = translations.get(language);\n return { locale, language, region, primary, secondary };\n }\n exists(key, options) {\n var _a;\n const { primary, secondary } = this.getTranslationData((_a = options.lang) !== null && _a !== void 0 ? _a : this.lang());\n options = Object.assign({ includeFallback: false }, options);\n if ((primary && primary[key]) ||\n (secondary && secondary[key]) ||\n (options.includeFallback && fallback && fallback[key])) {\n return true;\n }\n return false;\n }\n term(key, ...args) {\n const { primary, secondary } = this.getTranslationData(this.lang());\n let term;\n if (primary && primary[key]) {\n term = primary[key];\n }\n else if (secondary && secondary[key]) {\n term = secondary[key];\n }\n else if (fallback && fallback[key]) {\n term = fallback[key];\n }\n else {\n console.error(`No translation found for: ${String(key)}`);\n return String(key);\n }\n if (typeof term === 'function') {\n return term(...args);\n }\n return term;\n }\n date(dateToFormat, options) {\n dateToFormat = new Date(dateToFormat);\n return new Intl.DateTimeFormat(this.lang(), options).format(dateToFormat);\n }\n number(numberToFormat, options) {\n numberToFormat = Number(numberToFormat);\n return isNaN(numberToFormat) ? '' : new Intl.NumberFormat(this.lang(), options).format(numberToFormat);\n }\n relativeTime(value, unit, options) {\n return new Intl.RelativeTimeFormat(this.lang(), options).format(value, unit);\n }\n}\n","// src/translations/en.ts\nimport { registerTranslation } from \"@shoelace-style/localize\";\nvar translation = {\n $code: \"en\",\n $name: \"English\",\n $dir: \"ltr\",\n carousel: \"Carousel\",\n clearEntry: \"Clear entry\",\n close: \"Close\",\n copied: \"Copied\",\n copy: \"Copy\",\n currentValue: \"Current value\",\n error: \"Error\",\n goToSlide: (slide, count) => `Go to slide ${slide} of ${count}`,\n hidePassword: \"Hide password\",\n loading: \"Loading\",\n nextSlide: \"Next slide\",\n numOptionsSelected: (num) => {\n if (num === 0) return \"No options selected\";\n if (num === 1) return \"1 option selected\";\n return `${num} options selected`;\n },\n previousSlide: \"Previous slide\",\n progress: \"Progress\",\n remove: \"Remove\",\n resize: \"Resize\",\n scrollToEnd: \"Scroll to end\",\n scrollToStart: \"Scroll to start\",\n selectAColorFromTheScreen: \"Select a color from the screen\",\n showPassword: \"Show password\",\n slideNum: (slide) => `Slide ${slide}`,\n toggleColorFormat: \"Toggle color format\"\n};\nregisterTranslation(translation);\nvar en_default = translation;\n\nexport {\n en_default\n};\n","import {\n en_default\n} from \"./chunk.7BTDLTNI.js\";\n\n// src/utilities/localize.ts\nimport { LocalizeController as DefaultLocalizationController, registerTranslation } from \"@shoelace-style/localize\";\nimport { registerTranslation as registerTranslation2 } from \"@shoelace-style/localize\";\nvar LocalizeController = class extends DefaultLocalizationController {\n};\nregisterTranslation(en_default);\n\nexport {\n LocalizeController,\n registerTranslation2 as registerTranslation\n};\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst e=(e,t,c)=>(c.configurable=!0,c.enumerable=!0,Reflect.decorate&&\"object\"!=typeof t&&Object.defineProperty(e,t,c),c);export{e as desc};\n//# sourceMappingURL=base.js.map\n","import{desc as t}from\"./base.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function e(e,r){return(n,s,i)=>{const o=t=>t.renderRoot?.querySelector(e)??null;if(r){const{get:e,set:r}=\"object\"==typeof s?n:i??(()=>{const t=Symbol();return{get(){return this[t]},set(e){this[t]=e}}})();return t(n,s,{get(){let t=e.call(this);return void 0===t&&(t=o(this),(null!==t||this.hasUpdated)&&r.call(this,t)),t}})}return t(n,s,{get(){return o(this)}})}}export{e as query};\n//# sourceMappingURL=query.js.map\n","/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n x: v,\n y: v\n});\nconst oppositeSideMap = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n start: 'end',\n end: 'start'\n};\nfunction clamp(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\nconst yAxisSides = /*#__PURE__*/new Set(['top', 'bottom']);\nfunction getSideAxis(placement) {\n return yAxisSides.has(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nconst lrPlacement = ['left', 'right'];\nconst rlPlacement = ['right', 'left'];\nconst tbPlacement = ['top', 'bottom'];\nconst btPlacement = ['bottom', 'top'];\nfunction getSideList(side, isStart, rtl) {\n switch (side) {\n case 'top':\n case 'bottom':\n if (rtl) return isStart ? rlPlacement : lrPlacement;\n return isStart ? lrPlacement : rlPlacement;\n case 'left':\n case 'right':\n return isStart ? tbPlacement : btPlacement;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === 'start', rtl);\n if (alignment) {\n list = list.map(side => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n const {\n x,\n y,\n width,\n height\n } = rect;\n return {\n width,\n height,\n top: y,\n left: x,\n right: x + width,\n bottom: y + height,\n x,\n y\n };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n let {\n reference,\n floating\n } = _ref;\n const sideAxis = getSideAxis(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const alignLength = getAxisLength(alignmentAxis);\n const side = getSide(placement);\n const isVertical = sideAxis === 'y';\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n let coords;\n switch (side) {\n case 'top':\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n case 'bottom':\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n case 'right':\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n case 'left':\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n switch (getAlignment(placement)) {\n case 'start':\n coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n case 'end':\n coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n }\n return coords;\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform\n } = config;\n const validMiddleware = middleware.filter(Boolean);\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n let rects = await platform.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement(rects, placement, rtl);\n let statefulPlacement = placement;\n let middlewareData = {};\n let resetCount = 0;\n for (let i = 0; i < validMiddleware.length; i++) {\n const {\n name,\n fn\n } = validMiddleware[i];\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform,\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData = {\n ...middlewareData,\n [name]: {\n ...middlewareData[name],\n ...data\n }\n };\n if (reset && resetCount <= 50) {\n resetCount++;\n if (typeof reset === 'object') {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n if (reset.rects) {\n rects = reset.rects === true ? await platform.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n ({\n x,\n y\n } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n }\n i = -1;\n }\n }\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n var _await$platform$isEle;\n if (options === void 0) {\n options = {};\n }\n const {\n x,\n y,\n platform,\n rects,\n elements,\n strategy\n } = state;\n const {\n boundary = 'clippingAncestors',\n rootBoundary = 'viewport',\n elementContext = 'floating',\n altBoundary = false,\n padding = 0\n } = evaluate(options, state);\n const paddingObject = getPaddingObject(padding);\n const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n boundary,\n rootBoundary,\n strategy\n }));\n const rect = elementContext === 'floating' ? {\n x,\n y,\n width: rects.floating.width,\n height: rects.floating.height\n } : rects.reference;\n const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n x: 1,\n y: 1\n } : {\n x: 1,\n y: 1\n };\n const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n elements,\n rect,\n offsetParent,\n strategy\n }) : rect);\n return {\n top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n };\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n name: 'arrow',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n platform,\n elements,\n middlewareData\n } = state;\n // Since `element` is required, we don't Partial<> the type.\n const {\n element,\n padding = 0\n } = evaluate(options, state) || {};\n if (element == null) {\n return {};\n }\n const paddingObject = getPaddingObject(padding);\n const coords = {\n x,\n y\n };\n const axis = getAlignmentAxis(placement);\n const length = getAxisLength(axis);\n const arrowDimensions = await platform.getDimensions(element);\n const isYAxis = axis === 'y';\n const minProp = isYAxis ? 'top' : 'left';\n const maxProp = isYAxis ? 'bottom' : 'right';\n const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n // DOM platform can return `window` as the `offsetParent`.\n if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n clientSize = elements.floating[clientProp] || rects.floating[length];\n }\n const centerToReference = endDiff / 2 - startDiff / 2;\n\n // If the padding is large enough that it causes the arrow to no longer be\n // centered, modify the padding so that it is centered.\n const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n // Make sure the arrow doesn't overflow the floating element if the center\n // point is outside the floating element's bounds.\n const min$1 = minPadding;\n const max = clientSize - arrowDimensions[length] - maxPadding;\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset = clamp(min$1, center, max);\n\n // If the reference is small enough that the arrow's padding causes it to\n // to point to nothing for an aligned placement, adjust the offset of the\n // floating element itself. To ensure `shift()` continues to take action,\n // a single reset is performed when this is true.\n const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n return {\n [axis]: coords[axis] + alignmentOffset,\n data: {\n [axis]: offset,\n centerOffset: center - offset - alignmentOffset,\n ...(shouldAddOffset && {\n alignmentOffset\n })\n },\n reset: shouldAddOffset\n };\n }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n return allowedPlacementsSortedByAlignment.filter(placement => {\n if (alignment) {\n return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n }\n return true;\n });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'autoPlacement',\n options,\n async fn(state) {\n var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n const {\n rects,\n middlewareData,\n placement,\n platform,\n elements\n } = state;\n const {\n crossAxis = false,\n alignment,\n allowedPlacements = placements,\n autoAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n const currentPlacement = placements$1[currentIndex];\n if (currentPlacement == null) {\n return {};\n }\n const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n // Make `computeCoords` start from the right place.\n if (placement !== currentPlacement) {\n return {\n reset: {\n placement: placements$1[0]\n }\n };\n }\n const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n placement: currentPlacement,\n overflows: currentOverflows\n }];\n const nextPlacement = placements$1[currentIndex + 1];\n\n // There are more placements to check.\n if (nextPlacement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n const placementsSortedByMostSpace = allOverflows.map(d => {\n const alignment = getAlignment(d.placement);\n return [d.placement, alignment && crossAxis ?\n // Check along the mainAxis and main crossAxis side.\n d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n // Check only the mainAxis.\n d.overflows[0], d.overflows];\n }).sort((a, b) => a[1] - b[1]);\n const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n // Aligned placements should not check their opposite crossAxis\n // side.\n getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n if (resetPlacement !== placement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: resetPlacement\n }\n };\n }\n return {};\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'flip',\n options,\n async fn(state) {\n var _middlewareData$arrow, _middlewareData$flip;\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement,\n platform,\n elements\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = 'bestFit',\n fallbackAxisSideDirection = 'none',\n flipAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n\n // If a reset by the arrow was caused due to an alignment offset being\n // added, we should skip any logic now since `flip()` has already done its\n // work.\n // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n const side = getSide(placement);\n const initialSideAxis = getSideAxis(initialPlacement);\n const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';\n if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n }\n const placements = [initialPlacement, ...fallbackPlacements];\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n if (checkMainAxis) {\n overflows.push(overflow[side]);\n }\n if (checkCrossAxis) {\n const sides = getAlignmentSides(placement, rects, rtl);\n overflows.push(overflow[sides[0]], overflow[sides[1]]);\n }\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }];\n\n // One or more sides is overflowing.\n if (!overflows.every(side => side <= 0)) {\n var _middlewareData$flip2, _overflowsData$filter;\n const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n const nextPlacement = placements[nextIndex];\n if (nextPlacement) {\n const ignoreCrossAxisOverflow = checkCrossAxis === 'alignment' ? initialSideAxis !== getSideAxis(nextPlacement) : false;\n if (!ignoreCrossAxisOverflow ||\n // We leave the current main axis only if every placement on that axis\n // overflows the main axis.\n overflowsData.every(d => d.overflows[0] > 0 && getSideAxis(d.placement) === initialSideAxis)) {\n // Try next placement and re-run the lifecycle.\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n }\n\n // First, find the candidates that fit on the mainAxis side of overflow,\n // then find the placement that fits the best on the main crossAxis side.\n let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n // Otherwise fallback.\n if (!resetPlacement) {\n switch (fallbackStrategy) {\n case 'bestFit':\n {\n var _overflowsData$filter2;\n const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\n if (hasFallbackAxisSideDirection) {\n const currentSideAxis = getSideAxis(d.placement);\n return currentSideAxis === initialSideAxis ||\n // Create a bias to the `y` side axis due to horizontal\n // reading directions favoring greater width.\n currentSideAxis === 'y';\n }\n return true;\n }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n if (placement) {\n resetPlacement = placement;\n }\n break;\n }\n case 'initialPlacement':\n resetPlacement = initialPlacement;\n break;\n }\n }\n if (placement !== resetPlacement) {\n return {\n reset: {\n placement: resetPlacement\n }\n };\n }\n }\n return {};\n }\n };\n};\n\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\nfunction isAnySideFullyClipped(overflow) {\n return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'hide',\n options,\n async fn(state) {\n const {\n rects\n } = state;\n const {\n strategy = 'referenceHidden',\n ...detectOverflowOptions\n } = evaluate(options, state);\n switch (strategy) {\n case 'referenceHidden':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n elementContext: 'reference'\n });\n const offsets = getSideOffsets(overflow, rects.reference);\n return {\n data: {\n referenceHiddenOffsets: offsets,\n referenceHidden: isAnySideFullyClipped(offsets)\n }\n };\n }\n case 'escaped':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n altBoundary: true\n });\n const offsets = getSideOffsets(overflow, rects.floating);\n return {\n data: {\n escapedOffsets: offsets,\n escaped: isAnySideFullyClipped(offsets)\n }\n };\n }\n default:\n {\n return {};\n }\n }\n }\n };\n};\n\nfunction getBoundingRect(rects) {\n const minX = min(...rects.map(rect => rect.left));\n const minY = min(...rects.map(rect => rect.top));\n const maxX = max(...rects.map(rect => rect.right));\n const maxY = max(...rects.map(rect => rect.bottom));\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n}\nfunction getRectsByLine(rects) {\n const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n const groups = [];\n let prevRect = null;\n for (let i = 0; i < sortedRects.length; i++) {\n const rect = sortedRects[i];\n if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n groups.push([rect]);\n } else {\n groups[groups.length - 1].push(rect);\n }\n prevRect = rect;\n }\n return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'inline',\n options,\n async fn(state) {\n const {\n placement,\n elements,\n rects,\n platform,\n strategy\n } = state;\n // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n // ClientRect's bounds, despite the event listener being triggered. A\n // padding of 2 seems to handle this issue.\n const {\n padding = 2,\n x,\n y\n } = evaluate(options, state);\n const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n const clientRects = getRectsByLine(nativeClientRects);\n const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n const paddingObject = getPaddingObject(padding);\n function getBoundingClientRect() {\n // There are two rects and they are disjoined.\n if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n // Find the first rect in which the point is fully inside.\n return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n }\n\n // There are 2 or more connected rects.\n if (clientRects.length >= 2) {\n if (getSideAxis(placement) === 'y') {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = getSide(placement) === 'top';\n const top = firstRect.top;\n const bottom = lastRect.bottom;\n const left = isTop ? firstRect.left : lastRect.left;\n const right = isTop ? firstRect.right : lastRect.right;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n const isLeftSide = getSide(placement) === 'left';\n const maxRight = max(...clientRects.map(rect => rect.right));\n const minLeft = min(...clientRects.map(rect => rect.left));\n const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n const top = measureRects[0].top;\n const bottom = measureRects[measureRects.length - 1].bottom;\n const left = minLeft;\n const right = maxRight;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n return fallback;\n }\n const resetRects = await platform.getElementRects({\n reference: {\n getBoundingClientRect\n },\n floating: elements.floating,\n strategy\n });\n if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n return {\n reset: {\n rects: resetRects\n }\n };\n }\n return {};\n }\n };\n};\n\nconst originSides = /*#__PURE__*/new Set(['left', 'top']);\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\n\nasync function convertValueToCoords(state, options) {\n const {\n placement,\n platform,\n elements\n } = state;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isVertical = getSideAxis(placement) === 'y';\n const mainAxisMulti = originSides.has(side) ? -1 : 1;\n const crossAxisMulti = rtl && isVertical ? -1 : 1;\n const rawValue = evaluate(options, state);\n\n // eslint-disable-next-line prefer-const\n let {\n mainAxis,\n crossAxis,\n alignmentAxis\n } = typeof rawValue === 'number' ? {\n mainAxis: rawValue,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: rawValue.mainAxis || 0,\n crossAxis: rawValue.crossAxis || 0,\n alignmentAxis: rawValue.alignmentAxis\n };\n if (alignment && typeof alignmentAxis === 'number') {\n crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n }\n return isVertical ? {\n x: crossAxis * crossAxisMulti,\n y: mainAxis * mainAxisMulti\n } : {\n x: mainAxis * mainAxisMulti,\n y: crossAxis * crossAxisMulti\n };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n if (options === void 0) {\n options = 0;\n }\n return {\n name: 'offset',\n options,\n async fn(state) {\n var _middlewareData$offse, _middlewareData$arrow;\n const {\n x,\n y,\n placement,\n middlewareData\n } = state;\n const diffCoords = await convertValueToCoords(state, options);\n\n // If the placement is the same and the arrow caused an alignment offset\n // then we don't need to change the positioning coordinates.\n if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: {\n ...diffCoords,\n placement\n }\n };\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'shift',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: _ref => {\n let {\n x,\n y\n } = _ref;\n return {\n x,\n y\n };\n }\n },\n ...detectOverflowOptions\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const crossAxis = getSideAxis(getSide(placement));\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n if (checkMainAxis) {\n const minSide = mainAxis === 'y' ? 'top' : 'left';\n const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n const min = mainAxisCoord + overflow[minSide];\n const max = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = clamp(min, mainAxisCoord, max);\n }\n if (checkCrossAxis) {\n const minSide = crossAxis === 'y' ? 'top' : 'left';\n const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n const min = crossAxisCoord + overflow[minSide];\n const max = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = clamp(min, crossAxisCoord, max);\n }\n const limitedCoords = limiter.fn({\n ...state,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return {\n ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y,\n enabled: {\n [mainAxis]: checkMainAxis,\n [crossAxis]: checkCrossAxis\n }\n }\n };\n }\n };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n options,\n fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = state;\n const {\n offset = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const crossAxis = getSideAxis(placement);\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = evaluate(offset, state);\n const computedOffset = typeof rawOffset === 'number' ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\n };\n if (checkMainAxis) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2;\n const len = mainAxis === 'y' ? 'width' : 'height';\n const isOriginSide = originSides.has(getSide(placement));\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'size',\n options,\n async fn(state) {\n var _state$middlewareData, _state$middlewareData2;\n const {\n placement,\n rects,\n platform,\n elements\n } = state;\n const {\n apply = () => {},\n ...detectOverflowOptions\n } = evaluate(options, state);\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isYAxis = getSideAxis(placement) === 'y';\n const {\n width,\n height\n } = rects.floating;\n let heightSide;\n let widthSide;\n if (side === 'top' || side === 'bottom') {\n heightSide = side;\n widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n } else {\n widthSide = side;\n heightSide = alignment === 'end' ? 'top' : 'bottom';\n }\n const maximumClippingHeight = height - overflow.top - overflow.bottom;\n const maximumClippingWidth = width - overflow.left - overflow.right;\n const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n const noShift = !state.middlewareData.shift;\n let availableHeight = overflowAvailableHeight;\n let availableWidth = overflowAvailableWidth;\n if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n availableWidth = maximumClippingWidth;\n }\n if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n availableHeight = maximumClippingHeight;\n }\n if (noShift && !alignment) {\n const xMin = max(overflow.left, 0);\n const xMax = max(overflow.right, 0);\n const yMin = max(overflow.top, 0);\n const yMax = max(overflow.bottom, 0);\n if (isYAxis) {\n availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n } else {\n availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n }\n }\n await apply({\n ...state,\n availableWidth,\n availableHeight\n });\n const nextDimensions = await platform.getDimensions(elements.floating);\n if (width !== nextDimensions.width || height !== nextDimensions.height) {\n return {\n reset: {\n rects: true\n }\n };\n }\n return {};\n }\n };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n","function hasWindow() {\n return typeof window !== 'undefined';\n}\nfunction getNodeName(node) {\n if (isNode(node)) {\n return (node.nodeName || '').toLowerCase();\n }\n // Mocked nodes in testing environments may not be instances of Node. By\n // returning `#document` an infinite loop won't occur.\n // https://github.com/floating-ui/floating-ui/issues/2317\n return '#document';\n}\nfunction getWindow(node) {\n var _node$ownerDocument;\n return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n var _ref;\n return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n if (!hasWindow() || typeof ShadowRoot === 'undefined') {\n return false;\n }\n return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nconst invalidOverflowDisplayValues = /*#__PURE__*/new Set(['inline', 'contents']);\nfunction isOverflowElement(element) {\n const {\n overflow,\n overflowX,\n overflowY,\n display\n } = getComputedStyle(element);\n return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !invalidOverflowDisplayValues.has(display);\n}\nconst tableElements = /*#__PURE__*/new Set(['table', 'td', 'th']);\nfunction isTableElement(element) {\n return tableElements.has(getNodeName(element));\n}\nconst topLayerSelectors = [':popover-open', ':modal'];\nfunction isTopLayer(element) {\n return topLayerSelectors.some(selector => {\n try {\n return element.matches(selector);\n } catch (_e) {\n return false;\n }\n });\n}\nconst transformProperties = ['transform', 'translate', 'scale', 'rotate', 'perspective'];\nconst willChangeValues = ['transform', 'translate', 'scale', 'rotate', 'perspective', 'filter'];\nconst containValues = ['paint', 'layout', 'strict', 'content'];\nfunction isContainingBlock(elementOrCss) {\n const webkit = isWebKit();\n const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n // https://drafts.csswg.org/css-transforms-2/#individual-transforms\n return transformProperties.some(value => css[value] ? css[value] !== 'none' : false) || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || willChangeValues.some(value => (css.willChange || '').includes(value)) || containValues.some(value => (css.contain || '').includes(value));\n}\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else if (isTopLayer(currentNode)) {\n return null;\n }\n currentNode = getParentNode(currentNode);\n }\n return null;\n}\nfunction isWebKit() {\n if (typeof CSS === 'undefined' || !CSS.supports) return false;\n return CSS.supports('-webkit-backdrop-filter', 'none');\n}\nconst lastTraversableNodeNames = /*#__PURE__*/new Set(['html', 'body', '#document']);\nfunction isLastTraversableNode(node) {\n return lastTraversableNodeNames.has(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n if (isElement(element)) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n }\n return {\n scrollLeft: element.scrollX,\n scrollTop: element.scrollY\n };\n}\nfunction getParentNode(node) {\n if (getNodeName(node) === 'html') {\n return node;\n }\n const result =\n // Step into the shadow DOM of the parent of a slotted node.\n node.assignedSlot ||\n // DOM Element detected.\n node.parentNode ||\n // ShadowRoot detected.\n isShadowRoot(node) && node.host ||\n // Fallback.\n getDocumentElement(node);\n return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n const parentNode = getParentNode(node);\n if (isLastTraversableNode(parentNode)) {\n return node.ownerDocument ? node.ownerDocument.body : node.body;\n }\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n var _node$ownerDocument2;\n if (list === void 0) {\n list = [];\n }\n if (traverseIframes === void 0) {\n traverseIframes = true;\n }\n const scrollableAncestor = getNearestOverflowAncestor(node);\n const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n const win = getWindow(scrollableAncestor);\n if (isBody) {\n const frameElement = getFrameElement(win);\n return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n }\n return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n}\nfunction getFrameElement(win) {\n return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getFrameElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isTopLayer, isWebKit };\n","import { rectToClientRect, arrow as arrow$1, autoPlacement as autoPlacement$1, detectOverflow as detectOverflow$1, flip as flip$1, hide as hide$1, inline as inline$1, limitShift as limitShift$1, offset as offset$1, shift as shift$1, size as size$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle, isHTMLElement, isElement, getWindow, isWebKit, getFrameElement, getNodeScroll, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n const css = getComputedStyle(element);\n // In testing environments, the `width` and `height` properties are empty\n // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n let width = parseFloat(css.width) || 0;\n let height = parseFloat(css.height) || 0;\n const hasOffset = isHTMLElement(element);\n const offsetWidth = hasOffset ? element.offsetWidth : width;\n const offsetHeight = hasOffset ? element.offsetHeight : height;\n const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n if (shouldFallback) {\n width = offsetWidth;\n height = offsetHeight;\n }\n return {\n width,\n height,\n $: shouldFallback\n };\n}\n\nfunction unwrapElement(element) {\n return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n const domElement = unwrapElement(element);\n if (!isHTMLElement(domElement)) {\n return createCoords(1);\n }\n const rect = domElement.getBoundingClientRect();\n const {\n width,\n height,\n $\n } = getCssDimensions(domElement);\n let x = ($ ? round(rect.width) : rect.width) / width;\n let y = ($ ? round(rect.height) : rect.height) / height;\n\n // 0, NaN, or Infinity should always fallback to 1.\n\n if (!x || !Number.isFinite(x)) {\n x = 1;\n }\n if (!y || !Number.isFinite(y)) {\n y = 1;\n }\n return {\n x,\n y\n };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n const win = getWindow(element);\n if (!isWebKit() || !win.visualViewport) {\n return noOffsets;\n }\n return {\n x: win.visualViewport.offsetLeft,\n y: win.visualViewport.offsetTop\n };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n return false;\n }\n return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n const clientRect = element.getBoundingClientRect();\n const domElement = unwrapElement(element);\n let scale = createCoords(1);\n if (includeScale) {\n if (offsetParent) {\n if (isElement(offsetParent)) {\n scale = getScale(offsetParent);\n }\n } else {\n scale = getScale(element);\n }\n }\n const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n let x = (clientRect.left + visualOffsets.x) / scale.x;\n let y = (clientRect.top + visualOffsets.y) / scale.y;\n let width = clientRect.width / scale.x;\n let height = clientRect.height / scale.y;\n if (domElement) {\n const win = getWindow(domElement);\n const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n let currentWin = win;\n let currentIFrame = getFrameElement(currentWin);\n while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n const iframeScale = getScale(currentIFrame);\n const iframeRect = currentIFrame.getBoundingClientRect();\n const css = getComputedStyle(currentIFrame);\n const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n x *= iframeScale.x;\n y *= iframeScale.y;\n width *= iframeScale.x;\n height *= iframeScale.y;\n x += left;\n y += top;\n currentWin = getWindow(currentIFrame);\n currentIFrame = getFrameElement(currentWin);\n }\n }\n return rectToClientRect({\n width,\n height,\n x,\n y\n });\n}\n\n// If <html> has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n const leftScroll = getNodeScroll(element).scrollLeft;\n if (!rect) {\n return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n }\n return rect.left + leftScroll;\n}\n\nfunction getHTMLOffset(documentElement, scroll, ignoreScrollbarX) {\n if (ignoreScrollbarX === void 0) {\n ignoreScrollbarX = false;\n }\n const htmlRect = documentElement.getBoundingClientRect();\n const x = htmlRect.left + scroll.scrollLeft - (ignoreScrollbarX ? 0 :\n // RTL <body> scrollbar.\n getWindowScrollBarX(documentElement, htmlRect));\n const y = htmlRect.top + scroll.scrollTop;\n return {\n x,\n y\n };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n elements,\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isFixed = strategy === 'fixed';\n const documentElement = getDocumentElement(offsetParent);\n const topLayer = elements ? isTopLayer(elements.floating) : false;\n if (offsetParent === documentElement || topLayer && isFixed) {\n return rect;\n }\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n let scale = createCoords(1);\n const offsets = createCoords(0);\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent);\n scale = getScale(offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n }\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll, true) : createCoords(0);\n return {\n width: rect.width * scale.x,\n height: rect.height * scale.y,\n x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n };\n}\n\nfunction getClientRects(element) {\n return Array.from(element.getClientRects());\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = element.ownerDocument.body;\n const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n if (getComputedStyle(body).direction === 'rtl') {\n x += max(html.clientWidth, body.clientWidth) - width;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\nfunction getViewportRect(element, strategy) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n const visualViewportBased = isWebKit();\n if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\nconst absoluteOrFixed = /*#__PURE__*/new Set(['absolute', 'fixed']);\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n const width = element.clientWidth * scale.x;\n const height = element.clientHeight * scale.y;\n const x = left * scale.x;\n const y = top * scale.y;\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n let rect;\n if (clippingAncestor === 'viewport') {\n rect = getViewportRect(element, strategy);\n } else if (clippingAncestor === 'document') {\n rect = getDocumentRect(getDocumentElement(element));\n } else if (isElement(clippingAncestor)) {\n rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n } else {\n const visualOffsets = getVisualOffsets(element);\n rect = {\n x: clippingAncestor.x - visualOffsets.x,\n y: clippingAncestor.y - visualOffsets.y,\n width: clippingAncestor.width,\n height: clippingAncestor.height\n };\n }\n return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n const parentNode = getParentNode(element);\n if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n return false;\n }\n return getComputedStyle(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n const cachedResult = cache.get(element);\n if (cachedResult) {\n return cachedResult;\n }\n let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n let currentContainingBlockComputedStyle = null;\n const elementIsFixed = getComputedStyle(element).position === 'fixed';\n let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n const computedStyle = getComputedStyle(currentNode);\n const currentNodeIsContaining = isContainingBlock(currentNode);\n if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n currentContainingBlockComputedStyle = null;\n }\n const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && absoluteOrFixed.has(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n if (shouldDropCurrentNode) {\n // Drop non-containing blocks.\n result = result.filter(ancestor => ancestor !== currentNode);\n } else {\n // Record last containing block for next iteration.\n currentContainingBlockComputedStyle = computedStyle;\n }\n currentNode = getParentNode(currentNode);\n }\n cache.set(element, result);\n return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary,\n strategy\n } = _ref;\n const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n const firstClippingAncestor = clippingAncestors[0];\n const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n return {\n width: clippingRect.right - clippingRect.left,\n height: clippingRect.bottom - clippingRect.top,\n x: clippingRect.left,\n y: clippingRect.top\n };\n}\n\nfunction getDimensions(element) {\n const {\n width,\n height\n } = getCssDimensions(element);\n return {\n width,\n height\n };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const isFixed = strategy === 'fixed';\n const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = createCoords(0);\n\n // If the <body> scrollbar appears on the left (e.g. RTL systems). Use\n // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n function setLeftRTLScrollbarOffset() {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n setLeftRTLScrollbarOffset();\n }\n }\n if (isFixed && !isOffsetParentAnElement && documentElement) {\n setLeftRTLScrollbarOffset();\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n return {\n x,\n y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction isStaticPositioned(element) {\n return getComputedStyle(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n if (!isHTMLElement(element) || getComputedStyle(element).position === 'fixed') {\n return null;\n }\n if (polyfill) {\n return polyfill(element);\n }\n let rawOffsetParent = element.offsetParent;\n\n // Firefox returns the <html> element as the offsetParent if it's non-static,\n // while Chrome and Safari return the <body> element. The <body> element must\n // be used to perform the correct calculations even if the <html> element is\n // non-static.\n if (getDocumentElement(element) === rawOffsetParent) {\n rawOffsetParent = rawOffsetParent.ownerDocument.body;\n }\n return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n const win = getWindow(element);\n if (isTopLayer(element)) {\n return win;\n }\n if (!isHTMLElement(element)) {\n let svgOffsetParent = getParentNode(element);\n while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n return svgOffsetParent;\n }\n svgOffsetParent = getParentNode(svgOffsetParent);\n }\n return win;\n }\n let offsetParent = getTrueOffsetParent(element, polyfill);\n while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n }\n if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n return win;\n }\n return offsetParent || getContainingBlock(element) || win;\n}\n\nconst getElementRects = async function (data) {\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n const getDimensionsFn = this.getDimensions;\n const floatingDimensions = await getDimensionsFn(data.floating);\n return {\n reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n floating: {\n x: 0,\n y: 0,\n width: floatingDimensions.width,\n height: floatingDimensions.height\n }\n };\n};\n\nfunction isRTL(element) {\n return getComputedStyle(element).direction === 'rtl';\n}\n\nconst platform = {\n convertOffsetParentRelativeRectToViewportRelativeRect,\n getDocumentElement,\n getClippingRect,\n getOffsetParent,\n getElementRects,\n getClientRects,\n getDimensions,\n getScale,\n isElement,\n isRTL\n};\n\nfunction rectsAreEqual(a, b) {\n return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n let io = null;\n let timeoutId;\n const root = getDocumentElement(element);\n function cleanup() {\n var _io;\n clearTimeout(timeoutId);\n (_io = io) == null || _io.disconnect();\n io = null;\n }\n function refresh(skip, threshold) {\n if (skip === void 0) {\n skip = false;\n }\n if (threshold === void 0) {\n threshold = 1;\n }\n cleanup();\n const elementRectForRootMargin = element.getBoundingClientRect();\n const {\n left,\n top,\n width,\n height\n } = elementRectForRootMargin;\n if (!skip) {\n onMove();\n }\n if (!width || !height) {\n return;\n }\n const insetTop = floor(top);\n const insetRight = floor(root.clientWidth - (left + width));\n const insetBottom = floor(root.clientHeight - (top + height));\n const insetLeft = floor(left);\n const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n const options = {\n rootMargin,\n threshold: max(0, min(1, threshold)) || 1\n };\n let isFirstUpdate = true;\n function handleObserve(entries) {\n const ratio = entries[0].intersectionRatio;\n if (ratio !== threshold) {\n if (!isFirstUpdate) {\n return refresh();\n }\n if (!ratio) {\n // If the reference is clipped, the ratio is 0. Throttle the refresh\n // to prevent an infinite loop of updates.\n timeoutId = setTimeout(() => {\n refresh(false, 1e-7);\n }, 1000);\n } else {\n refresh(false, ratio);\n }\n }\n if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {\n // It's possible that even though the ratio is reported as 1, the\n // element is not actually fully within the IntersectionObserver's root\n // area anymore. This can happen under performance constraints. This may\n // be a bug in the browser's IntersectionObserver implementation. To\n // work around this, we compare the element's bounding rect now with\n // what it was at the time we created the IntersectionObserver. If they\n // are not equal then the element moved, so we refresh.\n refresh();\n }\n isFirstUpdate = false;\n }\n\n // Older browsers don't support a `document` as the root and will throw an\n // error.\n try {\n io = new IntersectionObserver(handleObserve, {\n ...options,\n // Handle <iframe>s\n root: root.ownerDocument\n });\n } catch (_e) {\n io = new IntersectionObserver(handleObserve, options);\n }\n io.observe(element);\n }\n refresh(true);\n return cleanup;\n}\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n ancestorScroll = true,\n ancestorResize = true,\n elementResize = typeof ResizeObserver === 'function',\n layoutShift = typeof IntersectionObserver === 'function',\n animationFrame = false\n } = options;\n const referenceEl = unwrapElement(reference);\n const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...getOverflowAncestors(floating)] : [];\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.addEventListener('scroll', update, {\n passive: true\n });\n ancestorResize && ancestor.addEventListener('resize', update);\n });\n const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n let reobserveFrame = -1;\n let resizeObserver = null;\n if (elementResize) {\n resizeObserver = new ResizeObserver(_ref => {\n let [firstEntry] = _ref;\n if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {\n // Prevent update loops when using the `size` middleware.\n // https://github.com/floating-ui/floating-ui/issues/1740\n resizeObserver.unobserve(floating);\n cancelAnimationFrame(reobserveFrame);\n reobserveFrame = requestAnimationFrame(() => {\n var _resizeObserver;\n (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n });\n }\n update();\n });\n if (referenceEl && !animationFrame) {\n resizeObserver.observe(referenceEl);\n }\n resizeObserver.observe(floating);\n }\n let frameId;\n let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n if (animationFrame) {\n frameLoop();\n }\n function frameLoop() {\n const nextRefRect = getBoundingClientRect(reference);\n if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {\n update();\n }\n prevRefRect = nextRefRect;\n frameId = requestAnimationFrame(frameLoop);\n }\n update();\n return () => {\n var _resizeObserver2;\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.removeEventListener('scroll', update);\n ancestorResize && ancestor.removeEventListener('resize', update);\n });\n cleanupIo == null || cleanupIo();\n (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n resizeObserver = null;\n if (animationFrame) {\n cancelAnimationFrame(frameId);\n }\n };\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nconst detectOverflow = detectOverflow$1;\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = offset$1;\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = autoPlacement$1;\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = shift$1;\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = flip$1;\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = size$1;\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = hide$1;\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = arrow$1;\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = inline$1;\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = limitShift$1;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n */\nconst computePosition = (reference, floating, options) => {\n // This caches the expensive `getClippingElementAncestors` function so that\n // multiple lifecycle resets re-use the same result. It only lives for a\n // single call. If other functions become expensive, we can add them as well.\n const cache = new Map();\n const mergedOptions = {\n platform,\n ...options\n };\n const platformWithCache = {\n ...mergedOptions.platform,\n _c: cache\n };\n return computePosition$1(reference, floating, {\n ...mergedOptions,\n platform: platformWithCache\n });\n};\n\nexport { arrow, autoPlacement, autoUpdate, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, platform, shift, size };\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e=t=>(...e)=>({_$litDirective$:t,values:e});class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}export{i as Directive,t as PartType,e as directive};\n//# sourceMappingURL=directive.js.map\n","import{noChange as t}from\"../lit-html.js\";import{directive as s,Directive as i,PartType as r}from\"../directive.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const e=s(class extends i{constructor(t){if(super(t),t.type!==r.ATTRIBUTE||\"class\"!==t.name||t.strings?.length>2)throw Error(\"`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.\")}render(t){return\" \"+Object.keys(t).filter((s=>t[s])).join(\" \")+\" \"}update(s,[i]){if(void 0===this.st){this.st=new Set,void 0!==s.strings&&(this.nt=new Set(s.strings.join(\" \").split(/\\s/).filter((t=>\"\"!==t))));for(const t in i)i[t]&&!this.nt?.has(t)&&this.st.add(t);return this.render(i)}const r=s.element.classList;for(const t of this.st)t in i||(r.remove(t),this.st.delete(t));for(const t in i){const s=!!i[t];s===this.st.has(t)||this.nt?.has(t)||(s?(r.add(t),this.st.add(t)):(r.remove(t),this.st.delete(t)))}return t}});export{e as classMap};\n//# sourceMappingURL=class-map.js.map\n","import { isContainingBlock } from '@floating-ui/utils/dom';\n\nfunction offsetParent(element) {\n return offsetParentPolyfill(element);\n}\nfunction offsetTop(element) {\n return offsetTopLeftPolyfill(element, 'offsetTop');\n}\nfunction offsetLeft(element) {\n return offsetTopLeftPolyfill(element, 'offsetLeft');\n}\nfunction flatTreeParent(element) {\n if (element.assignedSlot) {\n return element.assignedSlot;\n }\n if (element.parentNode instanceof ShadowRoot) {\n return element.parentNode.host;\n }\n return element.parentNode;\n}\nfunction ancestorTreeScopes(element) {\n const scopes = new Set();\n let currentScope = element.getRootNode();\n while (currentScope) {\n scopes.add(currentScope);\n currentScope = currentScope.parentNode\n ? currentScope.parentNode.getRootNode()\n : null;\n }\n return scopes;\n}\nfunction offsetParentPolyfill(element) {\n // Do an initial walk to check for display:none ancestors.\n for (let ancestor = element; ancestor; ancestor = flatTreeParent(ancestor)) {\n if (!(ancestor instanceof Element)) {\n continue;\n }\n if (getComputedStyle(ancestor).display === 'none') {\n return null;\n }\n }\n for (let ancestor = flatTreeParent(element); ancestor; ancestor = flatTreeParent(ancestor)) {\n if (!(ancestor instanceof Element)) {\n continue;\n }\n const style = getComputedStyle(ancestor);\n // Display:contents nodes aren't in the layout tree, so they should be skipped.\n if (style.display === 'contents') {\n continue;\n }\n if (style.position !== 'static' || isContainingBlock(style)) {\n return ancestor;\n }\n if (ancestor.tagName === 'BODY') {\n return ancestor;\n }\n }\n return null;\n}\nfunction offsetTopLeftPolyfill(element, offsetTopOrLeft) {\n let value = element[offsetTopOrLeft];\n let nextOffsetParent = offsetParentPolyfill(element);\n const scopes = ancestorTreeScopes(element);\n while (nextOffsetParent && !scopes.has(nextOffsetParent.getRootNode())) {\n value -= nextOffsetParent[offsetTopOrLeft];\n nextOffsetParent = offsetParentPolyfill(nextOffsetParent);\n }\n return value;\n}\n\nexport { offsetLeft, offsetParent, offsetTop };\n","import {\n popup_styles_default\n} from \"./chunk.3KSWVBQ5.js\";\nimport {\n LocalizeController\n} from \"./chunk.6CTB5ZDJ.js\";\nimport {\n component_styles_default\n} from \"./chunk.TUVJKY7S.js\";\nimport {\n ShoelaceElement\n} from \"./chunk.4TUIT776.js\";\nimport {\n __decorateClass,\n __spreadProps,\n __spreadValues\n} from \"./chunk.KAW7D32O.js\";\n\n// src/components/popup/popup.component.ts\nimport { arrow, autoUpdate, computePosition, flip, offset, platform, shift, size } from \"@floating-ui/dom\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { html } from \"lit\";\nimport { offsetParent } from \"composed-offset-position\";\nimport { property, query } from \"lit/decorators.js\";\nfunction isVirtualElement(e) {\n return e !== null && typeof e === \"object\" && \"getBoundingClientRect\" in e && (\"contextElement\" in e ? e.contextElement instanceof Element : true);\n}\nvar SlPopup = class extends ShoelaceElement {\n constructor() {\n super(...arguments);\n this.localize = new LocalizeController(this);\n this.active = false;\n this.placement = \"top\";\n this.strategy = \"absolute\";\n this.distance = 0;\n this.skidding = 0;\n this.arrow = false;\n this.arrowPlacement = \"anchor\";\n this.arrowPadding = 10;\n this.flip = false;\n this.flipFallbackPlacements = \"\";\n this.flipFallbackStrategy = \"best-fit\";\n this.flipPadding = 0;\n this.shift = false;\n this.shiftPadding = 0;\n this.autoSizePadding = 0;\n this.hoverBridge = false;\n this.updateHoverBridge = () => {\n if (this.hoverBridge && this.anchorEl) {\n const anchorRect = this.anchorEl.getBoundingClientRect();\n const popupRect = this.popup.getBoundingClientRect();\n const isVertical = this.placement.includes(\"top\") || this.placement.includes(\"bottom\");\n let topLeftX = 0;\n let topLeftY = 0;\n let topRightX = 0;\n let topRightY = 0;\n let bottomLeftX = 0;\n let bottomLeftY = 0;\n let bottomRightX = 0;\n let bottomRightY = 0;\n if (isVertical) {\n if (anchorRect.top < popupRect.top) {\n topLeftX = anchorRect.left;\n topLeftY = anchorRect.bottom;\n topRightX = anchorRect.right;\n topRightY = anchorRect.bottom;\n bottomLeftX = popupRect.left;\n bottomLeftY = popupRect.top;\n bottomRightX = popupRect.right;\n bottomRightY = popupRect.top;\n } else {\n topLeftX = popupRect.left;\n topLeftY = popupRect.bottom;\n topRightX = popupRect.right;\n topRightY = popupRect.bottom;\n bottomLeftX = anchorRect.left;\n bottomLeftY = anchorRect.top;\n bottomRightX = anchorRect.right;\n bottomRightY = anchorRect.top;\n }\n } else {\n if (anchorRect.left < popupRect.left) {\n topLeftX = anchorRect.right;\n topLeftY = anchorRect.top;\n topRightX = popupRect.left;\n topRightY = popupRect.top;\n bottomLeftX = anchorRect.right;\n bottomLeftY = anchorRect.bottom;\n bottomRightX = popupRect.left;\n bottomRightY = popupRect.bottom;\n } else {\n topLeftX = popupRect.right;\n topLeftY = popupRect.top;\n topRightX = anchorRect.left;\n topRightY = anchorRect.top;\n bottomLeftX = popupRect.right;\n bottomLeftY = popupRect.bottom;\n bottomRightX = anchorRect.left;\n bottomRightY = anchorRect.bottom;\n }\n }\n this.style.setProperty(\"--hover-bridge-top-left-x\", `${topLeftX}px`);\n this.style.setProperty(\"--hover-bridge-top-left-y\", `${topLeftY}px`);\n this.style.setProperty(\"--hover-bridge-top-right-x\", `${topRightX}px`);\n this.style.setProperty(\"--hover-bridge-top-right-y\", `${topRightY}px`);\n this.style.setProperty(\"--hover-bridge-bottom-left-x\", `${bottomLeftX}px`);\n this.style.setProperty(\"--hover-bridge-bottom-left-y\", `${bottomLeftY}px`);\n this.style.setProperty(\"--hover-bridge-bottom-right-x\", `${bottomRightX}px`);\n this.style.setProperty(\"--hover-bridge-bottom-right-y\", `${bottomRightY}px`);\n }\n };\n }\n async connectedCallback() {\n super.connectedCallback();\n await this.updateComplete;\n this.start();\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n this.stop();\n }\n async updated(changedProps) {\n super.updated(changedProps);\n if (changedProps.has(\"active\")) {\n if (this.active) {\n this.start();\n } else {\n this.stop();\n }\n }\n if (changedProps.has(\"anchor\")) {\n this.handleAnchorChange();\n }\n if (this.active) {\n await this.updateComplete;\n this.reposition();\n }\n }\n async handleAnchorChange() {\n await this.stop();\n if (this.anchor && typeof this.anchor === \"string\") {\n const root = this.getRootNode();\n this.anchorEl = root.getElementById(this.anchor);\n } else if (this.anchor instanceof Element || isVirtualElement(this.anchor)) {\n this.anchorEl = this.anchor;\n } else {\n this.anchorEl = this.querySelector('[slot=\"anchor\"]');\n }\n if (this.anchorEl instanceof HTMLSlotElement) {\n this.anchorEl = this.anchorEl.assignedElements({ flatten: true })[0];\n }\n if (this.anchorEl && this.active) {\n this.start();\n }\n }\n start() {\n if (!this.anchorEl || !this.active) {\n return;\n }\n this.cleanup = autoUpdate(this.anchorEl, this.popup, () => {\n this.reposition();\n });\n }\n async stop() {\n return new Promise((resolve) => {\n if (this.cleanup) {\n this.cleanup();\n this.cleanup = void 0;\n this.removeAttribute(\"data-current-placement\");\n this.style.removeProperty(\"--auto-size-available-width\");\n this.style.removeProperty(\"--auto-size-available-height\");\n requestAnimationFrame(() => resolve());\n } else {\n resolve();\n }\n });\n }\n /** Forces the popup to recalculate and reposition itself. */\n reposition() {\n if (!this.active || !this.anchorEl) {\n return;\n }\n const middleware = [\n // The offset middleware goes first\n offset({ mainAxis: this.distance, crossAxis: this.skidding })\n ];\n if (this.sync) {\n middleware.push(\n size({\n apply: ({ rects }) => {\n const syncWidth = this.sync === \"width\" || this.sync === \"both\";\n const syncHeight = this.sync === \"height\" || this.sync === \"both\";\n this.popup.style.width = syncWidth ? `${rects.reference.width}px` : \"\";\n this.popup.style.height = syncHeight ? `${rects.reference.height}px` : \"\";\n }\n })\n );\n } else {\n this.popup.style.width = \"\";\n this.popup.style.height = \"\";\n }\n if (this.flip) {\n middleware.push(\n flip({\n boundary: this.flipBoundary,\n // @ts-expect-error - We're converting a string attribute to an array here\n fallbackPlacements: this.flipFallbackPlacements,\n fallbackStrategy: this.flipFallbackStrategy === \"best-fit\" ? \"bestFit\" : \"initialPlacement\",\n padding: this.flipPadding\n })\n );\n }\n if (this.shift) {\n middleware.push(\n shift({\n boundary: this.shiftBoundary,\n padding: this.shiftPadding\n })\n );\n }\n if (this.autoSize) {\n middleware.push(\n size({\n boundary: this.autoSizeBoundary,\n padding: this.autoSizePadding,\n apply: ({ availableWidth, availableHeight }) => {\n if (this.autoSize === \"vertical\" || this.autoSize === \"both\") {\n this.style.setProperty(\"--auto-size-available-height\", `${availableHeight}px`);\n } else {\n this.style.removeProperty(\"--auto-size-available-height\");\n }\n if (this.autoSize === \"horizontal\" || this.autoSize === \"both\") {\n this.style.setProperty(\"--auto-size-available-width\", `${availableWidth}px`);\n } else {\n this.style.removeProperty(\"--auto-size-available-width\");\n }\n }\n })\n );\n } else {\n this.style.removeProperty(\"--auto-size-available-width\");\n this.style.removeProperty(\"--auto-size-available-height\");\n }\n if (this.arrow) {\n middleware.push(\n arrow({\n element: this.arrowEl,\n padding: this.arrowPadding\n })\n );\n }\n const getOffsetParent = this.strategy === \"absolute\" ? (element) => platform.getOffsetParent(element, offsetParent) : platform.getOffsetParent;\n computePosition(this.anchorEl, this.popup, {\n placement: this.placement,\n middleware,\n strategy: this.strategy,\n platform: __spreadProps(__spreadValues({}, platform), {\n getOffsetParent\n })\n }).then(({ x, y, middlewareData, placement }) => {\n const isRtl = this.localize.dir() === \"rtl\";\n const staticSide = { top: \"bottom\", right: \"left\", bottom: \"top\", left: \"right\" }[placement.split(\"-\")[0]];\n this.setAttribute(\"data-current-placement\", placement);\n Object.assign(this.popup.style, {\n left: `${x}px`,\n top: `${y}px`\n });\n if (this.arrow) {\n const arrowX = middlewareData.arrow.x;\n const arrowY = middlewareData.arrow.y;\n let top = \"\";\n let right = \"\";\n let bottom = \"\";\n let left = \"\";\n if (this.arrowPlacement === \"start\") {\n const value = typeof arrowX === \"number\" ? `calc(${this.arrowPadding}px - var(--arrow-padding-offset))` : \"\";\n top = typeof arrowY === \"number\" ? `calc(${this.arrowPadding}px - var(--arrow-padding-offset))` : \"\";\n right = isRtl ? value : \"\";\n left = isRtl ? \"\" : value;\n } else if (this.arrowPlacement === \"end\") {\n const value = typeof arrowX === \"number\" ? `calc(${this.arrowPadding}px - var(--arrow-padding-offset))` : \"\";\n right = isRtl ? \"\" : value;\n left = isRtl ? value : \"\";\n bottom = typeof arrowY === \"number\" ? `calc(${this.arrowPadding}px - var(--arrow-padding-offset))` : \"\";\n } else if (this.arrowPlacement === \"center\") {\n left = typeof arrowX === \"number\" ? `calc(50% - var(--arrow-size-diagonal))` : \"\";\n top = typeof arrowY === \"number\" ? `calc(50% - var(--arrow-size-diagonal))` : \"\";\n } else {\n left = typeof arrowX === \"number\" ? `${arrowX}px` : \"\";\n top = typeof arrowY === \"number\" ? `${arrowY}px` : \"\";\n }\n Object.assign(this.arrowEl.style, {\n top,\n right,\n bottom,\n left,\n [staticSide]: \"calc(var(--arrow-size-diagonal) * -1)\"\n });\n }\n });\n requestAnimationFrame(() => this.updateHoverBridge());\n this.emit(\"sl-reposition\");\n }\n render() {\n return html`\n <slot name=\"anchor\" @slotchange=${this.handleAnchorChange}></slot>\n\n <span\n part=\"hover-bridge\"\n class=${classMap({\n \"popup-hover-bridge\": true,\n \"popup-hover-bridge--visible\": this.hoverBridge && this.active\n })}\n ></span>\n\n <div\n part=\"popup\"\n class=${classMap({\n popup: true,\n \"popup--active\": this.active,\n \"popup--fixed\": this.strategy === \"fixed\",\n \"popup--has-arrow\": this.arrow\n })}\n >\n <slot></slot>\n ${this.arrow ? html`<div part=\"arrow\" class=\"popup__arrow\" role=\"presentation\"></div>` : \"\"}\n </div>\n `;\n }\n};\nSlPopup.styles = [component_styles_default, popup_styles_default];\n__decorateClass([\n query(\".popup\")\n], SlPopup.prototype, \"popup\", 2);\n__decorateClass([\n query(\".popup__arrow\")\n], SlPopup.prototype, \"arrowEl\", 2);\n__decorateClass([\n property()\n], SlPopup.prototype, \"anchor\", 2);\n__decorateClass([\n property({ type: Boolean, reflect: true })\n], SlPopup.prototype, \"active\", 2);\n__decorateClass([\n property({ reflect: true })\n], SlPopup.prototype, \"placement\", 2);\n__decorateClass([\n property({ reflect: true })\n], SlPopup.prototype, \"strategy\", 2);\n__decorateClass([\n property({ type: Number })\n], SlPopup.prototype, \"distance\", 2);\n__decorateClass([\n property({ type: Number })\n], SlPopup.prototype, \"skidding\", 2);\n__decorateClass([\n property({ type: Boolean })\n], SlPopup.prototype, \"arrow\", 2);\n__decorateClass([\n property({ attribute: \"arrow-placement\" })\n], SlPopup.prototype, \"arrowPlacement\", 2);\n__decorateClass([\n property({ attribute: \"arrow-padding\", type: Number })\n], SlPopup.prototype, \"arrowPadding\", 2);\n__decorateClass([\n property({ type: Boolean })\n], SlPopup.prototype, \"flip\", 2);\n__decorateClass([\n property({\n attribute: \"flip-fallback-placements\",\n converter: {\n fromAttribute: (value) => {\n return value.split(\" \").map((p) => p.trim()).filter((p) => p !== \"\");\n },\n toAttribute: (value) => {\n return value.join(\" \");\n }\n }\n })\n], SlPopup.prototype, \"flipFallbackPlacements\", 2);\n__decorateClass([\n property({ attribute: \"flip-fallback-strategy\" })\n], SlPopup.prototype, \"flipFallbackStrategy\", 2);\n__decorateClass([\n property({ type: Object })\n], SlPopup.prototype, \"flipBoundary\", 2);\n__decorateClass([\n property({ attribute: \"flip-padding\", type: Number })\n], SlPopup.prototype, \"flipPadding\", 2);\n__decorateClass([\n property({ type: Boolean })\n], SlPopup.prototype, \"shift\", 2);\n__decorateClass([\n property({ type: Object })\n], SlPopup.prototype, \"shiftBoundary\", 2);\n__decorateClass([\n property({ attribute: \"shift-padding\", type: Number })\n], SlPopup.prototype, \"shiftPadding\", 2);\n__decorateClass([\n property({ attribute: \"auto-size\" })\n], SlPopup.prototype, \"autoSize\", 2);\n__decorateClass([\n property()\n], SlPopup.prototype, \"sync\", 2);\n__decorateClass([\n property({ type: Object })\n], SlPopup.prototype, \"autoSizeBoundary\", 2);\n__decorateClass([\n property({ attribute: \"auto-size-padding\", type: Number })\n], SlPopup.prototype, \"autoSizePadding\", 2);\n__decorateClass([\n property({ attribute: \"hover-bridge\", type: Boolean })\n], SlPopup.prototype, \"hoverBridge\", 2);\n\nexport {\n SlPopup\n};\n","import {\n __spreadProps,\n __spreadValues\n} from \"./chunk.KAW7D32O.js\";\n\n// src/utilities/animation-registry.ts\nvar defaultAnimationRegistry = /* @__PURE__ */ new Map();\nvar customAnimationRegistry = /* @__PURE__ */ new WeakMap();\nfunction ensureAnimation(animation) {\n return animation != null ? animation : { keyframes: [], options: { duration: 0 } };\n}\nfunction getLogicalAnimation(animation, dir) {\n if (dir.toLowerCase() === \"rtl\") {\n return {\n keyframes: animation.rtlKeyframes || animation.keyframes,\n options: animation.options\n };\n }\n return animation;\n}\nfunction setDefaultAnimation(animationName, animation) {\n defaultAnimationRegistry.set(animationName, ensureAnimation(animation));\n}\nfunction setAnimation(el, animationName, animation) {\n customAnimationRegistry.set(el, __spreadProps(__spreadValues({}, customAnimationRegistry.get(el)), { [animationName]: ensureAnimation(animation) }));\n}\nfunction getAnimation(el, animationName, options) {\n const customAnimation = customAnimationRegistry.get(el);\n if (customAnimation == null ? void 0 : customAnimation[animationName]) {\n return getLogicalAnimation(customAnimation[animationName], options.dir);\n }\n const defaultAnimation = defaultAnimationRegistry.get(animationName);\n if (defaultAnimation) {\n return getLogicalAnimation(defaultAnimation, options.dir);\n }\n return {\n keyframes: [],\n options: { duration: 0 }\n };\n}\n\nexport {\n setDefaultAnimation,\n setAnimation,\n getAnimation\n};\n","// src/internal/event.ts\nfunction waitForEvent(el, eventName) {\n return new Promise((resolve) => {\n function done(event) {\n if (event.target === el) {\n el.removeEventListener(eventName, done);\n resolve();\n }\n }\n el.addEventListener(eventName, done);\n });\n}\n\nexport {\n waitForEvent\n};\n","import {\n __spreadProps,\n __spreadValues\n} from \"./chunk.KAW7D32O.js\";\n\n// src/internal/animate.ts\nfunction animateTo(el, keyframes, options) {\n return new Promise((resolve) => {\n if ((options == null ? void 0 : options.duration) === Infinity) {\n throw new Error(\"Promise-based animations must be finite.\");\n }\n const animation = el.animate(keyframes, __spreadProps(__spreadValues({}, options), {\n duration: prefersReducedMotion() ? 0 : options.duration\n }));\n animation.addEventListener(\"cancel\", resolve, { once: true });\n animation.addEventListener(\"finish\", resolve, { once: true });\n });\n}\nfunction parseDuration(delay) {\n delay = delay.toString().toLowerCase();\n if (delay.indexOf(\"ms\") > -1) {\n return parseFloat(delay);\n }\n if (delay.indexOf(\"s\") > -1) {\n return parseFloat(delay) * 1e3;\n }\n return parseFloat(delay);\n}\nfunction prefersReducedMotion() {\n const query = window.matchMedia(\"(prefers-reduced-motion: reduce)\");\n return query.matches;\n}\nfunction stopAnimations(el) {\n return Promise.all(\n el.getAnimations().map((animation) => {\n return new Promise((resolve) => {\n animation.cancel();\n requestAnimationFrame(resolve);\n });\n })\n );\n}\nfunction shimKeyframesHeightAuto(keyframes, calculatedHeight) {\n return keyframes.map((keyframe) => __spreadProps(__spreadValues({}, keyframe), {\n height: keyframe.height === \"auto\" ? `${calculatedHeight}px` : keyframe.height\n }));\n}\n\nexport {\n animateTo,\n parseDuration,\n prefersReducedMotion,\n stopAnimations,\n shimKeyframesHeightAuto\n};\n","import{nothing as t}from\"../lit-html.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o=o=>o??t;export{o as ifDefined};\n//# sourceMappingURL=if-defined.js.map\n","import {\n dropdown_styles_default\n} from \"./chunk.LXP7GVU3.js\";\nimport {\n getDeepestActiveElement,\n getTabbableBoundary\n} from \"./chunk.VESXC477.js\";\nimport {\n SlPopup\n} from \"./chunk.5JY5FUCG.js\";\nimport {\n getAnimation,\n setDefaultAnimation\n} from \"./chunk.K7JGTRV7.js\";\nimport {\n waitForEvent\n} from \"./chunk.B4BZKR24.js\";\nimport {\n animateTo,\n stopAnimations\n} from \"./chunk.AJ3ENQ5C.js\";\nimport {\n LocalizeController\n} from \"./chunk.6CTB5ZDJ.js\";\nimport {\n watch\n} from \"./chunk.GMYPQTFK.js\";\nimport {\n component_styles_default\n} from \"./chunk.TUVJKY7S.js\";\nimport {\n ShoelaceElement\n} from \"./chunk.4TUIT776.js\";\nimport {\n __decorateClass\n} from \"./chunk.KAW7D32O.js\";\n\n// src/components/dropdown/dropdown.component.ts\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { html } from \"lit\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport { property, query } from \"lit/decorators.js\";\nvar SlDropdown = class extends ShoelaceElement {\n constructor() {\n super(...arguments);\n this.localize = new LocalizeController(this);\n this.open = false;\n this.placement = \"bottom-start\";\n this.disabled = false;\n this.stayOpenOnSelect = false;\n this.distance = 0;\n this.skidding = 0;\n this.hoist = false;\n this.sync = void 0;\n this.handleKeyDown = (event) => {\n if (this.open && event.key === \"Escape\") {\n event.stopPropagation();\n this.hide();\n this.focusOnTrigger();\n }\n };\n this.handleDocumentKeyDown = (event) => {\n var _a;\n if (event.key === \"Escape\" && this.open && !this.closeWatcher) {\n event.stopPropagation();\n this.focusOnTrigger();\n this.hide();\n return;\n }\n if (event.key === \"Tab\") {\n if (this.open && ((_a = document.activeElement) == null ? void 0 : _a.tagName.toLowerCase()) === \"sl-menu-item\") {\n event.preventDefault();\n this.hide();\n this.focusOnTrigger();\n return;\n }\n const computeClosestContaining = (element, tagName) => {\n if (!element) return null;\n const closest = element.closest(tagName);\n if (closest) return closest;\n const rootNode = element.getRootNode();\n if (rootNode instanceof ShadowRoot) {\n return computeClosestContaining(rootNode.host, tagName);\n }\n return null;\n };\n setTimeout(() => {\n var _a2;\n const activeElement = ((_a2 = this.containingElement) == null ? void 0 : _a2.getRootNode()) instanceof ShadowRoot ? getDeepestActiveElement() : document.activeElement;\n if (!this.containingElement || computeClosestContaining(activeElement, this.containingElement.tagName.toLowerCase()) !== this.containingElement) {\n this.hide();\n }\n });\n }\n };\n this.handleDocumentMouseDown = (event) => {\n const path = event.composedPath();\n if (this.containingElement && !path.includes(this.containingElement)) {\n this.hide();\n }\n };\n this.handlePanelSelect = (event) => {\n const target = event.target;\n if (!this.stayOpenOnSelect && target.tagName.toLowerCase() === \"sl-menu\") {\n this.hide();\n this.focusOnTrigger();\n }\n };\n }\n connectedCallback() {\n super.connectedCallback();\n if (!this.containingElement) {\n this.containingElement = this;\n }\n }\n firstUpdated() {\n this.panel.hidden = !this.open;\n if (this.open) {\n this.addOpenListeners();\n this.popup.active = true;\n }\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeOpenListeners();\n this.hide();\n }\n focusOnTrigger() {\n const trigger = this.trigger.assignedElements({ flatten: true })[0];\n if (typeof (trigger == null ? void 0 : trigger.focus) === \"function\") {\n trigger.focus();\n }\n }\n getMenu() {\n return this.panel.assignedElements({ flatten: true }).find((el) => el.tagName.toLowerCase() === \"sl-menu\");\n }\n handleTriggerClick() {\n if (this.open) {\n this.hide();\n } else {\n this.show();\n this.focusOnTrigger();\n }\n }\n async handleTriggerKeyDown(event) {\n if ([\" \", \"Enter\"].includes(event.key)) {\n event.preventDefault();\n this.handleTriggerClick();\n return;\n }\n const menu = this.getMenu();\n if (menu) {\n const menuItems = menu.getAllItems();\n const firstMenuItem = menuItems[0];\n const lastMenuItem = menuItems[menuItems.length - 1];\n if ([\"ArrowDown\", \"ArrowUp\", \"Home\", \"End\"].includes(event.key)) {\n event.preventDefault();\n if (!this.open) {\n this.show();\n await this.updateComplete;\n }\n if (menuItems.length > 0) {\n this.updateComplete.then(() => {\n if (event.key === \"ArrowDown\" || event.key === \"Home\") {\n menu.setCurrentItem(firstMenuItem);\n firstMenuItem.focus();\n }\n if (event.key === \"ArrowUp\" || event.key === \"End\") {\n menu.setCurrentItem(lastMenuItem);\n lastMenuItem.focus();\n }\n });\n }\n }\n }\n }\n handleTriggerKeyUp(event) {\n if (event.key === \" \") {\n event.preventDefault();\n }\n }\n handleTriggerSlotChange() {\n this.updateAccessibleTrigger();\n }\n //\n // Slotted triggers can be arbitrary content, but we need to link them to the dropdown panel with `aria-haspopup` and\n // `aria-expanded`. These must be applied to the \"accessible trigger\" (the tabbable portion of the trigger element\n // that gets slotted in) so screen readers will understand them. The accessible trigger could be the slotted element,\n // a child of the slotted element, or an element in the slotted element's shadow root.\n //\n // For example, the accessible trigger of an <sl-button> is a <button> located inside its shadow root.\n //\n // To determine this, we assume the first tabbable element in the trigger slot is the \"accessible trigger.\"\n //\n updateAccessibleTrigger() {\n const assignedElements = this.trigger.assignedElements({ flatten: true });\n const accessibleTrigger = assignedElements.find((el) => getTabbableBoundary(el).start);\n let target;\n if (accessibleTrigger) {\n switch (accessibleTrigger.tagName.toLowerCase()) {\n // Shoelace buttons have to update the internal button so it's announced correctly by screen readers\n case \"sl-button\":\n case \"sl-icon-button\":\n target = accessibleTrigger.button;\n break;\n default:\n target = accessibleTrigger;\n }\n target.setAttribute(\"aria-haspopup\", \"true\");\n target.setAttribute(\"aria-expanded\", this.open ? \"true\" : \"false\");\n }\n }\n /** Shows the dropdown panel. */\n async show() {\n if (this.open) {\n return void 0;\n }\n this.open = true;\n return waitForEvent(this, \"sl-after-show\");\n }\n /** Hides the dropdown panel */\n async hide() {\n if (!this.open) {\n return void 0;\n }\n this.open = false;\n return waitForEvent(this, \"sl-after-hide\");\n }\n /**\n * Instructs the dropdown menu to reposition. Useful when the position or size of the trigger changes when the menu\n * is activated.\n */\n reposition() {\n this.popup.reposition();\n }\n addOpenListeners() {\n var _a;\n this.panel.addEventListener(\"sl-select\", this.handlePanelSelect);\n if (\"CloseWatcher\" in window) {\n (_a = this.closeWatcher) == null ? void 0 : _a.destroy();\n this.closeWatcher = new CloseWatcher();\n this.closeWatcher.onclose = () => {\n this.hide();\n this.focusOnTrigger();\n };\n } else {\n this.panel.addEventListener(\"keydown\", this.handleKeyDown);\n }\n document.addEventListener(\"keydown\", this.handleDocumentKeyDown);\n document.addEventListener(\"mousedown\", this.handleDocumentMouseDown);\n }\n removeOpenListeners() {\n var _a;\n if (this.panel) {\n this.panel.removeEventListener(\"sl-select\", this.handlePanelSelect);\n this.panel.removeEventListener(\"keydown\", this.handleKeyDown);\n }\n document.removeEventListener(\"keydown\", this.handleDocumentKeyDown);\n document.removeEventListener(\"mousedown\", this.handleDocumentMouseDown);\n (_a = this.closeWatcher) == null ? void 0 : _a.destroy();\n }\n async handleOpenChange() {\n if (this.disabled) {\n this.open = false;\n return;\n }\n this.updateAccessibleTrigger();\n if (this.open) {\n this.emit(\"sl-show\");\n this.addOpenListeners();\n await stopAnimations(this);\n this.panel.hidden = false;\n this.popup.active = true;\n const { keyframes, options } = getAnimation(this, \"dropdown.show\", { dir: this.localize.dir() });\n await animateTo(this.popup.popup, keyframes, options);\n this.emit(\"sl-after-show\");\n } else {\n this.emit(\"sl-hide\");\n this.removeOpenListeners();\n await stopAnimations(this);\n const { keyframes, options } = getAnimation(this, \"dropdown.hide\", { dir: this.localize.dir() });\n await animateTo(this.popup.popup, keyframes, options);\n this.panel.hidden = true;\n this.popup.active = false;\n this.emit(\"sl-after-hide\");\n }\n }\n render() {\n return html`\n <sl-popup\n part=\"base\"\n exportparts=\"popup:base__popup\"\n id=\"dropdown\"\n placement=${this.placement}\n distance=${this.distance}\n skidding=${this.skidding}\n strategy=${this.hoist ? \"fixed\" : \"absolute\"}\n flip\n shift\n auto-size=\"vertical\"\n auto-size-padding=\"10\"\n sync=${ifDefined(this.sync ? this.sync : void 0)}\n class=${classMap({\n dropdown: true,\n \"dropdown--open\": this.open\n })}\n >\n <slot\n name=\"trigger\"\n slot=\"anchor\"\n part=\"trigger\"\n class=\"dropdown__trigger\"\n @click=${this.handleTriggerClick}\n @keydown=${this.handleTriggerKeyDown}\n @keyup=${this.handleTriggerKeyUp}\n @slotchange=${this.handleTriggerSlotChange}\n ></slot>\n\n <div aria-hidden=${this.open ? \"false\" : \"true\"} aria-labelledby=\"dropdown\">\n <slot part=\"panel\" class=\"dropdown__panel\"></slot>\n </div>\n </sl-popup>\n `;\n }\n};\nSlDropdown.styles = [component_styles_default, dropdown_styles_default];\nSlDropdown.dependencies = { \"sl-popup\": SlPopup };\n__decorateClass([\n query(\".dropdown\")\n], SlDropdown.prototype, \"popup\", 2);\n__decorateClass([\n query(\".dropdown__trigger\")\n], SlDropdown.prototype, \"trigger\", 2);\n__decorateClass([\n query(\".dropdown__panel\")\n], SlDropdown.prototype, \"panel\", 2);\n__decorateClass([\n property({ type: Boolean, reflect: true })\n], SlDropdown.prototype, \"open\", 2);\n__decorateClass([\n property({ reflect: true })\n], SlDropdown.prototype, \"placement\", 2);\n__decorateClass([\n property({ type: Boolean, reflect: true })\n], SlDropdown.prototype, \"disabled\", 2);\n__decorateClass([\n property({ attribute: \"stay-open-on-select\", type: Boolean, reflect: true })\n], SlDropdown.prototype, \"stayOpenOnSelect\", 2);\n__decorateClass([\n property({ attribute: false })\n], SlDropdown.prototype, \"containingElement\", 2);\n__decorateClass([\n property({ type: Number })\n], SlDropdown.prototype, \"distance\", 2);\n__decorateClass([\n property({ type: Number })\n], SlDropdown.prototype, \"skidding\", 2);\n__decorateClass([\n property({ type: Boolean })\n], SlDropdown.prototype, \"hoist\", 2);\n__decorateClass([\n property({ reflect: true })\n], SlDropdown.prototype, \"sync\", 2);\n__decorateClass([\n watch(\"open\", { waitUntilFirstUpdate: true })\n], SlDropdown.prototype, \"handleOpenChange\", 1);\nsetDefaultAnimation(\"dropdown.show\", {\n keyframes: [\n { opacity: 0, scale: 0.9 },\n { opacity: 1, scale: 1 }\n ],\n options: { duration: 100, easing: \"ease\" }\n});\nsetDefaultAnimation(\"dropdown.hide\", {\n keyframes: [\n { opacity: 1, scale: 1 },\n { opacity: 0, scale: 0.9 }\n ],\n options: { duration: 100, easing: \"ease\" }\n});\n\nexport {\n SlDropdown\n};\n","import {\n SlDropdown\n} from \"./chunk.C56A5M6T.js\";\n\n// src/components/dropdown/dropdown.ts\nvar dropdown_default = SlDropdown;\nSlDropdown.define(\"sl-dropdown\");\n\nexport {\n dropdown_default\n};\n","// src/components/menu/menu.styles.ts\nimport { css } from \"lit\";\nvar menu_styles_default = css`\n :host {\n display: block;\n position: relative;\n background: var(--sl-panel-background-color);\n border: solid var(--sl-panel-border-width) var(--sl-panel-border-color);\n border-radius: var(--sl-border-radius-medium);\n padding: var(--sl-spacing-x-small) 0;\n overflow: auto;\n overscroll-behavior: none;\n }\n\n ::slotted(sl-divider) {\n --spacing: var(--sl-spacing-x-small);\n }\n`;\n\nexport {\n menu_styles_default\n};\n","import {\n menu_styles_default\n} from \"./chunk.VVA35HTY.js\";\nimport {\n component_styles_default\n} from \"./chunk.TUVJKY7S.js\";\nimport {\n ShoelaceElement\n} from \"./chunk.4TUIT776.js\";\nimport {\n __decorateClass\n} from \"./chunk.KAW7D32O.js\";\n\n// src/components/menu/menu.component.ts\nimport { html } from \"lit\";\nimport { query } from \"lit/decorators.js\";\nvar SlMenu = class extends ShoelaceElement {\n connectedCallback() {\n super.connectedCallback();\n this.setAttribute(\"role\", \"menu\");\n }\n handleClick(event) {\n const menuItemTypes = [\"menuitem\", \"menuitemcheckbox\"];\n const composedPath = event.composedPath();\n const target = composedPath.find((el) => {\n var _a;\n return menuItemTypes.includes(((_a = el == null ? void 0 : el.getAttribute) == null ? void 0 : _a.call(el, \"role\")) || \"\");\n });\n if (!target) return;\n const closestMenu = composedPath.find((el) => {\n var _a;\n return ((_a = el == null ? void 0 : el.getAttribute) == null ? void 0 : _a.call(el, \"role\")) === \"menu\";\n });\n const clickHasSubmenu = closestMenu !== this;\n if (clickHasSubmenu) return;\n const item = target;\n if (item.type === \"checkbox\") {\n item.checked = !item.checked;\n }\n this.emit(\"sl-select\", { detail: { item } });\n }\n handleKeyDown(event) {\n if (event.key === \"Enter\" || event.key === \" \") {\n const item = this.getCurrentItem();\n event.preventDefault();\n event.stopPropagation();\n item == null ? void 0 : item.click();\n } else if ([\"ArrowDown\", \"ArrowUp\", \"Home\", \"End\"].includes(event.key)) {\n const items = this.getAllItems();\n const activeItem = this.getCurrentItem();\n let index = activeItem ? items.indexOf(activeItem) : 0;\n if (items.length > 0) {\n event.preventDefault();\n event.stopPropagation();\n if (event.key === \"ArrowDown\") {\n index++;\n } else if (event.key === \"ArrowUp\") {\n index--;\n } else if (event.key === \"Home\") {\n index = 0;\n } else if (event.key === \"End\") {\n index = items.length - 1;\n }\n if (index < 0) {\n index = items.length - 1;\n }\n if (index > items.length - 1) {\n index = 0;\n }\n this.setCurrentItem(items[index]);\n items[index].focus();\n }\n }\n }\n handleMouseDown(event) {\n const target = event.target;\n if (this.isMenuItem(target)) {\n this.setCurrentItem(target);\n }\n }\n handleSlotChange() {\n const items = this.getAllItems();\n if (items.length > 0) {\n this.setCurrentItem(items[0]);\n }\n }\n isMenuItem(item) {\n var _a;\n return item.tagName.toLowerCase() === \"sl-menu-item\" || [\"menuitem\", \"menuitemcheckbox\", \"menuitemradio\"].includes((_a = item.getAttribute(\"role\")) != null ? _a : \"\");\n }\n /** @internal Gets all slotted menu items, ignoring dividers, headers, and other elements. */\n getAllItems() {\n return [...this.defaultSlot.assignedElements({ flatten: true })].filter((el) => {\n if (el.inert || !this.isMenuItem(el)) {\n return false;\n }\n return true;\n });\n }\n /**\n * @internal Gets the current menu item, which is the menu item that has `tabindex=\"0\"` within the roving tab index.\n * The menu item may or may not have focus, but for keyboard interaction purposes it's considered the \"active\" item.\n */\n getCurrentItem() {\n return this.getAllItems().find((i) => i.getAttribute(\"tabindex\") === \"0\");\n }\n /**\n * @internal Sets the current menu item to the specified element. This sets `tabindex=\"0\"` on the target element and\n * `tabindex=\"-1\"` to all other items. This method must be called prior to setting focus on a menu item.\n */\n setCurrentItem(item) {\n const items = this.getAllItems();\n items.forEach((i) => {\n i.setAttribute(\"tabindex\", i === item ? \"0\" : \"-1\");\n });\n }\n render() {\n return html`\n <slot\n @slotchange=${this.handleSlotChange}\n @click=${this.handleClick}\n @keydown=${this.handleKeyDown}\n @mousedown=${this.handleMouseDown}\n ></slot>\n `;\n }\n};\nSlMenu.styles = [component_styles_default, menu_styles_default];\n__decorateClass([\n query(\"slot\")\n], SlMenu.prototype, \"defaultSlot\", 2);\n\nexport {\n SlMenu\n};\n","import {\n SlMenu\n} from \"./chunk.Q6CVTR7F.js\";\n\n// src/components/menu/menu.ts\nvar menu_default = SlMenu;\nSlMenu.define(\"sl-menu\");\n\nexport {\n menu_default\n};\n","// src/components/menu-item/menu-item.styles.ts\nimport { css } from \"lit\";\nvar menu_item_styles_default = css`\n :host {\n --submenu-offset: -2px;\n\n display: block;\n }\n\n :host([inert]) {\n display: none;\n }\n\n .menu-item {\n position: relative;\n display: flex;\n align-items: stretch;\n font-family: var(--sl-font-sans);\n font-size: var(--sl-font-size-medium);\n font-weight: var(--sl-font-weight-normal);\n line-height: var(--sl-line-height-normal);\n letter-spacing: var(--sl-letter-spacing-normal);\n color: var(--sl-color-neutral-700);\n padding: var(--sl-spacing-2x-small) var(--sl-spacing-2x-small);\n transition: var(--sl-transition-fast) fill;\n user-select: none;\n -webkit-user-select: none;\n white-space: nowrap;\n cursor: pointer;\n }\n\n .menu-item.menu-item--disabled {\n outline: none;\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .menu-item.menu-item--loading {\n outline: none;\n cursor: wait;\n }\n\n .menu-item.menu-item--loading *:not(sl-spinner) {\n opacity: 0.5;\n }\n\n .menu-item--loading sl-spinner {\n --indicator-color: currentColor;\n --track-width: 1px;\n position: absolute;\n font-size: 0.75em;\n top: calc(50% - 0.5em);\n left: 0.65rem;\n opacity: 1;\n }\n\n .menu-item .menu-item__label {\n flex: 1 1 auto;\n display: inline-block;\n text-overflow: ellipsis;\n overflow: hidden;\n }\n\n .menu-item .menu-item__prefix {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n }\n\n .menu-item .menu-item__prefix::slotted(*) {\n margin-inline-end: var(--sl-spacing-x-small);\n }\n\n .menu-item .menu-item__suffix {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n }\n\n .menu-item .menu-item__suffix::slotted(*) {\n margin-inline-start: var(--sl-spacing-x-small);\n }\n\n /* Safe triangle */\n .menu-item--submenu-expanded::after {\n content: '';\n position: fixed;\n z-index: calc(var(--sl-z-index-dropdown) - 1);\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n clip-path: polygon(\n var(--safe-triangle-cursor-x, 0) var(--safe-triangle-cursor-y, 0),\n var(--safe-triangle-submenu-start-x, 0) var(--safe-triangle-submenu-start-y, 0),\n var(--safe-triangle-submenu-end-x, 0) var(--safe-triangle-submenu-end-y, 0)\n );\n }\n\n :host(:focus-visible) {\n outline: none;\n }\n\n :host(:hover:not([aria-disabled='true'], :focus-visible)) .menu-item,\n .menu-item--submenu-expanded {\n background-color: var(--sl-color-neutral-100);\n color: var(--sl-color-neutral-1000);\n }\n\n :host(:focus-visible) .menu-item {\n outline: none;\n background-color: var(--sl-color-primary-600);\n color: var(--sl-color-neutral-0);\n opacity: 1;\n }\n\n .menu-item .menu-item__check,\n .menu-item .menu-item__chevron {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 1.5em;\n visibility: hidden;\n }\n\n .menu-item--checked .menu-item__check,\n .menu-item--has-submenu .menu-item__chevron {\n visibility: visible;\n }\n\n /* Add elevation and z-index to submenus */\n sl-popup::part(popup) {\n box-shadow: var(--sl-shadow-large);\n z-index: var(--sl-z-index-dropdown);\n margin-left: var(--submenu-offset);\n }\n\n .menu-item--rtl sl-popup::part(popup) {\n margin-left: calc(-1 * var(--submenu-offset));\n }\n\n @media (forced-colors: active) {\n :host(:hover:not([aria-disabled='true'])) .menu-item,\n :host(:focus-visible) .menu-item {\n outline: dashed 1px SelectedItem;\n outline-offset: -1px;\n }\n }\n\n ::slotted(sl-menu) {\n max-width: var(--auto-size-available-width) !important;\n max-height: var(--auto-size-available-height) !important;\n }\n`;\n\nexport {\n menu_item_styles_default\n};\n","import{isSingleExpression as i}from\"./directive-helpers.js\";import{Directive as t,PartType as e}from\"./directive.js\";export{directive}from\"./directive.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const s=(i,t)=>{const e=i._$AN;if(void 0===e)return!1;for(const i of e)i._$AO?.(t,!1),s(i,t);return!0},o=i=>{let t,e;do{if(void 0===(t=i._$AM))break;e=t._$AN,e.delete(i),i=t}while(0===e?.size)},r=i=>{for(let t;t=i._$AM;i=t){let e=t._$AN;if(void 0===e)t._$AN=e=new Set;else if(e.has(i))break;e.add(i),c(t)}};function h(i){void 0!==this._$AN?(o(this),this._$AM=i,r(this)):this._$AM=i}function n(i,t=!1,e=0){const r=this._$AH,h=this._$AN;if(void 0!==h&&0!==h.size)if(t)if(Array.isArray(r))for(let i=e;i<r.length;i++)s(r[i],!1),o(r[i]);else null!=r&&(s(r,!1),o(r));else s(this,i)}const c=i=>{i.type==e.CHILD&&(i._$AP??=n,i._$AQ??=h)};class f extends t{constructor(){super(...arguments),this._$AN=void 0}_$AT(i,t,e){super._$AT(i,t,e),r(this),this.isConnected=i._$AU}_$AO(i,t=!0){i!==this.isConnected&&(this.isConnected=i,i?this.reconnected?.():this.disconnected?.()),t&&(s(this,i),o(this))}setValue(t){if(i(this._$Ct))this._$Ct._$AI(t,this);else{const i=[...this._$Ct._$AH];i[this._$Ci]=t,this._$Ct._$AI(i,this,0)}}disconnected(){}reconnected(){}}export{f as AsyncDirective,t as Directive,e as PartType};\n//# sourceMappingURL=async-directive.js.map\n","import{nothing as t}from\"../lit-html.js\";import{AsyncDirective as i}from\"../async-directive.js\";import{directive as s}from\"../directive.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const e=()=>new h;class h{}const o=new WeakMap,n=s(class extends i{render(i){return t}update(i,[s]){const e=s!==this.G;return e&&void 0!==this.G&&this.rt(void 0),(e||this.lt!==this.ct)&&(this.G=s,this.ht=i.options?.host,this.rt(this.ct=i.element)),t}rt(t){if(this.isConnected||(t=void 0),\"function\"==typeof this.G){const i=this.ht??globalThis;let s=o.get(i);void 0===s&&(s=new WeakMap,o.set(i,s)),void 0!==s.get(this.G)&&this.G.call(this.ht,void 0),s.set(this.G,t),void 0!==t&&this.G.call(this.ht,t)}else this.G.value=t}get lt(){return\"function\"==typeof this.G?o.get(this.ht??globalThis)?.get(this.G):this.G?.value}disconnected(){this.lt===this.ct&&this.rt(void 0)}reconnected(){this.rt(this.ct)}});export{e as createRef,n as ref};\n//# sourceMappingURL=ref.js.map\n","// src/components/menu-item/submenu-controller.ts\nimport { createRef, ref } from \"lit/directives/ref.js\";\nimport { html } from \"lit\";\nvar SubmenuController = class {\n constructor(host, hasSlotController) {\n this.popupRef = createRef();\n this.enableSubmenuTimer = -1;\n this.isConnected = false;\n this.isPopupConnected = false;\n this.skidding = 0;\n this.submenuOpenDelay = 100;\n // Set the safe triangle cursor position\n this.handleMouseMove = (event) => {\n this.host.style.setProperty(\"--safe-triangle-cursor-x\", `${event.clientX}px`);\n this.host.style.setProperty(\"--safe-triangle-cursor-y\", `${event.clientY}px`);\n };\n this.handleMouseOver = () => {\n if (this.hasSlotController.test(\"submenu\")) {\n this.enableSubmenu();\n }\n };\n // Focus on the first menu-item of a submenu.\n this.handleKeyDown = (event) => {\n switch (event.key) {\n case \"Escape\":\n case \"Tab\":\n this.disableSubmenu();\n break;\n case \"ArrowLeft\":\n if (event.target !== this.host) {\n event.preventDefault();\n event.stopPropagation();\n this.host.focus();\n this.disableSubmenu();\n }\n break;\n case \"ArrowRight\":\n case \"Enter\":\n case \" \":\n this.handleSubmenuEntry(event);\n break;\n default:\n break;\n }\n };\n this.handleClick = (event) => {\n var _a;\n if (event.target === this.host) {\n event.preventDefault();\n event.stopPropagation();\n } else if (event.target instanceof Element && (event.target.tagName === \"sl-menu-item\" || ((_a = event.target.role) == null ? void 0 : _a.startsWith(\"menuitem\")))) {\n this.disableSubmenu();\n }\n };\n // Close this submenu on focus outside of the parent or any descendants.\n this.handleFocusOut = (event) => {\n if (event.relatedTarget && event.relatedTarget instanceof Element && this.host.contains(event.relatedTarget)) {\n return;\n }\n this.disableSubmenu();\n };\n // Prevent the parent menu-item from getting focus on mouse movement on the submenu\n this.handlePopupMouseover = (event) => {\n event.stopPropagation();\n };\n // Set the safe triangle values for the submenu when the position changes\n this.handlePopupReposition = () => {\n const submenuSlot = this.host.renderRoot.querySelector(\"slot[name='submenu']\");\n const menu = submenuSlot == null ? void 0 : submenuSlot.assignedElements({ flatten: true }).filter((el) => el.localName === \"sl-menu\")[0];\n const isRtl = getComputedStyle(this.host).direction === \"rtl\";\n if (!menu) {\n return;\n }\n const { left, top, width, height } = menu.getBoundingClientRect();\n this.host.style.setProperty(\"--safe-triangle-submenu-start-x\", `${isRtl ? left + width : left}px`);\n this.host.style.setProperty(\"--safe-triangle-submenu-start-y\", `${top}px`);\n this.host.style.setProperty(\"--safe-triangle-submenu-end-x\", `${isRtl ? left + width : left}px`);\n this.host.style.setProperty(\"--safe-triangle-submenu-end-y\", `${top + height}px`);\n };\n (this.host = host).addController(this);\n this.hasSlotController = hasSlotController;\n }\n hostConnected() {\n if (this.hasSlotController.test(\"submenu\") && !this.host.disabled) {\n this.addListeners();\n }\n }\n hostDisconnected() {\n this.removeListeners();\n }\n hostUpdated() {\n if (this.hasSlotController.test(\"submenu\") && !this.host.disabled) {\n this.addListeners();\n this.updateSkidding();\n } else {\n this.removeListeners();\n }\n }\n addListeners() {\n if (!this.isConnected) {\n this.host.addEventListener(\"mousemove\", this.handleMouseMove);\n this.host.addEventListener(\"mouseover\", this.handleMouseOver);\n this.host.addEventListener(\"keydown\", this.handleKeyDown);\n this.host.addEventListener(\"click\", this.handleClick);\n this.host.addEventListener(\"focusout\", this.handleFocusOut);\n this.isConnected = true;\n }\n if (!this.isPopupConnected) {\n if (this.popupRef.value) {\n this.popupRef.value.addEventListener(\"mouseover\", this.handlePopupMouseover);\n this.popupRef.value.addEventListener(\"sl-reposition\", this.handlePopupReposition);\n this.isPopupConnected = true;\n }\n }\n }\n removeListeners() {\n if (this.isConnected) {\n this.host.removeEventListener(\"mousemove\", this.handleMouseMove);\n this.host.removeEventListener(\"mouseover\", this.handleMouseOver);\n this.host.removeEventListener(\"keydown\", this.handleKeyDown);\n this.host.removeEventListener(\"click\", this.handleClick);\n this.host.removeEventListener(\"focusout\", this.handleFocusOut);\n this.isConnected = false;\n }\n if (this.isPopupConnected) {\n if (this.popupRef.value) {\n this.popupRef.value.removeEventListener(\"mouseover\", this.handlePopupMouseover);\n this.popupRef.value.removeEventListener(\"sl-reposition\", this.handlePopupReposition);\n this.isPopupConnected = false;\n }\n }\n }\n handleSubmenuEntry(event) {\n const submenuSlot = this.host.renderRoot.querySelector(\"slot[name='submenu']\");\n if (!submenuSlot) {\n console.error(\"Cannot activate a submenu if no corresponding menuitem can be found.\", this);\n return;\n }\n let menuItems = null;\n for (const elt of submenuSlot.assignedElements()) {\n menuItems = elt.querySelectorAll(\"sl-menu-item, [role^='menuitem']\");\n if (menuItems.length !== 0) {\n break;\n }\n }\n if (!menuItems || menuItems.length === 0) {\n return;\n }\n menuItems[0].setAttribute(\"tabindex\", \"0\");\n for (let i = 1; i !== menuItems.length; ++i) {\n menuItems[i].setAttribute(\"tabindex\", \"-1\");\n }\n if (this.popupRef.value) {\n event.preventDefault();\n event.stopPropagation();\n if (this.popupRef.value.active) {\n if (menuItems[0] instanceof HTMLElement) {\n menuItems[0].focus();\n }\n } else {\n this.enableSubmenu(false);\n this.host.updateComplete.then(() => {\n if (menuItems[0] instanceof HTMLElement) {\n menuItems[0].focus();\n }\n });\n this.host.requestUpdate();\n }\n }\n }\n setSubmenuState(state) {\n if (this.popupRef.value) {\n if (this.popupRef.value.active !== state) {\n this.popupRef.value.active = state;\n this.host.requestUpdate();\n }\n }\n }\n // Shows the submenu. Supports disabling the opening delay, e.g. for keyboard events that want to set the focus to the\n // newly opened menu.\n enableSubmenu(delay = true) {\n if (delay) {\n window.clearTimeout(this.enableSubmenuTimer);\n this.enableSubmenuTimer = window.setTimeout(() => {\n this.setSubmenuState(true);\n }, this.submenuOpenDelay);\n } else {\n this.setSubmenuState(true);\n }\n }\n disableSubmenu() {\n window.clearTimeout(this.enableSubmenuTimer);\n this.setSubmenuState(false);\n }\n // Calculate the space the top of a menu takes-up, for aligning the popup menu-item with the activating element.\n updateSkidding() {\n var _a;\n if (!((_a = this.host.parentElement) == null ? void 0 : _a.computedStyleMap)) {\n return;\n }\n const styleMap = this.host.parentElement.computedStyleMap();\n const attrs = [\"padding-top\", \"border-top-width\", \"margin-top\"];\n const skidding = attrs.reduce((accumulator, attr) => {\n var _a2;\n const styleValue = (_a2 = styleMap.get(attr)) != null ? _a2 : new CSSUnitValue(0, \"px\");\n const unitValue = styleValue instanceof CSSUnitValue ? styleValue : new CSSUnitValue(0, \"px\");\n const pxValue = unitValue.to(\"px\");\n return accumulator - pxValue.value;\n }, 0);\n this.skidding = skidding;\n }\n isExpanded() {\n return this.popupRef.value ? this.popupRef.value.active : false;\n }\n renderSubmenu() {\n const isRtl = getComputedStyle(this.host).direction === \"rtl\";\n if (!this.isConnected) {\n return html` <slot name=\"submenu\" hidden></slot> `;\n }\n return html`\n <sl-popup\n ${ref(this.popupRef)}\n placement=${isRtl ? \"left-start\" : \"right-start\"}\n anchor=\"anchor\"\n flip\n flip-fallback-strategy=\"best-fit\"\n skidding=\"${this.skidding}\"\n strategy=\"fixed\"\n auto-size=\"vertical\"\n auto-size-padding=\"10\"\n >\n <slot name=\"submenu\"></slot>\n </sl-popup>\n `;\n }\n};\n\nexport {\n SubmenuController\n};\n","// src/components/spinner/spinner.styles.ts\nimport { css } from \"lit\";\nvar spinner_styles_default = css`\n :host {\n --track-width: 2px;\n --track-color: rgb(128 128 128 / 25%);\n --indicator-color: var(--sl-color-primary-600);\n --speed: 2s;\n\n display: inline-flex;\n width: 1em;\n height: 1em;\n flex: none;\n }\n\n .spinner {\n flex: 1 1 auto;\n height: 100%;\n width: 100%;\n }\n\n .spinner__track,\n .spinner__indicator {\n fill: none;\n stroke-width: var(--track-width);\n r: calc(0.5em - var(--track-width) / 2);\n cx: 0.5em;\n cy: 0.5em;\n transform-origin: 50% 50%;\n }\n\n .spinner__track {\n stroke: var(--track-color);\n transform-origin: 0% 0%;\n }\n\n .spinner__indicator {\n stroke: var(--indicator-color);\n stroke-linecap: round;\n stroke-dasharray: 150% 75%;\n animation: spin var(--speed) linear infinite;\n }\n\n @keyframes spin {\n 0% {\n transform: rotate(0deg);\n stroke-dasharray: 0.05em, 3em;\n }\n\n 50% {\n transform: rotate(450deg);\n stroke-dasharray: 1.375em, 1.375em;\n }\n\n 100% {\n transform: rotate(1080deg);\n stroke-dasharray: 0.05em, 3em;\n }\n }\n`;\n\nexport {\n spinner_styles_default\n};\n","import {\n spinner_styles_default\n} from \"./chunk.7DUCI5S4.js\";\nimport {\n LocalizeController\n} from \"./chunk.6CTB5ZDJ.js\";\nimport {\n component_styles_default\n} from \"./chunk.TUVJKY7S.js\";\nimport {\n ShoelaceElement\n} from \"./chunk.4TUIT776.js\";\n\n// src/components/spinner/spinner.component.ts\nimport { html } from \"lit\";\nvar SlSpinner = class extends ShoelaceElement {\n constructor() {\n super(...arguments);\n this.localize = new LocalizeController(this);\n }\n render() {\n return html`\n <svg part=\"base\" class=\"spinner\" role=\"progressbar\" aria-label=${this.localize.term(\"loading\")}>\n <circle class=\"spinner__track\"></circle>\n <circle class=\"spinner__indicator\"></circle>\n </svg>\n `;\n }\n};\nSlSpinner.styles = [component_styles_default, spinner_styles_default];\n\nexport {\n SlSpinner\n};\n","// src/internal/slot.ts\nvar HasSlotController = class {\n constructor(host, ...slotNames) {\n this.slotNames = [];\n this.handleSlotChange = (event) => {\n const slot = event.target;\n if (this.slotNames.includes(\"[default]\") && !slot.name || slot.name && this.slotNames.includes(slot.name)) {\n this.host.requestUpdate();\n }\n };\n (this.host = host).addController(this);\n this.slotNames = slotNames;\n }\n hasDefaultSlot() {\n return [...this.host.childNodes].some((node) => {\n if (node.nodeType === node.TEXT_NODE && node.textContent.trim() !== \"\") {\n return true;\n }\n if (node.nodeType === node.ELEMENT_NODE) {\n const el = node;\n const tagName = el.tagName.toLowerCase();\n if (tagName === \"sl-visually-hidden\") {\n return false;\n }\n if (!el.hasAttribute(\"slot\")) {\n return true;\n }\n }\n return false;\n });\n }\n hasNamedSlot(name) {\n return this.host.querySelector(`:scope > [slot=\"${name}\"]`) !== null;\n }\n test(slotName) {\n return slotName === \"[default]\" ? this.hasDefaultSlot() : this.hasNamedSlot(slotName);\n }\n hostConnected() {\n this.host.shadowRoot.addEventListener(\"slotchange\", this.handleSlotChange);\n }\n hostDisconnected() {\n this.host.shadowRoot.removeEventListener(\"slotchange\", this.handleSlotChange);\n }\n};\nfunction getTextContent(slot) {\n if (!slot) {\n return \"\";\n }\n const nodes = slot.assignedNodes({ flatten: true });\n let text = \"\";\n [...nodes].forEach((node) => {\n if (node.nodeType === Node.TEXT_NODE) {\n text += node.textContent;\n }\n });\n return text;\n}\n\nexport {\n HasSlotController,\n getTextContent\n};\n","import {\n menu_item_styles_default\n} from \"./chunk.KZJNDGFO.js\";\nimport {\n SubmenuController\n} from \"./chunk.ZLIGP6HZ.js\";\nimport {\n SlPopup\n} from \"./chunk.5JY5FUCG.js\";\nimport {\n SlSpinner\n} from \"./chunk.36O46B5H.js\";\nimport {\n HasSlotController,\n getTextContent\n} from \"./chunk.NYIIDP5N.js\";\nimport {\n LocalizeController\n} from \"./chunk.6CTB5ZDJ.js\";\nimport {\n SlIcon\n} from \"./chunk.YHLNUJ7P.js\";\nimport {\n watch\n} from \"./chunk.GMYPQTFK.js\";\nimport {\n component_styles_default\n} from \"./chunk.TUVJKY7S.js\";\nimport {\n ShoelaceElement\n} from \"./chunk.4TUIT776.js\";\nimport {\n __decorateClass\n} from \"./chunk.KAW7D32O.js\";\n\n// src/components/menu-item/menu-item.component.ts\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { html } from \"lit\";\nimport { property, query } from \"lit/decorators.js\";\nvar SlMenuItem = class extends ShoelaceElement {\n constructor() {\n super(...arguments);\n this.localize = new LocalizeController(this);\n this.type = \"normal\";\n this.checked = false;\n this.value = \"\";\n this.loading = false;\n this.disabled = false;\n this.hasSlotController = new HasSlotController(this, \"submenu\");\n this.submenuController = new SubmenuController(this, this.hasSlotController);\n this.handleHostClick = (event) => {\n if (this.disabled) {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n };\n this.handleMouseOver = (event) => {\n this.focus();\n event.stopPropagation();\n };\n }\n connectedCallback() {\n super.connectedCallback();\n this.addEventListener(\"click\", this.handleHostClick);\n this.addEventListener(\"mouseover\", this.handleMouseOver);\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener(\"click\", this.handleHostClick);\n this.removeEventListener(\"mouseover\", this.handleMouseOver);\n }\n handleDefaultSlotChange() {\n const textLabel = this.getTextLabel();\n if (typeof this.cachedTextLabel === \"undefined\") {\n this.cachedTextLabel = textLabel;\n return;\n }\n if (textLabel !== this.cachedTextLabel) {\n this.cachedTextLabel = textLabel;\n this.emit(\"slotchange\", { bubbles: true, composed: false, cancelable: false });\n }\n }\n handleCheckedChange() {\n if (this.checked && this.type !== \"checkbox\") {\n this.checked = false;\n console.error('The checked attribute can only be used on menu items with type=\"checkbox\"', this);\n return;\n }\n if (this.type === \"checkbox\") {\n this.setAttribute(\"aria-checked\", this.checked ? \"true\" : \"false\");\n } else {\n this.removeAttribute(\"aria-checked\");\n }\n }\n handleDisabledChange() {\n this.setAttribute(\"aria-disabled\", this.disabled ? \"true\" : \"false\");\n }\n handleTypeChange() {\n if (this.type === \"checkbox\") {\n this.setAttribute(\"role\", \"menuitemcheckbox\");\n this.setAttribute(\"aria-checked\", this.checked ? \"true\" : \"false\");\n } else {\n this.setAttribute(\"role\", \"menuitem\");\n this.removeAttribute(\"aria-checked\");\n }\n }\n /** Returns a text label based on the contents of the menu item's default slot. */\n getTextLabel() {\n return getTextContent(this.defaultSlot);\n }\n isSubmenu() {\n return this.hasSlotController.test(\"submenu\");\n }\n render() {\n const isRtl = this.localize.dir() === \"rtl\";\n const isSubmenuExpanded = this.submenuController.isExpanded();\n return html`\n <div\n id=\"anchor\"\n part=\"base\"\n class=${classMap({\n \"menu-item\": true,\n \"menu-item--rtl\": isRtl,\n \"menu-item--checked\": this.checked,\n \"menu-item--disabled\": this.disabled,\n \"menu-item--loading\": this.loading,\n \"menu-item--has-submenu\": this.isSubmenu(),\n \"menu-item--submenu-expanded\": isSubmenuExpanded\n })}\n ?aria-haspopup=\"${this.isSubmenu()}\"\n ?aria-expanded=\"${isSubmenuExpanded ? true : false}\"\n >\n <span part=\"checked-icon\" class=\"menu-item__check\">\n <sl-icon name=\"check\" library=\"system\" aria-hidden=\"true\"></sl-icon>\n </span>\n\n <slot name=\"prefix\" part=\"prefix\" class=\"menu-item__prefix\"></slot>\n\n <slot part=\"label\" class=\"menu-item__label\" @slotchange=${this.handleDefaultSlotChange}></slot>\n\n <slot name=\"suffix\" part=\"suffix\" class=\"menu-item__suffix\"></slot>\n\n <span part=\"submenu-icon\" class=\"menu-item__chevron\">\n <sl-icon name=${isRtl ? \"chevron-left\" : \"chevron-right\"} library=\"system\" aria-hidden=\"true\"></sl-icon>\n </span>\n\n ${this.submenuController.renderSubmenu()}\n ${this.loading ? html` <sl-spinner part=\"spinner\" exportparts=\"base:spinner__base\"></sl-spinner> ` : \"\"}\n </div>\n `;\n }\n};\nSlMenuItem.styles = [component_styles_default, menu_item_styles_default];\nSlMenuItem.dependencies = {\n \"sl-icon\": SlIcon,\n \"sl-popup\": SlPopup,\n \"sl-spinner\": SlSpinner\n};\n__decorateClass([\n query(\"slot:not([name])\")\n], SlMenuItem.prototype, \"defaultSlot\", 2);\n__decorateClass([\n query(\".menu-item\")\n], SlMenuItem.prototype, \"menuItem\", 2);\n__decorateClass([\n property()\n], SlMenuItem.prototype, \"type\", 2);\n__decorateClass([\n property({ type: Boolean, reflect: true })\n], SlMenuItem.prototype, \"checked\", 2);\n__decorateClass([\n property()\n], SlMenuItem.prototype, \"value\", 2);\n__decorateClass([\n property({ type: Boolean, reflect: true })\n], SlMenuItem.prototype, \"loading\", 2);\n__decorateClass([\n property({ type: Boolean, reflect: true })\n], SlMenuItem.prototype, \"disabled\", 2);\n__decorateClass([\n watch(\"checked\")\n], SlMenuItem.prototype, \"handleCheckedChange\", 1);\n__decorateClass([\n watch(\"disabled\")\n], SlMenuItem.prototype, \"handleDisabledChange\", 1);\n__decorateClass([\n watch(\"type\")\n], SlMenuItem.prototype, \"handleTypeChange\", 1);\n\nexport {\n SlMenuItem\n};\n","import {\n SlMenuItem\n} from \"./chunk.WGYPSPL3.js\";\n\n// src/components/menu-item/menu-item.ts\nvar menu_item_default = SlMenuItem;\nSlMenuItem.define(\"sl-menu-item\");\n\nexport {\n menu_item_default\n};\n"],"version":3}