@aurodesignsystem-dev/auro-formkit 0.0.0-pr1304.0 → 0.0.0-pr1307.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/components/bibtemplate/dist/auro-bibtemplate.d.ts +10 -0
  2. package/components/bibtemplate/dist/buttonVersion.d.ts +1 -1
  3. package/components/bibtemplate/dist/headerVersion.d.ts +1 -1
  4. package/components/bibtemplate/dist/iconVersion.d.ts +1 -1
  5. package/components/bibtemplate/dist/index.js +26 -16
  6. package/components/bibtemplate/dist/registered.js +26 -16
  7. package/components/checkbox/demo/api.md +7 -0
  8. package/components/checkbox/demo/api.min.js +17 -14
  9. package/components/checkbox/demo/index.min.js +17 -14
  10. package/components/checkbox/dist/auro-checkbox-group.d.ts +4 -3
  11. package/components/checkbox/dist/auro-checkbox.d.ts +2 -0
  12. package/components/checkbox/dist/index.js +8 -5
  13. package/components/checkbox/dist/registered.js +8 -5
  14. package/components/combobox/demo/api.min.js +544 -355
  15. package/components/combobox/demo/index.html +5 -1
  16. package/components/combobox/demo/index.js +15 -0
  17. package/components/combobox/demo/index.min.js +545 -351
  18. package/components/combobox/dist/auro-combobox.d.ts +1 -1
  19. package/components/combobox/dist/index.js +428 -240
  20. package/components/combobox/dist/registered.js +428 -240
  21. package/components/counter/demo/api.min.js +434 -258
  22. package/components/counter/demo/index.min.js +434 -258
  23. package/components/counter/dist/auro-counter-button.d.ts +11 -2
  24. package/components/counter/dist/index.js +391 -219
  25. package/components/counter/dist/registered.js +391 -219
  26. package/components/datepicker/demo/api.md +2 -2
  27. package/components/datepicker/demo/api.min.js +584 -400
  28. package/components/datepicker/demo/index.min.js +584 -400
  29. package/components/datepicker/dist/auro-datepicker.d.ts +1 -1
  30. package/components/datepicker/dist/buttonVersion.d.ts +1 -1
  31. package/components/datepicker/dist/iconVersion.d.ts +1 -1
  32. package/components/datepicker/dist/index.js +445 -261
  33. package/components/datepicker/dist/popoverVersion.d.ts +1 -1
  34. package/components/datepicker/dist/registered.js +445 -261
  35. package/components/dropdown/README.md +2 -2
  36. package/components/dropdown/demo/api.html +3 -1
  37. package/components/dropdown/demo/api.js +20 -17
  38. package/components/dropdown/demo/api.md +50 -53
  39. package/components/dropdown/demo/api.min.js +440 -221
  40. package/components/dropdown/demo/index.html +3 -1
  41. package/components/dropdown/demo/index.js +10 -13
  42. package/components/dropdown/demo/index.md +6 -6
  43. package/components/dropdown/demo/index.min.js +395 -204
  44. package/components/dropdown/demo/readme.html +9 -1
  45. package/components/dropdown/demo/readme.md +2 -2
  46. package/components/dropdown/dist/iconVersion.d.ts +1 -1
  47. package/components/dropdown/dist/index.js +349 -189
  48. package/components/dropdown/dist/registered.js +349 -189
  49. package/components/form/demo/api.min.js +13 -11
  50. package/components/form/demo/index.min.js +13 -11
  51. package/components/form/dist/auro-form.d.ts +8 -0
  52. package/components/form/dist/index.js +8 -6
  53. package/components/form/dist/registered.js +8 -6
  54. package/components/input/demo/api.md +7 -3
  55. package/components/input/demo/api.min.js +95 -81
  56. package/components/input/demo/index.min.js +95 -81
  57. package/components/input/dist/auro-input.d.ts +23 -0
  58. package/components/input/dist/base-input.d.ts +2 -18
  59. package/components/input/dist/buttonVersion.d.ts +1 -1
  60. package/components/input/dist/iconVersion.d.ts +1 -1
  61. package/components/input/dist/index.js +50 -36
  62. package/components/input/dist/registered.js +50 -36
  63. package/components/menu/demo/api.md +3 -3
  64. package/components/menu/demo/api.min.js +18 -17
  65. package/components/menu/demo/index.min.js +18 -17
  66. package/components/menu/dist/auro-menuoption.d.ts +2 -1
  67. package/components/menu/dist/index.js +7 -6
  68. package/components/menu/dist/registered.js +7 -6
  69. package/components/radio/demo/api.min.js +11 -11
  70. package/components/radio/demo/index.min.js +11 -11
  71. package/components/radio/dist/index.js +2 -2
  72. package/components/radio/dist/registered.js +2 -2
  73. package/components/select/demo/api.min.js +406 -235
  74. package/components/select/demo/index.min.js +406 -235
  75. package/components/select/dist/index.js +377 -207
  76. package/components/select/dist/registered.js +377 -207
  77. package/custom-elements.json +18148 -0
  78. package/package.json +48 -16
@@ -1,16 +1,43 @@
1
+ function classicExample() {
2
+ const btn = document.querySelector('#classicButton');
3
+ const dropdown = document.querySelector('#classic');
4
+
5
+ btn?.addEventListener('click', () => {
6
+ dropdown?.hide();
7
+ });
8
+ }
9
+
10
+ function classicInverseExample() {
11
+ const btn = document.querySelector('#classicInverseButton');
12
+ const dropdown = document.querySelector('#classicInverse');
13
+
14
+ btn?.addEventListener('click', () => {
15
+ dropdown?.hide();
16
+ });
17
+ }
18
+
19
+ function customExample() {
20
+ const btn = document.querySelector('#customCommonButton');
21
+ const dropdown = document.querySelector('#customCommon');
22
+
23
+ btn?.addEventListener('click', () => {
24
+ dropdown?.hide();
25
+ });
26
+ }
27
+
1
28
  /**
2
29
  * @license
3
30
  * Copyright 2017 Google LLC
4
31
  * SPDX-License-Identifier: BSD-3-Clause
5
32
  */
6
- const t$2=globalThis,i$5=t$2.trustedTypes,s$4=i$5?i$5.createPolicy("lit-html",{createHTML:t=>t}):void 0,e$5="$lit$",h$3=`lit$${Math.random().toFixed(9).slice(2)}$`,o$7="?"+h$3,n$5=`<${o$7}>`,r$3=document,l$2=()=>r$3.createComment(""),c$3=t=>null===t||"object"!=typeof t&&"function"!=typeof t,a$2=Array.isArray,u$3=t=>a$2(t)||"function"==typeof t?.[Symbol.iterator],d$1="[ \t\n\f\r]",f$4=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,v=/-->/g,_=/>/g,m$1=RegExp(`>|${d$1}(?:([^\\s"'>=/]+)(${d$1}*=${d$1}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),p$2=/'/g,g$1=/"/g,$=/^(?:script|style|textarea|title)$/i,y$2=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x$1=y$2(1),T=Symbol.for("lit-noChange"),E=Symbol.for("lit-nothing"),A=new WeakMap,C=r$3.createTreeWalker(r$3,129);function P(t,i){if(!a$2(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==s$4?s$4.createHTML(i):i}const V=(t,i)=>{const s=t.length-1,o=[];let r,l=2===i?"<svg>":3===i?"<math>":"",c=f$4;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$4?"!--"===u[1]?c=v:void 0!==u[1]?c=_:void 0!==u[2]?($.test(u[2])&&(r=RegExp("</"+u[2],"g")),c=m$1):void 0!==u[3]&&(c=m$1):c===m$1?">"===u[0]?(c=r??f$4,d=-1):void 0===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=void 0===u[3]?m$1:'"'===u[3]?g$1:p$2):c===g$1||c===p$2?c=m$1:c===v||c===_?c=f$4:(c=m$1,r=void 0);const x=c===m$1&&t[i+1].startsWith("/>")?" ":"";l+=c===f$4?s+n$5:d>=0?(o.push(a),s.slice(0,d)+e$5+s.slice(d)+h$3+x):s+h$3+(-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$5)){const i=v[a++],s=r.getAttribute(t).split(h$3),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$1}),r.removeAttribute(t);}else t.startsWith(h$3)&&(d.push({type:6,index:c}),r.removeAttribute(t));if($.test(r.tagName)){const t=r.textContent.split(h$3),s=t.length-1;if(s>0){r.textContent=i$5?i$5.emptyScript:"";for(let i=0;i<s;i++)r.append(t[i],l$2()),C.nextNode(),d.push({type:2,index:++c});r.append(t[s],l$2());}}}else if(8===r.nodeType)if(r.data===o$7)d.push({type:2,index:c});else {let t=-1;for(;-1!==(t=r.data.indexOf(h$3,t+1));)d.push({type:7,index:c}),t+=h$3.length-1;}c++;}}static createElement(t,i){const s=r$3.createElement("template");return s.innerHTML=t,s}}function S$1(t,i,s=t,e){if(i===T)return i;let h=void 0!==e?s._$Co?.[e]:s._$Cl;const o=c$3(i)?void 0:i._$litDirective$;return h?.constructor!==o&&(h?._$AO?.(false),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$1(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$3).importNode(i,true);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$1(h,this,t)),this._$AV.push(i),l=s[++n];}o!==l?.index&&(h=C.nextNode(),o++);}return C.currentNode=r$3,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??true;}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$1(this,t,i),c$3(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$3(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$3(this._$AH)?this._$AA.nextSibling.data=t:this.T(r$3.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$2(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$2()),this.O(l$2()),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?.(false,true,i);t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i;}}setConnected(t){ void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t));}}let k$1 = 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=false;if(void 0===h)t=S$1(this,t,i,0),o=!c$3(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$1(this,e[s+n],i,n),r===T&&(r=this._$AH[n]),o||=!c$3(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$1{constructor(){super(...arguments),this.type=3;}j(t){this.element[this.name]=t===E?void 0:t;}}class I extends k$1{constructor(){super(...arguments),this.type=4;}j(t){this.element.toggleAttribute(this.name,!!t&&t!==E);}}class L extends k$1{constructor(t,i,s,e,h){super(t,i,s,e,h),this.type=5;}_$AI(t,i=this){if((t=S$1(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);}}let z$1 = 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$1(this,t);}};const j=t$2.litHtmlPolyfillSupport;j?.(N,R),(t$2.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$2(),t),t,void 0,s??{});}return h._$AI(t),h};
33
+ const t$2=globalThis,i$5=t=>t,s$4=t$2.trustedTypes,e$5=s$4?s$4.createPolicy("lit-html",{createHTML:t=>t}):void 0,h$3="$lit$",o$7=`lit$${Math.random().toFixed(9).slice(2)}$`,n$5="?"+o$7,r$4=`<${n$5}>`,l$2=document,c$3=()=>l$2.createComment(""),a$2=t=>null===t||"object"!=typeof t&&"function"!=typeof t,u$3=Array.isArray,d$1=t=>u$3(t)||"function"==typeof t?.[Symbol.iterator],f$3="[ \t\n\f\r]",v=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,_$1=/-->/g,m$1=/>/g,p$2=RegExp(`>|${f$3}(?:([^\\s"'>=/]+)(${f$3}*=${f$3}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),g$1=/'/g,$=/"/g,y$2=/^(?:script|style|textarea|title)$/i,x$1=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),b$1=x$1(1),E=Symbol.for("lit-noChange"),A=Symbol.for("lit-nothing"),C=new WeakMap,P=l$2.createTreeWalker(l$2,129);function V(t,i){if(!u$3(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==e$5?e$5.createHTML(i):i}const N=(t,i)=>{const s=t.length-1,e=[];let n,l=2===i?"<svg>":3===i?"<math>":"",c=v;for(let i=0;i<s;i++){const s=t[i];let a,u,d=-1,f=0;for(;f<s.length&&(c.lastIndex=f,u=c.exec(s),null!==u);)f=c.lastIndex,c===v?"!--"===u[1]?c=_$1:void 0!==u[1]?c=m$1:void 0!==u[2]?(y$2.test(u[2])&&(n=RegExp("</"+u[2],"g")),c=p$2):void 0!==u[3]&&(c=p$2):c===p$2?">"===u[0]?(c=n??v,d=-1):void 0===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=void 0===u[3]?p$2:'"'===u[3]?$:g$1):c===$||c===g$1?c=p$2:c===_$1||c===m$1?c=v:(c=p$2,n=void 0);const x=c===p$2&&t[i+1].startsWith("/>")?" ":"";l+=c===v?s+r$4:d>=0?(e.push(a),s.slice(0,d)+h$3+s.slice(d)+o$7+x):s+o$7+(-2===d?i:x);}return [V(t,l+(t[s]||"<?>")+(2===i?"</svg>":3===i?"</math>":"")),e]};let S$1 = class S{constructor({strings:t,_$litType$:i},e){let r;this.parts=[];let l=0,a=0;const u=t.length-1,d=this.parts,[f,v]=N(t,i);if(this.el=S.createElement(f,e),P.currentNode=this.el.content,2===i||3===i){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes);}for(;null!==(r=P.nextNode())&&d.length<u;){if(1===r.nodeType){if(r.hasAttributes())for(const t of r.getAttributeNames())if(t.endsWith(h$3)){const i=v[a++],s=r.getAttribute(t).split(o$7),e=/([.?@])?(.*)/.exec(i);d.push({type:1,index:l,name:e[2],strings:s,ctor:"."===e[1]?I:"?"===e[1]?L:"@"===e[1]?z$1:H}),r.removeAttribute(t);}else t.startsWith(o$7)&&(d.push({type:6,index:l}),r.removeAttribute(t));if(y$2.test(r.tagName)){const t=r.textContent.split(o$7),i=t.length-1;if(i>0){r.textContent=s$4?s$4.emptyScript:"";for(let s=0;s<i;s++)r.append(t[s],c$3()),P.nextNode(),d.push({type:2,index:++l});r.append(t[i],c$3());}}}else if(8===r.nodeType)if(r.data===n$5)d.push({type:2,index:l});else {let t=-1;for(;-1!==(t=r.data.indexOf(o$7,t+1));)d.push({type:7,index:l}),t+=o$7.length-1;}l++;}}static createElement(t,i){const s=l$2.createElement("template");return s.innerHTML=t,s}};function M(t,i,s=t,e){if(i===E)return i;let h=void 0!==e?s._$Co?.[e]:s._$Cl;const o=a$2(i)?void 0:i._$litDirective$;return h?.constructor!==o&&(h?._$AO?.(false),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=M(t,h._$AS(t,i.values),h,e)),i}class R{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??l$2).importNode(i,true);P.currentNode=e;let h=P.nextNode(),o=0,n=0,r=s[0];for(;void 0!==r;){if(o===r.index){let i;2===r.type?i=new k(h,h.nextSibling,this,t):1===r.type?i=new r.ctor(h,r.name,r.strings,this,t):6===r.type&&(i=new Z(h,this,t)),this._$AV.push(i),r=s[++n];}o!==r?.index&&(h=P.nextNode(),o++);}return P.currentNode=l$2,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 k{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,i,s,e){this.type=2,this._$AH=A,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cv=e?.isConnected??true;}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=M(this,t,i),a$2(t)?t===A||null==t||""===t?(this._$AH!==A&&this._$AR(),this._$AH=A):t!==this._$AH&&t!==E&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):d$1(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!==A&&a$2(this._$AH)?this._$AA.nextSibling.data=t:this.T(l$2.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=S$1.createElement(V(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===e)this._$AH.p(i);else {const t=new R(e,this),s=t.u(this.options);t.p(i),this.T(s),this._$AH=t;}}_$AC(t){let i=C.get(t.strings);return void 0===i&&C.set(t.strings,i=new S$1(t)),i}k(t){u$3(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 k(this.O(c$3()),this.O(c$3()),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,s){for(this._$AP?.(false,true,s);t!==this._$AB;){const s=i$5(t).nextSibling;i$5(t).remove(),t=s;}}setConnected(t){ void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t));}}class H{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,i,s,e,h){this.type=1,this._$AH=A,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=A;}_$AI(t,i=this,s,e){const h=this.strings;let o=false;if(void 0===h)t=M(this,t,i,0),o=!a$2(t)||t!==this._$AH&&t!==E,o&&(this._$AH=t);else {const e=t;let n,r;for(t=h[0],n=0;n<h.length-1;n++)r=M(this,e[s+n],i,n),r===E&&(r=this._$AH[n]),o||=!a$2(r)||r!==this._$AH[n],r===A?t=A:t!==A&&(t+=(r??"")+h[n+1]),this._$AH[n]=r;}o&&!e&&this.j(t);}j(t){t===A?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"");}}class I extends H{constructor(){super(...arguments),this.type=3;}j(t){this.element[this.name]=t===A?void 0:t;}}class L extends H{constructor(){super(...arguments),this.type=4;}j(t){this.element.toggleAttribute(this.name,!!t&&t!==A);}}let z$1 = class z extends H{constructor(t,i,s,e,h){super(t,i,s,e,h),this.type=5;}_$AI(t,i=this){if((t=M(this,t,i,0)??A)===E)return;const s=this._$AH,e=t===A&&s!==A||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,h=t!==A&&(s===A||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){M(this,t);}}const B=t$2.litHtmlPolyfillSupport;B?.(S$1,k),(t$2.litHtmlVersions??=[]).push("3.3.2");const D=(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 k(i.insertBefore(c$3(),t),t,void 0,s??{});}return h._$AI(t),h};
7
34
 
8
35
  /**
9
36
  * @license
10
37
  * Copyright 2020 Google LLC
11
38
  * SPDX-License-Identifier: BSD-3-Clause
12
39
  */
13
- const a$1=Symbol.for(""),o$6=t=>{if(t?.r===a$1)return t?._$litStatic$},s$3=t=>({_$litStatic$:t,r:a$1}),i$4=(t,...r)=>({_$litStatic$:r.reduce(((r,e,a)=>r+(t=>{if(void 0!==t._$litStatic$)return t._$litStatic$;throw Error(`Value passed to 'literal' function must be a 'literal' result: ${t}. Use 'unsafeStatic' to pass non-literal values, but\n take care to ensure page security.`)})(e)+t[a+1]),t[0]),r:a$1}),l$1=new Map,n$4=t=>(r,...e)=>{const a=e.length;let s,i;const n=[],u=[];let c,$=0,f=false;for(;$<a;){for(c=r[$];$<a&&void 0!==(i=e[$],s=o$6(i));)c+=s+r[++$],f=true;$!==a&&u.push(i),n.push(c),$++;}if($===a&&n.push(r[a]),f){const t=n.join("$$lit$$");void 0===(r=l$1.get(t))&&(n.raw=n,l$1.set(t,r=n)),e=u;}return t(r,...e)},u$2=n$4(x$1);
40
+ const a$1=Symbol.for(""),o$6=t=>{if(t?.r===a$1)return t?._$litStatic$},s$3=t=>({_$litStatic$:t,r:a$1}),i$4=(t,...r)=>({_$litStatic$:r.reduce((r,e,a)=>r+(t=>{if(void 0!==t._$litStatic$)return t._$litStatic$;throw Error(`Value passed to 'literal' function must be a 'literal' result: ${t}. Use 'unsafeStatic' to pass non-literal values, but\n take care to ensure page security.`)})(e)+t[a+1],t[0]),r:a$1}),l$1=new Map,n$4=t=>(r,...e)=>{const a=e.length;let s,i;const n=[],u=[];let c,$=0,f=false;for(;$<a;){for(c=r[$];$<a&&void 0!==(i=e[$],s=o$6(i));)c+=s+r[++$],f=true;$!==a&&u.push(i),n.push(c),$++;}if($===a&&n.push(r[a]),f){const t=n.join("$$lit$$");void 0===(r=l$1.get(t))&&(n.raw=n,l$1.set(t,r=n)),e=u;}return t(r,...e)},u$2=n$4(b$1);
14
41
 
15
42
  /**
16
43
  * @license
@@ -23,44 +50,44 @@ const t$1={ATTRIBUTE:1,CHILD:2},e$4=t=>(...e)=>({_$litDirective$:t,values:e});le
23
50
  * @license
24
51
  * Copyright 2018 Google LLC
25
52
  * SPDX-License-Identifier: BSD-3-Clause
26
- */const e$3=e$4(class extends i$3{constructor(t){if(super(t),t.type!==t$1.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}});
53
+ */const e$3=e$4(class extends i$3{constructor(t){if(super(t),t.type!==t$1.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 E}});
27
54
 
28
55
  /**
29
56
  * @license
30
57
  * Copyright 2019 Google LLC
31
58
  * SPDX-License-Identifier: BSD-3-Clause
32
59
  */
33
- const t=globalThis,e$2=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,s$2=Symbol(),o$5=new WeakMap;let n$3 = class n{constructor(t,e,o){if(this._$cssResult$=true,o!==s$2)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$2&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o$5.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o$5.set(s,t));}return t}toString(){return this.cssText}};const r$2=t=>new n$3("string"==typeof t?t:t+"",void 0,s$2),i$2=(t,...e)=>{const o=1===t.length?t[0]:e.reduce(((e,s,o)=>e+(t=>{if(true===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$3(o,t,s$2)},S=(s,o)=>{if(e$2)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$2=e$2?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const s of t.cssRules)e+=s.cssText;return r$2(e)})(t):t;
60
+ const t=globalThis,e$2=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,s$2=Symbol(),o$5=new WeakMap;let n$3 = class n{constructor(t,e,o){if(this._$cssResult$=true,o!==s$2)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$2&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o$5.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o$5.set(s,t));}return t}toString(){return this.cssText}};const r$3=t=>new n$3("string"==typeof t?t:t+"",void 0,s$2),i$2=(t,...e)=>{const o=1===t.length?t[0]:e.reduce((e,s,o)=>e+(t=>{if(true===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$3(o,t,s$2)},S=(s,o)=>{if(e$2)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$2=e$2?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const s of t.cssRules)e+=s.cssText;return r$3(e)})(t):t;
34
61
 
35
62
  /**
36
63
  * @license
37
64
  * Copyright 2017 Google LLC
38
65
  * SPDX-License-Identifier: BSD-3-Clause
39
- */const{is:i$1,defineProperty:e$1,getOwnPropertyDescriptor:h$2,getOwnPropertyNames:r$1,getOwnPropertySymbols:o$4,getPrototypeOf:n$2}=Object,a=globalThis,c$1=a.trustedTypes,l=c$1?c$1.emptyScript:"",p$1=a.reactiveElementPolyfillSupport,d=(t,s)=>t,u$1={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$3=(t,s)=>!i$1(t,s),b={attribute:true,type:String,converter:u$1,reflect:false,useDefault:false,hasChanged:f$3};Symbol.metadata??=Symbol("metadata"),a.litPropertyMetadata??=new WeakMap;let y$1 = 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=false),this._$Ei(),this.prototype.hasOwnProperty(t)&&((s=Object.create(s)).wrapped=true),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),h=this.getPropertyDescriptor(t,i,s);void 0!==h&&e$1(this.prototype,t,h);}}static getPropertyDescriptor(t,s,i){const{get:e,set:r}=h$2(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:true,enumerable:true}}static getPropertyOptions(t){return this.elementProperties.get(t)??b}static _$Ei(){if(this.hasOwnProperty(d("elementProperties")))return;const t=n$2(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=true,this._$Ei(),this.hasOwnProperty(d("properties"))){const t=this.properties,s=[...r$1(t),...o$4(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(c$2(s));}else void 0!==s&&i.push(c$2(s));return i}static _$Eu(t,s){const i=s.attribute;return false===i?void 0:"string"==typeof i?i:"string"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=false,this.hasUpdated=false,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(true),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&&true===i.reflect){const h=(void 0!==i.converter?.toAttribute?i.converter:u$1).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$1;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$3)(h,s)||i.useDefault&&i.reflect&&h===this._$Ej?.get(t)&&!this.hasAttribute(e._$Eu(t,i))))return;this.C(t,s,i);} false===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]),true!==h||void 0!==r)||(this._$AL.has(t)||(this.hasUpdated||i||(s=void 0),this._$AL.set(t,s)),true===e&&this._$Em!==t&&(this._$Eq??=new Set).add(t));}async _$EP(){this.isUpdatePending=true;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];true!==t||this._$AL.has(s)||void 0===e||this.C(s,void 0,i,e);}}let t=false;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=false,this._$EM(),s}t&&this._$AE(s);}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=true,this.firstUpdated(t)),this.updated(t);}_$EM(){this._$AL=new Map,this.isUpdatePending=false;}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return true}update(t){this._$Eq&&=this._$Eq.forEach((t=>this._$ET(t,this[t]))),this._$EM();}updated(t){}firstUpdated(t){}};y$1.elementStyles=[],y$1.shadowRootOptions={mode:"open"},y$1[d("elementProperties")]=new Map,y$1[d("finalized")]=new Map,p$1?.({ReactiveElement:y$1}),(a.reactiveElementVersions??=[]).push("2.1.1");
66
+ */const{is:i$1,defineProperty:e$1,getOwnPropertyDescriptor:h$2,getOwnPropertyNames:r$2,getOwnPropertySymbols:o$4,getPrototypeOf:n$2}=Object,a=globalThis,c$1=a.trustedTypes,l=c$1?c$1.emptyScript:"",p$1=a.reactiveElementPolyfillSupport,d=(t,s)=>t,u$1={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$2=(t,s)=>!i$1(t,s),b={attribute:true,type:String,converter:u$1,reflect:false,useDefault:false,hasChanged:f$2};Symbol.metadata??=Symbol("metadata"),a.litPropertyMetadata??=new WeakMap;let y$1 = 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=false),this._$Ei(),this.prototype.hasOwnProperty(t)&&((s=Object.create(s)).wrapped=true),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),h=this.getPropertyDescriptor(t,i,s);void 0!==h&&e$1(this.prototype,t,h);}}static getPropertyDescriptor(t,s,i){const{get:e,set:r}=h$2(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:true,enumerable:true}}static getPropertyOptions(t){return this.elementProperties.get(t)??b}static _$Ei(){if(this.hasOwnProperty(d("elementProperties")))return;const t=n$2(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=true,this._$Ei(),this.hasOwnProperty(d("properties"))){const t=this.properties,s=[...r$2(t),...o$4(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(c$2(s));}else void 0!==s&&i.push(c$2(s));return i}static _$Eu(t,s){const i=s.attribute;return false===i?void 0:"string"==typeof i?i:"string"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=false,this.hasUpdated=false,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(true),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&&true===i.reflect){const h=(void 0!==i.converter?.toAttribute?i.converter:u$1).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$1;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,e=false,h){if(void 0!==t){const r=this.constructor;if(false===e&&(h=this[t]),i??=r.getPropertyOptions(t),!((i.hasChanged??f$2)(h,s)||i.useDefault&&i.reflect&&h===this._$Ej?.get(t)&&!this.hasAttribute(r._$Eu(t,i))))return;this.C(t,s,i);} false===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]),true!==h||void 0!==r)||(this._$AL.has(t)||(this.hasUpdated||i||(s=void 0),this._$AL.set(t,s)),true===e&&this._$Em!==t&&(this._$Eq??=new Set).add(t));}async _$EP(){this.isUpdatePending=true;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];true!==t||this._$AL.has(s)||void 0===e||this.C(s,void 0,i,e);}}let t=false;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=false,this._$EM(),s}t&&this._$AE(s);}willUpdate(t){}_$AE(t){this._$EO?.forEach(t=>t.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=true,this.firstUpdated(t)),this.updated(t);}_$EM(){this._$AL=new Map,this.isUpdatePending=false;}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return true}update(t){this._$Eq&&=this._$Eq.forEach(t=>this._$ET(t,this[t])),this._$EM();}updated(t){}firstUpdated(t){}};y$1.elementStyles=[],y$1.shadowRootOptions={mode:"open"},y$1[d("elementProperties")]=new Map,y$1[d("finalized")]=new Map,p$1?.({ReactiveElement:y$1}),(a.reactiveElementVersions??=[]).push("2.1.2");
40
67
 
41
68
  /**
42
69
  * @license
43
70
  * Copyright 2017 Google LLC
44
71
  * SPDX-License-Identifier: BSD-3-Clause
45
- */const s$1=globalThis;class i extends y$1{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=B(r,this.renderRoot,this.renderOptions);}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(true);}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(false);}render(){return T}}i._$litElement$=true,i["finalized"]=true,s$1.litElementHydrateSupport?.({LitElement:i});const o$3=s$1.litElementPolyfillSupport;o$3?.({LitElement:i});(s$1.litElementVersions??=[]).push("4.2.1");
72
+ */const s$1=globalThis;class i extends y$1{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=D(r,this.renderRoot,this.renderOptions);}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(true);}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(false);}render(){return E}}i._$litElement$=true,i["finalized"]=true,s$1.litElementHydrateSupport?.({LitElement:i});const o$3=s$1.litElementPolyfillSupport;o$3?.({LitElement:i});(s$1.litElementVersions??=[]).push("4.2.2");
46
73
 
47
74
  /**
48
75
  * @license
49
76
  * Copyright 2020 Google LLC
50
77
  * SPDX-License-Identifier: BSD-3-Clause
51
- */const f$2=o=>void 0===o.strings;
78
+ */const r$1=o=>void 0===o.strings;
52
79
 
53
80
  /**
54
81
  * @license
55
82
  * Copyright 2017 Google LLC
56
83
  * SPDX-License-Identifier: BSD-3-Clause
57
- */const s=(i,t)=>{const e=i._$AN;if(void 0===e)return false;for(const i of e)i._$AO?.(t,false),s(i,t);return true},o$2=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$1(i){ void 0!==this._$AN?(o$2(this),this._$AM=i,r(this)):this._$AM=i;}function n$1(i,t=false,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],false),o$2(r[i]);else null!=r&&(s(r,false),o$2(r));else s(this,i);}const c=i=>{i.type==t$1.CHILD&&(i._$AP??=n$1,i._$AQ??=h$1);};let f$1 = class f extends i$3{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=true){i!==this.isConnected&&(this.isConnected=i,i?this.reconnected?.():this.disconnected?.()),t&&(s(this,i),o$2(this));}setValue(t){if(f$2(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(){}};
84
+ */const s=(i,t)=>{const e=i._$AN;if(void 0===e)return false;for(const i of e)i._$AO?.(t,false),s(i,t);return true},o$2=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$1(i){ void 0!==this._$AN?(o$2(this),this._$AM=i,r(this)):this._$AM=i;}function n$1(i,t=false,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],false),o$2(r[i]);else null!=r&&(s(r,false),o$2(r));else s(this,i);}const c=i=>{i.type==t$1.CHILD&&(i._$AP??=n$1,i._$AQ??=h$1);};let f$1 = class f extends i$3{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=true){i!==this.isConnected&&(this.isConnected=i,i?this.reconnected?.():this.disconnected?.()),t&&(s(this,i),o$2(this));}setValue(t){if(r$1(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(){}};
58
85
 
59
86
  /**
60
87
  * @license
61
88
  * Copyright 2020 Google LLC
62
89
  * SPDX-License-Identifier: BSD-3-Clause
63
- */const e=()=>new h;class h{}const o$1=new WeakMap,n=e$4(class extends f$1{render(i){return E}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)),E}rt(t){if(this.isConnected||(t=void 0),"function"==typeof this.G){const i=this.ht??globalThis;let s=o$1.get(i);void 0===s&&(s=new WeakMap,o$1.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$1.get(this.ht??globalThis)?.get(this.G):this.G?.value}disconnected(){this.lt===this.ct&&this.rt(void 0);}reconnected(){this.rt(this.ct);}});
90
+ */const e=()=>new h;class h{}const o$1=new WeakMap,n=e$4(class extends f$1{render(i){return A}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)),A}rt(t){if(this.isConnected||(t=void 0),"function"==typeof this.G){const i=this.ht??globalThis;let s=o$1.get(i);void 0===s&&(s=new WeakMap,o$1.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$1.get(this.ht??globalThis)?.get(this.G):this.G?.value}disconnected(){this.lt===this.ct&&this.rt(void 0);}reconnected(){this.rt(this.ct);}});
64
91
 
65
92
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
66
93
  // See LICENSE in the project root for license information.
@@ -189,8 +216,9 @@ function getOppositeAxis(axis) {
189
216
  function getAxisLength(axis) {
190
217
  return axis === 'y' ? 'height' : 'width';
191
218
  }
219
+ const yAxisSides = /*#__PURE__*/new Set(['top', 'bottom']);
192
220
  function getSideAxis(placement) {
193
- return ['top', 'bottom'].includes(getSide(placement)) ? 'y' : 'x';
221
+ return yAxisSides.has(getSide(placement)) ? 'y' : 'x';
194
222
  }
195
223
  function getAlignmentAxis(placement) {
196
224
  return getOppositeAxis(getSideAxis(placement));
@@ -215,19 +243,19 @@ function getExpandedPlacements(placement) {
215
243
  function getOppositeAlignmentPlacement(placement) {
216
244
  return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);
217
245
  }
246
+ const lrPlacement = ['left', 'right'];
247
+ const rlPlacement = ['right', 'left'];
248
+ const tbPlacement = ['top', 'bottom'];
249
+ const btPlacement = ['bottom', 'top'];
218
250
  function getSideList(side, isStart, rtl) {
219
- const lr = ['left', 'right'];
220
- const rl = ['right', 'left'];
221
- const tb = ['top', 'bottom'];
222
- const bt = ['bottom', 'top'];
223
251
  switch (side) {
224
252
  case 'top':
225
253
  case 'bottom':
226
- if (rtl) return isStart ? rl : lr;
227
- return isStart ? lr : rl;
254
+ if (rtl) return isStart ? rlPlacement : lrPlacement;
255
+ return isStart ? lrPlacement : rlPlacement;
228
256
  case 'left':
229
257
  case 'right':
230
- return isStart ? tb : bt;
258
+ return isStart ? tbPlacement : btPlacement;
231
259
  default:
232
260
  return [];
233
261
  }
@@ -338,6 +366,71 @@ function computeCoordsFromPlacement(_ref, placement, rtl) {
338
366
  return coords;
339
367
  }
340
368
 
369
+ /**
370
+ * Resolves with an object of overflow side offsets that determine how much the
371
+ * element is overflowing a given clipping boundary on each side.
372
+ * - positive = overflowing the boundary by that number of pixels
373
+ * - negative = how many pixels left before it will overflow
374
+ * - 0 = lies flush with the boundary
375
+ * @see https://floating-ui.com/docs/detectOverflow
376
+ */
377
+ async function detectOverflow(state, options) {
378
+ var _await$platform$isEle;
379
+ if (options === void 0) {
380
+ options = {};
381
+ }
382
+ const {
383
+ x,
384
+ y,
385
+ platform,
386
+ rects,
387
+ elements,
388
+ strategy
389
+ } = state;
390
+ const {
391
+ boundary = 'clippingAncestors',
392
+ rootBoundary = 'viewport',
393
+ elementContext = 'floating',
394
+ altBoundary = false,
395
+ padding = 0
396
+ } = evaluate(options, state);
397
+ const paddingObject = getPaddingObject(padding);
398
+ const altContext = elementContext === 'floating' ? 'reference' : 'floating';
399
+ const element = elements[altBoundary ? altContext : elementContext];
400
+ const clippingClientRect = rectToClientRect(await platform.getClippingRect({
401
+ 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))),
402
+ boundary,
403
+ rootBoundary,
404
+ strategy
405
+ }));
406
+ const rect = elementContext === 'floating' ? {
407
+ x,
408
+ y,
409
+ width: rects.floating.width,
410
+ height: rects.floating.height
411
+ } : rects.reference;
412
+ const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));
413
+ const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {
414
+ x: 1,
415
+ y: 1
416
+ } : {
417
+ x: 1,
418
+ y: 1
419
+ };
420
+ const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({
421
+ elements,
422
+ rect,
423
+ offsetParent,
424
+ strategy
425
+ }) : rect);
426
+ return {
427
+ top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,
428
+ bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,
429
+ left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,
430
+ right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x
431
+ };
432
+ }
433
+
341
434
  /**
342
435
  * Computes the `x` and `y` coordinates that will place the floating element
343
436
  * next to a given reference element.
@@ -367,6 +460,7 @@ const computePosition$1 = async (reference, floating, config) => {
367
460
  let middlewareData = {};
368
461
  let resetCount = 0;
369
462
  for (let i = 0; i < validMiddleware.length; i++) {
463
+ var _platform$detectOverf;
370
464
  const {
371
465
  name,
372
466
  fn
@@ -384,7 +478,10 @@ const computePosition$1 = async (reference, floating, config) => {
384
478
  strategy,
385
479
  middlewareData,
386
480
  rects,
387
- platform,
481
+ platform: {
482
+ ...platform,
483
+ detectOverflow: (_platform$detectOverf = platform.detectOverflow) != null ? _platform$detectOverf : detectOverflow
484
+ },
388
485
  elements: {
389
486
  reference,
390
487
  floating
@@ -429,71 +526,6 @@ const computePosition$1 = async (reference, floating, config) => {
429
526
  };
430
527
  };
431
528
 
432
- /**
433
- * Resolves with an object of overflow side offsets that determine how much the
434
- * element is overflowing a given clipping boundary on each side.
435
- * - positive = overflowing the boundary by that number of pixels
436
- * - negative = how many pixels left before it will overflow
437
- * - 0 = lies flush with the boundary
438
- * @see https://floating-ui.com/docs/detectOverflow
439
- */
440
- async function detectOverflow(state, options) {
441
- var _await$platform$isEle;
442
- if (options === void 0) {
443
- options = {};
444
- }
445
- const {
446
- x,
447
- y,
448
- platform,
449
- rects,
450
- elements,
451
- strategy
452
- } = state;
453
- const {
454
- boundary = 'clippingAncestors',
455
- rootBoundary = 'viewport',
456
- elementContext = 'floating',
457
- altBoundary = false,
458
- padding = 0
459
- } = evaluate(options, state);
460
- const paddingObject = getPaddingObject(padding);
461
- const altContext = elementContext === 'floating' ? 'reference' : 'floating';
462
- const element = elements[altBoundary ? altContext : elementContext];
463
- const clippingClientRect = rectToClientRect(await platform.getClippingRect({
464
- 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))),
465
- boundary,
466
- rootBoundary,
467
- strategy
468
- }));
469
- const rect = elementContext === 'floating' ? {
470
- x,
471
- y,
472
- width: rects.floating.width,
473
- height: rects.floating.height
474
- } : rects.reference;
475
- const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));
476
- const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {
477
- x: 1,
478
- y: 1
479
- } : {
480
- x: 1,
481
- y: 1
482
- };
483
- const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({
484
- elements,
485
- rect,
486
- offsetParent,
487
- strategy
488
- }) : rect);
489
- return {
490
- top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,
491
- bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,
492
- left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,
493
- right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x
494
- };
495
- }
496
-
497
529
  function getPlacementList(alignment, autoAlignment, allowedPlacements) {
498
530
  const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);
499
531
  return allowedPlacementsSortedByAlignment.filter(placement => {
@@ -533,7 +565,7 @@ const autoPlacement$1 = function (options) {
533
565
  ...detectOverflowOptions
534
566
  } = evaluate(options, state);
535
567
  const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;
536
- const overflow = await detectOverflow(state, detectOverflowOptions);
568
+ const overflow = await platform.detectOverflow(state, detectOverflowOptions);
537
569
  const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;
538
570
  const currentPlacement = placements$1[currentIndex];
539
571
  if (currentPlacement == null) {
@@ -647,7 +679,7 @@ const flip$1 = function (options) {
647
679
  fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));
648
680
  }
649
681
  const placements = [initialPlacement, ...fallbackPlacements];
650
- const overflow = await detectOverflow(state, detectOverflowOptions);
682
+ const overflow = await platform.detectOverflow(state, detectOverflowOptions);
651
683
  const overflows = [];
652
684
  let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];
653
685
  if (checkMainAxis) {
@@ -668,16 +700,22 @@ const flip$1 = function (options) {
668
700
  const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;
669
701
  const nextPlacement = placements[nextIndex];
670
702
  if (nextPlacement) {
671
- // Try next placement and re-run the lifecycle.
672
- return {
673
- data: {
674
- index: nextIndex,
675
- overflows: overflowsData
676
- },
677
- reset: {
678
- placement: nextPlacement
679
- }
680
- };
703
+ const ignoreCrossAxisOverflow = checkCrossAxis === 'alignment' ? initialSideAxis !== getSideAxis(nextPlacement) : false;
704
+ if (!ignoreCrossAxisOverflow ||
705
+ // We leave the current main axis only if every placement on that axis
706
+ // overflows the main axis.
707
+ overflowsData.every(d => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) {
708
+ // Try next placement and re-run the lifecycle.
709
+ return {
710
+ data: {
711
+ index: nextIndex,
712
+ overflows: overflowsData
713
+ },
714
+ reset: {
715
+ placement: nextPlacement
716
+ }
717
+ };
718
+ }
681
719
  }
682
720
 
683
721
  // First, find the candidates that fit on the mainAxis side of overflow,
@@ -723,6 +761,8 @@ const flip$1 = function (options) {
723
761
  };
724
762
  };
725
763
 
764
+ const originSides = /*#__PURE__*/new Set(['left', 'top']);
765
+
726
766
  // For type backwards-compatibility, the `OffsetOptions` type was also
727
767
  // Derivable.
728
768
 
@@ -736,7 +776,7 @@ async function convertValueToCoords(state, options) {
736
776
  const side = getSide(placement);
737
777
  const alignment = getAlignment(placement);
738
778
  const isVertical = getSideAxis(placement) === 'y';
739
- const mainAxisMulti = ['left', 'top'].includes(side) ? -1 : 1;
779
+ const mainAxisMulti = originSides.has(side) ? -1 : 1;
740
780
  const crossAxisMulti = rtl && isVertical ? -1 : 1;
741
781
  const rawValue = evaluate(options, state);
742
782
 
@@ -823,7 +863,8 @@ const shift$1 = function (options) {
823
863
  const {
824
864
  x,
825
865
  y,
826
- placement
866
+ placement,
867
+ platform
827
868
  } = state;
828
869
  const {
829
870
  mainAxis: checkMainAxis = true,
@@ -846,7 +887,7 @@ const shift$1 = function (options) {
846
887
  x,
847
888
  y
848
889
  };
849
- const overflow = await detectOverflow(state, detectOverflowOptions);
890
+ const overflow = await platform.detectOverflow(state, detectOverflowOptions);
850
891
  const crossAxis = getSideAxis(getSide(placement));
851
892
  const mainAxis = getOppositeAxis(crossAxis);
852
893
  let mainAxisCoord = coords[mainAxis];
@@ -929,6 +970,7 @@ function isShadowRoot(value) {
929
970
  }
930
971
  return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;
931
972
  }
973
+ const invalidOverflowDisplayValues = /*#__PURE__*/new Set(['inline', 'contents']);
932
974
  function isOverflowElement(element) {
933
975
  const {
934
976
  overflow,
@@ -936,27 +978,32 @@ function isOverflowElement(element) {
936
978
  overflowY,
937
979
  display
938
980
  } = getComputedStyle$1(element);
939
- return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !['inline', 'contents'].includes(display);
981
+ return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !invalidOverflowDisplayValues.has(display);
940
982
  }
983
+ const tableElements = /*#__PURE__*/new Set(['table', 'td', 'th']);
941
984
  function isTableElement(element) {
942
- return ['table', 'td', 'th'].includes(getNodeName(element));
985
+ return tableElements.has(getNodeName(element));
943
986
  }
987
+ const topLayerSelectors = [':popover-open', ':modal'];
944
988
  function isTopLayer(element) {
945
- return [':popover-open', ':modal'].some(selector => {
989
+ return topLayerSelectors.some(selector => {
946
990
  try {
947
991
  return element.matches(selector);
948
- } catch (e) {
992
+ } catch (_e) {
949
993
  return false;
950
994
  }
951
995
  });
952
996
  }
997
+ const transformProperties = ['transform', 'translate', 'scale', 'rotate', 'perspective'];
998
+ const willChangeValues = ['transform', 'translate', 'scale', 'rotate', 'perspective', 'filter'];
999
+ const containValues = ['paint', 'layout', 'strict', 'content'];
953
1000
  function isContainingBlock(elementOrCss) {
954
1001
  const webkit = isWebKit();
955
1002
  const css = isElement(elementOrCss) ? getComputedStyle$1(elementOrCss) : elementOrCss;
956
1003
 
957
1004
  // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block
958
1005
  // https://drafts.csswg.org/css-transforms-2/#individual-transforms
959
- return ['transform', 'translate', 'scale', 'rotate', 'perspective'].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) || ['transform', 'translate', 'scale', 'rotate', 'perspective', 'filter'].some(value => (css.willChange || '').includes(value)) || ['paint', 'layout', 'strict', 'content'].some(value => (css.contain || '').includes(value));
1006
+ 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));
960
1007
  }
961
1008
  function getContainingBlock(element) {
962
1009
  let currentNode = getParentNode(element);
@@ -974,8 +1021,9 @@ function isWebKit() {
974
1021
  if (typeof CSS === 'undefined' || !CSS.supports) return false;
975
1022
  return CSS.supports('-webkit-backdrop-filter', 'none');
976
1023
  }
1024
+ const lastTraversableNodeNames = /*#__PURE__*/new Set(['html', 'body', '#document']);
977
1025
  function isLastTraversableNode(node) {
978
- return ['html', 'body', '#document'].includes(getNodeName(node));
1026
+ return lastTraversableNodeNames.has(getNodeName(node));
979
1027
  }
980
1028
  function getComputedStyle$1(element) {
981
1029
  return getWindow(element).getComputedStyle(element);
@@ -1175,14 +1223,9 @@ function getWindowScrollBarX(element, rect) {
1175
1223
  return rect.left + leftScroll;
1176
1224
  }
1177
1225
 
1178
- function getHTMLOffset(documentElement, scroll, ignoreScrollbarX) {
1179
- if (ignoreScrollbarX === void 0) {
1180
- ignoreScrollbarX = false;
1181
- }
1226
+ function getHTMLOffset(documentElement, scroll) {
1182
1227
  const htmlRect = documentElement.getBoundingClientRect();
1183
- const x = htmlRect.left + scroll.scrollLeft - (ignoreScrollbarX ? 0 :
1184
- // RTL <body> scrollbar.
1185
- getWindowScrollBarX(documentElement, htmlRect));
1228
+ const x = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect);
1186
1229
  const y = htmlRect.top + scroll.scrollTop;
1187
1230
  return {
1188
1231
  x,
@@ -1221,7 +1264,7 @@ function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
1221
1264
  offsets.y = offsetRect.y + offsetParent.clientTop;
1222
1265
  }
1223
1266
  }
1224
- const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll, true) : createCoords(0);
1267
+ const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);
1225
1268
  return {
1226
1269
  width: rect.width * scale.x,
1227
1270
  height: rect.height * scale.y,
@@ -1255,6 +1298,10 @@ function getDocumentRect(element) {
1255
1298
  };
1256
1299
  }
1257
1300
 
1301
+ // Safety check: ensure the scrollbar space is reasonable in case this
1302
+ // calculation is affected by unusual styles.
1303
+ // Most scrollbars leave 15-18px of space.
1304
+ const SCROLLBAR_MAX = 25;
1258
1305
  function getViewportRect(element, strategy) {
1259
1306
  const win = getWindow(element);
1260
1307
  const html = getDocumentElement(element);
@@ -1272,6 +1319,24 @@ function getViewportRect(element, strategy) {
1272
1319
  y = visualViewport.offsetTop;
1273
1320
  }
1274
1321
  }
1322
+ const windowScrollbarX = getWindowScrollBarX(html);
1323
+ // <html> `overflow: hidden` + `scrollbar-gutter: stable` reduces the
1324
+ // visual width of the <html> but this is not considered in the size
1325
+ // of `html.clientWidth`.
1326
+ if (windowScrollbarX <= 0) {
1327
+ const doc = html.ownerDocument;
1328
+ const body = doc.body;
1329
+ const bodyStyles = getComputedStyle(body);
1330
+ const bodyMarginInline = doc.compatMode === 'CSS1Compat' ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;
1331
+ const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);
1332
+ if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) {
1333
+ width -= clippingStableScrollbarWidth;
1334
+ }
1335
+ } else if (windowScrollbarX <= SCROLLBAR_MAX) {
1336
+ // If the <body> scrollbar is on the left, the width needs to be extended
1337
+ // by the scrollbar amount so there isn't extra space on the right.
1338
+ width += windowScrollbarX;
1339
+ }
1275
1340
  return {
1276
1341
  width,
1277
1342
  height,
@@ -1280,6 +1345,7 @@ function getViewportRect(element, strategy) {
1280
1345
  };
1281
1346
  }
1282
1347
 
1348
+ const absoluteOrFixed = /*#__PURE__*/new Set(['absolute', 'fixed']);
1283
1349
  // Returns the inner client rect, subtracting scrollbars if present.
1284
1350
  function getInnerBoundingClientRect(element, strategy) {
1285
1351
  const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');
@@ -1344,7 +1410,7 @@ function getClippingElementAncestors(element, cache) {
1344
1410
  if (!currentNodeIsContaining && computedStyle.position === 'fixed') {
1345
1411
  currentContainingBlockComputedStyle = null;
1346
1412
  }
1347
- const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && ['absolute', 'fixed'].includes(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);
1413
+ const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && absoluteOrFixed.has(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);
1348
1414
  if (shouldDropCurrentNode) {
1349
1415
  // Drop non-containing blocks.
1350
1416
  result = result.filter(ancestor => ancestor !== currentNode);
@@ -1407,6 +1473,12 @@ function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
1407
1473
  scrollTop: 0
1408
1474
  };
1409
1475
  const offsets = createCoords(0);
1476
+
1477
+ // If the <body> scrollbar appears on the left (e.g. RTL systems). Use
1478
+ // Firefox with layout.scrollbar.side = 3 in about:config to test this.
1479
+ function setLeftRTLScrollbarOffset() {
1480
+ offsets.x = getWindowScrollBarX(documentElement);
1481
+ }
1410
1482
  if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {
1411
1483
  if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {
1412
1484
  scroll = getNodeScroll(offsetParent);
@@ -1416,11 +1488,12 @@ function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
1416
1488
  offsets.x = offsetRect.x + offsetParent.clientLeft;
1417
1489
  offsets.y = offsetRect.y + offsetParent.clientTop;
1418
1490
  } else if (documentElement) {
1419
- // If the <body> scrollbar appears on the left (e.g. RTL systems). Use
1420
- // Firefox with layout.scrollbar.side = 3 in about:config to test this.
1421
- offsets.x = getWindowScrollBarX(documentElement);
1491
+ setLeftRTLScrollbarOffset();
1422
1492
  }
1423
1493
  }
1494
+ if (isFixed && !isOffsetParentAnElement && documentElement) {
1495
+ setLeftRTLScrollbarOffset();
1496
+ }
1424
1497
  const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);
1425
1498
  const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;
1426
1499
  const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;
@@ -1597,7 +1670,7 @@ function observeMove(element, onMove) {
1597
1670
  // Handle <iframe>s
1598
1671
  root: root.ownerDocument
1599
1672
  });
1600
- } catch (e) {
1673
+ } catch (_e) {
1601
1674
  io = new IntersectionObserver(handleObserve, options);
1602
1675
  }
1603
1676
  io.observe(element);
@@ -2388,32 +2461,32 @@ class AuroFloatingUI {
2388
2461
 
2389
2462
  // Selectors for focusable elements
2390
2463
  const FOCUSABLE_SELECTORS = [
2391
- 'a[href]',
2392
- 'button:not([disabled])',
2393
- 'textarea:not([disabled])',
2394
- 'input:not([disabled])',
2395
- 'select:not([disabled])',
2464
+ "a[href]",
2465
+ "button:not([disabled])",
2466
+ "textarea:not([disabled])",
2467
+ "input:not([disabled])",
2468
+ "select:not([disabled])",
2396
2469
  '[role="tab"]:not([disabled])',
2397
2470
  '[role="link"]:not([disabled])',
2398
2471
  '[role="button"]:not([disabled])',
2399
2472
  '[tabindex]:not([tabindex="-1"])',
2400
- '[contenteditable]:not([contenteditable="false"])'
2473
+ '[contenteditable]:not([contenteditable="false"])',
2401
2474
  ];
2402
2475
 
2403
2476
  // List of custom components that are known to be focusable
2404
2477
  const FOCUSABLE_COMPONENTS = [
2405
- 'auro-checkbox',
2406
- 'auro-radio',
2407
- 'auro-dropdown',
2408
- 'auro-button',
2409
- 'auro-combobox',
2410
- 'auro-input',
2411
- 'auro-counter',
2412
- 'auro-menu',
2413
- 'auro-select',
2414
- 'auro-datepicker',
2415
- 'auro-hyperlink',
2416
- 'auro-accordion',
2478
+ "auro-checkbox",
2479
+ "auro-radio",
2480
+ "auro-dropdown",
2481
+ "auro-button",
2482
+ "auro-combobox",
2483
+ "auro-input",
2484
+ "auro-counter",
2485
+ // 'auro-menu', // Auro menu is not focusable by default, it uses a different interaction model
2486
+ "auro-select",
2487
+ "auro-datepicker",
2488
+ "auro-hyperlink",
2489
+ "auro-accordion",
2417
2490
  ];
2418
2491
 
2419
2492
  /**
@@ -2427,21 +2500,43 @@ function isFocusableComponent(element) {
2427
2500
  const componentName = element.tagName.toLowerCase();
2428
2501
 
2429
2502
  // Guard Clause: Element is a focusable component
2430
- if (!FOCUSABLE_COMPONENTS.some((name) => element.hasAttribute(name) || componentName === name)) return false;
2503
+ if (
2504
+ !FOCUSABLE_COMPONENTS.some(
2505
+ (name) => element.hasAttribute(name) || componentName === name,
2506
+ )
2507
+ )
2508
+ return false;
2431
2509
 
2432
2510
  // Guard Clause: Element is not disabled
2433
- if (element.hasAttribute('disabled')) return false;
2511
+ if (element.hasAttribute("disabled")) return false;
2434
2512
 
2435
2513
  // Guard Clause: The element is a hyperlink and has no href attribute
2436
- if (componentName.match("hyperlink") && !element.hasAttribute('href')) return false;
2514
+ if (componentName.match("hyperlink") && !element.hasAttribute("href"))
2515
+ return false;
2437
2516
 
2438
2517
  // If all guard clauses pass, the element is a focusable component
2439
2518
  return true;
2440
2519
  }
2441
2520
 
2521
+ /**
2522
+ * Safely get a numeric tabindex for an element.
2523
+ * Returns a number if the tabindex is a valid integer, otherwise null.
2524
+ *
2525
+ * @param {HTMLElement} element The element whose tabindex to read.
2526
+ * @returns {?number} The numeric tabindex or null if missing/invalid.
2527
+ */
2528
+ function getNumericTabIndex(element) {
2529
+ const raw = element.getAttribute("tabindex");
2530
+ if (raw == null) return null;
2531
+
2532
+ const value = Number.parseInt(raw, 10);
2533
+ return Number.isNaN(value) ? null : value;
2534
+ }
2535
+
2442
2536
  /**
2443
2537
  * Retrieves all focusable elements within the container in DOM order, including those in shadow DOM and slots.
2444
2538
  * Returns a unique, ordered array of elements that can receive focus.
2539
+ * Also sorts elements with tabindex first, preserving their order.
2445
2540
  *
2446
2541
  * @param {HTMLElement} container The container to search within
2447
2542
  * @returns {Array<HTMLElement>} An array of focusable elements within the container.
@@ -2475,14 +2570,14 @@ function getFocusableElements(container) {
2475
2570
  if (root.shadowRoot) {
2476
2571
  // Process shadow DOM children in order
2477
2572
  if (root.shadowRoot.children) {
2478
- Array.from(root.shadowRoot.children).forEach(child => {
2573
+ Array.from(root.shadowRoot.children).forEach((child) => {
2479
2574
  collectFocusableElements(child);
2480
2575
  });
2481
2576
  }
2482
2577
  }
2483
2578
 
2484
2579
  // Process slots and their assigned nodes in order
2485
- if (root.tagName === 'SLOT') {
2580
+ if (root.tagName === "SLOT") {
2486
2581
  const assignedNodes = root.assignedNodes({ flatten: true });
2487
2582
  for (const node of assignedNodes) {
2488
2583
  collectFocusableElements(node);
@@ -2490,7 +2585,7 @@ function getFocusableElements(container) {
2490
2585
  } else {
2491
2586
  // Process light DOM children in order
2492
2587
  if (root.children) {
2493
- Array.from(root.children).forEach(child => {
2588
+ Array.from(root.children).forEach((child) => {
2494
2589
  collectFocusableElements(child);
2495
2590
  });
2496
2591
  }
@@ -2513,7 +2608,37 @@ function getFocusableElements(container) {
2513
2608
  }
2514
2609
  }
2515
2610
 
2516
- return uniqueElements;
2611
+ // Move tab-indexed elements to the front while preserving their order
2612
+ // This ensures that elements with tabindex are prioritized in the focus order
2613
+
2614
+ // First extract elements with valid positive tabindex
2615
+ const elementsWithTabindex = uniqueElements.filter((el) => {
2616
+ const tabindex = getNumericTabIndex(el);
2617
+ return tabindex !== null && tabindex > 0;
2618
+ });
2619
+
2620
+ // Sort these elements by their tabindex value
2621
+ elementsWithTabindex.sort((a, b) => {
2622
+ const aIndex = getNumericTabIndex(a) ?? 0;
2623
+ const bIndex = getNumericTabIndex(b) ?? 0;
2624
+ return aIndex - bIndex;
2625
+ });
2626
+
2627
+ // Elements without tabindex (preserving their original order)
2628
+ const elementsWithoutTabindex = uniqueElements.filter((el) => {
2629
+ const tabindex = getNumericTabIndex(el);
2630
+
2631
+ // Elements without tabindex or with tabindex of 0 stay in DOM order
2632
+ return tabindex === null || tabindex === 0;
2633
+ });
2634
+
2635
+ // Combine both arrays with tabindex elements first
2636
+ const tabIndexedUniqueElements = [
2637
+ ...elementsWithTabindex,
2638
+ ...elementsWithoutTabindex,
2639
+ ];
2640
+
2641
+ return tabIndexedUniqueElements;
2517
2642
  }
2518
2643
 
2519
2644
  /**
@@ -2526,15 +2651,17 @@ class FocusTrap {
2526
2651
  * Initializes event listeners and prepares the container for focus management.
2527
2652
  *
2528
2653
  * @param {HTMLElement} container The DOM element to trap focus within.
2654
+ * @param {boolean} [controlTabOrder=false] If true enables manual control of the tab order by the FocusTrap.
2529
2655
  * @throws {Error} If the provided container is not a valid HTMLElement.
2530
2656
  */
2531
- constructor(container) {
2657
+ constructor(container, controlTabOrder = false) {
2532
2658
  if (!container || !(container instanceof HTMLElement)) {
2533
2659
  throw new Error("FocusTrap requires a valid HTMLElement.");
2534
2660
  }
2535
2661
 
2536
2662
  this.container = container;
2537
- this.tabDirection = 'forward'; // or 'backward'
2663
+ this.tabDirection = "forward"; // or 'backward';
2664
+ this.controlTabOrder = controlTabOrder;
2538
2665
 
2539
2666
  this._init();
2540
2667
  }
@@ -2546,58 +2673,119 @@ class FocusTrap {
2546
2673
  * @private
2547
2674
  */
2548
2675
  _init() {
2549
-
2550
2676
  // Add inert attribute to prevent focusing programmatically as well (if supported)
2551
- if ('inert' in HTMLElement.prototype) {
2677
+ if ("inert" in HTMLElement.prototype) {
2552
2678
  this.container.inert = false; // Ensure the container isn't inert
2553
- this.container.setAttribute('data-focus-trap-container', true); // Mark for identification
2679
+ this.container.setAttribute("data-focus-trap-container", true); // Mark for identification
2554
2680
  }
2555
2681
 
2556
2682
  // Track tab direction
2557
- this.container.addEventListener('keydown', this._onKeydown);
2683
+ this.container.addEventListener("keydown", this._onKeydown);
2558
2684
  }
2559
2685
 
2560
2686
  /**
2561
- * Handles keydown events to manage tab navigation within the container.
2562
- * Ensures that focus wraps around when reaching the first or last focusable element.
2563
- *
2564
- * @param {KeyboardEvent} e The keyboard event triggered by user interaction.
2687
+ * Gets an array of currently active (focused) elements in the document and shadow DOM.
2688
+ * @returns {Array<HTMLElement>} An array of focusable elements within the container.
2565
2689
  * @private
2566
2690
  */
2567
- _onKeydown = (e) => {
2568
-
2569
- if (e.key === 'Tab') {
2570
-
2571
- // Set the tab direction based on the key pressed
2572
- this.tabDirection = e.shiftKey ? 'backward' : 'forward';
2573
-
2574
- // Get the active element(s) in the document and shadow root
2575
- // This will include the active element in the shadow DOM if it exists
2576
- // Active element may be inside the shadow DOM depending on delegatesFocus, so we need to check both
2577
- let activeElement = document.activeElement;
2578
- const actives = [activeElement];
2579
- while (activeElement?.shadowRoot?.activeElement) {
2580
- actives.push(activeElement.shadowRoot.activeElement);
2581
- activeElement = activeElement.shadowRoot.activeElement;
2582
- }
2691
+ _getActiveElements() {
2692
+ // Get the active element(s) in the document and shadow root
2693
+ // This will include the active element in the shadow DOM if it exists
2694
+ // Active element may be inside the shadow DOM depending on delegatesFocus, so we need to check both
2695
+ let { activeElement } = document;
2696
+ const actives = [activeElement];
2697
+ while (activeElement?.shadowRoot?.activeElement) {
2698
+ actives.push(activeElement.shadowRoot.activeElement);
2699
+ activeElement = activeElement.shadowRoot.activeElement;
2700
+ }
2701
+ return actives;
2702
+ }
2583
2703
 
2584
- // Update the focusable elements
2585
- const focusables = this._getFocusableElements();
2586
-
2587
- // If we're at either end of the focusable elements, wrap around to the other end
2588
- const focusIndex =
2589
- (actives.includes(focusables[0]) || actives.includes(this.container)) && this.tabDirection === 'backward'
2590
- ? focusables.length - 1
2591
- : actives.includes(focusables[focusables.length - 1]) && this.tabDirection === 'forward'
2592
- ? 0
2593
- : null;
2594
-
2595
- if (focusIndex !== null) {
2596
- focusables[focusIndex].focus();
2597
- e.preventDefault(); // Prevent default tab behavior
2598
- e.stopPropagation(); // Stop the event from bubbling up
2599
- }
2704
+ /**
2705
+ * Gets the next focus index based on the current index and focusable elements.
2706
+ * @param {number} currentIndex The current index of the focused element.
2707
+ * @param {Array<HTMLElement>} focusables The array of focusable elements.
2708
+ * @returns {number|null} The next focus index or null if not determined.
2709
+ */
2710
+ _getNextFocusIndex(currentIndex, focusables, actives) {
2711
+ if (this.controlTabOrder) {
2712
+ // Calculate the new index based on the current index and tab direction
2713
+ let newFocusIndex =
2714
+ currentIndex + (this.tabDirection === "forward" ? 1 : -1);
2715
+
2716
+ // Wrap-around logic
2717
+ if (newFocusIndex < 0) newFocusIndex = focusables.length - 1;
2718
+ if (newFocusIndex >= focusables.length) newFocusIndex = 0;
2719
+
2720
+ // Early return with the new index
2721
+ return newFocusIndex;
2722
+ }
2723
+
2724
+ // Determine if we need to wrap
2725
+ const atFirst =
2726
+ actives.includes(focusables[0]) || actives.includes(this.container);
2727
+ const atLast = actives.includes(focusables[focusables.length - 1]);
2728
+
2729
+ // Only wrap if at the ends
2730
+ if (this.tabDirection === "backward" && atFirst) {
2731
+ return focusables.length - 1;
2732
+ }
2733
+
2734
+ if (this.tabDirection === "forward" && atLast) {
2735
+ return 0;
2600
2736
  }
2737
+
2738
+ // No wrap, so don't change focus, return early
2739
+ return null;
2740
+ }
2741
+
2742
+ /**
2743
+ * Handles the Tab key press event to manage focus within the container.
2744
+ * @param {KeyboardEvent} e The keyboard event triggered by the user.
2745
+ * @returns {void}
2746
+ */
2747
+ _handleTabKey(e) {
2748
+ // Update the focusable elements
2749
+ const focusables = this._getFocusableElements();
2750
+
2751
+ // If there are no focusable elements, exit
2752
+ if (!focusables.length) return;
2753
+
2754
+ // Set the tab direction based on the key pressed
2755
+ this.tabDirection = e.shiftKey ? "backward" : "forward";
2756
+
2757
+ // Get the active elements that are currently focused
2758
+ const actives = this._getActiveElements();
2759
+
2760
+ // If we're at either end of the focusable elements, wrap around to the other end
2761
+ let focusIndex = focusables.findIndex((el) => actives.includes(el));
2762
+
2763
+ // Fallback if we have no focused element
2764
+ if (focusIndex === -1) focusIndex = 0;
2765
+
2766
+ // Get the next focus index based on the current focus index, tab direction, and controlTabOrder setting
2767
+ // Is null if no new focus index is determined
2768
+ const newFocusIndex = this._getNextFocusIndex(
2769
+ focusIndex,
2770
+ focusables,
2771
+ actives,
2772
+ );
2773
+
2774
+ // If we have a new focus index, set focus to that element
2775
+ if (newFocusIndex !== null) {
2776
+ e.preventDefault();
2777
+ focusables[newFocusIndex].focus();
2778
+ }
2779
+ }
2780
+
2781
+ /**
2782
+ * Catches the keydown event
2783
+ * @param {KeyboardEvent} e The keyboard event triggered by user interaction.
2784
+ * @private
2785
+ */
2786
+ _onKeydown = (e) => {
2787
+ // Handle tab
2788
+ if (e.key === "Tab") this._handleTabKey(e);
2601
2789
  };
2602
2790
 
2603
2791
  /**
@@ -2610,8 +2798,8 @@ class FocusTrap {
2610
2798
  _getFocusableElements() {
2611
2799
  // Use the imported utility function to get focusable elements
2612
2800
  const elements = getFocusableElements(this.container);
2613
-
2614
- // Filter out any elements with the 'focus-bookend' class
2801
+
2802
+ // Return the elements found
2615
2803
  return elements;
2616
2804
  }
2617
2805
 
@@ -2638,12 +2826,11 @@ class FocusTrap {
2638
2826
  * Call this method to clean up when the focus trap is no longer needed.
2639
2827
  */
2640
2828
  disconnect() {
2641
-
2642
- if (this.container.hasAttribute('data-focus-trap-container')) {
2643
- this.container.removeAttribute('data-focus-trap-container');
2829
+ if (this.container.hasAttribute("data-focus-trap-container")) {
2830
+ this.container.removeAttribute("data-focus-trap-container");
2644
2831
  }
2645
2832
 
2646
- this.container.removeEventListener('keydown', this._onKeydown);
2833
+ this.container.removeEventListener("keydown", this._onKeydown);
2647
2834
  }
2648
2835
  }
2649
2836
 
@@ -2691,21 +2878,21 @@ class AuroDependencyVersioning {
2691
2878
  * @license
2692
2879
  * Copyright 2018 Google LLC
2693
2880
  * SPDX-License-Identifier: BSD-3-Clause
2694
- */const o=o=>o??E;
2881
+ */const o=o=>o??A;
2695
2882
 
2696
- class p{registerComponent(t,a){customElements.get(t)||customElements.define(t,class extends a{});}closestElement(t,a=this,e=(a,s=a&&a.closest(t))=>a&&a!==document&&a!==window?s||e(a.getRootNode().host):null){return e(a)}handleComponentTagRename(t,a){const e=a.toLowerCase();t.tagName.toLowerCase()!==e&&t.setAttribute(e,true);}elementMatch(t,a){const e=a.toLowerCase();return t.tagName.toLowerCase()===e||t.hasAttribute(e)}}var u='<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-labelledby="error__desc" class="ico_squareLarge" data-deprecated="true" role="img" style="min-width:var(--auro-size-lg, var(--ds-size-300, 1.5rem));height:var(--auro-size-lg, var(--ds-size-300, 1.5rem));fill:currentColor" viewBox="0 0 24 24" part="svg"><title/><desc id="error__desc">Error alert indicator.</desc><path d="m13.047 5.599 6.786 11.586A1.207 1.207 0 0 1 18.786 19H5.214a1.207 1.207 0 0 1-1.047-1.815l6.786-11.586a1.214 1.214 0 0 1 2.094 0m-1.165.87a.23.23 0 0 0-.085.085L5.419 17.442a.232.232 0 0 0 .203.35h12.756a.234.234 0 0 0 .203-.35L12.203 6.554a.236.236 0 0 0-.321-.084M12 15.5a.75.75 0 1 1 0 1.5.75.75 0 0 1 0-1.5m-.024-6.22c.325 0 .589.261.589.583v4.434a.586.586 0 0 1-.589.583.586.586 0 0 1-.588-.583V9.863c0-.322.264-.583.588-.583"/></svg>';class m extends i{static get properties(){return {hidden:{type:Boolean,reflect:true},hiddenVisually:{type:Boolean,reflect:true},hiddenAudible:{type:Boolean,reflect:true}}}hideAudible(t){return t?"true":"false"}}const g=new Map,f=(t,a={})=>{const e=a.responseParser||(t=>t.text());return g.has(t)||g.set(t,fetch(t).then(e)),g.get(t)};var w=i$2`:focus:not(:focus-visible){outline:3px solid transparent}.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock,:host{display:block}.util_displayFlex{display:flex}.util_displayHidden,:host([hidden]:not(:focus):not(:active)){display:none}.util_displayHiddenVisually,:host([hiddenVisually]:not(:focus):not(:active)){position:absolute;overflow:hidden;clip:rect(1px,1px,1px,1px);width:1px;height:1px;padding:0;border:0}.ico_squareLarge{fill:currentColor;height:var(--auro-size-lg, var(--ds-size-300, 1.5rem))}.ico_squareSmall{fill:currentColor;height:.6rem}.ico_squareMed{fill:currentColor;height:var(--auro-size-md, var(--ds-size-200, 1rem))}.ico_squareSml{fill:currentColor;height:var(--auro-size-sm, var(--ds-size-150, .75rem))}:host{color:currentColor;vertical-align:middle;display:inline-block}svg{min-width:var(--ds-auro-icon-size, 1.5rem)!important;width:var(--ds-auro-icon-size, 1.5rem)!important;height:var(--ds-auro-icon-size, 1.5rem)!important}.componentWrapper{display:flex;line-height:var(--ds-auro-icon-size)}.svgWrapper{height:var(--ds-auro-icon-size);width:var(--ds-auro-icon-size)}.svgWrapper [part=svg]{display:flex}.labelWrapper{margin-left:var(--ds-size-50, .25rem)}.labelWrapper ::slotted(*){line-height:inherit!important}
2697
- `;class z extends m{constructor(){super(),this.onDark=false,this.appearance="default";}static get properties(){return {...m.properties,onDark:{type:Boolean,reflect:true},appearance:{type:String,reflect:true},svg:{attribute:false,reflect:true}}}static get styles(){return w}async fetchIcon(t,a){let e="";e="logos"===t?await f(`${this.uri}/${t}/${a}.svg`):await f(`${this.uri}/icons/${t}/${a}.svg`);return (new DOMParser).parseFromString(e,"text/html").body.querySelector("svg")}async firstUpdated(){try{if(!this.customSvg){const t=await this.fetchIcon(this.category,this.name);if(t)this.svg=t;else if(!t){const t=(new DOMParser).parseFromString(u,"text/html");this.svg=t.body.firstChild;}}}catch(t){this.svg=void 0;}}}i$2`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock,:host{display:block}.util_displayFlex{display:flex}.util_displayHidden,:host([hidden]:not(:focus):not(:active)){display:none}.util_displayHiddenVisually,:host([hiddenVisually]:not(:focus):not(:active)){position:absolute;overflow:hidden;clip:rect(1px,1px,1px,1px);width:1px;height:1px;padding:0;border:0}:host{display:inline-block;--ds-auro-icon-size: 100%;width:100%;height:100%}:host .logo{color:var(--ds-auro-alaska-color)}:host([onDark]),:host([appearance=inverse]){--ds-auro-alaska-color: #FFF}
2883
+ class p{registerComponent(t,a){customElements.get(t)||customElements.define(t,class extends a{});}closestElement(t,a=this,e=(a,s=a&&a.closest(t))=>a&&a!==document&&a!==window?s||e(a.getRootNode().host):null){return e(a)}handleComponentTagRename(t,a){const e=a.toLowerCase();t.tagName.toLowerCase()!==e&&t.setAttribute(e,true);}elementMatch(t,a){const e=a.toLowerCase();return t.tagName.toLowerCase()===e||t.hasAttribute(e)}getSlotText(t,a){const e=t.shadowRoot?.querySelector(`slot[name="${a}"]`);return (e?.assignedNodes({flatten:true})||[]).map(t=>t.textContent?.trim()).join(" ").trim()||null}}var u='<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-labelledby="error__desc" class="ico_squareLarge" data-deprecated="true" role="img" style="min-width:var(--auro-size-lg, var(--ds-size-300, 1.5rem));height:var(--auro-size-lg, var(--ds-size-300, 1.5rem));fill:currentColor" viewBox="0 0 24 24" part="svg"><title/><desc id="error__desc">Error alert indicator.</desc><path d="m13.047 5.599 6.786 11.586A1.207 1.207 0 0 1 18.786 19H5.214a1.207 1.207 0 0 1-1.047-1.815l6.786-11.586a1.214 1.214 0 0 1 2.094 0m-1.165.87a.23.23 0 0 0-.085.085L5.419 17.442a.232.232 0 0 0 .203.35h12.756a.234.234 0 0 0 .203-.35L12.203 6.554a.236.236 0 0 0-.321-.084M12 15.5a.75.75 0 1 1 0 1.5.75.75 0 0 1 0-1.5m-.024-6.22c.325 0 .589.261.589.583v4.434a.586.586 0 0 1-.589.583.586.586 0 0 1-.588-.583V9.863c0-.322.264-.583.588-.583"/></svg>';class m extends i{static get properties(){return {hidden:{type:Boolean,reflect:true},hiddenVisually:{type:Boolean,reflect:true},hiddenAudible:{type:Boolean,reflect:true}}}hideAudible(t){return t?"true":"false"}}const g=new Map,f=(t,a={})=>{const e=a.responseParser||(t=>t.text());return g.has(t)||g.set(t,fetch(t).then(e)),g.get(t)};var w=i$2`:focus:not(:focus-visible){outline:3px solid transparent}.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock,:host{display:block}.util_displayFlex{display:flex}.util_displayHidden,:host([hidden]:not(:focus):not(:active)){display:none}.util_displayHiddenVisually,:host([hiddenVisually]:not(:focus):not(:active)){position:absolute;overflow:hidden;clip:rect(1px,1px,1px,1px);width:1px;height:1px;padding:0;border:0}.ico_squareLarge{fill:currentColor;height:var(--auro-size-lg, var(--ds-size-300, 1.5rem))}.ico_squareSmall{fill:currentColor;height:.6rem}.ico_squareMed{fill:currentColor;height:var(--auro-size-md, var(--ds-size-200, 1rem))}.ico_squareSml{fill:currentColor;height:var(--auro-size-sm, var(--ds-size-150, .75rem))}:host{color:currentColor;vertical-align:middle;display:inline-block}svg{min-width:var(--ds-auro-icon-size, 1.5rem)!important;width:var(--ds-auro-icon-size, 1.5rem)!important;height:var(--ds-auro-icon-size, 1.5rem)!important}.componentWrapper{display:flex;line-height:var(--ds-auro-icon-size)}.svgWrapper{height:var(--ds-auro-icon-size);width:var(--ds-auro-icon-size)}.svgWrapper [part=svg]{display:flex}.labelWrapper{margin-left:var(--ds-size-50, .25rem)}.labelWrapper ::slotted(*){line-height:inherit!important}
2884
+ `;class z extends m{constructor(){super(),this._initializeDefaults();}_initializeDefaults(){this.onDark=false,this.appearance="default";}static get properties(){return {...m.properties,onDark:{type:Boolean,reflect:true},appearance:{type:String,reflect:true},svg:{attribute:false,reflect:true}}}static get styles(){return w}async fetchIcon(t,a){let e="";e="logos"===t?await f(`${this.uri}/${t}/${a}.svg`):await f(`${this.uri}/icons/${t}/${a}.svg`);return (new DOMParser).parseFromString(e,"text/html").body.querySelector("svg")}async firstUpdated(){try{if(!this.customSvg){const t=await this.fetchIcon(this.category,this.name);if(t)this.svg=t;else if(!t){const t=(new DOMParser).parseFromString(u,"text/html");this.svg=t.body.firstChild;}}}catch(t){this.svg=void 0;}}}i$2`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock,:host{display:block}.util_displayFlex{display:flex}.util_displayHidden,:host([hidden]:not(:focus):not(:active)){display:none}.util_displayHiddenVisually,:host([hiddenVisually]:not(:focus):not(:active)){position:absolute;overflow:hidden;clip:rect(1px,1px,1px,1px);width:1px;height:1px;padding:0;border:0}:host{display:inline-block;--ds-auro-icon-size: 100%;width:100%;height:100%}:host .logo{color:var(--ds-auro-alaska-color)}:host([onDark]),:host([appearance=inverse]){--ds-auro-alaska-color: #FFF}
2698
2885
  `;var y=i$2`:host{--ds-auro-icon-color: var(--ds-basic-color-texticon-default, #2a2a2a);--ds-auro-alaska-color: #02426D;--ds-auro-icon-size: var(--ds-size-300, 1.5rem)}
2699
- `;var k=i$2`:host{color:var(--ds-auro-icon-color)}:host([customColor]){color:inherit}:host(:not([onDark])[variant=accent1]),:host(:not([appearance=inverse])[variant=accent1]){--ds-auro-icon-color: var(--ds-basic-color-texticon-accent1, #265688)}:host(:not([onDark])[variant=disabled]),:host(:not([appearance=inverse])[variant=disabled]){--ds-auro-icon-color: var(--ds-basic-color-texticon-disabled, #d0d0d0)}:host(:not([onDark])[variant=muted]),:host(:not([appearance=inverse])[variant=muted]){--ds-auro-icon-color: var(--ds-basic-color-texticon-muted, #676767)}:host(:not([onDark])[variant=statusDefault]),:host(:not([appearance=inverse])[variant=statusDefault]){--ds-auro-icon-color: var(--ds-basic-color-status-default, #afb9c6)}:host(:not([onDark])[variant=statusInfo]),:host(:not([appearance=inverse])[variant=statusInfo]){--ds-auro-icon-color: var(--ds-basic-color-status-info, #01426a)}:host(:not([onDark])[variant=statusSuccess]),:host(:not([appearance=inverse])[variant=statusSuccess]){--ds-auro-icon-color: var(--ds-basic-color-status-success, #447a1f)}:host(:not([onDark])[variant=statusWarning]),:host(:not([appearance=inverse])[variant=statusWarning]){--ds-auro-icon-color: var(--ds-basic-color-status-warning, #fac200)}:host(:not([onDark])[variant=statusError]),:host(:not([appearance=inverse])[variant=statusError]){--ds-auro-icon-color: var(--ds-basic-color-status-error, #e31f26)}:host(:not([onDark])[variant=statusInfoSubtle]),:host(:not([appearance=inverse])[variant=statusInfoSubtle]){--ds-auro-icon-color: var(--ds-basic-color-status-info-subtle, #ebf3f9)}:host(:not([onDark])[variant=statusSuccessSubtle]),:host(:not([appearance=inverse])[variant=statusSuccessSubtle]){--ds-auro-icon-color: var(--ds-basic-color-status-success-subtle, #d6eac7)}:host(:not([onDark])[variant=statusWarningSubtle]),:host(:not([appearance=inverse])[variant=statusWarningSubtle]){--ds-auro-icon-color: var(--ds-basic-color-status-warning-subtle, #fff0b2)}:host(:not([onDark])[variant=statusErrorSubtle]),:host(:not([appearance=inverse])[variant=statusErrorSubtle]){--ds-auro-icon-color: var(--ds-basic-color-status-error-subtle, #fbc6c6)}:host(:not([onDark])[variant=fareBasicEconomy]),:host(:not([appearance=inverse])[variant=fareBasicEconomy]){--ds-auro-icon-color: var(--ds-basic-color-fare-basiceconomy, #97eaf8)}:host(:not([onDark])[variant=fareBusiness]),:host(:not([appearance=inverse])[variant=fareBusiness]){--ds-auro-icon-color: var(--ds-basic-color-fare-business, #01426a)}:host(:not([onDark])[variant=fareEconomy]),:host(:not([appearance=inverse])[variant=fareEconomy]){--ds-auro-icon-color: var(--ds-basic-color-fare-economy, #0074ca)}:host(:not([onDark])[variant=fareFirst]),:host(:not([appearance=inverse])[variant=fareFirst]){--ds-auro-icon-color: var(--ds-basic-color-fare-first, #00274a)}:host(:not([onDark])[variant=farePremiumEconomy]),:host(:not([appearance=inverse])[variant=farePremiumEconomy]){--ds-auro-icon-color: var(--ds-basic-color-fare-premiumeconomy, #005154)}:host(:not([onDark])[variant=tierOneWorldEmerald]),:host(:not([appearance=inverse])[variant=tierOneWorldEmerald]){--ds-auro-icon-color: var(--ds-basic-color-tier-program-oneworld-emerald, #139142)}:host(:not([onDark])[variant=tierOneWorldSapphire]),:host(:not([appearance=inverse])[variant=tierOneWorldSapphire]){--ds-auro-icon-color: var(--ds-basic-color-tier-program-oneworld-sapphire, #015daa)}:host(:not([onDark])[variant=tierOneWorldRuby]),:host(:not([appearance=inverse])[variant=tierOneWorldRuby]){--ds-auro-icon-color: var(--ds-basic-color-tier-program-oneworld-ruby, #a41d4a)}:host([onDark]),:host([appearance=inverse]){--ds-auro-icon-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host([onDark][variant=disabled]),:host([appearance=inverse][variant=disabled]){--ds-auro-icon-color: var(--ds-basic-color-texticon-inverse-disabled, #7e8894)}:host([onDark][variant=muted]),:host([appearance=inverse][variant=muted]){--ds-auro-icon-color: var(--ds-basic-color-texticon-inverse-muted, #ccd2db)}:host([onDark][variant=statusError]),:host([appearance=inverse][variant=statusError]){--ds-auro-icon-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8)}
2700
- `;class x extends z{constructor(){super(),this.variant=void 0,this.privateDefaults();}privateDefaults(){this.uri="https://cdn.jsdelivr.net/npm/@alaskaairux/icons@latest/dist",this.runtimeUtils=new p;}static get properties(){return {...z.properties,ariaHidden:{type:String,reflect:true},category:{type:String,reflect:true},customColor:{type:Boolean,reflect:true},customSvg:{type:Boolean},label:{type:Boolean,reflect:true},name:{type:String,reflect:true},variant:{type:String,reflect:true}}}static get styles(){return [z.styles,y,w,k]}static register(t="auro-icon"){p.prototype.registerComponent(t,x);}connectedCallback(){super.connectedCallback(),this.runtimeUtils.handleComponentTagRename(this,"auro-icon");}exposeCssParts(){this.setAttribute("exportparts","svg:iconSvg");}async firstUpdated(){if(await super.firstUpdated(),this.hasAttribute("ariaHidden")&&this.svg){const t=this.svg.querySelector("desc");t&&(t.remove(),this.svg.removeAttribute("aria-labelledby"));}}render(){const t={labelWrapper:true,util_displayHiddenVisually:!this.label};return x$1`
2886
+ `;var x=i$2`:host{color:var(--ds-auro-icon-color)}:host([customColor]){color:inherit}:host(:not([onDark])[variant=accent1]),:host(:not([appearance=inverse])[variant=accent1]){--ds-auro-icon-color: var(--ds-basic-color-texticon-accent1, #265688)}:host(:not([onDark])[variant=disabled]),:host(:not([appearance=inverse])[variant=disabled]){--ds-auro-icon-color: var(--ds-basic-color-texticon-disabled, #d0d0d0)}:host(:not([onDark])[variant=muted]),:host(:not([appearance=inverse])[variant=muted]){--ds-auro-icon-color: var(--ds-basic-color-texticon-muted, #676767)}:host(:not([onDark])[variant=statusDefault]),:host(:not([appearance=inverse])[variant=statusDefault]){--ds-auro-icon-color: var(--ds-basic-color-status-default, #afb9c6)}:host(:not([onDark])[variant=statusInfo]),:host(:not([appearance=inverse])[variant=statusInfo]){--ds-auro-icon-color: var(--ds-basic-color-status-info, #01426a)}:host(:not([onDark])[variant=statusSuccess]),:host(:not([appearance=inverse])[variant=statusSuccess]){--ds-auro-icon-color: var(--ds-basic-color-status-success, #447a1f)}:host(:not([onDark])[variant=statusWarning]),:host(:not([appearance=inverse])[variant=statusWarning]){--ds-auro-icon-color: var(--ds-basic-color-status-warning, #fac200)}:host(:not([onDark])[variant=statusError]),:host(:not([appearance=inverse])[variant=statusError]){--ds-auro-icon-color: var(--ds-basic-color-status-error, #e31f26)}:host(:not([onDark])[variant=statusInfoSubtle]),:host(:not([appearance=inverse])[variant=statusInfoSubtle]){--ds-auro-icon-color: var(--ds-basic-color-status-info-subtle, #ebf3f9)}:host(:not([onDark])[variant=statusSuccessSubtle]),:host(:not([appearance=inverse])[variant=statusSuccessSubtle]){--ds-auro-icon-color: var(--ds-basic-color-status-success-subtle, #d6eac7)}:host(:not([onDark])[variant=statusWarningSubtle]),:host(:not([appearance=inverse])[variant=statusWarningSubtle]){--ds-auro-icon-color: var(--ds-basic-color-status-warning-subtle, #fff0b2)}:host(:not([onDark])[variant=statusErrorSubtle]),:host(:not([appearance=inverse])[variant=statusErrorSubtle]){--ds-auro-icon-color: var(--ds-basic-color-status-error-subtle, #fbc6c6)}:host(:not([onDark])[variant=fareBasicEconomy]),:host(:not([appearance=inverse])[variant=fareBasicEconomy]){--ds-auro-icon-color: var(--ds-basic-color-fare-basiceconomy, #97eaf8)}:host(:not([onDark])[variant=fareBusiness]),:host(:not([appearance=inverse])[variant=fareBusiness]){--ds-auro-icon-color: var(--ds-basic-color-fare-business, #01426a)}:host(:not([onDark])[variant=fareEconomy]),:host(:not([appearance=inverse])[variant=fareEconomy]){--ds-auro-icon-color: var(--ds-basic-color-fare-economy, #0074ca)}:host(:not([onDark])[variant=fareFirst]),:host(:not([appearance=inverse])[variant=fareFirst]){--ds-auro-icon-color: var(--ds-basic-color-fare-first, #00274a)}:host(:not([onDark])[variant=farePremiumEconomy]),:host(:not([appearance=inverse])[variant=farePremiumEconomy]){--ds-auro-icon-color: var(--ds-basic-color-fare-premiumeconomy, #005154)}:host(:not([onDark])[variant=tierOneWorldEmerald]),:host(:not([appearance=inverse])[variant=tierOneWorldEmerald]){--ds-auro-icon-color: var(--ds-basic-color-tier-program-oneworld-emerald, #139142)}:host(:not([onDark])[variant=tierOneWorldSapphire]),:host(:not([appearance=inverse])[variant=tierOneWorldSapphire]){--ds-auro-icon-color: var(--ds-basic-color-tier-program-oneworld-sapphire, #015daa)}:host(:not([onDark])[variant=tierOneWorldRuby]),:host(:not([appearance=inverse])[variant=tierOneWorldRuby]){--ds-auro-icon-color: var(--ds-basic-color-tier-program-oneworld-ruby, #a41d4a)}:host([onDark]),:host([appearance=inverse]){--ds-auro-icon-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host([onDark][variant=disabled]),:host([appearance=inverse][variant=disabled]){--ds-auro-icon-color: var(--ds-basic-color-texticon-inverse-disabled, #7e8894)}:host([onDark][variant=muted]),:host([appearance=inverse][variant=muted]){--ds-auro-icon-color: var(--ds-basic-color-texticon-inverse-muted, #ccd2db)}:host([onDark][variant=statusError]),:host([appearance=inverse][variant=statusError]){--ds-auro-icon-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8)}
2887
+ `;class _ extends z{constructor(){super(),this._initializeDefaults();}_initializeDefaults(){this.variant=void 0,this.uri="https://cdn.jsdelivr.net/npm/@alaskaairux/icons@latest/dist",this.runtimeUtils=new p;}static get properties(){return {...z.properties,ariaHidden:{type:String,reflect:true},category:{type:String,reflect:true},customColor:{type:Boolean,reflect:true},customSvg:{type:Boolean},label:{type:Boolean,reflect:true},name:{type:String,reflect:true},variant:{type:String,reflect:true}}}static get styles(){return [z.styles,y,w,x]}static register(t="auro-icon"){p.prototype.registerComponent(t,_);}connectedCallback(){super.connectedCallback(),this.runtimeUtils.handleComponentTagRename(this,"auro-icon");}exposeCssParts(){this.setAttribute("exportparts","svg:iconSvg");}async firstUpdated(){if(await super.firstUpdated(),this.hasAttribute("ariaHidden")&&this.svg){const t=this.svg.querySelector("desc");t&&(t.remove(),this.svg.removeAttribute("aria-labelledby"));}}render(){const t={labelWrapper:true,util_displayHiddenVisually:!this.label};return b$1`
2701
2888
  <div class="componentWrapper">
2702
2889
  <div
2703
2890
  class="${e$3({svgWrapper:true})}"
2704
2891
  title="${o(this.title||void 0)}">
2705
2892
  <span aria-hidden="${o(this.ariaHidden||true)}" part="svg">
2706
- ${this.customSvg?x$1`
2893
+ ${this.customSvg?b$1`
2707
2894
  <slot name="svg"></slot>
2708
- `:x$1`
2895
+ `:b$1`
2709
2896
  ${this.svg}
2710
2897
  `}
2711
2898
  </span>
@@ -2717,7 +2904,7 @@ class p{registerComponent(t,a){customElements.get(t)||customElements.define(t,cl
2717
2904
  </div>
2718
2905
  `}}
2719
2906
 
2720
- var iconVersion = '9.1.1';
2907
+ var iconVersion = '9.1.2';
2721
2908
 
2722
2909
  var styleCss$2 = i$2`:host{position:fixed;z-index:var(--depth-tooltip, 400);display:none;isolation:isolate}:host(:not([matchWidth])) .container{min-width:fit-content}:host([isfullscreen]){position:fixed;top:0;left:0}:host([isfullscreen]) .container{width:100dvw;max-width:none;height:100dvh;max-height:none;border-radius:unset;margin-top:0;box-shadow:unset;overscroll-behavior:contain}:host([data-show]){display:flex}:host([common]:not([isfullscreen])) .container,:host([rounded]:not([isfullscreen])) .container{border-radius:var(--ds-border-radius, 0.375rem)}:host([common][isfullscreen]) .container,:host([rounded][isfullscreen]) .container{border-radius:unset;box-shadow:unset}:host(:not([isfullscreen])) .container.shape-box{border-radius:unset}:host(:not([isfullscreen])) .container[class*=shape-pill],:host(:not([isfullscreen])) .container[class*=shape-snowflake]{border-radius:30px}:host(:not([isfullscreen])) .container[class*=shape-rounded]{border-radius:16px}.container{display:inline-block;overflow:auto;box-sizing:border-box;border-radius:var(--ds-border-radius, 0.375rem);margin:var(--ds-size-50, 0.25rem) 0}`;
2723
2910
 
@@ -3150,7 +3337,7 @@ class AuroHelpText extends i {
3150
3337
 
3151
3338
  // function that renders the HTML and CSS into the scope of the component
3152
3339
  render() {
3153
- return x$1`
3340
+ return b$1`
3154
3341
  <div class="helptext-wrapper body-xs" ?visible="${this.hasTextContent}">
3155
3342
  <slot @slotchange=${this.handleSlotChange}></slot>
3156
3343
  </div>
@@ -3158,7 +3345,7 @@ class AuroHelpText extends i {
3158
3345
  }
3159
3346
  }
3160
3347
 
3161
- var formkitVersion = '202601262116';
3348
+ var formkitVersion = '202602132006';
3162
3349
 
3163
3350
  class AuroElement extends i {
3164
3351
  static get properties() {
@@ -3386,7 +3573,7 @@ class AuroDropdown extends AuroElement {
3386
3573
  /**
3387
3574
  * @private
3388
3575
  */
3389
- this.iconTag = versioning.generateTag('auro-formkit-dropdown-icon', iconVersion, x);
3576
+ this.iconTag = versioning.generateTag('auro-formkit-dropdown-icon', iconVersion, _);
3390
3577
 
3391
3578
  /**
3392
3579
  * @private
@@ -3453,7 +3640,7 @@ class AuroDropdown extends AuroElement {
3453
3640
  * The value for the role attribute of the trigger element.
3454
3641
  */
3455
3642
  a11yRole: {
3456
- type: String || undefined,
3643
+ type: String,
3457
3644
  attribute: false,
3458
3645
  reflect: false
3459
3646
  },
@@ -4211,11 +4398,15 @@ class AuroDropdown extends AuroElement {
4211
4398
  }
4212
4399
 
4213
4400
  /* eslint-disable jsdoc/require-jsdoc, no-magic-numbers, no-param-reassign */
4214
- // import { AuroDropdownBib } from '../src/auro-dropdownBib.js';
4401
+
4215
4402
  AuroDropdown.register();
4216
4403
  AuroDropdown.register('custom-dropdown');
4217
4404
 
4218
- function initExamples(initialCount = 0) {
4405
+ function initExamples() {
4406
+ // javascript example function calls to be added here upon creation to test examples
4407
+ classicExample();
4408
+ classicInverseExample();
4409
+ customExample();
4219
4410
  }
4220
4411
 
4221
4412
  export { initExamples };