@aurodesignsystem-dev/auro-formkit 0.0.0-pr1309.1 → 0.0.0-pr1313.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/bibtemplate/dist/auro-bibtemplate.d.ts +0 -10
- package/components/bibtemplate/dist/buttonVersion.d.ts +1 -1
- package/components/bibtemplate/dist/iconVersion.d.ts +1 -1
- package/components/bibtemplate/dist/index.js +13 -23
- package/components/bibtemplate/dist/registered.js +13 -23
- package/components/checkbox/demo/api.md +0 -7
- package/components/checkbox/demo/api.min.js +13 -16
- package/components/checkbox/demo/index.min.js +13 -16
- package/components/checkbox/dist/auro-checkbox-group.d.ts +3 -4
- package/components/checkbox/dist/auro-checkbox.d.ts +0 -2
- package/components/checkbox/dist/index.js +4 -7
- package/components/checkbox/dist/registered.js +4 -7
- package/components/combobox/demo/api.min.js +279 -449
- package/components/combobox/demo/index.html +5 -1
- package/components/combobox/demo/index.js +15 -0
- package/components/combobox/demo/index.min.js +280 -445
- package/components/combobox/dist/index.js +162 -331
- package/components/combobox/dist/registered.js +162 -331
- package/components/counter/demo/api.min.js +185 -356
- package/components/counter/demo/index.min.js +185 -356
- package/components/counter/dist/auro-counter-button.d.ts +2 -11
- package/components/counter/dist/index.js +145 -312
- package/components/counter/dist/registered.js +145 -312
- package/components/datepicker/demo/api.min.js +322 -491
- package/components/datepicker/demo/index.min.js +322 -491
- package/components/datepicker/dist/buttonVersion.d.ts +1 -1
- package/components/datepicker/dist/iconVersion.d.ts +1 -1
- package/components/datepicker/dist/index.js +180 -349
- package/components/datepicker/dist/registered.js +180 -349
- package/components/dropdown/README.md +2 -2
- package/components/dropdown/demo/api.js +15 -3
- package/components/dropdown/demo/api.md +48 -51
- package/components/dropdown/demo/api.min.js +203 -290
- package/components/dropdown/demo/index.js +7 -2
- package/components/dropdown/demo/index.md +6 -6
- package/components/dropdown/demo/index.min.js +164 -288
- package/components/dropdown/demo/readme.html +7 -1
- package/components/dropdown/demo/readme.md +2 -2
- package/components/dropdown/dist/iconVersion.d.ts +1 -1
- package/components/dropdown/dist/index.js +119 -274
- package/components/dropdown/dist/registered.js +119 -274
- package/components/form/demo/api.min.js +11 -13
- package/components/form/demo/index.min.js +11 -13
- package/components/form/dist/auro-form.d.ts +0 -8
- package/components/form/dist/index.js +6 -8
- package/components/form/dist/registered.js +6 -8
- package/components/input/demo/api.md +0 -2
- package/components/input/demo/api.min.js +79 -83
- package/components/input/demo/index.min.js +79 -83
- package/components/input/dist/auro-input.d.ts +0 -22
- package/components/input/dist/base-input.d.ts +18 -1
- package/components/input/dist/buttonVersion.d.ts +1 -1
- package/components/input/dist/iconVersion.d.ts +1 -1
- package/components/input/dist/index.js +34 -38
- package/components/input/dist/registered.js +34 -38
- package/components/menu/demo/api.md +3 -3
- package/components/menu/demo/api.min.js +17 -18
- package/components/menu/demo/index.min.js +17 -18
- package/components/menu/dist/auro-menuoption.d.ts +1 -2
- package/components/menu/dist/index.js +6 -7
- package/components/menu/dist/registered.js +6 -7
- package/components/radio/demo/api.min.js +10 -10
- package/components/radio/demo/index.min.js +10 -10
- package/components/radio/dist/index.js +1 -1
- package/components/radio/dist/registered.js +1 -1
- package/components/select/demo/api.min.js +161 -327
- package/components/select/demo/index.min.js +161 -327
- package/components/select/dist/index.js +133 -298
- package/components/select/dist/registered.js +133 -298
- package/package.json +14 -38
- package/custom-elements.json +0 -18143
|
@@ -1,8 +1,62 @@
|
|
|
1
|
+
function errorExample() {
|
|
2
|
+
const btn = document.querySelector('#errorButton');
|
|
3
|
+
const dropdown = document.querySelector('#error');
|
|
4
|
+
|
|
5
|
+
btn?.addEventListener('click', () => {
|
|
6
|
+
dropdown.hide();
|
|
7
|
+
});
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
function inverseErrorExample() {
|
|
11
|
+
const btn = document.querySelector('#inverseErrorButton');
|
|
12
|
+
const dropdown = document.querySelector('#inverseError');
|
|
13
|
+
|
|
14
|
+
btn?.addEventListener('click', () => {
|
|
15
|
+
dropdown.hide();
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
function fullscreenBreakpointExample() {
|
|
20
|
+
const btn = document.querySelector('#fullscreenButton');
|
|
21
|
+
const dropdown = document.querySelector('#fullscreen');
|
|
22
|
+
|
|
23
|
+
btn?.addEventListener('click', () => {
|
|
24
|
+
dropdown.hide();
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
function classicExample() {
|
|
29
|
+
const btn = document.querySelector('#classicButton');
|
|
30
|
+
const dropdown = document.querySelector('#classic');
|
|
31
|
+
|
|
32
|
+
btn?.addEventListener('click', () => {
|
|
33
|
+
dropdown.hide();
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
function classicInverseExample() {
|
|
38
|
+
const btn = document.querySelector('#classicInverseButton');
|
|
39
|
+
const dropdown = document.querySelector('#classicInverse');
|
|
40
|
+
|
|
41
|
+
btn?.addEventListener('click', () => {
|
|
42
|
+
dropdown.hide();
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
function matchWidthExample() {
|
|
47
|
+
const btn = document.querySelector('#matchWidthButton');
|
|
48
|
+
const dropdown = document.querySelector('#matchWidth');
|
|
49
|
+
|
|
50
|
+
btn?.addEventListener('click', () => {
|
|
51
|
+
dropdown.hide();
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
|
|
1
55
|
function hideExample() {
|
|
2
56
|
const btn = document.querySelector('#hideExampleBtn');
|
|
3
57
|
const dropdown = document.querySelector('#hideExample');
|
|
4
58
|
|
|
5
|
-
btn
|
|
59
|
+
btn?.addEventListener('click', () => {
|
|
6
60
|
dropdown.hide();
|
|
7
61
|
});
|
|
8
62
|
}
|
|
@@ -11,16 +65,24 @@ function showExample() {
|
|
|
11
65
|
const triggerInput = document.querySelector('#showExampleTriggerInput');
|
|
12
66
|
const dropdownElem = document.querySelector('#showMethodExample');
|
|
13
67
|
|
|
14
|
-
triggerInput
|
|
68
|
+
triggerInput?.addEventListener('keydown', () => {
|
|
15
69
|
dropdownElem.show();
|
|
16
70
|
});
|
|
17
71
|
}
|
|
18
72
|
|
|
19
73
|
function inDialogExample() {
|
|
20
|
-
document.querySelector("#dropdown-dialog-opener")
|
|
74
|
+
const openBtn = document.querySelector("#dropdown-dialog-opener");
|
|
75
|
+
const closeBtn = document.querySelector("#in-dialog-dismiss-btn");
|
|
76
|
+
const dropdown = document.querySelector("#in-dialog-dropdown");
|
|
77
|
+
|
|
78
|
+
openBtn?.addEventListener("click", () => {
|
|
21
79
|
const dialog = document.querySelector("#dropdown-dialog");
|
|
22
80
|
dialog.open = true;
|
|
23
81
|
});
|
|
82
|
+
|
|
83
|
+
closeBtn?.addEventListener("click", () => {
|
|
84
|
+
dropdown.hide();
|
|
85
|
+
});
|
|
24
86
|
}
|
|
25
87
|
|
|
26
88
|
/**
|
|
@@ -28,14 +90,14 @@ function inDialogExample() {
|
|
|
28
90
|
* Copyright 2017 Google LLC
|
|
29
91
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
30
92
|
*/
|
|
31
|
-
const t$2=globalThis,i$5=t
|
|
93
|
+
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};
|
|
32
94
|
|
|
33
95
|
/**
|
|
34
96
|
* @license
|
|
35
97
|
* Copyright 2020 Google LLC
|
|
36
98
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
37
99
|
*/
|
|
38
|
-
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(
|
|
100
|
+
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);
|
|
39
101
|
|
|
40
102
|
/**
|
|
41
103
|
* @license
|
|
@@ -48,44 +110,44 @@ const t$1={ATTRIBUTE:1,CHILD:2},e$4=t=>(...e)=>({_$litDirective$:t,values:e});le
|
|
|
48
110
|
* @license
|
|
49
111
|
* Copyright 2018 Google LLC
|
|
50
112
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
51
|
-
*/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
|
|
113
|
+
*/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}});
|
|
52
114
|
|
|
53
115
|
/**
|
|
54
116
|
* @license
|
|
55
117
|
* Copyright 2019 Google LLC
|
|
56
118
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
57
119
|
*/
|
|
58
|
-
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$
|
|
120
|
+
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;
|
|
59
121
|
|
|
60
122
|
/**
|
|
61
123
|
* @license
|
|
62
124
|
* Copyright 2017 Google LLC
|
|
63
125
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
64
|
-
*/const{is:i$1,defineProperty:e$1,getOwnPropertyDescriptor:h$2,getOwnPropertyNames:r$
|
|
126
|
+
*/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");
|
|
65
127
|
|
|
66
128
|
/**
|
|
67
129
|
* @license
|
|
68
130
|
* Copyright 2017 Google LLC
|
|
69
131
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
70
|
-
*/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=
|
|
132
|
+
*/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");
|
|
71
133
|
|
|
72
134
|
/**
|
|
73
135
|
* @license
|
|
74
136
|
* Copyright 2020 Google LLC
|
|
75
137
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
76
|
-
*/const
|
|
138
|
+
*/const f$2=o=>void 0===o.strings;
|
|
77
139
|
|
|
78
140
|
/**
|
|
79
141
|
* @license
|
|
80
142
|
* Copyright 2017 Google LLC
|
|
81
143
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
82
|
-
*/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(
|
|
144
|
+
*/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(){}};
|
|
83
145
|
|
|
84
146
|
/**
|
|
85
147
|
* @license
|
|
86
148
|
* Copyright 2020 Google LLC
|
|
87
149
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
88
|
-
*/const e=()=>new h;class h{}const o$1=new WeakMap,n=e$4(class extends f$1{render(i){return
|
|
150
|
+
*/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);}});
|
|
89
151
|
|
|
90
152
|
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
91
153
|
// See LICENSE in the project root for license information.
|
|
@@ -214,9 +276,8 @@ function getOppositeAxis(axis) {
|
|
|
214
276
|
function getAxisLength(axis) {
|
|
215
277
|
return axis === 'y' ? 'height' : 'width';
|
|
216
278
|
}
|
|
217
|
-
const yAxisSides = /*#__PURE__*/new Set(['top', 'bottom']);
|
|
218
279
|
function getSideAxis(placement) {
|
|
219
|
-
return
|
|
280
|
+
return ['top', 'bottom'].includes(getSide(placement)) ? 'y' : 'x';
|
|
220
281
|
}
|
|
221
282
|
function getAlignmentAxis(placement) {
|
|
222
283
|
return getOppositeAxis(getSideAxis(placement));
|
|
@@ -241,19 +302,19 @@ function getExpandedPlacements(placement) {
|
|
|
241
302
|
function getOppositeAlignmentPlacement(placement) {
|
|
242
303
|
return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);
|
|
243
304
|
}
|
|
244
|
-
const lrPlacement = ['left', 'right'];
|
|
245
|
-
const rlPlacement = ['right', 'left'];
|
|
246
|
-
const tbPlacement = ['top', 'bottom'];
|
|
247
|
-
const btPlacement = ['bottom', 'top'];
|
|
248
305
|
function getSideList(side, isStart, rtl) {
|
|
306
|
+
const lr = ['left', 'right'];
|
|
307
|
+
const rl = ['right', 'left'];
|
|
308
|
+
const tb = ['top', 'bottom'];
|
|
309
|
+
const bt = ['bottom', 'top'];
|
|
249
310
|
switch (side) {
|
|
250
311
|
case 'top':
|
|
251
312
|
case 'bottom':
|
|
252
|
-
if (rtl) return isStart ?
|
|
253
|
-
return isStart ?
|
|
313
|
+
if (rtl) return isStart ? rl : lr;
|
|
314
|
+
return isStart ? lr : rl;
|
|
254
315
|
case 'left':
|
|
255
316
|
case 'right':
|
|
256
|
-
return isStart ?
|
|
317
|
+
return isStart ? tb : bt;
|
|
257
318
|
default:
|
|
258
319
|
return [];
|
|
259
320
|
}
|
|
@@ -694,22 +755,16 @@ const flip$1 = function (options) {
|
|
|
694
755
|
const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;
|
|
695
756
|
const nextPlacement = placements[nextIndex];
|
|
696
757
|
if (nextPlacement) {
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
},
|
|
708
|
-
reset: {
|
|
709
|
-
placement: nextPlacement
|
|
710
|
-
}
|
|
711
|
-
};
|
|
712
|
-
}
|
|
758
|
+
// Try next placement and re-run the lifecycle.
|
|
759
|
+
return {
|
|
760
|
+
data: {
|
|
761
|
+
index: nextIndex,
|
|
762
|
+
overflows: overflowsData
|
|
763
|
+
},
|
|
764
|
+
reset: {
|
|
765
|
+
placement: nextPlacement
|
|
766
|
+
}
|
|
767
|
+
};
|
|
713
768
|
}
|
|
714
769
|
|
|
715
770
|
// First, find the candidates that fit on the mainAxis side of overflow,
|
|
@@ -755,8 +810,6 @@ const flip$1 = function (options) {
|
|
|
755
810
|
};
|
|
756
811
|
};
|
|
757
812
|
|
|
758
|
-
const originSides = /*#__PURE__*/new Set(['left', 'top']);
|
|
759
|
-
|
|
760
813
|
// For type backwards-compatibility, the `OffsetOptions` type was also
|
|
761
814
|
// Derivable.
|
|
762
815
|
|
|
@@ -770,7 +823,7 @@ async function convertValueToCoords(state, options) {
|
|
|
770
823
|
const side = getSide(placement);
|
|
771
824
|
const alignment = getAlignment(placement);
|
|
772
825
|
const isVertical = getSideAxis(placement) === 'y';
|
|
773
|
-
const mainAxisMulti =
|
|
826
|
+
const mainAxisMulti = ['left', 'top'].includes(side) ? -1 : 1;
|
|
774
827
|
const crossAxisMulti = rtl && isVertical ? -1 : 1;
|
|
775
828
|
const rawValue = evaluate(options, state);
|
|
776
829
|
|
|
@@ -963,7 +1016,6 @@ function isShadowRoot(value) {
|
|
|
963
1016
|
}
|
|
964
1017
|
return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;
|
|
965
1018
|
}
|
|
966
|
-
const invalidOverflowDisplayValues = /*#__PURE__*/new Set(['inline', 'contents']);
|
|
967
1019
|
function isOverflowElement(element) {
|
|
968
1020
|
const {
|
|
969
1021
|
overflow,
|
|
@@ -971,32 +1023,27 @@ function isOverflowElement(element) {
|
|
|
971
1023
|
overflowY,
|
|
972
1024
|
display
|
|
973
1025
|
} = getComputedStyle$1(element);
|
|
974
|
-
return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !
|
|
1026
|
+
return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !['inline', 'contents'].includes(display);
|
|
975
1027
|
}
|
|
976
|
-
const tableElements = /*#__PURE__*/new Set(['table', 'td', 'th']);
|
|
977
1028
|
function isTableElement(element) {
|
|
978
|
-
return
|
|
1029
|
+
return ['table', 'td', 'th'].includes(getNodeName(element));
|
|
979
1030
|
}
|
|
980
|
-
const topLayerSelectors = [':popover-open', ':modal'];
|
|
981
1031
|
function isTopLayer(element) {
|
|
982
|
-
return
|
|
1032
|
+
return [':popover-open', ':modal'].some(selector => {
|
|
983
1033
|
try {
|
|
984
1034
|
return element.matches(selector);
|
|
985
|
-
} catch (
|
|
1035
|
+
} catch (e) {
|
|
986
1036
|
return false;
|
|
987
1037
|
}
|
|
988
1038
|
});
|
|
989
1039
|
}
|
|
990
|
-
const transformProperties = ['transform', 'translate', 'scale', 'rotate', 'perspective'];
|
|
991
|
-
const willChangeValues = ['transform', 'translate', 'scale', 'rotate', 'perspective', 'filter'];
|
|
992
|
-
const containValues = ['paint', 'layout', 'strict', 'content'];
|
|
993
1040
|
function isContainingBlock(elementOrCss) {
|
|
994
1041
|
const webkit = isWebKit();
|
|
995
1042
|
const css = isElement(elementOrCss) ? getComputedStyle$1(elementOrCss) : elementOrCss;
|
|
996
1043
|
|
|
997
1044
|
// https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block
|
|
998
1045
|
// https://drafts.csswg.org/css-transforms-2/#individual-transforms
|
|
999
|
-
return
|
|
1046
|
+
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));
|
|
1000
1047
|
}
|
|
1001
1048
|
function getContainingBlock(element) {
|
|
1002
1049
|
let currentNode = getParentNode(element);
|
|
@@ -1014,9 +1061,8 @@ function isWebKit() {
|
|
|
1014
1061
|
if (typeof CSS === 'undefined' || !CSS.supports) return false;
|
|
1015
1062
|
return CSS.supports('-webkit-backdrop-filter', 'none');
|
|
1016
1063
|
}
|
|
1017
|
-
const lastTraversableNodeNames = /*#__PURE__*/new Set(['html', 'body', '#document']);
|
|
1018
1064
|
function isLastTraversableNode(node) {
|
|
1019
|
-
return
|
|
1065
|
+
return ['html', 'body', '#document'].includes(getNodeName(node));
|
|
1020
1066
|
}
|
|
1021
1067
|
function getComputedStyle$1(element) {
|
|
1022
1068
|
return getWindow(element).getComputedStyle(element);
|
|
@@ -1216,9 +1262,14 @@ function getWindowScrollBarX(element, rect) {
|
|
|
1216
1262
|
return rect.left + leftScroll;
|
|
1217
1263
|
}
|
|
1218
1264
|
|
|
1219
|
-
function getHTMLOffset(documentElement, scroll) {
|
|
1265
|
+
function getHTMLOffset(documentElement, scroll, ignoreScrollbarX) {
|
|
1266
|
+
if (ignoreScrollbarX === void 0) {
|
|
1267
|
+
ignoreScrollbarX = false;
|
|
1268
|
+
}
|
|
1220
1269
|
const htmlRect = documentElement.getBoundingClientRect();
|
|
1221
|
-
const x = htmlRect.left + scroll.scrollLeft -
|
|
1270
|
+
const x = htmlRect.left + scroll.scrollLeft - (ignoreScrollbarX ? 0 :
|
|
1271
|
+
// RTL <body> scrollbar.
|
|
1272
|
+
getWindowScrollBarX(documentElement, htmlRect));
|
|
1222
1273
|
const y = htmlRect.top + scroll.scrollTop;
|
|
1223
1274
|
return {
|
|
1224
1275
|
x,
|
|
@@ -1257,7 +1308,7 @@ function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
|
|
|
1257
1308
|
offsets.y = offsetRect.y + offsetParent.clientTop;
|
|
1258
1309
|
}
|
|
1259
1310
|
}
|
|
1260
|
-
const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);
|
|
1311
|
+
const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll, true) : createCoords(0);
|
|
1261
1312
|
return {
|
|
1262
1313
|
width: rect.width * scale.x,
|
|
1263
1314
|
height: rect.height * scale.y,
|
|
@@ -1291,10 +1342,6 @@ function getDocumentRect(element) {
|
|
|
1291
1342
|
};
|
|
1292
1343
|
}
|
|
1293
1344
|
|
|
1294
|
-
// Safety check: ensure the scrollbar space is reasonable in case this
|
|
1295
|
-
// calculation is affected by unusual styles.
|
|
1296
|
-
// Most scrollbars leave 15-18px of space.
|
|
1297
|
-
const SCROLLBAR_MAX = 25;
|
|
1298
1345
|
function getViewportRect(element, strategy) {
|
|
1299
1346
|
const win = getWindow(element);
|
|
1300
1347
|
const html = getDocumentElement(element);
|
|
@@ -1312,24 +1359,6 @@ function getViewportRect(element, strategy) {
|
|
|
1312
1359
|
y = visualViewport.offsetTop;
|
|
1313
1360
|
}
|
|
1314
1361
|
}
|
|
1315
|
-
const windowScrollbarX = getWindowScrollBarX(html);
|
|
1316
|
-
// <html> `overflow: hidden` + `scrollbar-gutter: stable` reduces the
|
|
1317
|
-
// visual width of the <html> but this is not considered in the size
|
|
1318
|
-
// of `html.clientWidth`.
|
|
1319
|
-
if (windowScrollbarX <= 0) {
|
|
1320
|
-
const doc = html.ownerDocument;
|
|
1321
|
-
const body = doc.body;
|
|
1322
|
-
const bodyStyles = getComputedStyle(body);
|
|
1323
|
-
const bodyMarginInline = doc.compatMode === 'CSS1Compat' ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;
|
|
1324
|
-
const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);
|
|
1325
|
-
if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) {
|
|
1326
|
-
width -= clippingStableScrollbarWidth;
|
|
1327
|
-
}
|
|
1328
|
-
} else if (windowScrollbarX <= SCROLLBAR_MAX) {
|
|
1329
|
-
// If the <body> scrollbar is on the left, the width needs to be extended
|
|
1330
|
-
// by the scrollbar amount so there isn't extra space on the right.
|
|
1331
|
-
width += windowScrollbarX;
|
|
1332
|
-
}
|
|
1333
1362
|
return {
|
|
1334
1363
|
width,
|
|
1335
1364
|
height,
|
|
@@ -1338,7 +1367,6 @@ function getViewportRect(element, strategy) {
|
|
|
1338
1367
|
};
|
|
1339
1368
|
}
|
|
1340
1369
|
|
|
1341
|
-
const absoluteOrFixed = /*#__PURE__*/new Set(['absolute', 'fixed']);
|
|
1342
1370
|
// Returns the inner client rect, subtracting scrollbars if present.
|
|
1343
1371
|
function getInnerBoundingClientRect(element, strategy) {
|
|
1344
1372
|
const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');
|
|
@@ -1403,7 +1431,7 @@ function getClippingElementAncestors(element, cache) {
|
|
|
1403
1431
|
if (!currentNodeIsContaining && computedStyle.position === 'fixed') {
|
|
1404
1432
|
currentContainingBlockComputedStyle = null;
|
|
1405
1433
|
}
|
|
1406
|
-
const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle &&
|
|
1434
|
+
const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && ['absolute', 'fixed'].includes(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);
|
|
1407
1435
|
if (shouldDropCurrentNode) {
|
|
1408
1436
|
// Drop non-containing blocks.
|
|
1409
1437
|
result = result.filter(ancestor => ancestor !== currentNode);
|
|
@@ -1466,12 +1494,6 @@ function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
|
|
|
1466
1494
|
scrollTop: 0
|
|
1467
1495
|
};
|
|
1468
1496
|
const offsets = createCoords(0);
|
|
1469
|
-
|
|
1470
|
-
// If the <body> scrollbar appears on the left (e.g. RTL systems). Use
|
|
1471
|
-
// Firefox with layout.scrollbar.side = 3 in about:config to test this.
|
|
1472
|
-
function setLeftRTLScrollbarOffset() {
|
|
1473
|
-
offsets.x = getWindowScrollBarX(documentElement);
|
|
1474
|
-
}
|
|
1475
1497
|
if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {
|
|
1476
1498
|
if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {
|
|
1477
1499
|
scroll = getNodeScroll(offsetParent);
|
|
@@ -1481,12 +1503,11 @@ function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
|
|
|
1481
1503
|
offsets.x = offsetRect.x + offsetParent.clientLeft;
|
|
1482
1504
|
offsets.y = offsetRect.y + offsetParent.clientTop;
|
|
1483
1505
|
} else if (documentElement) {
|
|
1484
|
-
|
|
1506
|
+
// If the <body> scrollbar appears on the left (e.g. RTL systems). Use
|
|
1507
|
+
// Firefox with layout.scrollbar.side = 3 in about:config to test this.
|
|
1508
|
+
offsets.x = getWindowScrollBarX(documentElement);
|
|
1485
1509
|
}
|
|
1486
1510
|
}
|
|
1487
|
-
if (isFixed && !isOffsetParentAnElement && documentElement) {
|
|
1488
|
-
setLeftRTLScrollbarOffset();
|
|
1489
|
-
}
|
|
1490
1511
|
const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);
|
|
1491
1512
|
const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;
|
|
1492
1513
|
const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;
|
|
@@ -1663,7 +1684,7 @@ function observeMove(element, onMove) {
|
|
|
1663
1684
|
// Handle <iframe>s
|
|
1664
1685
|
root: root.ownerDocument
|
|
1665
1686
|
});
|
|
1666
|
-
} catch (
|
|
1687
|
+
} catch (e) {
|
|
1667
1688
|
io = new IntersectionObserver(handleObserve, options);
|
|
1668
1689
|
}
|
|
1669
1690
|
io.observe(element);
|
|
@@ -2454,32 +2475,32 @@ class AuroFloatingUI {
|
|
|
2454
2475
|
|
|
2455
2476
|
// Selectors for focusable elements
|
|
2456
2477
|
const FOCUSABLE_SELECTORS = [
|
|
2457
|
-
|
|
2458
|
-
|
|
2459
|
-
|
|
2460
|
-
|
|
2461
|
-
|
|
2478
|
+
'a[href]',
|
|
2479
|
+
'button:not([disabled])',
|
|
2480
|
+
'textarea:not([disabled])',
|
|
2481
|
+
'input:not([disabled])',
|
|
2482
|
+
'select:not([disabled])',
|
|
2462
2483
|
'[role="tab"]:not([disabled])',
|
|
2463
2484
|
'[role="link"]:not([disabled])',
|
|
2464
2485
|
'[role="button"]:not([disabled])',
|
|
2465
2486
|
'[tabindex]:not([tabindex="-1"])',
|
|
2466
|
-
'[contenteditable]:not([contenteditable="false"])'
|
|
2487
|
+
'[contenteditable]:not([contenteditable="false"])'
|
|
2467
2488
|
];
|
|
2468
2489
|
|
|
2469
2490
|
// List of custom components that are known to be focusable
|
|
2470
2491
|
const FOCUSABLE_COMPONENTS = [
|
|
2471
|
-
|
|
2472
|
-
|
|
2473
|
-
|
|
2474
|
-
|
|
2475
|
-
|
|
2476
|
-
|
|
2477
|
-
|
|
2478
|
-
|
|
2479
|
-
|
|
2480
|
-
|
|
2481
|
-
|
|
2482
|
-
|
|
2492
|
+
'auro-checkbox',
|
|
2493
|
+
'auro-radio',
|
|
2494
|
+
'auro-dropdown',
|
|
2495
|
+
'auro-button',
|
|
2496
|
+
'auro-combobox',
|
|
2497
|
+
'auro-input',
|
|
2498
|
+
'auro-counter',
|
|
2499
|
+
'auro-menu',
|
|
2500
|
+
'auro-select',
|
|
2501
|
+
'auro-datepicker',
|
|
2502
|
+
'auro-hyperlink',
|
|
2503
|
+
'auro-accordion',
|
|
2483
2504
|
];
|
|
2484
2505
|
|
|
2485
2506
|
/**
|
|
@@ -2493,43 +2514,21 @@ function isFocusableComponent(element) {
|
|
|
2493
2514
|
const componentName = element.tagName.toLowerCase();
|
|
2494
2515
|
|
|
2495
2516
|
// Guard Clause: Element is a focusable component
|
|
2496
|
-
if (
|
|
2497
|
-
!FOCUSABLE_COMPONENTS.some(
|
|
2498
|
-
(name) => element.hasAttribute(name) || componentName === name,
|
|
2499
|
-
)
|
|
2500
|
-
)
|
|
2501
|
-
return false;
|
|
2517
|
+
if (!FOCUSABLE_COMPONENTS.some((name) => element.hasAttribute(name) || componentName === name)) return false;
|
|
2502
2518
|
|
|
2503
2519
|
// Guard Clause: Element is not disabled
|
|
2504
|
-
if (element.hasAttribute(
|
|
2520
|
+
if (element.hasAttribute('disabled')) return false;
|
|
2505
2521
|
|
|
2506
2522
|
// Guard Clause: The element is a hyperlink and has no href attribute
|
|
2507
|
-
if (componentName.match("hyperlink") && !element.hasAttribute(
|
|
2508
|
-
return false;
|
|
2523
|
+
if (componentName.match("hyperlink") && !element.hasAttribute('href')) return false;
|
|
2509
2524
|
|
|
2510
2525
|
// If all guard clauses pass, the element is a focusable component
|
|
2511
2526
|
return true;
|
|
2512
2527
|
}
|
|
2513
2528
|
|
|
2514
|
-
/**
|
|
2515
|
-
* Safely get a numeric tabindex for an element.
|
|
2516
|
-
* Returns a number if the tabindex is a valid integer, otherwise null.
|
|
2517
|
-
*
|
|
2518
|
-
* @param {HTMLElement} element The element whose tabindex to read.
|
|
2519
|
-
* @returns {?number} The numeric tabindex or null if missing/invalid.
|
|
2520
|
-
*/
|
|
2521
|
-
function getNumericTabIndex(element) {
|
|
2522
|
-
const raw = element.getAttribute("tabindex");
|
|
2523
|
-
if (raw == null) return null;
|
|
2524
|
-
|
|
2525
|
-
const value = Number.parseInt(raw, 10);
|
|
2526
|
-
return Number.isNaN(value) ? null : value;
|
|
2527
|
-
}
|
|
2528
|
-
|
|
2529
2529
|
/**
|
|
2530
2530
|
* Retrieves all focusable elements within the container in DOM order, including those in shadow DOM and slots.
|
|
2531
2531
|
* Returns a unique, ordered array of elements that can receive focus.
|
|
2532
|
-
* Also sorts elements with tabindex first, preserving their order.
|
|
2533
2532
|
*
|
|
2534
2533
|
* @param {HTMLElement} container The container to search within
|
|
2535
2534
|
* @returns {Array<HTMLElement>} An array of focusable elements within the container.
|
|
@@ -2563,14 +2562,14 @@ function getFocusableElements(container) {
|
|
|
2563
2562
|
if (root.shadowRoot) {
|
|
2564
2563
|
// Process shadow DOM children in order
|
|
2565
2564
|
if (root.shadowRoot.children) {
|
|
2566
|
-
Array.from(root.shadowRoot.children).forEach(
|
|
2565
|
+
Array.from(root.shadowRoot.children).forEach(child => {
|
|
2567
2566
|
collectFocusableElements(child);
|
|
2568
2567
|
});
|
|
2569
2568
|
}
|
|
2570
2569
|
}
|
|
2571
2570
|
|
|
2572
2571
|
// Process slots and their assigned nodes in order
|
|
2573
|
-
if (root.tagName ===
|
|
2572
|
+
if (root.tagName === 'SLOT') {
|
|
2574
2573
|
const assignedNodes = root.assignedNodes({ flatten: true });
|
|
2575
2574
|
for (const node of assignedNodes) {
|
|
2576
2575
|
collectFocusableElements(node);
|
|
@@ -2578,7 +2577,7 @@ function getFocusableElements(container) {
|
|
|
2578
2577
|
} else {
|
|
2579
2578
|
// Process light DOM children in order
|
|
2580
2579
|
if (root.children) {
|
|
2581
|
-
Array.from(root.children).forEach(
|
|
2580
|
+
Array.from(root.children).forEach(child => {
|
|
2582
2581
|
collectFocusableElements(child);
|
|
2583
2582
|
});
|
|
2584
2583
|
}
|
|
@@ -2601,37 +2600,7 @@ function getFocusableElements(container) {
|
|
|
2601
2600
|
}
|
|
2602
2601
|
}
|
|
2603
2602
|
|
|
2604
|
-
|
|
2605
|
-
// This ensures that elements with tabindex are prioritized in the focus order
|
|
2606
|
-
|
|
2607
|
-
// First extract elements with valid positive tabindex
|
|
2608
|
-
const elementsWithTabindex = uniqueElements.filter((el) => {
|
|
2609
|
-
const tabindex = getNumericTabIndex(el);
|
|
2610
|
-
return tabindex !== null && tabindex > 0;
|
|
2611
|
-
});
|
|
2612
|
-
|
|
2613
|
-
// Sort these elements by their tabindex value
|
|
2614
|
-
elementsWithTabindex.sort((a, b) => {
|
|
2615
|
-
const aIndex = getNumericTabIndex(a) ?? 0;
|
|
2616
|
-
const bIndex = getNumericTabIndex(b) ?? 0;
|
|
2617
|
-
return aIndex - bIndex;
|
|
2618
|
-
});
|
|
2619
|
-
|
|
2620
|
-
// Elements without tabindex (preserving their original order)
|
|
2621
|
-
const elementsWithoutTabindex = uniqueElements.filter((el) => {
|
|
2622
|
-
const tabindex = getNumericTabIndex(el);
|
|
2623
|
-
|
|
2624
|
-
// Elements without tabindex or with tabindex of 0 stay in DOM order
|
|
2625
|
-
return tabindex === null || tabindex === 0;
|
|
2626
|
-
});
|
|
2627
|
-
|
|
2628
|
-
// Combine both arrays with tabindex elements first
|
|
2629
|
-
const tabIndexedUniqueElements = [
|
|
2630
|
-
...elementsWithTabindex,
|
|
2631
|
-
...elementsWithoutTabindex,
|
|
2632
|
-
];
|
|
2633
|
-
|
|
2634
|
-
return tabIndexedUniqueElements;
|
|
2603
|
+
return uniqueElements;
|
|
2635
2604
|
}
|
|
2636
2605
|
|
|
2637
2606
|
/**
|
|
@@ -2644,17 +2613,15 @@ class FocusTrap {
|
|
|
2644
2613
|
* Initializes event listeners and prepares the container for focus management.
|
|
2645
2614
|
*
|
|
2646
2615
|
* @param {HTMLElement} container The DOM element to trap focus within.
|
|
2647
|
-
* @param {boolean} [controlTabOrder=false] If true enables manual control of the tab order by the FocusTrap.
|
|
2648
2616
|
* @throws {Error} If the provided container is not a valid HTMLElement.
|
|
2649
2617
|
*/
|
|
2650
|
-
constructor(container
|
|
2618
|
+
constructor(container) {
|
|
2651
2619
|
if (!container || !(container instanceof HTMLElement)) {
|
|
2652
2620
|
throw new Error("FocusTrap requires a valid HTMLElement.");
|
|
2653
2621
|
}
|
|
2654
2622
|
|
|
2655
2623
|
this.container = container;
|
|
2656
|
-
this.tabDirection =
|
|
2657
|
-
this.controlTabOrder = controlTabOrder;
|
|
2624
|
+
this.tabDirection = 'forward'; // or 'backward'
|
|
2658
2625
|
|
|
2659
2626
|
this._init();
|
|
2660
2627
|
}
|
|
@@ -2666,119 +2633,58 @@ class FocusTrap {
|
|
|
2666
2633
|
* @private
|
|
2667
2634
|
*/
|
|
2668
2635
|
_init() {
|
|
2636
|
+
|
|
2669
2637
|
// Add inert attribute to prevent focusing programmatically as well (if supported)
|
|
2670
|
-
if (
|
|
2638
|
+
if ('inert' in HTMLElement.prototype) {
|
|
2671
2639
|
this.container.inert = false; // Ensure the container isn't inert
|
|
2672
|
-
this.container.setAttribute(
|
|
2640
|
+
this.container.setAttribute('data-focus-trap-container', true); // Mark for identification
|
|
2673
2641
|
}
|
|
2674
2642
|
|
|
2675
2643
|
// Track tab direction
|
|
2676
|
-
this.container.addEventListener(
|
|
2677
|
-
}
|
|
2678
|
-
|
|
2679
|
-
/**
|
|
2680
|
-
* Gets an array of currently active (focused) elements in the document and shadow DOM.
|
|
2681
|
-
* @returns {Array<HTMLElement>} An array of focusable elements within the container.
|
|
2682
|
-
* @private
|
|
2683
|
-
*/
|
|
2684
|
-
_getActiveElements() {
|
|
2685
|
-
// Get the active element(s) in the document and shadow root
|
|
2686
|
-
// This will include the active element in the shadow DOM if it exists
|
|
2687
|
-
// Active element may be inside the shadow DOM depending on delegatesFocus, so we need to check both
|
|
2688
|
-
let { activeElement } = document;
|
|
2689
|
-
const actives = [activeElement];
|
|
2690
|
-
while (activeElement?.shadowRoot?.activeElement) {
|
|
2691
|
-
actives.push(activeElement.shadowRoot.activeElement);
|
|
2692
|
-
activeElement = activeElement.shadowRoot.activeElement;
|
|
2693
|
-
}
|
|
2694
|
-
return actives;
|
|
2695
|
-
}
|
|
2696
|
-
|
|
2697
|
-
/**
|
|
2698
|
-
* Gets the next focus index based on the current index and focusable elements.
|
|
2699
|
-
* @param {number} currentIndex The current index of the focused element.
|
|
2700
|
-
* @param {Array<HTMLElement>} focusables The array of focusable elements.
|
|
2701
|
-
* @returns {number|null} The next focus index or null if not determined.
|
|
2702
|
-
*/
|
|
2703
|
-
_getNextFocusIndex(currentIndex, focusables, actives) {
|
|
2704
|
-
if (this.controlTabOrder) {
|
|
2705
|
-
// Calculate the new index based on the current index and tab direction
|
|
2706
|
-
let newFocusIndex =
|
|
2707
|
-
currentIndex + (this.tabDirection === "forward" ? 1 : -1);
|
|
2708
|
-
|
|
2709
|
-
// Wrap-around logic
|
|
2710
|
-
if (newFocusIndex < 0) newFocusIndex = focusables.length - 1;
|
|
2711
|
-
if (newFocusIndex >= focusables.length) newFocusIndex = 0;
|
|
2712
|
-
|
|
2713
|
-
// Early return with the new index
|
|
2714
|
-
return newFocusIndex;
|
|
2715
|
-
}
|
|
2716
|
-
|
|
2717
|
-
// Determine if we need to wrap
|
|
2718
|
-
const atFirst =
|
|
2719
|
-
actives.includes(focusables[0]) || actives.includes(this.container);
|
|
2720
|
-
const atLast = actives.includes(focusables[focusables.length - 1]);
|
|
2721
|
-
|
|
2722
|
-
// Only wrap if at the ends
|
|
2723
|
-
if (this.tabDirection === "backward" && atFirst) {
|
|
2724
|
-
return focusables.length - 1;
|
|
2725
|
-
}
|
|
2726
|
-
|
|
2727
|
-
if (this.tabDirection === "forward" && atLast) {
|
|
2728
|
-
return 0;
|
|
2729
|
-
}
|
|
2730
|
-
|
|
2731
|
-
// No wrap, so don't change focus, return early
|
|
2732
|
-
return null;
|
|
2644
|
+
this.container.addEventListener('keydown', this._onKeydown);
|
|
2733
2645
|
}
|
|
2734
2646
|
|
|
2735
2647
|
/**
|
|
2736
|
-
* Handles
|
|
2737
|
-
*
|
|
2738
|
-
*
|
|
2739
|
-
*/
|
|
2740
|
-
_handleTabKey(e) {
|
|
2741
|
-
// Update the focusable elements
|
|
2742
|
-
const focusables = this._getFocusableElements();
|
|
2743
|
-
|
|
2744
|
-
// If there are no focusable elements, exit
|
|
2745
|
-
if (!focusables.length) return;
|
|
2746
|
-
|
|
2747
|
-
// Set the tab direction based on the key pressed
|
|
2748
|
-
this.tabDirection = e.shiftKey ? "backward" : "forward";
|
|
2749
|
-
|
|
2750
|
-
// Get the active elements that are currently focused
|
|
2751
|
-
const actives = this._getActiveElements();
|
|
2752
|
-
|
|
2753
|
-
// If we're at either end of the focusable elements, wrap around to the other end
|
|
2754
|
-
let focusIndex = focusables.findIndex((el) => actives.includes(el));
|
|
2755
|
-
|
|
2756
|
-
// Fallback if we have no focused element
|
|
2757
|
-
if (focusIndex === -1) focusIndex = 0;
|
|
2758
|
-
|
|
2759
|
-
// Get the next focus index based on the current focus index, tab direction, and controlTabOrder setting
|
|
2760
|
-
// Is null if no new focus index is determined
|
|
2761
|
-
const newFocusIndex = this._getNextFocusIndex(
|
|
2762
|
-
focusIndex,
|
|
2763
|
-
focusables,
|
|
2764
|
-
actives,
|
|
2765
|
-
);
|
|
2766
|
-
|
|
2767
|
-
// If we have a new focus index, set focus to that element
|
|
2768
|
-
if (newFocusIndex !== null) {
|
|
2769
|
-
e.preventDefault();
|
|
2770
|
-
focusables[newFocusIndex].focus();
|
|
2771
|
-
}
|
|
2772
|
-
}
|
|
2773
|
-
|
|
2774
|
-
/**
|
|
2775
|
-
* Catches the keydown event
|
|
2648
|
+
* Handles keydown events to manage tab navigation within the container.
|
|
2649
|
+
* Ensures that focus wraps around when reaching the first or last focusable element.
|
|
2650
|
+
*
|
|
2776
2651
|
* @param {KeyboardEvent} e The keyboard event triggered by user interaction.
|
|
2777
2652
|
* @private
|
|
2778
2653
|
*/
|
|
2779
2654
|
_onKeydown = (e) => {
|
|
2780
|
-
|
|
2781
|
-
if (e.key ===
|
|
2655
|
+
|
|
2656
|
+
if (e.key === 'Tab') {
|
|
2657
|
+
|
|
2658
|
+
// Set the tab direction based on the key pressed
|
|
2659
|
+
this.tabDirection = e.shiftKey ? 'backward' : 'forward';
|
|
2660
|
+
|
|
2661
|
+
// Get the active element(s) in the document and shadow root
|
|
2662
|
+
// This will include the active element in the shadow DOM if it exists
|
|
2663
|
+
// Active element may be inside the shadow DOM depending on delegatesFocus, so we need to check both
|
|
2664
|
+
let activeElement = document.activeElement;
|
|
2665
|
+
const actives = [activeElement];
|
|
2666
|
+
while (activeElement?.shadowRoot?.activeElement) {
|
|
2667
|
+
actives.push(activeElement.shadowRoot.activeElement);
|
|
2668
|
+
activeElement = activeElement.shadowRoot.activeElement;
|
|
2669
|
+
}
|
|
2670
|
+
|
|
2671
|
+
// Update the focusable elements
|
|
2672
|
+
const focusables = this._getFocusableElements();
|
|
2673
|
+
|
|
2674
|
+
// If we're at either end of the focusable elements, wrap around to the other end
|
|
2675
|
+
const focusIndex =
|
|
2676
|
+
(actives.includes(focusables[0]) || actives.includes(this.container)) && this.tabDirection === 'backward'
|
|
2677
|
+
? focusables.length - 1
|
|
2678
|
+
: actives.includes(focusables[focusables.length - 1]) && this.tabDirection === 'forward'
|
|
2679
|
+
? 0
|
|
2680
|
+
: null;
|
|
2681
|
+
|
|
2682
|
+
if (focusIndex !== null) {
|
|
2683
|
+
focusables[focusIndex].focus();
|
|
2684
|
+
e.preventDefault(); // Prevent default tab behavior
|
|
2685
|
+
e.stopPropagation(); // Stop the event from bubbling up
|
|
2686
|
+
}
|
|
2687
|
+
}
|
|
2782
2688
|
};
|
|
2783
2689
|
|
|
2784
2690
|
/**
|
|
@@ -2791,8 +2697,8 @@ class FocusTrap {
|
|
|
2791
2697
|
_getFocusableElements() {
|
|
2792
2698
|
// Use the imported utility function to get focusable elements
|
|
2793
2699
|
const elements = getFocusableElements(this.container);
|
|
2794
|
-
|
|
2795
|
-
//
|
|
2700
|
+
|
|
2701
|
+
// Filter out any elements with the 'focus-bookend' class
|
|
2796
2702
|
return elements;
|
|
2797
2703
|
}
|
|
2798
2704
|
|
|
@@ -2819,11 +2725,12 @@ class FocusTrap {
|
|
|
2819
2725
|
* Call this method to clean up when the focus trap is no longer needed.
|
|
2820
2726
|
*/
|
|
2821
2727
|
disconnect() {
|
|
2822
|
-
|
|
2823
|
-
|
|
2728
|
+
|
|
2729
|
+
if (this.container.hasAttribute('data-focus-trap-container')) {
|
|
2730
|
+
this.container.removeAttribute('data-focus-trap-container');
|
|
2824
2731
|
}
|
|
2825
2732
|
|
|
2826
|
-
this.container.removeEventListener(
|
|
2733
|
+
this.container.removeEventListener('keydown', this._onKeydown);
|
|
2827
2734
|
}
|
|
2828
2735
|
}
|
|
2829
2736
|
|
|
@@ -2871,21 +2778,21 @@ class AuroDependencyVersioning {
|
|
|
2871
2778
|
* @license
|
|
2872
2779
|
* Copyright 2018 Google LLC
|
|
2873
2780
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
2874
|
-
*/const o=o=>o??
|
|
2781
|
+
*/const o=o=>o??E;
|
|
2875
2782
|
|
|
2876
|
-
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)}
|
|
2877
|
-
`;class z extends m{constructor(){super(),this.
|
|
2783
|
+
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}
|
|
2784
|
+
`;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}
|
|
2878
2785
|
`;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)}
|
|
2879
|
-
`;var
|
|
2880
|
-
`;class
|
|
2786
|
+
`;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)}
|
|
2787
|
+
`;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`
|
|
2881
2788
|
<div class="componentWrapper">
|
|
2882
2789
|
<div
|
|
2883
2790
|
class="${e$3({svgWrapper:true})}"
|
|
2884
2791
|
title="${o(this.title||void 0)}">
|
|
2885
2792
|
<span aria-hidden="${o(this.ariaHidden||true)}" part="svg">
|
|
2886
|
-
${this.customSvg?
|
|
2793
|
+
${this.customSvg?x$1`
|
|
2887
2794
|
<slot name="svg"></slot>
|
|
2888
|
-
`:
|
|
2795
|
+
`:x$1`
|
|
2889
2796
|
${this.svg}
|
|
2890
2797
|
`}
|
|
2891
2798
|
</span>
|
|
@@ -2897,7 +2804,7 @@ class p{registerComponent(t,a){customElements.get(t)||customElements.define(t,cl
|
|
|
2897
2804
|
</div>
|
|
2898
2805
|
`}}
|
|
2899
2806
|
|
|
2900
|
-
var iconVersion = '9.1.
|
|
2807
|
+
var iconVersion = '9.1.1';
|
|
2901
2808
|
|
|
2902
2809
|
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}`;
|
|
2903
2810
|
|
|
@@ -3330,7 +3237,7 @@ class AuroHelpText extends i {
|
|
|
3330
3237
|
|
|
3331
3238
|
// function that renders the HTML and CSS into the scope of the component
|
|
3332
3239
|
render() {
|
|
3333
|
-
return
|
|
3240
|
+
return x$1`
|
|
3334
3241
|
<div class="helptext-wrapper body-xs" ?visible="${this.hasTextContent}">
|
|
3335
3242
|
<slot @slotchange=${this.handleSlotChange}></slot>
|
|
3336
3243
|
</div>
|
|
@@ -3338,7 +3245,7 @@ class AuroHelpText extends i {
|
|
|
3338
3245
|
}
|
|
3339
3246
|
}
|
|
3340
3247
|
|
|
3341
|
-
var formkitVersion = '
|
|
3248
|
+
var formkitVersion = '202601290115';
|
|
3342
3249
|
|
|
3343
3250
|
class AuroElement extends i {
|
|
3344
3251
|
static get properties() {
|
|
@@ -3566,7 +3473,7 @@ class AuroDropdown extends AuroElement {
|
|
|
3566
3473
|
/**
|
|
3567
3474
|
* @private
|
|
3568
3475
|
*/
|
|
3569
|
-
this.iconTag = versioning.generateTag('auro-formkit-dropdown-icon', iconVersion,
|
|
3476
|
+
this.iconTag = versioning.generateTag('auro-formkit-dropdown-icon', iconVersion, x);
|
|
3570
3477
|
|
|
3571
3478
|
/**
|
|
3572
3479
|
* @private
|
|
@@ -3633,7 +3540,7 @@ class AuroDropdown extends AuroElement {
|
|
|
3633
3540
|
* The value for the role attribute of the trigger element.
|
|
3634
3541
|
*/
|
|
3635
3542
|
a11yRole: {
|
|
3636
|
-
type: String,
|
|
3543
|
+
type: String || undefined,
|
|
3637
3544
|
attribute: false,
|
|
3638
3545
|
reflect: false
|
|
3639
3546
|
},
|
|
@@ -4397,6 +4304,12 @@ AuroDropdown.register();
|
|
|
4397
4304
|
function initExamples(initialCount = 0) {
|
|
4398
4305
|
try {
|
|
4399
4306
|
// javascript example function calls to be added here upon creation to test examples
|
|
4307
|
+
errorExample();
|
|
4308
|
+
inverseErrorExample();
|
|
4309
|
+
fullscreenBreakpointExample();
|
|
4310
|
+
classicExample();
|
|
4311
|
+
classicInverseExample();
|
|
4312
|
+
matchWidthExample();
|
|
4400
4313
|
hideExample();
|
|
4401
4314
|
showExample();
|
|
4402
4315
|
inDialogExample();
|