@aurodesignsystem-dev/auro-formkit 0.0.0-pr624.7 → 0.0.0-pr624.70
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 +12 -2
- package/components/bibtemplate/dist/buttonVersion.d.ts +2 -0
- package/components/bibtemplate/dist/iconVersion.d.ts +1 -1
- package/components/bibtemplate/dist/index.js +1262 -81
- package/components/bibtemplate/dist/registered.js +1262 -81
- package/components/checkbox/README.md +1 -1
- package/components/checkbox/demo/api.html +16 -10
- package/components/checkbox/demo/api.md +47 -14
- package/components/checkbox/demo/api.min.js +65 -42
- package/components/checkbox/demo/index.html +16 -10
- package/components/checkbox/demo/index.md +2 -2
- package/components/checkbox/demo/index.min.js +65 -42
- package/components/checkbox/demo/readme.html +16 -9
- package/components/checkbox/demo/readme.md +1 -1
- package/components/checkbox/dist/auro-checkbox-group.d.ts +1 -1
- package/components/checkbox/dist/auro-checkbox.d.ts +3 -3
- package/components/checkbox/dist/index.js +65 -42
- package/components/checkbox/dist/registered.js +65 -42
- package/components/combobox/demo/api.html +16 -10
- package/components/combobox/demo/api.md +113 -8
- package/components/combobox/demo/api.min.js +3096 -870
- package/components/combobox/demo/index.html +16 -10
- package/components/combobox/demo/index.md +6 -30
- package/components/combobox/demo/index.min.js +3096 -870
- package/components/combobox/demo/readme.html +16 -9
- package/components/combobox/dist/auro-combobox.d.ts +42 -8
- package/components/combobox/dist/index.js +2878 -748
- package/components/combobox/dist/registered.js +2878 -748
- package/components/counter/demo/api.html +17 -10
- package/components/counter/demo/api.md +156 -21
- package/components/counter/demo/api.min.js +3363 -652
- package/components/counter/demo/index.html +17 -10
- package/components/counter/demo/index.md +185 -34
- package/components/counter/demo/index.min.js +3363 -652
- package/components/counter/demo/readme.html +16 -9
- package/components/counter/dist/auro-counter-button.d.ts +2 -0
- package/components/counter/dist/auro-counter-group.d.ts +151 -11
- package/components/counter/dist/auro-counter.d.ts +16 -0
- package/components/counter/dist/helptextVersion.d.ts +2 -0
- package/components/counter/dist/iconVersion.d.ts +1 -1
- package/components/counter/dist/index.js +3364 -653
- package/components/counter/dist/registered.js +3364 -653
- package/components/datepicker/demo/api.html +16 -10
- package/components/datepicker/demo/api.md +25 -16
- package/components/datepicker/demo/api.min.js +11857 -8105
- package/components/datepicker/demo/index.html +16 -10
- package/components/datepicker/demo/index.md +71 -4
- package/components/datepicker/demo/index.min.js +11857 -8105
- package/components/datepicker/demo/readme.html +16 -9
- package/components/datepicker/dist/auro-datepicker.d.ts +89 -11
- package/components/datepicker/dist/buttonVersion.d.ts +1 -1
- package/components/datepicker/dist/iconVersion.d.ts +2 -0
- package/components/datepicker/dist/index.js +8691 -4939
- package/components/datepicker/dist/popoverVersion.d.ts +1 -1
- package/components/datepicker/dist/registered.js +8691 -4939
- package/components/dropdown/demo/api.html +16 -10
- package/components/dropdown/demo/api.md +81 -274
- package/components/dropdown/demo/api.min.js +429 -195
- package/components/dropdown/demo/index.html +16 -10
- package/components/dropdown/demo/index.md +92 -362
- package/components/dropdown/demo/index.min.js +429 -195
- package/components/dropdown/demo/readme.html +16 -9
- package/components/dropdown/dist/auro-dropdown.d.ts +41 -76
- package/components/dropdown/dist/auro-dropdownBib.d.ts +14 -0
- package/components/dropdown/dist/index.js +429 -195
- package/components/dropdown/dist/registered.js +429 -195
- package/components/form/demo/api.html +16 -9
- package/components/form/demo/api.min.js +1 -1
- package/components/form/demo/autocomplete.html +19 -3
- package/components/form/demo/index.html +16 -9
- package/components/form/demo/index.min.js +1 -1
- package/components/form/demo/readme.html +16 -9
- package/components/form/demo/working.html +19 -13
- package/components/form/dist/index.js +1 -1
- package/components/form/dist/registered.js +1 -1
- package/components/helptext/dist/index.js +2 -2
- package/components/helptext/dist/registered.js +2 -2
- package/components/input/README.md +5 -2
- package/components/input/demo/api.html +16 -10
- package/components/input/demo/api.md +228 -130
- package/components/input/demo/api.min.js +908 -246
- package/components/input/demo/index.html +16 -10
- package/components/input/demo/index.md +48 -32
- package/components/input/demo/index.min.js +908 -246
- package/components/input/demo/readme.html +16 -9
- package/components/input/demo/readme.md +5 -2
- package/components/input/dist/auro-input.d.ts +3 -3
- package/components/input/dist/base-input.d.ts +38 -10
- package/components/input/dist/buttonVersion.d.ts +1 -1
- package/components/input/dist/iconVersion.d.ts +1 -1
- package/components/input/dist/index.js +908 -246
- package/components/input/dist/registered.js +908 -246
- package/components/layoutElement/dist/index.js +13 -10
- package/components/menu/demo/api.html +32 -10
- package/components/menu/demo/api.md +69 -8
- package/components/menu/demo/api.min.js +238 -47
- package/components/menu/demo/index.html +16 -10
- package/components/menu/demo/index.min.js +238 -47
- package/components/menu/demo/readme.html +16 -9
- package/components/menu/dist/auro-menu.d.ts +41 -7
- package/components/menu/dist/auro-menuoption.d.ts +15 -3
- package/components/menu/dist/iconVersion.d.ts +1 -1
- package/components/menu/dist/index.js +238 -47
- package/components/menu/dist/registered.js +238 -47
- package/components/menu/dist/styles/default/style-menuoption-css.d.ts +2 -0
- package/components/menu/dist/styles/default/tokens-css.d.ts +2 -0
- package/components/radio/demo/api.html +16 -10
- package/components/radio/demo/api.md +7 -8
- package/components/radio/demo/api.min.js +88 -90
- package/components/radio/demo/index.html +16 -10
- package/components/radio/demo/index.min.js +88 -90
- package/components/radio/demo/readme.html +16 -9
- package/components/radio/dist/auro-radio-group.d.ts +1 -1
- package/components/radio/dist/auro-radio.d.ts +9 -12
- package/components/radio/dist/index.js +88 -90
- package/components/radio/dist/registered.js +88 -90
- package/components/select/demo/api.html +16 -10
- package/components/select/demo/api.js +0 -2
- package/components/select/demo/api.md +104 -57
- package/components/select/demo/api.min.js +2148 -635
- package/components/select/demo/index.html +17 -11
- package/components/select/demo/index.md +45 -158
- package/components/select/demo/index.min.js +2148 -623
- package/components/select/demo/readme.html +16 -9
- package/components/select/dist/auro-select.d.ts +49 -16
- package/components/select/dist/index.js +2078 -649
- package/components/select/dist/registered.js +2078 -649
- package/package.json +30 -27
- /package/components/{datepicker/dist/styles/emphasized/style-css.d.ts → counter/dist/styles/shapeSize-css.d.ts} +0 -0
- /package/components/{dropdown/dist/styles/default → datepicker/dist/styles/snowflake}/color-css.d.ts +0 -0
- /package/components/{dropdown/dist/styles/default → datepicker/dist/styles/snowflake}/style-css.d.ts +0 -0
- /package/components/dropdown/dist/styles/{default → classic}/bibColors-css.d.ts +0 -0
- /package/components/dropdown/dist/styles/{default → classic}/bibStyles-css.d.ts +0 -0
- /package/components/{menu/dist/styles/color-menu-css.d.ts → dropdown/dist/styles/classic/color-css.d.ts} +0 -0
- /package/components/{menu/dist/styles/color-menuoption-css.d.ts → dropdown/dist/styles/classic/style-css.d.ts} +0 -0
- /package/components/menu/dist/styles/{style-menu-css.d.ts → default/color-menu-css.d.ts} +0 -0
- /package/components/menu/dist/styles/{style-menuoption-css.d.ts → default/color-menuoption-css.d.ts} +0 -0
- /package/components/menu/dist/styles/{tokens-css.d.ts → default/style-menu-css.d.ts} +0 -0
|
@@ -44,7 +44,7 @@ const t={ATTRIBUTE:1},e$1=t=>(...e)=>({_$litDirective$:t,values:e});let i$1 = cl
|
|
|
44
44
|
*/
|
|
45
45
|
const a=Symbol.for(""),o$1=t=>{if(t?.r===a)return t?._$litStatic$},s=t=>({_$litStatic$:t,r:a}),i=(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}),l=new Map,n=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$1(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.get(t))&&(n.raw=n,l.set(t,r=n)),e=u;}return t(r,...e)},u=n(x);
|
|
46
46
|
|
|
47
|
-
let AuroElement$
|
|
47
|
+
let AuroElement$4 = class AuroElement extends i$2 {
|
|
48
48
|
static get properties() {
|
|
49
49
|
return {
|
|
50
50
|
|
|
@@ -79,18 +79,21 @@ let AuroElement$3 = class AuroElement extends i$2 {
|
|
|
79
79
|
}
|
|
80
80
|
|
|
81
81
|
resetShapeClasses() {
|
|
82
|
-
|
|
83
|
-
const wrapper = this.shadowRoot.querySelector('.wrapper');
|
|
82
|
+
const wrapper = this.shadowRoot.querySelector('.wrapper');
|
|
84
83
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
84
|
+
if (wrapper) {
|
|
85
|
+
wrapper.classList.forEach((className) => {
|
|
86
|
+
if (className.startsWith('shape-')) {
|
|
87
|
+
wrapper.classList.remove(className);
|
|
88
|
+
}
|
|
89
|
+
});
|
|
91
90
|
|
|
92
|
-
|
|
93
|
-
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
if (this.shape && this.size) {
|
|
94
|
+
wrapper.classList.add(`shape-${this.shape.toLowerCase()}-${this.size.toLowerCase()}`);
|
|
95
|
+
} else {
|
|
96
|
+
wrapper.classList.add('shape-none');
|
|
94
97
|
}
|
|
95
98
|
}
|
|
96
99
|
|
|
@@ -136,9 +139,9 @@ let AuroElement$3 = class AuroElement extends i$2 {
|
|
|
136
139
|
}
|
|
137
140
|
};
|
|
138
141
|
|
|
139
|
-
var shapeSizeCss$1 = i$5`.wrapper{overflow:hidden}.shape-classic-xl,.shape-classic-lg,.shape-classic-md,.shape-classic-sm,.shape-classic-xs{min-height:58px;max-height:58px;border-style:solid;border-width:1px;border-radius:var(--ds-border-radius, 0.375rem)}.shape-classic-xl.simple,.shape-classic-lg.simple,.shape-classic-md.simple,.shape-classic-sm.simple,.shape-classic-xs.simple{border-width:0px;min-height:60px;max-height:60px;background-color:unset}.shape-classic-xl.thin,.shape-classic-lg.thin,.shape-classic-md.thin,.shape-classic-sm.thin,.shape-classic-xs.thin{border-width:1px;min-height:58px;max-height:58px;background-color:unset}.shape-classic-xl.parentBorder,.shape-classic-lg.parentBorder,.shape-classic-md.parentBorder,.shape-classic-sm.parentBorder,.shape-classic-xs.parentBorder{border:0;min-height:56px;max-height:56px}.shape-snowflake-xl,.shape-snowflake-lg,.shape-snowflake-md,.shape-snowflake-sm,.shape-snowflake-xs{min-height:56px;max-height:56px;border-style:solid;border-width:2px;border-color:transparent;border-radius:30px}.shape-snowflake-xl.simple,.shape-snowflake-lg.simple,.shape-snowflake-md.simple,.shape-snowflake-sm.simple,.shape-snowflake-xs.simple{border-width:0px;min-height:60px;max-height:60px;background-color:unset}.shape-snowflake-xl.thin,.shape-snowflake-lg.thin,.shape-snowflake-md.thin,.shape-snowflake-sm.thin,.shape-snowflake-xs.thin{border-width:1px;min-height:58px;max-height:58px;background-color:unset}.shape-snowflake-xl.parentBorder,.shape-snowflake-lg.parentBorder,.shape-snowflake-md.parentBorder,.shape-snowflake-sm.parentBorder,.shape-snowflake-xs.parentBorder{border:0;min-height:56px;max-height:56px}.shape-box-xl{min-height:68px;max-height:68px;border-style:solid;border-width:2px;border-color:transparent}.shape-box-xl.simple{border-width:0px;min-height:72px;max-height:72px;background-color:unset}.shape-box-xl.thin{border-width:1px;min-height:70px;max-height:70px;background-color:unset}.shape-box-xl.parentBorder{border:0;min-height:68px;max-height:68px}.shape-rounded-lg{min-height:56px;max-height:56px;border-style:solid;border-width:2px;border-color:transparent;border-radius:6px}.shape-rounded-lg.simple{border-width:0px;min-height:56px;max-height:56px;background-color:unset}.shape-rounded-lg.thin{border-width:1px;min-height:54px;max-height:54px;background-color:unset}.shape-rounded-lg.parentBorder{border:0;min-height:52px;max-height:52px}.shape-pill-xl{min-height:68px;max-height:68px;border-style:solid;border-width:2px;border-color:transparent;border-radius:36px}.shape-pill-xl.simple{border-width:0px;min-height:72px;max-height:72px;background-color:unset}.shape-pill-xl.thin{border-width:1px;min-height:70px;max-height:70px;background-color:unset}.shape-pill-xl.parentBorder{border:0;min-height:68px;max-height:68px}.shape-pill-left-xl{min-height:
|
|
142
|
+
var shapeSizeCss$1 = i$5`.wrapper{overflow:hidden}.shape-classic-xl,.shape-classic-lg,.shape-classic-md,.shape-classic-sm,.shape-classic-xs{min-height:58px;max-height:58px;border-style:solid;border-width:1px;border-radius:var(--ds-border-radius, 0.375rem)}.shape-classic-xl.simple,.shape-classic-lg.simple,.shape-classic-md.simple,.shape-classic-sm.simple,.shape-classic-xs.simple{border-width:0px;min-height:60px;max-height:60px;background-color:unset;box-shadow:none}.shape-classic-xl.thin,.shape-classic-lg.thin,.shape-classic-md.thin,.shape-classic-sm.thin,.shape-classic-xs.thin{border-width:1px;min-height:58px;max-height:58px;background-color:unset}.shape-classic-xl.parentBorder,.shape-classic-lg.parentBorder,.shape-classic-md.parentBorder,.shape-classic-sm.parentBorder,.shape-classic-xs.parentBorder{border:0;box-shadow:unset;min-height:56px;max-height:56px}.shape-snowflake-xl,.shape-snowflake-lg,.shape-snowflake-md,.shape-snowflake-sm,.shape-snowflake-xs{min-height:56px;max-height:56px;border-style:solid;border-width:2px;border-color:transparent;border-radius:30px}.shape-snowflake-xl.simple,.shape-snowflake-lg.simple,.shape-snowflake-md.simple,.shape-snowflake-sm.simple,.shape-snowflake-xs.simple{border-width:0px;min-height:60px;max-height:60px;background-color:unset;box-shadow:none}.shape-snowflake-xl.thin,.shape-snowflake-lg.thin,.shape-snowflake-md.thin,.shape-snowflake-sm.thin,.shape-snowflake-xs.thin{border-width:1px;min-height:58px;max-height:58px;background-color:unset}.shape-snowflake-xl.parentBorder,.shape-snowflake-lg.parentBorder,.shape-snowflake-md.parentBorder,.shape-snowflake-sm.parentBorder,.shape-snowflake-xs.parentBorder{border:0;box-shadow:unset;min-height:56px;max-height:56px}.shape-box-xl{min-height:68px;max-height:68px;border-style:solid;border-width:2px;border-color:transparent}.shape-box-xl.simple{border-width:0px;min-height:72px;max-height:72px;background-color:unset;box-shadow:none}.shape-box-xl.thin{border-width:1px;min-height:70px;max-height:70px;background-color:unset}.shape-box-xl.parentBorder{border:0;box-shadow:unset;min-height:68px;max-height:68px}.shape-rounded-lg{min-height:56px;max-height:56px;border-style:solid;border-width:2px;border-color:transparent;border-radius:6px}.shape-rounded-lg.simple{border-width:0px;min-height:56px;max-height:56px;background-color:unset;box-shadow:none}.shape-rounded-lg.thin{border-width:1px;min-height:54px;max-height:54px;background-color:unset}.shape-rounded-lg.parentBorder{border:0;box-shadow:unset;min-height:52px;max-height:52px}.shape-pill-xl{min-height:68px;max-height:68px;border-style:solid;border-width:2px;border-color:transparent;border-radius:36px}.shape-pill-xl.simple{border-width:0px;min-height:72px;max-height:72px;background-color:unset;box-shadow:none}.shape-pill-xl.thin{border-width:1px;min-height:70px;max-height:70px;background-color:unset}.shape-pill-xl.parentBorder{border:0;box-shadow:unset;min-height:68px;max-height:68px}.shape-pill-left-xl{min-height:68px;max-height:68px;border-style:solid;border-width:2px;border-color:transparent;border-radius:36px 0 0 36px}.shape-pill-left-xl.simple{border-width:0px;min-height:72px;max-height:72px;background-color:unset;box-shadow:none}.shape-pill-left-xl.thin{border-width:1px;min-height:70px;max-height:70px;background-color:unset}.shape-pill-left-xl.parentBorder{border:0;box-shadow:unset;min-height:68px;max-height:68px}.shape-pill-right-xl{min-height:68px;max-height:68px;border-style:solid;border-width:2px;border-color:transparent;border-radius:0 36px 36px 0}.shape-pill-right-xl.simple{border-width:0px;min-height:72px;max-height:72px;background-color:unset;box-shadow:none}.shape-pill-right-xl.thin{border-width:1px;min-height:70px;max-height:70px;background-color:unset}.shape-pill-right-xl.parentBorder{border:0;box-shadow:unset;min-height:68px;max-height:68px}.shape-pill-md{min-height:44px;max-height:44px;border-style:solid;border-width:2px;border-color:transparent;border-radius:36px}.shape-pill-md.simple{border-width:0px;min-height:48px;max-height:48px;background-color:unset;box-shadow:none}.shape-pill-md.thin{border-width:1px;min-height:46px;max-height:46px;background-color:unset}.shape-pill-md.parentBorder{border:0;box-shadow:unset;min-height:44px;max-height:44px}.shape-pill-left-md{min-height:44px;max-height:44px;border-style:solid;border-width:2px;border-color:transparent;border-radius:36px 0 0 36px}.shape-pill-left-md.simple{border-width:0px;min-height:48px;max-height:48px;background-color:unset;box-shadow:none}.shape-pill-left-md.thin{border-width:1px;min-height:46px;max-height:46px;background-color:unset}.shape-pill-left-md.parentBorder{border:0;box-shadow:unset;min-height:44px;max-height:44px}.shape-pill-right-md{min-height:44px;max-height:44px;border-style:solid;border-width:2px;border-color:transparent;border-radius:0 36px 36px 0}.shape-pill-right-md.simple{border-width:0px;min-height:48px;max-height:48px;background-color:unset;box-shadow:none}.shape-pill-right-md.thin{border-width:1px;min-height:46px;max-height:46px;background-color:unset}.shape-pill-right-md.parentBorder{border:0;box-shadow:unset;min-height:44px;max-height:44px}`;
|
|
140
143
|
|
|
141
|
-
var tokensCss$5 = i$5`:host(:not([ondark])){--ds-auro-select-border-color: var(--ds-basic-color-border-bold, #585e67);--ds-auro-select-background-color: var(--ds-basic-color-surface-default, #ffffff);--ds-auro-select-label-text-color: var(--ds-basic-color-texticon-muted, #676767);--ds-auro-select-placeholder-text-color: var(--ds-basic-color-texticon-default, #2a2a2a);--ds-auro-select-text-color: var(--ds-basic-color-texticon-default, #2a2a2a);--ds-auro-select-error-icon-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-select-outline-color: transparent}:host([ondark]){--ds-auro-select-border-color: var(--ds-basic-color-border-inverse, #ffffff);--ds-auro-select-background-color: var(--ds-advanced-color-shared-background-inverse, rgba(255, 255, 255, 0.15));--ds-auro-select-label-text-color: var(--ds-basic-color-texticon-inverse, #ffffff);--ds-auro-select-placeholder-text-color: var(--ds-basic-color-texticon-inverse, #ffffff);--ds-auro-select-text-color: var(--ds-basic-color-texticon-inverse, #ffffff);--ds-auro-select-error-icon-color: var(--ds-
|
|
144
|
+
var tokensCss$5 = i$5`:host(:not([ondark])){--ds-auro-select-border-color: var(--ds-basic-color-border-bold, #585e67);--ds-auro-select-background-color: var(--ds-basic-color-surface-default, #ffffff);--ds-auro-select-label-text-color: var(--ds-basic-color-texticon-muted, #676767);--ds-auro-select-placeholder-text-color: var(--ds-basic-color-texticon-default, #2a2a2a);--ds-auro-select-text-color: var(--ds-basic-color-texticon-default, #2a2a2a);--ds-auro-select-error-icon-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-select-outline-color: transparent}:host([ondark]){--ds-auro-select-border-color: var(--ds-basic-color-border-inverse, #ffffff);--ds-auro-select-background-color: var(--ds-advanced-color-shared-background-inverse, rgba(255, 255, 255, 0.15));--ds-auro-select-label-text-color: var(--ds-basic-color-texticon-inverse, #ffffff);--ds-auro-select-placeholder-text-color: var(--ds-basic-color-texticon-inverse, #ffffff);--ds-auro-select-text-color: var(--ds-basic-color-texticon-inverse, #ffffff);--ds-auro-select-error-icon-color: var(--ds-basic-color-status-error-subtle, #fbc6c6);--ds-auro-select-outline-color: transparent}`;
|
|
142
145
|
|
|
143
146
|
class DateFormatter {
|
|
144
147
|
|
|
@@ -556,7 +559,7 @@ const {
|
|
|
556
559
|
|
|
557
560
|
/* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
|
|
558
561
|
|
|
559
|
-
let AuroLibraryRuntimeUtils$
|
|
562
|
+
let AuroLibraryRuntimeUtils$6 = class AuroLibraryRuntimeUtils {
|
|
560
563
|
|
|
561
564
|
/* eslint-disable jsdoc/require-param */
|
|
562
565
|
|
|
@@ -626,7 +629,7 @@ let AuroLibraryRuntimeUtils$4 = class AuroLibraryRuntimeUtils {
|
|
|
626
629
|
class AuroFormValidation {
|
|
627
630
|
|
|
628
631
|
constructor() {
|
|
629
|
-
this.runtimeUtils = new AuroLibraryRuntimeUtils$
|
|
632
|
+
this.runtimeUtils = new AuroLibraryRuntimeUtils$6();
|
|
630
633
|
}
|
|
631
634
|
|
|
632
635
|
/**
|
|
@@ -686,19 +689,19 @@ class AuroFormValidation {
|
|
|
686
689
|
{
|
|
687
690
|
check: (e) => e.value?.length > 0 && e.value?.length < e.minLength,
|
|
688
691
|
validity: 'tooShort',
|
|
689
|
-
message: e => e.setCustomValidityTooShort || e.setCustomValidity || ''
|
|
692
|
+
message: e => e.getAttribute('setCustomValidityTooShort') || e.setCustomValidity || ''
|
|
690
693
|
},
|
|
691
694
|
{
|
|
692
695
|
check: (e) => e.value?.length > e.maxLength,
|
|
693
696
|
validity: 'tooLong',
|
|
694
|
-
message: e => e.setCustomValidityTooLong || e.setCustomValidity || ''
|
|
697
|
+
message: e => e.getAttribute('setCustomValidityTooLong') || e.setCustomValidity || ''
|
|
695
698
|
}
|
|
696
699
|
],
|
|
697
700
|
pattern: [
|
|
698
701
|
{
|
|
699
702
|
check: (e) => e.pattern && !new RegExp(`^${e.pattern}$`, 'u').test(e.value),
|
|
700
703
|
validity: 'patternMismatch',
|
|
701
|
-
message: e => e.setCustomValidityPatternMismatch || e.setCustomValidity || ''
|
|
704
|
+
message: e => e.getAttribute('setCustomValidityPatternMismatch') || e.setCustomValidity || ''
|
|
702
705
|
}
|
|
703
706
|
]
|
|
704
707
|
},
|
|
@@ -845,13 +848,24 @@ class AuroFormValidation {
|
|
|
845
848
|
this.getInputElements(elem);
|
|
846
849
|
this.getAuroInputs(elem);
|
|
847
850
|
|
|
848
|
-
//
|
|
851
|
+
// Check if validation should run
|
|
849
852
|
let validationShouldRun =
|
|
853
|
+
|
|
854
|
+
// If the validation was forced
|
|
850
855
|
force ||
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
856
|
+
|
|
857
|
+
// If the validation should run on input
|
|
858
|
+
elem.validateOnInput ||
|
|
859
|
+
|
|
860
|
+
// State-based checks
|
|
861
|
+
(
|
|
862
|
+
// Element is not currently focused
|
|
863
|
+
!elem.contains(document.activeElement) && // native input is not focused directly
|
|
864
|
+
!document.activeElement.shadowRoot?.contains(elem) && // native input is not focused in the shadow DOM of another component
|
|
865
|
+
|
|
866
|
+
// And element has been touched or is untouched but has a value
|
|
867
|
+
( elem.touched || (!elem.touched && typeof elem.value !== "undefined") )
|
|
868
|
+
);
|
|
855
869
|
|
|
856
870
|
if (elem.hasAttribute('error')) {
|
|
857
871
|
elem.validity = 'customError';
|
|
@@ -893,10 +907,10 @@ class AuroFormValidation {
|
|
|
893
907
|
if (!hasValue && elem.required && elem.touched) {
|
|
894
908
|
elem.validity = 'valueMissing';
|
|
895
909
|
elem.errorMessage = elem.setCustomValidityValueMissing || elem.setCustomValidity || '';
|
|
896
|
-
} else if (this.runtimeUtils.elementMatch(elem, 'auro-input')) {
|
|
910
|
+
} else if (hasValue && this.runtimeUtils.elementMatch(elem, 'auro-input')) {
|
|
897
911
|
this.validateType(elem);
|
|
898
912
|
this.validateElementAttributes(elem);
|
|
899
|
-
} else if (this.runtimeUtils.elementMatch(elem, 'auro-counter') || this.runtimeUtils.elementMatch(elem, 'auro-counter-group')) {
|
|
913
|
+
} else if (hasValue && (this.runtimeUtils.elementMatch(elem, 'auro-counter') || this.runtimeUtils.elementMatch(elem, 'auro-counter-group'))) {
|
|
900
914
|
this.validateElementAttributes(elem);
|
|
901
915
|
}
|
|
902
916
|
}
|
|
@@ -905,7 +919,9 @@ class AuroFormValidation {
|
|
|
905
919
|
elem.validity = this.auroInputElements[0].validity;
|
|
906
920
|
elem.errorMessage = this.auroInputElements[0].errorMessage;
|
|
907
921
|
|
|
908
|
-
|
|
922
|
+
// combobox has 2 inputs but no need to check validity on the 2nd one which is in fullscreen bib.
|
|
923
|
+
// combobox's 2nd input will have noValidate set true.
|
|
924
|
+
if (elem.validity === 'valid' && this.auroInputElements.length > 1 && !this.auroInputElements[1].noValidate) {
|
|
909
925
|
elem.validity = this.auroInputElements[1].validity;
|
|
910
926
|
elem.errorMessage = this.auroInputElements[1].errorMessage;
|
|
911
927
|
}
|
|
@@ -2717,7 +2733,7 @@ class AuroFloatingUI {
|
|
|
2717
2733
|
*/
|
|
2718
2734
|
mirrorSize() {
|
|
2719
2735
|
// mirror the boxsize from bibSizer
|
|
2720
|
-
if (this.element.bibSizer) {
|
|
2736
|
+
if (this.element.bibSizer && this.element.matchWidth) {
|
|
2721
2737
|
const sizerStyle = window.getComputedStyle(this.element.bibSizer);
|
|
2722
2738
|
const bibContent = this.element.bib.shadowRoot.querySelector(".container");
|
|
2723
2739
|
if (sizerStyle.width !== '0px') {
|
|
@@ -2929,13 +2945,13 @@ class AuroFloatingUI {
|
|
|
2929
2945
|
if (this.element.contains(activeElement) || this.element.bib?.contains(activeElement)) {
|
|
2930
2946
|
return;
|
|
2931
2947
|
}
|
|
2932
|
-
|
|
2948
|
+
|
|
2933
2949
|
// if fullscreen bib is in fullscreen mode, do not close
|
|
2934
2950
|
if (this.element.bib.hasAttribute('isfullscreen')) {
|
|
2935
2951
|
return;
|
|
2936
2952
|
}
|
|
2937
2953
|
|
|
2938
|
-
this.hideBib();
|
|
2954
|
+
this.hideBib("keydown");
|
|
2939
2955
|
}
|
|
2940
2956
|
|
|
2941
2957
|
setupHideHandlers() {
|
|
@@ -2960,7 +2976,7 @@ class AuroFloatingUI {
|
|
|
2960
2976
|
document.expandedAuroFormkitDropdown = null;
|
|
2961
2977
|
document.expandedAuroFloater = this;
|
|
2962
2978
|
} else {
|
|
2963
|
-
this.hideBib();
|
|
2979
|
+
this.hideBib("click");
|
|
2964
2980
|
}
|
|
2965
2981
|
}
|
|
2966
2982
|
};
|
|
@@ -2973,7 +2989,7 @@ class AuroFloatingUI {
|
|
|
2973
2989
|
// if something else is open, let it handle itself
|
|
2974
2990
|
return;
|
|
2975
2991
|
}
|
|
2976
|
-
this.hideBib();
|
|
2992
|
+
this.hideBib("keydown");
|
|
2977
2993
|
}
|
|
2978
2994
|
};
|
|
2979
2995
|
|
|
@@ -3056,7 +3072,11 @@ class AuroFloatingUI {
|
|
|
3056
3072
|
}
|
|
3057
3073
|
}
|
|
3058
3074
|
|
|
3059
|
-
|
|
3075
|
+
/**
|
|
3076
|
+
* Hides the floating UI element.
|
|
3077
|
+
* @param {String} eventType - The event type that triggered the hiding action.
|
|
3078
|
+
*/
|
|
3079
|
+
hideBib(eventType = "unknown") {
|
|
3060
3080
|
if (!this.element.disabled && !this.element.noToggle) {
|
|
3061
3081
|
this.lockScroll(false);
|
|
3062
3082
|
this.element.triggerChevron?.removeAttribute('data-expanded');
|
|
@@ -3067,7 +3087,7 @@ class AuroFloatingUI {
|
|
|
3067
3087
|
if (this.showing) {
|
|
3068
3088
|
this.cleanupHideHandlers();
|
|
3069
3089
|
this.showing = false;
|
|
3070
|
-
this.dispatchEventDropdownToggle();
|
|
3090
|
+
this.dispatchEventDropdownToggle(eventType);
|
|
3071
3091
|
}
|
|
3072
3092
|
}
|
|
3073
3093
|
document.expandedAuroFloater = null;
|
|
@@ -3076,11 +3096,13 @@ class AuroFloatingUI {
|
|
|
3076
3096
|
/**
|
|
3077
3097
|
* @private
|
|
3078
3098
|
* @returns {void} Dispatches event with an object showing the state of the dropdown.
|
|
3099
|
+
* @param {String} eventType - The event type that triggered the toggle action.
|
|
3079
3100
|
*/
|
|
3080
|
-
dispatchEventDropdownToggle() {
|
|
3101
|
+
dispatchEventDropdownToggle(eventType) {
|
|
3081
3102
|
const event = new CustomEvent(this.eventPrefix ? `${this.eventPrefix}-toggled` : 'toggled', {
|
|
3082
3103
|
detail: {
|
|
3083
3104
|
expanded: this.showing,
|
|
3105
|
+
eventType: eventType || "unknown",
|
|
3084
3106
|
},
|
|
3085
3107
|
composed: true
|
|
3086
3108
|
});
|
|
@@ -3090,7 +3112,7 @@ class AuroFloatingUI {
|
|
|
3090
3112
|
|
|
3091
3113
|
handleClick() {
|
|
3092
3114
|
if (this.element.isPopoverVisible) {
|
|
3093
|
-
this.hideBib();
|
|
3115
|
+
this.hideBib("click");
|
|
3094
3116
|
} else {
|
|
3095
3117
|
this.showBib();
|
|
3096
3118
|
}
|
|
@@ -3113,8 +3135,9 @@ class AuroFloatingUI {
|
|
|
3113
3135
|
// Space is included as it's expected behavior for interactive elements
|
|
3114
3136
|
|
|
3115
3137
|
const origin = event.composedPath()[0];
|
|
3116
|
-
if (event.key === 'Enter' || (
|
|
3117
|
-
|
|
3138
|
+
if (event.key === 'Enter' || event.key === ' ' && (!origin || origin.tagName !== "INPUT")) {
|
|
3139
|
+
|
|
3140
|
+
event.preventDefault();
|
|
3118
3141
|
this.handleClick();
|
|
3119
3142
|
}
|
|
3120
3143
|
break;
|
|
@@ -3125,7 +3148,7 @@ class AuroFloatingUI {
|
|
|
3125
3148
|
break;
|
|
3126
3149
|
case 'mouseleave':
|
|
3127
3150
|
if (this.element.hoverToggle) {
|
|
3128
|
-
this.hideBib();
|
|
3151
|
+
this.hideBib("mouseleave");
|
|
3129
3152
|
}
|
|
3130
3153
|
break;
|
|
3131
3154
|
case 'focus':
|
|
@@ -3268,6 +3291,267 @@ class AuroFloatingUI {
|
|
|
3268
3291
|
}
|
|
3269
3292
|
}
|
|
3270
3293
|
|
|
3294
|
+
// Selectors for focusable elements
|
|
3295
|
+
const FOCUSABLE_SELECTORS = [
|
|
3296
|
+
'a[href]',
|
|
3297
|
+
'button:not([disabled])',
|
|
3298
|
+
'textarea:not([disabled])',
|
|
3299
|
+
'input:not([disabled])',
|
|
3300
|
+
'select:not([disabled])',
|
|
3301
|
+
'[role="tab"]:not([disabled])',
|
|
3302
|
+
'[role="link"]:not([disabled])',
|
|
3303
|
+
'[role="button"]:not([disabled])',
|
|
3304
|
+
'[tabindex]:not([tabindex="-1"])',
|
|
3305
|
+
'[contenteditable]:not([contenteditable="false"])'
|
|
3306
|
+
];
|
|
3307
|
+
|
|
3308
|
+
// List of custom components that are known to be focusable
|
|
3309
|
+
const FOCUSABLE_COMPONENTS = [
|
|
3310
|
+
'auro-checkbox',
|
|
3311
|
+
'auro-radio',
|
|
3312
|
+
'auro-dropdown',
|
|
3313
|
+
'auro-button',
|
|
3314
|
+
'auro-combobox',
|
|
3315
|
+
'auro-input',
|
|
3316
|
+
'auro-counter',
|
|
3317
|
+
'auro-menu',
|
|
3318
|
+
'auro-select',
|
|
3319
|
+
'auro-datepicker',
|
|
3320
|
+
'auro-hyperlink',
|
|
3321
|
+
'auro-accordion',
|
|
3322
|
+
];
|
|
3323
|
+
|
|
3324
|
+
/**
|
|
3325
|
+
* Determines if a given element is a custom focusable component.
|
|
3326
|
+
* Returns true if the element matches a known focusable component and is not disabled.
|
|
3327
|
+
*
|
|
3328
|
+
* @param {HTMLElement} element The element to check for focusability.
|
|
3329
|
+
* @returns {boolean} True if the element is a focusable custom component, false otherwise.
|
|
3330
|
+
*/
|
|
3331
|
+
function isFocusableComponent(element) {
|
|
3332
|
+
const componentName = element.tagName.toLowerCase();
|
|
3333
|
+
|
|
3334
|
+
// Guard Clause: Element is a focusable component
|
|
3335
|
+
if (!FOCUSABLE_COMPONENTS.some((name) => element.hasAttribute(name) || componentName === name)) return false;
|
|
3336
|
+
|
|
3337
|
+
// Guard Clause: Element is not disabled
|
|
3338
|
+
if (element.hasAttribute('disabled')) return false;
|
|
3339
|
+
|
|
3340
|
+
// Guard Clause: The element is a hyperlink and has no href attribute
|
|
3341
|
+
if (componentName.match("hyperlink") && !element.hasAttribute('href')) return false;
|
|
3342
|
+
|
|
3343
|
+
// If all guard clauses pass, the element is a focusable component
|
|
3344
|
+
return true;
|
|
3345
|
+
}
|
|
3346
|
+
|
|
3347
|
+
/**
|
|
3348
|
+
* Retrieves all focusable elements within the container in DOM order, including those in shadow DOM and slots.
|
|
3349
|
+
* Returns a unique, ordered array of elements that can receive focus.
|
|
3350
|
+
*
|
|
3351
|
+
* @param {HTMLElement} container The container to search within
|
|
3352
|
+
* @returns {Array<HTMLElement>} An array of focusable elements within the container.
|
|
3353
|
+
*/
|
|
3354
|
+
function getFocusableElements(container) {
|
|
3355
|
+
// Get elements in DOM order by walking the tree
|
|
3356
|
+
const orderedFocusableElements = [];
|
|
3357
|
+
|
|
3358
|
+
// Define a recursive function to collect focusable elements in DOM order
|
|
3359
|
+
const collectFocusableElements = (root) => {
|
|
3360
|
+
// Check if current element is focusable
|
|
3361
|
+
if (root.nodeType === Node.ELEMENT_NODE) {
|
|
3362
|
+
// Check if this is a custom component that is focusable
|
|
3363
|
+
const isComponentFocusable = isFocusableComponent(root);
|
|
3364
|
+
|
|
3365
|
+
if (isComponentFocusable) {
|
|
3366
|
+
// Add the component itself as a focusable element and don't traverse its shadow DOM
|
|
3367
|
+
orderedFocusableElements.push(root);
|
|
3368
|
+
return; // Skip traversing inside this component
|
|
3369
|
+
}
|
|
3370
|
+
|
|
3371
|
+
// Check if the element itself matches any selector
|
|
3372
|
+
for (const selector of FOCUSABLE_SELECTORS) {
|
|
3373
|
+
if (root.matches?.(selector)) {
|
|
3374
|
+
orderedFocusableElements.push(root);
|
|
3375
|
+
break; // Once we know it's focusable, no need to check other selectors
|
|
3376
|
+
}
|
|
3377
|
+
}
|
|
3378
|
+
|
|
3379
|
+
// Process shadow DOM only for non-Auro components
|
|
3380
|
+
if (root.shadowRoot) {
|
|
3381
|
+
// Process shadow DOM children in order
|
|
3382
|
+
if (root.shadowRoot.children) {
|
|
3383
|
+
Array.from(root.shadowRoot.children).forEach(child => {
|
|
3384
|
+
collectFocusableElements(child);
|
|
3385
|
+
});
|
|
3386
|
+
}
|
|
3387
|
+
}
|
|
3388
|
+
|
|
3389
|
+
// Process slots and their assigned nodes in order
|
|
3390
|
+
if (root.tagName === 'SLOT') {
|
|
3391
|
+
const assignedNodes = root.assignedNodes({ flatten: true });
|
|
3392
|
+
for (const node of assignedNodes) {
|
|
3393
|
+
collectFocusableElements(node);
|
|
3394
|
+
}
|
|
3395
|
+
} else {
|
|
3396
|
+
// Process light DOM children in order
|
|
3397
|
+
if (root.children) {
|
|
3398
|
+
Array.from(root.children).forEach(child => {
|
|
3399
|
+
collectFocusableElements(child);
|
|
3400
|
+
});
|
|
3401
|
+
}
|
|
3402
|
+
}
|
|
3403
|
+
}
|
|
3404
|
+
};
|
|
3405
|
+
|
|
3406
|
+
// Start the traversal from the container
|
|
3407
|
+
collectFocusableElements(container);
|
|
3408
|
+
|
|
3409
|
+
// Remove duplicates that might have been collected through different paths
|
|
3410
|
+
// while preserving order
|
|
3411
|
+
const uniqueElements = [];
|
|
3412
|
+
const seen = new Set();
|
|
3413
|
+
|
|
3414
|
+
for (const element of orderedFocusableElements) {
|
|
3415
|
+
if (!seen.has(element)) {
|
|
3416
|
+
seen.add(element);
|
|
3417
|
+
uniqueElements.push(element);
|
|
3418
|
+
}
|
|
3419
|
+
}
|
|
3420
|
+
|
|
3421
|
+
return uniqueElements;
|
|
3422
|
+
}
|
|
3423
|
+
|
|
3424
|
+
/**
|
|
3425
|
+
* FocusTrap manages keyboard focus within a specified container element, ensuring that focus does not leave the container when tabbing.
|
|
3426
|
+
* It is commonly used for modal dialogs or overlays to improve accessibility by trapping focus within interactive UI components.
|
|
3427
|
+
*/
|
|
3428
|
+
class FocusTrap {
|
|
3429
|
+
/**
|
|
3430
|
+
* Creates a new FocusTrap instance for the given container element.
|
|
3431
|
+
* Initializes event listeners and prepares the container for focus management.
|
|
3432
|
+
*
|
|
3433
|
+
* @param {HTMLElement} container The DOM element to trap focus within.
|
|
3434
|
+
* @throws {Error} If the provided container is not a valid HTMLElement.
|
|
3435
|
+
*/
|
|
3436
|
+
constructor(container) {
|
|
3437
|
+
if (!container || !(container instanceof HTMLElement)) {
|
|
3438
|
+
throw new Error("FocusTrap requires a valid HTMLElement.");
|
|
3439
|
+
}
|
|
3440
|
+
|
|
3441
|
+
this.container = container;
|
|
3442
|
+
this.tabDirection = 'forward'; // or 'backward'
|
|
3443
|
+
|
|
3444
|
+
this._init();
|
|
3445
|
+
}
|
|
3446
|
+
|
|
3447
|
+
/**
|
|
3448
|
+
* Initializes the focus trap by setting up event listeners and attributes on the container.
|
|
3449
|
+
* Prepares the container for focus management, including support for shadow DOM and inert attributes.
|
|
3450
|
+
*
|
|
3451
|
+
* @private
|
|
3452
|
+
*/
|
|
3453
|
+
_init() {
|
|
3454
|
+
|
|
3455
|
+
// Add inert attribute to prevent focusing programmatically as well (if supported)
|
|
3456
|
+
if ('inert' in HTMLElement.prototype) {
|
|
3457
|
+
this.container.inert = false; // Ensure the container isn't inert
|
|
3458
|
+
this.container.setAttribute('data-focus-trap-container', true); // Mark for identification
|
|
3459
|
+
}
|
|
3460
|
+
|
|
3461
|
+
// Track tab direction
|
|
3462
|
+
this.container.addEventListener('keydown', this._onKeydown);
|
|
3463
|
+
}
|
|
3464
|
+
|
|
3465
|
+
/**
|
|
3466
|
+
* Handles keydown events to manage tab navigation within the container.
|
|
3467
|
+
* Ensures that focus wraps around when reaching the first or last focusable element.
|
|
3468
|
+
*
|
|
3469
|
+
* @param {KeyboardEvent} e The keyboard event triggered by user interaction.
|
|
3470
|
+
* @private
|
|
3471
|
+
*/
|
|
3472
|
+
_onKeydown = (e) => {
|
|
3473
|
+
|
|
3474
|
+
if (e.key === 'Tab') {
|
|
3475
|
+
|
|
3476
|
+
// Set the tab direction based on the key pressed
|
|
3477
|
+
this.tabDirection = e.shiftKey ? 'backward' : 'forward';
|
|
3478
|
+
|
|
3479
|
+
// Get the active element(s) in the document and shadow root
|
|
3480
|
+
// This will include the active element in the shadow DOM if it exists
|
|
3481
|
+
// Active element may be inside the shadow DOM depending on delegatesFocus, so we need to check both
|
|
3482
|
+
let activeElement = document.activeElement;
|
|
3483
|
+
const actives = [activeElement];
|
|
3484
|
+
while (activeElement?.shadowRoot?.activeElement) {
|
|
3485
|
+
actives.push(activeElement.shadowRoot.activeElement);
|
|
3486
|
+
activeElement = activeElement.shadowRoot.activeElement;
|
|
3487
|
+
}
|
|
3488
|
+
|
|
3489
|
+
// Update the focusable elements
|
|
3490
|
+
const focusables = this._getFocusableElements();
|
|
3491
|
+
|
|
3492
|
+
// If we're at either end of the focusable elements, wrap around to the other end
|
|
3493
|
+
const focusIndex =
|
|
3494
|
+
(actives.includes(focusables[0]) || actives.includes(this.container)) && this.tabDirection === 'backward'
|
|
3495
|
+
? focusables.length - 1
|
|
3496
|
+
: actives.includes(focusables[focusables.length - 1]) && this.tabDirection === 'forward'
|
|
3497
|
+
? 0
|
|
3498
|
+
: null;
|
|
3499
|
+
|
|
3500
|
+
if (focusIndex !== null) {
|
|
3501
|
+
focusables[focusIndex].focus();
|
|
3502
|
+
e.preventDefault(); // Prevent default tab behavior
|
|
3503
|
+
e.stopPropagation(); // Stop the event from bubbling up
|
|
3504
|
+
}
|
|
3505
|
+
}
|
|
3506
|
+
};
|
|
3507
|
+
|
|
3508
|
+
/**
|
|
3509
|
+
* Retrieves all focusable elements within the container in DOM order, including those in shadow DOM and slots.
|
|
3510
|
+
* Returns a unique, ordered array of elements that can receive focus.
|
|
3511
|
+
*
|
|
3512
|
+
* @returns {Array<HTMLElement>} An array of focusable elements within the container.
|
|
3513
|
+
* @private
|
|
3514
|
+
*/
|
|
3515
|
+
_getFocusableElements() {
|
|
3516
|
+
// Use the imported utility function to get focusable elements
|
|
3517
|
+
const elements = getFocusableElements(this.container);
|
|
3518
|
+
|
|
3519
|
+
// Filter out any elements with the 'focus-bookend' class
|
|
3520
|
+
return elements;
|
|
3521
|
+
}
|
|
3522
|
+
|
|
3523
|
+
/**
|
|
3524
|
+
* Moves focus to the first focusable element within the container.
|
|
3525
|
+
* Useful for setting initial focus when activating the focus trap.
|
|
3526
|
+
*/
|
|
3527
|
+
focusFirstElement() {
|
|
3528
|
+
const focusables = this._getFocusableElements();
|
|
3529
|
+
if (focusables.length) focusables[0].focus();
|
|
3530
|
+
}
|
|
3531
|
+
|
|
3532
|
+
/**
|
|
3533
|
+
* Moves focus to the last focusable element within the container.
|
|
3534
|
+
* Useful for setting focus when deactivating or cycling focus in reverse.
|
|
3535
|
+
*/
|
|
3536
|
+
focusLastElement() {
|
|
3537
|
+
const focusables = this._getFocusableElements();
|
|
3538
|
+
if (focusables.length) focusables[focusables.length - 1].focus();
|
|
3539
|
+
}
|
|
3540
|
+
|
|
3541
|
+
/**
|
|
3542
|
+
* Removes event listeners and attributes added by the focus trap.
|
|
3543
|
+
* Call this method to clean up when the focus trap is no longer needed.
|
|
3544
|
+
*/
|
|
3545
|
+
disconnect() {
|
|
3546
|
+
|
|
3547
|
+
if (this.container.hasAttribute('data-focus-trap-container')) {
|
|
3548
|
+
this.container.removeAttribute('data-focus-trap-container');
|
|
3549
|
+
}
|
|
3550
|
+
|
|
3551
|
+
this.container.removeEventListener('keydown', this._onKeydown);
|
|
3552
|
+
}
|
|
3553
|
+
}
|
|
3554
|
+
|
|
3271
3555
|
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
3272
3556
|
// See LICENSE in the project root for license information.
|
|
3273
3557
|
|
|
@@ -3458,9 +3742,9 @@ let BaseIcon$2 = class BaseIcon extends AuroElement$1$1 {
|
|
|
3458
3742
|
}
|
|
3459
3743
|
};
|
|
3460
3744
|
|
|
3461
|
-
var tokensCss$2$
|
|
3745
|
+
var tokensCss$2$2 = i$5`: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)}`;
|
|
3462
3746
|
|
|
3463
|
-
var colorCss$3$
|
|
3747
|
+
var colorCss$3$2 = i$5`:host{color:var(--ds-auro-icon-color)}:host([customColor]){color:inherit}:host(:not([onDark])[variant=accent1]){--ds-auro-icon-color:var(--ds-basic-color-texticon-accent1, #265688)}:host(:not([onDark])[variant=disabled]){--ds-auro-icon-color:var(--ds-basic-color-texticon-disabled, #d0d0d0)}:host(:not([onDark])[variant=muted]){--ds-auro-icon-color:var(--ds-basic-color-texticon-muted, #676767)}:host(:not([onDark])[variant=statusDefault]){--ds-auro-icon-color:var(--ds-basic-color-status-default, #afb9c6)}:host(:not([onDark])[variant=statusInfo]){--ds-auro-icon-color:var(--ds-basic-color-status-info, #01426a)}:host(:not([onDark])[variant=statusSuccess]){--ds-auro-icon-color:var(--ds-basic-color-status-success, #447a1f)}:host(:not([onDark])[variant=statusWarning]){--ds-auro-icon-color:var(--ds-basic-color-status-warning, #fac200)}:host(:not([onDark])[variant=statusError]){--ds-auro-icon-color:var(--ds-basic-color-status-error, #e31f26)}:host(:not([onDark])[variant=statusInfoSubtle]){--ds-auro-icon-color:var(--ds-basic-color-status-info-subtle, #ebf3f9)}:host(:not([onDark])[variant=statusSuccessSubtle]){--ds-auro-icon-color:var(--ds-basic-color-status-success-subtle, #d6eac7)}:host(:not([onDark])[variant=statusWarningSubtle]){--ds-auro-icon-color:var(--ds-basic-color-status-warning-subtle, #fff0b2)}:host(:not([onDark])[variant=statusErrorSubtle]){--ds-auro-icon-color:var(--ds-basic-color-status-error-subtle, #fbc6c6)}:host(:not([onDark])[variant=fareBasicEconomy]){--ds-auro-icon-color:var(--ds-basic-color-fare-basiceconomy, #97eaf8)}:host(:not([onDark])[variant=fareBusiness]){--ds-auro-icon-color:var(--ds-basic-color-fare-business, #01426a)}:host(:not([onDark])[variant=fareEconomy]){--ds-auro-icon-color:var(--ds-basic-color-fare-economy, #0074ca)}:host(:not([onDark])[variant=fareFirst]){--ds-auro-icon-color:var(--ds-basic-color-fare-first, #00274a)}:host(:not([onDark])[variant=farePremiumEconomy]){--ds-auro-icon-color:var(--ds-basic-color-fare-premiumeconomy, #005154)}:host(:not([onDark])[variant=tierOneWorldEmerald]){--ds-auro-icon-color:var(--ds-basic-color-tier-program-oneworld-emerald, #139142)}:host(:not([onDark])[variant=tierOneWorldSapphire]){--ds-auro-icon-color:var(--ds-basic-color-tier-program-oneworld-sapphire, #015daa)}:host(:not([onDark])[variant=tierOneWorldRuby]){--ds-auro-icon-color:var(--ds-basic-color-tier-program-oneworld-ruby, #a41d4a)}:host([onDark]){--ds-auro-icon-color:var(--ds-basic-color-texticon-inverse, #ffffff)}:host([onDark][variant=disabled]){--ds-auro-icon-color:var(--ds-basic-color-texticon-inverse-disabled, #7e8894)}:host([onDark][variant=muted]){--ds-auro-icon-color:var(--ds-basic-color-texticon-inverse-muted, #ccd2db)}:host([onDark][variant=statusError]){--ds-auro-icon-color:var(--ds-advanced-color-state-error-inverse, #f9a4a8)}`;
|
|
3464
3748
|
|
|
3465
3749
|
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
3466
3750
|
// See LICENSE in the project root for license information.
|
|
@@ -3618,9 +3902,9 @@ let AuroIcon$2 = class AuroIcon extends BaseIcon$2 {
|
|
|
3618
3902
|
static get styles() {
|
|
3619
3903
|
return [
|
|
3620
3904
|
super.styles,
|
|
3621
|
-
i$5`${tokensCss$2$
|
|
3905
|
+
i$5`${tokensCss$2$2}`,
|
|
3622
3906
|
i$5`${styleCss$2$2}`,
|
|
3623
|
-
i$5`${colorCss$3$
|
|
3907
|
+
i$5`${colorCss$3$2}`
|
|
3624
3908
|
];
|
|
3625
3909
|
}
|
|
3626
3910
|
|
|
@@ -3654,8 +3938,12 @@ let AuroIcon$2 = class AuroIcon extends BaseIcon$2 {
|
|
|
3654
3938
|
async firstUpdated() {
|
|
3655
3939
|
await super.firstUpdated();
|
|
3656
3940
|
|
|
3657
|
-
|
|
3658
|
-
|
|
3941
|
+
/**
|
|
3942
|
+
* icons provide a description for screen readers. Icon only instances Auro-button
|
|
3943
|
+
* depend on this description to provide context for the user using a screen reader.
|
|
3944
|
+
* Removes the SVG description for screen reader if ariaHidden is set to true.
|
|
3945
|
+
*/
|
|
3946
|
+
if (this.hasAttribute('ariaHidden') && this.svg) {
|
|
3659
3947
|
const svgDesc = this.svg.querySelector('desc');
|
|
3660
3948
|
|
|
3661
3949
|
if (svgDesc) {
|
|
@@ -3701,11 +3989,11 @@ let AuroIcon$2 = class AuroIcon extends BaseIcon$2 {
|
|
|
3701
3989
|
|
|
3702
3990
|
var iconVersion$2 = '6.1.2';
|
|
3703
3991
|
|
|
3704
|
-
var styleCss$1$2 = i$5`:host{position:fixed;z-index:var(--depth-tooltip, 400);display:none;isolation:isolate}.container{
|
|
3992
|
+
var styleCss$1$2 = i$5`: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}.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}`;
|
|
3705
3993
|
|
|
3706
|
-
var colorCss$2$
|
|
3994
|
+
var colorCss$2$2 = i$5`.container{background-color:var(--ds-auro-dropdownbib-container-color);box-shadow:var(--ds-auro-dropdownbib-boxshadow-color);color:var(--ds-auro-dropdownbib-text-color)}`;
|
|
3707
3995
|
|
|
3708
|
-
var tokensCss$1$
|
|
3996
|
+
var tokensCss$1$2 = i$5`:host(:not([ondark])){--ds-auro-dropdown-label-text-color: var(--ds-basic-color-texticon-muted, #676767);--ds-auro-dropdown-trigger-background-color: var(--ds-basic-color-surface-default, #ffffff);--ds-auro-dropdown-trigger-container-color: var(--ds-basic-color-surface-default, #ffffff);--ds-auro-dropdown-trigger-border-color: var(--ds-basic-color-border-bold, #585e67);--ds-auro-dropdown-trigger-outline-color: transparent;--ds-auro-dropdown-trigger-text-color: var(--ds-basic-color-texticon-default, #2a2a2a);--ds-auro-dropdownbib-boxshadow-color: var(--ds-elevation-200, 0px 0px 10px rgba(0, 0, 0, 0.15));--ds-auro-dropdownbib-background-color: var(--ds-basic-color-surface-default, #ffffff);--ds-auro-dropdownbib-container-color: var(--ds-basic-color-surface-default, #ffffff);--ds-auro-dropdownbib-text-color: var(--ds-basic-color-texticon-default, #2a2a2a)}:host([ondark]){--ds-auro-dropdown-label-text-color: var(--ds-basic-color-texticon-inverse-muted, #ccd2db);--ds-auro-dropdown-trigger-background-color: var(--ds-advanced-color-shared-background-inverse, rgba(255, 255, 255, 0.15));--ds-auro-dropdown-trigger-container-color: var(--ds-advanced-color-shared-background-inverse, rgba(255, 255, 255, 0.15));--ds-auro-dropdown-trigger-border-color: var(--ds-basic-color-border-inverse, #ffffff);--ds-auro-dropdown-trigger-outline-color: transparent;--ds-auro-dropdown-trigger-text-color: var(--ds-basic-color-texticon-inverse, #ffffff);--ds-auro-dropdownbib-boxshadow-color: var(--ds-elevation-200, 0px 0px 10px rgba(0, 0, 0, 0.15));--ds-auro-dropdownbib-background-color: var(--ds-advanced-color-shared-background-inverse, rgba(255, 255, 255, 0.15));--ds-auro-dropdownbib-container-color: var(--ds-advanced-color-shared-background-inverse, rgba(255, 255, 255, 0.15));--ds-auro-dropdownbib-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}`;
|
|
3709
3997
|
|
|
3710
3998
|
// Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
3711
3999
|
// See LICENSE in the project root for license information.
|
|
@@ -3726,7 +4014,7 @@ const DESIGN_TOKEN_BREAKPOINT_OPTIONS = [
|
|
|
3726
4014
|
*/
|
|
3727
4015
|
|
|
3728
4016
|
class AuroDropdownBib extends i$2 {
|
|
3729
|
-
|
|
4017
|
+
// not extending AuroElement because Bib needs only `shape` prop
|
|
3730
4018
|
constructor() {
|
|
3731
4019
|
super();
|
|
3732
4020
|
|
|
@@ -3736,13 +4024,16 @@ class AuroDropdownBib extends i$2 {
|
|
|
3736
4024
|
this._mobileBreakpointValue = undefined;
|
|
3737
4025
|
|
|
3738
4026
|
AuroLibraryRuntimeUtils$2$1.prototype.handleComponentTagRename(this, 'auro-dropdownbib');
|
|
4027
|
+
|
|
4028
|
+
this.shape = "rounded";
|
|
4029
|
+
this.matchWidth = false;
|
|
3739
4030
|
}
|
|
3740
4031
|
|
|
3741
4032
|
static get styles() {
|
|
3742
4033
|
return [
|
|
3743
4034
|
styleCss$1$2,
|
|
3744
|
-
colorCss$2$
|
|
3745
|
-
tokensCss$1$
|
|
4035
|
+
colorCss$2$2,
|
|
4036
|
+
tokensCss$1$2
|
|
3746
4037
|
];
|
|
3747
4038
|
}
|
|
3748
4039
|
|
|
@@ -3773,6 +4064,15 @@ class AuroDropdownBib extends i$2 {
|
|
|
3773
4064
|
reflect: true
|
|
3774
4065
|
},
|
|
3775
4066
|
|
|
4067
|
+
/**
|
|
4068
|
+
* If declared, the bib width will match the trigger width.
|
|
4069
|
+
* @private
|
|
4070
|
+
*/
|
|
4071
|
+
matchWidth: {
|
|
4072
|
+
type: Boolean,
|
|
4073
|
+
reflect: true
|
|
4074
|
+
},
|
|
4075
|
+
|
|
3776
4076
|
/**
|
|
3777
4077
|
* If declared, will apply border-radius to the bib.
|
|
3778
4078
|
*/
|
|
@@ -3786,6 +4086,11 @@ class AuroDropdownBib extends i$2 {
|
|
|
3786
4086
|
*/
|
|
3787
4087
|
bibTemplate: {
|
|
3788
4088
|
type: Object
|
|
4089
|
+
},
|
|
4090
|
+
|
|
4091
|
+
shape: {
|
|
4092
|
+
type: String,
|
|
4093
|
+
reflect: true
|
|
3789
4094
|
}
|
|
3790
4095
|
};
|
|
3791
4096
|
}
|
|
@@ -3865,8 +4170,16 @@ class AuroDropdownBib extends i$2 {
|
|
|
3865
4170
|
|
|
3866
4171
|
// function that renders the HTML and CSS into the scope of the component
|
|
3867
4172
|
render() {
|
|
4173
|
+
const classes = {
|
|
4174
|
+
container: true
|
|
4175
|
+
};
|
|
4176
|
+
|
|
4177
|
+
// Since this class does not inherit from AuroElement, we apply the shape-related class within the `render` function,
|
|
4178
|
+
// mimicking the class naming convention used in AuroElement.resetShapeClasses.
|
|
4179
|
+
classes[`shape-${this.shape}`] = true;
|
|
4180
|
+
|
|
3868
4181
|
return u`
|
|
3869
|
-
<div class="
|
|
4182
|
+
<div class="${e(classes)}" part="bibContainer">
|
|
3870
4183
|
<slot></slot>
|
|
3871
4184
|
</div>
|
|
3872
4185
|
`;
|
|
@@ -3875,21 +4188,21 @@ class AuroDropdownBib extends i$2 {
|
|
|
3875
4188
|
|
|
3876
4189
|
var dropdownVersion$1 = '3.0.0';
|
|
3877
4190
|
|
|
3878
|
-
var shapeSizeCss = i$5`.wrapper{overflow:hidden}.shape-classic-xl,.shape-classic-lg,.shape-classic-md,.shape-classic-sm,.shape-classic-xs{min-height:58px;max-height:58px;border-style:solid;border-width:1px;border-radius:var(--ds-border-radius, 0.375rem)}.shape-classic-xl.simple,.shape-classic-lg.simple,.shape-classic-md.simple,.shape-classic-sm.simple,.shape-classic-xs.simple{border-width:0px;min-height:60px;max-height:60px;background-color:unset}.shape-classic-xl.thin,.shape-classic-lg.thin,.shape-classic-md.thin,.shape-classic-sm.thin,.shape-classic-xs.thin{border-width:1px;min-height:58px;max-height:58px;background-color:unset}.shape-classic-xl.parentBorder,.shape-classic-lg.parentBorder,.shape-classic-md.parentBorder,.shape-classic-sm.parentBorder,.shape-classic-xs.parentBorder{border:0;min-height:56px;max-height:56px}.shape-snowflake-xl,.shape-snowflake-lg,.shape-snowflake-md,.shape-snowflake-sm,.shape-snowflake-xs{min-height:56px;max-height:56px;border-style:solid;border-width:2px;border-color:transparent;border-radius:30px}.shape-snowflake-xl.simple,.shape-snowflake-lg.simple,.shape-snowflake-md.simple,.shape-snowflake-sm.simple,.shape-snowflake-xs.simple{border-width:0px;min-height:60px;max-height:60px;background-color:unset}.shape-snowflake-xl.thin,.shape-snowflake-lg.thin,.shape-snowflake-md.thin,.shape-snowflake-sm.thin,.shape-snowflake-xs.thin{border-width:1px;min-height:58px;max-height:58px;background-color:unset}.shape-snowflake-xl.parentBorder,.shape-snowflake-lg.parentBorder,.shape-snowflake-md.parentBorder,.shape-snowflake-sm.parentBorder,.shape-snowflake-xs.parentBorder{border:0;min-height:56px;max-height:56px}.shape-box-xl{min-height:68px;max-height:68px;border-style:solid;border-width:2px;border-color:transparent}.shape-box-xl.simple{border-width:0px;min-height:72px;max-height:72px;background-color:unset}.shape-box-xl.thin{border-width:1px;min-height:70px;max-height:70px;background-color:unset}.shape-box-xl.parentBorder{border:0;min-height:68px;max-height:68px}.shape-rounded-lg{min-height:56px;max-height:56px;border-style:solid;border-width:2px;border-color:transparent;border-radius:6px}.shape-rounded-lg.simple{border-width:0px;min-height:56px;max-height:56px;background-color:unset}.shape-rounded-lg.thin{border-width:1px;min-height:54px;max-height:54px;background-color:unset}.shape-rounded-lg.parentBorder{border:0;min-height:52px;max-height:52px}.shape-pill-xl{min-height:68px;max-height:68px;border-style:solid;border-width:2px;border-color:transparent;border-radius:36px}.shape-pill-xl.simple{border-width:0px;min-height:72px;max-height:72px;background-color:unset}.shape-pill-xl.thin{border-width:1px;min-height:70px;max-height:70px;background-color:unset}.shape-pill-xl.parentBorder{border:0;min-height:68px;max-height:68px}.shape-pill-left-xl{min-height:
|
|
4191
|
+
var shapeSizeCss = i$5`.wrapper{overflow:hidden}.shape-classic-xl,.shape-classic-lg,.shape-classic-md,.shape-classic-sm,.shape-classic-xs{min-height:58px;max-height:58px;border-style:solid;border-width:1px;border-radius:var(--ds-border-radius, 0.375rem)}.shape-classic-xl.simple,.shape-classic-lg.simple,.shape-classic-md.simple,.shape-classic-sm.simple,.shape-classic-xs.simple{border-width:0px;min-height:60px;max-height:60px;background-color:unset;box-shadow:none}.shape-classic-xl.thin,.shape-classic-lg.thin,.shape-classic-md.thin,.shape-classic-sm.thin,.shape-classic-xs.thin{border-width:1px;min-height:58px;max-height:58px;background-color:unset}.shape-classic-xl.parentBorder,.shape-classic-lg.parentBorder,.shape-classic-md.parentBorder,.shape-classic-sm.parentBorder,.shape-classic-xs.parentBorder{border:0;box-shadow:unset;min-height:56px;max-height:56px}.shape-snowflake-xl,.shape-snowflake-lg,.shape-snowflake-md,.shape-snowflake-sm,.shape-snowflake-xs{min-height:56px;max-height:56px;border-style:solid;border-width:2px;border-color:transparent;border-radius:30px}.shape-snowflake-xl.simple,.shape-snowflake-lg.simple,.shape-snowflake-md.simple,.shape-snowflake-sm.simple,.shape-snowflake-xs.simple{border-width:0px;min-height:60px;max-height:60px;background-color:unset;box-shadow:none}.shape-snowflake-xl.thin,.shape-snowflake-lg.thin,.shape-snowflake-md.thin,.shape-snowflake-sm.thin,.shape-snowflake-xs.thin{border-width:1px;min-height:58px;max-height:58px;background-color:unset}.shape-snowflake-xl.parentBorder,.shape-snowflake-lg.parentBorder,.shape-snowflake-md.parentBorder,.shape-snowflake-sm.parentBorder,.shape-snowflake-xs.parentBorder{border:0;box-shadow:unset;min-height:56px;max-height:56px}.shape-box-xl{min-height:68px;max-height:68px;border-style:solid;border-width:2px;border-color:transparent}.shape-box-xl.simple{border-width:0px;min-height:72px;max-height:72px;background-color:unset;box-shadow:none}.shape-box-xl.thin{border-width:1px;min-height:70px;max-height:70px;background-color:unset}.shape-box-xl.parentBorder{border:0;box-shadow:unset;min-height:68px;max-height:68px}.shape-rounded-lg{min-height:56px;max-height:56px;border-style:solid;border-width:2px;border-color:transparent;border-radius:6px}.shape-rounded-lg.simple{border-width:0px;min-height:56px;max-height:56px;background-color:unset;box-shadow:none}.shape-rounded-lg.thin{border-width:1px;min-height:54px;max-height:54px;background-color:unset}.shape-rounded-lg.parentBorder{border:0;box-shadow:unset;min-height:52px;max-height:52px}.shape-pill-xl{min-height:68px;max-height:68px;border-style:solid;border-width:2px;border-color:transparent;border-radius:36px}.shape-pill-xl.simple{border-width:0px;min-height:72px;max-height:72px;background-color:unset;box-shadow:none}.shape-pill-xl.thin{border-width:1px;min-height:70px;max-height:70px;background-color:unset}.shape-pill-xl.parentBorder{border:0;box-shadow:unset;min-height:68px;max-height:68px}.shape-pill-left-xl{min-height:68px;max-height:68px;border-style:solid;border-width:2px;border-color:transparent;border-radius:36px 0 0 36px}.shape-pill-left-xl.simple{border-width:0px;min-height:72px;max-height:72px;background-color:unset;box-shadow:none}.shape-pill-left-xl.thin{border-width:1px;min-height:70px;max-height:70px;background-color:unset}.shape-pill-left-xl.parentBorder{border:0;box-shadow:unset;min-height:68px;max-height:68px}.shape-pill-right-xl{min-height:68px;max-height:68px;border-style:solid;border-width:2px;border-color:transparent;border-radius:0 36px 36px 0}.shape-pill-right-xl.simple{border-width:0px;min-height:72px;max-height:72px;background-color:unset;box-shadow:none}.shape-pill-right-xl.thin{border-width:1px;min-height:70px;max-height:70px;background-color:unset}.shape-pill-right-xl.parentBorder{border:0;box-shadow:unset;min-height:68px;max-height:68px}.shape-pill-md{min-height:44px;max-height:44px;border-style:solid;border-width:2px;border-color:transparent;border-radius:36px}.shape-pill-md.simple{border-width:0px;min-height:48px;max-height:48px;background-color:unset;box-shadow:none}.shape-pill-md.thin{border-width:1px;min-height:46px;max-height:46px;background-color:unset}.shape-pill-md.parentBorder{border:0;box-shadow:unset;min-height:44px;max-height:44px}.shape-pill-left-md{min-height:44px;max-height:44px;border-style:solid;border-width:2px;border-color:transparent;border-radius:36px 0 0 36px}.shape-pill-left-md.simple{border-width:0px;min-height:48px;max-height:48px;background-color:unset;box-shadow:none}.shape-pill-left-md.thin{border-width:1px;min-height:46px;max-height:46px;background-color:unset}.shape-pill-left-md.parentBorder{border:0;box-shadow:unset;min-height:44px;max-height:44px}.shape-pill-right-md{min-height:44px;max-height:44px;border-style:solid;border-width:2px;border-color:transparent;border-radius:0 36px 36px 0}.shape-pill-right-md.simple{border-width:0px;min-height:48px;max-height:48px;background-color:unset;box-shadow:none}.shape-pill-right-md.thin{border-width:1px;min-height:46px;max-height:46px;background-color:unset}.shape-pill-right-md.parentBorder{border:0;box-shadow:unset;min-height:44px;max-height:44px}`;
|
|
3879
4192
|
|
|
3880
|
-
var colorCss$1$2 = i$5`:host .wrapper{border-color:var(--ds-auro-dropdown-trigger-border-color);background-color:var(--ds-auro-dropdown-trigger-background-color);color:var(--ds-auro-dropdown-trigger-text-color)}:host(:not([ondark])) .wrapper:focus,:host(:not([ondark])) .wrapper:
|
|
4193
|
+
var colorCss$1$2 = i$5`:host(:not([layout*=classic])){--ds-auro-dropdown-trigger-border-color: transparent}:host(:not([ondark])) .wrapper{border-color:var(--ds-auro-dropdown-trigger-border-color);background-color:var(--ds-auro-dropdown-trigger-background-color);color:var(--ds-auro-dropdown-trigger-text-color)}:host(:not([ondark])) .wrapper:focus-within,:host(:not([ondark])) .wrapper:active{--ds-auro-dropdown-trigger-border-color: var(--ds-advanced-color-state-focused, #01426a);--ds-auro-dropdown-trigger-outline-color: var(--ds-advanced-color-state-focused, #01426a)}:host(:not([onDark])[disabled]){--ds-auro-dropdown-trigger-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0);--ds-auro-dropdown-label-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0);--ds-auro-dropdown-trigger-border-color: var(--ds-basic-color-border-subtle, #dddddd)}:host(:not([ondark])[error]){--ds-auro-dropdown-trigger-border-color: var(--ds-basic-color-status-error, #e31f26)}:host([onDark]) .label{color:var(--ds-auro-dropdown-label-text-color)}:host([onDark]) .wrapper{border-color:var(--ds-auro-dropdown-trigger-border-color);background-color:var(--ds-auro-dropdown-trigger-background-color);color:var(--ds-auro-dropdown-trigger-text-color)}:host([onDark]) .wrapper:focus-within,:host([onDark]) .wrapper:active{--ds-auro-dropdown-trigger-border-color: var(--ds-advanced-color-state-focused-inverse, #ffffff);--ds-auro-dropdown-trigger-outline-color: var(--ds-advanced-color-state-focused-inverse, #ffffff)}:host([onDark][disabled]){--ds-auro-dropdown-trigger-text-color: var(--ds-basic-color-texticon-inverse-disabled, #7e8894);--ds-auro-dropdown-label-text-color: var(--ds-basic-color-texticon-inverse-disabled, #7e8894);--ds-auro-dropdown-trigger-container-color: var(--ds-advanced-color-shared-background-inverse-disabled, rgba(255, 255, 255, 0.1))}:host([ondark][error]){--ds-auro-dropdown-trigger-border-color: var(--ds-basic-color-status-error-subtle, #fbc6c6)}`;
|
|
3881
4194
|
|
|
3882
|
-
var classicColorCss = i$5
|
|
4195
|
+
var classicColorCss = i$5``;
|
|
3883
4196
|
|
|
3884
|
-
var classicLayoutCss = i$5`:host([layout*=classic]){position:relative;max-width:100%}:host([layout*=classic]) #bibSizer{position:absolute;z-index:-1;opacity:0;pointer-events:none}:host([layout*=classic]) .label{font-size:var(--ds-text-body-size-xs, 0.75rem);line-height:var(--ds-text-body-size-default, 1rem);transition:font-size .3s cubic-bezier(0.215, 0.61, 0.355, 1);white-space:normal}:host([layout*=classic]) .label[hasTrigger=false]{font-size:var(--ds-text-body-size-default, 1rem)}:host([layout*=classic]) .
|
|
4197
|
+
var classicLayoutCss = i$5`:host([layout*=classic]){position:relative;max-width:100%}:host([layout*=classic]) #bibSizer{position:absolute;z-index:-1;opacity:0;pointer-events:none}:host([layout*=classic]) .label{font-size:var(--ds-text-body-size-xs, 0.75rem);line-height:var(--ds-text-body-size-default, 1rem);transition:font-size .3s cubic-bezier(0.215, 0.61, 0.355, 1);white-space:normal}:host([layout*=classic]) .label[hasTrigger=false]{font-size:var(--ds-text-body-size-default, 1rem)}:host([layout*=classic]) .wrapper{display:flex;flex-direction:row;box-shadow:inset 0 0 0 1px var(--ds-auro-dropdown-trigger-outline-color)}@media(hover: hover){:host([layout*=classic]) .wrapper:hover{cursor:pointer}}:host([layout*=classic]) .triggerContentWrapper{overflow:hidden;flex:1;justify-content:start;text-overflow:ellipsis;white-space:nowrap}:host([layout*=classic]) #showStateIcon{display:flex;overflow:hidden;height:100%;align-items:center;padding-right:var(--ds-size-150, 0.75rem)}:host([layout*=classic]) #showStateIcon [auro-icon]{height:var(--ds-size-300, 1.5rem);line-height:var(--ds-size-300, 1.5rem)}:host([layout*=classic]) #showStateIcon[data-expanded=true] [auro-icon]{transform:rotate(-180deg)}:host([matchwidth]) #bibSizer{width:100%}`;
|
|
3885
4198
|
|
|
3886
|
-
var styleEmphasizedCss = i$5`:host{display:block}.layout-emphasized .chevron,.layout-emphasized-left .chevron,.layout-emphasized-right .chevron{margin-right:var(--ds-size-300, 1.5rem)}.wrapper{display:flex;flex-direction:row
|
|
4199
|
+
var styleEmphasizedCss = i$5`:host{display:block}.layout-emphasized .chevron,.layout-emphasized-left .chevron,.layout-emphasized-right .chevron{margin-right:var(--ds-size-300, 1.5rem)}.wrapper{display:flex;flex:1;flex-direction:row;align-items:center;justify-content:center;outline:none}.triggerContentWrapper{display:flex;overflow:hidden;width:100%;flex:1;align-items:center;justify-content:center;text-overflow:ellipsis;white-space:nowrap}:host([layout*=emphasized][shape*=pill]:not([layout*=right])) .leftIndent{width:calc(100% - var(--ds-size-300, 1.5rem));margin-left:var(--ds-size-300, 1.5rem)}:host([layout*=emphasized][shape*=pill]:not([layout*=left])) .rightIndent{width:calc(100% - var(--ds-size-300, 1.5rem));margin-right:var(--ds-size-300, 1.5rem)}:host([layout*=emphasized][shape*=pill]:not([layout*=left]):not([layout*=right])) .rightIndent{width:calc(100% - var(--ds-size-600, 3rem));margin-right:var(--ds-size-300, 1.5rem)}`;
|
|
3887
4200
|
|
|
3888
|
-
var styleSnowflakeCss = i$5`:host{display:block}.wrapper{display:flex;flex
|
|
4201
|
+
var styleSnowflakeCss = i$5`:host{display:block}.wrapper{display:flex;flex:1;flex-direction:row;align-items:center;justify-content:center;outline:none}.triggerContentWrapper{display:flex;overflow:hidden;width:100%;flex:1;align-items:center;justify-content:center;text-overflow:ellipsis;white-space:nowrap}:host([layout*=snowflake]) .leftIndent{width:calc(100% - var(--ds-size-600, 3rem));margin-left:var(--ds-size-300, 1.5rem)}:host([layout*=snowflake]) .rightIndent{width:calc(100% - var(--ds-size-600, 3rem));margin-right:var(--ds-size-300, 1.5rem)}.layout-snowflake .chevron,.layout-snowflake-left .chevron,.layout-snowflake-right .chevron{margin-right:var(--ds-size-300, 1.5rem)}`;
|
|
3889
4202
|
|
|
3890
|
-
var colorCss$5 = i$5`:host([error]){--ds-auro-helptext-color: var(--ds-basic-color-status-error, #e31f26)}:host([onDark]){--ds-auro-helptext-color: var(--ds-basic-color-texticon-inverse-muted, #ccd2db)}:host([onDark][error]){--ds-auro-helptext-color: var(--ds-
|
|
4203
|
+
var colorCss$5 = i$5`:host([error]){--ds-auro-helptext-color: var(--ds-basic-color-status-error, #e31f26)}:host([onDark]){--ds-auro-helptext-color: var(--ds-basic-color-texticon-inverse-muted, #ccd2db)}:host([onDark][error]){--ds-auro-helptext-color: var(--ds-basic-color-status-error-subtle, #fbc6c6)}.helptext-wrapper{color:var(--ds-auro-helptext-color)}`;
|
|
3891
4204
|
|
|
3892
|
-
var styleCss$6 = i$5
|
|
4205
|
+
var styleCss$6 = i$5`:host{position:relative;display:block}.helptext-wrapper{display:none;font-size:12px;font-weight:450;letter-spacing:0;line-height:16px}:host([large]) .helptext-wrapper{font-size:16px;font-weight:450;letter-spacing:0;line-height:24px}.helptext-wrapper[visible]{display:block}::slotted(*:not(:empty)){margin-top:var(--ds-size-50, 0.25rem);margin-bottom:0}::slotted(p){margin-block:0}`;
|
|
3893
4206
|
|
|
3894
4207
|
var tokensCss$4 = i$5`:host{--ds-auro-helptext-color: var(--ds-basic-color-texticon-muted, #676767)}`;
|
|
3895
4208
|
|
|
@@ -3900,7 +4213,7 @@ var tokensCss$4 = i$5`:host{--ds-auro-helptext-color: var(--ds-basic-color-texti
|
|
|
3900
4213
|
|
|
3901
4214
|
/* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
|
|
3902
4215
|
|
|
3903
|
-
let AuroLibraryRuntimeUtils$
|
|
4216
|
+
let AuroLibraryRuntimeUtils$5 = class AuroLibraryRuntimeUtils {
|
|
3904
4217
|
|
|
3905
4218
|
/* eslint-disable jsdoc/require-param */
|
|
3906
4219
|
|
|
@@ -3981,7 +4294,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
|
|
|
3981
4294
|
this.onDark = false;
|
|
3982
4295
|
this.hasTextContent = false;
|
|
3983
4296
|
|
|
3984
|
-
AuroLibraryRuntimeUtils$
|
|
4297
|
+
AuroLibraryRuntimeUtils$5.prototype.handleComponentTagRename(this, 'auro-helptext');
|
|
3985
4298
|
}
|
|
3986
4299
|
|
|
3987
4300
|
static get styles() {
|
|
@@ -4037,7 +4350,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
|
|
|
4037
4350
|
*
|
|
4038
4351
|
*/
|
|
4039
4352
|
static register(name = "auro-helptext") {
|
|
4040
|
-
AuroLibraryRuntimeUtils$
|
|
4353
|
+
AuroLibraryRuntimeUtils$5.prototype.registerComponent(name, AuroHelpText);
|
|
4041
4354
|
}
|
|
4042
4355
|
|
|
4043
4356
|
updated() {
|
|
@@ -4095,7 +4408,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
|
|
|
4095
4408
|
|
|
4096
4409
|
var helpTextVersion$1 = '1.0.0';
|
|
4097
4410
|
|
|
4098
|
-
let AuroElement$
|
|
4411
|
+
let AuroElement$3 = class AuroElement extends i$2 {
|
|
4099
4412
|
static get properties() {
|
|
4100
4413
|
return {
|
|
4101
4414
|
|
|
@@ -4130,18 +4443,21 @@ let AuroElement$2 = class AuroElement extends i$2 {
|
|
|
4130
4443
|
}
|
|
4131
4444
|
|
|
4132
4445
|
resetShapeClasses() {
|
|
4133
|
-
|
|
4134
|
-
const wrapper = this.shadowRoot.querySelector('.wrapper');
|
|
4446
|
+
const wrapper = this.shadowRoot.querySelector('.wrapper');
|
|
4135
4447
|
|
|
4136
|
-
|
|
4137
|
-
|
|
4138
|
-
|
|
4139
|
-
|
|
4140
|
-
|
|
4141
|
-
|
|
4448
|
+
if (wrapper) {
|
|
4449
|
+
wrapper.classList.forEach((className) => {
|
|
4450
|
+
if (className.startsWith('shape-')) {
|
|
4451
|
+
wrapper.classList.remove(className);
|
|
4452
|
+
}
|
|
4453
|
+
});
|
|
4142
4454
|
|
|
4143
|
-
|
|
4144
|
-
|
|
4455
|
+
}
|
|
4456
|
+
|
|
4457
|
+
if (this.shape && this.size) {
|
|
4458
|
+
wrapper.classList.add(`shape-${this.shape.toLowerCase()}-${this.size.toLowerCase()}`);
|
|
4459
|
+
} else {
|
|
4460
|
+
wrapper.classList.add('shape-none');
|
|
4145
4461
|
}
|
|
4146
4462
|
}
|
|
4147
4463
|
|
|
@@ -4191,10 +4507,8 @@ let AuroElement$2 = class AuroElement extends i$2 {
|
|
|
4191
4507
|
// See LICENSE in the project root for license information.
|
|
4192
4508
|
|
|
4193
4509
|
|
|
4194
|
-
|
|
4195
|
-
* @attr { Boolean } disableEventShow - If declared, the dropdown will only show by calling the API .show() public method.
|
|
4510
|
+
/*
|
|
4196
4511
|
* @slot - Default slot for the popover content.
|
|
4197
|
-
* @slot label - Defines the content of the label.
|
|
4198
4512
|
* @slot helpText - Defines the content of the helpText.
|
|
4199
4513
|
* @slot trigger - Defines the content of the trigger.
|
|
4200
4514
|
* @csspart trigger - The trigger content container.
|
|
@@ -4204,7 +4518,7 @@ let AuroElement$2 = class AuroElement extends i$2 {
|
|
|
4204
4518
|
* @event auroDropdown-toggled - Notifies that the visibility of the dropdown bib has changed.
|
|
4205
4519
|
* @event auroDropdown-idAdded - Notifies consumers that the unique ID for the dropdown bib has been generated.
|
|
4206
4520
|
*/
|
|
4207
|
-
class AuroDropdown extends AuroElement$
|
|
4521
|
+
class AuroDropdown extends AuroElement$3 {
|
|
4208
4522
|
constructor() {
|
|
4209
4523
|
super();
|
|
4210
4524
|
|
|
@@ -4213,23 +4527,25 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
4213
4527
|
this.matchWidth = false;
|
|
4214
4528
|
this.noHideOnThisFocusLoss = false;
|
|
4215
4529
|
|
|
4216
|
-
this.errorMessage =
|
|
4530
|
+
this.errorMessage = undefined; // TODO - check with Doug if there is still more to do here
|
|
4217
4531
|
|
|
4218
4532
|
// Layout Config
|
|
4219
|
-
this.layout =
|
|
4220
|
-
this.shape =
|
|
4221
|
-
this.size =
|
|
4533
|
+
this.layout = undefined;
|
|
4534
|
+
this.shape = undefined;
|
|
4535
|
+
this.size = undefined;
|
|
4536
|
+
|
|
4222
4537
|
this.parentBorder = false;
|
|
4223
4538
|
|
|
4224
|
-
|
|
4225
|
-
|
|
4539
|
+
/** @private */
|
|
4540
|
+
this.handleDropdownToggle = this.handleDropdownToggle.bind(this);
|
|
4226
4541
|
|
|
4227
|
-
|
|
4228
|
-
return {
|
|
4229
|
-
// 'withValue': this.value && this.value.length > 0
|
|
4230
|
-
};
|
|
4542
|
+
this.privateDefaults();
|
|
4231
4543
|
}
|
|
4232
4544
|
|
|
4545
|
+
/**
|
|
4546
|
+
* @private
|
|
4547
|
+
* @returns {object} Class definition for the wrapper element.
|
|
4548
|
+
*/
|
|
4233
4549
|
get commonWrapperClasses() {
|
|
4234
4550
|
return {
|
|
4235
4551
|
'trigger': true,
|
|
@@ -4247,13 +4563,10 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
4247
4563
|
privateDefaults() {
|
|
4248
4564
|
this.chevron = false;
|
|
4249
4565
|
this.disabled = false;
|
|
4566
|
+
this.disableFocusTrap = false;
|
|
4250
4567
|
this.error = false;
|
|
4251
|
-
this.inset = false;
|
|
4252
|
-
this.rounded = false;
|
|
4253
4568
|
this.tabIndex = 0;
|
|
4254
4569
|
this.noToggle = false;
|
|
4255
|
-
this.a11yAutocomplete = 'none';
|
|
4256
|
-
this.labeled = true;
|
|
4257
4570
|
this.a11yRole = 'button';
|
|
4258
4571
|
this.onDark = false;
|
|
4259
4572
|
this.showTriggerBorders = true;
|
|
@@ -4349,6 +4662,18 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
4349
4662
|
this.floater.showBib();
|
|
4350
4663
|
}
|
|
4351
4664
|
|
|
4665
|
+
/**
|
|
4666
|
+
* When bib is open, focus on the first element inside of bib.
|
|
4667
|
+
* If not, trigger element will get focus.
|
|
4668
|
+
*/
|
|
4669
|
+
focus() {
|
|
4670
|
+
if (this.isPopoverVisible && this.focusTrap) {
|
|
4671
|
+
this.focusTrap.focusFirstElement();
|
|
4672
|
+
} else {
|
|
4673
|
+
this.trigger.focus();
|
|
4674
|
+
}
|
|
4675
|
+
}
|
|
4676
|
+
|
|
4352
4677
|
// function to define props used within the scope of this component
|
|
4353
4678
|
static get properties() {
|
|
4354
4679
|
return {
|
|
@@ -4362,6 +4687,15 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
4362
4687
|
reflect: true
|
|
4363
4688
|
},
|
|
4364
4689
|
|
|
4690
|
+
/**
|
|
4691
|
+
* If declared, the dropdown will only show by calling the API .show() public method.
|
|
4692
|
+
* @default false
|
|
4693
|
+
*/
|
|
4694
|
+
disableEventShow: {
|
|
4695
|
+
type: Boolean,
|
|
4696
|
+
reflect: true
|
|
4697
|
+
},
|
|
4698
|
+
|
|
4365
4699
|
/**
|
|
4366
4700
|
* If declared, applies a border around the trigger slot.
|
|
4367
4701
|
*/
|
|
@@ -4380,17 +4714,17 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
4380
4714
|
},
|
|
4381
4715
|
|
|
4382
4716
|
/**
|
|
4383
|
-
* If declared, the dropdown
|
|
4717
|
+
* If declared, the dropdown is not interactive.
|
|
4384
4718
|
*/
|
|
4385
|
-
|
|
4719
|
+
disabled: {
|
|
4386
4720
|
type: Boolean,
|
|
4387
4721
|
reflect: true
|
|
4388
4722
|
},
|
|
4389
4723
|
|
|
4390
4724
|
/**
|
|
4391
|
-
* If declared, the
|
|
4725
|
+
* If declared, the focus trap inside of bib will be turned off.
|
|
4392
4726
|
*/
|
|
4393
|
-
|
|
4727
|
+
disableFocusTrap: {
|
|
4394
4728
|
type: Boolean,
|
|
4395
4729
|
reflect: true
|
|
4396
4730
|
},
|
|
@@ -4435,22 +4769,6 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
4435
4769
|
reflect: true
|
|
4436
4770
|
},
|
|
4437
4771
|
|
|
4438
|
-
/**
|
|
4439
|
-
* Makes the trigger to be full width of its parent container.
|
|
4440
|
-
*/
|
|
4441
|
-
fluid: {
|
|
4442
|
-
type: Boolean,
|
|
4443
|
-
reflect: true
|
|
4444
|
-
},
|
|
4445
|
-
|
|
4446
|
-
/**
|
|
4447
|
-
* If declared, will apply padding around trigger slot content.
|
|
4448
|
-
*/
|
|
4449
|
-
inset: {
|
|
4450
|
-
type: Boolean,
|
|
4451
|
-
reflect: true
|
|
4452
|
-
},
|
|
4453
|
-
|
|
4454
4772
|
/**
|
|
4455
4773
|
* If true, the dropdown bib is displayed.
|
|
4456
4774
|
*/
|
|
@@ -4494,15 +4812,6 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
4494
4812
|
reflect: true
|
|
4495
4813
|
},
|
|
4496
4814
|
|
|
4497
|
-
/**
|
|
4498
|
-
* Defines if there is a label preset.
|
|
4499
|
-
* @private
|
|
4500
|
-
*/
|
|
4501
|
-
labeled: {
|
|
4502
|
-
type: Boolean,
|
|
4503
|
-
reflect: true
|
|
4504
|
-
},
|
|
4505
|
-
|
|
4506
4815
|
/**
|
|
4507
4816
|
* Defines if the trigger should size based on the parent element providing the border UI.
|
|
4508
4817
|
* @private
|
|
@@ -4563,6 +4872,9 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
4563
4872
|
reflect: true
|
|
4564
4873
|
},
|
|
4565
4874
|
|
|
4875
|
+
/**
|
|
4876
|
+
* If declared, and a function is set, that function will execute when the slot content is updated.
|
|
4877
|
+
*/
|
|
4566
4878
|
onSlotChange: {
|
|
4567
4879
|
type: Function,
|
|
4568
4880
|
reflect: false
|
|
@@ -4577,14 +4889,6 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
4577
4889
|
reflect: true
|
|
4578
4890
|
},
|
|
4579
4891
|
|
|
4580
|
-
/**
|
|
4581
|
-
* If declared, will apply border-radius to trigger and default slots.
|
|
4582
|
-
*/
|
|
4583
|
-
rounded: {
|
|
4584
|
-
type: Boolean,
|
|
4585
|
-
reflect: true
|
|
4586
|
-
},
|
|
4587
|
-
|
|
4588
4892
|
/**
|
|
4589
4893
|
* @private
|
|
4590
4894
|
*/
|
|
@@ -4599,22 +4903,14 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
4599
4903
|
type: String || undefined,
|
|
4600
4904
|
attribute: false,
|
|
4601
4905
|
reflect: false
|
|
4602
|
-
},
|
|
4603
|
-
|
|
4604
|
-
/**
|
|
4605
|
-
* The value for the aria-autocomplete attribute of the trigger element.
|
|
4606
|
-
*/
|
|
4607
|
-
a11yAutocomplete: {
|
|
4608
|
-
type: String,
|
|
4609
|
-
attribute: false,
|
|
4610
4906
|
}
|
|
4611
4907
|
};
|
|
4612
4908
|
}
|
|
4613
4909
|
|
|
4614
4910
|
static get styles() {
|
|
4615
4911
|
return [
|
|
4912
|
+
tokensCss$1$2,
|
|
4616
4913
|
colorCss$1$2,
|
|
4617
|
-
tokensCss$1$1,
|
|
4618
4914
|
|
|
4619
4915
|
// default layout
|
|
4620
4916
|
classicColorCss,
|
|
@@ -4676,13 +4972,27 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
4676
4972
|
if (changedProperties.size === 0 || changedProperties.has('isPopoverVisible')) {
|
|
4677
4973
|
this.handleTriggerContentSlotChange();
|
|
4678
4974
|
}
|
|
4975
|
+
}
|
|
4679
4976
|
|
|
4977
|
+
/**
|
|
4978
|
+
* Handles the custom event `auroDropdown-toggled` to update the visibility of the dropdown bib.
|
|
4979
|
+
* @private
|
|
4980
|
+
* @param {CustomEvent} event - The custom event that contains the dropdown toggle information.
|
|
4981
|
+
*/
|
|
4982
|
+
handleDropdownToggle(event) {
|
|
4983
|
+
this.updateFocusTrap();
|
|
4984
|
+
this.isPopoverVisible = event.detail.expanded;
|
|
4985
|
+
const eventType = event.detail.eventType || "unknown";
|
|
4986
|
+
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
|
|
4987
|
+
this.trigger.focus();
|
|
4988
|
+
}
|
|
4680
4989
|
}
|
|
4681
4990
|
|
|
4682
4991
|
firstUpdated() {
|
|
4683
4992
|
|
|
4684
4993
|
// Configure the floater to, this will generate the ID for the bib
|
|
4685
4994
|
this.floater.configure(this, 'auroDropdown');
|
|
4995
|
+
this.addEventListener('auroDropdown-toggled', this.handleDropdownToggle);
|
|
4686
4996
|
|
|
4687
4997
|
/**
|
|
4688
4998
|
* @description Let subscribers know that the dropdown ID ha been generated and added.
|
|
@@ -4742,6 +5052,27 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
4742
5052
|
this.hasFocus = true;
|
|
4743
5053
|
}
|
|
4744
5054
|
|
|
5055
|
+
/**
|
|
5056
|
+
* @private
|
|
5057
|
+
*/
|
|
5058
|
+
updateFocusTrap() {
|
|
5059
|
+
// If the dropdown is open, create a focus trap and focus the first element
|
|
5060
|
+
if (this.isPopoverVisible && !this.disableFocusTrap) {
|
|
5061
|
+
this.focusTrap = new FocusTrap(this.bibContent);
|
|
5062
|
+
this.focusTrap.focusFirstElement();
|
|
5063
|
+
return;
|
|
5064
|
+
}
|
|
5065
|
+
|
|
5066
|
+
// Guard Clause: Ensure there is a focus trap currently active before continuing
|
|
5067
|
+
if (!this.focusTrap) {
|
|
5068
|
+
return;
|
|
5069
|
+
}
|
|
5070
|
+
|
|
5071
|
+
// If the dropdown is not open, disconnect the focus trap if it exists
|
|
5072
|
+
this.focusTrap.disconnect();
|
|
5073
|
+
this.focusTrap = undefined;
|
|
5074
|
+
}
|
|
5075
|
+
|
|
4745
5076
|
/**
|
|
4746
5077
|
* Function to support @focusout event.
|
|
4747
5078
|
* @private
|
|
@@ -4902,14 +5233,13 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
4902
5233
|
* @returns {void}
|
|
4903
5234
|
*/
|
|
4904
5235
|
handleTriggerContentSlotChange(event) {
|
|
4905
|
-
|
|
4906
5236
|
this.floater.handleTriggerTabIndex();
|
|
4907
5237
|
|
|
4908
5238
|
// Get the trigger
|
|
4909
5239
|
const trigger = this.shadowRoot.querySelector('#trigger');
|
|
4910
5240
|
|
|
4911
5241
|
// Get the trigger slot
|
|
4912
|
-
const triggerSlot = this.shadowRoot.querySelector('.
|
|
5242
|
+
const triggerSlot = this.shadowRoot.querySelector('.triggerContentWrapper slot');
|
|
4913
5243
|
|
|
4914
5244
|
// If there's a trigger slot
|
|
4915
5245
|
if (triggerSlot) {
|
|
@@ -4972,7 +5302,6 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
4972
5302
|
*
|
|
4973
5303
|
* @private
|
|
4974
5304
|
* @method handleDefaultSlot
|
|
4975
|
-
* @param {Event} event - The event object representing the slot change.
|
|
4976
5305
|
* @fires Function#onSlotChange - Optional callback invoked when the slot content changes.
|
|
4977
5306
|
*/
|
|
4978
5307
|
handleDefaultSlot() {
|
|
@@ -4983,33 +5312,10 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
4983
5312
|
}
|
|
4984
5313
|
|
|
4985
5314
|
/**
|
|
5315
|
+
* Returns HTML for the common portion of the layouts.
|
|
4986
5316
|
* @private
|
|
4987
|
-
* @
|
|
4988
|
-
* @
|
|
4989
|
-
* @description Handles the slot change event for the label slot.
|
|
4990
|
-
*/
|
|
4991
|
-
handleLabelSlotChange (event) {
|
|
4992
|
-
|
|
4993
|
-
// Get the nodes from the event
|
|
4994
|
-
const nodes = event.target.assignedNodes();
|
|
4995
|
-
|
|
4996
|
-
// Guard clause for no nodes
|
|
4997
|
-
if (!nodes) {
|
|
4998
|
-
return;
|
|
4999
|
-
}
|
|
5000
|
-
|
|
5001
|
-
// Convert the nodes to a measurable array so we can get the length
|
|
5002
|
-
const nodesArr = Array.from(nodes);
|
|
5003
|
-
|
|
5004
|
-
// If the nodes array has a length, the dropdown is labeled
|
|
5005
|
-
this.labeled = nodesArr.length > 0;
|
|
5006
|
-
}
|
|
5007
|
-
|
|
5008
|
-
/**
|
|
5009
|
-
* Returns HTML for the common portion of the layouts.
|
|
5010
|
-
* @private
|
|
5011
|
-
* @param {Object} helpTextClasses - Classes to apply to the help text container.
|
|
5012
|
-
* @returns {html} - Returns HTML.
|
|
5317
|
+
* @param {Object} helpTextClasses - Classes to apply to the help text container.
|
|
5318
|
+
* @returns {html} - Returns HTML.
|
|
5013
5319
|
*/
|
|
5014
5320
|
renderBasicHtml(helpTextClasses) {
|
|
5015
5321
|
return u`
|
|
@@ -5019,22 +5325,17 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
5019
5325
|
class="${e(this.commonWrapperClasses)}" part="wrapper"
|
|
5020
5326
|
tabindex="${this.tabIndex}"
|
|
5021
5327
|
role="${o(this.triggerContentFocusable ? undefined : this.a11yRole)}"
|
|
5022
|
-
aria-expanded="${o(this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
|
|
5023
|
-
aria-controls="${o(this.triggerContentFocusable ? undefined : this.dropdownId)}"
|
|
5328
|
+
aria-expanded="${o(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
|
|
5329
|
+
aria-controls="${o(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.dropdownId)}"
|
|
5024
5330
|
aria-labelledby="${o(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
|
|
5025
5331
|
@focusin="${this.handleFocusin}"
|
|
5026
5332
|
@blur="${this.handleFocusOut}">
|
|
5027
|
-
<div class="triggerContentWrapper">
|
|
5028
|
-
<
|
|
5029
|
-
|
|
5030
|
-
|
|
5031
|
-
<div class="triggerContent">
|
|
5032
|
-
<slot
|
|
5033
|
-
name="trigger"
|
|
5034
|
-
@slotchange="${this.handleTriggerContentSlotChange}"></slot>
|
|
5035
|
-
</div>
|
|
5333
|
+
<div class="triggerContentWrapper" id="triggerLabel">
|
|
5334
|
+
<slot
|
|
5335
|
+
name="trigger"
|
|
5336
|
+
@slotchange="${this.handleTriggerContentSlotChange}"></slot>
|
|
5036
5337
|
</div>
|
|
5037
|
-
${this.chevron
|
|
5338
|
+
${this.chevron ? u`
|
|
5038
5339
|
<div
|
|
5039
5340
|
id="showStateIcon"
|
|
5040
5341
|
class="chevron"
|
|
@@ -5055,11 +5356,9 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
5055
5356
|
<div id="bibSizer" part="size"></div>
|
|
5056
5357
|
<${this.dropdownBibTag}
|
|
5057
5358
|
id="bib"
|
|
5359
|
+
shape="${this.shape}"
|
|
5058
5360
|
?data-show="${this.isPopoverVisible}"
|
|
5059
|
-
?isfullscreen="${this.isBibFullscreen}"
|
|
5060
|
-
?common="${this.common}"
|
|
5061
|
-
?rounded="${this.common || this.rounded}"
|
|
5062
|
-
?inset="${this.common || this.inset}">
|
|
5361
|
+
?isfullscreen="${this.isBibFullscreen}">
|
|
5063
5362
|
<div class="slotContent">
|
|
5064
5363
|
<slot @slotchange="${this.handleDefaultSlot}"></slot>
|
|
5065
5364
|
</div>
|
|
@@ -5074,62 +5373,13 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
5074
5373
|
* @returns {html} - Returns HTML for the classic layout.
|
|
5075
5374
|
*/
|
|
5076
5375
|
renderLayoutClassic() {
|
|
5376
|
+
// TODO: check with Doug why this was never used?
|
|
5377
|
+
const helpTextClasses = {
|
|
5378
|
+
'helpText': true
|
|
5379
|
+
};
|
|
5077
5380
|
|
|
5078
5381
|
return u`
|
|
5079
|
-
|
|
5080
|
-
<div
|
|
5081
|
-
id="trigger"
|
|
5082
|
-
class="trigger"
|
|
5083
|
-
part="trigger"
|
|
5084
|
-
tabindex="${this.tabIndex}"
|
|
5085
|
-
?showBorder="${this.showTriggerBorders}"
|
|
5086
|
-
role="${o(this.triggerContentFocusable ? undefined : this.a11yRole)}"
|
|
5087
|
-
aria-expanded="${o(this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
|
|
5088
|
-
aria-controls="${o(this.triggerContentFocusable ? undefined : this.dropdownId)}"
|
|
5089
|
-
aria-labelledby="${o(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
|
|
5090
|
-
>
|
|
5091
|
-
<div class="triggerContentWrapper">
|
|
5092
|
-
<label class="label" id="triggerLabel" hasTrigger=${this.hasTriggerContent}>
|
|
5093
|
-
<slot name="label" @slotchange="${this.handleLabelSlotChange}"></slot>
|
|
5094
|
-
</label>
|
|
5095
|
-
<div class="triggerContent">
|
|
5096
|
-
<slot
|
|
5097
|
-
name="trigger"
|
|
5098
|
-
@slotchange="${this.handleTriggerContentSlotChange}"></slot>
|
|
5099
|
-
</div>
|
|
5100
|
-
</div>
|
|
5101
|
-
${this.chevron || this.common ? u`
|
|
5102
|
-
<div
|
|
5103
|
-
id="showStateIcon"
|
|
5104
|
-
part="chevron">
|
|
5105
|
-
<${this.iconTag}
|
|
5106
|
-
category="interface"
|
|
5107
|
-
name="chevron-down"
|
|
5108
|
-
?onDark="${this.onDark}"
|
|
5109
|
-
variant="${this.disabled ? 'disabled' : 'muted'}">
|
|
5110
|
-
>
|
|
5111
|
-
</${this.iconTag}>
|
|
5112
|
-
</div>
|
|
5113
|
-
` : undefined }
|
|
5114
|
-
</div>
|
|
5115
|
-
<${this.helpTextTag} part="helpText" ?onDark=${this.onDark} ?error="${this.error}">
|
|
5116
|
-
<slot name="helpText"></slot>
|
|
5117
|
-
</${this.helpTextTag}>
|
|
5118
|
-
|
|
5119
|
-
<div id="bibSizer" part="size"></div>
|
|
5120
|
-
<${this.dropdownBibTag}
|
|
5121
|
-
id="bib"
|
|
5122
|
-
?data-show="${this.isPopoverVisible}"
|
|
5123
|
-
?isfullscreen="${this.isBibFullscreen}"
|
|
5124
|
-
?common="${this.common}"
|
|
5125
|
-
?rounded="${this.common || this.rounded}"
|
|
5126
|
-
?inset="${this.common || this.inset}"
|
|
5127
|
-
>
|
|
5128
|
-
<div class="slotContent">
|
|
5129
|
-
<slot @slotchange="${this.handleDefaultSlot}"></slot>
|
|
5130
|
-
</div>
|
|
5131
|
-
</${this.dropdownBibTag}>
|
|
5132
|
-
</div>
|
|
5382
|
+
${this.renderBasicHtml(helpTextClasses)}
|
|
5133
5383
|
`;
|
|
5134
5384
|
}
|
|
5135
5385
|
|
|
@@ -5197,9 +5447,9 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
5197
5447
|
|
|
5198
5448
|
var dropdownVersion = '3.0.0';
|
|
5199
5449
|
|
|
5200
|
-
var colorCss$
|
|
5450
|
+
var colorCss$3$1 = i$5`#headerContainer{box-shadow:var(--ds-auro-dropdownbib-header-boxshadow-color)}#footerContainer{background-color:var(--ds-auro-dropdownbib-footer-container-color)}`;
|
|
5201
5451
|
|
|
5202
|
-
var styleCss$
|
|
5452
|
+
var styleCss$4$1 = i$5`#bibTemplate{display:flex;overflow:hidden;height:100%;max-height:100%;flex-direction:column}#headerContainer{display:flex;flex-direction:column}#header{display:flex;width:100%;min-height:var(--ds-size-1000, 5rem);box-sizing:border-box;align-items:end;padding-top:var(--ds-size-400, 2rem);padding-right:var(--ds-size-700, 3.5rem);padding-left:var(--ds-size-200, 1rem);pointer-events:none}#subheader{width:100%}#subheader ::slotted([auro-input]){box-sizing:border-box;padding:0 var(--ds-size-200, 1rem)}#closeButton{position:absolute;top:var(--ds-size-400, 2rem);right:var(--ds-size-200, 1rem);border:none;background-color:transparent;cursor:pointer}#bodyContainer{position:relative;overflow:auto;flex:1 1 100%}:host([isfullscreen]) #bibTemplate{max-height:100dvh}:host([isfullscreen]) #bodyContainer{margin-top:var(--ds-size-100, 0.5rem)}#footerContainer{position:absolute;right:0;bottom:0;left:0;padding:var(--ds-size-200, 1rem)}`;
|
|
5203
5453
|
|
|
5204
5454
|
var tokenCss = i$5`:host{--ds-auro-dropdownbib-header-boxshadow-color: var(--ds-elevation-200, 0px 0px 10px rgba(0, 0, 0, 0.15));--ds-auro-dropdownbib-footer-container-color: var(--ds-basic-color-surface-default, #ffffff)}`;
|
|
5205
5455
|
|
|
@@ -5208,111 +5458,1205 @@ var tokenCss = i$5`:host{--ds-auro-dropdownbib-header-boxshadow-color: var(--ds-
|
|
|
5208
5458
|
|
|
5209
5459
|
// ---------------------------------------------------------------------
|
|
5210
5460
|
|
|
5211
|
-
/* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
|
|
5461
|
+
/* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
|
|
5462
|
+
|
|
5463
|
+
let AuroLibraryRuntimeUtils$3 = class AuroLibraryRuntimeUtils {
|
|
5464
|
+
|
|
5465
|
+
/* eslint-disable jsdoc/require-param */
|
|
5466
|
+
|
|
5467
|
+
/**
|
|
5468
|
+
* This will register a new custom element with the browser.
|
|
5469
|
+
* @param {String} name - The name of the custom element.
|
|
5470
|
+
* @param {Object} componentClass - The class to register as a custom element.
|
|
5471
|
+
* @returns {void}
|
|
5472
|
+
*/
|
|
5473
|
+
registerComponent(name, componentClass) {
|
|
5474
|
+
if (!customElements.get(name)) {
|
|
5475
|
+
customElements.define(name, class extends componentClass {});
|
|
5476
|
+
}
|
|
5477
|
+
}
|
|
5478
|
+
|
|
5479
|
+
/**
|
|
5480
|
+
* Finds and returns the closest HTML Element based on a selector.
|
|
5481
|
+
* @returns {void}
|
|
5482
|
+
*/
|
|
5483
|
+
closestElement(
|
|
5484
|
+
selector, // selector like in .closest()
|
|
5485
|
+
base = this, // extra functionality to skip a parent
|
|
5486
|
+
__Closest = (el, found = el && el.closest(selector)) =>
|
|
5487
|
+
!el || el === document || el === window
|
|
5488
|
+
? null // standard .closest() returns null for non-found selectors also
|
|
5489
|
+
: found
|
|
5490
|
+
? found // found a selector INside this element
|
|
5491
|
+
: __Closest(el.getRootNode().host) // recursion!! break out to parent DOM
|
|
5492
|
+
) {
|
|
5493
|
+
return __Closest(base);
|
|
5494
|
+
}
|
|
5495
|
+
/* eslint-enable jsdoc/require-param */
|
|
5496
|
+
|
|
5497
|
+
/**
|
|
5498
|
+
* If the element passed is registered with a different tag name than what is passed in, the tag name is added as an attribute to the element.
|
|
5499
|
+
* @param {Object} elem - The element to check.
|
|
5500
|
+
* @param {String} tagName - The name of the Auro component to check for or add as an attribute.
|
|
5501
|
+
* @returns {void}
|
|
5502
|
+
*/
|
|
5503
|
+
handleComponentTagRename(elem, tagName) {
|
|
5504
|
+
const tag = tagName.toLowerCase();
|
|
5505
|
+
const elemTag = elem.tagName.toLowerCase();
|
|
5506
|
+
|
|
5507
|
+
if (elemTag !== tag) {
|
|
5508
|
+
elem.setAttribute(tag, true);
|
|
5509
|
+
}
|
|
5510
|
+
}
|
|
5511
|
+
|
|
5512
|
+
/**
|
|
5513
|
+
* Validates if an element is a specific Auro component.
|
|
5514
|
+
* @param {Object} elem - The element to validate.
|
|
5515
|
+
* @param {String} tagName - The name of the Auro component to check against.
|
|
5516
|
+
* @returns {Boolean} - Returns true if the element is the specified Auro component.
|
|
5517
|
+
*/
|
|
5518
|
+
elementMatch(elem, tagName) {
|
|
5519
|
+
const tag = tagName.toLowerCase();
|
|
5520
|
+
const elemTag = elem.tagName.toLowerCase();
|
|
5521
|
+
|
|
5522
|
+
return elemTag === tag || elem.hasAttribute(tag);
|
|
5523
|
+
}
|
|
5524
|
+
};
|
|
5525
|
+
|
|
5526
|
+
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
5527
|
+
// See LICENSE in the project root for license information.
|
|
5528
|
+
|
|
5529
|
+
|
|
5530
|
+
class AuroDependencyVersioning {
|
|
5531
|
+
|
|
5532
|
+
/**
|
|
5533
|
+
* Generates a unique string to be used for child auro element naming.
|
|
5534
|
+
* @private
|
|
5535
|
+
* @param {string} baseName - Defines the first part of the unique element name.
|
|
5536
|
+
* @param {string} version - Version of the component that will be appended to the baseName.
|
|
5537
|
+
* @returns {string} - Unique string to be used for naming.
|
|
5538
|
+
*/
|
|
5539
|
+
generateElementName(baseName, version) {
|
|
5540
|
+
let result = baseName;
|
|
5541
|
+
|
|
5542
|
+
result += '-';
|
|
5543
|
+
result += version.replace(/[.]/g, '_');
|
|
5544
|
+
|
|
5545
|
+
return result;
|
|
5546
|
+
}
|
|
5547
|
+
|
|
5548
|
+
/**
|
|
5549
|
+
* Generates a unique string to be used for child auro element naming.
|
|
5550
|
+
* @param {string} baseName - Defines the first part of the unique element name.
|
|
5551
|
+
* @param {string} version - Version of the component that will be appended to the baseName.
|
|
5552
|
+
* @returns {string} - Unique string to be used for naming.
|
|
5553
|
+
*/
|
|
5554
|
+
generateTag(baseName, version, tagClass) {
|
|
5555
|
+
const elementName = this.generateElementName(baseName, version);
|
|
5556
|
+
const tag = i`${s(elementName)}`;
|
|
5557
|
+
|
|
5558
|
+
if (!customElements.get(elementName)) {
|
|
5559
|
+
customElements.define(elementName, class extends tagClass {});
|
|
5560
|
+
}
|
|
5561
|
+
|
|
5562
|
+
return tag;
|
|
5563
|
+
}
|
|
5564
|
+
}
|
|
5565
|
+
|
|
5566
|
+
/**
|
|
5567
|
+
* Private module-level WeakMap to hold MutationObservers for each host element.
|
|
5568
|
+
*/
|
|
5569
|
+
const _observers = new WeakMap();
|
|
5570
|
+
|
|
5571
|
+
/**
|
|
5572
|
+
* Private module-level WeakMap to hold attribute matchers and targets for each host element.
|
|
5573
|
+
* Structure: {
|
|
5574
|
+
* host: {
|
|
5575
|
+
* matchers: Set<Function>,
|
|
5576
|
+
* targets: Map<HTMLElement, Map<Function, {removeOriginal: boolean, currentAttributes: Map<string, string>}>>
|
|
5577
|
+
* }
|
|
5578
|
+
* }
|
|
5579
|
+
*/
|
|
5580
|
+
const _transportConfig = new WeakMap();
|
|
5581
|
+
|
|
5582
|
+
/**
|
|
5583
|
+
* Transfers all matching attributes from a host element to a target element and observes for future changes.
|
|
5584
|
+
*
|
|
5585
|
+
* @param {Object} params - The parameters for the function.
|
|
5586
|
+
* @param {HTMLElement} params.host - The host element from which attributes will be transported.
|
|
5587
|
+
* @param {HTMLElement} params.target - The target element to which attributes will be transported.
|
|
5588
|
+
* @param {boolean} [params.removeOriginal=true] - Whether to remove the attributes from the host element.
|
|
5589
|
+
* @param {boolean} [params.observe=true] - Whether to attach a MutationObserver to the host element.
|
|
5590
|
+
* @returns {Function} A function to detach the observer when no longer needed.
|
|
5591
|
+
* @throws {TypeError} If the host or target parameters are not instances of HTMLElement.
|
|
5592
|
+
*/
|
|
5593
|
+
const transportAttributes = ({ host, target, match, removeOriginal = true }) => {
|
|
5594
|
+
// Guard Clause: Ensure host is valid HTMLElement instance
|
|
5595
|
+
if (typeof host !== 'object' || !(host instanceof HTMLElement)) {
|
|
5596
|
+
throw new TypeError('a11yUtilities.js | transportAttributes | The "host" parameter must be an instance of HTMLElement.');
|
|
5597
|
+
}
|
|
5598
|
+
|
|
5599
|
+
// Guard Clause: Ensure target is valid HTMLElement instance
|
|
5600
|
+
if (typeof target !== 'object' || !(target instanceof HTMLElement)) {
|
|
5601
|
+
throw new TypeError('a11yUtilities.js | transportAttributes | The "target" parameter must be an instance of HTMLElement.');
|
|
5602
|
+
}
|
|
5603
|
+
|
|
5604
|
+
// Guard Clause: Ensure match is a function
|
|
5605
|
+
if (typeof match !== 'function') {
|
|
5606
|
+
throw new TypeError('a11yUtilities.js | transportAttributes | The "match" parameter must be a function.');
|
|
5607
|
+
}
|
|
5608
|
+
|
|
5609
|
+
// Guard Clause: Ensure removeOriginal is a boolean
|
|
5610
|
+
if (typeof removeOriginal !== 'boolean') {
|
|
5611
|
+
throw new TypeError('a11yUtilities.js | transportAttributes | The "removeOriginal" parameter must be a boolean.');
|
|
5612
|
+
}
|
|
5613
|
+
|
|
5614
|
+
// Register this transport and get cleanup function
|
|
5615
|
+
return _registerTransport({
|
|
5616
|
+
host,
|
|
5617
|
+
target,
|
|
5618
|
+
matcher: match,
|
|
5619
|
+
removeOriginal
|
|
5620
|
+
});
|
|
5621
|
+
};
|
|
5622
|
+
|
|
5623
|
+
/**
|
|
5624
|
+
* Registers a matcher and target for a host element and attaches an observer if needed.
|
|
5625
|
+
*
|
|
5626
|
+
* @param {Object} params - The parameters object.
|
|
5627
|
+
* @param {HTMLElement} params.host - The host element to observe.
|
|
5628
|
+
* @param {HTMLElement} params.target - The target element to receive attributes.
|
|
5629
|
+
* @param {Function} params.matcher - Function that determines which attributes to transport.
|
|
5630
|
+
* @param {boolean} [params.removeOriginal=true] - Whether to remove original attributes.
|
|
5631
|
+
* @param {boolean} [params.observe=true] - Whether to observe for attribute changes.
|
|
5632
|
+
* @returns {Function} Function to detach the specific matcher and target pairing.
|
|
5633
|
+
* @private
|
|
5634
|
+
*/
|
|
5635
|
+
const _registerTransport = ({ host, target, matcher, removeOriginal = true }) => {
|
|
5636
|
+
// Initialize config for this host if it doesn't exist
|
|
5637
|
+
if (!_transportConfig.has(host)) {
|
|
5638
|
+
_transportConfig.set(host, {
|
|
5639
|
+
matchers: new Set(),
|
|
5640
|
+
targets: new Map()
|
|
5641
|
+
});
|
|
5642
|
+
}
|
|
5643
|
+
|
|
5644
|
+
const config = _transportConfig.get(host);
|
|
5645
|
+
|
|
5646
|
+
// Add the matcher to the set of matchers for this host
|
|
5647
|
+
config.matchers.add(matcher);
|
|
5648
|
+
|
|
5649
|
+
// Initialize target entry if it doesn't exist
|
|
5650
|
+
if (!config.targets.has(target)) {
|
|
5651
|
+
config.targets.set(target, new Map());
|
|
5652
|
+
}
|
|
5653
|
+
|
|
5654
|
+
// Store the matcher with its removeOriginal setting for this target
|
|
5655
|
+
config.targets.get(target).set(matcher, {
|
|
5656
|
+
removeOriginal,
|
|
5657
|
+
currentAttributes: new Map()
|
|
5658
|
+
});
|
|
5659
|
+
|
|
5660
|
+
// Perform initial attribute transport
|
|
5661
|
+
_transportAttributes({ host, target, matcher, removeOriginal });
|
|
5662
|
+
|
|
5663
|
+
// Attach observer
|
|
5664
|
+
_attachObserver(host);
|
|
5665
|
+
|
|
5666
|
+
// Return cleanup function and utility functions
|
|
5667
|
+
return {
|
|
5668
|
+
cleanup: () => _cleanupTransport(host, target, matcher),
|
|
5669
|
+
getObservedAttributes: () => _getObservedAttributes(host, target, matcher),
|
|
5670
|
+
getObservedAttribute: (attr) => _getObservedAttribute(host, target, matcher, attr),
|
|
5671
|
+
}
|
|
5672
|
+
};
|
|
5673
|
+
|
|
5674
|
+
/**
|
|
5675
|
+
* Cleans up resources associated with a specific matcher and target for a host element.
|
|
5676
|
+
*
|
|
5677
|
+
* @param {HTMLElement} host - The host element
|
|
5678
|
+
* @param {HTMLElement} target - The target element
|
|
5679
|
+
* @param {Function} matcher - The matcher function
|
|
5680
|
+
* @private
|
|
5681
|
+
*/
|
|
5682
|
+
const _cleanupTransport = (host, target, matcher) => {
|
|
5683
|
+
const config = _transportConfig.get(host);
|
|
5684
|
+
if (!config) return;
|
|
5685
|
+
|
|
5686
|
+
// Remove this matcher from this target
|
|
5687
|
+
const targetMatchers = config.targets.get(target);
|
|
5688
|
+
if (targetMatchers) {
|
|
5689
|
+
targetMatchers.delete(matcher);
|
|
5690
|
+
|
|
5691
|
+
// If this target has no more matchers, remove it
|
|
5692
|
+
if (targetMatchers.size === 0) {
|
|
5693
|
+
config.targets.delete(target);
|
|
5694
|
+
}
|
|
5695
|
+
}
|
|
5696
|
+
|
|
5697
|
+
// Check if this matcher is still used by any target
|
|
5698
|
+
let matcherStillUsed = false;
|
|
5699
|
+
for (const matcherMap of config.targets.values()) {
|
|
5700
|
+
if (matcherMap.has(matcher)) {
|
|
5701
|
+
matcherStillUsed = true;
|
|
5702
|
+
break;
|
|
5703
|
+
}
|
|
5704
|
+
}
|
|
5705
|
+
|
|
5706
|
+
// If not used anymore, remove from matchers set
|
|
5707
|
+
if (!matcherStillUsed) {
|
|
5708
|
+
config.matchers.delete(matcher);
|
|
5709
|
+
}
|
|
5710
|
+
|
|
5711
|
+
// If no more targets or matchers, detach observer
|
|
5712
|
+
if (config.targets.size === 0 || config.matchers.size === 0) {
|
|
5713
|
+
_detachObserver(host);
|
|
5714
|
+
}
|
|
5715
|
+
};
|
|
5716
|
+
|
|
5717
|
+
/**
|
|
5718
|
+
* Generic function to transport attributes from a host element to a target element.
|
|
5719
|
+
*
|
|
5720
|
+
* @param {Object} params - The parameters object.
|
|
5721
|
+
* @param {HTMLElement} params.host - The host element from which to transport attributes.
|
|
5722
|
+
* @param {HTMLElement} params.target - The target element to which attributes will be transported.
|
|
5723
|
+
* @param {Function} params.matcher - Function that takes an attribute name and returns true if it should be transported.
|
|
5724
|
+
* @param {boolean} [params.removeOriginal=true] - Whether to remove original attributes from host.
|
|
5725
|
+
* @returns {void}
|
|
5726
|
+
* @private
|
|
5727
|
+
*/
|
|
5728
|
+
const _transportAttributes = ({ host, target, matcher, removeOriginal = true }) => {
|
|
5729
|
+
// Get a list of all matching attributes on the host element and their values
|
|
5730
|
+
const matchingAttributes = host.getAttributeNames()
|
|
5731
|
+
.filter(attr => matcher(attr))
|
|
5732
|
+
.reduce((acc, attr) => {
|
|
5733
|
+
acc[attr] = host.getAttribute(attr);
|
|
5734
|
+
return acc;
|
|
5735
|
+
}, {});
|
|
5736
|
+
|
|
5737
|
+
// Move matching attributes to the target element, removing them from the host if removeOriginal is true
|
|
5738
|
+
Object.entries(matchingAttributes).forEach(([key, value]) => {
|
|
5739
|
+
_setObservedAttribute(host, target, matcher, key, value);
|
|
5740
|
+
target.setAttribute(key, value);
|
|
5741
|
+
if (removeOriginal) {
|
|
5742
|
+
host.removeAttribute(key);
|
|
5743
|
+
}
|
|
5744
|
+
});
|
|
5745
|
+
};
|
|
5746
|
+
|
|
5747
|
+
/**
|
|
5748
|
+
* Attaches a MutationObserver to the host element to monitor attribute changes.
|
|
5749
|
+
*
|
|
5750
|
+
* @param {HTMLElement} host - The element to observe for attribute changes.
|
|
5751
|
+
* @returns {MutationObserver} The observer instance.
|
|
5752
|
+
* @private
|
|
5753
|
+
*/
|
|
5754
|
+
const _attachObserver = (host) => {
|
|
5755
|
+
// If an observer for this host already exists, return it
|
|
5756
|
+
if (_observers.has(host)) {
|
|
5757
|
+
return _observers.get(host);
|
|
5758
|
+
}
|
|
5759
|
+
|
|
5760
|
+
// Create a new MutationObserver
|
|
5761
|
+
const observer = new MutationObserver((mutations) => {
|
|
5762
|
+
const config = _transportConfig.get(host);
|
|
5763
|
+
if (!config) return;
|
|
5764
|
+
|
|
5765
|
+
// For each mutation affecting attributes
|
|
5766
|
+
mutations
|
|
5767
|
+
.filter(mutation => mutation.type === 'attributes')
|
|
5768
|
+
.forEach(mutation => {
|
|
5769
|
+
const attributeName = mutation.attributeName;
|
|
5770
|
+
|
|
5771
|
+
// Find matchers that care about this attribute
|
|
5772
|
+
for (const matcher of config.matchers) {
|
|
5773
|
+
if (matcher(attributeName)) {
|
|
5774
|
+
// For each target that uses this matcher
|
|
5775
|
+
for (const [target, matcherConfigs] of config.targets.entries()) {
|
|
5776
|
+
if (matcherConfigs.has(matcher)) {
|
|
5777
|
+
const { removeOriginal } = matcherConfigs.get(matcher);
|
|
5778
|
+
_transportAttributes({
|
|
5779
|
+
host,
|
|
5780
|
+
target,
|
|
5781
|
+
matcher,
|
|
5782
|
+
removeOriginal
|
|
5783
|
+
});
|
|
5784
|
+
}
|
|
5785
|
+
}
|
|
5786
|
+
}
|
|
5787
|
+
}
|
|
5788
|
+
});
|
|
5789
|
+
});
|
|
5790
|
+
|
|
5791
|
+
// Start observing attribute changes
|
|
5792
|
+
observer.observe(host, { attributes: true });
|
|
5793
|
+
|
|
5794
|
+
// Store the observer
|
|
5795
|
+
_observers.set(host, observer);
|
|
5796
|
+
|
|
5797
|
+
return observer;
|
|
5798
|
+
};
|
|
5799
|
+
|
|
5800
|
+
/**
|
|
5801
|
+
* Detaches and cleans up the MutationObserver for a given host element.
|
|
5802
|
+
*
|
|
5803
|
+
* @param {HTMLElement} host - The element whose observer should be detached.
|
|
5804
|
+
* @private
|
|
5805
|
+
*/
|
|
5806
|
+
const _detachObserver = (host) => {
|
|
5807
|
+
if (_observers.has(host)) {
|
|
5808
|
+
const observer = _observers.get(host);
|
|
5809
|
+
observer.disconnect();
|
|
5810
|
+
_observers.delete(host);
|
|
5811
|
+
}
|
|
5812
|
+
|
|
5813
|
+
// Clean up the transport config as well
|
|
5814
|
+
if (_transportConfig.has(host)) {
|
|
5815
|
+
_transportConfig.delete(host);
|
|
5816
|
+
}
|
|
5817
|
+
};
|
|
5818
|
+
|
|
5819
|
+
/**
|
|
5820
|
+
* Gets the matcher configuration for a specific host, target, and matcher
|
|
5821
|
+
* @param {HTMLElement} host - The host element
|
|
5822
|
+
* @param {HTMLElement} target - The target element
|
|
5823
|
+
* @param {Function} matcher - The matcher function
|
|
5824
|
+
* @returns {Object|undefined} The matcher configuration if found
|
|
5825
|
+
* @private
|
|
5826
|
+
*/
|
|
5827
|
+
const _getMatcherConfig = (host, target, matcher) => {
|
|
5828
|
+
const config = _transportConfig.get(host);
|
|
5829
|
+
if (!config) return undefined;
|
|
5830
|
+
|
|
5831
|
+
const targetMatchers = config.targets.get(target);
|
|
5832
|
+
if (!targetMatchers) return undefined;
|
|
5833
|
+
|
|
5834
|
+
return targetMatchers.get(matcher);
|
|
5835
|
+
};
|
|
5836
|
+
|
|
5837
|
+
/**
|
|
5838
|
+
* Sets an observed attribute value
|
|
5839
|
+
* @param {HTMLElement} host - The host element
|
|
5840
|
+
* @param {HTMLElement} target - The target element
|
|
5841
|
+
* @param {Function} matcher - The matcher function
|
|
5842
|
+
* @param {string} key - The attribute name
|
|
5843
|
+
* @param {string} value - The attribute value
|
|
5844
|
+
* @private
|
|
5845
|
+
*/
|
|
5846
|
+
const _setObservedAttribute = (host, target, matcher, key, value) => {
|
|
5847
|
+
const matcherConfig = _getMatcherConfig(host, target, matcher);
|
|
5848
|
+
if (matcherConfig) {
|
|
5849
|
+
matcherConfig.currentAttributes.set(key, value);
|
|
5850
|
+
}
|
|
5851
|
+
};
|
|
5852
|
+
|
|
5853
|
+
const _getObservedAttribute = (host, target, matcher, attr) => {
|
|
5854
|
+
const matcherConfig = _getMatcherConfig(host, target, matcher);
|
|
5855
|
+
if (matcherConfig) return matcherConfig.currentAttributes.get(attr);
|
|
5856
|
+
return undefined;
|
|
5857
|
+
};
|
|
5858
|
+
|
|
5859
|
+
const _getObservedAttributes = (host, target, matcher) => {
|
|
5860
|
+
const matcherConfig = _getMatcherConfig(host, target, matcher);
|
|
5861
|
+
if (matcherConfig) return Array.from(matcherConfig.currentAttributes.entries());
|
|
5862
|
+
return [];
|
|
5863
|
+
};
|
|
5864
|
+
|
|
5865
|
+
const _matchers = {
|
|
5866
|
+
'aria-': attr => attr.startsWith('aria-'),
|
|
5867
|
+
'role': attr => attr.match(/^role$/)
|
|
5868
|
+
};
|
|
5869
|
+
|
|
5870
|
+
const transportAllA11yAttributes = ({ host, target, removeOriginal = true }) => {
|
|
5871
|
+
return transportAttributes({
|
|
5872
|
+
host,
|
|
5873
|
+
target,
|
|
5874
|
+
match: attr => {
|
|
5875
|
+
for (const key in _matchers) {
|
|
5876
|
+
if (_matchers[key](attr)) return true;
|
|
5877
|
+
}
|
|
5878
|
+
return false;
|
|
5879
|
+
},
|
|
5880
|
+
removeOriginal
|
|
5881
|
+
});
|
|
5882
|
+
};
|
|
5883
|
+
|
|
5884
|
+
let AuroElement$1 = class AuroElement extends i$2 {
|
|
5885
|
+
|
|
5886
|
+
/**
|
|
5887
|
+
* @type {Object} return object from transportAttributes via a11yUtilities
|
|
5888
|
+
* @property {Function} cleanup - Function to clean up the attribute watcher.
|
|
5889
|
+
* @property {Function} getCurrentAttributes - Function to get the current attributes being watched and their values.
|
|
5890
|
+
* @property {Function} getObservedAttribute - Function to get the value of a specific observed attribute by name.
|
|
5891
|
+
* @private
|
|
5892
|
+
*/
|
|
5893
|
+
attributeWatcher;
|
|
5894
|
+
|
|
5895
|
+
static get properties() {
|
|
5896
|
+
return {
|
|
5897
|
+
|
|
5898
|
+
/**
|
|
5899
|
+
* Defines the layout of an element.
|
|
5900
|
+
* @default {'default'}
|
|
5901
|
+
*/
|
|
5902
|
+
layout: {
|
|
5903
|
+
type: String,
|
|
5904
|
+
attribute: "layout",
|
|
5905
|
+
reflect: true
|
|
5906
|
+
},
|
|
5907
|
+
|
|
5908
|
+
/**
|
|
5909
|
+
* Defines the shape of an element.
|
|
5910
|
+
* @property {'default', 'rounded', 'pill', 'circle'}
|
|
5911
|
+
* @default {'default'}
|
|
5912
|
+
*/
|
|
5913
|
+
shape: {
|
|
5914
|
+
type: String,
|
|
5915
|
+
attribute: "shape",
|
|
5916
|
+
reflect: true
|
|
5917
|
+
},
|
|
5918
|
+
|
|
5919
|
+
/**
|
|
5920
|
+
* Defines the size of an element.
|
|
5921
|
+
* @property {'xs', 'sm', 'md', 'lg', 'xl'}
|
|
5922
|
+
* @default {'md'}
|
|
5923
|
+
*/
|
|
5924
|
+
size: {
|
|
5925
|
+
type: String,
|
|
5926
|
+
attribute: "size",
|
|
5927
|
+
reflect: true
|
|
5928
|
+
},
|
|
5929
|
+
|
|
5930
|
+
/**
|
|
5931
|
+
* This Boolean attribute lets you specify that the element should be rendered in dark mode.
|
|
5932
|
+
* @default {false}
|
|
5933
|
+
*/
|
|
5934
|
+
onDark: {
|
|
5935
|
+
type: Boolean,
|
|
5936
|
+
attribute: "ondark",
|
|
5937
|
+
reflect: true
|
|
5938
|
+
},
|
|
5939
|
+
|
|
5940
|
+
/**
|
|
5941
|
+
* A reference to the wrapper element in the shadow DOM.
|
|
5942
|
+
* This is used to apply layout and shape classes dynamically.
|
|
5943
|
+
* @type {HTMLElement|null}
|
|
5944
|
+
* @default {null}
|
|
5945
|
+
* @private
|
|
5946
|
+
*/
|
|
5947
|
+
wrapper: {
|
|
5948
|
+
attribute: false,
|
|
5949
|
+
reflect: false
|
|
5950
|
+
}
|
|
5951
|
+
};
|
|
5952
|
+
}
|
|
5953
|
+
|
|
5954
|
+
|
|
5955
|
+
|
|
5956
|
+
resetShapeClasses() {
|
|
5957
|
+
if (this.shape && this.size) {
|
|
5958
|
+
|
|
5959
|
+
if (this.wrapper) {
|
|
5960
|
+
this.wrapper.classList.forEach((className) => {
|
|
5961
|
+
if (className.startsWith('shape-')) {
|
|
5962
|
+
this.wrapper.classList.remove(className);
|
|
5963
|
+
}
|
|
5964
|
+
});
|
|
5965
|
+
|
|
5966
|
+
this.wrapper.classList.add(`shape-${this.shape.toLowerCase()}-${this.size.toLowerCase()}`);
|
|
5967
|
+
}
|
|
5968
|
+
}
|
|
5969
|
+
}
|
|
5970
|
+
|
|
5971
|
+
resetLayoutClasses() {
|
|
5972
|
+
if (this.layout) {
|
|
5973
|
+
if (this.wrapper) {
|
|
5974
|
+
this.wrapper.classList.forEach((className) => {
|
|
5975
|
+
if (className.startsWith('layout-')) {
|
|
5976
|
+
this.wrapper.classList.remove(className);
|
|
5977
|
+
}
|
|
5978
|
+
});
|
|
5979
|
+
|
|
5980
|
+
this.wrapper.classList.add(`layout-${this.layout.toLowerCase()}`);
|
|
5981
|
+
}
|
|
5982
|
+
}
|
|
5983
|
+
}
|
|
5984
|
+
|
|
5985
|
+
updateComponentArchitecture() {
|
|
5986
|
+
this.resetLayoutClasses();
|
|
5987
|
+
this.resetShapeClasses();
|
|
5988
|
+
}
|
|
5989
|
+
|
|
5990
|
+
updated(changedProperties) {
|
|
5991
|
+
if (changedProperties.has('layout') || changedProperties.has('shape') || changedProperties.has('size')) {
|
|
5992
|
+
this.updateComponentArchitecture();
|
|
5993
|
+
}
|
|
5994
|
+
}
|
|
5995
|
+
|
|
5996
|
+
firstUpdated() {
|
|
5997
|
+
super.firstUpdated();
|
|
5998
|
+
|
|
5999
|
+
// Set a reference to the wrapper element in the shadow DOM
|
|
6000
|
+
this.wrapper = this.shadowRoot.querySelector('.wrapper');
|
|
6001
|
+
|
|
6002
|
+
// Initialize the transportation of ARIA attributes to the target element and get the disconnect function for cleanup
|
|
6003
|
+
this.attributeWatcher = transportAllA11yAttributes({ host: this, target: this.shadowRoot.querySelector('.wrapper') });
|
|
6004
|
+
}
|
|
6005
|
+
|
|
6006
|
+
disconnectedCallback() {
|
|
6007
|
+
super.disconnectedCallback();
|
|
6008
|
+
|
|
6009
|
+
// Cleanup the ARIA observer if it exists
|
|
6010
|
+
if (this.attributeWatcher) {
|
|
6011
|
+
this.attributeWatcher.cleanup();
|
|
6012
|
+
this.attributeWatcher = null;
|
|
6013
|
+
}
|
|
6014
|
+
}
|
|
6015
|
+
|
|
6016
|
+
// Try to render the defined `this.layout` layout. If that fails, fall back to the default layout.
|
|
6017
|
+
// This will catch if an invalid layout value is passed in and render the default layout if so.
|
|
6018
|
+
render() {
|
|
6019
|
+
try {
|
|
6020
|
+
return this.renderLayout();
|
|
6021
|
+
} catch (error) {
|
|
6022
|
+
// failed to get the defined layout
|
|
6023
|
+
console.error('Failed to get the defined layout - using the default layout', error); // eslint-disable-line no-console
|
|
6024
|
+
|
|
6025
|
+
// fallback to the default layout
|
|
6026
|
+
return this.getLayout('default');
|
|
6027
|
+
}
|
|
6028
|
+
}
|
|
6029
|
+
};
|
|
6030
|
+
|
|
6031
|
+
var styleCss$3$1 = i$5`:focus:not(:focus-visible){outline:3px solid transparent}.util_insetNone{padding:0}.util_insetXxxs{padding:.125rem}.util_insetXxxs--stretch{padding:.25rem .125rem}.util_insetXxxs--squish{padding:0 .125rem}.util_insetXxs{padding:.25rem}.util_insetXxs--stretch{padding:.375rem .25rem}.util_insetXxs--squish{padding:.125rem .25rem}.util_insetXs{padding:.5rem}.util_insetXs--stretch{padding:.75rem .5rem}.util_insetXs--squish{padding:.25rem .5rem}.util_insetSm{padding:.75rem}.util_insetSm--stretch{padding:1.125rem .75rem}.util_insetSm--squish{padding:.375rem .75rem}.util_insetMd{padding:1rem}.util_insetMd--stretch{padding:1.5rem 1rem}.util_insetMd--squish{padding:.5rem 1rem}.util_insetLg{padding:1.5rem}.util_insetLg--stretch{padding:2.25rem 1.5rem}.util_insetLg--squish{padding:.75rem 1.5rem}.util_insetXl{padding:2rem}.util_insetXl--stretch{padding:3rem 2rem}.util_insetXl--squish{padding:1rem 2rem}.util_insetXxl{padding:3rem}.util_insetXxl--stretch{padding:4.5rem 3rem}.util_insetXxl--squish{padding:1.5rem 3rem}.util_insetXxxl{padding:4rem}.util_insetXxxl--stretch{padding:6rem 4rem}.util_insetXxxl--squish{padding:2rem 4rem}.body-default{font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5)}.body-default,.body-lg{font-family:var(--wcss-body-family, "AS Circular", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.63)}.body-sm{font-size:var(--wcss-body-sm-font-size, 0.875rem);line-height:var(--wcss-body-sm-line-height, 1.25)}.body-sm,.body-xs{font-family:var(--wcss-body-family, "AS Circular", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs{font-size:var(--wcss-body-xs-font-size, 0.75rem);line-height:var(--wcss-body-xs-line-height, 1)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-body-2xs-font-size, 0.625rem);font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0);line-height:var(--wcss-body-2xs-line-height, 0.88)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));font-weight:var(--wcss-display-2xl-weight, 300);letter-spacing:var(--wcss-display-2xl-letter-spacing, 0);line-height:var(--wcss-display-2xl-line-height, 1.3)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));font-weight:var(--wcss-display-xl-weight, 300);letter-spacing:var(--wcss-display-xl-letter-spacing, 0);line-height:var(--wcss-display-xl-line-height, 1.3)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));font-weight:var(--wcss-display-lg-weight, 300);letter-spacing:var(--wcss-display-lg-letter-spacing, 0);line-height:var(--wcss-display-lg-line-height, 1.3)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));font-weight:var(--wcss-display-md-weight, 300);letter-spacing:var(--wcss-display-md-letter-spacing, 0);line-height:var(--wcss-display-md-line-height, 1.3)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));font-weight:var(--wcss-display-sm-weight, 300);letter-spacing:var(--wcss-display-sm-letter-spacing, 0);line-height:var(--wcss-display-sm-line-height, 1.3)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));font-weight:var(--wcss-display-xs-weight, 300);letter-spacing:var(--wcss-display-xs-letter-spacing, 0);line-height:var(--wcss-display-xs-line-height, 1.3)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));font-weight:var(--wcss-heading-xl-weight, 300);letter-spacing:var(--wcss-heading-xl-letter-spacing, 0);line-height:var(--wcss-heading-xl-line-height, 1.3)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));font-weight:var(--wcss-heading-lg-weight, 300);letter-spacing:var(--wcss-heading-lg-letter-spacing, 0);line-height:var(--wcss-heading-lg-line-height, 1.3)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));font-weight:var(--wcss-heading-md-weight, 300);letter-spacing:var(--wcss-heading-md-letter-spacing, 0);line-height:var(--wcss-heading-md-line-height, 1.3)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));font-weight:var(--wcss-heading-sm-weight, 300);letter-spacing:var(--wcss-heading-sm-letter-spacing, 0);line-height:var(--wcss-heading-sm-line-height, 1.3)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));font-weight:var(--wcss-heading-xs-weight, 450);letter-spacing:var(--wcss-heading-xs-letter-spacing, 0);line-height:var(--wcss-heading-xs-line-height, 1.3)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));font-weight:var(--wcss-heading-2xs-weight, 450);letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0);line-height:var(--wcss-heading-2xs-line-height, 1.3)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));font-weight:var(--wcss-accent-2xl-weight, 450);letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);line-height:var(--wcss-accent-2xl-line-height, 1)}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));font-weight:var(--wcss-accent-xl-weight, 450);letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);line-height:var(--wcss-accent-xl-line-height, 1.3)}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));font-weight:var(--wcss-accent-lg-weight, 450);letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);line-height:var(--wcss-accent-lg-line-height, 1.3)}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));font-weight:var(--wcss-accent-md-weight, 500);letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);line-height:var(--wcss-accent-md-line-height, 1.3)}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));font-weight:var(--wcss-accent-sm-weight, 500);letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);line-height:var(--wcss-accent-sm-line-height, 1.3)}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));font-weight:var(--wcss-accent-xs-weight, 500);letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);line-height:var(--wcss-accent-xs-line-height, 1.3)}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);line-height:var(--wcss-accent-2xs-line-height, 1.3)}.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}:host([size=xs][shape=rounded]) ::slotted(auro-icon),:host([size=xs][shape=rounded]) ::slotted([auro-icon]){--ds-auro-icon-size: var(--ds-size-200, 1rem)}:host([size=xs][shape=rounded][variant=primary]) .auro-button:focus,:host([size=xs][shape=rounded][variant=primary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 5px var(--ds-auro-button-border-inset-color)}:host([size=xs][shape=rounded][variant=primary]) .auro-button:focus:after,:host([size=xs][shape=rounded][variant=primary]) .auro-button:focus-visible:after{content:"";position:absolute;border-radius:inherit;box-sizing:content-box;top:0;left:0;width:calc(100% - 2px);height:calc(100% - 2px);border:1px solid var(--ds-auro-button-border-color)}:host([size=xs][shape=rounded][variant=secondary]) .auro-button:focus,:host([size=xs][shape=rounded][variant=secondary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 4px var(--ds-auro-button-border-inset-color)}:host([size=xs][shape=rounded][variant=tertiary]) .auro-button:focus,:host([size=xs][shape=rounded][variant=tertiary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 4px var(--ds-auro-button-border-inset-color)}:host([size=xs][shape=rounded][variant=ghost]) .auro-button:focus,:host([size=xs][shape=rounded][variant=ghost]) .auro-button:focus-visible{box-shadow:inset 0 0 0 1px var(--ds-auro-button-border-inset-color)}:host([size=xs][shape=pill]) ::slotted(auro-icon),:host([size=xs][shape=pill]) ::slotted([auro-icon]){--ds-auro-icon-size: var(--ds-size-200, 1rem)}:host([size=xs][shape=pill][variant=primary]) .auro-button:focus,:host([size=xs][shape=pill][variant=primary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 5px var(--ds-auro-button-border-inset-color)}:host([size=xs][shape=pill][variant=primary]) .auro-button:focus:after,:host([size=xs][shape=pill][variant=primary]) .auro-button:focus-visible:after{content:"";position:absolute;border-radius:inherit;box-sizing:content-box;top:0;left:0;width:calc(100% - 2px);height:calc(100% - 2px);border:1px solid var(--ds-auro-button-border-color)}:host([size=xs][shape=pill][variant=secondary]) .auro-button:focus,:host([size=xs][shape=pill][variant=secondary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 4px var(--ds-auro-button-border-inset-color)}:host([size=xs][shape=pill][variant=tertiary]) .auro-button:focus,:host([size=xs][shape=pill][variant=tertiary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 4px var(--ds-auro-button-border-inset-color)}:host([size=xs][shape=pill][variant=ghost]) .auro-button:focus,:host([size=xs][shape=pill][variant=ghost]) .auro-button:focus-visible{box-shadow:inset 0 0 0 1px var(--ds-auro-button-border-inset-color)}:host([size=xs][shape=pill-left]) ::slotted(auro-icon),:host([size=xs][shape=pill-left]) ::slotted([auro-icon]){--ds-auro-icon-size: var(--ds-size-200, 1rem)}:host([size=xs][shape=pill-left][variant=primary]) .auro-button:focus,:host([size=xs][shape=pill-left][variant=primary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 5px var(--ds-auro-button-border-inset-color)}:host([size=xs][shape=pill-left][variant=primary]) .auro-button:focus:after,:host([size=xs][shape=pill-left][variant=primary]) .auro-button:focus-visible:after{content:"";position:absolute;border-radius:inherit;box-sizing:content-box;top:0;left:0;width:calc(100% - 2px);height:calc(100% - 2px);border:1px solid var(--ds-auro-button-border-color)}:host([size=xs][shape=pill-left][variant=secondary]) .auro-button:focus,:host([size=xs][shape=pill-left][variant=secondary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 4px var(--ds-auro-button-border-inset-color)}:host([size=xs][shape=pill-left][variant=tertiary]) .auro-button:focus,:host([size=xs][shape=pill-left][variant=tertiary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 4px var(--ds-auro-button-border-inset-color)}:host([size=xs][shape=pill-left][variant=ghost]) .auro-button:focus,:host([size=xs][shape=pill-left][variant=ghost]) .auro-button:focus-visible{box-shadow:inset 0 0 0 1px var(--ds-auro-button-border-inset-color)}:host([size=xs][shape=pill-right]) ::slotted(auro-icon),:host([size=xs][shape=pill-right]) ::slotted([auro-icon]){--ds-auro-icon-size: var(--ds-size-200, 1rem)}:host([size=xs][shape=pill-right][variant=primary]) .auro-button:focus,:host([size=xs][shape=pill-right][variant=primary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 5px var(--ds-auro-button-border-inset-color)}:host([size=xs][shape=pill-right][variant=primary]) .auro-button:focus:after,:host([size=xs][shape=pill-right][variant=primary]) .auro-button:focus-visible:after{content:"";position:absolute;border-radius:inherit;box-sizing:content-box;top:0;left:0;width:calc(100% - 2px);height:calc(100% - 2px);border:1px solid var(--ds-auro-button-border-color)}:host([size=xs][shape=pill-right][variant=secondary]) .auro-button:focus,:host([size=xs][shape=pill-right][variant=secondary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 4px var(--ds-auro-button-border-inset-color)}:host([size=xs][shape=pill-right][variant=tertiary]) .auro-button:focus,:host([size=xs][shape=pill-right][variant=tertiary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 4px var(--ds-auro-button-border-inset-color)}:host([size=xs][shape=pill-right][variant=ghost]) .auro-button:focus,:host([size=xs][shape=pill-right][variant=ghost]) .auro-button:focus-visible{box-shadow:inset 0 0 0 1px var(--ds-auro-button-border-inset-color)}:host([size=xs][shape=circle]) ::slotted(auro-icon),:host([size=xs][shape=circle]) ::slotted([auro-icon]){--ds-auro-icon-size: var(--ds-size-300, 1.5rem)}:host([size=xs][shape=circle][variant=primary]) .auro-button:focus,:host([size=xs][shape=circle][variant=primary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 2px var(--ds-auro-button-border-inset-color)}:host([size=xs][shape=circle][variant=primary]) .auro-button:focus:after,:host([size=xs][shape=circle][variant=primary]) .auro-button:focus-visible:after{content:"";position:absolute;border-radius:inherit;box-sizing:content-box;top:0;left:0;width:calc(100% - 2px);height:calc(100% - 2px);border:1px solid var(--ds-auro-button-border-color)}:host([size=xs][shape=circle][variant=secondary]) .auro-button:focus,:host([size=xs][shape=circle][variant=secondary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 1px var(--ds-auro-button-border-inset-color)}:host([size=xs][shape=circle][variant=tertiary]) .auro-button:focus,:host([size=xs][shape=circle][variant=tertiary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 2px var(--ds-auro-button-border-inset-color)}:host([size=xs][shape=circle][variant=flat]) .auro-button:focus,:host([size=xs][shape=circle][variant=flat]) .auro-button:focus-visible{box-shadow:inset 0 0 0 1px var(--ds-auro-button-border-inset-color)}:host([size=xs][shape=circle][variant=ghost]) .auro-button:focus,:host([size=xs][shape=circle][variant=ghost]) .auro-button:focus-visible{box-shadow:inset 0 0 0 1px var(--ds-auro-button-border-inset-color)}:host([size=xs][shape=square]) ::slotted(auro-icon),:host([size=xs][shape=square]) ::slotted([auro-icon]){--ds-auro-icon-size: var(--ds-size-300, 1.5rem)}:host([size=xs][shape=square][variant=primary]) .auro-button:focus,:host([size=xs][shape=square][variant=primary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 2px var(--ds-auro-button-border-inset-color)}:host([size=xs][shape=square][variant=primary]) .auro-button:focus:after,:host([size=xs][shape=square][variant=primary]) .auro-button:focus-visible:after{content:"";position:absolute;border-radius:inherit;box-sizing:content-box;top:0;left:0;width:calc(100% - 2px);height:calc(100% - 2px);border:1px solid var(--ds-auro-button-border-color)}:host([size=xs][shape=square][variant=secondary]) .auro-button:focus,:host([size=xs][shape=square][variant=secondary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 1px var(--ds-auro-button-border-inset-color)}:host([size=xs][shape=square][variant=tertiary]) .auro-button:focus,:host([size=xs][shape=square][variant=tertiary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 2px var(--ds-auro-button-border-inset-color)}:host([size=xs][shape=square][variant=flat]) .auro-button:focus,:host([size=xs][shape=square][variant=flat]) .auro-button:focus-visible{box-shadow:inset 0 0 0 1px var(--ds-auro-button-border-inset-color)}:host([size=xs][shape=square][variant=ghost]) .auro-button:focus,:host([size=xs][shape=square][variant=ghost]) .auro-button:focus-visible{box-shadow:inset 0 0 0 1px var(--ds-auro-button-border-inset-color)}:host([size=sm][shape=rounded]) ::slotted(auro-icon),:host([size=sm][shape=rounded]) ::slotted([auro-icon]){--ds-auro-icon-size: var(--ds-size-300, 1.5rem)}:host([size=sm][shape=rounded][variant=primary]) .auro-button:focus,:host([size=sm][shape=rounded][variant=primary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 5px var(--ds-auro-button-border-inset-color)}:host([size=sm][shape=rounded][variant=primary]) .auro-button:focus:after,:host([size=sm][shape=rounded][variant=primary]) .auro-button:focus-visible:after{content:"";position:absolute;border-radius:inherit;box-sizing:content-box;top:0;left:0;width:calc(100% - 2px);height:calc(100% - 2px);border:1px solid var(--ds-auro-button-border-color)}:host([size=sm][shape=rounded][variant=secondary]) .auro-button:focus,:host([size=sm][shape=rounded][variant=secondary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 4px var(--ds-auro-button-border-inset-color)}:host([size=sm][shape=rounded][variant=tertiary]) .auro-button:focus,:host([size=sm][shape=rounded][variant=tertiary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 4px var(--ds-auro-button-border-inset-color)}:host([size=sm][shape=rounded][variant=ghost]) .auro-button:focus,:host([size=sm][shape=rounded][variant=ghost]) .auro-button:focus-visible{box-shadow:inset 0 0 0 1px var(--ds-auro-button-border-inset-color)}:host([size=sm][shape=pill]) ::slotted(auro-icon),:host([size=sm][shape=pill]) ::slotted([auro-icon]){--ds-auro-icon-size: var(--ds-size-300, 1.5rem)}:host([size=sm][shape=pill][variant=primary]) .auro-button:focus,:host([size=sm][shape=pill][variant=primary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 5px var(--ds-auro-button-border-inset-color)}:host([size=sm][shape=pill][variant=primary]) .auro-button:focus:after,:host([size=sm][shape=pill][variant=primary]) .auro-button:focus-visible:after{content:"";position:absolute;border-radius:inherit;box-sizing:content-box;top:0;left:0;width:calc(100% - 2px);height:calc(100% - 2px);border:1px solid var(--ds-auro-button-border-color)}:host([size=sm][shape=pill][variant=secondary]) .auro-button:focus,:host([size=sm][shape=pill][variant=secondary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 4px var(--ds-auro-button-border-inset-color)}:host([size=sm][shape=pill][variant=tertiary]) .auro-button:focus,:host([size=sm][shape=pill][variant=tertiary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 4px var(--ds-auro-button-border-inset-color)}:host([size=sm][shape=pill][variant=ghost]) .auro-button:focus,:host([size=sm][shape=pill][variant=ghost]) .auro-button:focus-visible{box-shadow:inset 0 0 0 1px var(--ds-auro-button-border-inset-color)}:host([size=sm][shape=pill-left]) ::slotted(auro-icon),:host([size=sm][shape=pill-left]) ::slotted([auro-icon]){--ds-auro-icon-size: var(--ds-size-300, 1.5rem)}:host([size=sm][shape=pill-left][variant=primary]) .auro-button:focus,:host([size=sm][shape=pill-left][variant=primary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 5px var(--ds-auro-button-border-inset-color)}:host([size=sm][shape=pill-left][variant=primary]) .auro-button:focus:after,:host([size=sm][shape=pill-left][variant=primary]) .auro-button:focus-visible:after{content:"";position:absolute;border-radius:inherit;box-sizing:content-box;top:0;left:0;width:calc(100% - 2px);height:calc(100% - 2px);border:1px solid var(--ds-auro-button-border-color)}:host([size=sm][shape=pill-left][variant=secondary]) .auro-button:focus,:host([size=sm][shape=pill-left][variant=secondary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 4px var(--ds-auro-button-border-inset-color)}:host([size=sm][shape=pill-left][variant=tertiary]) .auro-button:focus,:host([size=sm][shape=pill-left][variant=tertiary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 4px var(--ds-auro-button-border-inset-color)}:host([size=sm][shape=pill-left][variant=ghost]) .auro-button:focus,:host([size=sm][shape=pill-left][variant=ghost]) .auro-button:focus-visible{box-shadow:inset 0 0 0 1px var(--ds-auro-button-border-inset-color)}:host([size=sm][shape=pill-right]) ::slotted(auro-icon),:host([size=sm][shape=pill-right]) ::slotted([auro-icon]){--ds-auro-icon-size: var(--ds-size-300, 1.5rem)}:host([size=sm][shape=pill-right][variant=primary]) .auro-button:focus,:host([size=sm][shape=pill-right][variant=primary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 5px var(--ds-auro-button-border-inset-color)}:host([size=sm][shape=pill-right][variant=primary]) .auro-button:focus:after,:host([size=sm][shape=pill-right][variant=primary]) .auro-button:focus-visible:after{content:"";position:absolute;border-radius:inherit;box-sizing:content-box;top:0;left:0;width:calc(100% - 2px);height:calc(100% - 2px);border:1px solid var(--ds-auro-button-border-color)}:host([size=sm][shape=pill-right][variant=secondary]) .auro-button:focus,:host([size=sm][shape=pill-right][variant=secondary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 4px var(--ds-auro-button-border-inset-color)}:host([size=sm][shape=pill-right][variant=tertiary]) .auro-button:focus,:host([size=sm][shape=pill-right][variant=tertiary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 4px var(--ds-auro-button-border-inset-color)}:host([size=sm][shape=pill-right][variant=ghost]) .auro-button:focus,:host([size=sm][shape=pill-right][variant=ghost]) .auro-button:focus-visible{box-shadow:inset 0 0 0 1px var(--ds-auro-button-border-inset-color)}:host([size=sm][shape=circle]) ::slotted(auro-icon),:host([size=sm][shape=circle]) ::slotted([auro-icon]){--ds-auro-icon-size: var(--ds-size-300, 1.5rem)}:host([size=sm][shape=circle][variant=primary]) .auro-button:focus,:host([size=sm][shape=circle][variant=primary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 3px var(--ds-auro-button-border-inset-color)}:host([size=sm][shape=circle][variant=primary]) .auro-button:focus:after,:host([size=sm][shape=circle][variant=primary]) .auro-button:focus-visible:after{content:"";position:absolute;border-radius:inherit;box-sizing:content-box;top:0;left:0;width:calc(100% - 2px);height:calc(100% - 2px);border:1px solid var(--ds-auro-button-border-color)}:host([size=sm][shape=circle][variant=secondary]) .auro-button:focus,:host([size=sm][shape=circle][variant=secondary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 3px var(--ds-auro-button-border-inset-color)}:host([size=sm][shape=circle][variant=tertiary]) .auro-button:focus,:host([size=sm][shape=circle][variant=tertiary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 4px var(--ds-auro-button-border-inset-color)}:host([size=sm][shape=circle][variant=flat]) .auro-button:focus,:host([size=sm][shape=circle][variant=flat]) .auro-button:focus-visible{box-shadow:inset 0 0 0 1px var(--ds-auro-button-border-inset-color)}:host([size=sm][shape=circle][variant=ghost]) .auro-button:focus,:host([size=sm][shape=circle][variant=ghost]) .auro-button:focus-visible{box-shadow:inset 0 0 0 1px var(--ds-auro-button-border-inset-color)}:host([size=sm][shape=square]) ::slotted(auro-icon),:host([size=sm][shape=square]) ::slotted([auro-icon]){--ds-auro-icon-size: var(--ds-size-300, 1.5rem)}:host([size=sm][shape=square][variant=primary]) .auro-button:focus,:host([size=sm][shape=square][variant=primary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 3px var(--ds-auro-button-border-inset-color)}:host([size=sm][shape=square][variant=primary]) .auro-button:focus:after,:host([size=sm][shape=square][variant=primary]) .auro-button:focus-visible:after{content:"";position:absolute;border-radius:inherit;box-sizing:content-box;top:0;left:0;width:calc(100% - 2px);height:calc(100% - 2px);border:1px solid var(--ds-auro-button-border-color)}:host([size=sm][shape=square][variant=secondary]) .auro-button:focus,:host([size=sm][shape=square][variant=secondary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 3px var(--ds-auro-button-border-inset-color)}:host([size=sm][shape=square][variant=tertiary]) .auro-button:focus,:host([size=sm][shape=square][variant=tertiary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 4px var(--ds-auro-button-border-inset-color)}:host([size=sm][shape=square][variant=flat]) .auro-button:focus,:host([size=sm][shape=square][variant=flat]) .auro-button:focus-visible{box-shadow:inset 0 0 0 1px var(--ds-auro-button-border-inset-color)}:host([size=sm][shape=square][variant=ghost]) .auro-button:focus,:host([size=sm][shape=square][variant=ghost]) .auro-button:focus-visible{box-shadow:inset 0 0 0 1px var(--ds-auro-button-border-inset-color)}:host([size=md][shape=rounded]) ::slotted(auro-icon),:host([size=md][shape=rounded]) ::slotted([auro-icon]){--ds-auro-icon-size: var(--ds-size-300, 1.5rem)}:host([size=md][shape=rounded][variant=primary]) .auro-button:focus,:host([size=md][shape=rounded][variant=primary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 5px var(--ds-auro-button-border-inset-color)}:host([size=md][shape=rounded][variant=primary]) .auro-button:focus:after,:host([size=md][shape=rounded][variant=primary]) .auro-button:focus-visible:after{content:"";position:absolute;border-radius:inherit;box-sizing:content-box;top:0;left:0;width:calc(100% - 2px);height:calc(100% - 2px);border:1px solid var(--ds-auro-button-border-color)}:host([size=md][shape=rounded][variant=secondary]) .auro-button:focus,:host([size=md][shape=rounded][variant=secondary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 4px var(--ds-auro-button-border-inset-color)}:host([size=md][shape=rounded][variant=tertiary]) .auro-button:focus,:host([size=md][shape=rounded][variant=tertiary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 4px var(--ds-auro-button-border-inset-color)}:host([size=md][shape=rounded][variant=ghost]) .auro-button:focus,:host([size=md][shape=rounded][variant=ghost]) .auro-button:focus-visible{box-shadow:inset 0 0 0 1px var(--ds-auro-button-border-inset-color)}:host([size=md][shape=pill]) ::slotted(auro-icon),:host([size=md][shape=pill]) ::slotted([auro-icon]){--ds-auro-icon-size: var(--ds-size-300, 1.5rem)}:host([size=md][shape=pill][variant=primary]) .auro-button:focus,:host([size=md][shape=pill][variant=primary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 5px var(--ds-auro-button-border-inset-color)}:host([size=md][shape=pill][variant=primary]) .auro-button:focus:after,:host([size=md][shape=pill][variant=primary]) .auro-button:focus-visible:after{content:"";position:absolute;border-radius:inherit;box-sizing:content-box;top:0;left:0;width:calc(100% - 2px);height:calc(100% - 2px);border:1px solid var(--ds-auro-button-border-color)}:host([size=md][shape=pill][variant=secondary]) .auro-button:focus,:host([size=md][shape=pill][variant=secondary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 4px var(--ds-auro-button-border-inset-color)}:host([size=md][shape=pill][variant=tertiary]) .auro-button:focus,:host([size=md][shape=pill][variant=tertiary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 4px var(--ds-auro-button-border-inset-color)}:host([size=md][shape=pill][variant=ghost]) .auro-button:focus,:host([size=md][shape=pill][variant=ghost]) .auro-button:focus-visible{box-shadow:inset 0 0 0 1px var(--ds-auro-button-border-inset-color)}:host([size=md][shape=pill-left]) ::slotted(auro-icon),:host([size=md][shape=pill-left]) ::slotted([auro-icon]){--ds-auro-icon-size: var(--ds-size-300, 1.5rem)}:host([size=md][shape=pill-left][variant=primary]) .auro-button:focus,:host([size=md][shape=pill-left][variant=primary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 5px var(--ds-auro-button-border-inset-color)}:host([size=md][shape=pill-left][variant=primary]) .auro-button:focus:after,:host([size=md][shape=pill-left][variant=primary]) .auro-button:focus-visible:after{content:"";position:absolute;border-radius:inherit;box-sizing:content-box;top:0;left:0;width:calc(100% - 2px);height:calc(100% - 2px);border:1px solid var(--ds-auro-button-border-color)}:host([size=md][shape=pill-left][variant=secondary]) .auro-button:focus,:host([size=md][shape=pill-left][variant=secondary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 4px var(--ds-auro-button-border-inset-color)}:host([size=md][shape=pill-left][variant=tertiary]) .auro-button:focus,:host([size=md][shape=pill-left][variant=tertiary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 4px var(--ds-auro-button-border-inset-color)}:host([size=md][shape=pill-left][variant=ghost]) .auro-button:focus,:host([size=md][shape=pill-left][variant=ghost]) .auro-button:focus-visible{box-shadow:inset 0 0 0 1px var(--ds-auro-button-border-inset-color)}:host([size=md][shape=pill-right]) ::slotted(auro-icon),:host([size=md][shape=pill-right]) ::slotted([auro-icon]){--ds-auro-icon-size: var(--ds-size-300, 1.5rem)}:host([size=md][shape=pill-right][variant=primary]) .auro-button:focus,:host([size=md][shape=pill-right][variant=primary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 5px var(--ds-auro-button-border-inset-color)}:host([size=md][shape=pill-right][variant=primary]) .auro-button:focus:after,:host([size=md][shape=pill-right][variant=primary]) .auro-button:focus-visible:after{content:"";position:absolute;border-radius:inherit;box-sizing:content-box;top:0;left:0;width:calc(100% - 2px);height:calc(100% - 2px);border:1px solid var(--ds-auro-button-border-color)}:host([size=md][shape=pill-right][variant=secondary]) .auro-button:focus,:host([size=md][shape=pill-right][variant=secondary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 4px var(--ds-auro-button-border-inset-color)}:host([size=md][shape=pill-right][variant=tertiary]) .auro-button:focus,:host([size=md][shape=pill-right][variant=tertiary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 4px var(--ds-auro-button-border-inset-color)}:host([size=md][shape=pill-right][variant=ghost]) .auro-button:focus,:host([size=md][shape=pill-right][variant=ghost]) .auro-button:focus-visible{box-shadow:inset 0 0 0 1px var(--ds-auro-button-border-inset-color)}:host([size=md][shape=circle]) ::slotted(auro-icon),:host([size=md][shape=circle]) ::slotted([auro-icon]){--ds-auro-icon-size: var(--ds-size-300, 1.5rem)}:host([size=md][shape=circle][variant=primary]) .auro-button:focus,:host([size=md][shape=circle][variant=primary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 4px var(--ds-auro-button-border-inset-color)}:host([size=md][shape=circle][variant=primary]) .auro-button:focus:after,:host([size=md][shape=circle][variant=primary]) .auro-button:focus-visible:after{content:"";position:absolute;border-radius:inherit;box-sizing:content-box;top:0;left:0;width:calc(100% - 2px);height:calc(100% - 2px);border:1px solid var(--ds-auro-button-border-color)}:host([size=md][shape=circle][variant=secondary]) .auro-button:focus,:host([size=md][shape=circle][variant=secondary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 3px var(--ds-auro-button-border-inset-color)}:host([size=md][shape=circle][variant=tertiary]) .auro-button:focus,:host([size=md][shape=circle][variant=tertiary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 4px var(--ds-auro-button-border-inset-color)}:host([size=md][shape=circle][variant=flat]) .auro-button:focus,:host([size=md][shape=circle][variant=flat]) .auro-button:focus-visible{box-shadow:inset 0 0 0 1px var(--ds-auro-button-border-inset-color)}:host([size=md][shape=circle][variant=ghost]) .auro-button:focus,:host([size=md][shape=circle][variant=ghost]) .auro-button:focus-visible{box-shadow:inset 0 0 0 1px var(--ds-auro-button-border-inset-color)}:host([size=md][shape=square]) ::slotted(auro-icon),:host([size=md][shape=square]) ::slotted([auro-icon]){--ds-auro-icon-size: var(--ds-size-300, 1.5rem)}:host([size=md][shape=square][variant=primary]) .auro-button:focus,:host([size=md][shape=square][variant=primary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 4px var(--ds-auro-button-border-inset-color)}:host([size=md][shape=square][variant=primary]) .auro-button:focus:after,:host([size=md][shape=square][variant=primary]) .auro-button:focus-visible:after{content:"";position:absolute;border-radius:inherit;box-sizing:content-box;top:0;left:0;width:calc(100% - 2px);height:calc(100% - 2px);border:1px solid var(--ds-auro-button-border-color)}:host([size=md][shape=square][variant=secondary]) .auro-button:focus,:host([size=md][shape=square][variant=secondary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 3px var(--ds-auro-button-border-inset-color)}:host([size=md][shape=square][variant=tertiary]) .auro-button:focus,:host([size=md][shape=square][variant=tertiary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 4px var(--ds-auro-button-border-inset-color)}:host([size=md][shape=square][variant=flat]) .auro-button:focus,:host([size=md][shape=square][variant=flat]) .auro-button:focus-visible{box-shadow:inset 0 0 0 1px var(--ds-auro-button-border-inset-color)}:host([size=md][shape=square][variant=ghost]) .auro-button:focus,:host([size=md][shape=square][variant=ghost]) .auro-button:focus-visible{box-shadow:inset 0 0 0 1px var(--ds-auro-button-border-inset-color)}:host([size=lg][shape=rounded]) ::slotted(auro-icon),:host([size=lg][shape=rounded]) ::slotted([auro-icon]){--ds-auro-icon-size: var(--ds-size-300, 1.5rem)}:host([size=lg][shape=rounded][variant=primary]) .auro-button:focus,:host([size=lg][shape=rounded][variant=primary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 5px var(--ds-auro-button-border-inset-color)}:host([size=lg][shape=rounded][variant=primary]) .auro-button:focus:after,:host([size=lg][shape=rounded][variant=primary]) .auro-button:focus-visible:after{content:"";position:absolute;border-radius:inherit;box-sizing:content-box;top:0;left:0;width:calc(100% - 2px);height:calc(100% - 2px);border:1px solid var(--ds-auro-button-border-color)}:host([size=lg][shape=rounded][variant=secondary]) .auro-button:focus,:host([size=lg][shape=rounded][variant=secondary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 4px var(--ds-auro-button-border-inset-color)}:host([size=lg][shape=rounded][variant=tertiary]) .auro-button:focus,:host([size=lg][shape=rounded][variant=tertiary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 4px var(--ds-auro-button-border-inset-color)}:host([size=lg][shape=rounded][variant=ghost]) .auro-button:focus,:host([size=lg][shape=rounded][variant=ghost]) .auro-button:focus-visible{box-shadow:inset 0 0 0 1px var(--ds-auro-button-border-inset-color)}:host([size=lg][shape=pill]) ::slotted(auro-icon),:host([size=lg][shape=pill]) ::slotted([auro-icon]){--ds-auro-icon-size: var(--ds-size-300, 1.5rem)}:host([size=lg][shape=pill][variant=primary]) .auro-button:focus,:host([size=lg][shape=pill][variant=primary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 5px var(--ds-auro-button-border-inset-color)}:host([size=lg][shape=pill][variant=primary]) .auro-button:focus:after,:host([size=lg][shape=pill][variant=primary]) .auro-button:focus-visible:after{content:"";position:absolute;border-radius:inherit;box-sizing:content-box;top:0;left:0;width:calc(100% - 2px);height:calc(100% - 2px);border:1px solid var(--ds-auro-button-border-color)}:host([size=lg][shape=pill][variant=secondary]) .auro-button:focus,:host([size=lg][shape=pill][variant=secondary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 4px var(--ds-auro-button-border-inset-color)}:host([size=lg][shape=pill][variant=tertiary]) .auro-button:focus,:host([size=lg][shape=pill][variant=tertiary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 4px var(--ds-auro-button-border-inset-color)}:host([size=lg][shape=pill][variant=ghost]) .auro-button:focus,:host([size=lg][shape=pill][variant=ghost]) .auro-button:focus-visible{box-shadow:inset 0 0 0 1px var(--ds-auro-button-border-inset-color)}:host([size=lg][shape=pill-left]) ::slotted(auro-icon),:host([size=lg][shape=pill-left]) ::slotted([auro-icon]){--ds-auro-icon-size: var(--ds-size-300, 1.5rem)}:host([size=lg][shape=pill-left][variant=primary]) .auro-button:focus,:host([size=lg][shape=pill-left][variant=primary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 5px var(--ds-auro-button-border-inset-color)}:host([size=lg][shape=pill-left][variant=primary]) .auro-button:focus:after,:host([size=lg][shape=pill-left][variant=primary]) .auro-button:focus-visible:after{content:"";position:absolute;border-radius:inherit;box-sizing:content-box;top:0;left:0;width:calc(100% - 2px);height:calc(100% - 2px);border:1px solid var(--ds-auro-button-border-color)}:host([size=lg][shape=pill-left][variant=secondary]) .auro-button:focus,:host([size=lg][shape=pill-left][variant=secondary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 4px var(--ds-auro-button-border-inset-color)}:host([size=lg][shape=pill-left][variant=tertiary]) .auro-button:focus,:host([size=lg][shape=pill-left][variant=tertiary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 4px var(--ds-auro-button-border-inset-color)}:host([size=lg][shape=pill-left][variant=ghost]) .auro-button:focus,:host([size=lg][shape=pill-left][variant=ghost]) .auro-button:focus-visible{box-shadow:inset 0 0 0 1px var(--ds-auro-button-border-inset-color)}:host([size=lg][shape=pill-right]) ::slotted(auro-icon),:host([size=lg][shape=pill-right]) ::slotted([auro-icon]){--ds-auro-icon-size: var(--ds-size-300, 1.5rem)}:host([size=lg][shape=pill-right][variant=primary]) .auro-button:focus,:host([size=lg][shape=pill-right][variant=primary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 5px var(--ds-auro-button-border-inset-color)}:host([size=lg][shape=pill-right][variant=primary]) .auro-button:focus:after,:host([size=lg][shape=pill-right][variant=primary]) .auro-button:focus-visible:after{content:"";position:absolute;border-radius:inherit;box-sizing:content-box;top:0;left:0;width:calc(100% - 2px);height:calc(100% - 2px);border:1px solid var(--ds-auro-button-border-color)}:host([size=lg][shape=pill-right][variant=secondary]) .auro-button:focus,:host([size=lg][shape=pill-right][variant=secondary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 4px var(--ds-auro-button-border-inset-color)}:host([size=lg][shape=pill-right][variant=tertiary]) .auro-button:focus,:host([size=lg][shape=pill-right][variant=tertiary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 4px var(--ds-auro-button-border-inset-color)}:host([size=lg][shape=pill-right][variant=ghost]) .auro-button:focus,:host([size=lg][shape=pill-right][variant=ghost]) .auro-button:focus-visible{box-shadow:inset 0 0 0 1px var(--ds-auro-button-border-inset-color)}:host([size=lg][shape=circle]) ::slotted(auro-icon),:host([size=lg][shape=circle]) ::slotted([auro-icon]){--ds-auro-icon-size: calc(var(--ds-size-300, 1.5rem) + var(--ds-size-50, 0.25rem))}:host([size=lg][shape=circle][variant=primary]) .auro-button:focus,:host([size=lg][shape=circle][variant=primary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 4.33px var(--ds-auro-button-border-inset-color)}:host([size=lg][shape=circle][variant=primary]) .auro-button:focus:after,:host([size=lg][shape=circle][variant=primary]) .auro-button:focus-visible:after{content:"";position:absolute;border-radius:inherit;box-sizing:content-box;top:0;left:0;width:calc(100% - 2px);height:calc(100% - 2px);border:1px solid var(--ds-auro-button-border-color)}:host([size=lg][shape=circle][variant=secondary]) .auro-button:focus,:host([size=lg][shape=circle][variant=secondary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 3px var(--ds-auro-button-border-inset-color)}:host([size=lg][shape=circle][variant=tertiary]) .auro-button:focus,:host([size=lg][shape=circle][variant=tertiary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 4px var(--ds-auro-button-border-inset-color)}:host([size=lg][shape=circle][variant=flat]) .auro-button:focus,:host([size=lg][shape=circle][variant=flat]) .auro-button:focus-visible{box-shadow:inset 0 0 0 1px var(--ds-auro-button-border-inset-color)}:host([size=lg][shape=circle][variant=ghost]) .auro-button:focus,:host([size=lg][shape=circle][variant=ghost]) .auro-button:focus-visible{box-shadow:inset 0 0 0 1px var(--ds-auro-button-border-inset-color)}:host([size=lg][shape=square]) ::slotted(auro-icon),:host([size=lg][shape=square]) ::slotted([auro-icon]){--ds-auro-icon-size: calc(var(--ds-size-300, 1.5rem) + var(--ds-size-50, 0.25rem))}:host([size=lg][shape=square][variant=primary]) .auro-button:focus,:host([size=lg][shape=square][variant=primary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 4.33px var(--ds-auro-button-border-inset-color)}:host([size=lg][shape=square][variant=primary]) .auro-button:focus:after,:host([size=lg][shape=square][variant=primary]) .auro-button:focus-visible:after{content:"";position:absolute;border-radius:inherit;box-sizing:content-box;top:0;left:0;width:calc(100% - 2px);height:calc(100% - 2px);border:1px solid var(--ds-auro-button-border-color)}:host([size=lg][shape=square][variant=secondary]) .auro-button:focus,:host([size=lg][shape=square][variant=secondary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 3px var(--ds-auro-button-border-inset-color)}:host([size=lg][shape=square][variant=tertiary]) .auro-button:focus,:host([size=lg][shape=square][variant=tertiary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 4px var(--ds-auro-button-border-inset-color)}:host([size=lg][shape=square][variant=flat]) .auro-button:focus,:host([size=lg][shape=square][variant=flat]) .auro-button:focus-visible{box-shadow:inset 0 0 0 1px var(--ds-auro-button-border-inset-color)}:host([size=lg][shape=square][variant=ghost]) .auro-button:focus,:host([size=lg][shape=square][variant=ghost]) .auro-button:focus-visible{box-shadow:inset 0 0 0 1px var(--ds-auro-button-border-inset-color)}:host([size=xl][shape=rounded]) ::slotted(auro-icon),:host([size=xl][shape=rounded]) ::slotted([auro-icon]){--ds-auro-icon-size: var(--ds-size-300, 1.5rem)}:host([size=xl][shape=rounded][variant=primary]) .auro-button:focus,:host([size=xl][shape=rounded][variant=primary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 5px var(--ds-auro-button-border-inset-color)}:host([size=xl][shape=rounded][variant=primary]) .auro-button:focus:after,:host([size=xl][shape=rounded][variant=primary]) .auro-button:focus-visible:after{content:"";position:absolute;border-radius:inherit;box-sizing:content-box;top:0;left:0;width:calc(100% - 2px);height:calc(100% - 2px);border:1px solid var(--ds-auro-button-border-color)}:host([size=xl][shape=rounded][variant=secondary]) .auro-button:focus,:host([size=xl][shape=rounded][variant=secondary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 4px var(--ds-auro-button-border-inset-color)}:host([size=xl][shape=rounded][variant=tertiary]) .auro-button:focus,:host([size=xl][shape=rounded][variant=tertiary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 4px var(--ds-auro-button-border-inset-color)}:host([size=xl][shape=rounded][variant=ghost]) .auro-button:focus,:host([size=xl][shape=rounded][variant=ghost]) .auro-button:focus-visible{box-shadow:inset 0 0 0 1px var(--ds-auro-button-border-inset-color)}:host([size=xl][shape=pill]) ::slotted(auro-icon),:host([size=xl][shape=pill]) ::slotted([auro-icon]){--ds-auro-icon-size: var(--ds-size-300, 1.5rem)}:host([size=xl][shape=pill][variant=primary]) .auro-button:focus,:host([size=xl][shape=pill][variant=primary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 5px var(--ds-auro-button-border-inset-color)}:host([size=xl][shape=pill][variant=primary]) .auro-button:focus:after,:host([size=xl][shape=pill][variant=primary]) .auro-button:focus-visible:after{content:"";position:absolute;border-radius:inherit;box-sizing:content-box;top:0;left:0;width:calc(100% - 2px);height:calc(100% - 2px);border:1px solid var(--ds-auro-button-border-color)}:host([size=xl][shape=pill][variant=secondary]) .auro-button:focus,:host([size=xl][shape=pill][variant=secondary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 4px var(--ds-auro-button-border-inset-color)}:host([size=xl][shape=pill][variant=tertiary]) .auro-button:focus,:host([size=xl][shape=pill][variant=tertiary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 4px var(--ds-auro-button-border-inset-color)}:host([size=xl][shape=pill][variant=ghost]) .auro-button:focus,:host([size=xl][shape=pill][variant=ghost]) .auro-button:focus-visible{box-shadow:inset 0 0 0 1px var(--ds-auro-button-border-inset-color)}:host([size=xl][shape=pill-left]) ::slotted(auro-icon),:host([size=xl][shape=pill-left]) ::slotted([auro-icon]){--ds-auro-icon-size: var(--ds-size-300, 1.5rem)}:host([size=xl][shape=pill-left][variant=primary]) .auro-button:focus,:host([size=xl][shape=pill-left][variant=primary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 5px var(--ds-auro-button-border-inset-color)}:host([size=xl][shape=pill-left][variant=primary]) .auro-button:focus:after,:host([size=xl][shape=pill-left][variant=primary]) .auro-button:focus-visible:after{content:"";position:absolute;border-radius:inherit;box-sizing:content-box;top:0;left:0;width:calc(100% - 2px);height:calc(100% - 2px);border:1px solid var(--ds-auro-button-border-color)}:host([size=xl][shape=pill-left][variant=secondary]) .auro-button:focus,:host([size=xl][shape=pill-left][variant=secondary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 4px var(--ds-auro-button-border-inset-color)}:host([size=xl][shape=pill-left][variant=tertiary]) .auro-button:focus,:host([size=xl][shape=pill-left][variant=tertiary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 4px var(--ds-auro-button-border-inset-color)}:host([size=xl][shape=pill-left][variant=ghost]) .auro-button:focus,:host([size=xl][shape=pill-left][variant=ghost]) .auro-button:focus-visible{box-shadow:inset 0 0 0 1px var(--ds-auro-button-border-inset-color)}:host([size=xl][shape=pill-right]) ::slotted(auro-icon),:host([size=xl][shape=pill-right]) ::slotted([auro-icon]){--ds-auro-icon-size: var(--ds-size-300, 1.5rem)}:host([size=xl][shape=pill-right][variant=primary]) .auro-button:focus,:host([size=xl][shape=pill-right][variant=primary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 5px var(--ds-auro-button-border-inset-color)}:host([size=xl][shape=pill-right][variant=primary]) .auro-button:focus:after,:host([size=xl][shape=pill-right][variant=primary]) .auro-button:focus-visible:after{content:"";position:absolute;border-radius:inherit;box-sizing:content-box;top:0;left:0;width:calc(100% - 2px);height:calc(100% - 2px);border:1px solid var(--ds-auro-button-border-color)}:host([size=xl][shape=pill-right][variant=secondary]) .auro-button:focus,:host([size=xl][shape=pill-right][variant=secondary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 4px var(--ds-auro-button-border-inset-color)}:host([size=xl][shape=pill-right][variant=tertiary]) .auro-button:focus,:host([size=xl][shape=pill-right][variant=tertiary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 4px var(--ds-auro-button-border-inset-color)}:host([size=xl][shape=pill-right][variant=ghost]) .auro-button:focus,:host([size=xl][shape=pill-right][variant=ghost]) .auro-button:focus-visible{box-shadow:inset 0 0 0 1px var(--ds-auro-button-border-inset-color)}:host([size=xl][shape=circle]) ::slotted(auro-icon),:host([size=xl][shape=circle]) ::slotted([auro-icon]){--ds-auro-icon-size: calc(var(--ds-size-400, 2rem) + var(--ds-size-50, 0.25rem))}:host([size=xl][shape=circle][variant=primary]) .auro-button:focus,:host([size=xl][shape=circle][variant=primary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 5px var(--ds-auro-button-border-inset-color)}:host([size=xl][shape=circle][variant=primary]) .auro-button:focus:after,:host([size=xl][shape=circle][variant=primary]) .auro-button:focus-visible:after{content:"";position:absolute;border-radius:inherit;box-sizing:content-box;top:0;left:0;width:calc(100% - 2px);height:calc(100% - 2px);border:1px solid var(--ds-auro-button-border-color)}:host([size=xl][shape=circle][variant=secondary]) .auro-button:focus,:host([size=xl][shape=circle][variant=secondary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 3px var(--ds-auro-button-border-inset-color)}:host([size=xl][shape=circle][variant=tertiary]) .auro-button:focus,:host([size=xl][shape=circle][variant=tertiary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 4px var(--ds-auro-button-border-inset-color)}:host([size=xl][shape=circle][variant=flat]) .auro-button:focus,:host([size=xl][shape=circle][variant=flat]) .auro-button:focus-visible{box-shadow:inset 0 0 0 1px var(--ds-auro-button-border-inset-color)}:host([size=xl][shape=circle][variant=ghost]) .auro-button:focus,:host([size=xl][shape=circle][variant=ghost]) .auro-button:focus-visible{box-shadow:inset 0 0 0 1px var(--ds-auro-button-border-inset-color)}:host([size=xl][shape=square]) ::slotted(auro-icon),:host([size=xl][shape=square]) ::slotted([auro-icon]){--ds-auro-icon-size: calc(var(--ds-size-400, 2rem) + var(--ds-size-50, 0.25rem))}:host([size=xl][shape=square][variant=primary]) .auro-button:focus,:host([size=xl][shape=square][variant=primary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 5px var(--ds-auro-button-border-inset-color)}:host([size=xl][shape=square][variant=primary]) .auro-button:focus:after,:host([size=xl][shape=square][variant=primary]) .auro-button:focus-visible:after{content:"";position:absolute;border-radius:inherit;box-sizing:content-box;top:0;left:0;width:calc(100% - 2px);height:calc(100% - 2px);border:1px solid var(--ds-auro-button-border-color)}:host([size=xl][shape=square][variant=secondary]) .auro-button:focus,:host([size=xl][shape=square][variant=secondary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 3px var(--ds-auro-button-border-inset-color)}:host([size=xl][shape=square][variant=tertiary]) .auro-button:focus,:host([size=xl][shape=square][variant=tertiary]) .auro-button:focus-visible{box-shadow:inset 0 0 0 4px var(--ds-auro-button-border-inset-color)}:host([size=xl][shape=square][variant=flat]) .auro-button:focus,:host([size=xl][shape=square][variant=flat]) .auro-button:focus-visible{box-shadow:inset 0 0 0 1px var(--ds-auro-button-border-inset-color)}:host([size=xl][shape=square][variant=ghost]) .auro-button:focus,:host([size=xl][shape=square][variant=ghost]) .auro-button:focus-visible{box-shadow:inset 0 0 0 1px var(--ds-auro-button-border-inset-color)}:host([size=xs]) .inset{padding-inline:var(--ds-size-150, 0.75rem)}:host([fluid]){display:block}:host([fluid]) .auro-button{width:calc(100% - var(--ds-size-150, 0.75rem)*2)}:host([size=sm]) .inset{padding-inline:var(--ds-size-200, 1rem)}:host([fluid]){display:block}:host([fluid]) .auro-button{width:calc(100% - var(--ds-size-200, 1rem)*2)}:host([size=md]) .inset{padding-inline:var(--ds-size-300, 1.5rem)}:host([fluid]){display:block}:host([fluid]) .auro-button{width:calc(100% - var(--ds-size-300, 1.5rem)*2)}:host([size=lg]) .inset{padding-inline:var(--ds-size-400, 2rem)}:host([fluid]){display:block}:host([fluid]) .auro-button{width:calc(100% - var(--ds-size-400, 2rem)*2)}:host([size=xl]) .inset{padding-inline:var(--ds-size-500, 2.5rem)}:host([fluid]){display:block}:host([fluid]) .auro-button{width:calc(100% - var(--ds-size-500, 2.5rem)*2)}:host([shape=circle]) ::slotted(:not(auro-icon):not([auro-icon])){position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}:host([shape=square]) ::slotted(:not(auro-icon):not([auro-icon])){position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}:host([variant=flat]){display:inline-block}::slotted(svg){vertical-align:middle}slot{pointer-events:none}:host{display:inline-block;overflow:hidden}.auro-button{position:relative;cursor:pointer;padding:0 var(--ds-size-300, 1.5rem);padding-inline:unset;padding-block:unset;box-sizing:content-box;overflow:hidden;text-overflow:ellipsis;user-select:none;white-space:nowrap;outline:none;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:var(--ds-size-100, 0.5rem);margin:0;-webkit-touch-callout:none;-webkit-user-select:none;transition:padding 300ms ease-out}.auro-button:focus,.auro-button:focus-visible{outline:none}.auro-button:active{transform:scale(0.95)}.auro-button.loading{cursor:not-allowed}.auro-button.loading *:not([auro-loader]){visibility:hidden}@media screen and (min-width: 576px){.auro-button{width:auto}}.auro-button:disabled{cursor:not-allowed;transform:unset}`;
|
|
6032
|
+
|
|
6033
|
+
var colorCss$2$1 = i$5`[auro-loader]{color:var(--ds-auro-button-loader-color, #ffffff)}.auro-button{-webkit-tap-highlight-color:var(--ds-auro-button-tap-color);color:var(--ds-auro-button-text-color);background-color:var(--ds-auro-button-container-color);background-image:linear-gradient(var(--ds-auro-button-container-image), var(--ds-auro-button-container-image));border-color:var(--ds-auro-button-border-color)}.auro-button:not([variant=secondary]):not([variant=tertiary]):focus-visible{outline-color:var(--ds-auro-button-border-inset-color)}.auro-button:not([ondark]):active:not(:disabled),.auro-button:not([ondark]):hover:not(:disabled){--ds-auro-button-container-color: var(--ds-advanced-color-button-primary-background-hover, #00274a);--ds-auro-button-container-image: var(--ds-advanced-color-button-primary-background-hover, #00274a);--ds-auro-button-border-color: var(--ds-advanced-color-button-primary-border-hover, #00274a)}.auro-button:not([ondark]):disabled{--ds-auro-button-container-color: var(--ds-advanced-color-button-primary-background-disabled, #acc9e2);--ds-auro-button-container-image: var(--ds-advanced-color-button-primary-background-disabled, #acc9e2);--ds-auro-button-border-color: var(--ds-advanced-color-button-primary-border-disabled, #acc9e2)}.auro-button:not([ondark])[variant=secondary]{--ds-auro-button-container-color: var(--ds-advanced-color-button-secondary-background, #ffffff);--ds-auro-button-container-image: var(--ds-advanced-color-button-secondary-background, #ffffff);--ds-auro-button-border-color: var(--ds-advanced-color-button-secondary-border, #01426a);--ds-auro-button-text-color: var(--ds-advanced-color-button-secondary-text, #01426a);--ds-auro-button-loader-color: var(--ds-advanced-color-button-secondary-text, #01426a)}.auro-button:not([ondark])[variant=secondary]:active:not(:disabled),.auro-button:not([ondark])[variant=secondary]:hover:not(:disabled){--ds-auro-button-container-color: var(--ds-advanced-color-button-secondary-background-hover, #f2f2f2);--ds-auro-button-container-image: var(--ds-advanced-color-button-secondary-background-hover, #f2f2f2);--ds-auro-button-border-color: var(--ds-advanced-color-button-secondary-border-hover, #00274a);--ds-auro-button-text-color: var(--ds-advanced-color-button-secondary-text-hover, #00274a)}.auro-button:not([ondark])[variant=secondary]:focus,.auro-button:not([ondark])[variant=secondary]:focus-visible{--ds-auro-button-border-inset-color: var(--ds-advanced-color-state-focused, #01426a)}.auro-button:not([ondark])[variant=secondary]:disabled{--ds-auro-button-container-color: var(--ds-advanced-color-button-secondary-background-disabled, #f7f7f7);--ds-auro-button-container-image: var(--ds-advanced-color-button-secondary-background-disabled, #f7f7f7);--ds-auro-button-border-color: var(--ds-advanced-color-button-secondary-border-disabled, #cfe0ef);--ds-auro-button-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0)}.auro-button:not([ondark])[variant=tertiary]{--ds-auro-button-container-color: var(--ds-advanced-color-button-tertiary-background, rgba(0, 0, 0, 0.05));--ds-auro-button-container-image: var(--ds-advanced-color-button-tertiary-background, rgba(0, 0, 0, 0.05));--ds-auro-button-border-color: transparent;--ds-auro-button-text-color: var(--ds-advanced-color-button-tertiary-text, #01426a);--ds-auro-button-loader-color: var(--ds-advanced-color-button-tertiary-text, #01426a)}.auro-button:not([ondark])[variant=tertiary]:active:not(:disabled),.auro-button:not([ondark])[variant=tertiary]:hover:not(:disabled){--ds-auro-button-container-color: var(--ds-advanced-color-button-tertiary-background-hover, rgba(0, 0, 0, 0.1));--ds-auro-button-container-image: var(--ds-advanced-color-button-tertiary-background-hover, rgba(0, 0, 0, 0.1));--ds-auro-button-border-color: transparent}.auro-button:not([ondark])[variant=tertiary]:focus,.auro-button:not([ondark])[variant=tertiary]:focus-visible{--ds-auro-button-border-color: var(--ds-advanced-color-state-focused, #01426a);--ds-auro-button-border-inset-color: var(--ds-advanced-color-state-focused, #01426a)}.auro-button:not([ondark])[variant=tertiary]:disabled{--ds-auro-button-border-color: transparent;--ds-auro-button-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0)}.auro-button:not([ondark])[variant=ghost]{--ds-auro-button-container-color: transparent;--ds-auro-button-container-image: transparent;--ds-auro-button-border-color: transparent;--ds-auro-button-text-color: var(--ds-advanced-color-button-ghost-text, #01426a);--ds-auro-button-loader-color: var(--ds-advanced-color-button-ghost-text, #01426a)}.auro-button:not([ondark])[variant=ghost]:active:not(:disabled),.auro-button:not([ondark])[variant=ghost]:hover:not(:disabled){--ds-auro-button-container-color: var(--ds-advanced-color-button-ghost-background-hover, rgba(0, 0, 0, 0.05));--ds-auro-button-container-image: var(--ds-advanced-color-button-ghost-background-hover, rgba(0, 0, 0, 0.05));--ds-auro-button-border-color: transparent}.auro-button:not([ondark])[variant=ghost]:focus,.auro-button:not([ondark])[variant=ghost]:focus-visible{border-color:transparent;--ds-auro-button-border-color: var(--ds-advanced-color-state-focused, #01426a);--ds-auro-button-border-inset-color: var(--ds-advanced-color-state-focused, #01426a)}.auro-button:not([ondark])[variant=ghost]:disabled{--ds-auro-button-border-color: transparent;--ds-auro-button-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0)}.auro-button:not([ondark])[variant=flat]{color:var(--ds-advanced-color-button-flat-text, #676767);background-color:transparent;background-image:none;border-color:transparent}.auro-button:not([ondark])[variant=flat]:active:not(:disabled),.auro-button:not([ondark])[variant=flat]:hover:not(:disabled){color:var(--ds-advanced-color-button-flat-text-hover, #525252);background-color:transparent;background-image:none;border-color:transparent}.auro-button:not([ondark])[variant=flat]:disabled{color:var(--ds-advanced-color-button-flat-text-disabled, #d0d0d0);background-color:transparent;background-image:none;border-color:transparent}.auro-button:not([ondark])[variant=flat]:focus,.auro-button:not([ondark])[variant=flat]:focus-visible{--ds-auro-button-border-color: var(--ds-advanced-color-state-focused, #01426a);--ds-auro-button-border-inset-color: var(--ds-advanced-color-state-focused, #01426a)}.auro-button[ondark]{--ds-auro-button-border-color: var(--ds-advanced-color-button-primary-border-inverse, #ffffff);--ds-auro-button-container-color: var(--ds-advanced-color-button-primary-background-inverse, #ffffff);--ds-auro-button-container-image: var(--ds-advanced-color-button-primary-background-inverse, #ffffff);--ds-auro-button-text-color: var(--ds-advanced-color-button-primary-text-inverse, #01426a);--ds-auro-button-loader-color: var(--ds-advanced-color-button-primary-text-inverse, #01426a)}.auro-button[ondark]:active:not(:disabled),.auro-button[ondark]:hover:not(:disabled){--ds-auro-button-border-color: var(--ds-advanced-color-button-primary-border-inverse-hover, #ebf3f9);--ds-auro-button-container-color: var(--ds-advanced-color-button-primary-background-inverse-hover, #ebf3f9);--ds-auro-button-container-image: var(--ds-advanced-color-button-primary-background-inverse-hover, #ebf3f9)}.auro-button[ondark]:focus,.auro-button[ondark]:focus-visible{--ds-auro-button-border-inset-color: var(--ds-advanced-color-state-focused, #01426a)}.auro-button[ondark]:disabled{--ds-auro-button-border-color: var(--ds-advanced-color-button-primary-border-inverse-disabled, rgba(255, 255, 255, 0.75));--ds-auro-button-container-color: var(--ds-advanced-color-button-primary-background-inverse-disabled, rgba(255, 255, 255, 0.75));--ds-auro-button-container-image: var(--ds-advanced-color-button-primary-background-inverse-disabled, rgba(255, 255, 255, 0.75));--ds-auro-button-text-color: var(--ds-basic-color-texticon-inverse-disabled, #7e8894)}.auro-button[ondark][variant=secondary]{--ds-auro-button-container-color: transparent;--ds-auro-button-container-image: transparent;--ds-auro-button-border-color: var(--ds-advanced-color-button-secondary-border-inverse, #ffffff);--ds-auro-button-text-color: var(--ds-advanced-color-button-secondary-text-inverse, #ffffff);--ds-auro-button-loader-color: var(--ds-advanced-color-button-secondary-text-inverse, #ffffff)}.auro-button[ondark][variant=secondary]:active:not(:disabled),.auro-button[ondark][variant=secondary]:hover:not(:disabled){--ds-auro-button-container-color: var(--ds-advanced-color-button-secondary-background-inverse-hover, rgba(255, 255, 255, 0.1));--ds-auro-button-container-image: var(--ds-advanced-color-button-secondary-background-inverse-hover, rgba(255, 255, 255, 0.1))}.auro-button[ondark][variant=secondary]:focus,.auro-button[ondark][variant=secondary]:focus-visible{--ds-auro-button-border-inset-color: var(--ds-advanced-color-state-focused-inverse, #ffffff)}.auro-button[ondark][variant=secondary]:disabled{--ds-auro-button-text-color: var(--ds-basic-color-texticon-inverse-disabled, #7e8894);--ds-auro-button-border-color: var(--ds-advanced-color-button-secondary-border-inverse-disabled, #dddddd)}.auro-button[ondark][variant=tertiary]{--ds-auro-button-container-color: var(--ds-advanced-color-button-tertiary-background-inverse, rgba(255, 255, 255, 0.05));--ds-auro-button-container-image: var(--ds-advanced-color-button-tertiary-background-inverse, rgba(255, 255, 255, 0.05));--ds-auro-button-border-color: transparent;--ds-auro-button-text-color: var(--ds-advanced-color-button-tertiary-text-inverse, #ffffff);--ds-auro-button-loader-color: var(--ds-advanced-color-button-tertiary-text-inverse, #ffffff)}.auro-button[ondark][variant=tertiary]:active:not(:disabled),.auro-button[ondark][variant=tertiary]:hover:not(:disabled){--ds-auro-button-container-color: var(--ds-advanced-color-button-tertiary-background-inverse-hover, rgba(255, 255, 255, 0.1));--ds-auro-button-container-image: var(--ds-advanced-color-button-tertiary-background-inverse-hover, rgba(255, 255, 255, 0.1))}.auro-button[ondark][variant=tertiary]:focus,.auro-button[ondark][variant=tertiary]:focus-visible{--ds-auro-button-border-color: var(--ds-advanced-color-state-focused-inverse, #ffffff);--ds-auro-button-border-inset-color: var(--ds-advanced-color-state-focused-inverse, #ffffff)}.auro-button[ondark][variant=tertiary]:disabled{--ds-auro-button-text-color: var(--ds-basic-color-texticon-inverse-disabled, #7e8894)}.auro-button[ondark][variant=ghost]{--ds-auro-button-container-color: transparent;--ds-auro-button-container-image: transparent;--ds-auro-button-border-color: transparent;--ds-auro-button-text-color: var(--ds-advanced-color-button-ghost-text-inverse, #ffffff);--ds-auro-button-loader-color: var(--ds-advanced-color-button-ghost-text-inverse, #ffffff)}.auro-button[ondark][variant=ghost]:active:not(:disabled),.auro-button[ondark][variant=ghost]:hover:not(:disabled){--ds-auro-button-container-color: var(--ds-advanced-color-button-ghost-background-inverse-hover, rgba(255, 255, 255, 0.05));--ds-auro-button-container-image: var(--ds-advanced-color-button-ghost-background-inverse-hover, rgba(255, 255, 255, 0.05));--ds-auro-button-border-color: transparent}.auro-button[ondark][variant=ghost]:focus,.auro-button[ondark][variant=ghost]:focus-visible{border-color:transparent;--ds-auro-button-border-inset-color: var(--ds-advanced-color-state-focused-inverse, #ffffff)}.auro-button[ondark][variant=ghost]:disabled{--ds-auro-button-text-color: var(--ds-basic-color-texticon-inverse-disabled, #7e8894)}.auro-button[ondark][variant=flat]{color:var(--ds-advanced-color-button-flat-text-inverse, #ffffff);background-color:transparent;background-image:none;border-color:transparent}.auro-button[ondark][variant=flat]:active:not(:disabled),.auro-button[ondark][variant=flat]:hover:not(:disabled){color:var(--ds-advanced-color-button-flat-text-inverse-hover, #adadad);background-color:transparent;background-image:none;border-color:transparent}.auro-button[ondark][variant=flat]:disabled{color:var(--ds-advanced-color-button-flat-text-inverse-disabled, #7e8894);background-color:transparent;background-image:none;border-color:transparent}.auro-button[ondark][variant=flat]:focus,.auro-button[ondark][variant=flat]:focus-visible{--ds-auro-button-border-color: var(--ds-advanced-color-state-focused-inverse, #ffffff);--ds-auro-button-border-inset-color: var(--ds-advanced-color-state-focused-inverse, #ffffff)}`;
|
|
6034
|
+
|
|
6035
|
+
var tokensCss$2$1 = i$5`:host(:not([onDark])){--ds-auro-button-border-color: var(--ds-advanced-color-button-primary-border, #01426a);--ds-auro-button-border-inset-color: var(--ds-advanced-color-state-focused-inverse, #ffffff);--ds-auro-button-container-color: var(--ds-advanced-color-button-primary-background, #01426a);--ds-auro-button-container-image: var(--ds-advanced-color-button-primary-background, #01426a);--ds-auro-button-loader-color: var(--ds-advanced-color-button-primary-text, #ffffff);--ds-auro-button-text-color: var(--ds-advanced-color-button-primary-text, #ffffff);--ds-auro-button-tap-color: transparent}:host([onDark]){--ds-auro-button-border-color: var(--ds-advanced-color-button-primary-border-inverse, #ffffff);--ds-auro-button-border-inset-color: var(--ds-advanced-color-state-focused-inverse, #ffffff);--ds-auro-button-container-color: var(--ds-advanced-color-button-primary-background-inverse, #ffffff);--ds-auro-button-container-image: var(--ds-advanced-color-button-primary-background-inverse, #ffffff);--ds-auro-button-loader-color: var(--ds-advanced-color-button-primary-text-inverse, #01426a);--ds-auro-button-text-color: var(--ds-advanced-color-button-primary-text-inverse, #01426a);--ds-auro-button-tap-color: transparent}`;
|
|
6036
|
+
|
|
6037
|
+
var shapeSize = i$5`.shape-rounded-xl{min-height:68px;max-height:68px;border-style:solid;overflow:hidden;border-radius:6px}.shape-rounded-xl.simple{border-width:0px;min-height:72px;max-height:72px;background-color:unset;box-shadow:none}.shape-rounded-xl.thin{border-width:1px;min-height:70px;max-height:70px;background-color:unset}.shape-rounded-xl.parentBorder{border:0;box-shadow:unset;min-height:68px;max-height:68px}.shape-pill-xl{min-height:68px;max-height:68px;border-style:solid;overflow:hidden;border-radius:36px}.shape-pill-xl.simple{border-width:0px;min-height:72px;max-height:72px;background-color:unset;box-shadow:none}.shape-pill-xl.thin{border-width:1px;min-height:70px;max-height:70px;background-color:unset}.shape-pill-xl.parentBorder{border:0;box-shadow:unset;min-height:68px;max-height:68px}.shape-pill-left-xl{min-height:68px;max-height:68px;border-style:solid;overflow:hidden;border-radius:36px 0 0 36px}.shape-pill-left-xl.simple{border-width:0px;min-height:72px;max-height:72px;background-color:unset;box-shadow:none}.shape-pill-left-xl.thin{border-width:1px;min-height:70px;max-height:70px;background-color:unset}.shape-pill-left-xl.parentBorder{border:0;box-shadow:unset;min-height:68px;max-height:68px}.shape-pill-right-xl{min-height:68px;max-height:68px;border-style:solid;overflow:hidden;border-radius:0 36px 36px 0}.shape-pill-right-xl.simple{border-width:0px;min-height:72px;max-height:72px;background-color:unset;box-shadow:none}.shape-pill-right-xl.thin{border-width:1px;min-height:70px;max-height:70px;background-color:unset}.shape-pill-right-xl.parentBorder{border:0;box-shadow:unset;min-height:68px;max-height:68px}.shape-circle-xl{min-height:68px;max-height:68px;border-style:solid;overflow:hidden;border-radius:50%;min-width:72px;max-width:72px;padding:0}.shape-circle-xl.simple{border-width:0px;min-height:72px;max-height:72px;background-color:unset;box-shadow:none}.shape-circle-xl.thin{border-width:1px;min-height:70px;max-height:70px;background-color:unset}.shape-circle-xl.parentBorder{border:0;box-shadow:unset;min-height:68px;max-height:68px}.shape-square-xl{min-height:68px;max-height:68px;border-style:solid;overflow:hidden;border-radius:6px;min-width:72px;max-width:72px;padding:0}.shape-square-xl.simple{border-width:0px;min-height:72px;max-height:72px;background-color:unset;box-shadow:none}.shape-square-xl.thin{border-width:1px;min-height:70px;max-height:70px;background-color:unset}.shape-square-xl.parentBorder{border:0;box-shadow:unset;min-height:68px;max-height:68px}.shape-rounded-lg{min-height:52px;max-height:52px;border-style:solid;overflow:hidden;border-radius:6px}.shape-rounded-lg.simple{border-width:0px;min-height:56px;max-height:56px;background-color:unset;box-shadow:none}.shape-rounded-lg.thin{border-width:1px;min-height:54px;max-height:54px;background-color:unset}.shape-rounded-lg.parentBorder{border:0;box-shadow:unset;min-height:52px;max-height:52px}.shape-pill-lg{min-height:52px;max-height:52px;border-style:solid;overflow:hidden;border-radius:28px}.shape-pill-lg.simple{border-width:0px;min-height:56px;max-height:56px;background-color:unset;box-shadow:none}.shape-pill-lg.thin{border-width:1px;min-height:54px;max-height:54px;background-color:unset}.shape-pill-lg.parentBorder{border:0;box-shadow:unset;min-height:52px;max-height:52px}.shape-pill-left-lg{min-height:52px;max-height:52px;border-style:solid;overflow:hidden;border-radius:28px 0 0 28px}.shape-pill-left-lg.simple{border-width:0px;min-height:56px;max-height:56px;background-color:unset;box-shadow:none}.shape-pill-left-lg.thin{border-width:1px;min-height:54px;max-height:54px;background-color:unset}.shape-pill-left-lg.parentBorder{border:0;box-shadow:unset;min-height:52px;max-height:52px}.shape-pill-right-lg{min-height:52px;max-height:52px;border-style:solid;overflow:hidden;border-radius:0 28px 28px 0}.shape-pill-right-lg.simple{border-width:0px;min-height:56px;max-height:56px;background-color:unset;box-shadow:none}.shape-pill-right-lg.thin{border-width:1px;min-height:54px;max-height:54px;background-color:unset}.shape-pill-right-lg.parentBorder{border:0;box-shadow:unset;min-height:52px;max-height:52px}.shape-circle-lg{min-height:52px;max-height:52px;border-style:solid;overflow:hidden;border-radius:50%;min-width:56px;max-width:56px;padding:0}.shape-circle-lg.simple{border-width:0px;min-height:56px;max-height:56px;background-color:unset;box-shadow:none}.shape-circle-lg.thin{border-width:1px;min-height:54px;max-height:54px;background-color:unset}.shape-circle-lg.parentBorder{border:0;box-shadow:unset;min-height:52px;max-height:52px}.shape-square-lg{min-height:52px;max-height:52px;border-style:solid;overflow:hidden;border-radius:6px;min-width:56px;max-width:56px;padding:0}.shape-square-lg.simple{border-width:0px;min-height:56px;max-height:56px;background-color:unset;box-shadow:none}.shape-square-lg.thin{border-width:1px;min-height:54px;max-height:54px;background-color:unset}.shape-square-lg.parentBorder{border:0;box-shadow:unset;min-height:52px;max-height:52px}.shape-rounded-md{min-height:44px;max-height:44px;border-style:solid;overflow:hidden;border-radius:6px}.shape-rounded-md.simple{border-width:0px;min-height:48px;max-height:48px;background-color:unset;box-shadow:none}.shape-rounded-md.thin{border-width:1px;min-height:46px;max-height:46px;background-color:unset}.shape-rounded-md.parentBorder{border:0;box-shadow:unset;min-height:44px;max-height:44px}.shape-pill-md{min-height:44px;max-height:44px;border-style:solid;overflow:hidden;border-radius:24px}.shape-pill-md.simple{border-width:0px;min-height:48px;max-height:48px;background-color:unset;box-shadow:none}.shape-pill-md.thin{border-width:1px;min-height:46px;max-height:46px;background-color:unset}.shape-pill-md.parentBorder{border:0;box-shadow:unset;min-height:44px;max-height:44px}.shape-pill-left-md{min-height:44px;max-height:44px;border-style:solid;overflow:hidden;border-radius:24px 0 0 24px}.shape-pill-left-md.simple{border-width:0px;min-height:48px;max-height:48px;background-color:unset;box-shadow:none}.shape-pill-left-md.thin{border-width:1px;min-height:46px;max-height:46px;background-color:unset}.shape-pill-left-md.parentBorder{border:0;box-shadow:unset;min-height:44px;max-height:44px}.shape-pill-right-md{min-height:44px;max-height:44px;border-style:solid;overflow:hidden;border-radius:0 24px 24px 0}.shape-pill-right-md.simple{border-width:0px;min-height:48px;max-height:48px;background-color:unset;box-shadow:none}.shape-pill-right-md.thin{border-width:1px;min-height:46px;max-height:46px;background-color:unset}.shape-pill-right-md.parentBorder{border:0;box-shadow:unset;min-height:44px;max-height:44px}.shape-circle-md{min-height:44px;max-height:44px;border-style:solid;overflow:hidden;border-radius:50%;min-width:48px;max-width:48px;padding:0}.shape-circle-md.simple{border-width:0px;min-height:48px;max-height:48px;background-color:unset;box-shadow:none}.shape-circle-md.thin{border-width:1px;min-height:46px;max-height:46px;background-color:unset}.shape-circle-md.parentBorder{border:0;box-shadow:unset;min-height:44px;max-height:44px}.shape-square-md{min-height:44px;max-height:44px;border-style:solid;overflow:hidden;border-radius:6px;min-width:48px;max-width:48px;padding:0}.shape-square-md.simple{border-width:0px;min-height:48px;max-height:48px;background-color:unset;box-shadow:none}.shape-square-md.thin{border-width:1px;min-height:46px;max-height:46px;background-color:unset}.shape-square-md.parentBorder{border:0;box-shadow:unset;min-height:44px;max-height:44px}.shape-rounded-sm{min-height:32px;max-height:32px;border-style:solid;overflow:hidden;border-radius:6px}.shape-rounded-sm.simple{border-width:0px;min-height:36px;max-height:36px;background-color:unset;box-shadow:none}.shape-rounded-sm.thin{border-width:1px;min-height:34px;max-height:34px;background-color:unset}.shape-rounded-sm.parentBorder{border:0;box-shadow:unset;min-height:32px;max-height:32px}.shape-pill-sm{min-height:32px;max-height:32px;border-style:solid;overflow:hidden;border-radius:18px}.shape-pill-sm.simple{border-width:0px;min-height:36px;max-height:36px;background-color:unset;box-shadow:none}.shape-pill-sm.thin{border-width:1px;min-height:34px;max-height:34px;background-color:unset}.shape-pill-sm.parentBorder{border:0;box-shadow:unset;min-height:32px;max-height:32px}.shape-pill-left-sm{min-height:32px;max-height:32px;border-style:solid;overflow:hidden;border-radius:18px 0 0 18px}.shape-pill-left-sm.simple{border-width:0px;min-height:36px;max-height:36px;background-color:unset;box-shadow:none}.shape-pill-left-sm.thin{border-width:1px;min-height:34px;max-height:34px;background-color:unset}.shape-pill-left-sm.parentBorder{border:0;box-shadow:unset;min-height:32px;max-height:32px}.shape-pill-right-sm{min-height:32px;max-height:32px;border-style:solid;overflow:hidden;border-radius:0 18px 18px 0}.shape-pill-right-sm.simple{border-width:0px;min-height:36px;max-height:36px;background-color:unset;box-shadow:none}.shape-pill-right-sm.thin{border-width:1px;min-height:34px;max-height:34px;background-color:unset}.shape-pill-right-sm.parentBorder{border:0;box-shadow:unset;min-height:32px;max-height:32px}.shape-circle-sm{min-height:32px;max-height:32px;border-style:solid;overflow:hidden;border-radius:50%;min-width:36px;max-width:36px;padding:0}.shape-circle-sm.simple{border-width:0px;min-height:36px;max-height:36px;background-color:unset;box-shadow:none}.shape-circle-sm.thin{border-width:1px;min-height:34px;max-height:34px;background-color:unset}.shape-circle-sm.parentBorder{border:0;box-shadow:unset;min-height:32px;max-height:32px}.shape-square-sm{min-height:32px;max-height:32px;border-style:solid;overflow:hidden;border-radius:6px;min-width:36px;max-width:36px;padding:0}.shape-square-sm.simple{border-width:0px;min-height:36px;max-height:36px;background-color:unset;box-shadow:none}.shape-square-sm.thin{border-width:1px;min-height:34px;max-height:34px;background-color:unset}.shape-square-sm.parentBorder{border:0;box-shadow:unset;min-height:32px;max-height:32px}.shape-rounded-xs{min-height:20px;max-height:20px;border-style:solid;overflow:hidden;border-radius:4px}.shape-rounded-xs.simple{border-width:0px;min-height:24px;max-height:24px;background-color:unset;box-shadow:none}.shape-rounded-xs.thin{border-width:1px;min-height:22px;max-height:22px;background-color:unset}.shape-rounded-xs.parentBorder{border:0;box-shadow:unset;min-height:20px;max-height:20px}.shape-pill-xs{min-height:20px;max-height:20px;border-style:solid;overflow:hidden;border-radius:12px}.shape-pill-xs.simple{border-width:0px;min-height:24px;max-height:24px;background-color:unset;box-shadow:none}.shape-pill-xs.thin{border-width:1px;min-height:22px;max-height:22px;background-color:unset}.shape-pill-xs.parentBorder{border:0;box-shadow:unset;min-height:20px;max-height:20px}.shape-pill-left-xs{min-height:20px;max-height:20px;border-style:solid;overflow:hidden;border-radius:12px 0 0 12px}.shape-pill-left-xs.simple{border-width:0px;min-height:24px;max-height:24px;background-color:unset;box-shadow:none}.shape-pill-left-xs.thin{border-width:1px;min-height:22px;max-height:22px;background-color:unset}.shape-pill-left-xs.parentBorder{border:0;box-shadow:unset;min-height:20px;max-height:20px}.shape-pill-right-xs{min-height:20px;max-height:20px;border-style:solid;overflow:hidden;border-radius:0 12px 12px 0}.shape-pill-right-xs.simple{border-width:0px;min-height:24px;max-height:24px;background-color:unset;box-shadow:none}.shape-pill-right-xs.thin{border-width:1px;min-height:22px;max-height:22px;background-color:unset}.shape-pill-right-xs.parentBorder{border:0;box-shadow:unset;min-height:20px;max-height:20px}.shape-circle-xs{min-height:20px;max-height:20px;border-style:solid;overflow:hidden;border-radius:50%;min-width:24px;max-width:24px;padding:0}.shape-circle-xs.simple{border-width:0px;min-height:24px;max-height:24px;background-color:unset;box-shadow:none}.shape-circle-xs.thin{border-width:1px;min-height:22px;max-height:22px;background-color:unset}.shape-circle-xs.parentBorder{border:0;box-shadow:unset;min-height:20px;max-height:20px}.shape-square-xs{min-height:20px;max-height:20px;border-style:solid;overflow:hidden;border-radius:6px;min-width:24px;max-width:24px;padding:0}.shape-square-xs.simple{border-width:0px;min-height:24px;max-height:24px;background-color:unset;box-shadow:none}.shape-square-xs.thin{border-width:1px;min-height:22px;max-height:22px;background-color:unset}.shape-square-xs.parentBorder{border:0;box-shadow:unset;min-height:20px;max-height:20px}`;
|
|
6038
|
+
|
|
6039
|
+
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
6040
|
+
// See LICENSE in the project root for license information.
|
|
6041
|
+
|
|
6042
|
+
// ---------------------------------------------------------------------
|
|
6043
|
+
|
|
6044
|
+
/* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
|
|
6045
|
+
|
|
6046
|
+
let AuroLibraryRuntimeUtils$2 = class AuroLibraryRuntimeUtils {
|
|
6047
|
+
|
|
6048
|
+
/* eslint-disable jsdoc/require-param */
|
|
6049
|
+
|
|
6050
|
+
/**
|
|
6051
|
+
* This will register a new custom element with the browser.
|
|
6052
|
+
* @param {String} name - The name of the custom element.
|
|
6053
|
+
* @param {Object} componentClass - The class to register as a custom element.
|
|
6054
|
+
* @returns {void}
|
|
6055
|
+
*/
|
|
6056
|
+
registerComponent(name, componentClass) {
|
|
6057
|
+
if (!customElements.get(name)) {
|
|
6058
|
+
customElements.define(name, class extends componentClass {});
|
|
6059
|
+
}
|
|
6060
|
+
}
|
|
6061
|
+
|
|
6062
|
+
/**
|
|
6063
|
+
* Finds and returns the closest HTML Element based on a selector.
|
|
6064
|
+
* @returns {void}
|
|
6065
|
+
*/
|
|
6066
|
+
closestElement(
|
|
6067
|
+
selector, // selector like in .closest()
|
|
6068
|
+
base = this, // extra functionality to skip a parent
|
|
6069
|
+
__Closest = (el, found = el && el.closest(selector)) =>
|
|
6070
|
+
!el || el === document || el === window
|
|
6071
|
+
? null // standard .closest() returns null for non-found selectors also
|
|
6072
|
+
: found
|
|
6073
|
+
? found // found a selector INside this element
|
|
6074
|
+
: __Closest(el.getRootNode().host) // recursion!! break out to parent DOM
|
|
6075
|
+
) {
|
|
6076
|
+
return __Closest(base);
|
|
6077
|
+
}
|
|
6078
|
+
/* eslint-enable jsdoc/require-param */
|
|
6079
|
+
|
|
6080
|
+
/**
|
|
6081
|
+
* If the element passed is registered with a different tag name than what is passed in, the tag name is added as an attribute to the element.
|
|
6082
|
+
* @param {Object} elem - The element to check.
|
|
6083
|
+
* @param {String} tagName - The name of the Auro component to check for or add as an attribute.
|
|
6084
|
+
* @returns {void}
|
|
6085
|
+
*/
|
|
6086
|
+
handleComponentTagRename(elem, tagName) {
|
|
6087
|
+
const tag = tagName.toLowerCase();
|
|
6088
|
+
const elemTag = elem.tagName.toLowerCase();
|
|
6089
|
+
|
|
6090
|
+
if (elemTag !== tag) {
|
|
6091
|
+
elem.setAttribute(tag, true);
|
|
6092
|
+
}
|
|
6093
|
+
}
|
|
6094
|
+
|
|
6095
|
+
/**
|
|
6096
|
+
* Validates if an element is a specific Auro component.
|
|
6097
|
+
* @param {Object} elem - The element to validate.
|
|
6098
|
+
* @param {String} tagName - The name of the Auro component to check against.
|
|
6099
|
+
* @returns {Boolean} - Returns true if the element is the specified Auro component.
|
|
6100
|
+
*/
|
|
6101
|
+
elementMatch(elem, tagName) {
|
|
6102
|
+
const tag = tagName.toLowerCase();
|
|
6103
|
+
const elemTag = elem.tagName.toLowerCase();
|
|
6104
|
+
|
|
6105
|
+
return elemTag === tag || elem.hasAttribute(tag);
|
|
6106
|
+
}
|
|
6107
|
+
};
|
|
6108
|
+
|
|
6109
|
+
var styleCss$2$1 = i$5`.body-default{font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5)}.body-default,.body-lg{font-family:var(--wcss-body-family, "AS Circular", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.63)}.body-sm{font-size:var(--wcss-body-sm-font-size, 0.875rem);line-height:var(--wcss-body-sm-line-height, 1.25)}.body-sm,.body-xs{font-family:var(--wcss-body-family, "AS Circular", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs{font-size:var(--wcss-body-xs-font-size, 0.75rem);line-height:var(--wcss-body-xs-line-height, 1)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-body-2xs-font-size, 0.625rem);font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0);line-height:var(--wcss-body-2xs-line-height, 0.88)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));font-weight:var(--wcss-display-2xl-weight, 300);letter-spacing:var(--wcss-display-2xl-letter-spacing, 0);line-height:var(--wcss-display-2xl-line-height, 1.3)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));font-weight:var(--wcss-display-xl-weight, 300);letter-spacing:var(--wcss-display-xl-letter-spacing, 0);line-height:var(--wcss-display-xl-line-height, 1.3)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));font-weight:var(--wcss-display-lg-weight, 300);letter-spacing:var(--wcss-display-lg-letter-spacing, 0);line-height:var(--wcss-display-lg-line-height, 1.3)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));font-weight:var(--wcss-display-md-weight, 300);letter-spacing:var(--wcss-display-md-letter-spacing, 0);line-height:var(--wcss-display-md-line-height, 1.3)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));font-weight:var(--wcss-display-sm-weight, 300);letter-spacing:var(--wcss-display-sm-letter-spacing, 0);line-height:var(--wcss-display-sm-line-height, 1.3)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));font-weight:var(--wcss-display-xs-weight, 300);letter-spacing:var(--wcss-display-xs-letter-spacing, 0);line-height:var(--wcss-display-xs-line-height, 1.3)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));font-weight:var(--wcss-heading-xl-weight, 300);letter-spacing:var(--wcss-heading-xl-letter-spacing, 0);line-height:var(--wcss-heading-xl-line-height, 1.3)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));font-weight:var(--wcss-heading-lg-weight, 300);letter-spacing:var(--wcss-heading-lg-letter-spacing, 0);line-height:var(--wcss-heading-lg-line-height, 1.3)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));font-weight:var(--wcss-heading-md-weight, 300);letter-spacing:var(--wcss-heading-md-letter-spacing, 0);line-height:var(--wcss-heading-md-line-height, 1.3)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));font-weight:var(--wcss-heading-sm-weight, 300);letter-spacing:var(--wcss-heading-sm-letter-spacing, 0);line-height:var(--wcss-heading-sm-line-height, 1.3)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));font-weight:var(--wcss-heading-xs-weight, 450);letter-spacing:var(--wcss-heading-xs-letter-spacing, 0);line-height:var(--wcss-heading-xs-line-height, 1.3)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));font-weight:var(--wcss-heading-2xs-weight, 450);letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0);line-height:var(--wcss-heading-2xs-line-height, 1.3)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));font-weight:var(--wcss-accent-2xl-weight, 450);letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);line-height:var(--wcss-accent-2xl-line-height, 1)}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));font-weight:var(--wcss-accent-xl-weight, 450);letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);line-height:var(--wcss-accent-xl-line-height, 1.3)}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));font-weight:var(--wcss-accent-lg-weight, 450);letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);line-height:var(--wcss-accent-lg-line-height, 1.3)}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));font-weight:var(--wcss-accent-md-weight, 500);letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);line-height:var(--wcss-accent-md-line-height, 1.3)}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));font-weight:var(--wcss-accent-sm-weight, 500);letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);line-height:var(--wcss-accent-sm-line-height, 1.3)}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));font-weight:var(--wcss-accent-xs-weight, 500);letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);line-height:var(--wcss-accent-xs-line-height, 1.3)}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);line-height:var(--wcss-accent-2xs-line-height, 1.3)}:focus:not(:focus-visible){outline:3px solid transparent}:host,:host>span{position:relative}:host{width:2rem;height:2rem;display:inline-block;font-size:0}:host>span{position:absolute;display:inline-block;float:none;top:0;left:0;width:2rem;height:2rem;border-radius:100%;border-style:solid;border-width:0}:host([xs]),:host([xs])>span{width:1.2rem;height:1.2rem}:host([sm]),:host([sm])>span{width:3rem;height:3rem}:host([md]),:host([md])>span{width:5rem;height:5rem}:host([lg]),:host([lg])>span{width:8rem;height:8rem}:host{--margin:0.375rem;--margin-xs:0.2rem;--margin-sm:0.5rem;--margin-md:0.75rem;--margin-lg:1rem}:host([pulse]),:host([pulse])>span{position:relative}:host([pulse]){width:calc(3rem + var(--margin)*6);height:1.5rem}:host([pulse])>span{width:1rem;height:1rem;margin:var(--margin);animation:pulse 1.5s ease infinite}:host([pulse][xs]){width:calc(2.55rem + var(--margin-xs)*6);height:1.55rem}:host([pulse][xs])>span{margin:var(--margin-xs);width:.65rem;height:.65rem}:host([pulse][sm]){width:calc(6rem + var(--margin-sm)*6);height:2.5rem}:host([pulse][sm])>span{margin:var(--margin-sm);width:2rem;height:2rem}:host([pulse][md]){width:calc(9rem + var(--margin-md)*6);height:3.5rem}:host([pulse][md])>span{margin:var(--margin-md);width:3rem;height:3rem}:host([pulse][lg]){width:calc(15rem + var(--margin-lg)*6);height:5.5rem}:host([pulse][lg])>span{margin:var(--margin-lg);width:5rem;height:5rem}:host([pulse])>span:nth-child(1){animation-delay:-400ms}:host([pulse])>span:nth-child(2){animation-delay:-200ms}:host([pulse])>span:nth-child(3){animation-delay:0ms}@keyframes pulse{0%,100%{opacity:.1;transform:scale(0.9)}50%{opacity:1;transform:scale(1.1)}}:host([orbit]),:host([orbit])>span{opacity:1}:host([orbit])>span{border-width:5px}:host([orbit])>span:nth-child(2){animation:orbit 2s linear infinite}:host([orbit][sm])>span{border-width:8px}:host([orbit][md])>span{border-width:13px}:host([orbit][lg])>span{border-width:21px}@keyframes orbit{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}:host([ringworm])>svg{animation:rotate 2s linear infinite;height:100%;width:100%;stroke:currentcolor;stroke-width:8}:host([ringworm]) .path{stroke-dashoffset:0;animation:ringworm 1.5s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{100%{transform:rotate(360deg)}}@keyframes ringworm{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px}}:host([laser]){position:static;width:100%;display:block;height:0;overflow:hidden;font-size:unset}:host([laser])>span{position:fixed;width:100%;height:.25rem;border-radius:0;z-index:100}:host([laser])>span:nth-child(1){border-color:currentcolor;opacity:.25}:host([laser])>span:nth-child(2){border-color:currentcolor;animation:laser 2s linear infinite;opacity:1;width:50%}:host([laser][sm])>span:nth-child(2){width:20%}:host([laser][md])>span:nth-child(2){width:30%}:host([laser][lg])>span:nth-child(2){width:50%;animation-duration:1.5s}:host([laser][xl])>span:nth-child(2){width:80%;animation-duration:1.5s}@keyframes laser{0%{left:-100%}100%{left:110%}}:host>.no-animation{display:none}@media(prefers-reduced-motion: reduce){:host{display:flex;align-items:center;justify-content:center}:host>span{opacity:1}:host>.loader{display:none}:host>svg{display:none}:host>.no-animation{display:block}}`;
|
|
6110
|
+
|
|
6111
|
+
var colorCss$1$1 = i$5`:host{color:var(--ds-auro-loader-color)}:host>span{background-color:var(--ds-auro-loader-background-color);border-color:var(--ds-auro-loader-border-color)}:host([onlight]){--ds-auro-loader-color:var(--ds-basic-color-brand-primary, #01426a)}:host([ondark]){--ds-auro-loader-color:var(--ds-basic-color-texticon-inverse, #ffffff)}:host([orbit])>span{--ds-auro-loader-background-color:transparent}:host([orbit])>span:nth-child(1){--ds-auro-loader-border-color:currentcolor;opacity:.25}:host([orbit])>span:nth-child(2){--ds-auro-loader-border-color:currentcolor;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}`;
|
|
6112
|
+
|
|
6113
|
+
var tokensCss$1$1 = i$5`:host{--ds-auro-loader-background-color:currentcolor;--ds-auro-loader-border-color:currentcolor;--ds-auro-loader-color:currentcolor}`;
|
|
6114
|
+
|
|
6115
|
+
// Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
6116
|
+
// See LICENSE in the project root for license information.
|
|
6117
|
+
|
|
6118
|
+
|
|
6119
|
+
class AuroLoader extends i$2 {
|
|
6120
|
+
constructor() {
|
|
6121
|
+
super();
|
|
6122
|
+
|
|
6123
|
+
/**
|
|
6124
|
+
* @private
|
|
6125
|
+
*/
|
|
6126
|
+
this.keys = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
|
|
6127
|
+
|
|
6128
|
+
/**
|
|
6129
|
+
* @private
|
|
6130
|
+
*/
|
|
6131
|
+
this.mdCount = 3;
|
|
6132
|
+
|
|
6133
|
+
/**
|
|
6134
|
+
* @private
|
|
6135
|
+
*/
|
|
6136
|
+
this.smCount = 2;
|
|
6137
|
+
|
|
6138
|
+
/**
|
|
6139
|
+
* @private
|
|
6140
|
+
*/
|
|
6141
|
+
this.runtimeUtils = new AuroLibraryRuntimeUtils$2();
|
|
6142
|
+
|
|
6143
|
+
this.orbit = false;
|
|
6144
|
+
this.ringworm = false;
|
|
6145
|
+
this.laser = false;
|
|
6146
|
+
this.pulse = false;
|
|
6147
|
+
}
|
|
6148
|
+
|
|
6149
|
+
// function to define props used within the scope of this component
|
|
6150
|
+
static get properties() {
|
|
6151
|
+
return {
|
|
6152
|
+
|
|
6153
|
+
/**
|
|
6154
|
+
* Sets loader to laser type.
|
|
6155
|
+
*/
|
|
6156
|
+
laser: {
|
|
6157
|
+
type: Boolean,
|
|
6158
|
+
reflect: true
|
|
6159
|
+
},
|
|
6160
|
+
|
|
6161
|
+
/**
|
|
6162
|
+
* Sets loader to orbit type.
|
|
6163
|
+
*/
|
|
6164
|
+
orbit: {
|
|
6165
|
+
type: Boolean,
|
|
6166
|
+
reflect: true
|
|
6167
|
+
},
|
|
6168
|
+
|
|
6169
|
+
/**
|
|
6170
|
+
* Sets loader to pulse type.
|
|
6171
|
+
*/
|
|
6172
|
+
pulse: {
|
|
6173
|
+
type: Boolean,
|
|
6174
|
+
reflect: true
|
|
6175
|
+
},
|
|
6176
|
+
|
|
6177
|
+
/**
|
|
6178
|
+
* Sets loader to ringworm type.
|
|
6179
|
+
*/
|
|
6180
|
+
ringworm: {
|
|
6181
|
+
type: Boolean,
|
|
6182
|
+
reflect: true
|
|
6183
|
+
}
|
|
6184
|
+
};
|
|
6185
|
+
}
|
|
6186
|
+
|
|
6187
|
+
static get styles() {
|
|
6188
|
+
return [
|
|
6189
|
+
i$5`${styleCss$2$1}`,
|
|
6190
|
+
i$5`${colorCss$1$1}`,
|
|
6191
|
+
i$5`${tokensCss$1$1}`
|
|
6192
|
+
];
|
|
6193
|
+
}
|
|
6194
|
+
|
|
6195
|
+
/**
|
|
6196
|
+
* This will register this element with the browser.
|
|
6197
|
+
* @param {string} [name="auro-loader"] - The name of element that you want to register to.
|
|
6198
|
+
*
|
|
6199
|
+
* @example
|
|
6200
|
+
* AuroLoader.register("custom-loader") // this will register this element to <custom-loader/>
|
|
6201
|
+
*
|
|
6202
|
+
*/
|
|
6203
|
+
static register(name = "auro-loader") {
|
|
6204
|
+
AuroLibraryRuntimeUtils$2.prototype.registerComponent(name, AuroLoader);
|
|
6205
|
+
}
|
|
6206
|
+
|
|
6207
|
+
firstUpdated() {
|
|
6208
|
+
// Add the tag name as an attribute if it is different than the component name
|
|
6209
|
+
this.runtimeUtils.handleComponentTagRename(this, 'auro-loader');
|
|
6210
|
+
}
|
|
6211
|
+
|
|
6212
|
+
connectedCallback() {
|
|
6213
|
+
super.connectedCallback();
|
|
6214
|
+
}
|
|
6215
|
+
|
|
6216
|
+
/**
|
|
6217
|
+
* @private
|
|
6218
|
+
* @returns {Array} Numbered array for template map.
|
|
6219
|
+
*/
|
|
6220
|
+
defineTemplate() {
|
|
6221
|
+
let nodes = Array.from(Array(this.mdCount).keys());
|
|
6222
|
+
|
|
6223
|
+
if (this.orbit || this.laser) {
|
|
6224
|
+
nodes = Array.from(Array(this.smCount).keys());
|
|
6225
|
+
} else if (this.ringworm) {
|
|
6226
|
+
nodes = Array.from(Array(0).keys());
|
|
6227
|
+
}
|
|
6228
|
+
|
|
6229
|
+
return nodes;
|
|
6230
|
+
}
|
|
6231
|
+
|
|
6232
|
+
// When using auroElement, use the following attribute and function when hiding content from screen readers.
|
|
6233
|
+
// aria-hidden="${this.hideAudible(this.hiddenAudible)}"
|
|
6234
|
+
|
|
6235
|
+
// function that renders the HTML and CSS into the scope of the component
|
|
6236
|
+
render() {
|
|
6237
|
+
return x`
|
|
6238
|
+
${this.defineTemplate().map((idx) => x`
|
|
6239
|
+
<span part="element" class="loader node-${idx}"></span>
|
|
6240
|
+
`)}
|
|
6241
|
+
|
|
6242
|
+
<div class="no-animation body-default">Loading...</div>
|
|
6243
|
+
|
|
6244
|
+
${this.ringworm ? x`
|
|
6245
|
+
<svg part="element" class="circular" viewBox="25 25 50 50">
|
|
6246
|
+
<circle class="path" cx="50" cy="50" r="20" fill="none"/>
|
|
6247
|
+
</svg>`
|
|
6248
|
+
: ``
|
|
6249
|
+
}
|
|
6250
|
+
`;
|
|
6251
|
+
}
|
|
6252
|
+
}
|
|
6253
|
+
|
|
6254
|
+
var loaderVersion = '5.1.0';
|
|
6255
|
+
|
|
6256
|
+
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
6257
|
+
// See LICENSE in the project root for license information.
|
|
6258
|
+
|
|
6259
|
+
|
|
6260
|
+
/**
|
|
6261
|
+
* @slot - Default slot for the text of the button.
|
|
6262
|
+
* @csspart button - Apply CSS to HTML5 button.
|
|
6263
|
+
* @csspart loader - Apply CSS to auro-loader.
|
|
6264
|
+
* @csspart text - Apply CSS to text slot.
|
|
6265
|
+
* @csspart icon - Apply CSS to icon slot.
|
|
6266
|
+
*/
|
|
6267
|
+
|
|
6268
|
+
const ICON_ONLY_SHAPES = ['circle', 'square'];
|
|
6269
|
+
|
|
6270
|
+
/**
|
|
6271
|
+
* AuroButton is a custom element that provides a styled, accessible button with support for various states and form association.
|
|
6272
|
+
* It is designed to be flexible, supporting loading states, icon slots, and integration with HTML5 forms.
|
|
6273
|
+
* @property {'default', 'rounded', 'pill', 'circle', 'square'} shape - Defines the shape of the button.
|
|
6274
|
+
* @property {'xs', 'sm', 'md', 'lg', 'xl'} size - Defines the size of the button.
|
|
6275
|
+
* @property {'primary', 'secondary', 'tertiary', 'ghost', 'flat'} variant - Sets the button variant.
|
|
6276
|
+
* @property {'submit', 'reset', 'button'} type - The type of button. Matches HTML5 Button Spec.
|
|
6277
|
+
* @property {boolean} onDark - Indicates if the button is rendered in dark mode.
|
|
6278
|
+
*/
|
|
6279
|
+
class AuroButton extends AuroElement$1 {
|
|
6280
|
+
|
|
6281
|
+
/**
|
|
6282
|
+
* Enables form association for this element.
|
|
6283
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/attachInternals
|
|
6284
|
+
* @returns {boolean} - Returns true to enable form association.
|
|
6285
|
+
*/
|
|
6286
|
+
static get formAssociated() {
|
|
6287
|
+
return true;
|
|
6288
|
+
}
|
|
6289
|
+
|
|
6290
|
+
constructor() {
|
|
6291
|
+
super();
|
|
6292
|
+
this.autofocus = false;
|
|
6293
|
+
this.disabled = false;
|
|
6294
|
+
this.loading = false;
|
|
6295
|
+
this.size = "md";
|
|
6296
|
+
this.shape = "rounded";
|
|
6297
|
+
this.onDark = false;
|
|
6298
|
+
this.fluid = false;
|
|
6299
|
+
this.loadingText = this.loadingText || 'Loading...';
|
|
6300
|
+
this.variant = 'primary';
|
|
6301
|
+
|
|
6302
|
+
// Support for HTML5 forms
|
|
6303
|
+
if (typeof this.attachInternals === 'function') {
|
|
6304
|
+
this.internals = this.attachInternals();
|
|
6305
|
+
} else {
|
|
6306
|
+
this.internals = null;
|
|
6307
|
+
|
|
6308
|
+
// eslint-disable-next-line no-console
|
|
6309
|
+
console.warn('This browser does not support form association features. Some form-related functionality may not work as expected. Consider using a polyfill or handling click events manually.');
|
|
6310
|
+
}
|
|
6311
|
+
|
|
6312
|
+
/**
|
|
6313
|
+
* Generate unique names for dependency components.
|
|
6314
|
+
*/
|
|
6315
|
+
const versioning = new AuroDependencyVersioning();
|
|
6316
|
+
|
|
6317
|
+
/**
|
|
6318
|
+
* @private
|
|
6319
|
+
*/
|
|
6320
|
+
this.loaderTag = versioning.generateTag('auro-loader', loaderVersion, AuroLoader);
|
|
6321
|
+
|
|
6322
|
+
/**
|
|
6323
|
+
* @private
|
|
6324
|
+
*/
|
|
6325
|
+
this.buttonHref = undefined;
|
|
6326
|
+
|
|
6327
|
+
/**
|
|
6328
|
+
* @private
|
|
6329
|
+
*/
|
|
6330
|
+
this.buttonTarget = undefined;
|
|
6331
|
+
|
|
6332
|
+
/**
|
|
6333
|
+
* @private
|
|
6334
|
+
*/
|
|
6335
|
+
this.buttonRel = undefined;
|
|
6336
|
+
}
|
|
6337
|
+
|
|
6338
|
+
static get styles() {
|
|
6339
|
+
return [
|
|
6340
|
+
tokensCss$2$1,
|
|
6341
|
+
styleCss$3$1,
|
|
6342
|
+
colorCss$2$1,
|
|
6343
|
+
shapeSize
|
|
6344
|
+
];
|
|
6345
|
+
}
|
|
6346
|
+
|
|
6347
|
+
static get properties() {
|
|
6348
|
+
return {
|
|
6349
|
+
|
|
6350
|
+
...super.properties,
|
|
6351
|
+
|
|
6352
|
+
/**
|
|
6353
|
+
* Override layout since it isn't used in this component.
|
|
6354
|
+
* @private
|
|
6355
|
+
*/
|
|
6356
|
+
layout: {
|
|
6357
|
+
type: Boolean,
|
|
6358
|
+
attribute: false,
|
|
6359
|
+
reflect: false
|
|
6360
|
+
},
|
|
6361
|
+
|
|
6362
|
+
/**
|
|
6363
|
+
* This Boolean attribute lets you specify that the button should have input focus when the page loads, unless overridden by the user.
|
|
6364
|
+
*/
|
|
6365
|
+
autofocus: {
|
|
6366
|
+
type: Boolean,
|
|
6367
|
+
reflect: true
|
|
6368
|
+
},
|
|
6369
|
+
|
|
6370
|
+
/**
|
|
6371
|
+
* If set to true, button will become disabled and not allow for interactions.
|
|
6372
|
+
*/
|
|
6373
|
+
disabled: {
|
|
6374
|
+
type: Boolean,
|
|
6375
|
+
reflect: true
|
|
6376
|
+
},
|
|
6377
|
+
|
|
6378
|
+
/**
|
|
6379
|
+
* Alters the shape of the button to be full width of its parent container.
|
|
6380
|
+
*/
|
|
6381
|
+
fluid: {
|
|
6382
|
+
type: Boolean,
|
|
6383
|
+
reflect: true
|
|
6384
|
+
},
|
|
6385
|
+
|
|
6386
|
+
/**
|
|
6387
|
+
* If set to true button text will be replaced with `auro-loader` and become disabled.
|
|
6388
|
+
*/
|
|
6389
|
+
loading: {
|
|
6390
|
+
type: Boolean,
|
|
6391
|
+
reflect: true
|
|
6392
|
+
},
|
|
6393
|
+
|
|
6394
|
+
/**
|
|
6395
|
+
* Sets custom loading text for the `aria-label` on a button in loading state. If not set, the default value of "Loading..." will be used.
|
|
6396
|
+
*/
|
|
6397
|
+
loadingText: {
|
|
6398
|
+
type: String
|
|
6399
|
+
},
|
|
6400
|
+
|
|
6401
|
+
/**
|
|
6402
|
+
* Populates `tabindex` to define the focusable sequence in keyboard navigation.
|
|
6403
|
+
*/
|
|
6404
|
+
tIndex: {
|
|
6405
|
+
type: String,
|
|
6406
|
+
reflect: true
|
|
6407
|
+
},
|
|
6408
|
+
|
|
6409
|
+
/**
|
|
6410
|
+
* Populates `tabindex` to define the focusable sequence in keyboard navigation.
|
|
6411
|
+
* Must be used with "." to ensure the host element does not retain a reference to the `tabindex` attribute.
|
|
6412
|
+
* Example: `<auro-button .tabindex="${this.disabled ? '-1' : '0'}"></auro-button>`.
|
|
6413
|
+
*/
|
|
6414
|
+
tabindex: {
|
|
6415
|
+
type: String,
|
|
6416
|
+
reflect: false
|
|
6417
|
+
},
|
|
6418
|
+
|
|
6419
|
+
/**
|
|
6420
|
+
* Sets title attribute. The information is most often shown as a tooltip text when the mouse moves over the element.
|
|
6421
|
+
*/
|
|
6422
|
+
title: {
|
|
6423
|
+
type: String,
|
|
6424
|
+
reflect: true
|
|
6425
|
+
},
|
|
6426
|
+
|
|
6427
|
+
/**
|
|
6428
|
+
* The type of the button. Possible values are: `submit`, `reset`, `button`.
|
|
6429
|
+
*/
|
|
6430
|
+
type: {
|
|
6431
|
+
type: String,
|
|
6432
|
+
reflect: true
|
|
6433
|
+
},
|
|
6434
|
+
|
|
6435
|
+
/**
|
|
6436
|
+
* Defines the value associated with the button which is submitted with the form data.
|
|
6437
|
+
*/
|
|
6438
|
+
value: {
|
|
6439
|
+
type: String,
|
|
6440
|
+
reflect: true
|
|
6441
|
+
},
|
|
6442
|
+
|
|
6443
|
+
/**
|
|
6444
|
+
* Sets button variant option.
|
|
6445
|
+
* @default primary
|
|
6446
|
+
*/
|
|
6447
|
+
variant: {
|
|
6448
|
+
type: String,
|
|
6449
|
+
reflect: true
|
|
6450
|
+
},
|
|
6451
|
+
|
|
6452
|
+
/**
|
|
6453
|
+
* @private
|
|
6454
|
+
*/
|
|
6455
|
+
buttonHref: {
|
|
6456
|
+
type: String,
|
|
6457
|
+
},
|
|
6458
|
+
|
|
6459
|
+
/**
|
|
6460
|
+
* @private
|
|
6461
|
+
*/
|
|
6462
|
+
buttonTarget: {
|
|
6463
|
+
type: String,
|
|
6464
|
+
},
|
|
5212
6465
|
|
|
5213
|
-
|
|
6466
|
+
/**
|
|
6467
|
+
* @private
|
|
6468
|
+
*/
|
|
6469
|
+
buttonRel: {
|
|
6470
|
+
type: String,
|
|
6471
|
+
},
|
|
6472
|
+
};
|
|
6473
|
+
}
|
|
5214
6474
|
|
|
5215
|
-
|
|
6475
|
+
/**
|
|
6476
|
+
* This will register this element with the browser.
|
|
6477
|
+
* @param {string} [name="auro-button"] - The name of element that you want to register to.
|
|
6478
|
+
*
|
|
6479
|
+
* @example
|
|
6480
|
+
* AuroButton.register("custom-button") // this will register this element to <custom-button/>
|
|
6481
|
+
*
|
|
6482
|
+
*/
|
|
6483
|
+
static register(name = "auro-button") {
|
|
6484
|
+
AuroLibraryRuntimeUtils$3.prototype.registerComponent(name, AuroButton);
|
|
6485
|
+
}
|
|
5216
6486
|
|
|
5217
6487
|
/**
|
|
5218
|
-
*
|
|
5219
|
-
* @
|
|
5220
|
-
* @param {Object} componentClass - The class to register as a custom element.
|
|
6488
|
+
* Internal method to apply focus to the HTML5 button.
|
|
6489
|
+
* @private
|
|
5221
6490
|
* @returns {void}
|
|
5222
6491
|
*/
|
|
5223
|
-
|
|
5224
|
-
|
|
5225
|
-
customElements.define(name, class extends componentClass {});
|
|
5226
|
-
}
|
|
6492
|
+
focus() {
|
|
6493
|
+
this.renderRoot.querySelector('button').focus();
|
|
5227
6494
|
}
|
|
5228
6495
|
|
|
5229
6496
|
/**
|
|
5230
|
-
*
|
|
6497
|
+
* Submits the form that this button is associated with.
|
|
6498
|
+
* @private
|
|
5231
6499
|
* @returns {void}
|
|
5232
6500
|
*/
|
|
5233
|
-
|
|
5234
|
-
|
|
5235
|
-
|
|
5236
|
-
|
|
5237
|
-
!el || el === document || el === window
|
|
5238
|
-
? null // standard .closest() returns null for non-found selectors also
|
|
5239
|
-
: found
|
|
5240
|
-
? found // found a selector INside this element
|
|
5241
|
-
: __Closest(el.getRootNode().host) // recursion!! break out to parent DOM
|
|
5242
|
-
) {
|
|
5243
|
-
return __Closest(base);
|
|
6501
|
+
surfaceSubmitEvent() {
|
|
6502
|
+
if (this.form) {
|
|
6503
|
+
this.form.requestSubmit();
|
|
6504
|
+
}
|
|
5244
6505
|
}
|
|
5245
|
-
/* eslint-enable jsdoc/require-param */
|
|
5246
6506
|
|
|
5247
6507
|
/**
|
|
5248
|
-
*
|
|
5249
|
-
* @
|
|
5250
|
-
* @
|
|
5251
|
-
* @returns {void}
|
|
6508
|
+
* Returns the form element that this button is associated with.
|
|
6509
|
+
* @private
|
|
6510
|
+
* @returns {HTMLFormElement | null}
|
|
5252
6511
|
*/
|
|
5253
|
-
|
|
5254
|
-
|
|
5255
|
-
|
|
6512
|
+
get form() {
|
|
6513
|
+
return this.internals ? this.internals.form : null;
|
|
6514
|
+
}
|
|
5256
6515
|
|
|
5257
|
-
|
|
5258
|
-
|
|
5259
|
-
|
|
6516
|
+
/**
|
|
6517
|
+
* @private
|
|
6518
|
+
* @returns {Boolean}
|
|
6519
|
+
*/
|
|
6520
|
+
get showText() {
|
|
6521
|
+
return !ICON_ONLY_SHAPES.includes(this.shape);
|
|
5260
6522
|
}
|
|
5261
6523
|
|
|
5262
6524
|
/**
|
|
5263
|
-
*
|
|
5264
|
-
* @
|
|
5265
|
-
* @
|
|
5266
|
-
* @returns {Boolean} - Returns true if the element is the specified Auro component.
|
|
6525
|
+
* Returns the current value of the projected `aria-label` attribute or undefined if not set.
|
|
6526
|
+
* @returns {string | undefined}
|
|
6527
|
+
* @private
|
|
5267
6528
|
*/
|
|
5268
|
-
|
|
5269
|
-
|
|
5270
|
-
const elemTag = elem.tagName.toLowerCase();
|
|
6529
|
+
get currentAriaLabel() {
|
|
6530
|
+
if (!this.attributeWatcher) return undefined;
|
|
5271
6531
|
|
|
5272
|
-
|
|
6532
|
+
const ariaLabel = this.attributeWatcher.getObservedAttribute("aria-label");
|
|
6533
|
+
return ariaLabel || undefined;
|
|
5273
6534
|
}
|
|
5274
|
-
};
|
|
5275
6535
|
|
|
5276
|
-
|
|
5277
|
-
|
|
6536
|
+
/**
|
|
6537
|
+
* Returns the current value of the projected `aria-labelledby` attribute or undefined if not set.
|
|
6538
|
+
* @returns {string | undefined}
|
|
6539
|
+
* @private
|
|
6540
|
+
*/
|
|
6541
|
+
get currentAriaLabelledBy() {
|
|
6542
|
+
if (!this.attributeWatcher) return undefined;
|
|
5278
6543
|
|
|
6544
|
+
const ariaLabelledBy = this.attributeWatcher.getObservedAttribute("aria-labelledby");
|
|
6545
|
+
return ariaLabelledBy || undefined;
|
|
6546
|
+
}
|
|
5279
6547
|
|
|
5280
|
-
|
|
6548
|
+
/**
|
|
6549
|
+
* Whether or not the button is set to an icon-only shape.
|
|
6550
|
+
* @returns {boolean} - True if the button is icon-only, false otherwise.
|
|
6551
|
+
* @private
|
|
6552
|
+
*/
|
|
6553
|
+
get iconOnly() {
|
|
6554
|
+
return ICON_ONLY_SHAPES.includes(this.shape);
|
|
6555
|
+
}
|
|
5281
6556
|
|
|
5282
6557
|
/**
|
|
5283
|
-
*
|
|
6558
|
+
* Gets a class name for the font size based on the button's size and shape.
|
|
6559
|
+
* @returns {string} - The font size class name.
|
|
5284
6560
|
* @private
|
|
5285
|
-
* @param {string} baseName - Defines the first part of the unique element name.
|
|
5286
|
-
* @param {string} version - Version of the component that will be appended to the baseName.
|
|
5287
|
-
* @returns {string} - Unique string to be used for naming.
|
|
5288
6561
|
*/
|
|
5289
|
-
|
|
5290
|
-
let result = baseName;
|
|
6562
|
+
getFontSize() {
|
|
5291
6563
|
|
|
5292
|
-
|
|
5293
|
-
|
|
6564
|
+
// Size map for standard buttons
|
|
6565
|
+
const standardButtonSizeMap = {
|
|
6566
|
+
xs: 'body-xs',
|
|
6567
|
+
sm: 'body-sm',
|
|
6568
|
+
md: 'body-default',
|
|
6569
|
+
lg: 'body-lg',
|
|
6570
|
+
xl: 'body-lg'
|
|
6571
|
+
};
|
|
5294
6572
|
|
|
5295
|
-
|
|
6573
|
+
// Size map for icon-only buttons
|
|
6574
|
+
const iconOnlyButtonSizeMap = {
|
|
6575
|
+
xs: 'heading-xs',
|
|
6576
|
+
sm: 'heading-sm',
|
|
6577
|
+
md: 'heading-sm',
|
|
6578
|
+
lg: 'heading-md',
|
|
6579
|
+
xl: 'heading-lg'
|
|
6580
|
+
};
|
|
6581
|
+
|
|
6582
|
+
// Determine which map to use based on the shape
|
|
6583
|
+
const sizeMap = this.iconOnly ? iconOnlyButtonSizeMap : standardButtonSizeMap;
|
|
6584
|
+
|
|
6585
|
+
// Return the font size based on the button size and shape
|
|
6586
|
+
return sizeMap[this.size] || 'body-default';
|
|
5296
6587
|
}
|
|
5297
6588
|
|
|
5298
6589
|
/**
|
|
5299
|
-
*
|
|
5300
|
-
* @
|
|
5301
|
-
* @
|
|
5302
|
-
* @returns {string} - Unique string to be used for naming.
|
|
6590
|
+
* Renders the default layout for the button.
|
|
6591
|
+
* @returns {TemplateResult}
|
|
6592
|
+
* @private
|
|
5303
6593
|
*/
|
|
5304
|
-
|
|
5305
|
-
const elementName = this.generateElementName(baseName, version);
|
|
5306
|
-
const tag = i`${s(elementName)}`;
|
|
6594
|
+
renderLayoutDefault() {
|
|
5307
6595
|
|
|
5308
|
-
|
|
5309
|
-
|
|
5310
|
-
|
|
6596
|
+
const fontSize = this.getFontSize();
|
|
6597
|
+
const tag = this.buttonHref ? i`a` : i`button`;
|
|
6598
|
+
const part = this.buttonHref ? 'link' : 'button';
|
|
5311
6599
|
|
|
5312
|
-
|
|
6600
|
+
const classes = {
|
|
6601
|
+
"auro-button": true,
|
|
6602
|
+
"inset": this.showText,
|
|
6603
|
+
wrapper: true,
|
|
6604
|
+
loading: this.loading,
|
|
6605
|
+
[`${fontSize}`]: true,
|
|
6606
|
+
|
|
6607
|
+
// These remove the default borders so we can handle focus borders ourselves
|
|
6608
|
+
'simple': !['secondary'].includes(this.variant),
|
|
6609
|
+
'thin': ['secondary'].includes(this.variant),
|
|
6610
|
+
};
|
|
6611
|
+
|
|
6612
|
+
const contentClasses = {
|
|
6613
|
+
"contentWrapper": true,
|
|
6614
|
+
"util_displayHiddenVisually": this.loading
|
|
6615
|
+
};
|
|
6616
|
+
|
|
6617
|
+
return u`
|
|
6618
|
+
<${tag}
|
|
6619
|
+
part="${part}"
|
|
6620
|
+
aria-label="${o(this.loading ? this.loadingText : this.currentAriaLabel || undefined)}"
|
|
6621
|
+
aria-labelledby="${o(this.loading ? undefined : this.currentAriaLabelledBy || undefined)}"
|
|
6622
|
+
tabindex="${o(this.tIndex || this.tabindex)}"
|
|
6623
|
+
?autofocus="${this.autofocus}"
|
|
6624
|
+
class=${e(classes)}
|
|
6625
|
+
?disabled="${this.disabled || this.loading}"
|
|
6626
|
+
?onDark="${this.onDark}"
|
|
6627
|
+
title="${o(this.title ? this.title : undefined)}"
|
|
6628
|
+
name="${o(this.name ? this.name : undefined)}"
|
|
6629
|
+
type="${o(this.type ? this.type : undefined)}"
|
|
6630
|
+
variant="${o(this.variant ? this.variant : undefined)}"
|
|
6631
|
+
.value="${o(this.value ? this.value : undefined)}"
|
|
6632
|
+
@click="${this.type === 'submit' ? this.surfaceSubmitEvent : undefined}"
|
|
6633
|
+
href="${o(this.buttonHref || undefined)}"
|
|
6634
|
+
target="${o(this.buttonTarget || undefined)}"
|
|
6635
|
+
rel="${o(this.buttonRel || undefined)}"
|
|
6636
|
+
>
|
|
6637
|
+
${o(this.loading ? u`<${this.loaderTag} pulse part="loader"></${this.loaderTag}>` : undefined)}
|
|
6638
|
+
|
|
6639
|
+
<span class="${e(contentClasses)}">
|
|
6640
|
+
<span class="textSlot" part="text">
|
|
6641
|
+
<slot></slot>
|
|
6642
|
+
</span>
|
|
6643
|
+
</span>
|
|
6644
|
+
</${tag}>
|
|
6645
|
+
`;
|
|
6646
|
+
}
|
|
6647
|
+
|
|
6648
|
+
/**
|
|
6649
|
+
* Renders the layout of the button.
|
|
6650
|
+
* @returns {TemplateResult}
|
|
6651
|
+
* @private
|
|
6652
|
+
*/
|
|
6653
|
+
renderLayout() {
|
|
6654
|
+
return this.renderLayoutDefault();
|
|
5313
6655
|
}
|
|
5314
6656
|
}
|
|
5315
6657
|
|
|
6658
|
+
var buttonVersion = '11.3.0';
|
|
6659
|
+
|
|
5316
6660
|
// Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
5317
6661
|
// See LICENSE in the project root for license information.
|
|
5318
6662
|
|
|
@@ -5323,7 +6667,7 @@ class AuroDependencyVersioning {
|
|
|
5323
6667
|
* @attr {Boolean} hiddenAudible - If present, the component will be hidden from screen readers, but seen visually
|
|
5324
6668
|
*/
|
|
5325
6669
|
|
|
5326
|
-
let AuroElement$
|
|
6670
|
+
let AuroElement$2 = class AuroElement extends i$2 {
|
|
5327
6671
|
|
|
5328
6672
|
// function to define props used within the scope of this component
|
|
5329
6673
|
static get properties() {
|
|
@@ -5391,7 +6735,7 @@ var styleCss$1$1 = i$5`:focus:not(:focus-visible){outline:3px solid transparent}
|
|
|
5391
6735
|
*/
|
|
5392
6736
|
|
|
5393
6737
|
// build the component class
|
|
5394
|
-
let BaseIcon$1 = class BaseIcon extends AuroElement$
|
|
6738
|
+
let BaseIcon$1 = class BaseIcon extends AuroElement$2 {
|
|
5395
6739
|
constructor() {
|
|
5396
6740
|
super();
|
|
5397
6741
|
this.onDark = false;
|
|
@@ -5474,7 +6818,7 @@ var colorCss$4 = i$5`:host{color:var(--ds-auro-icon-color)}:host([customColor]){
|
|
|
5474
6818
|
|
|
5475
6819
|
/* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
|
|
5476
6820
|
|
|
5477
|
-
let AuroLibraryRuntimeUtils$
|
|
6821
|
+
let AuroLibraryRuntimeUtils$1$1 = class AuroLibraryRuntimeUtils {
|
|
5478
6822
|
|
|
5479
6823
|
/* eslint-disable jsdoc/require-param */
|
|
5480
6824
|
|
|
@@ -5556,7 +6900,7 @@ let AuroIcon$1 = class AuroIcon extends BaseIcon$1 {
|
|
|
5556
6900
|
*/
|
|
5557
6901
|
privateDefaults() {
|
|
5558
6902
|
this.uri = 'https://cdn.jsdelivr.net/npm/@alaskaairux/icons@latest/dist';
|
|
5559
|
-
this.runtimeUtils = new AuroLibraryRuntimeUtils$
|
|
6903
|
+
this.runtimeUtils = new AuroLibraryRuntimeUtils$1$1();
|
|
5560
6904
|
}
|
|
5561
6905
|
|
|
5562
6906
|
// function to define props used within the scope of this component
|
|
@@ -5638,7 +6982,7 @@ let AuroIcon$1 = class AuroIcon extends BaseIcon$1 {
|
|
|
5638
6982
|
*
|
|
5639
6983
|
*/
|
|
5640
6984
|
static register(name = "auro-icon") {
|
|
5641
|
-
AuroLibraryRuntimeUtils$
|
|
6985
|
+
AuroLibraryRuntimeUtils$1$1.prototype.registerComponent(name, AuroIcon);
|
|
5642
6986
|
}
|
|
5643
6987
|
|
|
5644
6988
|
connectedCallback() {
|
|
@@ -5659,8 +7003,12 @@ let AuroIcon$1 = class AuroIcon extends BaseIcon$1 {
|
|
|
5659
7003
|
async firstUpdated() {
|
|
5660
7004
|
await super.firstUpdated();
|
|
5661
7005
|
|
|
5662
|
-
|
|
5663
|
-
|
|
7006
|
+
/**
|
|
7007
|
+
* icons provide a description for screen readers. Icon only instances Auro-button
|
|
7008
|
+
* depend on this description to provide context for the user using a screen reader.
|
|
7009
|
+
* Removes the SVG description for screen reader if ariaHidden is set to true.
|
|
7010
|
+
*/
|
|
7011
|
+
if (this.hasAttribute('ariaHidden') && this.svg) {
|
|
5664
7012
|
const svgDesc = this.svg.querySelector('desc');
|
|
5665
7013
|
|
|
5666
7014
|
if (svgDesc) {
|
|
@@ -5704,7 +7052,77 @@ let AuroIcon$1 = class AuroIcon extends BaseIcon$1 {
|
|
|
5704
7052
|
}
|
|
5705
7053
|
};
|
|
5706
7054
|
|
|
5707
|
-
var iconVersion$1 = '8.0.
|
|
7055
|
+
var iconVersion$1 = '8.0.4';
|
|
7056
|
+
|
|
7057
|
+
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
7058
|
+
// See LICENSE in the project root for license information.
|
|
7059
|
+
|
|
7060
|
+
// ---------------------------------------------------------------------
|
|
7061
|
+
|
|
7062
|
+
/* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
|
|
7063
|
+
|
|
7064
|
+
let AuroLibraryRuntimeUtils$4 = class AuroLibraryRuntimeUtils {
|
|
7065
|
+
|
|
7066
|
+
/* eslint-disable jsdoc/require-param */
|
|
7067
|
+
|
|
7068
|
+
/**
|
|
7069
|
+
* This will register a new custom element with the browser.
|
|
7070
|
+
* @param {String} name - The name of the custom element.
|
|
7071
|
+
* @param {Object} componentClass - The class to register as a custom element.
|
|
7072
|
+
* @returns {void}
|
|
7073
|
+
*/
|
|
7074
|
+
registerComponent(name, componentClass) {
|
|
7075
|
+
if (!customElements.get(name)) {
|
|
7076
|
+
customElements.define(name, class extends componentClass {});
|
|
7077
|
+
}
|
|
7078
|
+
}
|
|
7079
|
+
|
|
7080
|
+
/**
|
|
7081
|
+
* Finds and returns the closest HTML Element based on a selector.
|
|
7082
|
+
* @returns {void}
|
|
7083
|
+
*/
|
|
7084
|
+
closestElement(
|
|
7085
|
+
selector, // selector like in .closest()
|
|
7086
|
+
base = this, // extra functionality to skip a parent
|
|
7087
|
+
__Closest = (el, found = el && el.closest(selector)) =>
|
|
7088
|
+
!el || el === document || el === window
|
|
7089
|
+
? null // standard .closest() returns null for non-found selectors also
|
|
7090
|
+
: found
|
|
7091
|
+
? found // found a selector INside this element
|
|
7092
|
+
: __Closest(el.getRootNode().host) // recursion!! break out to parent DOM
|
|
7093
|
+
) {
|
|
7094
|
+
return __Closest(base);
|
|
7095
|
+
}
|
|
7096
|
+
/* eslint-enable jsdoc/require-param */
|
|
7097
|
+
|
|
7098
|
+
/**
|
|
7099
|
+
* If the element passed is registered with a different tag name than what is passed in, the tag name is added as an attribute to the element.
|
|
7100
|
+
* @param {Object} elem - The element to check.
|
|
7101
|
+
* @param {String} tagName - The name of the Auro component to check for or add as an attribute.
|
|
7102
|
+
* @returns {void}
|
|
7103
|
+
*/
|
|
7104
|
+
handleComponentTagRename(elem, tagName) {
|
|
7105
|
+
const tag = tagName.toLowerCase();
|
|
7106
|
+
const elemTag = elem.tagName.toLowerCase();
|
|
7107
|
+
|
|
7108
|
+
if (elemTag !== tag) {
|
|
7109
|
+
elem.setAttribute(tag, true);
|
|
7110
|
+
}
|
|
7111
|
+
}
|
|
7112
|
+
|
|
7113
|
+
/**
|
|
7114
|
+
* Validates if an element is a specific Auro component.
|
|
7115
|
+
* @param {Object} elem - The element to validate.
|
|
7116
|
+
* @param {String} tagName - The name of the Auro component to check against.
|
|
7117
|
+
* @returns {Boolean} - Returns true if the element is the specified Auro component.
|
|
7118
|
+
*/
|
|
7119
|
+
elementMatch(elem, tagName) {
|
|
7120
|
+
const tag = tagName.toLowerCase();
|
|
7121
|
+
const elemTag = elem.tagName.toLowerCase();
|
|
7122
|
+
|
|
7123
|
+
return elemTag === tag || elem.hasAttribute(tag);
|
|
7124
|
+
}
|
|
7125
|
+
};
|
|
5708
7126
|
|
|
5709
7127
|
var styleCss$5 = i$5`.heading{margin:1.75rem 0;letter-spacing:var(--ds-text-heading-default-spacing, -0.2px);font-weight:var(--ds-text-heading-default-weight, 500)}.heading--display{margin-top:0;font-size:var(--ds-text-heading-display-size-breakpoint-sm, 2.75rem);font-weight:var(--ds-text-heading-display-weight, 100);line-height:var(--ds-text-heading-display-height-breakpoint-sm, 3.375rem)}@media screen and (min-width: 768px){.heading--display{font-size:var(--ds-text-heading-display-size-breakpoint-md, 3rem);line-height:var(--ds-text-heading-display-height-breakpoint-md, 3.75rem)}}@media screen and (min-width: 1024px){.heading--display{font-size:var(--ds-text-heading-display-size-breakpoint-lg, 3.5rem);line-height:var(--ds-text-heading-display-height-breakpoint-lg, 4.25rem)}}.heading--800{font-size:var(--ds-text-heading-800-size-breakpoint-sm, 2rem);font-weight:var(--ds-text-heading-800-weight, 500);line-height:var(--ds-text-heading-800-height-breakpoint-sm, 2.375rem)}@media screen and (min-width: 768px){.heading--800{font-size:var(--ds-text-heading-800-size-breakpoint-md, 2.25rem);line-height:var(--ds-text-heading-800-height-breakpoint-md, 2.625rem)}}@media screen and (min-width: 1024px){.heading--800{font-size:var(--ds-text-heading-800-size-breakpoint-lg, 2.5rem);line-height:var(--ds-text-heading-800-height-breakpoint-lg, 3rem)}}.heading--700{font-size:var(--ds-text-heading-700-size-breakpoint-sm, 1.75rem);font-weight:var(--ds-text-heading-700-weight, 500);line-height:var(--ds-text-heading-700-height-breakpoint-sm, 2.125rem)}@media screen and (min-width: 768px){.heading--700{font-size:var(--ds-text-heading-700-size-breakpoint-md, 2rem);line-height:var(--ds-text-heading-700-height-breakpoint-md, 2.375rem)}}@media screen and (min-width: 1024px){.heading--700{font-size:var(--ds-text-heading-700-size-breakpoint-lg, 2.25rem);line-height:var(--ds-text-heading-700-height-breakpoint-lg, 2.75rem)}}.heading--600{margin:1rem 0;font-size:var(--ds-text-heading-600-size-breakpoint-sm, 1.625rem);font-weight:var(--ds-text-heading-600-weight, 300);line-height:var(--ds-text-heading-600-height-breakpoint-sm, 1.875rem)}@media screen and (min-width: 768px){.heading--600{font-size:var(--ds-text-heading-600-size-breakpoint-md, 1.75rem);line-height:var(--ds-text-heading-600-height-breakpoint-md, 2.125rem)}}@media screen and (min-width: 1024px){.heading--600{font-size:var(--ds-text-heading-600-size-breakpoint-lg, 1.75rem);line-height:var(--ds-text-heading-600-height-breakpoint-lg, 2.25rem)}}.heading--500{margin:1rem 0;font-size:var(--ds-text-heading-500-size-breakpoint-sm, 1.375rem);font-weight:var(--ds-text-heading-500-weight, 300);line-height:var(--ds-text-heading-500-height-breakpoint-sm, 1.625rem)}@media screen and (min-width: 768px){.heading--500{font-size:var(--ds-text-heading-500-size-breakpoint-md, 1.5rem);line-height:var(--ds-text-heading-500-height-breakpoint-md, 1.875rem)}}@media screen and (min-width: 1024px){.heading--500{font-size:var(--ds-text-heading-500-size-breakpoint-lg, 1.5rem);line-height:var(--ds-text-heading-500-height-breakpoint-lg, 2rem)}}.heading--400{margin:.75rem 0;font-size:var(--ds-text-heading-400-size, 1.25rem);font-weight:var(--ds-text-heading-400-weight, 300);line-height:var(--ds-text-heading-400-height, 1.625rem)}.heading--300{margin:.75rem 0;font-size:var(--ds-text-heading-300-size, 1.125rem);font-weight:var(--ds-text-heading-300-weight, 300);line-height:var(--ds-text-heading-300-height, 1.625rem)}:host([no-margin-block]) .heading{margin-block:0}.util_stackMarginnone--bottom{margin-bottom:0}.util_stackMargin25--bottom{margin-bottom:var(--ds-size-25, 0.125rem)}.util_stackMargin50--bottom{margin-bottom:var(--ds-size-50, 0.25rem)}.util_stackMargin100--bottom{margin-bottom:var(--ds-size-100, 0.5rem)}.util_stackMargin150--bottom{margin-bottom:var(--ds-size-150, 0.75rem)}.util_stackMargin200--bottom{margin-bottom:var(--ds-size-200, 1rem)}.util_stackMargin300--bottom{margin-bottom:var(--ds-size-300, 1.5rem)}.util_stackMargin400--bottom{margin-bottom:var(--ds-size-400, 2rem)}.util_stackMargin600--bottom{margin-bottom:var(--ds-size-600, 3rem)}.util_stackMargin800--bottom{margin-bottom:var(--ds-size-800, 4rem)}.util_stackMarginnone--top{margin-top:0}.util_stackMargin25--top{margin-top:var(--ds-size-25, 0.125rem)}.util_stackMargin50--top{margin-top:var(--ds-size-50, 0.25rem)}.util_stackMargin100--top{margin-top:var(--ds-size-100, 0.5rem)}.util_stackMargin150--top{margin-top:var(--ds-size-150, 0.75rem)}.util_stackMargin200--top{margin-top:var(--ds-size-200, 1rem)}.util_stackMargin300--top{margin-top:var(--ds-size-300, 1.5rem)}.util_stackMargin400--top{margin-top:var(--ds-size-400, 2rem)}.util_stackMargin600--top{margin-top:var(--ds-size-600, 3rem)}.util_stackMargin800--top{margin-top:var(--ds-size-800, 4rem)}`;
|
|
5710
7128
|
|
|
@@ -5735,7 +7153,7 @@ class AuroHeader extends i$2 {
|
|
|
5735
7153
|
/**
|
|
5736
7154
|
* @private
|
|
5737
7155
|
*/
|
|
5738
|
-
this.runtimeUtils = new AuroLibraryRuntimeUtils$
|
|
7156
|
+
this.runtimeUtils = new AuroLibraryRuntimeUtils$4();
|
|
5739
7157
|
}
|
|
5740
7158
|
|
|
5741
7159
|
// function to define props used within the scope of this component
|
|
@@ -5765,7 +7183,7 @@ class AuroHeader extends i$2 {
|
|
|
5765
7183
|
*
|
|
5766
7184
|
*/
|
|
5767
7185
|
static register(name = "auro-header") {
|
|
5768
|
-
AuroLibraryRuntimeUtils$
|
|
7186
|
+
AuroLibraryRuntimeUtils$4.prototype.registerComponent(name, AuroHeader);
|
|
5769
7187
|
}
|
|
5770
7188
|
|
|
5771
7189
|
firstUpdated() {
|
|
@@ -5861,17 +7279,30 @@ class AuroBibtemplate extends i$2 {
|
|
|
5861
7279
|
|
|
5862
7280
|
this.large = false;
|
|
5863
7281
|
|
|
5864
|
-
AuroLibraryRuntimeUtils$
|
|
7282
|
+
AuroLibraryRuntimeUtils$3.prototype.handleComponentTagRename(this, 'auro-bibtemplate');
|
|
5865
7283
|
|
|
5866
7284
|
const versioning = new AuroDependencyVersioning();
|
|
7285
|
+
|
|
7286
|
+
/**
|
|
7287
|
+
* @private
|
|
7288
|
+
*/
|
|
5867
7289
|
this.iconTag = versioning.generateTag('auro-formkit-bibtemplate-icon', iconVersion$1, AuroIcon$1);
|
|
7290
|
+
|
|
7291
|
+
/**
|
|
7292
|
+
* @private
|
|
7293
|
+
*/
|
|
5868
7294
|
this.headerTag = versioning.generateTag('auro-formkit-bibtemplate-header', headerVersion, AuroHeader);
|
|
7295
|
+
|
|
7296
|
+
/**
|
|
7297
|
+
* @private
|
|
7298
|
+
*/
|
|
7299
|
+
this.buttonTag = versioning.generateTag('auro-formkit-input-button', buttonVersion, AuroButton);
|
|
5869
7300
|
}
|
|
5870
7301
|
|
|
5871
7302
|
static get styles() {
|
|
5872
7303
|
return [
|
|
5873
|
-
colorCss$
|
|
5874
|
-
styleCss$
|
|
7304
|
+
colorCss$3$1,
|
|
7305
|
+
styleCss$4$1,
|
|
5875
7306
|
tokenCss
|
|
5876
7307
|
];
|
|
5877
7308
|
}
|
|
@@ -5900,7 +7331,7 @@ class AuroBibtemplate extends i$2 {
|
|
|
5900
7331
|
*
|
|
5901
7332
|
*/
|
|
5902
7333
|
static register(name = "auro-bibtemplate") {
|
|
5903
|
-
AuroLibraryRuntimeUtils$
|
|
7334
|
+
AuroLibraryRuntimeUtils$3.prototype.registerComponent(name, AuroBibtemplate);
|
|
5904
7335
|
}
|
|
5905
7336
|
|
|
5906
7337
|
/**
|
|
@@ -5958,9 +7389,9 @@ class AuroBibtemplate extends i$2 {
|
|
|
5958
7389
|
<div id="bibTemplate" part="bibtemplate">
|
|
5959
7390
|
${this.isFullscreen ? u`
|
|
5960
7391
|
<div id="headerContainer">
|
|
5961
|
-
|
|
7392
|
+
<${this.buttonTag} id="closeButton" aria-label="Close" variant="ghost" shape="circle" size="sm" @click="${this.onCloseButtonClick}">
|
|
5962
7393
|
<${this.iconTag} category="interface" name="x-lg"></${this.iconTag}>
|
|
5963
|
-
|
|
7394
|
+
</${this.buttonTag}>
|
|
5964
7395
|
<${this.headerTag} display="${this.large ? 'display' : '600'}" level="3" size="none" id="header" no-margin-block>
|
|
5965
7396
|
<slot name="header"></slot>
|
|
5966
7397
|
</${this.headerTag}>
|
|
@@ -5984,9 +7415,9 @@ class AuroBibtemplate extends i$2 {
|
|
|
5984
7415
|
|
|
5985
7416
|
var bibTemplateVersion = '1.0.0';
|
|
5986
7417
|
|
|
5987
|
-
var colorCss$3 = i$5`:host([error]){--ds-auro-helptext-color: var(--ds-basic-color-status-error, #e31f26)}:host([onDark]){--ds-auro-helptext-color: var(--ds-basic-color-texticon-inverse-muted, #ccd2db)}:host([onDark][error]){--ds-auro-helptext-color: var(--ds-
|
|
7418
|
+
var colorCss$3 = i$5`:host([error]){--ds-auro-helptext-color: var(--ds-basic-color-status-error, #e31f26)}:host([onDark]){--ds-auro-helptext-color: var(--ds-basic-color-texticon-inverse-muted, #ccd2db)}:host([onDark][error]){--ds-auro-helptext-color: var(--ds-basic-color-status-error-subtle, #fbc6c6)}.helptext-wrapper{color:var(--ds-auro-helptext-color)}`;
|
|
5988
7419
|
|
|
5989
|
-
var styleCss$4 = i$5
|
|
7420
|
+
var styleCss$4 = i$5`:host{position:relative;display:block}.helptext-wrapper{display:none;font-size:12px;font-weight:450;letter-spacing:0;line-height:16px}:host([large]) .helptext-wrapper{font-size:16px;font-weight:450;letter-spacing:0;line-height:24px}.helptext-wrapper[visible]{display:block}::slotted(*:not(:empty)){margin-top:var(--ds-size-50, 0.25rem);margin-bottom:0}::slotted(p){margin-block:0}`;
|
|
5990
7421
|
|
|
5991
7422
|
var tokensCss$2 = i$5`:host{--ds-auro-helptext-color: var(--ds-basic-color-texticon-muted, #676767)}`;
|
|
5992
7423
|
|
|
@@ -6192,68 +7623,7 @@ class AuroHelpText extends i$2 {
|
|
|
6192
7623
|
|
|
6193
7624
|
var helpTextVersion = '1.0.0';
|
|
6194
7625
|
|
|
6195
|
-
i$5
|
|
6196
|
-
|
|
6197
|
-
i$5`:host ::slotted(hr){border-top-color:var(--ds-auro-menu-divider-color)}[loadingplaceholder] slot[name=loadingIcon]{color:var(--ds-auro-menu-loader-color)}[loadingplaceholder] slot[name=loadingText]{color:var(--ds-auro-menu-loader-text-color)}`;
|
|
6198
|
-
|
|
6199
|
-
i$5`:host{--ds-auro-menu-divider-color: var(--ds-basic-color-border-divider, rgba(0, 0, 0, 0.15));--ds-auro-menu-loader-color: var(--ds-basic-color-brand-primary, #01426a);--ds-auro-menu-loader-text-color: var(--ds-basic-color-texticon-default, #2a2a2a);--ds-auro-menuoption-container-color: transparent;--ds-auro-menuoption-icon-color: transparent;--ds-auro-menuoption-text-color: var(--ds-basic-color-texticon-default, #2a2a2a)}`;
|
|
6200
|
-
|
|
6201
|
-
// Copyright (c) 2021 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
6202
|
-
// See LICENSE in the project root for license information.
|
|
6203
|
-
|
|
6204
|
-
// ---------------------------------------------------------------------
|
|
6205
|
-
|
|
6206
|
-
/**
|
|
6207
|
-
* Converts value to an array.
|
|
6208
|
-
* If the value is a JSON string representing an array, it will be parsed.
|
|
6209
|
-
* If the value is already an array, it is returned.
|
|
6210
|
-
* If the value is undefined, it returns undefined.
|
|
6211
|
-
* @private
|
|
6212
|
-
* @param {any} value - The value to be converted. Can be a string, array, or undefined.
|
|
6213
|
-
* @returns {Array|undefined} - The converted array or undefined.
|
|
6214
|
-
* @throws {Error} - Throws an error if the value is not an array, undefined,
|
|
6215
|
-
* or if the value cannot be parsed into an array from a JSON string.
|
|
6216
|
-
*/
|
|
6217
|
-
function arrayConverter(value) {
|
|
6218
|
-
// Allow undefined
|
|
6219
|
-
if (value === undefined) {
|
|
6220
|
-
return undefined;
|
|
6221
|
-
}
|
|
6222
|
-
|
|
6223
|
-
// Return the value if it is already an array
|
|
6224
|
-
if (Array.isArray(value)) {
|
|
6225
|
-
return value;
|
|
6226
|
-
}
|
|
6227
|
-
|
|
6228
|
-
try {
|
|
6229
|
-
// If value is a JSON string, parse it
|
|
6230
|
-
const parsed = typeof value === 'string' ? JSON.parse(value) : value;
|
|
6231
|
-
|
|
6232
|
-
// Check if the parsed value is an array
|
|
6233
|
-
if (Array.isArray(parsed)) {
|
|
6234
|
-
return parsed;
|
|
6235
|
-
}
|
|
6236
|
-
} catch (error) {
|
|
6237
|
-
// If JSON parsing fails, continue to throw an error below
|
|
6238
|
-
/* eslint-disable no-console */
|
|
6239
|
-
console.error('JSON parsing failed:', error);
|
|
6240
|
-
}
|
|
6241
|
-
|
|
6242
|
-
// Throw error if the input is not an array or undefined
|
|
6243
|
-
throw new Error('Invalid value: Input must be an array or undefined');
|
|
6244
|
-
}
|
|
6245
|
-
|
|
6246
|
-
i$5`:host{display:flex;align-items:center;padding:var(--ds-size-50, 0.25rem) var(--ds-size-200, 1rem) var(--ds-size-50, 0.25rem) 0;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent}:host slot{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}:host [auro-icon]{--ds-auro-icon-size: var(--ds-size-300, 1.5rem);margin-right:var(--ds-size-150, 0.75rem);margin-left:var(--ds-size-100, 0.5rem)}:host ::slotted(.nestingSpacer){display:inline-block;width:var(--ds-size-300, 1.5rem)}:host ::slotted(strong){font-weight:700}:host([hidden]){display:none}:host([static]){pointer-events:none}:host([disabled]:hover){cursor:auto}:host([disabled]){user-select:none;pointer-events:none}`;
|
|
6247
|
-
|
|
6248
|
-
i$5`:host{background-color:var(--ds-auro-menuoption-container-color);color:var(--ds-auro-menuoption-text-color)}:host svg{fill:var(--ds-auro-menuoption-icon-color)}:host([disabled]){--ds-auro-menuoption-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0)}:host(:hover),:host(.active){--ds-auro-menuoption-container-color: var(--ds-basic-color-surface-neutral-subtle, #f7f7f7)}:host([selected]){--ds-auro-menuoption-container-color: var(--ds-advanced-color-state-selected, #01426a);--ds-auro-menuoption-text-color: var(--ds-basic-color-texticon-inverse, #ffffff);--ds-auro-menuoption-icon-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host([selected]):host(:hover),:host([selected]):host(.active){--ds-auro-menuoption-container-color: var(--ds-advanced-color-state-selected-hover, #00274a)}`;
|
|
6249
|
-
|
|
6250
|
-
i$5`: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, 0.75rem))}:host{color:currentColor;vertical-align:middle;line-height:1;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}.svgWrapper{height:var(--ds-auro-icon-size);width:var(--ds-auro-icon-size)}.labelWrapper{margin-left:var(--ds-size-50, 0.25rem);line-height:1.8}`;
|
|
6251
|
-
|
|
6252
|
-
i$5`: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)}`;
|
|
6253
|
-
|
|
6254
|
-
i$5`:host{color:var(--ds-auro-icon-color)}:host([customColor]){color:inherit}:host(:not([onDark])[variant=accent1]){--ds-auro-icon-color:var(--ds-basic-color-texticon-accent1, #265688)}:host(:not([onDark])[variant=disabled]){--ds-auro-icon-color:var(--ds-basic-color-texticon-disabled, #d0d0d0)}:host(:not([onDark])[variant=muted]){--ds-auro-icon-color:var(--ds-basic-color-texticon-muted, #676767)}:host(:not([onDark])[variant=statusDefault]){--ds-auro-icon-color:var(--ds-basic-color-status-default, #afb9c6)}:host(:not([onDark])[variant=statusInfo]){--ds-auro-icon-color:var(--ds-basic-color-status-info, #01426a)}:host(:not([onDark])[variant=statusSuccess]){--ds-auro-icon-color:var(--ds-basic-color-status-success, #447a1f)}:host(:not([onDark])[variant=statusWarning]){--ds-auro-icon-color:var(--ds-basic-color-status-warning, #fac200)}:host(:not([onDark])[variant=statusError]){--ds-auro-icon-color:var(--ds-basic-color-status-error, #e31f26)}:host(:not([onDark])[variant=statusInfoSubtle]){--ds-auro-icon-color:var(--ds-basic-color-status-info-subtle, #ebf3f9)}:host(:not([onDark])[variant=statusSuccessSubtle]){--ds-auro-icon-color:var(--ds-basic-color-status-success-subtle, #d6eac7)}:host(:not([onDark])[variant=statusWarningSubtle]){--ds-auro-icon-color:var(--ds-basic-color-status-warning-subtle, #fff0b2)}:host(:not([onDark])[variant=statusErrorSubtle]){--ds-auro-icon-color:var(--ds-basic-color-status-error-subtle, #fbc6c6)}:host(:not([onDark])[variant=fareBasicEconomy]){--ds-auro-icon-color:var(--ds-basic-color-fare-basiceconomy, #97eaf8)}:host(:not([onDark])[variant=fareBusiness]){--ds-auro-icon-color:var(--ds-basic-color-fare-business, #01426a)}:host(:not([onDark])[variant=fareEconomy]){--ds-auro-icon-color:var(--ds-basic-color-fare-economy, #0074ca)}:host(:not([onDark])[variant=fareFirst]){--ds-auro-icon-color:var(--ds-basic-color-fare-first, #00274a)}:host(:not([onDark])[variant=farePremiumEconomy]){--ds-auro-icon-color:var(--ds-basic-color-fare-premiumeconomy, #005154)}:host(:not([onDark])[variant=tierOneWorldEmerald]){--ds-auro-icon-color:var(--ds-basic-color-tier-program-oneworld-emerald, #139142)}:host(:not([onDark])[variant=tierOneWorldSapphire]){--ds-auro-icon-color:var(--ds-basic-color-tier-program-oneworld-sapphire, #015daa)}:host(:not([onDark])[variant=tierOneWorldRuby]){--ds-auro-icon-color:var(--ds-basic-color-tier-program-oneworld-ruby, #a41d4a)}:host([onDark]){--ds-auro-icon-color:var(--ds-basic-color-texticon-inverse, #ffffff)}:host([onDark][variant=disabled]){--ds-auro-icon-color:var(--ds-basic-color-texticon-inverse-disabled, #7e8894)}:host([onDark][variant=muted]){--ds-auro-icon-color:var(--ds-basic-color-texticon-inverse-muted, #ccd2db)}:host([onDark][variant=statusError]){--ds-auro-icon-color:var(--ds-advanced-color-state-error-inverse, #f9a4a8)}`;
|
|
6255
|
-
|
|
6256
|
-
var styleCss$3 = i$5`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}[auro-dropdown]{--ds-auro-dropdown-trigger-border-color: var(--ds-auro-select-border-color);--ds-auro-dropdown-trigger-background-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-container-color: var(--ds-auro-select-background-color)}.mainContent{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;flex:1}.valueContainer [slot=displayValue]{display:none}.accents{display:flex;flex-direction:row;justify-content:center;align-items:center}::slotted([slot=typeIcon]){margin-right:8px}.displayValue{display:block}.displayValue:not(.force){display:none}.displayValue:not(.force).hasContent:is(.withValue):not(.hasFocus){display:block}.triggerContent{display:flex;align-items:center;justify-content:center;width:100%;padding:0 8px 0 24px}:host(:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-default, #2a2a2a)}:host([ondark]:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}#slotHolder{display:none}:host([disabled]) *{user-select:none}`;
|
|
7626
|
+
var styleCss$3 = i$5`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}[auro-dropdown]{--ds-auro-dropdown-trigger-border-color: var(--ds-auro-select-border-color);--ds-auro-dropdown-trigger-background-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-container-color: var(--ds-auro-select-background-color)}:host([layout*=emphasized]) [auro-dropdown],:host([layout*=snowflake]) [auro-dropdown]{--ds-auro-select-border-color: transparent}.mainContent{position:relative;display:flex;overflow:hidden;flex:1;flex-direction:column;align-items:center;justify-content:center}.valueContainer [slot=displayValue]{display:none}.accents{display:flex;flex-direction:row;align-items:center;justify-content:center}::slotted([slot=typeIcon]){margin-right:var(--ds-size-100, 0.5rem)}.displayValue{display:block}.displayValue:not(.force){display:none}.displayValue:not(.force).hasContent:is(.withValue):not(.hasFocus){display:block}.triggerContent{display:flex;width:100%;align-items:center;justify-content:center}:host([layout*=emphasized]) .triggerContent,:host([layout*=snowflake]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem) 0 var(--ds-size-300, 1.5rem)}:host([layout*=snowflake]) [auro-dropdown] label.withValue{font-size:var(--ds-text-body-size-xs);line-height:20px}:host([layout*=emphasized]) [auro-dropdown] label.withValue{font-size:var(--ds-text-body-size-xs);line-height:20px}:host([layout*=classic]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem)}:host([layout*=classic]) .mainContent{align-items:start}:host([layout*=classic]) label{overflow:hidden;cursor:text;font-size:16px;font-weight:450;letter-spacing:0;line-height:24px;text-overflow:ellipsis;white-space:nowrap}:host([layout*=classic]) label.withValue{font-size:12px;font-weight:450;letter-spacing:0;line-height:16px}:host([layout*=classic]) .value{height:auto;font-size:16px;font-weight:450;letter-spacing:0;line-height:24px}:host(:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-default, #2a2a2a)}:host([ondark]:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-status-error-subtle, #fbc6c6);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}#slotHolder{display:none}:host([disabled]){pointer-events:none;user-select:none}:host([disabled]:not([ondark])) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-border-subtle, #dddddd)}:host(:not([layout*=classic])[disabled][ondark]) [auro-dropdown]{--ds-auro-select-border-color: transparent}`;
|
|
6257
7627
|
|
|
6258
7628
|
// Copyright (c) 2021 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
6259
7629
|
// See LICENSE in the project root for license information.
|
|
@@ -6266,9 +7636,10 @@ var styleCss$3 = i$5`.util_displayInline{display:inline}.util_displayInlineBlock
|
|
|
6266
7636
|
* @slot - Default slot for the menu content.
|
|
6267
7637
|
* @slot bib.fullscreen.headline - Defines the headline to display above menu-options
|
|
6268
7638
|
* @slot label - Defines the content of the label.
|
|
7639
|
+
* @slot {HTMLSlotElement} optionalLabel - Allows overriding the optional display text "(optional)", which appears next to the label.
|
|
6269
7640
|
* @slot helpText - Defines the content of the helpText.
|
|
6270
|
-
* @slot placeholder - Defines the content of the placeholder to be shown when there is no value
|
|
6271
7641
|
* @slot valueText - Dropdown value text display.
|
|
7642
|
+
* @slot displayValue - Allows custom HTML content to display the selected value when select is not focused.
|
|
6272
7643
|
* @event auroSelect-valueSet - Notifies that the component has a new value set.
|
|
6273
7644
|
* @event input - Notifies every time the value prop of the element is changed. The updated `value` and `optionSelected` will be delivered in `detail` object.
|
|
6274
7645
|
* @event auroFormElement-validated - Notifies that the `validity` and `errorMessage` values have changed.
|
|
@@ -6276,7 +7647,7 @@ var styleCss$3 = i$5`.util_displayInline{display:inline}.util_displayInlineBlock
|
|
|
6276
7647
|
*/
|
|
6277
7648
|
|
|
6278
7649
|
// build the component class
|
|
6279
|
-
class AuroSelect extends AuroElement$
|
|
7650
|
+
class AuroSelect extends AuroElement$4 {
|
|
6280
7651
|
constructor() {
|
|
6281
7652
|
super();
|
|
6282
7653
|
|
|
@@ -6286,11 +7657,11 @@ class AuroSelect extends AuroElement$3 {
|
|
|
6286
7657
|
const idSubstrEnd = 8;
|
|
6287
7658
|
const idSubstrStart = 2;
|
|
6288
7659
|
|
|
6289
|
-
this.matchWidth =
|
|
7660
|
+
this.matchWidth = false;
|
|
6290
7661
|
|
|
6291
7662
|
// Layout Config
|
|
6292
|
-
this.layout = '
|
|
6293
|
-
this.shape = '
|
|
7663
|
+
this.layout = 'snowflake';
|
|
7664
|
+
this.shape = 'snowflake';
|
|
6294
7665
|
this.size = 'xl';
|
|
6295
7666
|
|
|
6296
7667
|
// floaterConfig
|
|
@@ -6301,6 +7672,10 @@ class AuroSelect extends AuroElement$3 {
|
|
|
6301
7672
|
|
|
6302
7673
|
this.forceDisplayValue = false;
|
|
6303
7674
|
|
|
7675
|
+
this.layout = 'classic';
|
|
7676
|
+
this.shape = 'classic';
|
|
7677
|
+
this.size = 'xl';
|
|
7678
|
+
|
|
6304
7679
|
/**
|
|
6305
7680
|
* @private
|
|
6306
7681
|
*/
|
|
@@ -6316,7 +7691,7 @@ class AuroSelect extends AuroElement$3 {
|
|
|
6316
7691
|
/**
|
|
6317
7692
|
* @private
|
|
6318
7693
|
*/
|
|
6319
|
-
this.runtimeUtils = new AuroLibraryRuntimeUtils$
|
|
7694
|
+
this.runtimeUtils = new AuroLibraryRuntimeUtils$6();
|
|
6320
7695
|
|
|
6321
7696
|
/**
|
|
6322
7697
|
* Generate unique names for dependency components.
|
|
@@ -6427,15 +7802,7 @@ class AuroSelect extends AuroElement$3 {
|
|
|
6427
7802
|
* The name for the select element.
|
|
6428
7803
|
*/
|
|
6429
7804
|
name: {
|
|
6430
|
-
type: String,
|
|
6431
|
-
reflect: true
|
|
6432
|
-
},
|
|
6433
|
-
|
|
6434
|
-
/**
|
|
6435
|
-
* If set, makes dropdown width match the size of the content, rather than the width of the trigger.
|
|
6436
|
-
*/
|
|
6437
|
-
flexMenuWidth: {
|
|
6438
|
-
type: Boolean,
|
|
7805
|
+
type: String,
|
|
6439
7806
|
reflect: true
|
|
6440
7807
|
},
|
|
6441
7808
|
|
|
@@ -6532,7 +7899,7 @@ class AuroSelect extends AuroElement$3 {
|
|
|
6532
7899
|
* "top" | "right" | "bottom" | "left" |
|
|
6533
7900
|
* "bottom-start" | "top-start" | "top-end" |
|
|
6534
7901
|
* "right-start" | "right-end" | "bottom-end" |
|
|
6535
|
-
* "left-start" | "left-end"
|
|
7902
|
+
* "left-start" | "left-end".
|
|
6536
7903
|
* @default bottom-start
|
|
6537
7904
|
*/
|
|
6538
7905
|
placement: {
|
|
@@ -6540,6 +7907,14 @@ class AuroSelect extends AuroElement$3 {
|
|
|
6540
7907
|
reflect: true
|
|
6541
7908
|
},
|
|
6542
7909
|
|
|
7910
|
+
/**
|
|
7911
|
+
* Define custom placeholder text.
|
|
7912
|
+
*/
|
|
7913
|
+
placeholder: {
|
|
7914
|
+
type: String,
|
|
7915
|
+
reflect: true
|
|
7916
|
+
},
|
|
7917
|
+
|
|
6543
7918
|
/**
|
|
6544
7919
|
* Populates the `required` attribute on the element. Used for client-side validation.
|
|
6545
7920
|
*/
|
|
@@ -6586,11 +7961,12 @@ class AuroSelect extends AuroElement$3 {
|
|
|
6586
7961
|
},
|
|
6587
7962
|
|
|
6588
7963
|
/**
|
|
6589
|
-
* Value selected for the component.
|
|
6590
|
-
* @type {String|Array<String>}
|
|
7964
|
+
* Value selected for the component.
|
|
6591
7965
|
*/
|
|
6592
7966
|
value: {
|
|
6593
|
-
type:
|
|
7967
|
+
type: String,
|
|
7968
|
+
reflect: true,
|
|
7969
|
+
attribute: 'value'
|
|
6594
7970
|
},
|
|
6595
7971
|
|
|
6596
7972
|
/**
|
|
@@ -6642,10 +8018,42 @@ class AuroSelect extends AuroElement$3 {
|
|
|
6642
8018
|
];
|
|
6643
8019
|
}
|
|
6644
8020
|
|
|
8021
|
+
/**
|
|
8022
|
+
* Formatted value based on `multiSelect` state.
|
|
8023
|
+
* Default type is `String`, changing to `Array<String>` when `multiSelect` is true.
|
|
8024
|
+
* @private
|
|
8025
|
+
* @returns {String|Array<String>}
|
|
8026
|
+
*/
|
|
8027
|
+
get formattedValue() {
|
|
8028
|
+
if (this.multiSelect) {
|
|
8029
|
+
if (!this.value) {
|
|
8030
|
+
return undefined;
|
|
8031
|
+
}
|
|
8032
|
+
if (this.value.startsWith("[")) {
|
|
8033
|
+
return JSON.parse(this.value);
|
|
8034
|
+
}
|
|
8035
|
+
return [this.value];
|
|
8036
|
+
}
|
|
8037
|
+
return this.value;
|
|
8038
|
+
}
|
|
8039
|
+
|
|
8040
|
+
/**
|
|
8041
|
+
* Returns classmap configuration for html5 input labels in all layouts.
|
|
8042
|
+
* @private
|
|
8043
|
+
* @returns {void}
|
|
8044
|
+
*/
|
|
8045
|
+
get commonLabelClasses() {
|
|
8046
|
+
return {
|
|
8047
|
+
'is-disabled': this.disabled,
|
|
8048
|
+
'withValue': this.placeholder || (this.value && this.value.length > 0), // eslint-disable-line no-extra-parens
|
|
8049
|
+
'util_displayHiddenVisually': this.hasDisplayValueContent && !this.hasFocus && this.value && this.value.length > 0
|
|
8050
|
+
};
|
|
8051
|
+
}
|
|
8052
|
+
|
|
6645
8053
|
/**
|
|
6646
8054
|
* Returns classmap configuration for wrapper elements in each layout.
|
|
6647
8055
|
* @private
|
|
6648
|
-
* @
|
|
8056
|
+
* @returns {object} - Returns classmap.
|
|
6649
8057
|
*/
|
|
6650
8058
|
get commonWrapperClasses() {
|
|
6651
8059
|
return {
|
|
@@ -6663,10 +8071,25 @@ class AuroSelect extends AuroElement$3 {
|
|
|
6663
8071
|
|
|
6664
8072
|
this.dropdown.addEventListener('auroDropdown-toggled', () => {
|
|
6665
8073
|
this.isPopoverVisible = this.dropdown.isPopoverVisible;
|
|
8074
|
+
|
|
8075
|
+
if (this.dropdown.isPopoverVisible) {
|
|
8076
|
+
// wait til the bib gets fully rendered
|
|
8077
|
+
setTimeout(() => {
|
|
8078
|
+
if (this.dropdown.isBibFullscreen) {
|
|
8079
|
+
// trigger holds the focus since menu is not a focusable element.
|
|
8080
|
+
this.dropdown.trigger.focus();
|
|
8081
|
+
|
|
8082
|
+
// default focus indicator on the first menu option
|
|
8083
|
+
if (this.menu.index < 0) {
|
|
8084
|
+
this.menu.navigateOptions('down');
|
|
8085
|
+
}
|
|
8086
|
+
}
|
|
8087
|
+
});
|
|
8088
|
+
}
|
|
6666
8089
|
});
|
|
6667
8090
|
|
|
6668
8091
|
// setting up bibtemplate
|
|
6669
|
-
this.bibtemplate = this.dropdown.querySelector(this.bibtemplateTag._$litStatic$);
|
|
8092
|
+
this.bibtemplate = this.dropdown.querySelector(this.bibtemplateTag._$litStatic$);
|
|
6670
8093
|
|
|
6671
8094
|
if (this.customBibWidth) {
|
|
6672
8095
|
this.dropdown.dropdownWidth = this.customBibWidth;
|
|
@@ -6685,7 +8108,7 @@ class AuroSelect extends AuroElement$3 {
|
|
|
6685
8108
|
*
|
|
6686
8109
|
*/
|
|
6687
8110
|
static register(name = "auro-select") {
|
|
6688
|
-
AuroLibraryRuntimeUtils$
|
|
8111
|
+
AuroLibraryRuntimeUtils$6.prototype.registerComponent(name, AuroSelect);
|
|
6689
8112
|
}
|
|
6690
8113
|
|
|
6691
8114
|
/**
|
|
@@ -6745,6 +8168,15 @@ class AuroSelect extends AuroElement$3 {
|
|
|
6745
8168
|
return;
|
|
6746
8169
|
}
|
|
6747
8170
|
|
|
8171
|
+
// set menu's default size if there it's not specified.
|
|
8172
|
+
if (!this.menu.getAttribute('size')) {
|
|
8173
|
+
this.menu.setAttribute('size', this.layout !== 'emphasized' ? 'md' : this.size);
|
|
8174
|
+
}
|
|
8175
|
+
|
|
8176
|
+
if (!this.getAttribute('shape')) {
|
|
8177
|
+
this.menu.setAttribute('shape', this.layout === 'classic' ? 'box' : this.shape);
|
|
8178
|
+
}
|
|
8179
|
+
|
|
6748
8180
|
if (this.multiSelect) {
|
|
6749
8181
|
this.menu.multiSelect = this.multiSelect;
|
|
6750
8182
|
}
|
|
@@ -6804,46 +8236,58 @@ class AuroSelect extends AuroElement$3 {
|
|
|
6804
8236
|
configureSelect() {
|
|
6805
8237
|
|
|
6806
8238
|
this.addEventListener('keydown', (evt) => {
|
|
6807
|
-
|
|
6808
|
-
|
|
8239
|
+
// when the focus is on trigger not on close button
|
|
8240
|
+
if (this.dropdown.shadowRoot.activeElement === this.dropdown.trigger) {
|
|
8241
|
+
if (evt.key === 'ArrowUp') {
|
|
8242
|
+
evt.preventDefault();
|
|
6809
8243
|
|
|
6810
|
-
|
|
8244
|
+
this.dropdown.show();
|
|
8245
|
+
|
|
8246
|
+
if (this.dropdown.isPopoverVisible) {
|
|
8247
|
+
this.menu.navigateOptions('up');
|
|
8248
|
+
}
|
|
6811
8249
|
|
|
6812
|
-
|
|
6813
|
-
this.menu.navigateOptions('up');
|
|
8250
|
+
return;
|
|
6814
8251
|
}
|
|
6815
8252
|
|
|
6816
|
-
|
|
6817
|
-
|
|
8253
|
+
if (evt.key === 'ArrowDown') {
|
|
8254
|
+
evt.preventDefault();
|
|
6818
8255
|
|
|
6819
|
-
|
|
6820
|
-
evt.preventDefault();
|
|
8256
|
+
this.dropdown.show();
|
|
6821
8257
|
|
|
6822
|
-
|
|
8258
|
+
if (this.dropdown.isPopoverVisible) {
|
|
8259
|
+
this.menu.navigateOptions('down');
|
|
8260
|
+
}
|
|
6823
8261
|
|
|
6824
|
-
|
|
6825
|
-
this.menu.navigateOptions('down');
|
|
8262
|
+
return;
|
|
6826
8263
|
}
|
|
6827
8264
|
|
|
6828
|
-
|
|
6829
|
-
|
|
8265
|
+
if (evt.key === 'Enter') {
|
|
8266
|
+
if (!this.dropdown.isPopoverVisible) {
|
|
8267
|
+
evt.preventDefault();
|
|
8268
|
+
this.menu.makeSelection();
|
|
8269
|
+
}
|
|
6830
8270
|
|
|
6831
|
-
|
|
6832
|
-
if (!this.dropdown.isPopoverVisible) {
|
|
6833
|
-
evt.preventDefault();
|
|
6834
|
-
this.menu.makeSelection();
|
|
8271
|
+
return;
|
|
6835
8272
|
}
|
|
6836
|
-
|
|
6837
|
-
return;
|
|
6838
8273
|
}
|
|
6839
8274
|
|
|
6840
|
-
if (evt.key === 'Tab') {
|
|
8275
|
+
if (evt.key === 'Tab' && this.dropdown.isPopoverVisible) {
|
|
6841
8276
|
if (this.dropdown.isBibFullscreen) {
|
|
6842
8277
|
evt.preventDefault();
|
|
8278
|
+
|
|
8279
|
+
// when the focus is on trigger not on close button
|
|
8280
|
+
if (this.dropdown.shadowRoot.activeElement === this.dropdown.trigger) {
|
|
8281
|
+
// `dropdown.focus` will move focus to the first focusable element in bib when it's open,
|
|
8282
|
+
// when bib it not open, it will focus onto trigger.
|
|
8283
|
+
this.dropdown.focus();
|
|
8284
|
+
} else {
|
|
8285
|
+
// when close button has the focus, move focus back to the trigger
|
|
8286
|
+
this.dropdown.trigger.focus();
|
|
8287
|
+
}
|
|
6843
8288
|
} else {
|
|
6844
8289
|
this.dropdown.hide();
|
|
6845
8290
|
}
|
|
6846
|
-
|
|
6847
8291
|
return;
|
|
6848
8292
|
}
|
|
6849
8293
|
|
|
@@ -7008,34 +8452,39 @@ class AuroSelect extends AuroElement$3 {
|
|
|
7008
8452
|
// Add the tag name as an attribute if it is different than the component name
|
|
7009
8453
|
this.runtimeUtils.handleComponentTagRename(this, 'auro-select');
|
|
7010
8454
|
|
|
7011
|
-
this.configureMenu();
|
|
7012
8455
|
this.configureDropdown();
|
|
8456
|
+
this.configureMenu();
|
|
7013
8457
|
this.configureSelect();
|
|
8458
|
+
}
|
|
7014
8459
|
|
|
7015
|
-
|
|
7016
|
-
|
|
7017
|
-
|
|
7018
|
-
|
|
7019
|
-
|
|
8460
|
+
/**
|
|
8461
|
+
* Update the menu value. With checks for menu existence. Awaits value update.
|
|
8462
|
+
* @param {string} value - The value to set in the menu.
|
|
8463
|
+
* @returns {void}
|
|
8464
|
+
* @private
|
|
8465
|
+
*/
|
|
8466
|
+
async updateMenuValue(value) {
|
|
8467
|
+
if (!this.menu) return;
|
|
8468
|
+
|
|
8469
|
+
this.menu.setAttribute('value', value);
|
|
8470
|
+
this.menu.value = value;
|
|
8471
|
+
await this.menu.updateComplete;
|
|
7020
8472
|
}
|
|
7021
8473
|
|
|
7022
8474
|
async updated(changedProperties) {
|
|
7023
|
-
if (changedProperties.has('multiSelect')) {
|
|
8475
|
+
if (changedProperties.has('multiSelect') && !changedProperties.has('value')) {
|
|
7024
8476
|
this.clearSelection();
|
|
7025
8477
|
}
|
|
7026
8478
|
|
|
7027
8479
|
if (changedProperties.has('value')) {
|
|
7028
8480
|
if (this.value) {
|
|
7029
|
-
|
|
8481
|
+
await this.updateMenuValue(this.value);
|
|
7030
8482
|
|
|
7031
|
-
this.menu
|
|
7032
|
-
|
|
7033
|
-
|
|
7034
|
-
await this.menu.updateComplete;
|
|
7035
|
-
|
|
7036
|
-
this.optionSelected = this.menu.optionSelected;
|
|
8483
|
+
if (this.menu) {
|
|
8484
|
+
this.optionSelected = this.menu.optionSelected;
|
|
8485
|
+
}
|
|
7037
8486
|
} else {
|
|
7038
|
-
this.
|
|
8487
|
+
await this.updateMenuValue(undefined);
|
|
7039
8488
|
}
|
|
7040
8489
|
|
|
7041
8490
|
this._updateNativeSelect();
|
|
@@ -7054,7 +8503,7 @@ class AuroSelect extends AuroElement$3 {
|
|
|
7054
8503
|
composed: true,
|
|
7055
8504
|
detail: {
|
|
7056
8505
|
optionSelected: this.optionSelected,
|
|
7057
|
-
value: this.
|
|
8506
|
+
value: this.formattedValue
|
|
7058
8507
|
}
|
|
7059
8508
|
}));
|
|
7060
8509
|
}
|
|
@@ -7066,6 +8515,14 @@ class AuroSelect extends AuroElement$3 {
|
|
|
7066
8515
|
if (changedProperties.has('error')) {
|
|
7067
8516
|
this.validate(true);
|
|
7068
8517
|
}
|
|
8518
|
+
|
|
8519
|
+
if (changedProperties.has('shape') && this.menu) {
|
|
8520
|
+
this.menu.setAttribute('shape', this.layout === 'classic' ? 'box' : this.shape);
|
|
8521
|
+
}
|
|
8522
|
+
|
|
8523
|
+
if (changedProperties.has('size') && this.menu) {
|
|
8524
|
+
this.menu.setAttribute('size', this.layout !== 'emphasized' ? 'md' : this.size);
|
|
8525
|
+
}
|
|
7069
8526
|
}
|
|
7070
8527
|
|
|
7071
8528
|
/**
|
|
@@ -7105,13 +8562,13 @@ class AuroSelect extends AuroElement$3 {
|
|
|
7105
8562
|
const selectedValue = selectedOption.value;
|
|
7106
8563
|
|
|
7107
8564
|
if (this.multiSelect) {
|
|
7108
|
-
const currentArray =
|
|
8565
|
+
const currentArray = this.formattedValue;
|
|
7109
8566
|
|
|
7110
8567
|
if (!currentArray.includes(selectedValue)) {
|
|
7111
|
-
this.value = [
|
|
8568
|
+
this.value = JSON.stringify([
|
|
7112
8569
|
...currentArray,
|
|
7113
8570
|
selectedValue
|
|
7114
|
-
];
|
|
8571
|
+
]);
|
|
7115
8572
|
}
|
|
7116
8573
|
} else {
|
|
7117
8574
|
const currentValue = this.value;
|
|
@@ -7134,12 +8591,17 @@ class AuroSelect extends AuroElement$3 {
|
|
|
7134
8591
|
}
|
|
7135
8592
|
|
|
7136
8593
|
if (this.multiSelect) {
|
|
7137
|
-
nativeSelect.value = this.
|
|
8594
|
+
nativeSelect.value = this.multiSelect ? this.multiSelect[0] : '';
|
|
7138
8595
|
} else {
|
|
7139
8596
|
nativeSelect.value = this.value || '';
|
|
7140
8597
|
}
|
|
7141
8598
|
}
|
|
7142
8599
|
|
|
8600
|
+
/**
|
|
8601
|
+
* Returns HTML for the hidden a11y screen reader content.
|
|
8602
|
+
* @private
|
|
8603
|
+
* @returns {html} - Returns HTML for the hidden a11y screen reader content.
|
|
8604
|
+
*/
|
|
7143
8605
|
renderAriaHtml() {
|
|
7144
8606
|
return u`
|
|
7145
8607
|
<div aria-live="polite" class="util_displayHiddenVisually">
|
|
@@ -7160,9 +8622,14 @@ class AuroSelect extends AuroElement$3 {
|
|
|
7160
8622
|
`;
|
|
7161
8623
|
}
|
|
7162
8624
|
|
|
8625
|
+
/**
|
|
8626
|
+
* Returns HTML for the hidden HTML5 select.
|
|
8627
|
+
* @private
|
|
8628
|
+
* @returns {html} - Returns HTML for the hidden HTML5 select.
|
|
8629
|
+
*/
|
|
7163
8630
|
renderNativeSelect() {
|
|
7164
8631
|
return u`
|
|
7165
|
-
<div class="nativeSelectWrapper">
|
|
8632
|
+
<div class="nativeSelectWrapper util_displayHidden">
|
|
7166
8633
|
<select
|
|
7167
8634
|
tabindex="-1"
|
|
7168
8635
|
id="${`native-select-${this.id || this.uniqueId}`}"
|
|
@@ -7199,14 +8666,14 @@ class AuroSelect extends AuroElement$3 {
|
|
|
7199
8666
|
? u`
|
|
7200
8667
|
<${this.helpTextTag} ?onDark="${this.onDark}">
|
|
7201
8668
|
<p id="${this.uniqueId}" part="helpText">
|
|
7202
|
-
<slot name="
|
|
8669
|
+
<slot name="helpText"></slot>
|
|
7203
8670
|
</p>
|
|
7204
8671
|
</${this.helpTextTag}>
|
|
7205
8672
|
`
|
|
7206
8673
|
: u`
|
|
7207
8674
|
<${this.helpTextTag} error ?onDark="${this.onDark}">
|
|
7208
8675
|
<p id="${this.uniqueId}" role="alert" aria-live="assertive" part="helpText">
|
|
7209
|
-
|
|
8676
|
+
${this.errorMessage}
|
|
7210
8677
|
</p>
|
|
7211
8678
|
</${this.helpTextTag}>
|
|
7212
8679
|
`
|
|
@@ -7219,17 +8686,16 @@ class AuroSelect extends AuroElement$3 {
|
|
|
7219
8686
|
* @private
|
|
7220
8687
|
* @returns {import("lit").TemplateResult} - Returns HTML for the emphasized layout.
|
|
7221
8688
|
*/
|
|
7222
|
-
// TODO update to use util class
|
|
7223
8689
|
renderLayoutEmphasized() {
|
|
7224
8690
|
const placeholderClass = {
|
|
7225
|
-
|
|
8691
|
+
'util_displayHidden': this.value
|
|
7226
8692
|
};
|
|
7227
8693
|
|
|
7228
8694
|
const displayValueClasses = {
|
|
7229
8695
|
'displayValue': true,
|
|
7230
8696
|
'hasContent': this.hasDisplayValueContent,
|
|
7231
8697
|
'hasFocus': this.isPopoverVisible,
|
|
7232
|
-
'withValue': this.value && this.value.length > 0,
|
|
8698
|
+
'withValue': this.placeholder || (this.value && this.value.length > 0), // eslint-disable-line no-extra-parens
|
|
7233
8699
|
'force': this.forceDisplayValue,
|
|
7234
8700
|
};
|
|
7235
8701
|
|
|
@@ -7246,16 +8712,16 @@ class AuroSelect extends AuroElement$3 {
|
|
|
7246
8712
|
<slot name="bib.fullscreen.headline" @slotchange="${this.handleSlotChange}"></slot>
|
|
7247
8713
|
</div>
|
|
7248
8714
|
<${this.dropdownTag}
|
|
8715
|
+
a11yRole="select"
|
|
7249
8716
|
?autoPlacement="${this.autoPlacement}"
|
|
7250
8717
|
?error="${this.validity !== undefined && this.validity !== 'valid'}"
|
|
7251
|
-
?matchWidth="${
|
|
8718
|
+
?matchWidth="${this.matchWidth}"
|
|
7252
8719
|
?noFlip="${this.noFlip}"
|
|
7253
8720
|
?onDark="${this.onDark}"
|
|
7254
8721
|
.fullscreenBreakpoint="${this.fullscreenBreakpoint}"
|
|
7255
8722
|
.offset="${this.offset}"
|
|
7256
8723
|
.placement="${this.placement}"
|
|
7257
8724
|
chevron
|
|
7258
|
-
fluid
|
|
7259
8725
|
for="selectMenu"
|
|
7260
8726
|
layout="${this.layout}"
|
|
7261
8727
|
part="dropdown"
|
|
@@ -7267,15 +8733,14 @@ class AuroSelect extends AuroElement$3 {
|
|
|
7267
8733
|
</div>
|
|
7268
8734
|
<div class="mainContent">
|
|
7269
8735
|
<div class="${e(valueContainerClasses)}">
|
|
7270
|
-
<label>
|
|
8736
|
+
<label class="${e(this.commonLabelClasses)}">
|
|
7271
8737
|
<slot name="label"></slot>
|
|
8738
|
+
${this.required ? undefined : u`<slot name="optionalLabel"> (optional)</slot>`}
|
|
7272
8739
|
</label>
|
|
7273
8740
|
<div class="value" id="value"></div>
|
|
7274
|
-
${
|
|
7275
|
-
|
|
7276
|
-
|
|
7277
|
-
</div>
|
|
7278
|
-
`}
|
|
8741
|
+
<div id="placeholder" class="${e(placeholderClass)}">
|
|
8742
|
+
${this.placeholder}
|
|
8743
|
+
</div>
|
|
7279
8744
|
</div>
|
|
7280
8745
|
<div class="${e(displayValueClasses)}" aria-hidden="true" part="displayValue">
|
|
7281
8746
|
<slot name="displayValue"></slot>
|
|
@@ -7302,14 +8767,14 @@ class AuroSelect extends AuroElement$3 {
|
|
|
7302
8767
|
*/
|
|
7303
8768
|
renderLayoutSnowflake() {
|
|
7304
8769
|
const placeholderClass = {
|
|
7305
|
-
|
|
8770
|
+
'util_displayHidden': this.value
|
|
7306
8771
|
};
|
|
7307
8772
|
|
|
7308
8773
|
const displayValueClasses = {
|
|
7309
8774
|
'displayValue': true,
|
|
7310
8775
|
'hasContent': this.hasDisplayValueContent,
|
|
7311
8776
|
'hasFocus': this.isPopoverVisible,
|
|
7312
|
-
'withValue': this.value && this.value.length > 0,
|
|
8777
|
+
'withValue': this.placeholder || (this.value && this.value.length > 0), // eslint-disable-line no-extra-parens
|
|
7313
8778
|
'force': this.forceDisplayValue,
|
|
7314
8779
|
};
|
|
7315
8780
|
|
|
@@ -7328,14 +8793,13 @@ class AuroSelect extends AuroElement$3 {
|
|
|
7328
8793
|
<${this.dropdownTag}
|
|
7329
8794
|
?autoPlacement="${this.autoPlacement}"
|
|
7330
8795
|
?error="${this.validity !== undefined && this.validity !== 'valid'}"
|
|
7331
|
-
?matchWidth="${
|
|
8796
|
+
?matchWidth="${this.matchWidth}"
|
|
7332
8797
|
?noFlip="${this.noFlip}"
|
|
7333
8798
|
?onDark="${this.onDark}"
|
|
7334
8799
|
.fullscreenBreakpoint="${this.fullscreenBreakpoint}"
|
|
7335
8800
|
.offset="${this.offset}"
|
|
7336
8801
|
.placement="${this.placement}"
|
|
7337
8802
|
chevron
|
|
7338
|
-
fluid
|
|
7339
8803
|
for="selectMenu"
|
|
7340
8804
|
layout="${this.layout}"
|
|
7341
8805
|
part="dropdown"
|
|
@@ -7347,15 +8811,14 @@ class AuroSelect extends AuroElement$3 {
|
|
|
7347
8811
|
</div>
|
|
7348
8812
|
<div class="mainContent">
|
|
7349
8813
|
<div class="${e(valueContainerClasses)}">
|
|
7350
|
-
<label>
|
|
8814
|
+
<label class="${e(this.commonLabelClasses)}">
|
|
7351
8815
|
<slot name="label"></slot>
|
|
8816
|
+
${this.required ? undefined : u`<slot name="optionalLabel"> (optional)</slot>`}
|
|
7352
8817
|
</label>
|
|
7353
8818
|
<div class="value" id="value"></div>
|
|
7354
|
-
${
|
|
7355
|
-
|
|
7356
|
-
|
|
7357
|
-
</div>
|
|
7358
|
-
`}
|
|
8819
|
+
<div id="placeholder" class="${e(placeholderClass)}">
|
|
8820
|
+
${this.placeholder}
|
|
8821
|
+
</div>
|
|
7359
8822
|
</div>
|
|
7360
8823
|
<div class="${e(displayValueClasses)}" aria-hidden="true" part="displayValue">
|
|
7361
8824
|
<slot name="displayValue"></slot>
|
|
@@ -7371,6 +8834,7 @@ class AuroSelect extends AuroElement$3 {
|
|
|
7371
8834
|
${this.renderHtmlHelpText()}
|
|
7372
8835
|
</div>
|
|
7373
8836
|
</${this.dropdownTag}>
|
|
8837
|
+
${this.renderNativeSelect()}
|
|
7374
8838
|
</div>
|
|
7375
8839
|
`;
|
|
7376
8840
|
}
|
|
@@ -7381,11 +8845,75 @@ class AuroSelect extends AuroElement$3 {
|
|
|
7381
8845
|
* @returns {import("lit").TemplateResult} - Returns HTML for the classic layout.
|
|
7382
8846
|
*/
|
|
7383
8847
|
renderLayoutClassic() {
|
|
8848
|
+
const placeholderClass = {
|
|
8849
|
+
'util_displayHidden': this.value
|
|
8850
|
+
};
|
|
8851
|
+
|
|
8852
|
+
const displayValueClasses = {
|
|
8853
|
+
'displayValue': true,
|
|
8854
|
+
'hasContent': this.hasDisplayValueContent,
|
|
8855
|
+
'hasFocus': this.isPopoverVisible,
|
|
8856
|
+
'withValue': this.placeholder || (this.value && this.value.length > 0), // eslint-disable-line no-extra-parens
|
|
8857
|
+
'force': this.forceDisplayValue,
|
|
8858
|
+
};
|
|
8859
|
+
|
|
8860
|
+
const valueContainerClasses = {
|
|
8861
|
+
'valueContainer': true,
|
|
8862
|
+
'util_displayHiddenVisually': (this.forceDisplayValue || !(this.dropdown && this.dropdown.isPopoverVisible)) && this.hasDisplayValueContent
|
|
8863
|
+
};
|
|
8864
|
+
|
|
7384
8865
|
return u`
|
|
7385
8866
|
<div
|
|
7386
|
-
class="${e(this.commonWrapperClasses)}
|
|
8867
|
+
class="${e(this.commonWrapperClasses)}"
|
|
7387
8868
|
part="wrapper">
|
|
7388
|
-
|
|
8869
|
+
<div id="slotHolder" aria-hidden="true">
|
|
8870
|
+
<slot name="bib.fullscreen.headline" @slotchange="${this.handleSlotChange}"></slot>
|
|
8871
|
+
</div>
|
|
8872
|
+
<${this.dropdownTag}
|
|
8873
|
+
?autoPlacement="${this.autoPlacement}"
|
|
8874
|
+
?error="${this.validity !== undefined && this.validity !== 'valid'}"
|
|
8875
|
+
?matchWidth="${!this.flexMenuWidth}"
|
|
8876
|
+
?noFlip="${this.noFlip}"
|
|
8877
|
+
?onDark="${this.onDark}"
|
|
8878
|
+
.fullscreenBreakpoint="${this.fullscreenBreakpoint}"
|
|
8879
|
+
.offset="${this.offset}"
|
|
8880
|
+
.placement="${this.placement}"
|
|
8881
|
+
chevron
|
|
8882
|
+
for="selectMenu"
|
|
8883
|
+
layout="${this.layout}"
|
|
8884
|
+
part="dropdown"
|
|
8885
|
+
shape="${this.shape}"
|
|
8886
|
+
size="${this.size}">
|
|
8887
|
+
<div slot="trigger" aria-haspopup="true" id="triggerFocus" class="triggerContent">
|
|
8888
|
+
<div class="accents left">
|
|
8889
|
+
<slot name="typeIcon"></slot>
|
|
8890
|
+
</div>
|
|
8891
|
+
<div class="mainContent">
|
|
8892
|
+
<div class="${e(valueContainerClasses)}">
|
|
8893
|
+
<label class="${e(this.commonLabelClasses)}">
|
|
8894
|
+
<slot name="label"></slot>
|
|
8895
|
+
${this.required ? undefined : u`<slot name="optionalLabel"> (optional)</slot>`}
|
|
8896
|
+
</label>
|
|
8897
|
+
<div class="value" id="value"></div>
|
|
8898
|
+
<div id="placeholder" class="${e(placeholderClass)}">
|
|
8899
|
+
${this.placeholder}
|
|
8900
|
+
</div>
|
|
8901
|
+
</div>
|
|
8902
|
+
<div class="${e(displayValueClasses)}" aria-hidden="true" part="displayValue">
|
|
8903
|
+
<slot name="displayValue"></slot>
|
|
8904
|
+
</div>
|
|
8905
|
+
</div>
|
|
8906
|
+
<div class="accents right"></div>
|
|
8907
|
+
</div>
|
|
8908
|
+
<div class="menuWrapper"></div>
|
|
8909
|
+
<${this.bibtemplateTag} ?large="${this.largeFullscreenHeadline}" @close-click="${this.hideBib}">
|
|
8910
|
+
<slot></slot>
|
|
8911
|
+
</${this.bibtemplateTag}>
|
|
8912
|
+
<div slot="helpText">
|
|
8913
|
+
${this.renderHtmlHelpText()}
|
|
8914
|
+
</div>
|
|
8915
|
+
</${this.dropdownTag}>
|
|
8916
|
+
${this.renderNativeSelect()}
|
|
7389
8917
|
</div>
|
|
7390
8918
|
`;
|
|
7391
8919
|
}
|
|
@@ -7419,112 +8947,13 @@ class AuroSelect extends AuroElement$3 {
|
|
|
7419
8947
|
|
|
7420
8948
|
// When using auroElement, use the following attribute and function when hiding content from screen readers.
|
|
7421
8949
|
// aria-hidden="${this.hideAudible(this.hiddenAudible)}"
|
|
7422
|
-
|
|
7423
|
-
// function that renders the HTML and CSS into the scope of the component
|
|
7424
|
-
renderBACKUP() {
|
|
7425
|
-
const placeholderClass = {
|
|
7426
|
-
hidden: this.value,
|
|
7427
|
-
};
|
|
7428
|
-
|
|
7429
|
-
return u`
|
|
7430
|
-
<div class="outerWrapper">
|
|
7431
|
-
<div aria-live="polite" class="util_displayHiddenVisually">
|
|
7432
|
-
${this.optionActive && this.options.length > 0
|
|
7433
|
-
? u`
|
|
7434
|
-
${`${this.optionActive.innerText}, option ${this.options.indexOf(this.optionActive) + 1} of ${this.options.length}`}
|
|
7435
|
-
`
|
|
7436
|
-
: undefined
|
|
7437
|
-
};
|
|
7438
|
-
|
|
7439
|
-
${this.optionSelected && this.options.length > 0
|
|
7440
|
-
? u`
|
|
7441
|
-
${`${this.optionSelected.innerText} selected`}
|
|
7442
|
-
`
|
|
7443
|
-
: undefined
|
|
7444
|
-
};
|
|
7445
|
-
</div>
|
|
7446
|
-
<div id="slotHolder" aria-hidden="true">
|
|
7447
|
-
<slot name="bib.fullscreen.headline" @slotchange="${this.handleSlotChange}"></slot>
|
|
7448
|
-
</div>
|
|
7449
|
-
<${this.dropdownTag}
|
|
7450
|
-
?autoPlacement="${this.autoPlacement}"
|
|
7451
|
-
?disabled="${this.disabled}"
|
|
7452
|
-
?error="${this.validity !== undefined && this.validity !== 'valid'}"
|
|
7453
|
-
?matchWidth="${!this.flexMenuWidth}"
|
|
7454
|
-
?noFlip="${this.noFlip}"
|
|
7455
|
-
?onDark="${this.onDark}"
|
|
7456
|
-
.fullscreenBreakpoint="${this.fullscreenBreakpoint}"
|
|
7457
|
-
.offset="${this.offset}"
|
|
7458
|
-
.placement="${this.placement}"
|
|
7459
|
-
chevron
|
|
7460
|
-
fluid
|
|
7461
|
-
for="selectMenu"
|
|
7462
|
-
layout="${this.layout}"
|
|
7463
|
-
part="dropdown"
|
|
7464
|
-
shape="${this.shape}"
|
|
7465
|
-
size="${this.size}">
|
|
7466
|
-
<span slot="trigger" aria-haspopup="true" id="triggerFocus">
|
|
7467
|
-
<span id="placeholder"
|
|
7468
|
-
class="${e(placeholderClass)}"
|
|
7469
|
-
?aria-hidden="${this.optionSelected && this.optionSelected.length ? 'true' : false}"
|
|
7470
|
-
>
|
|
7471
|
-
<slot name="placeholder"></slot>
|
|
7472
|
-
</span>
|
|
7473
|
-
<slot name="valueText" id="valueText"></slot>
|
|
7474
|
-
</span>
|
|
7475
|
-
|
|
7476
|
-
<${this.bibtemplateTag} ?large="${this.largeFullscreenHeadline}" @close-click="${this.hideBib}">
|
|
7477
|
-
<slot></slot>
|
|
7478
|
-
</${this.bibtemplateTag}>
|
|
7479
|
-
<slot name="label" slot="label"></slot>
|
|
7480
|
-
<p slot="helpText">
|
|
7481
|
-
${!this.validity || this.validity === undefined || this.validity === 'valid'
|
|
7482
|
-
? u`
|
|
7483
|
-
<span id="${this.uniqueId}" part="helpText">
|
|
7484
|
-
<slot name="helpText"></slot>
|
|
7485
|
-
</span>`
|
|
7486
|
-
: u`
|
|
7487
|
-
<span id="${this.uniqueId}" role="alert" aria-live="assertive" part="helpText">
|
|
7488
|
-
${this.errorMessage}
|
|
7489
|
-
</span>`
|
|
7490
|
-
}
|
|
7491
|
-
</p>
|
|
7492
|
-
</${this.dropdownTag}>
|
|
7493
|
-
<div class="nativeSelectWrapper">
|
|
7494
|
-
<select
|
|
7495
|
-
tabindex="-1"
|
|
7496
|
-
id="${`native-select-${this.id || this.uniqueId}`}"
|
|
7497
|
-
name="${this.name || ''}"
|
|
7498
|
-
?disabled="${this.disabled}"
|
|
7499
|
-
?required="${this.required}"
|
|
7500
|
-
aria-hidden="true"
|
|
7501
|
-
autocomplete="${o(this.autocomplete)}"
|
|
7502
|
-
@change="${this._handleNativeSelectChange}">
|
|
7503
|
-
<option value="" ?selected="${!this.value}"></option>
|
|
7504
|
-
${this.options.map((option) => {
|
|
7505
|
-
const optionValue = option.value || option.textContent;
|
|
7506
|
-
return u`
|
|
7507
|
-
<option
|
|
7508
|
-
value="${optionValue}"
|
|
7509
|
-
?selected="${this.value === optionValue}">
|
|
7510
|
-
${option.textContent}
|
|
7511
|
-
</option>
|
|
7512
|
-
`;
|
|
7513
|
-
})}
|
|
7514
|
-
</select>
|
|
7515
|
-
</div>
|
|
7516
|
-
<!-- Help text and error message template -->
|
|
7517
|
-
${this.renderHtmlHelpText()}
|
|
7518
|
-
</div>
|
|
7519
|
-
`;
|
|
7520
|
-
}
|
|
7521
8950
|
}
|
|
7522
8951
|
|
|
7523
|
-
var styleCss$2 = i$5`:focus:not(:focus-visible){outline:3px solid transparent}:host{display:
|
|
8952
|
+
var styleCss$2 = i$5`:focus:not(:focus-visible){outline:3px solid transparent}:host{display:block;vertical-align:middle}:host .wrapper{box-sizing:border-box;display:inline-block;width:100%;margin:0;padding:0}:host ::slotted(hr){box-sizing:content-box !important;height:0 !important;overflow:visible !important;margin:var(--ds-size-100, 0.5rem) 0 !important;border-width:0 !important;border-top-width:1px !important;border-top-style:solid !important}:host [loadingplaceholder].empty{opacity:0;position:absolute}:host [loadingplaceholder] slot[name=loadingIcon]{vertical-align:middle;line-height:1;display:inline-block}:host [loadingplaceholder] slot[name=loadingIcon]::slotted(*){margin-right:var(--ds-size-150, 0.75rem)}:host([root]){overflow-y:auto}:host([root]) .wrapper[class*=-lg]{padding:var(--ds-size-150, 0.75rem)}:host([root]) .wrapper[class*=-xl]{padding:var(--ds-size-200, 1rem)}`;
|
|
7524
8953
|
|
|
7525
8954
|
var colorCss$2 = i$5`:host ::slotted(hr){border-top-color:var(--ds-auro-menu-divider-color)}[loadingplaceholder] slot[name=loadingIcon]{color:var(--ds-auro-menu-loader-color)}[loadingplaceholder] slot[name=loadingText]{color:var(--ds-auro-menu-loader-text-color)}`;
|
|
7526
8955
|
|
|
7527
|
-
var tokensCss$1 = i$5`:host{--ds-auro-menu-divider-color: var(--ds-basic-color-border-divider, rgba(0, 0, 0, 0.15));--ds-auro-menu-loader-color: var(--ds-basic-color-brand-primary, #01426a);--ds-auro-menu-loader-text-color: var(--ds-basic-color-texticon-default, #2a2a2a);--ds-auro-menuoption-container-color: transparent;--ds-auro-menuoption-icon-color: transparent;--ds-auro-menuoption-text-color: var(--ds-basic-color-texticon-default, #2a2a2a)}`;
|
|
8956
|
+
var tokensCss$1 = i$5`:host{--ds-auro-menu-divider-color: var(--ds-basic-color-border-divider, rgba(0, 0, 0, 0.15));--ds-auro-menu-loader-color: var(--ds-basic-color-brand-primary, #01426a);--ds-auro-menu-loader-text-color: var(--ds-basic-color-texticon-default, #2a2a2a);--ds-auro-menuoption-container-color: transparent;--ds-auro-menuoption-container-border-color: var(--ds-auro-menuoption-container-color);--ds-auro-menuoption-icon-color: transparent;--ds-auro-menuoption-text-color: var(--ds-basic-color-texticon-default, #2a2a2a)}`;
|
|
7528
8957
|
|
|
7529
8958
|
// Copyright (c) 2021 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
7530
8959
|
// See LICENSE in the project root for license information.
|
|
@@ -7577,7 +9006,6 @@ function dispatchMenuEvent(element, eventName, detail = null) {
|
|
|
7577
9006
|
* @attr {boolean} nocheckmark - When true, selected option will not show the checkmark.
|
|
7578
9007
|
* @attr {boolean} loading - When true, displays a loading state using the loadingIcon and loadingText slots if provided.
|
|
7579
9008
|
* @attr {boolean} multiselect - When true, the selected option can be multiple options.
|
|
7580
|
-
* @attr {String|Array<string>} value - Value selected for the menu, type `string` by default. In multi-select mode, `value` is an array of strings.
|
|
7581
9009
|
* @prop {boolean} hasLoadingPlaceholder - Indicates whether the menu has a loadingIcon or loadingText to render when in a loading state.
|
|
7582
9010
|
* @event {CustomEvent<Element>} auroMenu-activatedOption - Notifies that a menuoption has been made `active`.
|
|
7583
9011
|
* @event {CustomEvent<any>} auroMenu-customEventFired - Notifies that a custom event has been fired.
|
|
@@ -7590,14 +9018,17 @@ function dispatchMenuEvent(element, eventName, detail = null) {
|
|
|
7590
9018
|
* @slot - Slot for insertion of menu options.
|
|
7591
9019
|
*/
|
|
7592
9020
|
|
|
7593
|
-
/* eslint-disable no-magic-numbers, max-lines, no-extra-parens */
|
|
9021
|
+
/* eslint-disable no-magic-numbers, max-lines, no-extra-parens, no-inline-comments, line-comment-position */
|
|
7594
9022
|
|
|
7595
|
-
class AuroMenu extends
|
|
9023
|
+
class AuroMenu extends AuroElement$4 {
|
|
7596
9024
|
constructor() {
|
|
7597
9025
|
super();
|
|
7598
9026
|
|
|
7599
9027
|
// State properties (reactive)
|
|
7600
9028
|
|
|
9029
|
+
this.shape = ""; // box, rounded, pill
|
|
9030
|
+
this.size = ""; // md, lg, xl
|
|
9031
|
+
|
|
7601
9032
|
// Value of the selected options
|
|
7602
9033
|
this.value = undefined;
|
|
7603
9034
|
// Currently selected option
|
|
@@ -7656,6 +9087,7 @@ class AuroMenu extends i$2 {
|
|
|
7656
9087
|
|
|
7657
9088
|
static get properties() {
|
|
7658
9089
|
return {
|
|
9090
|
+
...super.properties,
|
|
7659
9091
|
noCheckmark: {
|
|
7660
9092
|
type: Boolean,
|
|
7661
9093
|
reflect: true,
|
|
@@ -7686,9 +9118,24 @@ class AuroMenu extends i$2 {
|
|
|
7686
9118
|
reflect: true,
|
|
7687
9119
|
attribute: 'multiselect'
|
|
7688
9120
|
},
|
|
9121
|
+
|
|
9122
|
+
/**
|
|
9123
|
+
* Value selected for the component.
|
|
9124
|
+
*/
|
|
7689
9125
|
value: {
|
|
7690
|
-
|
|
7691
|
-
|
|
9126
|
+
type: String,
|
|
9127
|
+
reflect: true,
|
|
9128
|
+
attribute: 'value'
|
|
9129
|
+
},
|
|
9130
|
+
|
|
9131
|
+
/**
|
|
9132
|
+
* Indent level for submenus.
|
|
9133
|
+
* @private
|
|
9134
|
+
*/
|
|
9135
|
+
level: {
|
|
9136
|
+
type: Number,
|
|
9137
|
+
reflect: false,
|
|
9138
|
+
attribute: false
|
|
7692
9139
|
}
|
|
7693
9140
|
};
|
|
7694
9141
|
}
|
|
@@ -7710,7 +9157,26 @@ class AuroMenu extends i$2 {
|
|
|
7710
9157
|
*
|
|
7711
9158
|
*/
|
|
7712
9159
|
static register(name = "auro-menu") {
|
|
7713
|
-
AuroLibraryRuntimeUtils$
|
|
9160
|
+
AuroLibraryRuntimeUtils$6.prototype.registerComponent(name, AuroMenu);
|
|
9161
|
+
}
|
|
9162
|
+
|
|
9163
|
+
/**
|
|
9164
|
+
* Formatted value based on `multiSelect` state.
|
|
9165
|
+
* Default type is `String`, changing to `Array<String>` when `multiSelect` is true.
|
|
9166
|
+
* @private
|
|
9167
|
+
* @returns {String|Array<String>}
|
|
9168
|
+
*/
|
|
9169
|
+
get formattedValue() {
|
|
9170
|
+
if (this.multiSelect) {
|
|
9171
|
+
if (!this.value) {
|
|
9172
|
+
return undefined;
|
|
9173
|
+
}
|
|
9174
|
+
if (this.value.startsWith("[")) {
|
|
9175
|
+
return JSON.parse(this.value);
|
|
9176
|
+
}
|
|
9177
|
+
return [this.value];
|
|
9178
|
+
}
|
|
9179
|
+
return this.value;
|
|
7714
9180
|
}
|
|
7715
9181
|
|
|
7716
9182
|
// Lifecycle Methods
|
|
@@ -7722,6 +9188,7 @@ class AuroMenu extends i$2 {
|
|
|
7722
9188
|
this.addEventListener('mousedown', this.handleMouseSelect);
|
|
7723
9189
|
this.addEventListener('auroMenuOption-mouseover', this.handleOptionHover);
|
|
7724
9190
|
this.addEventListener('slotchange', this.handleSlotChange);
|
|
9191
|
+
this.setTagAttribute("auro-menu");
|
|
7725
9192
|
}
|
|
7726
9193
|
|
|
7727
9194
|
disconnectedCallback() {
|
|
@@ -7734,19 +9201,33 @@ class AuroMenu extends i$2 {
|
|
|
7734
9201
|
}
|
|
7735
9202
|
|
|
7736
9203
|
firstUpdated() {
|
|
7737
|
-
AuroLibraryRuntimeUtils$
|
|
9204
|
+
AuroLibraryRuntimeUtils$6.prototype.handleComponentTagRename(this, 'auro-menu');
|
|
7738
9205
|
|
|
7739
9206
|
this.loadingSlots = this.querySelectorAll("[slot='loadingText'], [slot='loadingIcon']");
|
|
7740
9207
|
this.initializeMenu();
|
|
7741
9208
|
}
|
|
7742
9209
|
|
|
9210
|
+
/**
|
|
9211
|
+
* Sets an attribute that matches the default tag name if the tag name is not the default.
|
|
9212
|
+
* @param {string} tagName - The tag name to set as an attribute.
|
|
9213
|
+
* @private
|
|
9214
|
+
*/
|
|
9215
|
+
setTagAttribute(tagName) {
|
|
9216
|
+
if (this.tagName.toLowerCase() !== tagName) {
|
|
9217
|
+
this.setAttribute(tagName, true);
|
|
9218
|
+
}
|
|
9219
|
+
}
|
|
9220
|
+
|
|
7743
9221
|
updated(changedProperties) {
|
|
7744
|
-
|
|
9222
|
+
super.updated(changedProperties);
|
|
9223
|
+
|
|
9224
|
+
if (changedProperties.has('multiSelect') && !changedProperties.has("value")) {
|
|
7745
9225
|
// Reset selection if multiSelect mode changes
|
|
7746
9226
|
this.clearSelection();
|
|
7747
9227
|
}
|
|
7748
9228
|
|
|
7749
|
-
|
|
9229
|
+
|
|
9230
|
+
if (changedProperties.has("value")) {
|
|
7750
9231
|
// Handle null/undefined case
|
|
7751
9232
|
if (this.value === undefined || this.value === null) {
|
|
7752
9233
|
this.optionSelected = undefined;
|
|
@@ -7754,7 +9235,7 @@ class AuroMenu extends i$2 {
|
|
|
7754
9235
|
} else {
|
|
7755
9236
|
if (this.multiSelect) {
|
|
7756
9237
|
// In multiselect mode, this.value should be an array of strings
|
|
7757
|
-
const valueArray =
|
|
9238
|
+
const valueArray = this.formattedValue;
|
|
7758
9239
|
const matchingOptions = this.items.filter((item) => valueArray.includes(item.value));
|
|
7759
9240
|
|
|
7760
9241
|
this.optionSelected = matchingOptions.length > 0 ? matchingOptions : undefined;
|
|
@@ -7814,6 +9295,19 @@ class AuroMenu extends i$2 {
|
|
|
7814
9295
|
this.querySelectorAll('auro-menu, [auro-menu], auro-menuoption, [auro-menuoption]').forEach((element) => element.setAttribute('noCheckmark', ''));
|
|
7815
9296
|
}
|
|
7816
9297
|
|
|
9298
|
+
// Handle layout propagation to all menus and options
|
|
9299
|
+
const propagationTargets = this.querySelectorAll('auro-menu, [auro-menu], auro-menuoption, [auro-menuoption]');
|
|
9300
|
+
[
|
|
9301
|
+
'size',
|
|
9302
|
+
'shape'
|
|
9303
|
+
].forEach((prop) => {
|
|
9304
|
+
if (changedProperties.has(prop)) {
|
|
9305
|
+
propagationTargets.forEach((el) => {
|
|
9306
|
+
el.setAttribute(prop, this[prop]);
|
|
9307
|
+
});
|
|
9308
|
+
}
|
|
9309
|
+
});
|
|
9310
|
+
|
|
7817
9311
|
// Regex for matchWord if needed
|
|
7818
9312
|
let regexWord = null;
|
|
7819
9313
|
|
|
@@ -7908,14 +9402,14 @@ class AuroMenu extends i$2 {
|
|
|
7908
9402
|
*/
|
|
7909
9403
|
handleSelectState(option) {
|
|
7910
9404
|
if (this.multiSelect) {
|
|
7911
|
-
const currentValue = this.
|
|
9405
|
+
const currentValue = this.formattedValue || [];
|
|
7912
9406
|
const currentSelected = this.optionSelected || [];
|
|
7913
9407
|
|
|
7914
9408
|
if (!currentValue.includes(option.value)) {
|
|
7915
|
-
this.value = [
|
|
9409
|
+
this.value = JSON.stringify([
|
|
7916
9410
|
...currentValue,
|
|
7917
9411
|
option.value
|
|
7918
|
-
];
|
|
9412
|
+
]);
|
|
7919
9413
|
}
|
|
7920
9414
|
if (!currentSelected.includes(option)) {
|
|
7921
9415
|
this.optionSelected = [
|
|
@@ -7938,13 +9432,15 @@ class AuroMenu extends i$2 {
|
|
|
7938
9432
|
* @param {HTMLElement} option - The menuoption to be deselected.
|
|
7939
9433
|
*/
|
|
7940
9434
|
handleDeselectState(option) {
|
|
7941
|
-
if (this.multiSelect
|
|
9435
|
+
if (this.multiSelect) {
|
|
7942
9436
|
// Remove this option from array
|
|
7943
|
-
|
|
9437
|
+
const newFormattedValue = (this.formattedValue || []).filter((val) => val !== option.value);
|
|
7944
9438
|
|
|
7945
9439
|
// If array is empty after removal, set back to undefined
|
|
7946
|
-
if (
|
|
9440
|
+
if (newFormattedValue && newFormattedValue.length === 0) {
|
|
7947
9441
|
this.value = undefined;
|
|
9442
|
+
} else {
|
|
9443
|
+
this.value = JSON.stringify(newFormattedValue);
|
|
7948
9444
|
}
|
|
7949
9445
|
|
|
7950
9446
|
this.optionSelected = this.optionSelected.filter((val) => val !== option);
|
|
@@ -8010,21 +9506,20 @@ class AuroMenu extends i$2 {
|
|
|
8010
9506
|
* @param {HTMLElement} menu - Root menu element.
|
|
8011
9507
|
*/
|
|
8012
9508
|
handleNestedMenus(menu) {
|
|
8013
|
-
|
|
9509
|
+
menu.level = menu.parentElement.level >= 0 ? menu.parentElement.level + 1 : 0;
|
|
8014
9510
|
|
|
8015
|
-
|
|
8016
|
-
|
|
8017
|
-
|
|
8018
|
-
if (!
|
|
8019
|
-
|
|
9511
|
+
if (menu.level > 0) {
|
|
9512
|
+
menu.setAttribute('role', 'group');
|
|
9513
|
+
menu.removeAttribute("root");
|
|
9514
|
+
if (!menu.hasAttribute('aria-label')) {
|
|
9515
|
+
menu.setAttribute('aria-label', 'submenu');
|
|
8020
9516
|
}
|
|
9517
|
+
}
|
|
8021
9518
|
|
|
8022
|
-
|
|
8023
|
-
|
|
8024
|
-
|
|
8025
|
-
|
|
8026
|
-
|
|
8027
|
-
this.handleNestedMenus(nestedMenu);
|
|
9519
|
+
const options = menu.querySelectorAll(':scope > auro-menuoption, :scope > [auro-menuoption]');
|
|
9520
|
+
options.forEach((option) => {
|
|
9521
|
+
const regex = new RegExp(this.nestingSpacer, "gu");
|
|
9522
|
+
option.innerHTML = this.nestingSpacer.repeat(menu.level) + option.innerHTML.replace(regex, '');
|
|
8028
9523
|
});
|
|
8029
9524
|
}
|
|
8030
9525
|
|
|
@@ -8266,28 +9761,39 @@ class AuroMenu extends i$2 {
|
|
|
8266
9761
|
}
|
|
8267
9762
|
|
|
8268
9763
|
/**
|
|
8269
|
-
*
|
|
8270
|
-
* @
|
|
9764
|
+
* Logic to determine the layout of the component.
|
|
9765
|
+
* @protected
|
|
9766
|
+
* @returns {void}
|
|
8271
9767
|
*/
|
|
8272
|
-
|
|
9768
|
+
renderLayout() {
|
|
8273
9769
|
if (this.loading) {
|
|
8274
9770
|
return x`
|
|
8275
|
-
<
|
|
8276
|
-
<
|
|
8277
|
-
|
|
8278
|
-
|
|
8279
|
-
|
|
8280
|
-
|
|
9771
|
+
<div class="wrapper">
|
|
9772
|
+
<auro-menuoption
|
|
9773
|
+
disabled
|
|
9774
|
+
loadingplaceholder
|
|
9775
|
+
class="${this.hasLoadingPlaceholder ? "" : "empty"}"
|
|
9776
|
+
>
|
|
9777
|
+
<div>
|
|
9778
|
+
<slot name="loadingIcon"></slot>
|
|
9779
|
+
<slot name="loadingText"></slot>
|
|
9780
|
+
</div>
|
|
9781
|
+
</auro-menuoption>
|
|
9782
|
+
</div>
|
|
8281
9783
|
`;
|
|
8282
9784
|
}
|
|
8283
9785
|
|
|
8284
|
-
return x
|
|
9786
|
+
return x`
|
|
9787
|
+
<div class="wrapper">
|
|
9788
|
+
<slot @slotchange=${this.handleSlotChange}></slot>
|
|
9789
|
+
</div>
|
|
9790
|
+
`;
|
|
8285
9791
|
}
|
|
8286
9792
|
}
|
|
8287
9793
|
|
|
8288
|
-
var styleCss$1 = i$5`:host{display:flex;align-items:center;padding:var(--ds-size-
|
|
9794
|
+
var styleCss$1 = i$5`:host{cursor:pointer;user-select:none}:host .wrapper{display:flex;align-items:center;padding-right:var(--ds-size-200, 1rem);padding-left:calc(var(--ds-size-150, 0.75rem) + var(--ds-size-300, 1.5rem) + var(--ds-size-100, 0.5rem));padding-top:var(--ds-size-50, 0.25rem);padding-bottom:var(--ds-size-50, 0.25rem);-webkit-tap-highlight-color:transparent}:host .wrapper[class*=shape-box],:host .wrapper[class*=shape-snowflake]{border-radius:unset}:host .wrapper[class*=shape-pill]{border-radius:30px}:host .wrapper[class*=-lg]{font-size:var(--ds-text-body-size-lg, 1.125rem);line-height:var(--ds-text-body-height-lg, 1.625rem);padding-top:var(--ds-size-75, 0.375rem);padding-bottom:var(--ds-size-75, 0.375rem);padding-right:var(--ds-size-150, 0.75rem)}:host .wrapper[class*=-lg]:not(:last-child){margin-bottom:var(--ds-size-50, 0.25rem)}:host .wrapper[class*=-xl]{font-size:var(--ds-text-body-size-lg, 1.125rem);line-height:var(--ds-text-body-height-lg, 1.625rem);padding-top:var(--ds-size-100, 0.5rem);padding-bottom:var(--ds-size-100, 0.5rem);padding-right:var(--ds-size-200, 1rem)}:host .wrapper[class*=-xl]:not(:last-child){margin-bottom:var(--ds-size-100, 0.5rem)}:host slot{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}:host [auro-icon]{--ds-auro-icon-size: var(--ds-size-300, 1.5rem);margin-right:var(--ds-size-150, 0.75rem);margin-left:var(--ds-size-100, 0.5rem)}:host ::slotted(.nestingSpacer){display:inline-block;width:var(--ds-size-300, 1.5rem)}:host ::slotted(strong){font-weight:700}:host([loadingplaceholder]) .wrapper{padding-left:calc(var(--ds-size-150, 0.75rem) + var(--ds-size-300, 1.5rem) + var(--ds-size-100, 0.5rem))}:host([selected]) .wrapper{padding-left:0}:host([nocheckmark]) .wrapper{padding-left:var(--ds-size-150, 0.75rem)}:host([nocheckmark]) .wrapper[class*=-lg]{padding-left:var(--ds-size-150, 0.75rem)}:host([nocheckmark]) .wrapper[class*=-xl]{padding-left:var(--ds-size-200, 1rem)}:host([hidden]){display:none}:host([static]){pointer-events:none}:host([disabled]:hover){cursor:auto}:host([disabled]){user-select:none;pointer-events:none}`;
|
|
8289
9795
|
|
|
8290
|
-
var colorCss$1 = i$5`:host{background-color:var(--ds-auro-menuoption-container-color);color:var(--ds-auro-menuoption-text-color)}:host svg{fill:var(--ds-auro-menuoption-icon-color)}:host([disabled]){--ds-auro-menuoption-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0)}:host(:hover),:host(.active){--ds-auro-menuoption-container-color: var(--ds-basic-color-surface-neutral-subtle, #f7f7f7)}:host([selected]){--ds-auro-menuoption-container-color: var(--ds-advanced-color-state-selected, #01426a);--ds-auro-menuoption-text-color: var(--ds-basic-color-texticon-inverse, #ffffff);--ds-auro-menuoption-icon-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host([selected]):host(:hover),:host([selected]):host(.active){--ds-auro-menuoption-container-color: var(--ds-advanced-color-state-selected-hover, #00274a)}`;
|
|
9796
|
+
var colorCss$1 = i$5`:host .wrapper{border:1px solid var(--ds-auro-menuoption-container-border-color);background-color:var(--ds-auro-menuoption-container-color);color:var(--ds-auro-menuoption-text-color)}:host svg{fill:var(--ds-auro-menuoption-icon-color)}:host([disabled]){--ds-auro-menuoption-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0)}:host(:hover),:host(.active){--ds-auro-menuoption-container-color: var(--ds-basic-color-surface-neutral-subtle, #f7f7f7)}:host([selected]){--ds-auro-menuoption-container-color: var(--ds-advanced-color-state-selected, #01426a);--ds-auro-menuoption-text-color: var(--ds-basic-color-texticon-inverse, #ffffff);--ds-auro-menuoption-icon-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host([selected]):host(:hover),:host([selected]):host(.active){--ds-auro-menuoption-container-color: var(--ds-advanced-color-state-selected-hover, #00274a)}`;
|
|
8291
9797
|
|
|
8292
9798
|
// Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
8293
9799
|
// See LICENSE in the project root for license information.
|
|
@@ -8635,8 +10141,12 @@ class AuroIcon extends BaseIcon {
|
|
|
8635
10141
|
async firstUpdated() {
|
|
8636
10142
|
await super.firstUpdated();
|
|
8637
10143
|
|
|
8638
|
-
|
|
8639
|
-
|
|
10144
|
+
/**
|
|
10145
|
+
* icons provide a description for screen readers. Icon only instances Auro-button
|
|
10146
|
+
* depend on this description to provide context for the user using a screen reader.
|
|
10147
|
+
* Removes the SVG description for screen reader if ariaHidden is set to true.
|
|
10148
|
+
*/
|
|
10149
|
+
if (this.hasAttribute('ariaHidden') && this.svg) {
|
|
8640
10150
|
const svgDesc = this.svg.querySelector('desc');
|
|
8641
10151
|
|
|
8642
10152
|
if (svgDesc) {
|
|
@@ -8680,7 +10190,7 @@ class AuroIcon extends BaseIcon {
|
|
|
8680
10190
|
}
|
|
8681
10191
|
}
|
|
8682
10192
|
|
|
8683
|
-
var iconVersion = '8.0.
|
|
10193
|
+
var iconVersion = '8.0.4';
|
|
8684
10194
|
|
|
8685
10195
|
var checkmarkIcon = {"svg":"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" aria-labelledby=\"checkmark-sm__desc\" class=\"ico_squareLarge\" 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=\"checkmark-sm__desc\">a small check mark.</desc><path d=\"M8.461 11.84a.625.625 0 1 0-.922.844l2.504 2.738c.247.27.674.27.922 0l5.496-6a.625.625 0 1 0-.922-.844l-5.035 5.496z\"/></svg>"};
|
|
8686
10196
|
|
|
@@ -8698,10 +10208,13 @@ var checkmarkIcon = {"svg":"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlin
|
|
|
8698
10208
|
* @event auroMenuOption-mouseover - Notifies that this option has been hovered over.
|
|
8699
10209
|
* @slot - Specifies text for an option, but is not the value.
|
|
8700
10210
|
*/
|
|
8701
|
-
class AuroMenuOption extends
|
|
10211
|
+
class AuroMenuOption extends AuroElement$4 {
|
|
8702
10212
|
constructor() {
|
|
8703
10213
|
super();
|
|
8704
10214
|
|
|
10215
|
+
this.size = ""; // md, lg, xl
|
|
10216
|
+
this.shape = ""; // box, rounded, pill
|
|
10217
|
+
|
|
8705
10218
|
/**
|
|
8706
10219
|
* Generate unique names for dependency components.
|
|
8707
10220
|
*/
|
|
@@ -8720,11 +10233,12 @@ class AuroMenuOption extends i$2 {
|
|
|
8720
10233
|
/**
|
|
8721
10234
|
* @private
|
|
8722
10235
|
*/
|
|
8723
|
-
this.runtimeUtils = new AuroLibraryRuntimeUtils$
|
|
10236
|
+
this.runtimeUtils = new AuroLibraryRuntimeUtils$6();
|
|
8724
10237
|
}
|
|
8725
10238
|
|
|
8726
10239
|
static get properties() {
|
|
8727
10240
|
return {
|
|
10241
|
+
...super.properties,
|
|
8728
10242
|
nocheckmark: {
|
|
8729
10243
|
type: Boolean,
|
|
8730
10244
|
reflect: true
|
|
@@ -8764,7 +10278,7 @@ class AuroMenuOption extends i$2 {
|
|
|
8764
10278
|
*
|
|
8765
10279
|
*/
|
|
8766
10280
|
static register(name = "auro-menuoption") {
|
|
8767
|
-
AuroLibraryRuntimeUtils$
|
|
10281
|
+
AuroLibraryRuntimeUtils$6.prototype.registerComponent(name, AuroMenuOption);
|
|
8768
10282
|
}
|
|
8769
10283
|
|
|
8770
10284
|
firstUpdated() {
|
|
@@ -8786,6 +10300,8 @@ class AuroMenuOption extends i$2 {
|
|
|
8786
10300
|
|
|
8787
10301
|
// observer for selected property changes
|
|
8788
10302
|
updated(changedProperties) {
|
|
10303
|
+
super.updated(changedProperties);
|
|
10304
|
+
|
|
8789
10305
|
if (changedProperties.has('selected')) {
|
|
8790
10306
|
this.setAttribute('aria-selected', this.selected.toString());
|
|
8791
10307
|
}
|
|
@@ -8807,10 +10323,19 @@ class AuroMenuOption extends i$2 {
|
|
|
8807
10323
|
return u`<${this.iconTag} customColor customSvg slot="icon">${svg}</${this.iconTag}>`;
|
|
8808
10324
|
}
|
|
8809
10325
|
|
|
8810
|
-
|
|
10326
|
+
/**
|
|
10327
|
+
* Logic to determine the layout of the component.
|
|
10328
|
+
* @protected
|
|
10329
|
+
* @returns {void}
|
|
10330
|
+
*/
|
|
10331
|
+
renderLayout() {
|
|
8811
10332
|
return u`
|
|
8812
|
-
|
|
8813
|
-
|
|
10333
|
+
<div class="wrapper">
|
|
10334
|
+
${this.selected && !this.nocheckmark
|
|
10335
|
+
? this.generateIconHtml(checkmarkIcon.svg)
|
|
10336
|
+
: undefined}
|
|
10337
|
+
<slot></slot>
|
|
10338
|
+
</div>
|
|
8814
10339
|
`;
|
|
8815
10340
|
}
|
|
8816
10341
|
}
|