@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.
- package/components/bibtemplate/dist/auro-bibtemplate.d.ts +10 -0
- package/components/bibtemplate/dist/buttonVersion.d.ts +1 -1
- package/components/bibtemplate/dist/headerVersion.d.ts +1 -1
- package/components/bibtemplate/dist/iconVersion.d.ts +1 -1
- package/components/bibtemplate/dist/index.js +26 -16
- package/components/bibtemplate/dist/registered.js +26 -16
- package/components/checkbox/demo/api.md +7 -0
- package/components/checkbox/demo/api.min.js +17 -14
- package/components/checkbox/demo/index.min.js +17 -14
- package/components/checkbox/dist/auro-checkbox-group.d.ts +4 -3
- package/components/checkbox/dist/auro-checkbox.d.ts +2 -0
- package/components/checkbox/dist/index.js +8 -5
- package/components/checkbox/dist/registered.js +8 -5
- package/components/combobox/demo/api.min.js +544 -355
- package/components/combobox/demo/index.html +5 -1
- package/components/combobox/demo/index.js +15 -0
- package/components/combobox/demo/index.min.js +545 -351
- package/components/combobox/dist/auro-combobox.d.ts +1 -1
- package/components/combobox/dist/index.js +428 -240
- package/components/combobox/dist/registered.js +428 -240
- package/components/counter/demo/api.min.js +434 -258
- package/components/counter/demo/index.min.js +434 -258
- package/components/counter/dist/auro-counter-button.d.ts +11 -2
- package/components/counter/dist/index.js +391 -219
- package/components/counter/dist/registered.js +391 -219
- package/components/datepicker/demo/api.md +2 -2
- package/components/datepicker/demo/api.min.js +584 -400
- package/components/datepicker/demo/index.min.js +584 -400
- package/components/datepicker/dist/auro-datepicker.d.ts +1 -1
- package/components/datepicker/dist/buttonVersion.d.ts +1 -1
- package/components/datepicker/dist/iconVersion.d.ts +1 -1
- package/components/datepicker/dist/index.js +445 -261
- package/components/datepicker/dist/popoverVersion.d.ts +1 -1
- package/components/datepicker/dist/registered.js +445 -261
- package/components/dropdown/README.md +2 -2
- package/components/dropdown/demo/api.html +3 -1
- package/components/dropdown/demo/api.js +20 -17
- package/components/dropdown/demo/api.md +50 -53
- package/components/dropdown/demo/api.min.js +440 -221
- package/components/dropdown/demo/index.html +3 -1
- package/components/dropdown/demo/index.js +10 -13
- package/components/dropdown/demo/index.md +6 -6
- package/components/dropdown/demo/index.min.js +395 -204
- package/components/dropdown/demo/readme.html +9 -1
- package/components/dropdown/demo/readme.md +2 -2
- package/components/dropdown/dist/iconVersion.d.ts +1 -1
- package/components/dropdown/dist/index.js +349 -189
- package/components/dropdown/dist/registered.js +349 -189
- package/components/form/demo/api.min.js +13 -11
- package/components/form/demo/index.min.js +13 -11
- package/components/form/dist/auro-form.d.ts +8 -0
- package/components/form/dist/index.js +8 -6
- package/components/form/dist/registered.js +8 -6
- package/components/input/demo/api.md +7 -3
- package/components/input/demo/api.min.js +95 -81
- package/components/input/demo/index.min.js +95 -81
- package/components/input/dist/auro-input.d.ts +23 -0
- package/components/input/dist/base-input.d.ts +2 -18
- package/components/input/dist/buttonVersion.d.ts +1 -1
- package/components/input/dist/iconVersion.d.ts +1 -1
- package/components/input/dist/index.js +50 -36
- package/components/input/dist/registered.js +50 -36
- package/components/menu/demo/api.md +3 -3
- package/components/menu/demo/api.min.js +18 -17
- package/components/menu/demo/index.min.js +18 -17
- package/components/menu/dist/auro-menuoption.d.ts +2 -1
- package/components/menu/dist/index.js +7 -6
- package/components/menu/dist/registered.js +7 -6
- package/components/radio/demo/api.min.js +11 -11
- package/components/radio/demo/index.min.js +11 -11
- package/components/radio/dist/index.js +2 -2
- package/components/radio/dist/registered.js +2 -2
- package/components/select/demo/api.min.js +406 -235
- package/components/select/demo/index.min.js +406 -235
- package/components/select/dist/index.js +377 -207
- package/components/select/dist/registered.js +377 -207
- package/custom-elements.json +18148 -0
- package/package.json +48 -16
|
@@ -1,9 +1,63 @@
|
|
|
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
|
|
6
|
-
dropdown
|
|
59
|
+
btn?.addEventListener('click', () => {
|
|
60
|
+
dropdown?.hide();
|
|
7
61
|
});
|
|
8
62
|
}
|
|
9
63
|
|
|
@@ -11,16 +65,24 @@ function showExample() {
|
|
|
11
65
|
const triggerInput = document.querySelector('#showExampleTriggerInput');
|
|
12
66
|
const dropdownElem = document.querySelector('#showMethodExample');
|
|
13
67
|
|
|
14
|
-
triggerInput
|
|
15
|
-
dropdownElem
|
|
68
|
+
triggerInput?.addEventListener('keydown', () => {
|
|
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$2.trustedTypes,s$4
|
|
93
|
+
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};
|
|
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((
|
|
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(b$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(
|
|
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 E}});
|
|
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$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;
|
|
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$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");
|
|
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=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");
|
|
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 r$1=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(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(){}};
|
|
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 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);}});
|
|
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,8 +276,9 @@ function getOppositeAxis(axis) {
|
|
|
214
276
|
function getAxisLength(axis) {
|
|
215
277
|
return axis === 'y' ? 'height' : 'width';
|
|
216
278
|
}
|
|
279
|
+
const yAxisSides = /*#__PURE__*/new Set(['top', 'bottom']);
|
|
217
280
|
function getSideAxis(placement) {
|
|
218
|
-
return
|
|
281
|
+
return yAxisSides.has(getSide(placement)) ? 'y' : 'x';
|
|
219
282
|
}
|
|
220
283
|
function getAlignmentAxis(placement) {
|
|
221
284
|
return getOppositeAxis(getSideAxis(placement));
|
|
@@ -240,19 +303,19 @@ function getExpandedPlacements(placement) {
|
|
|
240
303
|
function getOppositeAlignmentPlacement(placement) {
|
|
241
304
|
return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);
|
|
242
305
|
}
|
|
306
|
+
const lrPlacement = ['left', 'right'];
|
|
307
|
+
const rlPlacement = ['right', 'left'];
|
|
308
|
+
const tbPlacement = ['top', 'bottom'];
|
|
309
|
+
const btPlacement = ['bottom', 'top'];
|
|
243
310
|
function getSideList(side, isStart, rtl) {
|
|
244
|
-
const lr = ['left', 'right'];
|
|
245
|
-
const rl = ['right', 'left'];
|
|
246
|
-
const tb = ['top', 'bottom'];
|
|
247
|
-
const bt = ['bottom', 'top'];
|
|
248
311
|
switch (side) {
|
|
249
312
|
case 'top':
|
|
250
313
|
case 'bottom':
|
|
251
|
-
if (rtl) return isStart ?
|
|
252
|
-
return isStart ?
|
|
314
|
+
if (rtl) return isStart ? rlPlacement : lrPlacement;
|
|
315
|
+
return isStart ? lrPlacement : rlPlacement;
|
|
253
316
|
case 'left':
|
|
254
317
|
case 'right':
|
|
255
|
-
return isStart ?
|
|
318
|
+
return isStart ? tbPlacement : btPlacement;
|
|
256
319
|
default:
|
|
257
320
|
return [];
|
|
258
321
|
}
|
|
@@ -363,6 +426,71 @@ function computeCoordsFromPlacement(_ref, placement, rtl) {
|
|
|
363
426
|
return coords;
|
|
364
427
|
}
|
|
365
428
|
|
|
429
|
+
/**
|
|
430
|
+
* Resolves with an object of overflow side offsets that determine how much the
|
|
431
|
+
* element is overflowing a given clipping boundary on each side.
|
|
432
|
+
* - positive = overflowing the boundary by that number of pixels
|
|
433
|
+
* - negative = how many pixels left before it will overflow
|
|
434
|
+
* - 0 = lies flush with the boundary
|
|
435
|
+
* @see https://floating-ui.com/docs/detectOverflow
|
|
436
|
+
*/
|
|
437
|
+
async function detectOverflow(state, options) {
|
|
438
|
+
var _await$platform$isEle;
|
|
439
|
+
if (options === void 0) {
|
|
440
|
+
options = {};
|
|
441
|
+
}
|
|
442
|
+
const {
|
|
443
|
+
x,
|
|
444
|
+
y,
|
|
445
|
+
platform,
|
|
446
|
+
rects,
|
|
447
|
+
elements,
|
|
448
|
+
strategy
|
|
449
|
+
} = state;
|
|
450
|
+
const {
|
|
451
|
+
boundary = 'clippingAncestors',
|
|
452
|
+
rootBoundary = 'viewport',
|
|
453
|
+
elementContext = 'floating',
|
|
454
|
+
altBoundary = false,
|
|
455
|
+
padding = 0
|
|
456
|
+
} = evaluate(options, state);
|
|
457
|
+
const paddingObject = getPaddingObject(padding);
|
|
458
|
+
const altContext = elementContext === 'floating' ? 'reference' : 'floating';
|
|
459
|
+
const element = elements[altBoundary ? altContext : elementContext];
|
|
460
|
+
const clippingClientRect = rectToClientRect(await platform.getClippingRect({
|
|
461
|
+
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))),
|
|
462
|
+
boundary,
|
|
463
|
+
rootBoundary,
|
|
464
|
+
strategy
|
|
465
|
+
}));
|
|
466
|
+
const rect = elementContext === 'floating' ? {
|
|
467
|
+
x,
|
|
468
|
+
y,
|
|
469
|
+
width: rects.floating.width,
|
|
470
|
+
height: rects.floating.height
|
|
471
|
+
} : rects.reference;
|
|
472
|
+
const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));
|
|
473
|
+
const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {
|
|
474
|
+
x: 1,
|
|
475
|
+
y: 1
|
|
476
|
+
} : {
|
|
477
|
+
x: 1,
|
|
478
|
+
y: 1
|
|
479
|
+
};
|
|
480
|
+
const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({
|
|
481
|
+
elements,
|
|
482
|
+
rect,
|
|
483
|
+
offsetParent,
|
|
484
|
+
strategy
|
|
485
|
+
}) : rect);
|
|
486
|
+
return {
|
|
487
|
+
top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,
|
|
488
|
+
bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,
|
|
489
|
+
left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,
|
|
490
|
+
right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x
|
|
491
|
+
};
|
|
492
|
+
}
|
|
493
|
+
|
|
366
494
|
/**
|
|
367
495
|
* Computes the `x` and `y` coordinates that will place the floating element
|
|
368
496
|
* next to a given reference element.
|
|
@@ -392,6 +520,7 @@ const computePosition$1 = async (reference, floating, config) => {
|
|
|
392
520
|
let middlewareData = {};
|
|
393
521
|
let resetCount = 0;
|
|
394
522
|
for (let i = 0; i < validMiddleware.length; i++) {
|
|
523
|
+
var _platform$detectOverf;
|
|
395
524
|
const {
|
|
396
525
|
name,
|
|
397
526
|
fn
|
|
@@ -409,7 +538,10 @@ const computePosition$1 = async (reference, floating, config) => {
|
|
|
409
538
|
strategy,
|
|
410
539
|
middlewareData,
|
|
411
540
|
rects,
|
|
412
|
-
platform
|
|
541
|
+
platform: {
|
|
542
|
+
...platform,
|
|
543
|
+
detectOverflow: (_platform$detectOverf = platform.detectOverflow) != null ? _platform$detectOverf : detectOverflow
|
|
544
|
+
},
|
|
413
545
|
elements: {
|
|
414
546
|
reference,
|
|
415
547
|
floating
|
|
@@ -454,71 +586,6 @@ const computePosition$1 = async (reference, floating, config) => {
|
|
|
454
586
|
};
|
|
455
587
|
};
|
|
456
588
|
|
|
457
|
-
/**
|
|
458
|
-
* Resolves with an object of overflow side offsets that determine how much the
|
|
459
|
-
* element is overflowing a given clipping boundary on each side.
|
|
460
|
-
* - positive = overflowing the boundary by that number of pixels
|
|
461
|
-
* - negative = how many pixels left before it will overflow
|
|
462
|
-
* - 0 = lies flush with the boundary
|
|
463
|
-
* @see https://floating-ui.com/docs/detectOverflow
|
|
464
|
-
*/
|
|
465
|
-
async function detectOverflow(state, options) {
|
|
466
|
-
var _await$platform$isEle;
|
|
467
|
-
if (options === void 0) {
|
|
468
|
-
options = {};
|
|
469
|
-
}
|
|
470
|
-
const {
|
|
471
|
-
x,
|
|
472
|
-
y,
|
|
473
|
-
platform,
|
|
474
|
-
rects,
|
|
475
|
-
elements,
|
|
476
|
-
strategy
|
|
477
|
-
} = state;
|
|
478
|
-
const {
|
|
479
|
-
boundary = 'clippingAncestors',
|
|
480
|
-
rootBoundary = 'viewport',
|
|
481
|
-
elementContext = 'floating',
|
|
482
|
-
altBoundary = false,
|
|
483
|
-
padding = 0
|
|
484
|
-
} = evaluate(options, state);
|
|
485
|
-
const paddingObject = getPaddingObject(padding);
|
|
486
|
-
const altContext = elementContext === 'floating' ? 'reference' : 'floating';
|
|
487
|
-
const element = elements[altBoundary ? altContext : elementContext];
|
|
488
|
-
const clippingClientRect = rectToClientRect(await platform.getClippingRect({
|
|
489
|
-
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))),
|
|
490
|
-
boundary,
|
|
491
|
-
rootBoundary,
|
|
492
|
-
strategy
|
|
493
|
-
}));
|
|
494
|
-
const rect = elementContext === 'floating' ? {
|
|
495
|
-
x,
|
|
496
|
-
y,
|
|
497
|
-
width: rects.floating.width,
|
|
498
|
-
height: rects.floating.height
|
|
499
|
-
} : rects.reference;
|
|
500
|
-
const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));
|
|
501
|
-
const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {
|
|
502
|
-
x: 1,
|
|
503
|
-
y: 1
|
|
504
|
-
} : {
|
|
505
|
-
x: 1,
|
|
506
|
-
y: 1
|
|
507
|
-
};
|
|
508
|
-
const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({
|
|
509
|
-
elements,
|
|
510
|
-
rect,
|
|
511
|
-
offsetParent,
|
|
512
|
-
strategy
|
|
513
|
-
}) : rect);
|
|
514
|
-
return {
|
|
515
|
-
top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,
|
|
516
|
-
bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,
|
|
517
|
-
left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,
|
|
518
|
-
right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x
|
|
519
|
-
};
|
|
520
|
-
}
|
|
521
|
-
|
|
522
589
|
function getPlacementList(alignment, autoAlignment, allowedPlacements) {
|
|
523
590
|
const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);
|
|
524
591
|
return allowedPlacementsSortedByAlignment.filter(placement => {
|
|
@@ -558,7 +625,7 @@ const autoPlacement$1 = function (options) {
|
|
|
558
625
|
...detectOverflowOptions
|
|
559
626
|
} = evaluate(options, state);
|
|
560
627
|
const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;
|
|
561
|
-
const overflow = await detectOverflow(state, detectOverflowOptions);
|
|
628
|
+
const overflow = await platform.detectOverflow(state, detectOverflowOptions);
|
|
562
629
|
const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;
|
|
563
630
|
const currentPlacement = placements$1[currentIndex];
|
|
564
631
|
if (currentPlacement == null) {
|
|
@@ -672,7 +739,7 @@ const flip$1 = function (options) {
|
|
|
672
739
|
fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));
|
|
673
740
|
}
|
|
674
741
|
const placements = [initialPlacement, ...fallbackPlacements];
|
|
675
|
-
const overflow = await detectOverflow(state, detectOverflowOptions);
|
|
742
|
+
const overflow = await platform.detectOverflow(state, detectOverflowOptions);
|
|
676
743
|
const overflows = [];
|
|
677
744
|
let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];
|
|
678
745
|
if (checkMainAxis) {
|
|
@@ -693,16 +760,22 @@ const flip$1 = function (options) {
|
|
|
693
760
|
const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;
|
|
694
761
|
const nextPlacement = placements[nextIndex];
|
|
695
762
|
if (nextPlacement) {
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
763
|
+
const ignoreCrossAxisOverflow = checkCrossAxis === 'alignment' ? initialSideAxis !== getSideAxis(nextPlacement) : false;
|
|
764
|
+
if (!ignoreCrossAxisOverflow ||
|
|
765
|
+
// We leave the current main axis only if every placement on that axis
|
|
766
|
+
// overflows the main axis.
|
|
767
|
+
overflowsData.every(d => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) {
|
|
768
|
+
// Try next placement and re-run the lifecycle.
|
|
769
|
+
return {
|
|
770
|
+
data: {
|
|
771
|
+
index: nextIndex,
|
|
772
|
+
overflows: overflowsData
|
|
773
|
+
},
|
|
774
|
+
reset: {
|
|
775
|
+
placement: nextPlacement
|
|
776
|
+
}
|
|
777
|
+
};
|
|
778
|
+
}
|
|
706
779
|
}
|
|
707
780
|
|
|
708
781
|
// First, find the candidates that fit on the mainAxis side of overflow,
|
|
@@ -748,6 +821,8 @@ const flip$1 = function (options) {
|
|
|
748
821
|
};
|
|
749
822
|
};
|
|
750
823
|
|
|
824
|
+
const originSides = /*#__PURE__*/new Set(['left', 'top']);
|
|
825
|
+
|
|
751
826
|
// For type backwards-compatibility, the `OffsetOptions` type was also
|
|
752
827
|
// Derivable.
|
|
753
828
|
|
|
@@ -761,7 +836,7 @@ async function convertValueToCoords(state, options) {
|
|
|
761
836
|
const side = getSide(placement);
|
|
762
837
|
const alignment = getAlignment(placement);
|
|
763
838
|
const isVertical = getSideAxis(placement) === 'y';
|
|
764
|
-
const mainAxisMulti =
|
|
839
|
+
const mainAxisMulti = originSides.has(side) ? -1 : 1;
|
|
765
840
|
const crossAxisMulti = rtl && isVertical ? -1 : 1;
|
|
766
841
|
const rawValue = evaluate(options, state);
|
|
767
842
|
|
|
@@ -848,7 +923,8 @@ const shift$1 = function (options) {
|
|
|
848
923
|
const {
|
|
849
924
|
x,
|
|
850
925
|
y,
|
|
851
|
-
placement
|
|
926
|
+
placement,
|
|
927
|
+
platform
|
|
852
928
|
} = state;
|
|
853
929
|
const {
|
|
854
930
|
mainAxis: checkMainAxis = true,
|
|
@@ -871,7 +947,7 @@ const shift$1 = function (options) {
|
|
|
871
947
|
x,
|
|
872
948
|
y
|
|
873
949
|
};
|
|
874
|
-
const overflow = await detectOverflow(state, detectOverflowOptions);
|
|
950
|
+
const overflow = await platform.detectOverflow(state, detectOverflowOptions);
|
|
875
951
|
const crossAxis = getSideAxis(getSide(placement));
|
|
876
952
|
const mainAxis = getOppositeAxis(crossAxis);
|
|
877
953
|
let mainAxisCoord = coords[mainAxis];
|
|
@@ -954,6 +1030,7 @@ function isShadowRoot(value) {
|
|
|
954
1030
|
}
|
|
955
1031
|
return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;
|
|
956
1032
|
}
|
|
1033
|
+
const invalidOverflowDisplayValues = /*#__PURE__*/new Set(['inline', 'contents']);
|
|
957
1034
|
function isOverflowElement(element) {
|
|
958
1035
|
const {
|
|
959
1036
|
overflow,
|
|
@@ -961,27 +1038,32 @@ function isOverflowElement(element) {
|
|
|
961
1038
|
overflowY,
|
|
962
1039
|
display
|
|
963
1040
|
} = getComputedStyle$1(element);
|
|
964
|
-
return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !
|
|
1041
|
+
return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !invalidOverflowDisplayValues.has(display);
|
|
965
1042
|
}
|
|
1043
|
+
const tableElements = /*#__PURE__*/new Set(['table', 'td', 'th']);
|
|
966
1044
|
function isTableElement(element) {
|
|
967
|
-
return
|
|
1045
|
+
return tableElements.has(getNodeName(element));
|
|
968
1046
|
}
|
|
1047
|
+
const topLayerSelectors = [':popover-open', ':modal'];
|
|
969
1048
|
function isTopLayer(element) {
|
|
970
|
-
return
|
|
1049
|
+
return topLayerSelectors.some(selector => {
|
|
971
1050
|
try {
|
|
972
1051
|
return element.matches(selector);
|
|
973
|
-
} catch (
|
|
1052
|
+
} catch (_e) {
|
|
974
1053
|
return false;
|
|
975
1054
|
}
|
|
976
1055
|
});
|
|
977
1056
|
}
|
|
1057
|
+
const transformProperties = ['transform', 'translate', 'scale', 'rotate', 'perspective'];
|
|
1058
|
+
const willChangeValues = ['transform', 'translate', 'scale', 'rotate', 'perspective', 'filter'];
|
|
1059
|
+
const containValues = ['paint', 'layout', 'strict', 'content'];
|
|
978
1060
|
function isContainingBlock(elementOrCss) {
|
|
979
1061
|
const webkit = isWebKit();
|
|
980
1062
|
const css = isElement(elementOrCss) ? getComputedStyle$1(elementOrCss) : elementOrCss;
|
|
981
1063
|
|
|
982
1064
|
// https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block
|
|
983
1065
|
// https://drafts.csswg.org/css-transforms-2/#individual-transforms
|
|
984
|
-
return
|
|
1066
|
+
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));
|
|
985
1067
|
}
|
|
986
1068
|
function getContainingBlock(element) {
|
|
987
1069
|
let currentNode = getParentNode(element);
|
|
@@ -999,8 +1081,9 @@ function isWebKit() {
|
|
|
999
1081
|
if (typeof CSS === 'undefined' || !CSS.supports) return false;
|
|
1000
1082
|
return CSS.supports('-webkit-backdrop-filter', 'none');
|
|
1001
1083
|
}
|
|
1084
|
+
const lastTraversableNodeNames = /*#__PURE__*/new Set(['html', 'body', '#document']);
|
|
1002
1085
|
function isLastTraversableNode(node) {
|
|
1003
|
-
return
|
|
1086
|
+
return lastTraversableNodeNames.has(getNodeName(node));
|
|
1004
1087
|
}
|
|
1005
1088
|
function getComputedStyle$1(element) {
|
|
1006
1089
|
return getWindow(element).getComputedStyle(element);
|
|
@@ -1200,14 +1283,9 @@ function getWindowScrollBarX(element, rect) {
|
|
|
1200
1283
|
return rect.left + leftScroll;
|
|
1201
1284
|
}
|
|
1202
1285
|
|
|
1203
|
-
function getHTMLOffset(documentElement, scroll
|
|
1204
|
-
if (ignoreScrollbarX === void 0) {
|
|
1205
|
-
ignoreScrollbarX = false;
|
|
1206
|
-
}
|
|
1286
|
+
function getHTMLOffset(documentElement, scroll) {
|
|
1207
1287
|
const htmlRect = documentElement.getBoundingClientRect();
|
|
1208
|
-
const x = htmlRect.left + scroll.scrollLeft - (
|
|
1209
|
-
// RTL <body> scrollbar.
|
|
1210
|
-
getWindowScrollBarX(documentElement, htmlRect));
|
|
1288
|
+
const x = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect);
|
|
1211
1289
|
const y = htmlRect.top + scroll.scrollTop;
|
|
1212
1290
|
return {
|
|
1213
1291
|
x,
|
|
@@ -1246,7 +1324,7 @@ function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
|
|
|
1246
1324
|
offsets.y = offsetRect.y + offsetParent.clientTop;
|
|
1247
1325
|
}
|
|
1248
1326
|
}
|
|
1249
|
-
const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll
|
|
1327
|
+
const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);
|
|
1250
1328
|
return {
|
|
1251
1329
|
width: rect.width * scale.x,
|
|
1252
1330
|
height: rect.height * scale.y,
|
|
@@ -1280,6 +1358,10 @@ function getDocumentRect(element) {
|
|
|
1280
1358
|
};
|
|
1281
1359
|
}
|
|
1282
1360
|
|
|
1361
|
+
// Safety check: ensure the scrollbar space is reasonable in case this
|
|
1362
|
+
// calculation is affected by unusual styles.
|
|
1363
|
+
// Most scrollbars leave 15-18px of space.
|
|
1364
|
+
const SCROLLBAR_MAX = 25;
|
|
1283
1365
|
function getViewportRect(element, strategy) {
|
|
1284
1366
|
const win = getWindow(element);
|
|
1285
1367
|
const html = getDocumentElement(element);
|
|
@@ -1297,6 +1379,24 @@ function getViewportRect(element, strategy) {
|
|
|
1297
1379
|
y = visualViewport.offsetTop;
|
|
1298
1380
|
}
|
|
1299
1381
|
}
|
|
1382
|
+
const windowScrollbarX = getWindowScrollBarX(html);
|
|
1383
|
+
// <html> `overflow: hidden` + `scrollbar-gutter: stable` reduces the
|
|
1384
|
+
// visual width of the <html> but this is not considered in the size
|
|
1385
|
+
// of `html.clientWidth`.
|
|
1386
|
+
if (windowScrollbarX <= 0) {
|
|
1387
|
+
const doc = html.ownerDocument;
|
|
1388
|
+
const body = doc.body;
|
|
1389
|
+
const bodyStyles = getComputedStyle(body);
|
|
1390
|
+
const bodyMarginInline = doc.compatMode === 'CSS1Compat' ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;
|
|
1391
|
+
const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);
|
|
1392
|
+
if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) {
|
|
1393
|
+
width -= clippingStableScrollbarWidth;
|
|
1394
|
+
}
|
|
1395
|
+
} else if (windowScrollbarX <= SCROLLBAR_MAX) {
|
|
1396
|
+
// If the <body> scrollbar is on the left, the width needs to be extended
|
|
1397
|
+
// by the scrollbar amount so there isn't extra space on the right.
|
|
1398
|
+
width += windowScrollbarX;
|
|
1399
|
+
}
|
|
1300
1400
|
return {
|
|
1301
1401
|
width,
|
|
1302
1402
|
height,
|
|
@@ -1305,6 +1405,7 @@ function getViewportRect(element, strategy) {
|
|
|
1305
1405
|
};
|
|
1306
1406
|
}
|
|
1307
1407
|
|
|
1408
|
+
const absoluteOrFixed = /*#__PURE__*/new Set(['absolute', 'fixed']);
|
|
1308
1409
|
// Returns the inner client rect, subtracting scrollbars if present.
|
|
1309
1410
|
function getInnerBoundingClientRect(element, strategy) {
|
|
1310
1411
|
const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');
|
|
@@ -1369,7 +1470,7 @@ function getClippingElementAncestors(element, cache) {
|
|
|
1369
1470
|
if (!currentNodeIsContaining && computedStyle.position === 'fixed') {
|
|
1370
1471
|
currentContainingBlockComputedStyle = null;
|
|
1371
1472
|
}
|
|
1372
|
-
const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle &&
|
|
1473
|
+
const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && absoluteOrFixed.has(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);
|
|
1373
1474
|
if (shouldDropCurrentNode) {
|
|
1374
1475
|
// Drop non-containing blocks.
|
|
1375
1476
|
result = result.filter(ancestor => ancestor !== currentNode);
|
|
@@ -1432,6 +1533,12 @@ function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
|
|
|
1432
1533
|
scrollTop: 0
|
|
1433
1534
|
};
|
|
1434
1535
|
const offsets = createCoords(0);
|
|
1536
|
+
|
|
1537
|
+
// If the <body> scrollbar appears on the left (e.g. RTL systems). Use
|
|
1538
|
+
// Firefox with layout.scrollbar.side = 3 in about:config to test this.
|
|
1539
|
+
function setLeftRTLScrollbarOffset() {
|
|
1540
|
+
offsets.x = getWindowScrollBarX(documentElement);
|
|
1541
|
+
}
|
|
1435
1542
|
if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {
|
|
1436
1543
|
if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {
|
|
1437
1544
|
scroll = getNodeScroll(offsetParent);
|
|
@@ -1441,11 +1548,12 @@ function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
|
|
|
1441
1548
|
offsets.x = offsetRect.x + offsetParent.clientLeft;
|
|
1442
1549
|
offsets.y = offsetRect.y + offsetParent.clientTop;
|
|
1443
1550
|
} else if (documentElement) {
|
|
1444
|
-
|
|
1445
|
-
// Firefox with layout.scrollbar.side = 3 in about:config to test this.
|
|
1446
|
-
offsets.x = getWindowScrollBarX(documentElement);
|
|
1551
|
+
setLeftRTLScrollbarOffset();
|
|
1447
1552
|
}
|
|
1448
1553
|
}
|
|
1554
|
+
if (isFixed && !isOffsetParentAnElement && documentElement) {
|
|
1555
|
+
setLeftRTLScrollbarOffset();
|
|
1556
|
+
}
|
|
1449
1557
|
const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);
|
|
1450
1558
|
const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;
|
|
1451
1559
|
const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;
|
|
@@ -1622,7 +1730,7 @@ function observeMove(element, onMove) {
|
|
|
1622
1730
|
// Handle <iframe>s
|
|
1623
1731
|
root: root.ownerDocument
|
|
1624
1732
|
});
|
|
1625
|
-
} catch (
|
|
1733
|
+
} catch (_e) {
|
|
1626
1734
|
io = new IntersectionObserver(handleObserve, options);
|
|
1627
1735
|
}
|
|
1628
1736
|
io.observe(element);
|
|
@@ -2413,32 +2521,32 @@ class AuroFloatingUI {
|
|
|
2413
2521
|
|
|
2414
2522
|
// Selectors for focusable elements
|
|
2415
2523
|
const FOCUSABLE_SELECTORS = [
|
|
2416
|
-
|
|
2417
|
-
|
|
2418
|
-
|
|
2419
|
-
|
|
2420
|
-
|
|
2524
|
+
"a[href]",
|
|
2525
|
+
"button:not([disabled])",
|
|
2526
|
+
"textarea:not([disabled])",
|
|
2527
|
+
"input:not([disabled])",
|
|
2528
|
+
"select:not([disabled])",
|
|
2421
2529
|
'[role="tab"]:not([disabled])',
|
|
2422
2530
|
'[role="link"]:not([disabled])',
|
|
2423
2531
|
'[role="button"]:not([disabled])',
|
|
2424
2532
|
'[tabindex]:not([tabindex="-1"])',
|
|
2425
|
-
'[contenteditable]:not([contenteditable="false"])'
|
|
2533
|
+
'[contenteditable]:not([contenteditable="false"])',
|
|
2426
2534
|
];
|
|
2427
2535
|
|
|
2428
2536
|
// List of custom components that are known to be focusable
|
|
2429
2537
|
const FOCUSABLE_COMPONENTS = [
|
|
2430
|
-
|
|
2431
|
-
|
|
2432
|
-
|
|
2433
|
-
|
|
2434
|
-
|
|
2435
|
-
|
|
2436
|
-
|
|
2437
|
-
'auro-menu',
|
|
2438
|
-
|
|
2439
|
-
|
|
2440
|
-
|
|
2441
|
-
|
|
2538
|
+
"auro-checkbox",
|
|
2539
|
+
"auro-radio",
|
|
2540
|
+
"auro-dropdown",
|
|
2541
|
+
"auro-button",
|
|
2542
|
+
"auro-combobox",
|
|
2543
|
+
"auro-input",
|
|
2544
|
+
"auro-counter",
|
|
2545
|
+
// 'auro-menu', // Auro menu is not focusable by default, it uses a different interaction model
|
|
2546
|
+
"auro-select",
|
|
2547
|
+
"auro-datepicker",
|
|
2548
|
+
"auro-hyperlink",
|
|
2549
|
+
"auro-accordion",
|
|
2442
2550
|
];
|
|
2443
2551
|
|
|
2444
2552
|
/**
|
|
@@ -2452,21 +2560,43 @@ function isFocusableComponent(element) {
|
|
|
2452
2560
|
const componentName = element.tagName.toLowerCase();
|
|
2453
2561
|
|
|
2454
2562
|
// Guard Clause: Element is a focusable component
|
|
2455
|
-
if (
|
|
2563
|
+
if (
|
|
2564
|
+
!FOCUSABLE_COMPONENTS.some(
|
|
2565
|
+
(name) => element.hasAttribute(name) || componentName === name,
|
|
2566
|
+
)
|
|
2567
|
+
)
|
|
2568
|
+
return false;
|
|
2456
2569
|
|
|
2457
2570
|
// Guard Clause: Element is not disabled
|
|
2458
|
-
if (element.hasAttribute(
|
|
2571
|
+
if (element.hasAttribute("disabled")) return false;
|
|
2459
2572
|
|
|
2460
2573
|
// Guard Clause: The element is a hyperlink and has no href attribute
|
|
2461
|
-
if (componentName.match("hyperlink") && !element.hasAttribute(
|
|
2574
|
+
if (componentName.match("hyperlink") && !element.hasAttribute("href"))
|
|
2575
|
+
return false;
|
|
2462
2576
|
|
|
2463
2577
|
// If all guard clauses pass, the element is a focusable component
|
|
2464
2578
|
return true;
|
|
2465
2579
|
}
|
|
2466
2580
|
|
|
2581
|
+
/**
|
|
2582
|
+
* Safely get a numeric tabindex for an element.
|
|
2583
|
+
* Returns a number if the tabindex is a valid integer, otherwise null.
|
|
2584
|
+
*
|
|
2585
|
+
* @param {HTMLElement} element The element whose tabindex to read.
|
|
2586
|
+
* @returns {?number} The numeric tabindex or null if missing/invalid.
|
|
2587
|
+
*/
|
|
2588
|
+
function getNumericTabIndex(element) {
|
|
2589
|
+
const raw = element.getAttribute("tabindex");
|
|
2590
|
+
if (raw == null) return null;
|
|
2591
|
+
|
|
2592
|
+
const value = Number.parseInt(raw, 10);
|
|
2593
|
+
return Number.isNaN(value) ? null : value;
|
|
2594
|
+
}
|
|
2595
|
+
|
|
2467
2596
|
/**
|
|
2468
2597
|
* Retrieves all focusable elements within the container in DOM order, including those in shadow DOM and slots.
|
|
2469
2598
|
* Returns a unique, ordered array of elements that can receive focus.
|
|
2599
|
+
* Also sorts elements with tabindex first, preserving their order.
|
|
2470
2600
|
*
|
|
2471
2601
|
* @param {HTMLElement} container The container to search within
|
|
2472
2602
|
* @returns {Array<HTMLElement>} An array of focusable elements within the container.
|
|
@@ -2500,14 +2630,14 @@ function getFocusableElements(container) {
|
|
|
2500
2630
|
if (root.shadowRoot) {
|
|
2501
2631
|
// Process shadow DOM children in order
|
|
2502
2632
|
if (root.shadowRoot.children) {
|
|
2503
|
-
Array.from(root.shadowRoot.children).forEach(child => {
|
|
2633
|
+
Array.from(root.shadowRoot.children).forEach((child) => {
|
|
2504
2634
|
collectFocusableElements(child);
|
|
2505
2635
|
});
|
|
2506
2636
|
}
|
|
2507
2637
|
}
|
|
2508
2638
|
|
|
2509
2639
|
// Process slots and their assigned nodes in order
|
|
2510
|
-
if (root.tagName ===
|
|
2640
|
+
if (root.tagName === "SLOT") {
|
|
2511
2641
|
const assignedNodes = root.assignedNodes({ flatten: true });
|
|
2512
2642
|
for (const node of assignedNodes) {
|
|
2513
2643
|
collectFocusableElements(node);
|
|
@@ -2515,7 +2645,7 @@ function getFocusableElements(container) {
|
|
|
2515
2645
|
} else {
|
|
2516
2646
|
// Process light DOM children in order
|
|
2517
2647
|
if (root.children) {
|
|
2518
|
-
Array.from(root.children).forEach(child => {
|
|
2648
|
+
Array.from(root.children).forEach((child) => {
|
|
2519
2649
|
collectFocusableElements(child);
|
|
2520
2650
|
});
|
|
2521
2651
|
}
|
|
@@ -2538,7 +2668,37 @@ function getFocusableElements(container) {
|
|
|
2538
2668
|
}
|
|
2539
2669
|
}
|
|
2540
2670
|
|
|
2541
|
-
|
|
2671
|
+
// Move tab-indexed elements to the front while preserving their order
|
|
2672
|
+
// This ensures that elements with tabindex are prioritized in the focus order
|
|
2673
|
+
|
|
2674
|
+
// First extract elements with valid positive tabindex
|
|
2675
|
+
const elementsWithTabindex = uniqueElements.filter((el) => {
|
|
2676
|
+
const tabindex = getNumericTabIndex(el);
|
|
2677
|
+
return tabindex !== null && tabindex > 0;
|
|
2678
|
+
});
|
|
2679
|
+
|
|
2680
|
+
// Sort these elements by their tabindex value
|
|
2681
|
+
elementsWithTabindex.sort((a, b) => {
|
|
2682
|
+
const aIndex = getNumericTabIndex(a) ?? 0;
|
|
2683
|
+
const bIndex = getNumericTabIndex(b) ?? 0;
|
|
2684
|
+
return aIndex - bIndex;
|
|
2685
|
+
});
|
|
2686
|
+
|
|
2687
|
+
// Elements without tabindex (preserving their original order)
|
|
2688
|
+
const elementsWithoutTabindex = uniqueElements.filter((el) => {
|
|
2689
|
+
const tabindex = getNumericTabIndex(el);
|
|
2690
|
+
|
|
2691
|
+
// Elements without tabindex or with tabindex of 0 stay in DOM order
|
|
2692
|
+
return tabindex === null || tabindex === 0;
|
|
2693
|
+
});
|
|
2694
|
+
|
|
2695
|
+
// Combine both arrays with tabindex elements first
|
|
2696
|
+
const tabIndexedUniqueElements = [
|
|
2697
|
+
...elementsWithTabindex,
|
|
2698
|
+
...elementsWithoutTabindex,
|
|
2699
|
+
];
|
|
2700
|
+
|
|
2701
|
+
return tabIndexedUniqueElements;
|
|
2542
2702
|
}
|
|
2543
2703
|
|
|
2544
2704
|
/**
|
|
@@ -2551,15 +2711,17 @@ class FocusTrap {
|
|
|
2551
2711
|
* Initializes event listeners and prepares the container for focus management.
|
|
2552
2712
|
*
|
|
2553
2713
|
* @param {HTMLElement} container The DOM element to trap focus within.
|
|
2714
|
+
* @param {boolean} [controlTabOrder=false] If true enables manual control of the tab order by the FocusTrap.
|
|
2554
2715
|
* @throws {Error} If the provided container is not a valid HTMLElement.
|
|
2555
2716
|
*/
|
|
2556
|
-
constructor(container) {
|
|
2717
|
+
constructor(container, controlTabOrder = false) {
|
|
2557
2718
|
if (!container || !(container instanceof HTMLElement)) {
|
|
2558
2719
|
throw new Error("FocusTrap requires a valid HTMLElement.");
|
|
2559
2720
|
}
|
|
2560
2721
|
|
|
2561
2722
|
this.container = container;
|
|
2562
|
-
this.tabDirection =
|
|
2723
|
+
this.tabDirection = "forward"; // or 'backward';
|
|
2724
|
+
this.controlTabOrder = controlTabOrder;
|
|
2563
2725
|
|
|
2564
2726
|
this._init();
|
|
2565
2727
|
}
|
|
@@ -2571,58 +2733,119 @@ class FocusTrap {
|
|
|
2571
2733
|
* @private
|
|
2572
2734
|
*/
|
|
2573
2735
|
_init() {
|
|
2574
|
-
|
|
2575
2736
|
// Add inert attribute to prevent focusing programmatically as well (if supported)
|
|
2576
|
-
if (
|
|
2737
|
+
if ("inert" in HTMLElement.prototype) {
|
|
2577
2738
|
this.container.inert = false; // Ensure the container isn't inert
|
|
2578
|
-
this.container.setAttribute(
|
|
2739
|
+
this.container.setAttribute("data-focus-trap-container", true); // Mark for identification
|
|
2579
2740
|
}
|
|
2580
2741
|
|
|
2581
2742
|
// Track tab direction
|
|
2582
|
-
this.container.addEventListener(
|
|
2743
|
+
this.container.addEventListener("keydown", this._onKeydown);
|
|
2583
2744
|
}
|
|
2584
2745
|
|
|
2585
2746
|
/**
|
|
2586
|
-
*
|
|
2587
|
-
*
|
|
2588
|
-
*
|
|
2589
|
-
* @param {KeyboardEvent} e The keyboard event triggered by user interaction.
|
|
2747
|
+
* Gets an array of currently active (focused) elements in the document and shadow DOM.
|
|
2748
|
+
* @returns {Array<HTMLElement>} An array of focusable elements within the container.
|
|
2590
2749
|
* @private
|
|
2591
2750
|
*/
|
|
2592
|
-
|
|
2593
|
-
|
|
2594
|
-
|
|
2595
|
-
|
|
2596
|
-
|
|
2597
|
-
|
|
2598
|
-
|
|
2599
|
-
|
|
2600
|
-
|
|
2601
|
-
|
|
2602
|
-
|
|
2603
|
-
|
|
2604
|
-
while (activeElement?.shadowRoot?.activeElement) {
|
|
2605
|
-
actives.push(activeElement.shadowRoot.activeElement);
|
|
2606
|
-
activeElement = activeElement.shadowRoot.activeElement;
|
|
2607
|
-
}
|
|
2751
|
+
_getActiveElements() {
|
|
2752
|
+
// Get the active element(s) in the document and shadow root
|
|
2753
|
+
// This will include the active element in the shadow DOM if it exists
|
|
2754
|
+
// Active element may be inside the shadow DOM depending on delegatesFocus, so we need to check both
|
|
2755
|
+
let { activeElement } = document;
|
|
2756
|
+
const actives = [activeElement];
|
|
2757
|
+
while (activeElement?.shadowRoot?.activeElement) {
|
|
2758
|
+
actives.push(activeElement.shadowRoot.activeElement);
|
|
2759
|
+
activeElement = activeElement.shadowRoot.activeElement;
|
|
2760
|
+
}
|
|
2761
|
+
return actives;
|
|
2762
|
+
}
|
|
2608
2763
|
|
|
2609
|
-
|
|
2610
|
-
|
|
2611
|
-
|
|
2612
|
-
|
|
2613
|
-
|
|
2614
|
-
|
|
2615
|
-
|
|
2616
|
-
|
|
2617
|
-
|
|
2618
|
-
|
|
2619
|
-
|
|
2620
|
-
|
|
2621
|
-
|
|
2622
|
-
|
|
2623
|
-
|
|
2624
|
-
|
|
2764
|
+
/**
|
|
2765
|
+
* Gets the next focus index based on the current index and focusable elements.
|
|
2766
|
+
* @param {number} currentIndex The current index of the focused element.
|
|
2767
|
+
* @param {Array<HTMLElement>} focusables The array of focusable elements.
|
|
2768
|
+
* @returns {number|null} The next focus index or null if not determined.
|
|
2769
|
+
*/
|
|
2770
|
+
_getNextFocusIndex(currentIndex, focusables, actives) {
|
|
2771
|
+
if (this.controlTabOrder) {
|
|
2772
|
+
// Calculate the new index based on the current index and tab direction
|
|
2773
|
+
let newFocusIndex =
|
|
2774
|
+
currentIndex + (this.tabDirection === "forward" ? 1 : -1);
|
|
2775
|
+
|
|
2776
|
+
// Wrap-around logic
|
|
2777
|
+
if (newFocusIndex < 0) newFocusIndex = focusables.length - 1;
|
|
2778
|
+
if (newFocusIndex >= focusables.length) newFocusIndex = 0;
|
|
2779
|
+
|
|
2780
|
+
// Early return with the new index
|
|
2781
|
+
return newFocusIndex;
|
|
2625
2782
|
}
|
|
2783
|
+
|
|
2784
|
+
// Determine if we need to wrap
|
|
2785
|
+
const atFirst =
|
|
2786
|
+
actives.includes(focusables[0]) || actives.includes(this.container);
|
|
2787
|
+
const atLast = actives.includes(focusables[focusables.length - 1]);
|
|
2788
|
+
|
|
2789
|
+
// Only wrap if at the ends
|
|
2790
|
+
if (this.tabDirection === "backward" && atFirst) {
|
|
2791
|
+
return focusables.length - 1;
|
|
2792
|
+
}
|
|
2793
|
+
|
|
2794
|
+
if (this.tabDirection === "forward" && atLast) {
|
|
2795
|
+
return 0;
|
|
2796
|
+
}
|
|
2797
|
+
|
|
2798
|
+
// No wrap, so don't change focus, return early
|
|
2799
|
+
return null;
|
|
2800
|
+
}
|
|
2801
|
+
|
|
2802
|
+
/**
|
|
2803
|
+
* Handles the Tab key press event to manage focus within the container.
|
|
2804
|
+
* @param {KeyboardEvent} e The keyboard event triggered by the user.
|
|
2805
|
+
* @returns {void}
|
|
2806
|
+
*/
|
|
2807
|
+
_handleTabKey(e) {
|
|
2808
|
+
// Update the focusable elements
|
|
2809
|
+
const focusables = this._getFocusableElements();
|
|
2810
|
+
|
|
2811
|
+
// If there are no focusable elements, exit
|
|
2812
|
+
if (!focusables.length) return;
|
|
2813
|
+
|
|
2814
|
+
// Set the tab direction based on the key pressed
|
|
2815
|
+
this.tabDirection = e.shiftKey ? "backward" : "forward";
|
|
2816
|
+
|
|
2817
|
+
// Get the active elements that are currently focused
|
|
2818
|
+
const actives = this._getActiveElements();
|
|
2819
|
+
|
|
2820
|
+
// If we're at either end of the focusable elements, wrap around to the other end
|
|
2821
|
+
let focusIndex = focusables.findIndex((el) => actives.includes(el));
|
|
2822
|
+
|
|
2823
|
+
// Fallback if we have no focused element
|
|
2824
|
+
if (focusIndex === -1) focusIndex = 0;
|
|
2825
|
+
|
|
2826
|
+
// Get the next focus index based on the current focus index, tab direction, and controlTabOrder setting
|
|
2827
|
+
// Is null if no new focus index is determined
|
|
2828
|
+
const newFocusIndex = this._getNextFocusIndex(
|
|
2829
|
+
focusIndex,
|
|
2830
|
+
focusables,
|
|
2831
|
+
actives,
|
|
2832
|
+
);
|
|
2833
|
+
|
|
2834
|
+
// If we have a new focus index, set focus to that element
|
|
2835
|
+
if (newFocusIndex !== null) {
|
|
2836
|
+
e.preventDefault();
|
|
2837
|
+
focusables[newFocusIndex].focus();
|
|
2838
|
+
}
|
|
2839
|
+
}
|
|
2840
|
+
|
|
2841
|
+
/**
|
|
2842
|
+
* Catches the keydown event
|
|
2843
|
+
* @param {KeyboardEvent} e The keyboard event triggered by user interaction.
|
|
2844
|
+
* @private
|
|
2845
|
+
*/
|
|
2846
|
+
_onKeydown = (e) => {
|
|
2847
|
+
// Handle tab
|
|
2848
|
+
if (e.key === "Tab") this._handleTabKey(e);
|
|
2626
2849
|
};
|
|
2627
2850
|
|
|
2628
2851
|
/**
|
|
@@ -2635,8 +2858,8 @@ class FocusTrap {
|
|
|
2635
2858
|
_getFocusableElements() {
|
|
2636
2859
|
// Use the imported utility function to get focusable elements
|
|
2637
2860
|
const elements = getFocusableElements(this.container);
|
|
2638
|
-
|
|
2639
|
-
//
|
|
2861
|
+
|
|
2862
|
+
// Return the elements found
|
|
2640
2863
|
return elements;
|
|
2641
2864
|
}
|
|
2642
2865
|
|
|
@@ -2663,12 +2886,11 @@ class FocusTrap {
|
|
|
2663
2886
|
* Call this method to clean up when the focus trap is no longer needed.
|
|
2664
2887
|
*/
|
|
2665
2888
|
disconnect() {
|
|
2666
|
-
|
|
2667
|
-
|
|
2668
|
-
this.container.removeAttribute('data-focus-trap-container');
|
|
2889
|
+
if (this.container.hasAttribute("data-focus-trap-container")) {
|
|
2890
|
+
this.container.removeAttribute("data-focus-trap-container");
|
|
2669
2891
|
}
|
|
2670
2892
|
|
|
2671
|
-
this.container.removeEventListener(
|
|
2893
|
+
this.container.removeEventListener("keydown", this._onKeydown);
|
|
2672
2894
|
}
|
|
2673
2895
|
}
|
|
2674
2896
|
|
|
@@ -2716,21 +2938,21 @@ class AuroDependencyVersioning {
|
|
|
2716
2938
|
* @license
|
|
2717
2939
|
* Copyright 2018 Google LLC
|
|
2718
2940
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
2719
|
-
*/const o=o=>o??
|
|
2941
|
+
*/const o=o=>o??A;
|
|
2720
2942
|
|
|
2721
|
-
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}
|
|
2722
|
-
`;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}
|
|
2943
|
+
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}
|
|
2944
|
+
`;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}
|
|
2723
2945
|
`;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)}
|
|
2724
|
-
`;var
|
|
2725
|
-
`;class
|
|
2946
|
+
`;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)}
|
|
2947
|
+
`;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`
|
|
2726
2948
|
<div class="componentWrapper">
|
|
2727
2949
|
<div
|
|
2728
2950
|
class="${e$3({svgWrapper:true})}"
|
|
2729
2951
|
title="${o(this.title||void 0)}">
|
|
2730
2952
|
<span aria-hidden="${o(this.ariaHidden||true)}" part="svg">
|
|
2731
|
-
${this.customSvg?
|
|
2953
|
+
${this.customSvg?b$1`
|
|
2732
2954
|
<slot name="svg"></slot>
|
|
2733
|
-
`:
|
|
2955
|
+
`:b$1`
|
|
2734
2956
|
${this.svg}
|
|
2735
2957
|
`}
|
|
2736
2958
|
</span>
|
|
@@ -2742,7 +2964,7 @@ class p{registerComponent(t,a){customElements.get(t)||customElements.define(t,cl
|
|
|
2742
2964
|
</div>
|
|
2743
2965
|
`}}
|
|
2744
2966
|
|
|
2745
|
-
var iconVersion = '9.1.
|
|
2967
|
+
var iconVersion = '9.1.2';
|
|
2746
2968
|
|
|
2747
2969
|
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}`;
|
|
2748
2970
|
|
|
@@ -3175,7 +3397,7 @@ class AuroHelpText extends i {
|
|
|
3175
3397
|
|
|
3176
3398
|
// function that renders the HTML and CSS into the scope of the component
|
|
3177
3399
|
render() {
|
|
3178
|
-
return
|
|
3400
|
+
return b$1`
|
|
3179
3401
|
<div class="helptext-wrapper body-xs" ?visible="${this.hasTextContent}">
|
|
3180
3402
|
<slot @slotchange=${this.handleSlotChange}></slot>
|
|
3181
3403
|
</div>
|
|
@@ -3183,7 +3405,7 @@ class AuroHelpText extends i {
|
|
|
3183
3405
|
}
|
|
3184
3406
|
}
|
|
3185
3407
|
|
|
3186
|
-
var formkitVersion = '
|
|
3408
|
+
var formkitVersion = '202602132006';
|
|
3187
3409
|
|
|
3188
3410
|
class AuroElement extends i {
|
|
3189
3411
|
static get properties() {
|
|
@@ -3411,7 +3633,7 @@ class AuroDropdown extends AuroElement {
|
|
|
3411
3633
|
/**
|
|
3412
3634
|
* @private
|
|
3413
3635
|
*/
|
|
3414
|
-
this.iconTag = versioning.generateTag('auro-formkit-dropdown-icon', iconVersion,
|
|
3636
|
+
this.iconTag = versioning.generateTag('auro-formkit-dropdown-icon', iconVersion, _);
|
|
3415
3637
|
|
|
3416
3638
|
/**
|
|
3417
3639
|
* @private
|
|
@@ -3478,7 +3700,7 @@ class AuroDropdown extends AuroElement {
|
|
|
3478
3700
|
* The value for the role attribute of the trigger element.
|
|
3479
3701
|
*/
|
|
3480
3702
|
a11yRole: {
|
|
3481
|
-
type: String
|
|
3703
|
+
type: String,
|
|
3482
3704
|
attribute: false,
|
|
3483
3705
|
reflect: false
|
|
3484
3706
|
},
|
|
@@ -4239,20 +4461,17 @@ AuroDropdown.register();
|
|
|
4239
4461
|
|
|
4240
4462
|
/* eslint-disable jsdoc/require-jsdoc, no-magic-numbers */
|
|
4241
4463
|
|
|
4242
|
-
function initExamples(
|
|
4243
|
-
|
|
4244
|
-
|
|
4245
|
-
|
|
4246
|
-
|
|
4247
|
-
|
|
4248
|
-
|
|
4249
|
-
|
|
4250
|
-
|
|
4251
|
-
|
|
4252
|
-
|
|
4253
|
-
}, 100);
|
|
4254
|
-
}
|
|
4255
|
-
}
|
|
4464
|
+
function initExamples() {
|
|
4465
|
+
// javascript example function calls to be added here upon creation to test examples
|
|
4466
|
+
errorExample();
|
|
4467
|
+
inverseErrorExample();
|
|
4468
|
+
fullscreenBreakpointExample();
|
|
4469
|
+
classicExample();
|
|
4470
|
+
classicInverseExample();
|
|
4471
|
+
matchWidthExample();
|
|
4472
|
+
hideExample();
|
|
4473
|
+
showExample();
|
|
4474
|
+
inDialogExample();
|
|
4256
4475
|
}
|
|
4257
4476
|
|
|
4258
4477
|
export { initExamples };
|