@aurodesignsystem-dev/auro-formkit 0.0.0-pr624.2 → 0.0.0-pr624.21
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 +13 -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 +1292 -79
- package/components/bibtemplate/dist/registered.js +1292 -79
- package/components/checkbox/README.md +1 -1
- package/components/checkbox/demo/api.md +8 -9
- package/components/checkbox/demo/api.min.js +30 -24
- package/components/checkbox/demo/index.md +2 -2
- package/components/checkbox/demo/index.min.js +30 -24
- package/components/checkbox/demo/readme.md +1 -1
- package/components/checkbox/dist/auro-checkbox.d.ts +3 -3
- package/components/checkbox/dist/index.js +30 -24
- package/components/checkbox/dist/registered.js +30 -24
- package/components/combobox/demo/api.md +53 -0
- package/components/combobox/demo/api.min.js +2898 -753
- package/components/combobox/demo/index.md +6 -0
- package/components/combobox/demo/index.min.js +2898 -753
- package/components/combobox/dist/auro-combobox.d.ts +12 -12
- package/components/combobox/dist/index.js +2646 -642
- package/components/combobox/dist/registered.js +2646 -642
- package/components/counter/demo/api.md +21 -19
- package/components/counter/demo/api.min.js +3648 -929
- package/components/counter/demo/index.md +99 -34
- package/components/counter/demo/index.min.js +3648 -929
- package/components/counter/dist/auro-counter-button.d.ts +2 -0
- package/components/counter/dist/auro-counter-group.d.ts +105 -6
- package/components/counter/dist/auro-counter.d.ts +6 -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 +3648 -929
- package/components/counter/dist/registered.js +3648 -929
- package/components/datepicker/demo/api.md +36 -19
- package/components/datepicker/demo/api.min.js +11437 -7744
- package/components/datepicker/demo/index.md +80 -0
- package/components/datepicker/demo/index.min.js +11437 -7744
- package/components/datepicker/dist/auro-datepicker.d.ts +71 -3
- package/components/datepicker/dist/buttonVersion.d.ts +1 -1
- package/components/datepicker/dist/iconVersion.d.ts +2 -0
- package/components/datepicker/dist/index.js +13847 -10154
- package/components/datepicker/dist/popoverVersion.d.ts +1 -1
- package/components/datepicker/dist/registered.js +13847 -10154
- package/components/dropdown/demo/api.md +6 -7
- package/components/dropdown/demo/api.min.js +238 -144
- package/components/dropdown/demo/index.md +57 -9
- package/components/dropdown/demo/index.min.js +238 -144
- package/components/dropdown/dist/auro-dropdown.d.ts +10 -9
- package/components/dropdown/dist/auro-dropdownBib.d.ts +22 -0
- package/components/dropdown/dist/index.js +238 -144
- package/components/dropdown/dist/registered.js +238 -144
- package/components/form/demo/api.min.js +1 -1
- package/components/form/demo/index.min.js +1 -1
- 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/demo/api.md +63 -56
- package/components/input/demo/api.min.js +983 -269
- package/components/input/demo/index.min.js +982 -268
- package/components/input/dist/auro-input.d.ts +202 -14
- package/components/input/dist/base-input.d.ts +30 -7
- package/components/input/dist/buttonVersion.d.ts +1 -1
- package/components/input/dist/iconVersion.d.ts +1 -1
- package/components/input/dist/index.js +982 -268
- package/components/input/dist/registered.js +982 -268
- package/components/layoutElement/dist/index.js +13 -10
- package/components/menu/demo/api.html +38 -0
- package/components/menu/demo/api.md +68 -7
- package/components/menu/demo/api.min.js +278 -42
- package/components/menu/demo/index.min.js +278 -42
- package/components/menu/dist/auro-menu.d.ts +28 -5
- 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 +278 -42
- package/components/menu/dist/registered.js +278 -42
- package/components/menu/dist/styles/default/color-menuoption-css.d.ts +2 -0
- package/components/menu/dist/styles/default/style-menu-css.d.ts +2 -0
- 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.md +2 -2
- package/components/radio/demo/api.min.js +10 -7
- package/components/radio/demo/index.min.js +10 -7
- package/components/radio/dist/auro-radio.d.ts +1 -1
- package/components/radio/dist/index.js +10 -7
- package/components/radio/dist/registered.js +10 -7
- package/components/select/demo/api.js +2 -0
- package/components/select/demo/api.md +78 -12
- package/components/select/demo/api.min.js +2797 -538
- package/components/select/demo/index.html +1 -0
- package/components/select/demo/index.md +325 -763
- package/components/select/demo/index.min.js +2790 -543
- package/components/select/dist/auro-select.d.ts +111 -11
- package/components/select/dist/helptextVersion.d.ts +2 -0
- package/components/select/dist/index.js +2533 -427
- package/components/select/dist/registered.js +2533 -427
- package/components/select/dist/styles/shapeSize-css.d.ts +2 -0
- package/components/select/dist/styles/tokens-css.d.ts +2 -0
- package/package.json +6 -4
- /package/components/{dropdown/dist/styles/default/bibColors-css.d.ts → counter/dist/styles/shapeSize-css.d.ts} +0 -0
- /package/components/{dropdown → datepicker}/dist/styles/default/color-css.d.ts +0 -0
- /package/components/{dropdown/dist/styles/default/bibStyles-css.d.ts → datepicker/dist/styles/shapeSize-css.d.ts} +0 -0
- /package/components/{dropdown/dist/styles/default/style-css.d.ts → datepicker/dist/styles/snowflake/color-css.d.ts} +0 -0
- /package/components/{dropdown/dist/styles → datepicker/dist/styles/snowflake}/style-css.d.ts +0 -0
- /package/components/{menu/dist/styles/color-menu-css.d.ts → dropdown/dist/styles/classic/bibColors-css.d.ts} +0 -0
- /package/components/{menu/dist/styles/color-menuoption-css.d.ts → dropdown/dist/styles/classic/bibStyles-css.d.ts} +0 -0
- /package/components/{menu/dist/styles/style-menu-css.d.ts → dropdown/dist/styles/classic/color-css.d.ts} +0 -0
- /package/components/{menu/dist/styles/style-menuoption-css.d.ts → dropdown/dist/styles/classic/style-css.d.ts} +0 -0
- /package/components/menu/dist/styles/{tokens-css.d.ts → default/color-menu-css.d.ts} +0 -0
|
@@ -44,6 +44,105 @@ 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$4 = class AuroElement extends i$2 {
|
|
48
|
+
static get properties() {
|
|
49
|
+
return {
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Defines the language of an element.
|
|
53
|
+
* @default {'default'}
|
|
54
|
+
*/
|
|
55
|
+
layout: {
|
|
56
|
+
type: String,
|
|
57
|
+
attribute: "layout",
|
|
58
|
+
reflect: true
|
|
59
|
+
},
|
|
60
|
+
|
|
61
|
+
shape: {
|
|
62
|
+
type: String,
|
|
63
|
+
attribute: "shape",
|
|
64
|
+
reflect: true
|
|
65
|
+
},
|
|
66
|
+
|
|
67
|
+
size: {
|
|
68
|
+
type: String,
|
|
69
|
+
attribute: "size",
|
|
70
|
+
reflect: true
|
|
71
|
+
},
|
|
72
|
+
|
|
73
|
+
onDark: {
|
|
74
|
+
type: Boolean,
|
|
75
|
+
attribute: "ondark",
|
|
76
|
+
reflect: true
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
resetShapeClasses() {
|
|
82
|
+
const wrapper = this.shadowRoot.querySelector('.wrapper');
|
|
83
|
+
|
|
84
|
+
if (wrapper) {
|
|
85
|
+
wrapper.classList.forEach((className) => {
|
|
86
|
+
if (className.startsWith('shape-')) {
|
|
87
|
+
wrapper.classList.remove(className);
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
|
|
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');
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
resetLayoutClasses() {
|
|
101
|
+
if (this.layout) {
|
|
102
|
+
const wrapper = this.shadowRoot.querySelector('.wrapper');
|
|
103
|
+
|
|
104
|
+
if (wrapper) {
|
|
105
|
+
wrapper.classList.forEach((className) => {
|
|
106
|
+
if (className.startsWith('layout-')) {
|
|
107
|
+
wrapper.classList.remove(className);
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
|
|
111
|
+
wrapper.classList.add(`layout-${this.layout.toLowerCase()}`);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
updateComponentArchitecture() {
|
|
117
|
+
this.resetLayoutClasses();
|
|
118
|
+
this.resetShapeClasses();
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
updated(changedProperties) {
|
|
122
|
+
if (changedProperties.has('layout') || changedProperties.has('shape') || changedProperties.has('size')) {
|
|
123
|
+
this.updateComponentArchitecture();
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
// Try to render the defined `this.layout` layout. If that fails, fall back to the default layout.
|
|
128
|
+
// This will catch if an invalid layout value is passed in and render the default layout if so.
|
|
129
|
+
render() {
|
|
130
|
+
try {
|
|
131
|
+
return this.renderLayout();
|
|
132
|
+
} catch (error) {
|
|
133
|
+
// failed to get the defined layout
|
|
134
|
+
console.error('Failed to get the defined layout - using the default layout', error); // eslint-disable-line no-console
|
|
135
|
+
|
|
136
|
+
// fallback to the default layout
|
|
137
|
+
return this.getLayout('default');
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
};
|
|
141
|
+
|
|
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}`;
|
|
143
|
+
|
|
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}`;
|
|
145
|
+
|
|
47
146
|
class DateFormatter {
|
|
48
147
|
|
|
49
148
|
constructor() {
|
|
@@ -100,9 +199,10 @@ class DateFormatter {
|
|
|
100
199
|
/**
|
|
101
200
|
* Convert a date object to string format.
|
|
102
201
|
* @param {Object} date - Date to convert to string.
|
|
103
|
-
* @
|
|
202
|
+
* @param {String} locale - Optional locale to use for the date string. Defaults to user's locale.
|
|
203
|
+
* @returns {String} Returns the date as a string.
|
|
104
204
|
*/
|
|
105
|
-
this.getDateAsString = (date) => date.toLocaleDateString(
|
|
205
|
+
this.getDateAsString = (date, locale = undefined) => date.toLocaleDateString(locale, {
|
|
106
206
|
year: "numeric",
|
|
107
207
|
month: "2-digit",
|
|
108
208
|
day: "2-digit",
|
|
@@ -294,7 +394,7 @@ class AuroDateUtilities extends AuroDateUtilitiesBase {
|
|
|
294
394
|
const dateObj = new Date(this.getFourDigitYear(dateParts.year), dateParts.month - 1, dateParts.day || 1);
|
|
295
395
|
|
|
296
396
|
// Get the date string of the date object we created from the string date
|
|
297
|
-
const actualDateStr = dateFormatter.getDateAsString(dateObj);
|
|
397
|
+
const actualDateStr = dateFormatter.getDateAsString(dateObj, "en-US");
|
|
298
398
|
|
|
299
399
|
// Guard Clause: Generated date matches date string input
|
|
300
400
|
if (expectedDateStr !== actualDateStr) {
|
|
@@ -459,7 +559,7 @@ const {
|
|
|
459
559
|
|
|
460
560
|
/* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
|
|
461
561
|
|
|
462
|
-
let AuroLibraryRuntimeUtils$
|
|
562
|
+
let AuroLibraryRuntimeUtils$6 = class AuroLibraryRuntimeUtils {
|
|
463
563
|
|
|
464
564
|
/* eslint-disable jsdoc/require-param */
|
|
465
565
|
|
|
@@ -529,7 +629,7 @@ let AuroLibraryRuntimeUtils$3 = class AuroLibraryRuntimeUtils {
|
|
|
529
629
|
class AuroFormValidation {
|
|
530
630
|
|
|
531
631
|
constructor() {
|
|
532
|
-
this.runtimeUtils = new AuroLibraryRuntimeUtils$
|
|
632
|
+
this.runtimeUtils = new AuroLibraryRuntimeUtils$6();
|
|
533
633
|
}
|
|
534
634
|
|
|
535
635
|
/**
|
|
@@ -808,7 +908,9 @@ class AuroFormValidation {
|
|
|
808
908
|
elem.validity = this.auroInputElements[0].validity;
|
|
809
909
|
elem.errorMessage = this.auroInputElements[0].errorMessage;
|
|
810
910
|
|
|
811
|
-
|
|
911
|
+
// combobox has 2 inputs but no need to check validity on the 2nd one which is in fullscreen bib.
|
|
912
|
+
// combobox's 2nd input will have noValidate set true.
|
|
913
|
+
if (elem.validity === 'valid' && this.auroInputElements.length > 1 && !this.auroInputElements[1].noValidate) {
|
|
812
914
|
elem.validity = this.auroInputElements[1].validity;
|
|
813
915
|
elem.errorMessage = this.auroInputElements[1].errorMessage;
|
|
814
916
|
}
|
|
@@ -941,7 +1043,7 @@ let AuroDependencyVersioning$2 = class AuroDependencyVersioning {
|
|
|
941
1043
|
|
|
942
1044
|
/* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
|
|
943
1045
|
|
|
944
|
-
let AuroLibraryRuntimeUtils$1 = class AuroLibraryRuntimeUtils {
|
|
1046
|
+
let AuroLibraryRuntimeUtils$2$1 = class AuroLibraryRuntimeUtils {
|
|
945
1047
|
|
|
946
1048
|
/* eslint-disable jsdoc/require-param */
|
|
947
1049
|
|
|
@@ -1524,10 +1626,11 @@ const flip$1 = function (options) {
|
|
|
1524
1626
|
const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;
|
|
1525
1627
|
const nextPlacement = placements[nextIndex];
|
|
1526
1628
|
if (nextPlacement) {
|
|
1527
|
-
var _overflowsData$;
|
|
1528
1629
|
const ignoreCrossAxisOverflow = checkCrossAxis === 'alignment' ? initialSideAxis !== getSideAxis(nextPlacement) : false;
|
|
1529
|
-
|
|
1530
|
-
if
|
|
1630
|
+
if (!ignoreCrossAxisOverflow ||
|
|
1631
|
+
// We leave the current main axis only if every placement on that axis
|
|
1632
|
+
// overflows the main axis.
|
|
1633
|
+
overflowsData.every(d => d.overflows[0] > 0 && getSideAxis(d.placement) === initialSideAxis)) {
|
|
1531
1634
|
// Try next placement and re-run the lifecycle.
|
|
1532
1635
|
return {
|
|
1533
1636
|
data: {
|
|
@@ -2548,8 +2651,28 @@ class AuroFloatingUI {
|
|
|
2548
2651
|
if (!AuroFloatingUI.isMousePressHandlerInitialized && window && window.addEventListener) {
|
|
2549
2652
|
AuroFloatingUI.isMousePressHandlerInitialized = true;
|
|
2550
2653
|
|
|
2654
|
+
// Track timeout for isMousePressed reset to avoid race conditions
|
|
2655
|
+
if (!AuroFloatingUI._mousePressedTimeout) {
|
|
2656
|
+
AuroFloatingUI._mousePressedTimeout = null;
|
|
2657
|
+
}
|
|
2551
2658
|
const mouseEventGlobalHandler = (event) => {
|
|
2552
|
-
|
|
2659
|
+
const isPressed = event.type === 'mousedown';
|
|
2660
|
+
if (isPressed) {
|
|
2661
|
+
// Clear any pending timeout to prevent race condition
|
|
2662
|
+
if (AuroFloatingUI._mousePressedTimeout !== null) {
|
|
2663
|
+
clearTimeout(AuroFloatingUI._mousePressedTimeout);
|
|
2664
|
+
AuroFloatingUI._mousePressedTimeout = null;
|
|
2665
|
+
}
|
|
2666
|
+
if (!AuroFloatingUI.isMousePressed) {
|
|
2667
|
+
AuroFloatingUI.isMousePressed = true;
|
|
2668
|
+
}
|
|
2669
|
+
} else if (AuroFloatingUI.isMousePressed && !isPressed) {
|
|
2670
|
+
// Schedule reset and track timeout ID
|
|
2671
|
+
AuroFloatingUI._mousePressedTimeout = setTimeout(() => {
|
|
2672
|
+
AuroFloatingUI.isMousePressed = false;
|
|
2673
|
+
AuroFloatingUI._mousePressedTimeout = null;
|
|
2674
|
+
}, 0);
|
|
2675
|
+
}
|
|
2553
2676
|
};
|
|
2554
2677
|
|
|
2555
2678
|
window.addEventListener('mousedown', mouseEventGlobalHandler);
|
|
@@ -2676,6 +2799,7 @@ class AuroFloatingUI {
|
|
|
2676
2799
|
|
|
2677
2800
|
// Compute the position of the bib
|
|
2678
2801
|
computePosition(this.element.trigger, this.element.bib, {
|
|
2802
|
+
strategy: this.element.floaterConfig?.strategy || 'fixed',
|
|
2679
2803
|
placement: this.element.floaterConfig?.placement,
|
|
2680
2804
|
middleware: middleware || []
|
|
2681
2805
|
}).then(({ x, y }) => { // eslint-disable-line id-length
|
|
@@ -2810,8 +2934,9 @@ class AuroFloatingUI {
|
|
|
2810
2934
|
if (this.element.contains(activeElement) || this.element.bib?.contains(activeElement)) {
|
|
2811
2935
|
return;
|
|
2812
2936
|
}
|
|
2813
|
-
|
|
2814
|
-
if
|
|
2937
|
+
|
|
2938
|
+
// if fullscreen bib is in fullscreen mode, do not close
|
|
2939
|
+
if (this.element.bib.hasAttribute('isfullscreen')) {
|
|
2815
2940
|
return;
|
|
2816
2941
|
}
|
|
2817
2942
|
|
|
@@ -3112,8 +3237,6 @@ class AuroFloatingUI {
|
|
|
3112
3237
|
this.element.hoverToggle = this.element.floaterConfig.hoverToggle;
|
|
3113
3238
|
}
|
|
3114
3239
|
|
|
3115
|
-
document.body.append(this.element.bib);
|
|
3116
|
-
|
|
3117
3240
|
this.regenerateBibId();
|
|
3118
3241
|
this.handleTriggerTabIndex();
|
|
3119
3242
|
|
|
@@ -3340,9 +3463,79 @@ let BaseIcon$2 = class BaseIcon extends AuroElement$1$1 {
|
|
|
3340
3463
|
}
|
|
3341
3464
|
};
|
|
3342
3465
|
|
|
3343
|
-
var tokensCss$2$
|
|
3466
|
+
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)}`;
|
|
3467
|
+
|
|
3468
|
+
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)}`;
|
|
3469
|
+
|
|
3470
|
+
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
3471
|
+
// See LICENSE in the project root for license information.
|
|
3472
|
+
|
|
3473
|
+
// ---------------------------------------------------------------------
|
|
3474
|
+
|
|
3475
|
+
/* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
|
|
3476
|
+
|
|
3477
|
+
let AuroLibraryRuntimeUtils$1$2 = class AuroLibraryRuntimeUtils {
|
|
3478
|
+
|
|
3479
|
+
/* eslint-disable jsdoc/require-param */
|
|
3480
|
+
|
|
3481
|
+
/**
|
|
3482
|
+
* This will register a new custom element with the browser.
|
|
3483
|
+
* @param {String} name - The name of the custom element.
|
|
3484
|
+
* @param {Object} componentClass - The class to register as a custom element.
|
|
3485
|
+
* @returns {void}
|
|
3486
|
+
*/
|
|
3487
|
+
registerComponent(name, componentClass) {
|
|
3488
|
+
if (!customElements.get(name)) {
|
|
3489
|
+
customElements.define(name, class extends componentClass {});
|
|
3490
|
+
}
|
|
3491
|
+
}
|
|
3492
|
+
|
|
3493
|
+
/**
|
|
3494
|
+
* Finds and returns the closest HTML Element based on a selector.
|
|
3495
|
+
* @returns {void}
|
|
3496
|
+
*/
|
|
3497
|
+
closestElement(
|
|
3498
|
+
selector, // selector like in .closest()
|
|
3499
|
+
base = this, // extra functionality to skip a parent
|
|
3500
|
+
__Closest = (el, found = el && el.closest(selector)) =>
|
|
3501
|
+
!el || el === document || el === window
|
|
3502
|
+
? null // standard .closest() returns null for non-found selectors also
|
|
3503
|
+
: found
|
|
3504
|
+
? found // found a selector INside this element
|
|
3505
|
+
: __Closest(el.getRootNode().host) // recursion!! break out to parent DOM
|
|
3506
|
+
) {
|
|
3507
|
+
return __Closest(base);
|
|
3508
|
+
}
|
|
3509
|
+
/* eslint-enable jsdoc/require-param */
|
|
3510
|
+
|
|
3511
|
+
/**
|
|
3512
|
+
* 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.
|
|
3513
|
+
* @param {Object} elem - The element to check.
|
|
3514
|
+
* @param {String} tagName - The name of the Auro component to check for or add as an attribute.
|
|
3515
|
+
* @returns {void}
|
|
3516
|
+
*/
|
|
3517
|
+
handleComponentTagRename(elem, tagName) {
|
|
3518
|
+
const tag = tagName.toLowerCase();
|
|
3519
|
+
const elemTag = elem.tagName.toLowerCase();
|
|
3520
|
+
|
|
3521
|
+
if (elemTag !== tag) {
|
|
3522
|
+
elem.setAttribute(tag, true);
|
|
3523
|
+
}
|
|
3524
|
+
}
|
|
3525
|
+
|
|
3526
|
+
/**
|
|
3527
|
+
* Validates if an element is a specific Auro component.
|
|
3528
|
+
* @param {Object} elem - The element to validate.
|
|
3529
|
+
* @param {String} tagName - The name of the Auro component to check against.
|
|
3530
|
+
* @returns {Boolean} - Returns true if the element is the specified Auro component.
|
|
3531
|
+
*/
|
|
3532
|
+
elementMatch(elem, tagName) {
|
|
3533
|
+
const tag = tagName.toLowerCase();
|
|
3534
|
+
const elemTag = elem.tagName.toLowerCase();
|
|
3344
3535
|
|
|
3345
|
-
|
|
3536
|
+
return elemTag === tag || elem.hasAttribute(tag);
|
|
3537
|
+
}
|
|
3538
|
+
};
|
|
3346
3539
|
|
|
3347
3540
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
3348
3541
|
// See LICENSE in the project root for license information.
|
|
@@ -3363,7 +3556,7 @@ let AuroIcon$2 = class AuroIcon extends BaseIcon$2 {
|
|
|
3363
3556
|
*/
|
|
3364
3557
|
privateDefaults() {
|
|
3365
3558
|
this.uri = 'https://cdn.jsdelivr.net/npm/@alaskaairux/icons@latest/dist';
|
|
3366
|
-
this.runtimeUtils = new AuroLibraryRuntimeUtils$1();
|
|
3559
|
+
this.runtimeUtils = new AuroLibraryRuntimeUtils$1$2();
|
|
3367
3560
|
}
|
|
3368
3561
|
|
|
3369
3562
|
// function to define props used within the scope of this component
|
|
@@ -3430,9 +3623,9 @@ let AuroIcon$2 = class AuroIcon extends BaseIcon$2 {
|
|
|
3430
3623
|
static get styles() {
|
|
3431
3624
|
return [
|
|
3432
3625
|
super.styles,
|
|
3433
|
-
i$5`${tokensCss$2$
|
|
3626
|
+
i$5`${tokensCss$2$2}`,
|
|
3434
3627
|
i$5`${styleCss$2$2}`,
|
|
3435
|
-
i$5`${colorCss$3$
|
|
3628
|
+
i$5`${colorCss$3$2}`
|
|
3436
3629
|
];
|
|
3437
3630
|
}
|
|
3438
3631
|
|
|
@@ -3445,7 +3638,7 @@ let AuroIcon$2 = class AuroIcon extends BaseIcon$2 {
|
|
|
3445
3638
|
*
|
|
3446
3639
|
*/
|
|
3447
3640
|
static register(name = "auro-icon") {
|
|
3448
|
-
AuroLibraryRuntimeUtils$1.prototype.registerComponent(name, AuroIcon);
|
|
3641
|
+
AuroLibraryRuntimeUtils$1$2.prototype.registerComponent(name, AuroIcon);
|
|
3449
3642
|
}
|
|
3450
3643
|
|
|
3451
3644
|
connectedCallback() {
|
|
@@ -3466,8 +3659,12 @@ let AuroIcon$2 = class AuroIcon extends BaseIcon$2 {
|
|
|
3466
3659
|
async firstUpdated() {
|
|
3467
3660
|
await super.firstUpdated();
|
|
3468
3661
|
|
|
3469
|
-
|
|
3470
|
-
|
|
3662
|
+
/**
|
|
3663
|
+
* icons provide a description for screen readers. Icon only instances Auro-button
|
|
3664
|
+
* depend on this description to provide context for the user using a screen reader.
|
|
3665
|
+
* Removes the SVG description for screen reader if ariaHidden is set to true.
|
|
3666
|
+
*/
|
|
3667
|
+
if (this.hasAttribute('ariaHidden') && this.svg) {
|
|
3471
3668
|
const svgDesc = this.svg.querySelector('desc');
|
|
3472
3669
|
|
|
3473
3670
|
if (svgDesc) {
|
|
@@ -3513,17 +3710,16 @@ let AuroIcon$2 = class AuroIcon extends BaseIcon$2 {
|
|
|
3513
3710
|
|
|
3514
3711
|
var iconVersion$2 = '6.1.2';
|
|
3515
3712
|
|
|
3516
|
-
var styleCss$1$2 = i$5`:host{position:
|
|
3713
|
+
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}`;
|
|
3517
3714
|
|
|
3518
|
-
var colorCss$2$
|
|
3715
|
+
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)}`;
|
|
3519
3716
|
|
|
3520
|
-
var tokensCss$1$
|
|
3717
|
+
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-dropdown-helptext-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-dropdown-helptext-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)}`;
|
|
3521
3718
|
|
|
3522
3719
|
// Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
3523
3720
|
// See LICENSE in the project root for license information.
|
|
3524
3721
|
|
|
3525
3722
|
|
|
3526
|
-
|
|
3527
3723
|
const DESIGN_TOKEN_BREAKPOINT_PREFIX = '--ds-grid-breakpoint-';
|
|
3528
3724
|
const DESIGN_TOKEN_BREAKPOINT_OPTIONS = [
|
|
3529
3725
|
'xl',
|
|
@@ -3539,7 +3735,7 @@ const DESIGN_TOKEN_BREAKPOINT_OPTIONS = [
|
|
|
3539
3735
|
*/
|
|
3540
3736
|
|
|
3541
3737
|
class AuroDropdownBib extends i$2 {
|
|
3542
|
-
|
|
3738
|
+
// not extending AuroElement because Bib needs only `shape` prop
|
|
3543
3739
|
constructor() {
|
|
3544
3740
|
super();
|
|
3545
3741
|
|
|
@@ -3548,14 +3744,17 @@ class AuroDropdownBib extends i$2 {
|
|
|
3548
3744
|
*/
|
|
3549
3745
|
this._mobileBreakpointValue = undefined;
|
|
3550
3746
|
|
|
3551
|
-
AuroLibraryRuntimeUtils$1.prototype.handleComponentTagRename(this, 'auro-dropdownbib');
|
|
3747
|
+
AuroLibraryRuntimeUtils$2$1.prototype.handleComponentTagRename(this, 'auro-dropdownbib');
|
|
3748
|
+
|
|
3749
|
+
this.shape = "rounded";
|
|
3750
|
+
this.matchWidth = false;
|
|
3552
3751
|
}
|
|
3553
3752
|
|
|
3554
3753
|
static get styles() {
|
|
3555
3754
|
return [
|
|
3556
3755
|
styleCss$1$2,
|
|
3557
|
-
colorCss$2$
|
|
3558
|
-
tokensCss$1$
|
|
3756
|
+
colorCss$2$2,
|
|
3757
|
+
tokensCss$1$2
|
|
3559
3758
|
];
|
|
3560
3759
|
}
|
|
3561
3760
|
|
|
@@ -3586,6 +3785,15 @@ class AuroDropdownBib extends i$2 {
|
|
|
3586
3785
|
reflect: true
|
|
3587
3786
|
},
|
|
3588
3787
|
|
|
3788
|
+
/**
|
|
3789
|
+
* If declared, the bib width will match the trigger width.
|
|
3790
|
+
* @private
|
|
3791
|
+
*/
|
|
3792
|
+
matchWidth: {
|
|
3793
|
+
type: Boolean,
|
|
3794
|
+
reflect: true
|
|
3795
|
+
},
|
|
3796
|
+
|
|
3589
3797
|
/**
|
|
3590
3798
|
* If declared, will apply border-radius to the bib.
|
|
3591
3799
|
*/
|
|
@@ -3593,6 +3801,18 @@ class AuroDropdownBib extends i$2 {
|
|
|
3593
3801
|
type: Boolean,
|
|
3594
3802
|
reflect: true
|
|
3595
3803
|
},
|
|
3804
|
+
|
|
3805
|
+
/**
|
|
3806
|
+
* A reference to the associated bib template element.
|
|
3807
|
+
*/
|
|
3808
|
+
bibTemplate: {
|
|
3809
|
+
type: Object
|
|
3810
|
+
},
|
|
3811
|
+
|
|
3812
|
+
shape: {
|
|
3813
|
+
type: String,
|
|
3814
|
+
reflect: true
|
|
3815
|
+
}
|
|
3596
3816
|
};
|
|
3597
3817
|
}
|
|
3598
3818
|
|
|
@@ -3625,13 +3845,62 @@ class AuroDropdownBib extends i$2 {
|
|
|
3625
3845
|
}
|
|
3626
3846
|
}
|
|
3627
3847
|
});
|
|
3848
|
+
|
|
3849
|
+
if (this.bibTemplate) {
|
|
3850
|
+
// If the bib template is found, set the fullscreen attribute
|
|
3851
|
+
if (this.isFullscreen) {
|
|
3852
|
+
this.bibTemplate.setAttribute('isFullscreen', 'true');
|
|
3853
|
+
} else {
|
|
3854
|
+
this.bibTemplate.removeAttribute('isFullscreen');
|
|
3855
|
+
}
|
|
3856
|
+
}
|
|
3628
3857
|
}
|
|
3629
3858
|
}
|
|
3630
3859
|
|
|
3860
|
+
connectedCallback() {
|
|
3861
|
+
super.connectedCallback();
|
|
3862
|
+
|
|
3863
|
+
// Listen for the auro-bibtemplate-connected event to set the fullscreen attribute
|
|
3864
|
+
this.addEventListener('auro-bibtemplate-connected', (event) => {
|
|
3865
|
+
const bibTemplate = event.detail.element;
|
|
3866
|
+
this.bibTemplate = bibTemplate;
|
|
3867
|
+
|
|
3868
|
+
if (bibTemplate) {
|
|
3869
|
+
// If the bib template is found, set the fullscreen attribute
|
|
3870
|
+
if (this.isFullscreen) {
|
|
3871
|
+
bibTemplate.setAttribute('isFullscreen', 'true');
|
|
3872
|
+
} else {
|
|
3873
|
+
bibTemplate.removeAttribute('isFullscreen');
|
|
3874
|
+
}
|
|
3875
|
+
}
|
|
3876
|
+
});
|
|
3877
|
+
}
|
|
3878
|
+
|
|
3879
|
+
firstUpdated(changedProperties) {
|
|
3880
|
+
super.firstUpdated(changedProperties);
|
|
3881
|
+
|
|
3882
|
+
// Dispatch a custom event when the component is connected
|
|
3883
|
+
this.dispatchEvent(new CustomEvent('auro-dropdownbib-connected', {
|
|
3884
|
+
bubbles: true,
|
|
3885
|
+
composed: true,
|
|
3886
|
+
detail: {
|
|
3887
|
+
element: this
|
|
3888
|
+
}
|
|
3889
|
+
}));
|
|
3890
|
+
}
|
|
3891
|
+
|
|
3631
3892
|
// function that renders the HTML and CSS into the scope of the component
|
|
3632
3893
|
render() {
|
|
3894
|
+
const classes = {
|
|
3895
|
+
container: true
|
|
3896
|
+
};
|
|
3897
|
+
|
|
3898
|
+
// Since this class does not inherit from AuroElement, we apply the shape-related class within the `render` function,
|
|
3899
|
+
// mimicking the class naming convention used in AuroElement.resetShapeClasses.
|
|
3900
|
+
classes[`shape-${this.shape}`] = true;
|
|
3901
|
+
|
|
3633
3902
|
return u`
|
|
3634
|
-
<div class="
|
|
3903
|
+
<div class="${e(classes)}" part="bibContainer">
|
|
3635
3904
|
<slot></slot>
|
|
3636
3905
|
</div>
|
|
3637
3906
|
`;
|
|
@@ -3640,23 +3909,23 @@ class AuroDropdownBib extends i$2 {
|
|
|
3640
3909
|
|
|
3641
3910
|
var dropdownVersion$1 = '3.0.0';
|
|
3642
3911
|
|
|
3643
|
-
var shapeSizeCss = i$5`.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:
|
|
3912
|
+
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}`;
|
|
3644
3913
|
|
|
3645
|
-
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:focus-within{--ds-auro-dropdown-trigger-border-color: var(--ds-basic-color-border-brand, #00274a)}:host([ondark]) .wrapper:focus,:host([ondark]) .wrapper:focus-within{--ds-auro-dropdown-trigger-border-color: var(--ds-basic-color-border-inverse, #ffffff)}:host([error]:not([ondark])){--ds-auro-dropdown-trigger-border-color: var(--ds-basic-color-status-error, #e31f26)}:host([error][ondark]){--ds-auro-dropdown-trigger-border-color: var(--ds-
|
|
3914
|
+
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:focus-within{--ds-auro-dropdown-trigger-border-color: var(--ds-basic-color-border-brand, #00274a)}:host([ondark]) .wrapper:focus,:host([ondark]) .wrapper:focus-within{--ds-auro-dropdown-trigger-border-color: var(--ds-basic-color-border-inverse, #ffffff)}:host([error]:not([ondark])){--ds-auro-dropdown-trigger-border-color: var(--ds-basic-color-status-error, #e31f26)}:host([error][ondark]){--ds-auro-dropdown-trigger-border-color: var(--ds-basic-color-status-error-subtle, #fbc6c6)}.helpText{color:var(--ds-auro-dropdown-helptext-text-color)}`;
|
|
3646
3915
|
|
|
3647
|
-
var classicColorCss = i$5`:host([layout*=classic]) .label{color:var(--ds-auro-dropdown-label-text-color)}:host([layout*=classic]) .trigger{border-color:var(--ds-auro-dropdown-trigger-border-color);background-color:var(--ds-auro-dropdown-trigger-container-color);color:var(--ds-auro-dropdown-trigger-text-color)
|
|
3916
|
+
var classicColorCss = i$5`:host([layout*=classic]:not([onDark])) .label{color:var(--ds-auro-dropdown-label-text-color)}:host([layout*=classic]:not([onDark])) .trigger{border-color:var(--ds-auro-dropdown-trigger-border-color);background-color:var(--ds-auro-dropdown-trigger-container-color);color:var(--ds-auro-dropdown-trigger-text-color)}:host([layout*=classic]:not([onDark])) .trigger:focus-within,:host([layout*=classic]:not([onDark])) .trigger: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([layout*=classic][disabled]:not([onDark])){--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([layout*=classic][error]:not([onDark])){--ds-auro-dropdown-trigger-border-color: var(--ds-basic-color-status-error, #e31f26)}:host([layout*=classic][error]:not([onDark])) .trigger:focus-within,:host([layout*=classic][error]:not([onDark])) .trigger: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([layout*=classic][onDark]) .label{color:var(--ds-auro-dropdown-label-text-color)}:host([layout*=classic][onDark]) .trigger{border-color:var(--ds-auro-dropdown-trigger-border-color);background-color:var(--ds-auro-dropdown-trigger-container-color);color:var(--ds-auro-dropdown-trigger-text-color)}:host([layout*=classic][onDark]) .trigger:focus-within,:host([layout*=classic][onDark]) .trigger: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([layout*=classic][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([layout*=classic][onDark][error]){--ds-auro-dropdown-trigger-border-color: var(--ds-basic-color-status-error-subtle, #fbc6c6)}:host([layout*=classic][onDark][error]) .trigger:focus-within,:host([layout*=classic][onDark][error]) .trigger: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)}`;
|
|
3648
3917
|
|
|
3649
|
-
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]) .trigger{display:flex;flex-direction:row}@media(hover: hover){:host([layout*=classic]) .trigger:hover{cursor:pointer}}:host([layout*=classic]) .triggerContentWrapper{overflow:hidden;flex:1;text-overflow:ellipsis;white-space:nowrap}:host([layout*=classic]) #showStateIcon{display:flex;overflow:hidden;height:100%;align-items:center;
|
|
3918
|
+
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]) .trigger{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]) .trigger: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([layout*=classic]:not([simple])) .triggerContentWrapper{padding-left:var(--ds-size-150, 0.75rem)}:host([layout*=classic][matchwidth]) #bibSizer{width:100%}:host([layout*=classic][disabled]){pointer-events:none}`;
|
|
3650
3919
|
|
|
3651
|
-
var styleEmphasizedCss = i$5`:host{display:block}.wrapper{display:flex;flex-direction:
|
|
3920
|
+
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}.trigger{display:flex;flex:1;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)}`;
|
|
3652
3921
|
|
|
3653
|
-
var styleSnowflakeCss = i$5`:host{display:block}.wrapper{display:flex;flex-direction:
|
|
3922
|
+
var styleSnowflakeCss = i$5`:host{display:block}.wrapper{display:flex;flex-direction:row}.trigger{display:flex;flex:1;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)}`;
|
|
3654
3923
|
|
|
3655
|
-
var colorCss$
|
|
3924
|
+
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)}`;
|
|
3656
3925
|
|
|
3657
|
-
var styleCss$
|
|
3926
|
+
var styleCss$6 = i$5`.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}`;
|
|
3658
3927
|
|
|
3659
|
-
var tokensCss$
|
|
3928
|
+
var tokensCss$4 = i$5`:host{--ds-auro-helptext-color: var(--ds-basic-color-texticon-muted, #676767)}`;
|
|
3660
3929
|
|
|
3661
3930
|
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
3662
3931
|
// See LICENSE in the project root for license information.
|
|
@@ -3665,7 +3934,7 @@ var tokensCss$3 = i$5`:host{--ds-auro-helptext-color: var(--ds-basic-color-texti
|
|
|
3665
3934
|
|
|
3666
3935
|
/* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
|
|
3667
3936
|
|
|
3668
|
-
let AuroLibraryRuntimeUtils$
|
|
3937
|
+
let AuroLibraryRuntimeUtils$5 = class AuroLibraryRuntimeUtils {
|
|
3669
3938
|
|
|
3670
3939
|
/* eslint-disable jsdoc/require-param */
|
|
3671
3940
|
|
|
@@ -3737,7 +4006,7 @@ let AuroLibraryRuntimeUtils$2 = class AuroLibraryRuntimeUtils {
|
|
|
3737
4006
|
*
|
|
3738
4007
|
* @attr { Boolean } large - If declared, make font-size to 1rem(16px).
|
|
3739
4008
|
*/
|
|
3740
|
-
class AuroHelpText extends i$2 {
|
|
4009
|
+
let AuroHelpText$1 = class AuroHelpText extends i$2 {
|
|
3741
4010
|
|
|
3742
4011
|
constructor() {
|
|
3743
4012
|
super();
|
|
@@ -3746,14 +4015,14 @@ class AuroHelpText extends i$2 {
|
|
|
3746
4015
|
this.onDark = false;
|
|
3747
4016
|
this.hasTextContent = false;
|
|
3748
4017
|
|
|
3749
|
-
AuroLibraryRuntimeUtils$
|
|
4018
|
+
AuroLibraryRuntimeUtils$5.prototype.handleComponentTagRename(this, 'auro-helptext');
|
|
3750
4019
|
}
|
|
3751
4020
|
|
|
3752
4021
|
static get styles() {
|
|
3753
4022
|
return [
|
|
3754
|
-
colorCss$
|
|
3755
|
-
styleCss$
|
|
3756
|
-
tokensCss$
|
|
4023
|
+
colorCss$5,
|
|
4024
|
+
styleCss$6,
|
|
4025
|
+
tokensCss$4
|
|
3757
4026
|
];
|
|
3758
4027
|
}
|
|
3759
4028
|
|
|
@@ -3802,7 +4071,7 @@ class AuroHelpText extends i$2 {
|
|
|
3802
4071
|
*
|
|
3803
4072
|
*/
|
|
3804
4073
|
static register(name = "auro-helptext") {
|
|
3805
|
-
AuroLibraryRuntimeUtils$
|
|
4074
|
+
AuroLibraryRuntimeUtils$5.prototype.registerComponent(name, AuroHelpText);
|
|
3806
4075
|
}
|
|
3807
4076
|
|
|
3808
4077
|
updated() {
|
|
@@ -3856,11 +4125,11 @@ class AuroHelpText extends i$2 {
|
|
|
3856
4125
|
</div>
|
|
3857
4126
|
`;
|
|
3858
4127
|
}
|
|
3859
|
-
}
|
|
4128
|
+
};
|
|
3860
4129
|
|
|
3861
|
-
var helpTextVersion = '1.0.0';
|
|
4130
|
+
var helpTextVersion$1 = '1.0.0';
|
|
3862
4131
|
|
|
3863
|
-
let AuroElement$
|
|
4132
|
+
let AuroElement$3 = class AuroElement extends i$2 {
|
|
3864
4133
|
static get properties() {
|
|
3865
4134
|
return {
|
|
3866
4135
|
|
|
@@ -3895,18 +4164,21 @@ let AuroElement$2 = class AuroElement extends i$2 {
|
|
|
3895
4164
|
}
|
|
3896
4165
|
|
|
3897
4166
|
resetShapeClasses() {
|
|
3898
|
-
|
|
3899
|
-
const wrapper = this.shadowRoot.querySelector('.wrapper');
|
|
4167
|
+
const wrapper = this.shadowRoot.querySelector('.wrapper');
|
|
3900
4168
|
|
|
3901
|
-
|
|
3902
|
-
|
|
3903
|
-
|
|
3904
|
-
|
|
3905
|
-
|
|
3906
|
-
|
|
4169
|
+
if (wrapper) {
|
|
4170
|
+
wrapper.classList.forEach((className) => {
|
|
4171
|
+
if (className.startsWith('shape-')) {
|
|
4172
|
+
wrapper.classList.remove(className);
|
|
4173
|
+
}
|
|
4174
|
+
});
|
|
3907
4175
|
|
|
3908
|
-
|
|
3909
|
-
|
|
4176
|
+
}
|
|
4177
|
+
|
|
4178
|
+
if (this.shape && this.size) {
|
|
4179
|
+
wrapper.classList.add(`shape-${this.shape.toLowerCase()}-${this.size.toLowerCase()}`);
|
|
4180
|
+
} else {
|
|
4181
|
+
wrapper.classList.add('shape-none');
|
|
3910
4182
|
}
|
|
3911
4183
|
}
|
|
3912
4184
|
|
|
@@ -3969,7 +4241,7 @@ let AuroElement$2 = class AuroElement extends i$2 {
|
|
|
3969
4241
|
* @event auroDropdown-toggled - Notifies that the visibility of the dropdown bib has changed.
|
|
3970
4242
|
* @event auroDropdown-idAdded - Notifies consumers that the unique ID for the dropdown bib has been generated.
|
|
3971
4243
|
*/
|
|
3972
|
-
class AuroDropdown extends AuroElement$
|
|
4244
|
+
class AuroDropdown extends AuroElement$3 {
|
|
3973
4245
|
constructor() {
|
|
3974
4246
|
super();
|
|
3975
4247
|
|
|
@@ -3978,20 +4250,16 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
3978
4250
|
this.matchWidth = false;
|
|
3979
4251
|
this.noHideOnThisFocusLoss = false;
|
|
3980
4252
|
|
|
3981
|
-
this.errorMessage = ''; // TODO
|
|
4253
|
+
this.errorMessage = ''; // TODO - check with Doug if there is still more to do here
|
|
3982
4254
|
|
|
3983
4255
|
// Layout Config
|
|
3984
4256
|
this.layout = 'classic';
|
|
3985
|
-
this.shape = '
|
|
4257
|
+
this.shape = 'classic';
|
|
3986
4258
|
this.size = 'xl';
|
|
3987
4259
|
|
|
3988
|
-
this.
|
|
3989
|
-
}
|
|
4260
|
+
this.parentBorder = false;
|
|
3990
4261
|
|
|
3991
|
-
|
|
3992
|
-
return {
|
|
3993
|
-
// 'withValue': this.value && this.value.length > 0
|
|
3994
|
-
};
|
|
4262
|
+
this.privateDefaults();
|
|
3995
4263
|
}
|
|
3996
4264
|
|
|
3997
4265
|
get commonWrapperClasses() {
|
|
@@ -3999,7 +4267,8 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
3999
4267
|
'trigger': true,
|
|
4000
4268
|
'wrapper': true,
|
|
4001
4269
|
'hasFocus': this.hasFocus,
|
|
4002
|
-
'simple': this.simple
|
|
4270
|
+
'simple': this.simple,
|
|
4271
|
+
'parentBorder': this.parentBorder
|
|
4003
4272
|
};
|
|
4004
4273
|
}
|
|
4005
4274
|
|
|
@@ -4051,7 +4320,7 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
4051
4320
|
/**
|
|
4052
4321
|
* @private
|
|
4053
4322
|
*/
|
|
4054
|
-
this.runtimeUtils = new AuroLibraryRuntimeUtils$1();
|
|
4323
|
+
this.runtimeUtils = new AuroLibraryRuntimeUtils$2$1();
|
|
4055
4324
|
|
|
4056
4325
|
/**
|
|
4057
4326
|
* @private
|
|
@@ -4076,7 +4345,7 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
4076
4345
|
/**
|
|
4077
4346
|
* @private
|
|
4078
4347
|
*/
|
|
4079
|
-
this.helpTextTag = versioning.generateTag('auro-formkit-dropdown-helptext', helpTextVersion, AuroHelpText);
|
|
4348
|
+
this.helpTextTag = versioning.generateTag('auro-formkit-dropdown-helptext', helpTextVersion$1, AuroHelpText$1);
|
|
4080
4349
|
|
|
4081
4350
|
/**
|
|
4082
4351
|
* @private
|
|
@@ -4266,6 +4535,15 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
4266
4535
|
reflect: true
|
|
4267
4536
|
},
|
|
4268
4537
|
|
|
4538
|
+
/**
|
|
4539
|
+
* Defines if the trigger should size based on the parent element providing the border UI.
|
|
4540
|
+
* @private
|
|
4541
|
+
*/
|
|
4542
|
+
parentBorder: {
|
|
4543
|
+
type: Boolean,
|
|
4544
|
+
reflect: true
|
|
4545
|
+
},
|
|
4546
|
+
|
|
4269
4547
|
/**
|
|
4270
4548
|
* If declared, the popover and trigger will be set to the same width.
|
|
4271
4549
|
*/
|
|
@@ -4368,7 +4646,7 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
4368
4646
|
static get styles() {
|
|
4369
4647
|
return [
|
|
4370
4648
|
colorCss$1$2,
|
|
4371
|
-
tokensCss$1$
|
|
4649
|
+
tokensCss$1$2,
|
|
4372
4650
|
|
|
4373
4651
|
// default layout
|
|
4374
4652
|
classicColorCss,
|
|
@@ -4393,7 +4671,7 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
4393
4671
|
*
|
|
4394
4672
|
*/
|
|
4395
4673
|
static register(name = "auro-dropdown") {
|
|
4396
|
-
AuroLibraryRuntimeUtils$1.prototype.registerComponent(name, AuroDropdown);
|
|
4674
|
+
AuroLibraryRuntimeUtils$2$1.prototype.registerComponent(name, AuroDropdown);
|
|
4397
4675
|
}
|
|
4398
4676
|
|
|
4399
4677
|
/**
|
|
@@ -4656,14 +4934,13 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
4656
4934
|
* @returns {void}
|
|
4657
4935
|
*/
|
|
4658
4936
|
handleTriggerContentSlotChange(event) {
|
|
4659
|
-
|
|
4660
4937
|
this.floater.handleTriggerTabIndex();
|
|
4661
4938
|
|
|
4662
4939
|
// Get the trigger
|
|
4663
4940
|
const trigger = this.shadowRoot.querySelector('#trigger');
|
|
4664
4941
|
|
|
4665
4942
|
// Get the trigger slot
|
|
4666
|
-
const triggerSlot = this.shadowRoot.querySelector('.
|
|
4943
|
+
const triggerSlot = this.shadowRoot.querySelector('.triggerContentWrapper slot');
|
|
4667
4944
|
|
|
4668
4945
|
// If there's a trigger slot
|
|
4669
4946
|
if (triggerSlot) {
|
|
@@ -4726,11 +5003,9 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
4726
5003
|
*
|
|
4727
5004
|
* @private
|
|
4728
5005
|
* @method handleDefaultSlot
|
|
4729
|
-
* @param {Event} event - The event object representing the slot change.
|
|
4730
5006
|
* @fires Function#onSlotChange - Optional callback invoked when the slot content changes.
|
|
4731
5007
|
*/
|
|
4732
|
-
handleDefaultSlot(
|
|
4733
|
-
[...event.target.assignedNodes()].forEach((node) => this.bibContent.append(node));
|
|
5008
|
+
handleDefaultSlot() {
|
|
4734
5009
|
|
|
4735
5010
|
if (this.onSlotChange) {
|
|
4736
5011
|
this.onSlotChange();
|
|
@@ -4738,33 +5013,10 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
4738
5013
|
}
|
|
4739
5014
|
|
|
4740
5015
|
/**
|
|
5016
|
+
* Returns HTML for the common portion of the layouts.
|
|
4741
5017
|
* @private
|
|
4742
|
-
* @
|
|
4743
|
-
* @
|
|
4744
|
-
* @description Handles the slot change event for the label slot.
|
|
4745
|
-
*/
|
|
4746
|
-
handleLabelSlotChange (event) {
|
|
4747
|
-
|
|
4748
|
-
// Get the nodes from the event
|
|
4749
|
-
const nodes = event.target.assignedNodes();
|
|
4750
|
-
|
|
4751
|
-
// Guard clause for no nodes
|
|
4752
|
-
if (!nodes) {
|
|
4753
|
-
return;
|
|
4754
|
-
}
|
|
4755
|
-
|
|
4756
|
-
// Convert the nodes to a measurable array so we can get the length
|
|
4757
|
-
const nodesArr = Array.from(nodes);
|
|
4758
|
-
|
|
4759
|
-
// If the nodes array has a length, the dropdown is labeled
|
|
4760
|
-
this.labeled = nodesArr.length > 0;
|
|
4761
|
-
}
|
|
4762
|
-
|
|
4763
|
-
/**
|
|
4764
|
-
* Returns HTML for the common portion of the layouts.
|
|
4765
|
-
* @private
|
|
4766
|
-
* @param {Object} helpTextClasses - Classes to apply to the help text container.
|
|
4767
|
-
* @returns {html} - Returns HTML.
|
|
5018
|
+
* @param {Object} helpTextClasses - Classes to apply to the help text container.
|
|
5019
|
+
* @returns {html} - Returns HTML.
|
|
4768
5020
|
*/
|
|
4769
5021
|
renderBasicHtml(helpTextClasses) {
|
|
4770
5022
|
return u`
|
|
@@ -4774,24 +5026,20 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
4774
5026
|
class="${e(this.commonWrapperClasses)}" part="wrapper"
|
|
4775
5027
|
tabindex="${this.tabIndex}"
|
|
4776
5028
|
role="${o(this.triggerContentFocusable ? undefined : this.a11yRole)}"
|
|
4777
|
-
aria-expanded="${o(this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
|
|
4778
|
-
aria-controls="${o(this.triggerContentFocusable ? undefined : this.dropdownId)}"
|
|
5029
|
+
aria-expanded="${o(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
|
|
5030
|
+
aria-controls="${o(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.dropdownId)}"
|
|
4779
5031
|
aria-labelledby="${o(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
|
|
4780
5032
|
@focusin="${this.handleFocusin}"
|
|
4781
5033
|
@blur="${this.handleFocusOut}">
|
|
4782
|
-
<div class="triggerContentWrapper">
|
|
4783
|
-
<
|
|
4784
|
-
|
|
4785
|
-
|
|
4786
|
-
<div class="triggerContent">
|
|
4787
|
-
<slot
|
|
4788
|
-
name="trigger"
|
|
4789
|
-
@slotchange="${this.handleTriggerContentSlotChange}"></slot>
|
|
4790
|
-
</div>
|
|
5034
|
+
<div class="triggerContentWrapper" id="triggerLabel">
|
|
5035
|
+
<slot
|
|
5036
|
+
name="trigger"
|
|
5037
|
+
@slotchange="${this.handleTriggerContentSlotChange}"></slot>
|
|
4791
5038
|
</div>
|
|
4792
|
-
${this.chevron
|
|
5039
|
+
${this.chevron ? u`
|
|
4793
5040
|
<div
|
|
4794
5041
|
id="showStateIcon"
|
|
5042
|
+
class="chevron"
|
|
4795
5043
|
part="chevron">
|
|
4796
5044
|
<${this.iconTag}
|
|
4797
5045
|
category="interface"
|
|
@@ -4806,17 +5054,18 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
4806
5054
|
<div class="${e(helpTextClasses)}">
|
|
4807
5055
|
<slot name="helpText"></slot>
|
|
4808
5056
|
</div>
|
|
4809
|
-
<div class="slotContent">
|
|
4810
|
-
<slot @slotchange="${this.handleDefaultSlot}"></slot>
|
|
4811
|
-
</div>
|
|
4812
5057
|
<div id="bibSizer" part="size"></div>
|
|
4813
5058
|
<${this.dropdownBibTag}
|
|
4814
5059
|
id="bib"
|
|
5060
|
+
shape="${this.shape}"
|
|
4815
5061
|
?data-show="${this.isPopoverVisible}"
|
|
4816
5062
|
?isfullscreen="${this.isBibFullscreen}"
|
|
4817
5063
|
?common="${this.common}"
|
|
4818
5064
|
?rounded="${this.common || this.rounded}"
|
|
4819
5065
|
?inset="${this.common || this.inset}">
|
|
5066
|
+
<div class="slotContent">
|
|
5067
|
+
<slot @slotchange="${this.handleDefaultSlot}"></slot>
|
|
5068
|
+
</div>
|
|
4820
5069
|
</${this.dropdownBibTag}>
|
|
4821
5070
|
</div>
|
|
4822
5071
|
`;
|
|
@@ -4828,67 +5077,14 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
4828
5077
|
* @returns {html} - Returns HTML for the classic layout.
|
|
4829
5078
|
*/
|
|
4830
5079
|
renderLayoutClassic() {
|
|
5080
|
+
// TODO: check with Doug why this was never used?
|
|
4831
5081
|
const helpTextClasses = {
|
|
4832
|
-
'helpText': true
|
|
4833
|
-
'leftIndent': false,
|
|
4834
|
-
'rightIndent': false
|
|
5082
|
+
'helpText': true
|
|
4835
5083
|
};
|
|
4836
5084
|
|
|
4837
5085
|
return u`
|
|
4838
5086
|
${this.renderBasicHtml(helpTextClasses)}
|
|
4839
5087
|
`;
|
|
4840
|
-
// return html`
|
|
4841
|
-
// <div>
|
|
4842
|
-
// <div
|
|
4843
|
-
// id="trigger"
|
|
4844
|
-
// class="trigger"
|
|
4845
|
-
// part="trigger"
|
|
4846
|
-
// tabindex="${this.tabIndex}"
|
|
4847
|
-
// ?showBorder="${this.showTriggerBorders}"
|
|
4848
|
-
// role="${ifDefined(this.triggerContentFocusable ? undefined : this.a11yRole)}"
|
|
4849
|
-
// aria-expanded="${ifDefined(this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
|
|
4850
|
-
// aria-controls="${ifDefined(this.triggerContentFocusable ? undefined : this.dropdownId)}"
|
|
4851
|
-
// aria-labelledby="${ifDefined(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
|
|
4852
|
-
// >
|
|
4853
|
-
// <div class="triggerContentWrapper">
|
|
4854
|
-
// <label class="label" id="triggerLabel" hasTrigger=${this.hasTriggerContent}>
|
|
4855
|
-
// <slot name="label" @slotchange="${this.handleLabelSlotChange}"></slot>
|
|
4856
|
-
// </label>
|
|
4857
|
-
// <div class="triggerContent">
|
|
4858
|
-
// <slot
|
|
4859
|
-
// name="trigger"
|
|
4860
|
-
// @slotchange="${this.handleTriggerContentSlotChange}"></slot>
|
|
4861
|
-
// </div>
|
|
4862
|
-
// </div>
|
|
4863
|
-
// ${this.chevron || this.common ? html`
|
|
4864
|
-
// <div
|
|
4865
|
-
// id="showStateIcon"
|
|
4866
|
-
// part="chevron">
|
|
4867
|
-
// <${this.iconTag}
|
|
4868
|
-
// category="interface"
|
|
4869
|
-
// name="chevron-down"
|
|
4870
|
-
// ?onDark="${this.onDark}"
|
|
4871
|
-
// variant="${this.disabled ? 'disabled' : 'muted'}">
|
|
4872
|
-
// >
|
|
4873
|
-
// </${this.iconTag}>
|
|
4874
|
-
// </div>
|
|
4875
|
-
// ` : undefined }
|
|
4876
|
-
// </div>
|
|
4877
|
-
// <div class="slotContent">
|
|
4878
|
-
// <slot @slotchange="${this.handleDefaultSlot}"></slot>
|
|
4879
|
-
// </div>
|
|
4880
|
-
// <div id="bibSizer" part="size"></div>
|
|
4881
|
-
// <${this.dropdownBibTag}
|
|
4882
|
-
// id="bib"
|
|
4883
|
-
// ?data-show="${this.isPopoverVisible}"
|
|
4884
|
-
// ?isfullscreen="${this.isBibFullscreen}"
|
|
4885
|
-
// ?common="${this.common}"
|
|
4886
|
-
// ?rounded="${this.common || this.rounded}"
|
|
4887
|
-
// ?inset="${this.common || this.inset}"
|
|
4888
|
-
// >
|
|
4889
|
-
// </${this.dropdownBibTag}>
|
|
4890
|
-
// </div>
|
|
4891
|
-
// `;
|
|
4892
5088
|
}
|
|
4893
5089
|
|
|
4894
5090
|
/**
|
|
@@ -4955,9 +5151,9 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
4955
5151
|
|
|
4956
5152
|
var dropdownVersion = '3.0.0';
|
|
4957
5153
|
|
|
4958
|
-
var colorCss$
|
|
5154
|
+
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)}`;
|
|
4959
5155
|
|
|
4960
|
-
var styleCss$
|
|
5156
|
+
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)}`;
|
|
4961
5157
|
|
|
4962
5158
|
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)}`;
|
|
4963
5159
|
|
|
@@ -4968,7 +5164,7 @@ var tokenCss = i$5`:host{--ds-auro-dropdownbib-header-boxshadow-color: var(--ds-
|
|
|
4968
5164
|
|
|
4969
5165
|
/* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
|
|
4970
5166
|
|
|
4971
|
-
class AuroLibraryRuntimeUtils {
|
|
5167
|
+
let AuroLibraryRuntimeUtils$3 = class AuroLibraryRuntimeUtils {
|
|
4972
5168
|
|
|
4973
5169
|
/* eslint-disable jsdoc/require-param */
|
|
4974
5170
|
|
|
@@ -5029,7 +5225,7 @@ class AuroLibraryRuntimeUtils {
|
|
|
5029
5225
|
|
|
5030
5226
|
return elemTag === tag || elem.hasAttribute(tag);
|
|
5031
5227
|
}
|
|
5032
|
-
}
|
|
5228
|
+
};
|
|
5033
5229
|
|
|
5034
5230
|
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
5035
5231
|
// See LICENSE in the project root for license information.
|
|
@@ -5071,251 +5267,1365 @@ class AuroDependencyVersioning {
|
|
|
5071
5267
|
}
|
|
5072
5268
|
}
|
|
5073
5269
|
|
|
5074
|
-
|
|
5075
|
-
|
|
5076
|
-
|
|
5270
|
+
/**
|
|
5271
|
+
* Private module-level WeakMap to hold MutationObservers for each host element.
|
|
5272
|
+
*/
|
|
5273
|
+
const _observers = new WeakMap();
|
|
5077
5274
|
|
|
5078
5275
|
/**
|
|
5079
|
-
*
|
|
5080
|
-
*
|
|
5081
|
-
*
|
|
5276
|
+
* Private module-level WeakMap to hold attribute matchers and targets for each host element.
|
|
5277
|
+
* Structure: {
|
|
5278
|
+
* host: {
|
|
5279
|
+
* matchers: Set<Function>,
|
|
5280
|
+
* targets: Map<HTMLElement, Map<Function, {removeOriginal: boolean, currentAttributes: Map<string, string>}>>
|
|
5281
|
+
* }
|
|
5282
|
+
* }
|
|
5082
5283
|
*/
|
|
5284
|
+
const _transportConfig = new WeakMap();
|
|
5083
5285
|
|
|
5084
|
-
|
|
5286
|
+
/**
|
|
5287
|
+
* Transfers all matching attributes from a host element to a target element and observes for future changes.
|
|
5288
|
+
*
|
|
5289
|
+
* @param {Object} params - The parameters for the function.
|
|
5290
|
+
* @param {HTMLElement} params.host - The host element from which attributes will be transported.
|
|
5291
|
+
* @param {HTMLElement} params.target - The target element to which attributes will be transported.
|
|
5292
|
+
* @param {boolean} [params.removeOriginal=true] - Whether to remove the attributes from the host element.
|
|
5293
|
+
* @param {boolean} [params.observe=true] - Whether to attach a MutationObserver to the host element.
|
|
5294
|
+
* @returns {Function} A function to detach the observer when no longer needed.
|
|
5295
|
+
* @throws {TypeError} If the host or target parameters are not instances of HTMLElement.
|
|
5296
|
+
*/
|
|
5297
|
+
const transportAttributes = ({ host, target, match, removeOriginal = true }) => {
|
|
5298
|
+
// Guard Clause: Ensure host is valid HTMLElement instance
|
|
5299
|
+
if (typeof host !== 'object' || !(host instanceof HTMLElement)) {
|
|
5300
|
+
throw new TypeError('a11yUtilities.js | transportAttributes | The "host" parameter must be an instance of HTMLElement.');
|
|
5301
|
+
}
|
|
5085
5302
|
|
|
5086
|
-
//
|
|
5087
|
-
|
|
5088
|
-
|
|
5089
|
-
hidden: { type: Boolean,
|
|
5090
|
-
reflect: true },
|
|
5091
|
-
hiddenVisually: { type: Boolean,
|
|
5092
|
-
reflect: true },
|
|
5093
|
-
hiddenAudible: { type: Boolean,
|
|
5094
|
-
reflect: true },
|
|
5095
|
-
};
|
|
5303
|
+
// Guard Clause: Ensure target is valid HTMLElement instance
|
|
5304
|
+
if (typeof target !== 'object' || !(target instanceof HTMLElement)) {
|
|
5305
|
+
throw new TypeError('a11yUtilities.js | transportAttributes | The "target" parameter must be an instance of HTMLElement.');
|
|
5096
5306
|
}
|
|
5097
5307
|
|
|
5098
|
-
|
|
5099
|
-
|
|
5100
|
-
|
|
5101
|
-
|
|
5102
|
-
if (value) {
|
|
5103
|
-
return 'true'
|
|
5104
|
-
}
|
|
5308
|
+
// Guard Clause: Ensure match is a function
|
|
5309
|
+
if (typeof match !== 'function') {
|
|
5310
|
+
throw new TypeError('a11yUtilities.js | transportAttributes | The "match" parameter must be a function.');
|
|
5311
|
+
}
|
|
5105
5312
|
|
|
5106
|
-
|
|
5313
|
+
// Guard Clause: Ensure removeOriginal is a boolean
|
|
5314
|
+
if (typeof removeOriginal !== 'boolean') {
|
|
5315
|
+
throw new TypeError('a11yUtilities.js | transportAttributes | The "removeOriginal" parameter must be a boolean.');
|
|
5107
5316
|
}
|
|
5317
|
+
|
|
5318
|
+
// Register this transport and get cleanup function
|
|
5319
|
+
return _registerTransport({
|
|
5320
|
+
host,
|
|
5321
|
+
target,
|
|
5322
|
+
matcher: match,
|
|
5323
|
+
removeOriginal
|
|
5324
|
+
});
|
|
5108
5325
|
};
|
|
5109
5326
|
|
|
5110
|
-
var error$1 = {"svg":"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" aria-labelledby=\"error__desc\" class=\"ico_squareLarge\" data-deprecated=\"true\" role=\"img\" style=\"min-width:var(--auro-size-lg, var(--ds-size-300, 1.5rem));height:var(--auro-size-lg, var(--ds-size-300, 1.5rem));fill:currentColor\" viewBox=\"0 0 24 24\" part=\"svg\"><title/><desc id=\"error__desc\">Error alert indicator.</desc><path d=\"m13.047 5.599 6.786 11.586A1.207 1.207 0 0 1 18.786 19H5.214a1.207 1.207 0 0 1-1.047-1.815l6.786-11.586a1.214 1.214 0 0 1 2.094 0m-1.165.87a.23.23 0 0 0-.085.085L5.419 17.442a.232.232 0 0 0 .203.35h12.756a.234.234 0 0 0 .203-.35L12.203 6.554a.236.236 0 0 0-.321-.084M12 15.5a.75.75 0 1 1 0 1.5.75.75 0 0 1 0-1.5m-.024-6.22c.325 0 .589.261.589.583v4.434a.586.586 0 0 1-.589.583.586.586 0 0 1-.588-.583V9.863c0-.322.264-.583.588-.583\"/></svg>"};
|
|
5111
|
-
|
|
5112
|
-
/* eslint-disable no-underscore-dangle, jsdoc/no-undefined-types, jsdoc/require-param-description */
|
|
5113
|
-
|
|
5114
|
-
const _fetchMap$1 = new Map();
|
|
5115
|
-
|
|
5116
5327
|
/**
|
|
5117
|
-
*
|
|
5118
|
-
*
|
|
5119
|
-
* @
|
|
5120
|
-
* @param {
|
|
5121
|
-
* @
|
|
5328
|
+
* Registers a matcher and target for a host element and attaches an observer if needed.
|
|
5329
|
+
*
|
|
5330
|
+
* @param {Object} params - The parameters object.
|
|
5331
|
+
* @param {HTMLElement} params.host - The host element to observe.
|
|
5332
|
+
* @param {HTMLElement} params.target - The target element to receive attributes.
|
|
5333
|
+
* @param {Function} params.matcher - Function that determines which attributes to transport.
|
|
5334
|
+
* @param {boolean} [params.removeOriginal=true] - Whether to remove original attributes.
|
|
5335
|
+
* @param {boolean} [params.observe=true] - Whether to observe for attribute changes.
|
|
5336
|
+
* @returns {Function} Function to detach the specific matcher and target pairing.
|
|
5337
|
+
* @private
|
|
5122
5338
|
*/
|
|
5339
|
+
const _registerTransport = ({ host, target, matcher, removeOriginal = true }) => {
|
|
5340
|
+
// Initialize config for this host if it doesn't exist
|
|
5341
|
+
if (!_transportConfig.has(host)) {
|
|
5342
|
+
_transportConfig.set(host, {
|
|
5343
|
+
matchers: new Set(),
|
|
5344
|
+
targets: new Map()
|
|
5345
|
+
});
|
|
5346
|
+
}
|
|
5123
5347
|
|
|
5124
|
-
|
|
5125
|
-
|
|
5126
|
-
|
|
5127
|
-
|
|
5128
|
-
|
|
5129
|
-
|
|
5130
|
-
|
|
5131
|
-
|
|
5132
|
-
|
|
5133
|
-
|
|
5134
|
-
|
|
5135
|
-
|
|
5348
|
+
const config = _transportConfig.get(host);
|
|
5349
|
+
|
|
5350
|
+
// Add the matcher to the set of matchers for this host
|
|
5351
|
+
config.matchers.add(matcher);
|
|
5352
|
+
|
|
5353
|
+
// Initialize target entry if it doesn't exist
|
|
5354
|
+
if (!config.targets.has(target)) {
|
|
5355
|
+
config.targets.set(target, new Map());
|
|
5356
|
+
}
|
|
5357
|
+
|
|
5358
|
+
// Store the matcher with its removeOriginal setting for this target
|
|
5359
|
+
config.targets.get(target).set(matcher, {
|
|
5360
|
+
removeOriginal,
|
|
5361
|
+
currentAttributes: new Map()
|
|
5362
|
+
});
|
|
5363
|
+
|
|
5364
|
+
// Perform initial attribute transport
|
|
5365
|
+
_transportAttributes({ host, target, matcher, removeOriginal });
|
|
5366
|
+
|
|
5367
|
+
// Attach observer
|
|
5368
|
+
_attachObserver(host);
|
|
5369
|
+
|
|
5370
|
+
// Return cleanup function and utility functions
|
|
5371
|
+
return {
|
|
5372
|
+
cleanup: () => _cleanupTransport(host, target, matcher),
|
|
5373
|
+
getObservedAttributes: () => _getObservedAttributes(host, target, matcher),
|
|
5374
|
+
getObservedAttribute: (attr) => _getObservedAttribute(host, target, matcher, attr),
|
|
5136
5375
|
}
|
|
5137
|
-
return _fetchMap$1.get(uri);
|
|
5138
5376
|
};
|
|
5139
5377
|
|
|
5140
|
-
var styleCss$1$1 = 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}`;
|
|
5141
|
-
|
|
5142
|
-
// Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
5143
|
-
// See LICENSE in the project root for license information.
|
|
5144
|
-
|
|
5145
|
-
|
|
5146
|
-
// See https://git.io/JJ6SJ for "How to document your components using JSDoc"
|
|
5147
5378
|
/**
|
|
5148
|
-
*
|
|
5379
|
+
* Cleans up resources associated with a specific matcher and target for a host element.
|
|
5380
|
+
*
|
|
5381
|
+
* @param {HTMLElement} host - The host element
|
|
5382
|
+
* @param {HTMLElement} target - The target element
|
|
5383
|
+
* @param {Function} matcher - The matcher function
|
|
5384
|
+
* @private
|
|
5149
5385
|
*/
|
|
5150
|
-
|
|
5151
|
-
|
|
5152
|
-
|
|
5153
|
-
|
|
5154
|
-
|
|
5155
|
-
|
|
5386
|
+
const _cleanupTransport = (host, target, matcher) => {
|
|
5387
|
+
const config = _transportConfig.get(host);
|
|
5388
|
+
if (!config) return;
|
|
5389
|
+
|
|
5390
|
+
// Remove this matcher from this target
|
|
5391
|
+
const targetMatchers = config.targets.get(target);
|
|
5392
|
+
if (targetMatchers) {
|
|
5393
|
+
targetMatchers.delete(matcher);
|
|
5394
|
+
|
|
5395
|
+
// If this target has no more matchers, remove it
|
|
5396
|
+
if (targetMatchers.size === 0) {
|
|
5397
|
+
config.targets.delete(target);
|
|
5398
|
+
}
|
|
5399
|
+
}
|
|
5400
|
+
|
|
5401
|
+
// Check if this matcher is still used by any target
|
|
5402
|
+
let matcherStillUsed = false;
|
|
5403
|
+
for (const matcherMap of config.targets.values()) {
|
|
5404
|
+
if (matcherMap.has(matcher)) {
|
|
5405
|
+
matcherStillUsed = true;
|
|
5406
|
+
break;
|
|
5407
|
+
}
|
|
5156
5408
|
}
|
|
5157
|
-
|
|
5158
|
-
//
|
|
5159
|
-
|
|
5160
|
-
|
|
5161
|
-
...super.properties,
|
|
5162
|
-
|
|
5163
|
-
/**
|
|
5164
|
-
* Set value for on-dark version of auro-icon.
|
|
5165
|
-
*/
|
|
5166
|
-
onDark: {
|
|
5167
|
-
type: Boolean,
|
|
5168
|
-
reflect: true
|
|
5169
|
-
},
|
|
5170
|
-
|
|
5171
|
-
/**
|
|
5172
|
-
* @private
|
|
5173
|
-
*/
|
|
5174
|
-
svg: {
|
|
5175
|
-
attribute: false,
|
|
5176
|
-
reflect: true
|
|
5177
|
-
}
|
|
5178
|
-
};
|
|
5409
|
+
|
|
5410
|
+
// If not used anymore, remove from matchers set
|
|
5411
|
+
if (!matcherStillUsed) {
|
|
5412
|
+
config.matchers.delete(matcher);
|
|
5179
5413
|
}
|
|
5180
|
-
|
|
5181
|
-
|
|
5182
|
-
|
|
5183
|
-
|
|
5184
|
-
`;
|
|
5414
|
+
|
|
5415
|
+
// If no more targets or matchers, detach observer
|
|
5416
|
+
if (config.targets.size === 0 || config.matchers.size === 0) {
|
|
5417
|
+
_detachObserver(host);
|
|
5185
5418
|
}
|
|
5419
|
+
};
|
|
5186
5420
|
|
|
5187
|
-
|
|
5188
|
-
|
|
5189
|
-
|
|
5190
|
-
|
|
5191
|
-
|
|
5192
|
-
|
|
5193
|
-
|
|
5194
|
-
|
|
5195
|
-
|
|
5196
|
-
|
|
5197
|
-
|
|
5198
|
-
|
|
5199
|
-
|
|
5200
|
-
|
|
5421
|
+
/**
|
|
5422
|
+
* Generic function to transport attributes from a host element to a target element.
|
|
5423
|
+
*
|
|
5424
|
+
* @param {Object} params - The parameters object.
|
|
5425
|
+
* @param {HTMLElement} params.host - The host element from which to transport attributes.
|
|
5426
|
+
* @param {HTMLElement} params.target - The target element to which attributes will be transported.
|
|
5427
|
+
* @param {Function} params.matcher - Function that takes an attribute name and returns true if it should be transported.
|
|
5428
|
+
* @param {boolean} [params.removeOriginal=true] - Whether to remove original attributes from host.
|
|
5429
|
+
* @returns {void}
|
|
5430
|
+
* @private
|
|
5431
|
+
*/
|
|
5432
|
+
const _transportAttributes = ({ host, target, matcher, removeOriginal = true }) => {
|
|
5433
|
+
// Get a list of all matching attributes on the host element and their values
|
|
5434
|
+
const matchingAttributes = host.getAttributeNames()
|
|
5435
|
+
.filter(attr => matcher(attr))
|
|
5436
|
+
.reduce((acc, attr) => {
|
|
5437
|
+
acc[attr] = host.getAttribute(attr);
|
|
5438
|
+
return acc;
|
|
5439
|
+
}, {});
|
|
5440
|
+
|
|
5441
|
+
// Move matching attributes to the target element, removing them from the host if removeOriginal is true
|
|
5442
|
+
Object.entries(matchingAttributes).forEach(([key, value]) => {
|
|
5443
|
+
_setObservedAttribute(host, target, matcher, key, value);
|
|
5444
|
+
target.setAttribute(key, value);
|
|
5445
|
+
if (removeOriginal) {
|
|
5446
|
+
host.removeAttribute(key);
|
|
5201
5447
|
}
|
|
5448
|
+
});
|
|
5449
|
+
};
|
|
5202
5450
|
|
|
5203
|
-
|
|
5451
|
+
/**
|
|
5452
|
+
* Attaches a MutationObserver to the host element to monitor attribute changes.
|
|
5453
|
+
*
|
|
5454
|
+
* @param {HTMLElement} host - The element to observe for attribute changes.
|
|
5455
|
+
* @returns {MutationObserver} The observer instance.
|
|
5456
|
+
* @private
|
|
5457
|
+
*/
|
|
5458
|
+
const _attachObserver = (host) => {
|
|
5459
|
+
// If an observer for this host already exists, return it
|
|
5460
|
+
if (_observers.has(host)) {
|
|
5461
|
+
return _observers.get(host);
|
|
5462
|
+
}
|
|
5463
|
+
|
|
5464
|
+
// Create a new MutationObserver
|
|
5465
|
+
const observer = new MutationObserver((mutations) => {
|
|
5466
|
+
const config = _transportConfig.get(host);
|
|
5467
|
+
if (!config) return;
|
|
5468
|
+
|
|
5469
|
+
// For each mutation affecting attributes
|
|
5470
|
+
mutations
|
|
5471
|
+
.filter(mutation => mutation.type === 'attributes')
|
|
5472
|
+
.forEach(mutation => {
|
|
5473
|
+
const attributeName = mutation.attributeName;
|
|
5474
|
+
|
|
5475
|
+
// Find matchers that care about this attribute
|
|
5476
|
+
for (const matcher of config.matchers) {
|
|
5477
|
+
if (matcher(attributeName)) {
|
|
5478
|
+
// For each target that uses this matcher
|
|
5479
|
+
for (const [target, matcherConfigs] of config.targets.entries()) {
|
|
5480
|
+
if (matcherConfigs.has(matcher)) {
|
|
5481
|
+
const { removeOriginal } = matcherConfigs.get(matcher);
|
|
5482
|
+
_transportAttributes({
|
|
5483
|
+
host,
|
|
5484
|
+
target,
|
|
5485
|
+
matcher,
|
|
5486
|
+
removeOriginal
|
|
5487
|
+
});
|
|
5488
|
+
}
|
|
5489
|
+
}
|
|
5490
|
+
}
|
|
5491
|
+
}
|
|
5492
|
+
});
|
|
5493
|
+
});
|
|
5204
5494
|
|
|
5205
|
-
|
|
5206
|
-
}
|
|
5495
|
+
// Start observing attribute changes
|
|
5496
|
+
observer.observe(host, { attributes: true });
|
|
5497
|
+
|
|
5498
|
+
// Store the observer
|
|
5499
|
+
_observers.set(host, observer);
|
|
5500
|
+
|
|
5501
|
+
return observer;
|
|
5502
|
+
};
|
|
5207
5503
|
|
|
5208
|
-
|
|
5209
|
-
|
|
5210
|
-
|
|
5211
|
-
|
|
5504
|
+
/**
|
|
5505
|
+
* Detaches and cleans up the MutationObserver for a given host element.
|
|
5506
|
+
*
|
|
5507
|
+
* @param {HTMLElement} host - The element whose observer should be detached.
|
|
5508
|
+
* @private
|
|
5509
|
+
*/
|
|
5510
|
+
const _detachObserver = (host) => {
|
|
5511
|
+
if (_observers.has(host)) {
|
|
5512
|
+
const observer = _observers.get(host);
|
|
5513
|
+
observer.disconnect();
|
|
5514
|
+
_observers.delete(host);
|
|
5515
|
+
}
|
|
5516
|
+
|
|
5517
|
+
// Clean up the transport config as well
|
|
5518
|
+
if (_transportConfig.has(host)) {
|
|
5519
|
+
_transportConfig.delete(host);
|
|
5520
|
+
}
|
|
5521
|
+
};
|
|
5212
5522
|
|
|
5213
|
-
|
|
5214
|
-
|
|
5215
|
-
|
|
5216
|
-
|
|
5523
|
+
/**
|
|
5524
|
+
* Gets the matcher configuration for a specific host, target, and matcher
|
|
5525
|
+
* @param {HTMLElement} host - The host element
|
|
5526
|
+
* @param {HTMLElement} target - The target element
|
|
5527
|
+
* @param {Function} matcher - The matcher function
|
|
5528
|
+
* @returns {Object|undefined} The matcher configuration if found
|
|
5529
|
+
* @private
|
|
5530
|
+
*/
|
|
5531
|
+
const _getMatcherConfig = (host, target, matcher) => {
|
|
5532
|
+
const config = _transportConfig.get(host);
|
|
5533
|
+
if (!config) return undefined;
|
|
5534
|
+
|
|
5535
|
+
const targetMatchers = config.targets.get(target);
|
|
5536
|
+
if (!targetMatchers) return undefined;
|
|
5537
|
+
|
|
5538
|
+
return targetMatchers.get(matcher);
|
|
5539
|
+
};
|
|
5217
5540
|
|
|
5218
|
-
|
|
5219
|
-
|
|
5220
|
-
|
|
5541
|
+
/**
|
|
5542
|
+
* Sets an observed attribute value
|
|
5543
|
+
* @param {HTMLElement} host - The host element
|
|
5544
|
+
* @param {HTMLElement} target - The target element
|
|
5545
|
+
* @param {Function} matcher - The matcher function
|
|
5546
|
+
* @param {string} key - The attribute name
|
|
5547
|
+
* @param {string} value - The attribute value
|
|
5548
|
+
* @private
|
|
5549
|
+
*/
|
|
5550
|
+
const _setObservedAttribute = (host, target, matcher, key, value) => {
|
|
5551
|
+
const matcherConfig = _getMatcherConfig(host, target, matcher);
|
|
5552
|
+
if (matcherConfig) {
|
|
5553
|
+
matcherConfig.currentAttributes.set(key, value);
|
|
5221
5554
|
}
|
|
5222
5555
|
};
|
|
5223
5556
|
|
|
5224
|
-
|
|
5225
|
-
|
|
5226
|
-
|
|
5557
|
+
const _getObservedAttribute = (host, target, matcher, attr) => {
|
|
5558
|
+
const matcherConfig = _getMatcherConfig(host, target, matcher);
|
|
5559
|
+
if (matcherConfig) return matcherConfig.currentAttributes.get(attr);
|
|
5560
|
+
return undefined;
|
|
5561
|
+
};
|
|
5227
5562
|
|
|
5228
|
-
|
|
5229
|
-
|
|
5563
|
+
const _getObservedAttributes = (host, target, matcher) => {
|
|
5564
|
+
const matcherConfig = _getMatcherConfig(host, target, matcher);
|
|
5565
|
+
if (matcherConfig) return Array.from(matcherConfig.currentAttributes.entries());
|
|
5566
|
+
return [];
|
|
5567
|
+
};
|
|
5230
5568
|
|
|
5569
|
+
const _matchers = {
|
|
5570
|
+
'aria-': attr => attr.startsWith('aria-'),
|
|
5571
|
+
'role': attr => attr.match(/^role$/)
|
|
5572
|
+
};
|
|
5231
5573
|
|
|
5232
|
-
|
|
5233
|
-
|
|
5234
|
-
|
|
5574
|
+
const transportAllA11yAttributes = ({ host, target, removeOriginal = true }) => {
|
|
5575
|
+
return transportAttributes({
|
|
5576
|
+
host,
|
|
5577
|
+
target,
|
|
5578
|
+
match: attr => {
|
|
5579
|
+
for (const key in _matchers) {
|
|
5580
|
+
if (_matchers[key](attr)) return true;
|
|
5581
|
+
}
|
|
5582
|
+
return false;
|
|
5583
|
+
},
|
|
5584
|
+
removeOriginal
|
|
5585
|
+
});
|
|
5586
|
+
};
|
|
5235
5587
|
|
|
5236
|
-
|
|
5237
|
-
this.privateDefaults();
|
|
5238
|
-
}
|
|
5588
|
+
let AuroElement$1 = class AuroElement extends i$2 {
|
|
5239
5589
|
|
|
5240
5590
|
/**
|
|
5241
|
-
*
|
|
5591
|
+
* @type {Object} return object from transportAttributes via a11yUtilities
|
|
5592
|
+
* @property {Function} cleanup - Function to clean up the attribute watcher.
|
|
5593
|
+
* @property {Function} getCurrentAttributes - Function to get the current attributes being watched and their values.
|
|
5594
|
+
* @property {Function} getObservedAttribute - Function to get the value of a specific observed attribute by name.
|
|
5242
5595
|
* @private
|
|
5243
|
-
* @returns {void}
|
|
5244
5596
|
*/
|
|
5245
|
-
|
|
5246
|
-
this.uri = 'https://cdn.jsdelivr.net/npm/@alaskaairux/icons@latest/dist';
|
|
5247
|
-
this.runtimeUtils = new AuroLibraryRuntimeUtils();
|
|
5248
|
-
}
|
|
5597
|
+
attributeWatcher;
|
|
5249
5598
|
|
|
5250
|
-
// function to define props used within the scope of this component
|
|
5251
5599
|
static get properties() {
|
|
5252
5600
|
return {
|
|
5253
|
-
...super.properties,
|
|
5254
5601
|
|
|
5255
5602
|
/**
|
|
5256
|
-
*
|
|
5603
|
+
* Defines the layout of an element.
|
|
5604
|
+
* @default {'default'}
|
|
5257
5605
|
*/
|
|
5258
|
-
|
|
5606
|
+
layout: {
|
|
5259
5607
|
type: String,
|
|
5608
|
+
attribute: "layout",
|
|
5260
5609
|
reflect: true
|
|
5261
5610
|
},
|
|
5262
|
-
|
|
5611
|
+
|
|
5263
5612
|
/**
|
|
5264
|
-
*
|
|
5613
|
+
* Defines the shape of an element.
|
|
5614
|
+
* @property {'default', 'rounded', 'pill', 'circle'}
|
|
5615
|
+
* @default {'default'}
|
|
5265
5616
|
*/
|
|
5266
|
-
|
|
5617
|
+
shape: {
|
|
5267
5618
|
type: String,
|
|
5619
|
+
attribute: "shape",
|
|
5268
5620
|
reflect: true
|
|
5269
5621
|
},
|
|
5270
5622
|
|
|
5271
5623
|
/**
|
|
5272
|
-
*
|
|
5273
|
-
|
|
5274
|
-
|
|
5275
|
-
type: Boolean
|
|
5276
|
-
},
|
|
5277
|
-
|
|
5278
|
-
/**
|
|
5279
|
-
* When true, auro-icon will render a custom SVG inside the default slot.
|
|
5280
|
-
*/
|
|
5281
|
-
customSvg: {
|
|
5282
|
-
type: Boolean
|
|
5283
|
-
},
|
|
5284
|
-
|
|
5285
|
-
/**
|
|
5286
|
-
* Exposes content in slot as icon label.
|
|
5624
|
+
* Defines the size of an element.
|
|
5625
|
+
* @property {'xs', 'sm', 'md', 'lg', 'xl'}
|
|
5626
|
+
* @default {'md'}
|
|
5287
5627
|
*/
|
|
5288
|
-
|
|
5289
|
-
type:
|
|
5628
|
+
size: {
|
|
5629
|
+
type: String,
|
|
5630
|
+
attribute: "size",
|
|
5290
5631
|
reflect: true
|
|
5291
5632
|
},
|
|
5292
5633
|
|
|
5293
|
-
/**
|
|
5294
|
-
*
|
|
5634
|
+
/**
|
|
5635
|
+
* This Boolean attribute lets you specify that the element should be rendered in dark mode.
|
|
5636
|
+
* @default {false}
|
|
5295
5637
|
*/
|
|
5296
|
-
|
|
5297
|
-
type:
|
|
5638
|
+
onDark: {
|
|
5639
|
+
type: Boolean,
|
|
5640
|
+
attribute: "ondark",
|
|
5298
5641
|
reflect: true
|
|
5299
5642
|
},
|
|
5300
5643
|
|
|
5301
5644
|
/**
|
|
5302
|
-
*
|
|
5645
|
+
* A reference to the wrapper element in the shadow DOM.
|
|
5646
|
+
* This is used to apply layout and shape classes dynamically.
|
|
5647
|
+
* @type {HTMLElement|null}
|
|
5648
|
+
* @default {null}
|
|
5649
|
+
* @private
|
|
5303
5650
|
*/
|
|
5304
|
-
|
|
5305
|
-
|
|
5306
|
-
reflect:
|
|
5651
|
+
wrapper: {
|
|
5652
|
+
attribute: false,
|
|
5653
|
+
reflect: false
|
|
5307
5654
|
}
|
|
5308
5655
|
};
|
|
5309
5656
|
}
|
|
5310
5657
|
|
|
5311
|
-
|
|
5312
|
-
|
|
5313
|
-
|
|
5314
|
-
|
|
5315
|
-
|
|
5316
|
-
|
|
5317
|
-
|
|
5318
|
-
|
|
5658
|
+
|
|
5659
|
+
|
|
5660
|
+
resetShapeClasses() {
|
|
5661
|
+
if (this.shape && this.size) {
|
|
5662
|
+
|
|
5663
|
+
if (this.wrapper) {
|
|
5664
|
+
this.wrapper.classList.forEach((className) => {
|
|
5665
|
+
if (className.startsWith('shape-')) {
|
|
5666
|
+
this.wrapper.classList.remove(className);
|
|
5667
|
+
}
|
|
5668
|
+
});
|
|
5669
|
+
|
|
5670
|
+
this.wrapper.classList.add(`shape-${this.shape.toLowerCase()}-${this.size.toLowerCase()}`);
|
|
5671
|
+
}
|
|
5672
|
+
}
|
|
5673
|
+
}
|
|
5674
|
+
|
|
5675
|
+
resetLayoutClasses() {
|
|
5676
|
+
if (this.layout) {
|
|
5677
|
+
if (this.wrapper) {
|
|
5678
|
+
this.wrapper.classList.forEach((className) => {
|
|
5679
|
+
if (className.startsWith('layout-')) {
|
|
5680
|
+
this.wrapper.classList.remove(className);
|
|
5681
|
+
}
|
|
5682
|
+
});
|
|
5683
|
+
|
|
5684
|
+
this.wrapper.classList.add(`layout-${this.layout.toLowerCase()}`);
|
|
5685
|
+
}
|
|
5686
|
+
}
|
|
5687
|
+
}
|
|
5688
|
+
|
|
5689
|
+
updateComponentArchitecture() {
|
|
5690
|
+
this.resetLayoutClasses();
|
|
5691
|
+
this.resetShapeClasses();
|
|
5692
|
+
}
|
|
5693
|
+
|
|
5694
|
+
updated(changedProperties) {
|
|
5695
|
+
if (changedProperties.has('layout') || changedProperties.has('shape') || changedProperties.has('size')) {
|
|
5696
|
+
this.updateComponentArchitecture();
|
|
5697
|
+
}
|
|
5698
|
+
}
|
|
5699
|
+
|
|
5700
|
+
firstUpdated() {
|
|
5701
|
+
super.firstUpdated();
|
|
5702
|
+
|
|
5703
|
+
// Set a reference to the wrapper element in the shadow DOM
|
|
5704
|
+
this.wrapper = this.shadowRoot.querySelector('.wrapper');
|
|
5705
|
+
|
|
5706
|
+
// Initialize the transportation of ARIA attributes to the target element and get the disconnect function for cleanup
|
|
5707
|
+
this.attributeWatcher = transportAllA11yAttributes({ host: this, target: this.shadowRoot.querySelector('.wrapper') });
|
|
5708
|
+
}
|
|
5709
|
+
|
|
5710
|
+
disconnectedCallback() {
|
|
5711
|
+
super.disconnectedCallback();
|
|
5712
|
+
|
|
5713
|
+
// Cleanup the ARIA observer if it exists
|
|
5714
|
+
if (this.attributeWatcher) {
|
|
5715
|
+
this.attributeWatcher.cleanup();
|
|
5716
|
+
this.attributeWatcher = null;
|
|
5717
|
+
}
|
|
5718
|
+
}
|
|
5719
|
+
|
|
5720
|
+
// Try to render the defined `this.layout` layout. If that fails, fall back to the default layout.
|
|
5721
|
+
// This will catch if an invalid layout value is passed in and render the default layout if so.
|
|
5722
|
+
render() {
|
|
5723
|
+
try {
|
|
5724
|
+
return this.renderLayout();
|
|
5725
|
+
} catch (error) {
|
|
5726
|
+
// failed to get the defined layout
|
|
5727
|
+
console.error('Failed to get the defined layout - using the default layout', error); // eslint-disable-line no-console
|
|
5728
|
+
|
|
5729
|
+
// fallback to the default layout
|
|
5730
|
+
return this.getLayout('default');
|
|
5731
|
+
}
|
|
5732
|
+
}
|
|
5733
|
+
};
|
|
5734
|
+
|
|
5735
|
+
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}:host([fluid]) .auro-button,:host([fluid=true]) .auro-button{min-width:auto;width:100%}:host([variant=flat]){display:inline-block}::slotted(svg){vertical-align:middle}slot{pointer-events:none}.auro-button{position:relative;padding:0 var(--ds-size-300, 1.5rem);cursor:pointer;border-width:1px;border-style:solid;border-radius:var(--ds-border-radius, 0.375rem);overflow:hidden;text-overflow:ellipsis;user-select:none;white-space:nowrap;min-height:var(--ds-size-600, 3rem);max-height:var(--ds-size-600, 3rem);display:inline-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:active{transform:scale(0.95)}.auro-button:focus-visible,.auro-button:focus{outline:none;outline-style:solid;outline-width:var(--ds-size-50, 0.25rem);outline-offset:calc(var(--ds-size-50, 0.25rem)*-1)}.auro-button:focus-visible:not([variant=secondary]):not([variant=tertiary]),.auro-button:focus:not([variant=secondary]):not([variant=tertiary]){outline-width:calc(var(--ds-size-50, 0.25rem) - 1px)}.auro-button.loading{cursor:not-allowed}.auro-button.loading *:not([auro-loader]){visibility:hidden}@media screen and (min-width: 576px){.auro-button{min-width:8.75rem;width:auto}}.auro-button:disabled{cursor:not-allowed;transform:unset}.auro-button[variant=secondary]:disabled{cursor:not-allowed;transform:unset}.auro-button[variant=tertiary]:disabled{cursor:not-allowed;transform:unset}.auro-button[variant=ghost]:disabled{cursor:not-allowed;transform:unset}.auro-button[onDark]:disabled{cursor:not-allowed;transform:unset}.auro-button[onDark][variant=secondary]:disabled{cursor:not-allowed;transform:unset}@media(hover: hover){.auro-button[onDark][variant=tertiary]:active,.auro-button[onDark][variant=tertiary]:hover{box-shadow:none}}.auro-button[onDark][variant=tertiary]:active{box-shadow:none}.auro-button[onDark][variant=tertiary]:disabled{cursor:not-allowed;transform:unset}.auro-button.icon-only ::slotted(:not(auro-icon):not([auro-icon])){display:none}.auro-button--slim{min-width:unset;min-height:calc(var(--ds-size-500, 2.5rem) - var(--ds-size-50, 0.25rem));max-height:calc(var(--ds-size-500, 2.5rem) - var(--ds-size-50, 0.25rem))}.auro-button--iconOnly{padding:0 var(--ds-size-100, 0.5rem);border-radius:100px;min-width:unset;height:var(--ds-size-600, 3rem);width:var(--ds-size-500, 2.5rem)}.auro-button--iconOnly ::slotted(auro-icon),.auro-button--iconOnly ::slotted([auro-icon]){--ds-auro-icon-size:var(--ds-size-300, 1.5rem)}.auro-button--iconOnly:not(.auro-button--rounded):focus-visible:not([variant=secondary]):not([variant=tertiary]):not([variant=flat]),.auro-button--iconOnly:not(.auro-button--rounded):focus:not([variant=secondary]):not([variant=tertiary]):not([variant=flat]){outline-width:1px;outline-offset:-2px}.auro-button--iconOnlySlim{padding:0 var(--ds-size-50, 0.25rem);height:calc(var(--ds-size-400, 2rem) + var(--ds-size-50, 0.25rem));width:calc(var(--ds-size-300, 1.5rem) + var(--ds-size-50, 0.25rem))}.auro-button--iconOnlySlim ::slotted(auro-icon),.auro-button--iconOnlySlim ::slotted([auro-icon]){--ds-auro-icon-size:calc(var(--ds-size-200, 1rem) + var(--ds-size-50, 0.25rem))}.auro-button--rounded{border-radius:100px;box-shadow:var(--ds-elevation-300, 0px 0px 15px rgba(0, 0, 0, 0.2));height:var(--ds-size-500, 2.5rem);min-width:unset;transition:padding 300ms ease-out,outline 0ms,outline-offset 0ms}.auro-button--rounded ::slotted(auro-icon),.auro-button--rounded ::slotted([auro-icon]){--ds-auro-icon-size:var(--ds-size-300, 1.5rem)}.auro-button--rounded:focus-visible:not([variant=flat]):after,.auro-button--rounded:focus:not([variant=flat]):after{border-radius:100px}:host([size=xs]) .wrapper:focus-visible,:host([size=xs]) .wrapper:focus{outline-width:1px;outline-offset:-2px}:host([rounded]) .textSlot{transition:opacity 300ms ease-in;opacity:1}:host([rounded][iconOnly]) .textSlot{opacity:0}:host([rounded][iconOnly]) .textWrapper{display:none}:host([rounded][iconOnly]) .auro-button{min-width:unset;padding:unset;width:var(--ds-size-600, 3rem)}[auro-loader]{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);pointer-events:none}`;
|
|
5736
|
+
|
|
5737
|
+
var colorCss$2$1 = i$5`[auro-loader]{color:var(--ds-auro-button-loader-color)}.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-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-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-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=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-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-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-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-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))}.auro-button[ondark][variant=ghost]: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=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-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)}`;
|
|
5738
|
+
|
|
5739
|
+
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}`;
|
|
5740
|
+
|
|
5741
|
+
var shapeSize = i$5`.shape-rounded-xl{min-height:68px;max-height:68px;border-style:solid;border-radius:6px;overflow:hidden;font-size:18px}.shape-rounded-lg{min-height:52px;max-height:52px;border-style:solid;border-radius:6px;overflow:hidden;font-size:18px}.shape-rounded-md{min-height:44px;max-height:44px;border-style:solid;border-radius:6px;overflow:hidden;font-size:16px}.shape-rounded-sm{min-height:32px;max-height:32px;border-style:solid;border-radius:6px;overflow:hidden;font-size:14px}.shape-rounded-xs{min-height:20px;max-height:20px;border-style:solid;border-radius:4px;overflow:hidden;font-size:12px;outline-offset:-2px;outline-width:1px}.shape-pill-xl{min-height:68px;max-height:68px;border-style:solid;border-radius:34px;overflow:hidden;font-size:18px}.shape-pill-left-xl{min-height:68px;max-height:68px;border-style:solid;border-radius:34px 0 0 34px;overflow:hidden}.shape-pill-right-xl{min-height:68px;max-height:68px;border-style:solid;border-radius:0 34px 34px 0;overflow:hidden}.shape-pill-lg{min-height:52px;max-height:52px;border-style:solid;border-radius:26px;overflow:hidden;font-size:18px}.shape-pill-left-lg{min-height:52px;max-height:52px;border-style:solid;border-radius:26px 0 0 26px;overflow:hidden}.shape-pill-right-lg{min-height:52px;max-height:52px;border-style:solid;border-radius:0 26px 26px 0;overflow:hidden}.shape-pill-md{min-height:44px;max-height:44px;border-style:solid;border-radius:22px;overflow:hidden}.shape-pill-left-md{min-height:44px;max-height:44px;border-style:solid;border-radius:22px 0 0 22px;overflow:hidden}.shape-pill-right-md{min-height:44px;max-height:44px;border-style:solid;border-radius:0 22px 22px 0;overflow:hidden;font-size:16px}.shape-pill-sm{min-height:32px;max-height:32px;border-style:solid;border-radius:16px;overflow:hidden;font-size:14px}.shape-pill-left-sm{min-height:32px;max-height:32px;border-style:solid;border-radius:16px 0 0 16px;overflow:hidden}.shape-pill-right-sm{min-height:32px;max-height:32px;border-style:solid;border-radius:0 16px 16px 0;overflow:hidden}.shape-pill-xs{min-height:20px;max-height:20px;border-style:solid;border-radius:10px;overflow:hidden;font-size:12px;outline-offset:-2px;outline-width:1px}.shape-pill-left-xs{min-height:20px;max-height:20px;border-style:solid;border-radius:10px 0 0 10px;overflow:hidden;outline-offset:-2px;outline-width:1px}.shape-pill-right-xs{min-height:20px;max-height:20px;border-style:solid;border-radius:0 10px 10px 0;overflow:hidden;outline-offset:-2px;outline-width:1px}.shape-circle-xl{min-height:68px;max-height:68px;min-width:68px;max-width:68px;border-style:solid;border-radius:34px;overflow:hidden;padding:0}.shape-circle-lg{min-height:52px;max-height:52px;min-width:52px;max-width:52px;border-style:solid;border-radius:26px;overflow:hidden;padding:0}.shape-circle-md{min-height:44px;max-height:44px;min-width:44px;max-width:44px;border-style:solid;border-radius:22px;overflow:hidden;padding:0}.shape-circle-sm{min-height:32px;max-height:32px;min-width:32px;max-width:32px;border-style:solid;border-radius:16px;overflow:hidden;padding:0}.shape-circle-xs{min-height:20px;max-height:20px;min-width:20px;max-width:20px;border-style:solid;border-radius:10px;overflow:hidden;padding:0;outline-offset:-2px;outline-width:1px}`;
|
|
5742
|
+
|
|
5743
|
+
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
5744
|
+
// See LICENSE in the project root for license information.
|
|
5745
|
+
|
|
5746
|
+
// ---------------------------------------------------------------------
|
|
5747
|
+
|
|
5748
|
+
/* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
|
|
5749
|
+
|
|
5750
|
+
let AuroLibraryRuntimeUtils$2 = class AuroLibraryRuntimeUtils {
|
|
5751
|
+
|
|
5752
|
+
/* eslint-disable jsdoc/require-param */
|
|
5753
|
+
|
|
5754
|
+
/**
|
|
5755
|
+
* This will register a new custom element with the browser.
|
|
5756
|
+
* @param {String} name - The name of the custom element.
|
|
5757
|
+
* @param {Object} componentClass - The class to register as a custom element.
|
|
5758
|
+
* @returns {void}
|
|
5759
|
+
*/
|
|
5760
|
+
registerComponent(name, componentClass) {
|
|
5761
|
+
if (!customElements.get(name)) {
|
|
5762
|
+
customElements.define(name, class extends componentClass {});
|
|
5763
|
+
}
|
|
5764
|
+
}
|
|
5765
|
+
|
|
5766
|
+
/**
|
|
5767
|
+
* Finds and returns the closest HTML Element based on a selector.
|
|
5768
|
+
* @returns {void}
|
|
5769
|
+
*/
|
|
5770
|
+
closestElement(
|
|
5771
|
+
selector, // selector like in .closest()
|
|
5772
|
+
base = this, // extra functionality to skip a parent
|
|
5773
|
+
__Closest = (el, found = el && el.closest(selector)) =>
|
|
5774
|
+
!el || el === document || el === window
|
|
5775
|
+
? null // standard .closest() returns null for non-found selectors also
|
|
5776
|
+
: found
|
|
5777
|
+
? found // found a selector INside this element
|
|
5778
|
+
: __Closest(el.getRootNode().host) // recursion!! break out to parent DOM
|
|
5779
|
+
) {
|
|
5780
|
+
return __Closest(base);
|
|
5781
|
+
}
|
|
5782
|
+
/* eslint-enable jsdoc/require-param */
|
|
5783
|
+
|
|
5784
|
+
/**
|
|
5785
|
+
* 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.
|
|
5786
|
+
* @param {Object} elem - The element to check.
|
|
5787
|
+
* @param {String} tagName - The name of the Auro component to check for or add as an attribute.
|
|
5788
|
+
* @returns {void}
|
|
5789
|
+
*/
|
|
5790
|
+
handleComponentTagRename(elem, tagName) {
|
|
5791
|
+
const tag = tagName.toLowerCase();
|
|
5792
|
+
const elemTag = elem.tagName.toLowerCase();
|
|
5793
|
+
|
|
5794
|
+
if (elemTag !== tag) {
|
|
5795
|
+
elem.setAttribute(tag, true);
|
|
5796
|
+
}
|
|
5797
|
+
}
|
|
5798
|
+
|
|
5799
|
+
/**
|
|
5800
|
+
* Validates if an element is a specific Auro component.
|
|
5801
|
+
* @param {Object} elem - The element to validate.
|
|
5802
|
+
* @param {String} tagName - The name of the Auro component to check against.
|
|
5803
|
+
* @returns {Boolean} - Returns true if the element is the specified Auro component.
|
|
5804
|
+
*/
|
|
5805
|
+
elementMatch(elem, tagName) {
|
|
5806
|
+
const tag = tagName.toLowerCase();
|
|
5807
|
+
const elemTag = elem.tagName.toLowerCase();
|
|
5808
|
+
|
|
5809
|
+
return elemTag === tag || elem.hasAttribute(tag);
|
|
5810
|
+
}
|
|
5811
|
+
};
|
|
5812
|
+
|
|
5813
|
+
var styleCss$2$1 = i$5`: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;font-size:1rem}:host>span{opacity:1}:host>.loader{display:none}:host>.no-animation{display:block}}`;
|
|
5814
|
+
|
|
5815
|
+
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}`;
|
|
5816
|
+
|
|
5817
|
+
var tokensCss$1$1 = i$5`:host{--ds-auro-loader-background-color:currentcolor;--ds-auro-loader-border-color:currentcolor;--ds-auro-loader-color:currentcolor}`;
|
|
5818
|
+
|
|
5819
|
+
// Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
5820
|
+
// See LICENSE in the project root for license information.
|
|
5821
|
+
|
|
5822
|
+
|
|
5823
|
+
class AuroLoader extends i$2 {
|
|
5824
|
+
constructor() {
|
|
5825
|
+
super();
|
|
5826
|
+
|
|
5827
|
+
/**
|
|
5828
|
+
* @private
|
|
5829
|
+
*/
|
|
5830
|
+
this.keys = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
|
|
5831
|
+
|
|
5832
|
+
/**
|
|
5833
|
+
* @private
|
|
5834
|
+
*/
|
|
5835
|
+
this.mdCount = 3;
|
|
5836
|
+
|
|
5837
|
+
/**
|
|
5838
|
+
* @private
|
|
5839
|
+
*/
|
|
5840
|
+
this.smCount = 2;
|
|
5841
|
+
|
|
5842
|
+
/**
|
|
5843
|
+
* @private
|
|
5844
|
+
*/
|
|
5845
|
+
this.runtimeUtils = new AuroLibraryRuntimeUtils$2();
|
|
5846
|
+
|
|
5847
|
+
this.orbit = false;
|
|
5848
|
+
this.ringworm = false;
|
|
5849
|
+
this.laser = false;
|
|
5850
|
+
this.pulse = false;
|
|
5851
|
+
}
|
|
5852
|
+
|
|
5853
|
+
// function to define props used within the scope of this component
|
|
5854
|
+
static get properties() {
|
|
5855
|
+
return {
|
|
5856
|
+
|
|
5857
|
+
/**
|
|
5858
|
+
* Sets loader to laser type.
|
|
5859
|
+
*/
|
|
5860
|
+
laser: {
|
|
5861
|
+
type: Boolean,
|
|
5862
|
+
reflect: true
|
|
5863
|
+
},
|
|
5864
|
+
|
|
5865
|
+
/**
|
|
5866
|
+
* Sets loader to orbit type.
|
|
5867
|
+
*/
|
|
5868
|
+
orbit: {
|
|
5869
|
+
type: Boolean,
|
|
5870
|
+
reflect: true
|
|
5871
|
+
},
|
|
5872
|
+
|
|
5873
|
+
/**
|
|
5874
|
+
* Sets loader to pulse type.
|
|
5875
|
+
*/
|
|
5876
|
+
pulse: {
|
|
5877
|
+
type: Boolean,
|
|
5878
|
+
reflect: true
|
|
5879
|
+
},
|
|
5880
|
+
|
|
5881
|
+
/**
|
|
5882
|
+
* Sets loader to ringworm type.
|
|
5883
|
+
*/
|
|
5884
|
+
ringworm: {
|
|
5885
|
+
type: Boolean,
|
|
5886
|
+
reflect: true
|
|
5887
|
+
}
|
|
5888
|
+
};
|
|
5889
|
+
}
|
|
5890
|
+
|
|
5891
|
+
static get styles() {
|
|
5892
|
+
return [
|
|
5893
|
+
i$5`${styleCss$2$1}`,
|
|
5894
|
+
i$5`${colorCss$1$1}`,
|
|
5895
|
+
i$5`${tokensCss$1$1}`
|
|
5896
|
+
];
|
|
5897
|
+
}
|
|
5898
|
+
|
|
5899
|
+
/**
|
|
5900
|
+
* This will register this element with the browser.
|
|
5901
|
+
* @param {string} [name="auro-loader"] - The name of element that you want to register to.
|
|
5902
|
+
*
|
|
5903
|
+
* @example
|
|
5904
|
+
* AuroLoader.register("custom-loader") // this will register this element to <custom-loader/>
|
|
5905
|
+
*
|
|
5906
|
+
*/
|
|
5907
|
+
static register(name = "auro-loader") {
|
|
5908
|
+
AuroLibraryRuntimeUtils$2.prototype.registerComponent(name, AuroLoader);
|
|
5909
|
+
}
|
|
5910
|
+
|
|
5911
|
+
firstUpdated() {
|
|
5912
|
+
// Add the tag name as an attribute if it is different than the component name
|
|
5913
|
+
this.runtimeUtils.handleComponentTagRename(this, 'auro-loader');
|
|
5914
|
+
}
|
|
5915
|
+
|
|
5916
|
+
connectedCallback() {
|
|
5917
|
+
super.connectedCallback();
|
|
5918
|
+
}
|
|
5919
|
+
|
|
5920
|
+
/**
|
|
5921
|
+
* @private
|
|
5922
|
+
* @returns {Array} Numbered array for template map.
|
|
5923
|
+
*/
|
|
5924
|
+
defineTemplate() {
|
|
5925
|
+
let nodes = Array.from(Array(this.mdCount).keys());
|
|
5926
|
+
|
|
5927
|
+
if (this.orbit || this.laser) {
|
|
5928
|
+
nodes = Array.from(Array(this.smCount).keys());
|
|
5929
|
+
} else if (this.ringworm) {
|
|
5930
|
+
nodes = Array.from(Array(0).keys());
|
|
5931
|
+
}
|
|
5932
|
+
|
|
5933
|
+
return nodes;
|
|
5934
|
+
}
|
|
5935
|
+
|
|
5936
|
+
// When using auroElement, use the following attribute and function when hiding content from screen readers.
|
|
5937
|
+
// aria-hidden="${this.hideAudible(this.hiddenAudible)}"
|
|
5938
|
+
|
|
5939
|
+
// function that renders the HTML and CSS into the scope of the component
|
|
5940
|
+
render() {
|
|
5941
|
+
return x`
|
|
5942
|
+
${this.defineTemplate().map((idx) => x`
|
|
5943
|
+
<span part="element" class="loader node-${idx}"></span>
|
|
5944
|
+
`)}
|
|
5945
|
+
|
|
5946
|
+
<div class="no-animation">Loading...</div>
|
|
5947
|
+
|
|
5948
|
+
${this.ringworm ? x`
|
|
5949
|
+
<svg part="element" class="circular" viewBox="25 25 50 50">
|
|
5950
|
+
<circle class="path" cx="50" cy="50" r="20" fill="none"/>
|
|
5951
|
+
</svg>`
|
|
5952
|
+
: ``
|
|
5953
|
+
}
|
|
5954
|
+
`;
|
|
5955
|
+
}
|
|
5956
|
+
}
|
|
5957
|
+
|
|
5958
|
+
var loaderVersion = '5.0.0';
|
|
5959
|
+
|
|
5960
|
+
/* eslint-disable max-lines, curly, jsdoc/no-undefined-types */
|
|
5961
|
+
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
5962
|
+
// See LICENSE in the project root for license information.
|
|
5963
|
+
|
|
5964
|
+
|
|
5965
|
+
/**
|
|
5966
|
+
* @slot - Default slot for the text of the button.
|
|
5967
|
+
* @csspart button - Apply CSS to HTML5 button.
|
|
5968
|
+
* @csspart loader - Apply CSS to auro-loader.
|
|
5969
|
+
* @csspart text - Apply CSS to text slot.
|
|
5970
|
+
* @csspart icon - Apply CSS to icon slot.
|
|
5971
|
+
*/
|
|
5972
|
+
|
|
5973
|
+
/* eslint-disable lit/no-invalid-html, lit/binding-positions */
|
|
5974
|
+
|
|
5975
|
+
const ICON_ONLY_SHAPES = ['circle'];
|
|
5976
|
+
|
|
5977
|
+
/**
|
|
5978
|
+
* AuroButton is a custom element that provides a styled, accessible button with support for various states and form association.
|
|
5979
|
+
* It is designed to be flexible, supporting loading states, icon slots, and integration with HTML5 forms.
|
|
5980
|
+
* @property {'default', 'rounded', 'pill', 'circle'} shape - Defines the shape of the button.
|
|
5981
|
+
* @property {'xs', 'sm', 'md', 'lg', 'xl'} size - Defines the size of the button.
|
|
5982
|
+
* @property {'primary', 'secondary', 'tertiary', 'ghost', 'flat'} variant - Sets the button variant.
|
|
5983
|
+
* @property {'submit', 'reset', 'button'} type - The type of button. Matches HTML5 Button Spec.
|
|
5984
|
+
* @property {boolean} onDark - Indicates if the button is rendered in dark mode.
|
|
5985
|
+
*/
|
|
5986
|
+
class AuroButton extends AuroElement$1 {
|
|
5987
|
+
|
|
5988
|
+
/**
|
|
5989
|
+
* Enables form association for this element.
|
|
5990
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/attachInternals
|
|
5991
|
+
* @returns {boolean} - Returns true to enable form association.
|
|
5992
|
+
*/
|
|
5993
|
+
static get formAssociated() {
|
|
5994
|
+
return true;
|
|
5995
|
+
}
|
|
5996
|
+
|
|
5997
|
+
constructor() {
|
|
5998
|
+
super();
|
|
5999
|
+
this.autofocus = false;
|
|
6000
|
+
this.disabled = false;
|
|
6001
|
+
this.loading = false;
|
|
6002
|
+
this.size = "md";
|
|
6003
|
+
this.shape = "rounded";
|
|
6004
|
+
this.onDark = false;
|
|
6005
|
+
this.fluid = false;
|
|
6006
|
+
this.loadingText = this.loadingText || 'Loading...';
|
|
6007
|
+
|
|
6008
|
+
// Support for HTML5 forms
|
|
6009
|
+
if (typeof this.attachInternals === 'function') {
|
|
6010
|
+
this.internals = this.attachInternals();
|
|
6011
|
+
} else {
|
|
6012
|
+
this.internals = null;
|
|
6013
|
+
|
|
6014
|
+
// eslint-disable-next-line no-console
|
|
6015
|
+
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.');
|
|
6016
|
+
}
|
|
6017
|
+
|
|
6018
|
+
/**
|
|
6019
|
+
* Generate unique names for dependency components.
|
|
6020
|
+
*/
|
|
6021
|
+
const versioning = new AuroDependencyVersioning();
|
|
6022
|
+
|
|
6023
|
+
/**
|
|
6024
|
+
* @private
|
|
6025
|
+
*/
|
|
6026
|
+
this.loaderTag = versioning.generateTag('auro-loader', loaderVersion, AuroLoader);
|
|
6027
|
+
|
|
6028
|
+
/**
|
|
6029
|
+
* @private
|
|
6030
|
+
*/
|
|
6031
|
+
this.buttonHref = undefined;
|
|
6032
|
+
|
|
6033
|
+
/**
|
|
6034
|
+
* @private
|
|
6035
|
+
*/
|
|
6036
|
+
this.buttonTarget = undefined;
|
|
6037
|
+
|
|
6038
|
+
/**
|
|
6039
|
+
* @private
|
|
6040
|
+
*/
|
|
6041
|
+
this.buttonRel = undefined;
|
|
6042
|
+
}
|
|
6043
|
+
|
|
6044
|
+
static get styles() {
|
|
6045
|
+
return [
|
|
6046
|
+
tokensCss$2$1,
|
|
6047
|
+
styleCss$3$1,
|
|
6048
|
+
colorCss$2$1,
|
|
6049
|
+
shapeSize
|
|
6050
|
+
];
|
|
6051
|
+
}
|
|
6052
|
+
|
|
6053
|
+
static get properties() {
|
|
6054
|
+
return {
|
|
6055
|
+
|
|
6056
|
+
...super.properties,
|
|
6057
|
+
|
|
6058
|
+
/**
|
|
6059
|
+
* Override layout since it isn't used in this component.
|
|
6060
|
+
* @private
|
|
6061
|
+
*/
|
|
6062
|
+
layout: {
|
|
6063
|
+
type: Boolean,
|
|
6064
|
+
attribute: false,
|
|
6065
|
+
reflect: false
|
|
6066
|
+
},
|
|
6067
|
+
|
|
6068
|
+
/**
|
|
6069
|
+
* This Boolean attribute lets you specify that the button should have input focus when the page loads, unless overridden by the user.
|
|
6070
|
+
*/
|
|
6071
|
+
autofocus: {
|
|
6072
|
+
type: Boolean,
|
|
6073
|
+
reflect: true
|
|
6074
|
+
},
|
|
6075
|
+
|
|
6076
|
+
/**
|
|
6077
|
+
* If set to true, button will become disabled and not allow for interactions.
|
|
6078
|
+
*/
|
|
6079
|
+
disabled: {
|
|
6080
|
+
type: Boolean,
|
|
6081
|
+
reflect: true
|
|
6082
|
+
},
|
|
6083
|
+
|
|
6084
|
+
/**
|
|
6085
|
+
* Alters the shape of the button to be full width of its parent container.
|
|
6086
|
+
*/
|
|
6087
|
+
fluid: {
|
|
6088
|
+
type: Boolean,
|
|
6089
|
+
reflect: true
|
|
6090
|
+
},
|
|
6091
|
+
|
|
6092
|
+
/**
|
|
6093
|
+
* If set to true button text will be replaced with `auro-loader` and become disabled.
|
|
6094
|
+
*/
|
|
6095
|
+
loading: {
|
|
6096
|
+
type: Boolean,
|
|
6097
|
+
reflect: true
|
|
6098
|
+
},
|
|
6099
|
+
|
|
6100
|
+
/**
|
|
6101
|
+
* 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.
|
|
6102
|
+
*/
|
|
6103
|
+
loadingText: {
|
|
6104
|
+
type: String
|
|
6105
|
+
},
|
|
6106
|
+
|
|
6107
|
+
/**
|
|
6108
|
+
* Populates `tabindex` to define the focusable sequence in keyboard navigation.
|
|
6109
|
+
*/
|
|
6110
|
+
tIndex: {
|
|
6111
|
+
type: String,
|
|
6112
|
+
reflect: true
|
|
6113
|
+
},
|
|
6114
|
+
|
|
6115
|
+
/**
|
|
6116
|
+
* Populates `tabindex` to define the focusable sequence in keyboard navigation.
|
|
6117
|
+
* Must be used with "." to ensure the host element does not retain a reference to the `tabindex` attribute.
|
|
6118
|
+
* Example: `<auro-button .tabindex="${this.disabled ? '-1' : '0'}"></auro-button>`
|
|
6119
|
+
*/
|
|
6120
|
+
tabindex: {
|
|
6121
|
+
type: String,
|
|
6122
|
+
reflect: false
|
|
6123
|
+
},
|
|
6124
|
+
|
|
6125
|
+
/**
|
|
6126
|
+
* Sets title attribute. The information is most often shown as a tooltip text when the mouse moves over the element.
|
|
6127
|
+
*/
|
|
6128
|
+
title: {
|
|
6129
|
+
type: String,
|
|
6130
|
+
reflect: true
|
|
6131
|
+
},
|
|
6132
|
+
|
|
6133
|
+
/**
|
|
6134
|
+
* The type of the button. Possible values are: `submit`, `reset`, `button`.
|
|
6135
|
+
*/
|
|
6136
|
+
type: {
|
|
6137
|
+
type: String,
|
|
6138
|
+
reflect: true
|
|
6139
|
+
},
|
|
6140
|
+
|
|
6141
|
+
/**
|
|
6142
|
+
* Defines the value associated with the button which is submitted with the form data.
|
|
6143
|
+
*/
|
|
6144
|
+
value: {
|
|
6145
|
+
type: String,
|
|
6146
|
+
reflect: true
|
|
6147
|
+
},
|
|
6148
|
+
|
|
6149
|
+
/**
|
|
6150
|
+
* Sets button variant option.
|
|
6151
|
+
* @default primary
|
|
6152
|
+
*/
|
|
6153
|
+
variant: {
|
|
6154
|
+
type: String,
|
|
6155
|
+
reflect: true
|
|
6156
|
+
},
|
|
6157
|
+
|
|
6158
|
+
/**
|
|
6159
|
+
* @private
|
|
6160
|
+
*/
|
|
6161
|
+
buttonHref: {
|
|
6162
|
+
type: String,
|
|
6163
|
+
},
|
|
6164
|
+
|
|
6165
|
+
/**
|
|
6166
|
+
* @private
|
|
6167
|
+
*/
|
|
6168
|
+
buttonTarget: {
|
|
6169
|
+
type: String,
|
|
6170
|
+
},
|
|
6171
|
+
|
|
6172
|
+
/**
|
|
6173
|
+
* @private
|
|
6174
|
+
*/
|
|
6175
|
+
buttonRel: {
|
|
6176
|
+
type: String,
|
|
6177
|
+
},
|
|
6178
|
+
};
|
|
6179
|
+
}
|
|
6180
|
+
|
|
6181
|
+
/**
|
|
6182
|
+
* This will register this element with the browser.
|
|
6183
|
+
* @param {string} [name="auro-button"] - The name of element that you want to register to.
|
|
6184
|
+
*
|
|
6185
|
+
* @example
|
|
6186
|
+
* AuroButton.register("custom-button") // this will register this element to <custom-button/>
|
|
6187
|
+
*
|
|
6188
|
+
*/
|
|
6189
|
+
static register(name = "auro-button") {
|
|
6190
|
+
AuroLibraryRuntimeUtils$3.prototype.registerComponent(name, AuroButton);
|
|
6191
|
+
}
|
|
6192
|
+
|
|
6193
|
+
/**
|
|
6194
|
+
* Internal method to apply focus to the HTML5 button.
|
|
6195
|
+
* @private
|
|
6196
|
+
* @returns {void}
|
|
6197
|
+
*/
|
|
6198
|
+
focus() {
|
|
6199
|
+
this.renderRoot.querySelector('button').focus();
|
|
6200
|
+
}
|
|
6201
|
+
|
|
6202
|
+
/**
|
|
6203
|
+
* Submits the form that this button is associated with.
|
|
6204
|
+
* @private
|
|
6205
|
+
* @returns {void}
|
|
6206
|
+
*/
|
|
6207
|
+
surfaceSubmitEvent() {
|
|
6208
|
+
if (this.form) {
|
|
6209
|
+
this.form.requestSubmit();
|
|
6210
|
+
}
|
|
6211
|
+
}
|
|
6212
|
+
|
|
6213
|
+
/**
|
|
6214
|
+
* Returns the form element that this button is associated with.
|
|
6215
|
+
* @private
|
|
6216
|
+
* @returns {HTMLFormElement | null}
|
|
6217
|
+
*/
|
|
6218
|
+
get form() {
|
|
6219
|
+
return this.internals ? this.internals.form : null;
|
|
6220
|
+
}
|
|
6221
|
+
|
|
6222
|
+
/**
|
|
6223
|
+
* @private
|
|
6224
|
+
* @returns {Boolean}
|
|
6225
|
+
*/
|
|
6226
|
+
get hideText() {
|
|
6227
|
+
return ICON_ONLY_SHAPES.includes(this.shape);
|
|
6228
|
+
}
|
|
6229
|
+
|
|
6230
|
+
/**
|
|
6231
|
+
* Returns the current value of the projected `aria-label` attribute or undefined if not set.
|
|
6232
|
+
* @returns {string | undefined}
|
|
6233
|
+
* @private
|
|
6234
|
+
*/
|
|
6235
|
+
get currentAriaLabel() {
|
|
6236
|
+
if (!this.attributeWatcher) return undefined;
|
|
6237
|
+
|
|
6238
|
+
const ariaLabel = this.attributeWatcher.getObservedAttribute("aria-label");
|
|
6239
|
+
return ariaLabel || undefined;
|
|
6240
|
+
}
|
|
6241
|
+
|
|
6242
|
+
/**
|
|
6243
|
+
* Returns the current value of the projected `aria-labelledby` attribute or undefined if not set.
|
|
6244
|
+
* @returns {string | undefined}
|
|
6245
|
+
* @private
|
|
6246
|
+
*/
|
|
6247
|
+
get currentAriaLabelledBy() {
|
|
6248
|
+
if (!this.attributeWatcher) return undefined;
|
|
6249
|
+
|
|
6250
|
+
const ariaLabelledBy = this.attributeWatcher.getObservedAttribute("aria-labelledby");
|
|
6251
|
+
return ariaLabelledBy || undefined;
|
|
6252
|
+
}
|
|
6253
|
+
|
|
6254
|
+
/**
|
|
6255
|
+
* Renders the default layout for the button.
|
|
6256
|
+
* @returns {TemplateResult}
|
|
6257
|
+
* @private
|
|
6258
|
+
*/
|
|
6259
|
+
renderLayoutDefault() {
|
|
6260
|
+
const classes = {
|
|
6261
|
+
"util_insetLg--squish": true,
|
|
6262
|
+
"auro-button": true,
|
|
6263
|
+
"icon-only": this.hideText,
|
|
6264
|
+
wrapper: true,
|
|
6265
|
+
loading: this.loading,
|
|
6266
|
+
};
|
|
6267
|
+
|
|
6268
|
+
const tag = this.buttonHref ? i`a` : i`button`;
|
|
6269
|
+
const part = this.buttonHref ? 'link' : 'button';
|
|
6270
|
+
|
|
6271
|
+
return u`
|
|
6272
|
+
<${tag}
|
|
6273
|
+
part="${part}"
|
|
6274
|
+
aria-label="${o(this.loading ? this.loadingText : this.currentAriaLabel || undefined)}"
|
|
6275
|
+
aria-labelledby="${o(this.loading ? undefined : this.currentAriaLabelledBy || undefined)}"
|
|
6276
|
+
tabindex="${o(this.tIndex || this.tabindex)}"
|
|
6277
|
+
?autofocus="${this.autofocus}"
|
|
6278
|
+
class=${e(classes)}
|
|
6279
|
+
?disabled="${this.disabled || this.loading}"
|
|
6280
|
+
?onDark="${this.onDark}"
|
|
6281
|
+
title="${o(this.title ? this.title : undefined)}"
|
|
6282
|
+
name="${o(this.name ? this.name : undefined)}"
|
|
6283
|
+
type="${o(this.type ? this.type : undefined)}"
|
|
6284
|
+
variant="${o(this.variant ? this.variant : undefined)}"
|
|
6285
|
+
.value="${o(this.value ? this.value : undefined)}"
|
|
6286
|
+
@click="${this.type === 'submit' ? this.surfaceSubmitEvent : undefined}"
|
|
6287
|
+
href="${o(this.buttonHref || undefined)}"
|
|
6288
|
+
target="${o(this.buttonTarget || undefined)}"
|
|
6289
|
+
rel="${o(this.buttonRel || undefined)}"
|
|
6290
|
+
>
|
|
6291
|
+
${o(this.loading ? u`<${this.loaderTag} pulse part="loader"></${this.loaderTag}>` : undefined)}
|
|
6292
|
+
|
|
6293
|
+
<span class="contentWrapper">
|
|
6294
|
+
<span class="textSlot" part="text">
|
|
6295
|
+
<slot></slot>
|
|
6296
|
+
</span>
|
|
6297
|
+
</span>
|
|
6298
|
+
</${tag}>
|
|
6299
|
+
`;
|
|
6300
|
+
}
|
|
6301
|
+
|
|
6302
|
+
/**
|
|
6303
|
+
* Renders the layout of the button.
|
|
6304
|
+
* @returns {TemplateResult}
|
|
6305
|
+
* @private
|
|
6306
|
+
*/
|
|
6307
|
+
renderLayout() {
|
|
6308
|
+
return this.renderLayoutDefault();
|
|
6309
|
+
}
|
|
6310
|
+
}
|
|
6311
|
+
|
|
6312
|
+
var buttonVersion = '11.2.1';
|
|
6313
|
+
|
|
6314
|
+
// Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
6315
|
+
// See LICENSE in the project root for license information.
|
|
6316
|
+
|
|
6317
|
+
|
|
6318
|
+
/**
|
|
6319
|
+
* @attr {Boolean} hidden - If present, the component will be hidden both visually and from screen readers
|
|
6320
|
+
* @attr {Boolean} hiddenVisually - If present, the component will be hidden visually, but still read by screen readers
|
|
6321
|
+
* @attr {Boolean} hiddenAudible - If present, the component will be hidden from screen readers, but seen visually
|
|
6322
|
+
*/
|
|
6323
|
+
|
|
6324
|
+
let AuroElement$2 = class AuroElement extends i$2 {
|
|
6325
|
+
|
|
6326
|
+
// function to define props used within the scope of this component
|
|
6327
|
+
static get properties() {
|
|
6328
|
+
return {
|
|
6329
|
+
hidden: { type: Boolean,
|
|
6330
|
+
reflect: true },
|
|
6331
|
+
hiddenVisually: { type: Boolean,
|
|
6332
|
+
reflect: true },
|
|
6333
|
+
hiddenAudible: { type: Boolean,
|
|
6334
|
+
reflect: true },
|
|
6335
|
+
};
|
|
6336
|
+
}
|
|
6337
|
+
|
|
6338
|
+
/**
|
|
6339
|
+
* @private Function that determines state of aria-hidden
|
|
6340
|
+
*/
|
|
6341
|
+
hideAudible(value) {
|
|
6342
|
+
if (value) {
|
|
6343
|
+
return 'true'
|
|
6344
|
+
}
|
|
6345
|
+
|
|
6346
|
+
return 'false'
|
|
6347
|
+
}
|
|
6348
|
+
};
|
|
6349
|
+
|
|
6350
|
+
var error$1 = {"svg":"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" aria-labelledby=\"error__desc\" class=\"ico_squareLarge\" data-deprecated=\"true\" role=\"img\" style=\"min-width:var(--auro-size-lg, var(--ds-size-300, 1.5rem));height:var(--auro-size-lg, var(--ds-size-300, 1.5rem));fill:currentColor\" viewBox=\"0 0 24 24\" part=\"svg\"><title/><desc id=\"error__desc\">Error alert indicator.</desc><path d=\"m13.047 5.599 6.786 11.586A1.207 1.207 0 0 1 18.786 19H5.214a1.207 1.207 0 0 1-1.047-1.815l6.786-11.586a1.214 1.214 0 0 1 2.094 0m-1.165.87a.23.23 0 0 0-.085.085L5.419 17.442a.232.232 0 0 0 .203.35h12.756a.234.234 0 0 0 .203-.35L12.203 6.554a.236.236 0 0 0-.321-.084M12 15.5a.75.75 0 1 1 0 1.5.75.75 0 0 1 0-1.5m-.024-6.22c.325 0 .589.261.589.583v4.434a.586.586 0 0 1-.589.583.586.586 0 0 1-.588-.583V9.863c0-.322.264-.583.588-.583\"/></svg>"};
|
|
6351
|
+
|
|
6352
|
+
/* eslint-disable no-underscore-dangle, jsdoc/no-undefined-types, jsdoc/require-param-description */
|
|
6353
|
+
|
|
6354
|
+
const _fetchMap$1 = new Map();
|
|
6355
|
+
|
|
6356
|
+
/**
|
|
6357
|
+
* A callback to parse Response body.
|
|
6358
|
+
*
|
|
6359
|
+
* @callback ResponseParser
|
|
6360
|
+
* @param {Fetch.Response} response
|
|
6361
|
+
* @returns {Promise}
|
|
6362
|
+
*/
|
|
6363
|
+
|
|
6364
|
+
/**
|
|
6365
|
+
* A minimal in-memory map to de-duplicate Fetch API media requests.
|
|
6366
|
+
*
|
|
6367
|
+
* @param {String} uri
|
|
6368
|
+
* @param {Object} [options={}]
|
|
6369
|
+
* @param {ResponseParser} [options.responseParser=(response) => response.text()]
|
|
6370
|
+
* @returns {Promise}
|
|
6371
|
+
*/
|
|
6372
|
+
const cacheFetch$1 = (uri, options = {}) => {
|
|
6373
|
+
const responseParser = options.responseParser || ((response) => response.text());
|
|
6374
|
+
if (!_fetchMap$1.has(uri)) {
|
|
6375
|
+
_fetchMap$1.set(uri, fetch(uri).then(responseParser));
|
|
6376
|
+
}
|
|
6377
|
+
return _fetchMap$1.get(uri);
|
|
6378
|
+
};
|
|
6379
|
+
|
|
6380
|
+
var styleCss$1$1 = 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}`;
|
|
6381
|
+
|
|
6382
|
+
// Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
6383
|
+
// See LICENSE in the project root for license information.
|
|
6384
|
+
|
|
6385
|
+
|
|
6386
|
+
// See https://git.io/JJ6SJ for "How to document your components using JSDoc"
|
|
6387
|
+
/**
|
|
6388
|
+
* @slot - Hidden from visibility, used for a11y if icon description is needed
|
|
6389
|
+
*/
|
|
6390
|
+
|
|
6391
|
+
// build the component class
|
|
6392
|
+
let BaseIcon$1 = class BaseIcon extends AuroElement$2 {
|
|
6393
|
+
constructor() {
|
|
6394
|
+
super();
|
|
6395
|
+
this.onDark = false;
|
|
6396
|
+
}
|
|
6397
|
+
|
|
6398
|
+
// function to define props used within the scope of this component
|
|
6399
|
+
static get properties() {
|
|
6400
|
+
return {
|
|
6401
|
+
...super.properties,
|
|
6402
|
+
|
|
6403
|
+
/**
|
|
6404
|
+
* Set value for on-dark version of auro-icon.
|
|
6405
|
+
*/
|
|
6406
|
+
onDark: {
|
|
6407
|
+
type: Boolean,
|
|
6408
|
+
reflect: true
|
|
6409
|
+
},
|
|
6410
|
+
|
|
6411
|
+
/**
|
|
6412
|
+
* @private
|
|
6413
|
+
*/
|
|
6414
|
+
svg: {
|
|
6415
|
+
attribute: false,
|
|
6416
|
+
reflect: true
|
|
6417
|
+
}
|
|
6418
|
+
};
|
|
6419
|
+
}
|
|
6420
|
+
|
|
6421
|
+
static get styles() {
|
|
6422
|
+
return i$5`
|
|
6423
|
+
${styleCss$1$1}
|
|
6424
|
+
`;
|
|
6425
|
+
}
|
|
6426
|
+
|
|
6427
|
+
/**
|
|
6428
|
+
* Async function to fetch requested icon from npm CDN.
|
|
6429
|
+
* @private
|
|
6430
|
+
* @param {string} category - Icon category.
|
|
6431
|
+
* @param {string} name - Icon name.
|
|
6432
|
+
* @returns {SVGElement} DOM - Ready HTML to be appended.
|
|
6433
|
+
*/
|
|
6434
|
+
async fetchIcon(category, name) {
|
|
6435
|
+
let iconHTML = '';
|
|
6436
|
+
|
|
6437
|
+
if (category === 'logos') {
|
|
6438
|
+
iconHTML = await cacheFetch$1(`${this.uri}/${category}/${name}.svg`);
|
|
6439
|
+
} else {
|
|
6440
|
+
iconHTML = await cacheFetch$1(`${this.uri}/icons/${category}/${name}.svg`);
|
|
6441
|
+
}
|
|
6442
|
+
|
|
6443
|
+
const dom = new DOMParser().parseFromString(iconHTML, 'text/html');
|
|
6444
|
+
|
|
6445
|
+
return dom.body.querySelector('svg');
|
|
6446
|
+
}
|
|
6447
|
+
|
|
6448
|
+
// lifecycle function
|
|
6449
|
+
async firstUpdated() {
|
|
6450
|
+
if (!this.customSvg) {
|
|
6451
|
+
const svg = await this.fetchIcon(this.category, this.name);
|
|
6452
|
+
|
|
6453
|
+
if (svg) {
|
|
6454
|
+
this.svg = svg;
|
|
6455
|
+
} else if (!svg) {
|
|
6456
|
+
const penDOM = new DOMParser().parseFromString(error$1.svg, 'text/html');
|
|
6457
|
+
|
|
6458
|
+
this.svg = penDOM.body.firstChild;
|
|
6459
|
+
}
|
|
6460
|
+
}
|
|
6461
|
+
}
|
|
6462
|
+
};
|
|
6463
|
+
|
|
6464
|
+
var tokensCss$3 = 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)}`;
|
|
6465
|
+
|
|
6466
|
+
var colorCss$4 = 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)}`;
|
|
6467
|
+
|
|
6468
|
+
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
6469
|
+
// See LICENSE in the project root for license information.
|
|
6470
|
+
|
|
6471
|
+
// ---------------------------------------------------------------------
|
|
6472
|
+
|
|
6473
|
+
/* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
|
|
6474
|
+
|
|
6475
|
+
let AuroLibraryRuntimeUtils$1$1 = class AuroLibraryRuntimeUtils {
|
|
6476
|
+
|
|
6477
|
+
/* eslint-disable jsdoc/require-param */
|
|
6478
|
+
|
|
6479
|
+
/**
|
|
6480
|
+
* This will register a new custom element with the browser.
|
|
6481
|
+
* @param {String} name - The name of the custom element.
|
|
6482
|
+
* @param {Object} componentClass - The class to register as a custom element.
|
|
6483
|
+
* @returns {void}
|
|
6484
|
+
*/
|
|
6485
|
+
registerComponent(name, componentClass) {
|
|
6486
|
+
if (!customElements.get(name)) {
|
|
6487
|
+
customElements.define(name, class extends componentClass {});
|
|
6488
|
+
}
|
|
6489
|
+
}
|
|
6490
|
+
|
|
6491
|
+
/**
|
|
6492
|
+
* Finds and returns the closest HTML Element based on a selector.
|
|
6493
|
+
* @returns {void}
|
|
6494
|
+
*/
|
|
6495
|
+
closestElement(
|
|
6496
|
+
selector, // selector like in .closest()
|
|
6497
|
+
base = this, // extra functionality to skip a parent
|
|
6498
|
+
__Closest = (el, found = el && el.closest(selector)) =>
|
|
6499
|
+
!el || el === document || el === window
|
|
6500
|
+
? null // standard .closest() returns null for non-found selectors also
|
|
6501
|
+
: found
|
|
6502
|
+
? found // found a selector INside this element
|
|
6503
|
+
: __Closest(el.getRootNode().host) // recursion!! break out to parent DOM
|
|
6504
|
+
) {
|
|
6505
|
+
return __Closest(base);
|
|
6506
|
+
}
|
|
6507
|
+
/* eslint-enable jsdoc/require-param */
|
|
6508
|
+
|
|
6509
|
+
/**
|
|
6510
|
+
* 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.
|
|
6511
|
+
* @param {Object} elem - The element to check.
|
|
6512
|
+
* @param {String} tagName - The name of the Auro component to check for or add as an attribute.
|
|
6513
|
+
* @returns {void}
|
|
6514
|
+
*/
|
|
6515
|
+
handleComponentTagRename(elem, tagName) {
|
|
6516
|
+
const tag = tagName.toLowerCase();
|
|
6517
|
+
const elemTag = elem.tagName.toLowerCase();
|
|
6518
|
+
|
|
6519
|
+
if (elemTag !== tag) {
|
|
6520
|
+
elem.setAttribute(tag, true);
|
|
6521
|
+
}
|
|
6522
|
+
}
|
|
6523
|
+
|
|
6524
|
+
/**
|
|
6525
|
+
* Validates if an element is a specific Auro component.
|
|
6526
|
+
* @param {Object} elem - The element to validate.
|
|
6527
|
+
* @param {String} tagName - The name of the Auro component to check against.
|
|
6528
|
+
* @returns {Boolean} - Returns true if the element is the specified Auro component.
|
|
6529
|
+
*/
|
|
6530
|
+
elementMatch(elem, tagName) {
|
|
6531
|
+
const tag = tagName.toLowerCase();
|
|
6532
|
+
const elemTag = elem.tagName.toLowerCase();
|
|
6533
|
+
|
|
6534
|
+
return elemTag === tag || elem.hasAttribute(tag);
|
|
6535
|
+
}
|
|
6536
|
+
};
|
|
6537
|
+
|
|
6538
|
+
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
6539
|
+
// See LICENSE in the project root for license information.
|
|
6540
|
+
|
|
6541
|
+
|
|
6542
|
+
let AuroIcon$1 = class AuroIcon extends BaseIcon$1 {
|
|
6543
|
+
constructor() {
|
|
6544
|
+
super();
|
|
6545
|
+
|
|
6546
|
+
this.variant = undefined;
|
|
6547
|
+
this.privateDefaults();
|
|
6548
|
+
}
|
|
6549
|
+
|
|
6550
|
+
/**
|
|
6551
|
+
* Internal Defaults.
|
|
6552
|
+
* @private
|
|
6553
|
+
* @returns {void}
|
|
6554
|
+
*/
|
|
6555
|
+
privateDefaults() {
|
|
6556
|
+
this.uri = 'https://cdn.jsdelivr.net/npm/@alaskaairux/icons@latest/dist';
|
|
6557
|
+
this.runtimeUtils = new AuroLibraryRuntimeUtils$1$1();
|
|
6558
|
+
}
|
|
6559
|
+
|
|
6560
|
+
// function to define props used within the scope of this component
|
|
6561
|
+
static get properties() {
|
|
6562
|
+
return {
|
|
6563
|
+
...super.properties,
|
|
6564
|
+
|
|
6565
|
+
/**
|
|
6566
|
+
* Set aria-hidden value. Default is `true`. Option is `false`.
|
|
6567
|
+
*/
|
|
6568
|
+
ariaHidden: {
|
|
6569
|
+
type: String,
|
|
6570
|
+
reflect: true
|
|
6571
|
+
},
|
|
6572
|
+
|
|
6573
|
+
/**
|
|
6574
|
+
* The category of the icon you are looking for. See https://auro.alaskaair.com/icons/usage.
|
|
6575
|
+
*/
|
|
6576
|
+
category: {
|
|
6577
|
+
type: String,
|
|
6578
|
+
reflect: true
|
|
6579
|
+
},
|
|
6580
|
+
|
|
6581
|
+
/**
|
|
6582
|
+
* Allows custom color to be set.
|
|
6583
|
+
*/
|
|
6584
|
+
customColor: {
|
|
6585
|
+
type: Boolean
|
|
6586
|
+
},
|
|
6587
|
+
|
|
6588
|
+
/**
|
|
6589
|
+
* When true, auro-icon will render a custom SVG inside the default slot.
|
|
6590
|
+
*/
|
|
6591
|
+
customSvg: {
|
|
6592
|
+
type: Boolean
|
|
6593
|
+
},
|
|
6594
|
+
|
|
6595
|
+
/**
|
|
6596
|
+
* Exposes content in slot as icon label.
|
|
6597
|
+
*/
|
|
6598
|
+
label: {
|
|
6599
|
+
type: Boolean,
|
|
6600
|
+
reflect: true
|
|
6601
|
+
},
|
|
6602
|
+
|
|
6603
|
+
/**
|
|
6604
|
+
* The name of the icon you are looking for without the file extension. See https://auro.alaskaair.com/icons/usage.
|
|
6605
|
+
*/
|
|
6606
|
+
name: {
|
|
6607
|
+
type: String,
|
|
6608
|
+
reflect: true
|
|
6609
|
+
},
|
|
6610
|
+
|
|
6611
|
+
/**
|
|
6612
|
+
* The style of the icon. The accepted variants are `accent1`, `disabled`, `muted`, `statusDefault`, `statusInfo`, `statusSuccess`, `statusWarning`, `statusError`, `statusInfoSubtle`, `statusSuccessSubtle`, `statusWarningSubtle`, `statusErrorSubtle`, `fareBasicEconomy`, `fareBusiness`, `fareEconomy`, `fareFirst`, `farePremiumEconomy`, `tierOneWorldEmerald`, `tierOneWorldSapphire`, `tierOneWorldRuby`.
|
|
6613
|
+
*/
|
|
6614
|
+
variant: {
|
|
6615
|
+
type: String,
|
|
6616
|
+
reflect: true
|
|
6617
|
+
}
|
|
6618
|
+
};
|
|
6619
|
+
}
|
|
6620
|
+
|
|
6621
|
+
static get styles() {
|
|
6622
|
+
return [
|
|
6623
|
+
super.styles,
|
|
6624
|
+
i$5`${tokensCss$3}`,
|
|
6625
|
+
i$5`${styleCss$1$1}`,
|
|
6626
|
+
i$5`${colorCss$4}`
|
|
6627
|
+
];
|
|
6628
|
+
}
|
|
5319
6629
|
|
|
5320
6630
|
/**
|
|
5321
6631
|
* This will register this element with the browser.
|
|
@@ -5326,7 +6636,7 @@ let AuroIcon$1 = class AuroIcon extends BaseIcon$1 {
|
|
|
5326
6636
|
*
|
|
5327
6637
|
*/
|
|
5328
6638
|
static register(name = "auro-icon") {
|
|
5329
|
-
AuroLibraryRuntimeUtils.prototype.registerComponent(name, AuroIcon);
|
|
6639
|
+
AuroLibraryRuntimeUtils$1$1.prototype.registerComponent(name, AuroIcon);
|
|
5330
6640
|
}
|
|
5331
6641
|
|
|
5332
6642
|
connectedCallback() {
|
|
@@ -5347,8 +6657,12 @@ let AuroIcon$1 = class AuroIcon extends BaseIcon$1 {
|
|
|
5347
6657
|
async firstUpdated() {
|
|
5348
6658
|
await super.firstUpdated();
|
|
5349
6659
|
|
|
5350
|
-
|
|
5351
|
-
|
|
6660
|
+
/**
|
|
6661
|
+
* icons provide a description for screen readers. Icon only instances Auro-button
|
|
6662
|
+
* depend on this description to provide context for the user using a screen reader.
|
|
6663
|
+
* Removes the SVG description for screen reader if ariaHidden is set to true.
|
|
6664
|
+
*/
|
|
6665
|
+
if (this.hasAttribute('ariaHidden') && this.svg) {
|
|
5352
6666
|
const svgDesc = this.svg.querySelector('desc');
|
|
5353
6667
|
|
|
5354
6668
|
if (svgDesc) {
|
|
@@ -5358,43 +6672,113 @@ let AuroIcon$1 = class AuroIcon extends BaseIcon$1 {
|
|
|
5358
6672
|
}
|
|
5359
6673
|
}
|
|
5360
6674
|
|
|
5361
|
-
// function that renders the HTML and CSS into the scope of the component
|
|
5362
|
-
render() {
|
|
5363
|
-
const labelClasses = {
|
|
5364
|
-
'labelWrapper': true,
|
|
5365
|
-
'util_displayHiddenVisually': !this.label
|
|
5366
|
-
};
|
|
5367
|
-
|
|
5368
|
-
const svgClasses = {
|
|
5369
|
-
'svgWrapper': true,
|
|
5370
|
-
};
|
|
5371
|
-
|
|
5372
|
-
return x`
|
|
5373
|
-
<div class="componentWrapper">
|
|
5374
|
-
<div
|
|
5375
|
-
class="${e(svgClasses)}"
|
|
5376
|
-
title="${o(this.title || undefined)}">
|
|
5377
|
-
<span aria-hidden="${o(this.ariaHidden || true)}" part="svg">
|
|
5378
|
-
${this.customSvg ? x`
|
|
5379
|
-
<slot name="svg"></slot>
|
|
5380
|
-
` : x`
|
|
5381
|
-
${this.svg}
|
|
5382
|
-
`
|
|
5383
|
-
}
|
|
5384
|
-
</span>
|
|
5385
|
-
</div>
|
|
6675
|
+
// function that renders the HTML and CSS into the scope of the component
|
|
6676
|
+
render() {
|
|
6677
|
+
const labelClasses = {
|
|
6678
|
+
'labelWrapper': true,
|
|
6679
|
+
'util_displayHiddenVisually': !this.label
|
|
6680
|
+
};
|
|
6681
|
+
|
|
6682
|
+
const svgClasses = {
|
|
6683
|
+
'svgWrapper': true,
|
|
6684
|
+
};
|
|
6685
|
+
|
|
6686
|
+
return x`
|
|
6687
|
+
<div class="componentWrapper">
|
|
6688
|
+
<div
|
|
6689
|
+
class="${e(svgClasses)}"
|
|
6690
|
+
title="${o(this.title || undefined)}">
|
|
6691
|
+
<span aria-hidden="${o(this.ariaHidden || true)}" part="svg">
|
|
6692
|
+
${this.customSvg ? x`
|
|
6693
|
+
<slot name="svg"></slot>
|
|
6694
|
+
` : x`
|
|
6695
|
+
${this.svg}
|
|
6696
|
+
`
|
|
6697
|
+
}
|
|
6698
|
+
</span>
|
|
6699
|
+
</div>
|
|
6700
|
+
|
|
6701
|
+
<div class="${e(labelClasses)}">
|
|
6702
|
+
<slot></slot>
|
|
6703
|
+
</div>
|
|
6704
|
+
</div>
|
|
6705
|
+
`;
|
|
6706
|
+
}
|
|
6707
|
+
};
|
|
6708
|
+
|
|
6709
|
+
var iconVersion$1 = '8.0.4';
|
|
6710
|
+
|
|
6711
|
+
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
6712
|
+
// See LICENSE in the project root for license information.
|
|
6713
|
+
|
|
6714
|
+
// ---------------------------------------------------------------------
|
|
6715
|
+
|
|
6716
|
+
/* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
|
|
6717
|
+
|
|
6718
|
+
let AuroLibraryRuntimeUtils$4 = class AuroLibraryRuntimeUtils {
|
|
6719
|
+
|
|
6720
|
+
/* eslint-disable jsdoc/require-param */
|
|
6721
|
+
|
|
6722
|
+
/**
|
|
6723
|
+
* This will register a new custom element with the browser.
|
|
6724
|
+
* @param {String} name - The name of the custom element.
|
|
6725
|
+
* @param {Object} componentClass - The class to register as a custom element.
|
|
6726
|
+
* @returns {void}
|
|
6727
|
+
*/
|
|
6728
|
+
registerComponent(name, componentClass) {
|
|
6729
|
+
if (!customElements.get(name)) {
|
|
6730
|
+
customElements.define(name, class extends componentClass {});
|
|
6731
|
+
}
|
|
6732
|
+
}
|
|
6733
|
+
|
|
6734
|
+
/**
|
|
6735
|
+
* Finds and returns the closest HTML Element based on a selector.
|
|
6736
|
+
* @returns {void}
|
|
6737
|
+
*/
|
|
6738
|
+
closestElement(
|
|
6739
|
+
selector, // selector like in .closest()
|
|
6740
|
+
base = this, // extra functionality to skip a parent
|
|
6741
|
+
__Closest = (el, found = el && el.closest(selector)) =>
|
|
6742
|
+
!el || el === document || el === window
|
|
6743
|
+
? null // standard .closest() returns null for non-found selectors also
|
|
6744
|
+
: found
|
|
6745
|
+
? found // found a selector INside this element
|
|
6746
|
+
: __Closest(el.getRootNode().host) // recursion!! break out to parent DOM
|
|
6747
|
+
) {
|
|
6748
|
+
return __Closest(base);
|
|
6749
|
+
}
|
|
6750
|
+
/* eslint-enable jsdoc/require-param */
|
|
6751
|
+
|
|
6752
|
+
/**
|
|
6753
|
+
* 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.
|
|
6754
|
+
* @param {Object} elem - The element to check.
|
|
6755
|
+
* @param {String} tagName - The name of the Auro component to check for or add as an attribute.
|
|
6756
|
+
* @returns {void}
|
|
6757
|
+
*/
|
|
6758
|
+
handleComponentTagRename(elem, tagName) {
|
|
6759
|
+
const tag = tagName.toLowerCase();
|
|
6760
|
+
const elemTag = elem.tagName.toLowerCase();
|
|
6761
|
+
|
|
6762
|
+
if (elemTag !== tag) {
|
|
6763
|
+
elem.setAttribute(tag, true);
|
|
6764
|
+
}
|
|
6765
|
+
}
|
|
6766
|
+
|
|
6767
|
+
/**
|
|
6768
|
+
* Validates if an element is a specific Auro component.
|
|
6769
|
+
* @param {Object} elem - The element to validate.
|
|
6770
|
+
* @param {String} tagName - The name of the Auro component to check against.
|
|
6771
|
+
* @returns {Boolean} - Returns true if the element is the specified Auro component.
|
|
6772
|
+
*/
|
|
6773
|
+
elementMatch(elem, tagName) {
|
|
6774
|
+
const tag = tagName.toLowerCase();
|
|
6775
|
+
const elemTag = elem.tagName.toLowerCase();
|
|
5386
6776
|
|
|
5387
|
-
|
|
5388
|
-
<slot></slot>
|
|
5389
|
-
</div>
|
|
5390
|
-
</div>
|
|
5391
|
-
`;
|
|
6777
|
+
return elemTag === tag || elem.hasAttribute(tag);
|
|
5392
6778
|
}
|
|
5393
6779
|
};
|
|
5394
6780
|
|
|
5395
|
-
var
|
|
5396
|
-
|
|
5397
|
-
var styleCss$4 = 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)}`;
|
|
6781
|
+
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)}`;
|
|
5398
6782
|
|
|
5399
6783
|
// Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
5400
6784
|
// See LICENSE in the project root for license information.
|
|
@@ -5423,7 +6807,7 @@ class AuroHeader extends i$2 {
|
|
|
5423
6807
|
/**
|
|
5424
6808
|
* @private
|
|
5425
6809
|
*/
|
|
5426
|
-
this.runtimeUtils = new AuroLibraryRuntimeUtils();
|
|
6810
|
+
this.runtimeUtils = new AuroLibraryRuntimeUtils$4();
|
|
5427
6811
|
}
|
|
5428
6812
|
|
|
5429
6813
|
// function to define props used within the scope of this component
|
|
@@ -5441,7 +6825,7 @@ class AuroHeader extends i$2 {
|
|
|
5441
6825
|
}
|
|
5442
6826
|
|
|
5443
6827
|
static get styles() {
|
|
5444
|
-
return [styleCss$
|
|
6828
|
+
return [styleCss$5];
|
|
5445
6829
|
}
|
|
5446
6830
|
|
|
5447
6831
|
/**
|
|
@@ -5453,7 +6837,7 @@ class AuroHeader extends i$2 {
|
|
|
5453
6837
|
*
|
|
5454
6838
|
*/
|
|
5455
6839
|
static register(name = "auro-header") {
|
|
5456
|
-
AuroLibraryRuntimeUtils.prototype.registerComponent(name, AuroHeader);
|
|
6840
|
+
AuroLibraryRuntimeUtils$4.prototype.registerComponent(name, AuroHeader);
|
|
5457
6841
|
}
|
|
5458
6842
|
|
|
5459
6843
|
firstUpdated() {
|
|
@@ -5549,17 +6933,30 @@ class AuroBibtemplate extends i$2 {
|
|
|
5549
6933
|
|
|
5550
6934
|
this.large = false;
|
|
5551
6935
|
|
|
5552
|
-
AuroLibraryRuntimeUtils.prototype.handleComponentTagRename(this, 'auro-bibtemplate');
|
|
6936
|
+
AuroLibraryRuntimeUtils$3.prototype.handleComponentTagRename(this, 'auro-bibtemplate');
|
|
5553
6937
|
|
|
5554
6938
|
const versioning = new AuroDependencyVersioning();
|
|
6939
|
+
|
|
6940
|
+
/**
|
|
6941
|
+
* @private
|
|
6942
|
+
*/
|
|
5555
6943
|
this.iconTag = versioning.generateTag('auro-formkit-bibtemplate-icon', iconVersion$1, AuroIcon$1);
|
|
6944
|
+
|
|
6945
|
+
/**
|
|
6946
|
+
* @private
|
|
6947
|
+
*/
|
|
5556
6948
|
this.headerTag = versioning.generateTag('auro-formkit-bibtemplate-header', headerVersion, AuroHeader);
|
|
6949
|
+
|
|
6950
|
+
/**
|
|
6951
|
+
* @private
|
|
6952
|
+
*/
|
|
6953
|
+
this.buttonTag = versioning.generateTag('auro-formkit-input-button', buttonVersion, AuroButton);
|
|
5557
6954
|
}
|
|
5558
6955
|
|
|
5559
6956
|
static get styles() {
|
|
5560
6957
|
return [
|
|
5561
|
-
colorCss$
|
|
5562
|
-
styleCss$
|
|
6958
|
+
colorCss$3$1,
|
|
6959
|
+
styleCss$4$1,
|
|
5563
6960
|
tokenCss
|
|
5564
6961
|
];
|
|
5565
6962
|
}
|
|
@@ -5588,7 +6985,7 @@ class AuroBibtemplate extends i$2 {
|
|
|
5588
6985
|
*
|
|
5589
6986
|
*/
|
|
5590
6987
|
static register(name = "auro-bibtemplate") {
|
|
5591
|
-
AuroLibraryRuntimeUtils.prototype.registerComponent(name, AuroBibtemplate);
|
|
6988
|
+
AuroLibraryRuntimeUtils$3.prototype.registerComponent(name, AuroBibtemplate);
|
|
5592
6989
|
}
|
|
5593
6990
|
|
|
5594
6991
|
/**
|
|
@@ -5628,15 +7025,27 @@ class AuroBibtemplate extends i$2 {
|
|
|
5628
7025
|
this.setAttribute('exportparts', 'bibtemplate:dropdownBibTemplate');
|
|
5629
7026
|
}
|
|
5630
7027
|
|
|
7028
|
+
firstUpdated(changedProperties) {
|
|
7029
|
+
super.firstUpdated(changedProperties);
|
|
7030
|
+
|
|
7031
|
+
this.dispatchEvent(new CustomEvent("auro-bibtemplate-connected", {
|
|
7032
|
+
bubbles: true,
|
|
7033
|
+
composed: true,
|
|
7034
|
+
detail: {
|
|
7035
|
+
element: this
|
|
7036
|
+
}
|
|
7037
|
+
}));
|
|
7038
|
+
}
|
|
7039
|
+
|
|
5631
7040
|
// function that renders the HTML and CSS into the scope of the component
|
|
5632
7041
|
render() {
|
|
5633
7042
|
return u`
|
|
5634
7043
|
<div id="bibTemplate" part="bibtemplate">
|
|
5635
7044
|
${this.isFullscreen ? u`
|
|
5636
7045
|
<div id="headerContainer">
|
|
5637
|
-
|
|
7046
|
+
<${this.buttonTag} id="closeButton" variant="ghost" shape="circle" size="sm" @click="${this.onCloseButtonClick}">
|
|
5638
7047
|
<${this.iconTag} category="interface" name="x-lg"></${this.iconTag}>
|
|
5639
|
-
|
|
7048
|
+
</${this.buttonTag}>
|
|
5640
7049
|
<${this.headerTag} display="${this.large ? 'display' : '600'}" level="3" size="none" id="header" no-margin-block>
|
|
5641
7050
|
<slot name="header"></slot>
|
|
5642
7051
|
</${this.headerTag}>
|
|
@@ -5645,26 +7054,234 @@ class AuroBibtemplate extends i$2 {
|
|
|
5645
7054
|
</span>
|
|
5646
7055
|
</div>` : null}
|
|
5647
7056
|
|
|
5648
|
-
<div id="bodyContainer">
|
|
5649
|
-
<slot></slot>
|
|
5650
|
-
</div>
|
|
7057
|
+
<div id="bodyContainer">
|
|
7058
|
+
<slot></slot>
|
|
7059
|
+
</div>
|
|
7060
|
+
|
|
7061
|
+
${this.isFullscreen ? u`
|
|
7062
|
+
<div id="footerContainer">
|
|
7063
|
+
<slot name="footer"></slot>
|
|
7064
|
+
</div>` : null}
|
|
7065
|
+
</div>
|
|
7066
|
+
`;
|
|
7067
|
+
}
|
|
7068
|
+
}
|
|
7069
|
+
|
|
7070
|
+
var bibTemplateVersion = '1.0.0';
|
|
7071
|
+
|
|
7072
|
+
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)}`;
|
|
7073
|
+
|
|
7074
|
+
var styleCss$4 = i$5`.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}`;
|
|
7075
|
+
|
|
7076
|
+
var tokensCss$2 = i$5`:host{--ds-auro-helptext-color: var(--ds-basic-color-texticon-muted, #676767)}`;
|
|
7077
|
+
|
|
7078
|
+
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
7079
|
+
// See LICENSE in the project root for license information.
|
|
7080
|
+
|
|
7081
|
+
// ---------------------------------------------------------------------
|
|
7082
|
+
|
|
7083
|
+
/* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
|
|
7084
|
+
|
|
7085
|
+
let AuroLibraryRuntimeUtils$1 = class AuroLibraryRuntimeUtils {
|
|
7086
|
+
|
|
7087
|
+
/* eslint-disable jsdoc/require-param */
|
|
7088
|
+
|
|
7089
|
+
/**
|
|
7090
|
+
* This will register a new custom element with the browser.
|
|
7091
|
+
* @param {String} name - The name of the custom element.
|
|
7092
|
+
* @param {Object} componentClass - The class to register as a custom element.
|
|
7093
|
+
* @returns {void}
|
|
7094
|
+
*/
|
|
7095
|
+
registerComponent(name, componentClass) {
|
|
7096
|
+
if (!customElements.get(name)) {
|
|
7097
|
+
customElements.define(name, class extends componentClass {});
|
|
7098
|
+
}
|
|
7099
|
+
}
|
|
7100
|
+
|
|
7101
|
+
/**
|
|
7102
|
+
* Finds and returns the closest HTML Element based on a selector.
|
|
7103
|
+
* @returns {void}
|
|
7104
|
+
*/
|
|
7105
|
+
closestElement(
|
|
7106
|
+
selector, // selector like in .closest()
|
|
7107
|
+
base = this, // extra functionality to skip a parent
|
|
7108
|
+
__Closest = (el, found = el && el.closest(selector)) =>
|
|
7109
|
+
!el || el === document || el === window
|
|
7110
|
+
? null // standard .closest() returns null for non-found selectors also
|
|
7111
|
+
: found
|
|
7112
|
+
? found // found a selector INside this element
|
|
7113
|
+
: __Closest(el.getRootNode().host) // recursion!! break out to parent DOM
|
|
7114
|
+
) {
|
|
7115
|
+
return __Closest(base);
|
|
7116
|
+
}
|
|
7117
|
+
/* eslint-enable jsdoc/require-param */
|
|
7118
|
+
|
|
7119
|
+
/**
|
|
7120
|
+
* 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.
|
|
7121
|
+
* @param {Object} elem - The element to check.
|
|
7122
|
+
* @param {String} tagName - The name of the Auro component to check for or add as an attribute.
|
|
7123
|
+
* @returns {void}
|
|
7124
|
+
*/
|
|
7125
|
+
handleComponentTagRename(elem, tagName) {
|
|
7126
|
+
const tag = tagName.toLowerCase();
|
|
7127
|
+
const elemTag = elem.tagName.toLowerCase();
|
|
7128
|
+
|
|
7129
|
+
if (elemTag !== tag) {
|
|
7130
|
+
elem.setAttribute(tag, true);
|
|
7131
|
+
}
|
|
7132
|
+
}
|
|
7133
|
+
|
|
7134
|
+
/**
|
|
7135
|
+
* Validates if an element is a specific Auro component.
|
|
7136
|
+
* @param {Object} elem - The element to validate.
|
|
7137
|
+
* @param {String} tagName - The name of the Auro component to check against.
|
|
7138
|
+
* @returns {Boolean} - Returns true if the element is the specified Auro component.
|
|
7139
|
+
*/
|
|
7140
|
+
elementMatch(elem, tagName) {
|
|
7141
|
+
const tag = tagName.toLowerCase();
|
|
7142
|
+
const elemTag = elem.tagName.toLowerCase();
|
|
7143
|
+
|
|
7144
|
+
return elemTag === tag || elem.hasAttribute(tag);
|
|
7145
|
+
}
|
|
7146
|
+
};
|
|
7147
|
+
|
|
7148
|
+
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
7149
|
+
// See LICENSE in the project root for license information.
|
|
7150
|
+
|
|
7151
|
+
|
|
7152
|
+
/**
|
|
7153
|
+
* Displays help text or error messages within form elements - Internal Use Only.
|
|
7154
|
+
*
|
|
7155
|
+
* @attr { Boolean } large - If declared, make font-size to 1rem(16px).
|
|
7156
|
+
*/
|
|
7157
|
+
class AuroHelpText extends i$2 {
|
|
7158
|
+
|
|
7159
|
+
constructor() {
|
|
7160
|
+
super();
|
|
7161
|
+
|
|
7162
|
+
this.error = false;
|
|
7163
|
+
this.onDark = false;
|
|
7164
|
+
this.hasTextContent = false;
|
|
7165
|
+
|
|
7166
|
+
AuroLibraryRuntimeUtils$1.prototype.handleComponentTagRename(this, 'auro-helptext');
|
|
7167
|
+
}
|
|
7168
|
+
|
|
7169
|
+
static get styles() {
|
|
7170
|
+
return [
|
|
7171
|
+
colorCss$3,
|
|
7172
|
+
styleCss$4,
|
|
7173
|
+
tokensCss$2
|
|
7174
|
+
];
|
|
7175
|
+
}
|
|
7176
|
+
|
|
7177
|
+
// function to define props used within the scope of this component
|
|
7178
|
+
static get properties() {
|
|
7179
|
+
return {
|
|
7180
|
+
|
|
7181
|
+
/**
|
|
7182
|
+
* @private
|
|
7183
|
+
*/
|
|
7184
|
+
slotNodes: {
|
|
7185
|
+
type: Boolean,
|
|
7186
|
+
},
|
|
7187
|
+
|
|
7188
|
+
/**
|
|
7189
|
+
* @private
|
|
7190
|
+
*/
|
|
7191
|
+
hasTextContent: {
|
|
7192
|
+
type: Boolean,
|
|
7193
|
+
},
|
|
7194
|
+
|
|
7195
|
+
/**
|
|
7196
|
+
* If declared, make font color red.
|
|
7197
|
+
*/
|
|
7198
|
+
error: {
|
|
7199
|
+
type: Boolean,
|
|
7200
|
+
reflect: true,
|
|
7201
|
+
},
|
|
7202
|
+
|
|
7203
|
+
/**
|
|
7204
|
+
* If declared, will apply onDark styles.
|
|
7205
|
+
*/
|
|
7206
|
+
onDark: {
|
|
7207
|
+
type: Boolean,
|
|
7208
|
+
reflect: true
|
|
7209
|
+
}
|
|
7210
|
+
};
|
|
7211
|
+
}
|
|
7212
|
+
|
|
7213
|
+
/**
|
|
7214
|
+
* This will register this element with the browser.
|
|
7215
|
+
* @param {string} [name="auro-helptext"] - The name of element that you want to register to.
|
|
7216
|
+
*
|
|
7217
|
+
* @example
|
|
7218
|
+
* AuroCheckbox.register("custom-helptext") // this will register this element to <custom-helptext/>
|
|
7219
|
+
*
|
|
7220
|
+
*/
|
|
7221
|
+
static register(name = "auro-helptext") {
|
|
7222
|
+
AuroLibraryRuntimeUtils$1.prototype.registerComponent(name, AuroHelpText);
|
|
7223
|
+
}
|
|
7224
|
+
|
|
7225
|
+
updated() {
|
|
7226
|
+
this.handleSlotChange();
|
|
7227
|
+
}
|
|
7228
|
+
|
|
7229
|
+
handleSlotChange(event) {
|
|
7230
|
+
if (event) {
|
|
7231
|
+
this.slotNodes = event.target.assignedNodes();
|
|
7232
|
+
}
|
|
7233
|
+
|
|
7234
|
+
this.hasTextContent = this.checkSlotsForContent(this.slotNodes);
|
|
7235
|
+
}
|
|
7236
|
+
|
|
7237
|
+
/**
|
|
7238
|
+
* Checks if any of the provided nodes or their nested slot nodes contain non-empty text content.
|
|
7239
|
+
*
|
|
7240
|
+
* @param {NodeList|Array} nodes - The list of nodes to check for content.
|
|
7241
|
+
* @returns {boolean} - Returns true if any node or nested slot node contains non-empty text content, otherwise false.
|
|
7242
|
+
* @private
|
|
7243
|
+
*/
|
|
7244
|
+
checkSlotsForContent(nodes) {
|
|
7245
|
+
if (!nodes) {
|
|
7246
|
+
return false;
|
|
7247
|
+
}
|
|
7248
|
+
|
|
7249
|
+
return nodes.some((node) => {
|
|
7250
|
+
if (node.textContent.trim()) {
|
|
7251
|
+
return true;
|
|
7252
|
+
}
|
|
7253
|
+
|
|
7254
|
+
if (!node.querySelector) {
|
|
7255
|
+
return false;
|
|
7256
|
+
}
|
|
7257
|
+
|
|
7258
|
+
const nestedSlot = node.tagName === 'SLOT' ? node : node.querySelector('slot');
|
|
7259
|
+
if (!nestedSlot) {
|
|
7260
|
+
return false;
|
|
7261
|
+
}
|
|
5651
7262
|
|
|
5652
|
-
|
|
5653
|
-
|
|
5654
|
-
|
|
5655
|
-
|
|
7263
|
+
const nestedSlotNodes = nestedSlot.assignedNodes();
|
|
7264
|
+
return this.checkSlotsForContent(nestedSlotNodes);
|
|
7265
|
+
});
|
|
7266
|
+
}
|
|
7267
|
+
|
|
7268
|
+
// function that renders the HTML and CSS into the scope of the component
|
|
7269
|
+
render() {
|
|
7270
|
+
return x`
|
|
7271
|
+
<div class="helptext-wrapper" ?visible="${this.hasTextContent}">
|
|
7272
|
+
<slot @slotchange=${this.handleSlotChange}></slot>
|
|
5656
7273
|
</div>
|
|
5657
|
-
|
|
7274
|
+
`;
|
|
5658
7275
|
}
|
|
5659
7276
|
}
|
|
5660
7277
|
|
|
5661
|
-
var
|
|
7278
|
+
var helpTextVersion = '1.0.0';
|
|
5662
7279
|
|
|
5663
|
-
i$5`:focus:not(:focus-visible){outline:3px solid transparent}:host{display:
|
|
7280
|
+
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)}`;
|
|
5664
7281
|
|
|
5665
7282
|
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)}`;
|
|
5666
7283
|
|
|
5667
|
-
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)}`;
|
|
7284
|
+
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)}`;
|
|
5668
7285
|
|
|
5669
7286
|
// Copyright (c) 2021 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
5670
7287
|
// See LICENSE in the project root for license information.
|
|
@@ -5711,9 +7328,9 @@ function arrayConverter(value) {
|
|
|
5711
7328
|
throw new Error('Invalid value: Input must be an array or undefined');
|
|
5712
7329
|
}
|
|
5713
7330
|
|
|
5714
|
-
i$5`:host{display:flex;align-items:center;padding:var(--ds-size-50, 0.25rem) var(--ds-size-
|
|
7331
|
+
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) + 24px + 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);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);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) + 24px + 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}`;
|
|
5715
7332
|
|
|
5716
|
-
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)}`;
|
|
7333
|
+
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)}`;
|
|
5717
7334
|
|
|
5718
7335
|
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}`;
|
|
5719
7336
|
|
|
@@ -5721,7 +7338,7 @@ i$5`:host{--ds-auro-icon-color:var(--ds-basic-color-texticon-default, #2a2a2a);-
|
|
|
5721
7338
|
|
|
5722
7339
|
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)}`;
|
|
5723
7340
|
|
|
5724
|
-
var styleCss$3 = i$5
|
|
7341
|
+
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: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:8px}.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 8px 0 24px}:host([layout*=classic]) .triggerContent{padding:0 8px}:host([layout*=classic]) .mainContent{align-items:start}:host([layout*=classic]) label{cursor:text;font-size:16px;font-weight:450;letter-spacing:0;line-height:24px}: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]) *{user-select:none}`;
|
|
5725
7342
|
|
|
5726
7343
|
// Copyright (c) 2021 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
5727
7344
|
// See LICENSE in the project root for license information.
|
|
@@ -5736,14 +7353,16 @@ var styleCss$3 = i$5`:focus:not(:focus-visible){outline:3px solid transparent}.u
|
|
|
5736
7353
|
* @slot label - Defines the content of the label.
|
|
5737
7354
|
* @slot helpText - Defines the content of the helpText.
|
|
5738
7355
|
* @slot placeholder - Defines the content of the placeholder to be shown when there is no value
|
|
7356
|
+
* @slot valueText - Dropdown value text display.
|
|
7357
|
+
* @slot displayValue - Allows custom HTML content to display the selected value when select is not focused.
|
|
5739
7358
|
* @event auroSelect-valueSet - Notifies that the component has a new value set.
|
|
5740
|
-
* @event input - Notifies every time the value prop of the element is changed.
|
|
7359
|
+
* @event input - Notifies every time the value prop of the element is changed. The updated `value` and `optionSelected` will be delivered in `detail` object.
|
|
5741
7360
|
* @event auroFormElement-validated - Notifies that the `validity` and `errorMessage` values have changed.
|
|
5742
7361
|
* @csspart helpText - Apply CSS to the help text.
|
|
5743
7362
|
*/
|
|
5744
7363
|
|
|
5745
7364
|
// build the component class
|
|
5746
|
-
class AuroSelect extends
|
|
7365
|
+
class AuroSelect extends AuroElement$4 {
|
|
5747
7366
|
constructor() {
|
|
5748
7367
|
super();
|
|
5749
7368
|
|
|
@@ -5753,12 +7372,25 @@ class AuroSelect extends i$2 {
|
|
|
5753
7372
|
const idSubstrEnd = 8;
|
|
5754
7373
|
const idSubstrStart = 2;
|
|
5755
7374
|
|
|
7375
|
+
this.matchWidth = false;
|
|
7376
|
+
|
|
7377
|
+
// Layout Config
|
|
7378
|
+
this.layout = 'snowflake';
|
|
7379
|
+
this.shape = 'snowflake';
|
|
7380
|
+
this.size = 'xl';
|
|
7381
|
+
|
|
5756
7382
|
// floaterConfig
|
|
5757
7383
|
this.placement = 'bottom-start';
|
|
5758
7384
|
this.offset = 0;
|
|
5759
7385
|
this.noFlip = false;
|
|
5760
7386
|
this.autoPlacement = false;
|
|
5761
7387
|
|
|
7388
|
+
this.forceDisplayValue = false;
|
|
7389
|
+
|
|
7390
|
+
this.layout = 'classic';
|
|
7391
|
+
this.shape = 'classic';
|
|
7392
|
+
this.size = 'xl';
|
|
7393
|
+
|
|
5762
7394
|
/**
|
|
5763
7395
|
* @private
|
|
5764
7396
|
*/
|
|
@@ -5774,7 +7406,7 @@ class AuroSelect extends i$2 {
|
|
|
5774
7406
|
/**
|
|
5775
7407
|
* @private
|
|
5776
7408
|
*/
|
|
5777
|
-
this.runtimeUtils = new AuroLibraryRuntimeUtils$
|
|
7409
|
+
this.runtimeUtils = new AuroLibraryRuntimeUtils$6();
|
|
5778
7410
|
|
|
5779
7411
|
/**
|
|
5780
7412
|
* Generate unique names for dependency components.
|
|
@@ -5791,10 +7423,25 @@ class AuroSelect extends i$2 {
|
|
|
5791
7423
|
*/
|
|
5792
7424
|
this.bibtemplateTag = versioning.generateTag('auro-formkit-select-bibtemplate', bibTemplateVersion, AuroBibtemplate);
|
|
5793
7425
|
|
|
7426
|
+
/**
|
|
7427
|
+
* @private
|
|
7428
|
+
*/
|
|
7429
|
+
this.helpTextTag = versioning.generateTag('auro-formkit-input-helptext', helpTextVersion, AuroHelpText);
|
|
7430
|
+
|
|
5794
7431
|
/**
|
|
5795
7432
|
* @private
|
|
5796
7433
|
*/
|
|
5797
7434
|
this.isHiddenWhileLoading = false;
|
|
7435
|
+
|
|
7436
|
+
/**
|
|
7437
|
+
* @private
|
|
7438
|
+
*/
|
|
7439
|
+
this.hasFocus = false;
|
|
7440
|
+
|
|
7441
|
+
/**
|
|
7442
|
+
* @private
|
|
7443
|
+
*/
|
|
7444
|
+
this.hasDisplayValueContent = false;
|
|
5798
7445
|
}
|
|
5799
7446
|
|
|
5800
7447
|
/**
|
|
@@ -5808,6 +7455,7 @@ class AuroSelect extends i$2 {
|
|
|
5808
7455
|
this.value = undefined;
|
|
5809
7456
|
this.fullscreenBreakpoint = 'sm';
|
|
5810
7457
|
this.onDark = false;
|
|
7458
|
+
this.isPopoverVisible = false;
|
|
5811
7459
|
}
|
|
5812
7460
|
|
|
5813
7461
|
// This function is to define props used within the scope of this component
|
|
@@ -5824,6 +7472,14 @@ class AuroSelect extends i$2 {
|
|
|
5824
7472
|
reflect: true
|
|
5825
7473
|
},
|
|
5826
7474
|
|
|
7475
|
+
/**
|
|
7476
|
+
* If declared, the label and value will be visually hidden and the displayValue will render 100% of the time.
|
|
7477
|
+
*/
|
|
7478
|
+
forceDisplayValue: {
|
|
7479
|
+
type: Boolean,
|
|
7480
|
+
reflect: true
|
|
7481
|
+
},
|
|
7482
|
+
|
|
5827
7483
|
/**
|
|
5828
7484
|
* If declared, bib's position will be automatically calculated where to appear.
|
|
5829
7485
|
* @default false
|
|
@@ -5842,21 +7498,29 @@ class AuroSelect extends i$2 {
|
|
|
5842
7498
|
},
|
|
5843
7499
|
|
|
5844
7500
|
/**
|
|
5845
|
-
*
|
|
7501
|
+
* @private
|
|
5846
7502
|
*/
|
|
5847
|
-
|
|
5848
|
-
type:
|
|
5849
|
-
reflect:
|
|
7503
|
+
isPopoverVisible: {
|
|
7504
|
+
type: Boolean,
|
|
7505
|
+
reflect: false
|
|
5850
7506
|
},
|
|
5851
7507
|
|
|
5852
7508
|
/**
|
|
5853
|
-
* If
|
|
7509
|
+
* If declared, the popover and trigger will be set to the same width.
|
|
5854
7510
|
*/
|
|
5855
|
-
|
|
7511
|
+
matchWidth: {
|
|
5856
7512
|
type: Boolean,
|
|
5857
7513
|
reflect: true
|
|
5858
7514
|
},
|
|
5859
7515
|
|
|
7516
|
+
/**
|
|
7517
|
+
* The name for the select element.
|
|
7518
|
+
*/
|
|
7519
|
+
name: {
|
|
7520
|
+
type: String,
|
|
7521
|
+
reflect: true
|
|
7522
|
+
},
|
|
7523
|
+
|
|
5860
7524
|
/**
|
|
5861
7525
|
* Defines the screen size breakpoint (`xs`, `sm`, `md`, `lg`, `xl`, `disabled`)
|
|
5862
7526
|
* at which the dropdown switches to fullscreen mode on mobile. `disabled` indicates a dropdown should _never_ enter fullscreen.
|
|
@@ -5950,7 +7614,7 @@ class AuroSelect extends i$2 {
|
|
|
5950
7614
|
* "top" | "right" | "bottom" | "left" |
|
|
5951
7615
|
* "bottom-start" | "top-start" | "top-end" |
|
|
5952
7616
|
* "right-start" | "right-end" | "bottom-end" |
|
|
5953
|
-
* "left-start" | "left-end"
|
|
7617
|
+
* "left-start" | "left-end".
|
|
5954
7618
|
* @default bottom-start
|
|
5955
7619
|
*/
|
|
5956
7620
|
placement: {
|
|
@@ -6030,12 +7694,58 @@ class AuroSelect extends i$2 {
|
|
|
6030
7694
|
type: Boolean,
|
|
6031
7695
|
reflect: true,
|
|
6032
7696
|
attribute: false
|
|
6033
|
-
}
|
|
7697
|
+
},
|
|
7698
|
+
|
|
7699
|
+
/**
|
|
7700
|
+
* @private
|
|
7701
|
+
*/
|
|
7702
|
+
hasFocus: {
|
|
7703
|
+
type: Boolean,
|
|
7704
|
+
reflect: false,
|
|
7705
|
+
attribute: false
|
|
7706
|
+
},
|
|
7707
|
+
|
|
7708
|
+
/**
|
|
7709
|
+
* @private
|
|
7710
|
+
*/
|
|
7711
|
+
hasDisplayValueContent: {
|
|
7712
|
+
type: Boolean,
|
|
7713
|
+
reflect: false,
|
|
7714
|
+
attribute: false
|
|
7715
|
+
},
|
|
6034
7716
|
};
|
|
6035
7717
|
}
|
|
6036
7718
|
|
|
6037
7719
|
static get styles() {
|
|
6038
|
-
return [
|
|
7720
|
+
return [
|
|
7721
|
+
i$5`${shapeSizeCss$1}`,
|
|
7722
|
+
i$5`${tokensCss$5}`,
|
|
7723
|
+
i$5`${styleCss$3}`,
|
|
7724
|
+
];
|
|
7725
|
+
}
|
|
7726
|
+
|
|
7727
|
+
/**
|
|
7728
|
+
* Returns classmap configuration for html5 input labels in all layouts.
|
|
7729
|
+
* @private
|
|
7730
|
+
* @returns {void}
|
|
7731
|
+
*/
|
|
7732
|
+
get commonLabelClasses() {
|
|
7733
|
+
return {
|
|
7734
|
+
'is-disabled': this.disabled,
|
|
7735
|
+
'withValue': this.value && this.value.length > 0,
|
|
7736
|
+
'util_displayHiddenVisually': this.hasDisplayValueContent && !this.hasFocus && this.value && this.value.length > 0
|
|
7737
|
+
};
|
|
7738
|
+
}
|
|
7739
|
+
|
|
7740
|
+
/**
|
|
7741
|
+
* Returns classmap configuration for wrapper elements in each layout.
|
|
7742
|
+
* @private
|
|
7743
|
+
* @returns {object} - Returns classmap.
|
|
7744
|
+
*/
|
|
7745
|
+
get commonWrapperClasses() {
|
|
7746
|
+
return {
|
|
7747
|
+
'wrapper': true
|
|
7748
|
+
};
|
|
6039
7749
|
}
|
|
6040
7750
|
|
|
6041
7751
|
/**
|
|
@@ -6045,11 +7755,13 @@ class AuroSelect extends i$2 {
|
|
|
6045
7755
|
*/
|
|
6046
7756
|
configureDropdown() {
|
|
6047
7757
|
this.dropdown = this.shadowRoot.querySelector(this.dropdownTag._$litStatic$);
|
|
6048
|
-
|
|
7758
|
+
|
|
7759
|
+
this.dropdown.addEventListener('auroDropdown-toggled', () => {
|
|
7760
|
+
this.isPopoverVisible = this.dropdown.isPopoverVisible;
|
|
7761
|
+
});
|
|
6049
7762
|
|
|
6050
7763
|
// setting up bibtemplate
|
|
6051
|
-
this.bibtemplate = this.dropdown.querySelector(this.bibtemplateTag._$litStatic$);
|
|
6052
|
-
this.bibtemplate.append(this.menuWrapper);
|
|
7764
|
+
this.bibtemplate = this.dropdown.querySelector(this.bibtemplateTag._$litStatic$);
|
|
6053
7765
|
|
|
6054
7766
|
if (this.customBibWidth) {
|
|
6055
7767
|
this.dropdown.dropdownWidth = this.customBibWidth;
|
|
@@ -6068,7 +7780,7 @@ class AuroSelect extends i$2 {
|
|
|
6068
7780
|
*
|
|
6069
7781
|
*/
|
|
6070
7782
|
static register(name = "auro-select") {
|
|
6071
|
-
AuroLibraryRuntimeUtils$
|
|
7783
|
+
AuroLibraryRuntimeUtils$6.prototype.registerComponent(name, AuroSelect);
|
|
6072
7784
|
}
|
|
6073
7785
|
|
|
6074
7786
|
/**
|
|
@@ -6079,27 +7791,34 @@ class AuroSelect extends i$2 {
|
|
|
6079
7791
|
updateDisplayedValue() {
|
|
6080
7792
|
const triggerContentEl = this.dropdown.querySelector('#triggerFocus');
|
|
6081
7793
|
|
|
6082
|
-
// Clear
|
|
6083
|
-
const
|
|
6084
|
-
|
|
6085
|
-
|
|
6086
|
-
triggerContentEl.appendChild(placeholder);
|
|
7794
|
+
// Clear out old value
|
|
7795
|
+
const valueElem = triggerContentEl.querySelector('#value');
|
|
7796
|
+
if (valueElem) {
|
|
7797
|
+
valueElem.innerHTML = '';
|
|
6087
7798
|
}
|
|
6088
7799
|
|
|
7800
|
+
const slot = this.shadowRoot.querySelector('slot[name="displayValue"]');
|
|
7801
|
+
const slottedElements = slot.assignedElements();
|
|
7802
|
+
|
|
7803
|
+
slottedElements.forEach((element) => {
|
|
7804
|
+
element.remove();
|
|
7805
|
+
});
|
|
7806
|
+
|
|
6089
7807
|
// Handle selected options
|
|
6090
7808
|
if (this.optionSelected) {
|
|
6091
|
-
let displayText = '';
|
|
6092
|
-
|
|
6093
7809
|
if (this.multiSelect && this.optionSelected.length > 0) {
|
|
6094
|
-
|
|
6095
|
-
|
|
7810
|
+
const displayText = this.optionSelected.map((option) => option.textContent).join(', ');
|
|
7811
|
+
|
|
7812
|
+
valueElem.textContent = displayText;
|
|
6096
7813
|
} else {
|
|
6097
|
-
|
|
6098
|
-
|
|
7814
|
+
valueElem.innerHTML = this.optionSelected.innerHTML;
|
|
7815
|
+
const displayValueEl = this.optionSelected.querySelector("[slot='displayValue']");
|
|
6099
7816
|
|
|
6100
|
-
|
|
6101
|
-
|
|
6102
|
-
|
|
7817
|
+
if (displayValueEl) {
|
|
7818
|
+
this.appendChild(displayValueEl.cloneNode(true));
|
|
7819
|
+
}
|
|
7820
|
+
this.hasDisplayValueContent = displayValueEl !== null;
|
|
7821
|
+
}
|
|
6103
7822
|
}
|
|
6104
7823
|
|
|
6105
7824
|
this.dropdown.requestUpdate();
|
|
@@ -6121,6 +7840,15 @@ class AuroSelect extends i$2 {
|
|
|
6121
7840
|
return;
|
|
6122
7841
|
}
|
|
6123
7842
|
|
|
7843
|
+
// set menu's default size if there it's not specified.
|
|
7844
|
+
if (!this.menu.getAttribute('size')) {
|
|
7845
|
+
this.menu.setAttribute('size', this.layout !== 'emphasized' ? 'md' : this.size);
|
|
7846
|
+
}
|
|
7847
|
+
|
|
7848
|
+
if (!this.getAttribute('shape')) {
|
|
7849
|
+
this.menu.setAttribute('shape', this.layout === 'classic' ? 'box' : this.shape);
|
|
7850
|
+
}
|
|
7851
|
+
|
|
6124
7852
|
if (this.multiSelect) {
|
|
6125
7853
|
this.menu.multiSelect = this.multiSelect;
|
|
6126
7854
|
}
|
|
@@ -6178,8 +7906,6 @@ class AuroSelect extends i$2 {
|
|
|
6178
7906
|
* @returns {void}
|
|
6179
7907
|
*/
|
|
6180
7908
|
configureSelect() {
|
|
6181
|
-
// inject menu into menuWrapper
|
|
6182
|
-
this.menuWrapper.append(this.menu);
|
|
6183
7909
|
|
|
6184
7910
|
this.addEventListener('keydown', (evt) => {
|
|
6185
7911
|
if (evt.key === 'ArrowUp') {
|
|
@@ -6233,6 +7959,7 @@ class AuroSelect extends i$2 {
|
|
|
6233
7959
|
|
|
6234
7960
|
this.addEventListener('blur', () => {
|
|
6235
7961
|
this.validation.validate(this);
|
|
7962
|
+
this.hasFocus = false;
|
|
6236
7963
|
});
|
|
6237
7964
|
}
|
|
6238
7965
|
|
|
@@ -6308,6 +8035,7 @@ class AuroSelect extends i$2 {
|
|
|
6308
8035
|
*/
|
|
6309
8036
|
handleFocusin() {
|
|
6310
8037
|
|
|
8038
|
+
this.hasFocus = true;
|
|
6311
8039
|
this.touched = true;
|
|
6312
8040
|
}
|
|
6313
8041
|
|
|
@@ -6384,17 +8112,32 @@ class AuroSelect extends i$2 {
|
|
|
6384
8112
|
// Add the tag name as an attribute if it is different than the component name
|
|
6385
8113
|
this.runtimeUtils.handleComponentTagRename(this, 'auro-select');
|
|
6386
8114
|
|
|
6387
|
-
this.configureMenu();
|
|
6388
8115
|
this.configureDropdown();
|
|
8116
|
+
this.configureMenu();
|
|
6389
8117
|
this.configureSelect();
|
|
6390
8118
|
|
|
6391
8119
|
// Set the initial value in auro-menu if defined
|
|
6392
8120
|
if (this.hasAttribute('value') && this.getAttribute('value').length > 0) {
|
|
6393
8121
|
this.value = this.multiSelect ? arrayConverter(this.getAttribute('value')) : this.getAttribute('value');
|
|
6394
|
-
this.menu
|
|
8122
|
+
if (this.menu) {
|
|
8123
|
+
this.menu.value = this.value;
|
|
8124
|
+
}
|
|
6395
8125
|
}
|
|
6396
8126
|
}
|
|
6397
8127
|
|
|
8128
|
+
/**
|
|
8129
|
+
* Update the menu value. With checks for menu existence. Awaits value update.
|
|
8130
|
+
* @param {string} value - The value to set in the menu.
|
|
8131
|
+
* @returns void
|
|
8132
|
+
* @private
|
|
8133
|
+
*/
|
|
8134
|
+
async updateMenuValue(value) {
|
|
8135
|
+
if (!this.menu) return;
|
|
8136
|
+
|
|
8137
|
+
this.menu.value = value;
|
|
8138
|
+
await this.menu.updateComplete;
|
|
8139
|
+
}
|
|
8140
|
+
|
|
6398
8141
|
async updated(changedProperties) {
|
|
6399
8142
|
if (changedProperties.has('multiSelect')) {
|
|
6400
8143
|
this.clearSelection();
|
|
@@ -6404,14 +8147,13 @@ class AuroSelect extends i$2 {
|
|
|
6404
8147
|
if (this.value) {
|
|
6405
8148
|
this.value = this.multiSelect ? arrayConverter(this.value) : this.value;
|
|
6406
8149
|
|
|
6407
|
-
this.
|
|
6408
|
-
|
|
6409
|
-
// Wait for menu to finish updating its value
|
|
6410
|
-
await this.menu.updateComplete;
|
|
8150
|
+
await this.updateMenuValue(this.value);
|
|
6411
8151
|
|
|
6412
|
-
|
|
8152
|
+
if (this.menu) {
|
|
8153
|
+
this.optionSelected = this.menu.optionSelected;
|
|
8154
|
+
}
|
|
6413
8155
|
} else {
|
|
6414
|
-
this.
|
|
8156
|
+
await this.updateMenuValue(undefined);
|
|
6415
8157
|
}
|
|
6416
8158
|
|
|
6417
8159
|
this._updateNativeSelect();
|
|
@@ -6428,6 +8170,10 @@ class AuroSelect extends i$2 {
|
|
|
6428
8170
|
bubbles: true,
|
|
6429
8171
|
cancelable: true,
|
|
6430
8172
|
composed: true,
|
|
8173
|
+
detail: {
|
|
8174
|
+
optionSelected: this.optionSelected,
|
|
8175
|
+
value: this.value
|
|
8176
|
+
}
|
|
6431
8177
|
}));
|
|
6432
8178
|
}
|
|
6433
8179
|
|
|
@@ -6438,6 +8184,14 @@ class AuroSelect extends i$2 {
|
|
|
6438
8184
|
if (changedProperties.has('error')) {
|
|
6439
8185
|
this.validate(true);
|
|
6440
8186
|
}
|
|
8187
|
+
|
|
8188
|
+
if (changedProperties.has('shape') && this.menu) {
|
|
8189
|
+
this.menu.setAttribute('shape', this.layout === 'classic' ? 'box' : this.shape);
|
|
8190
|
+
}
|
|
8191
|
+
|
|
8192
|
+
if (changedProperties.has('size') && this.menu) {
|
|
8193
|
+
this.menu.setAttribute('size', this.layout !== 'emphasized' ? 'md' : this.size);
|
|
8194
|
+
}
|
|
6441
8195
|
}
|
|
6442
8196
|
|
|
6443
8197
|
/**
|
|
@@ -6462,53 +8216,397 @@ class AuroSelect extends i$2 {
|
|
|
6462
8216
|
* Validates value.
|
|
6463
8217
|
* @param {boolean} [force=false] - Whether to force validation.
|
|
6464
8218
|
*/
|
|
6465
|
-
validate(force = false) {
|
|
6466
|
-
this.validation.validate(this, force);
|
|
8219
|
+
validate(force = false) {
|
|
8220
|
+
this.validation.validate(this, force);
|
|
8221
|
+
}
|
|
8222
|
+
|
|
8223
|
+
/**
|
|
8224
|
+
* Syncs the value from the native select element to the component's value.
|
|
8225
|
+
* @param {Event} event // The change event from the native select element.
|
|
8226
|
+
* @returns {void}
|
|
8227
|
+
* @private
|
|
8228
|
+
*/
|
|
8229
|
+
_handleNativeSelectChange(event) {
|
|
8230
|
+
const selectedOption = event.target.options[event.target.selectedIndex];
|
|
8231
|
+
const selectedValue = selectedOption.value;
|
|
8232
|
+
|
|
8233
|
+
if (this.multiSelect) {
|
|
8234
|
+
const currentArray = Array.isArray(this.value) ? this.value : [];
|
|
8235
|
+
|
|
8236
|
+
if (!currentArray.includes(selectedValue)) {
|
|
8237
|
+
this.value = [
|
|
8238
|
+
...currentArray,
|
|
8239
|
+
selectedValue
|
|
8240
|
+
];
|
|
8241
|
+
}
|
|
8242
|
+
} else {
|
|
8243
|
+
const currentValue = this.value;
|
|
8244
|
+
|
|
8245
|
+
if (currentValue !== selectedValue) {
|
|
8246
|
+
this.value = selectedValue;
|
|
8247
|
+
}
|
|
8248
|
+
}
|
|
8249
|
+
}
|
|
8250
|
+
|
|
8251
|
+
/**
|
|
8252
|
+
* Updates the native select element's value based on the component's value.
|
|
8253
|
+
* @returns {void}
|
|
8254
|
+
* @private
|
|
8255
|
+
*/
|
|
8256
|
+
_updateNativeSelect() {
|
|
8257
|
+
const nativeSelect = this.shadowRoot.querySelector('select');
|
|
8258
|
+
if (!nativeSelect) {
|
|
8259
|
+
return;
|
|
8260
|
+
}
|
|
8261
|
+
|
|
8262
|
+
if (this.multiSelect) {
|
|
8263
|
+
nativeSelect.value = this.value ? this.value[0] : '';
|
|
8264
|
+
} else {
|
|
8265
|
+
nativeSelect.value = this.value || '';
|
|
8266
|
+
}
|
|
8267
|
+
}
|
|
8268
|
+
|
|
8269
|
+
renderAriaHtml() {
|
|
8270
|
+
return u`
|
|
8271
|
+
<div aria-live="polite" class="util_displayHiddenVisually">
|
|
8272
|
+
${this.optionActive && this.options.length > 0
|
|
8273
|
+
? u`
|
|
8274
|
+
${`${this.optionActive.innerText}, option ${this.options.indexOf(this.optionActive) + 1} of ${this.options.length}`}
|
|
8275
|
+
`
|
|
8276
|
+
: undefined
|
|
8277
|
+
};
|
|
8278
|
+
|
|
8279
|
+
${this.optionSelected && this.options.length > 0
|
|
8280
|
+
? u`
|
|
8281
|
+
${`${this.optionSelected.innerText} selected`}
|
|
8282
|
+
`
|
|
8283
|
+
: undefined
|
|
8284
|
+
};
|
|
8285
|
+
</div>
|
|
8286
|
+
`;
|
|
8287
|
+
}
|
|
8288
|
+
|
|
8289
|
+
renderNativeSelect() {
|
|
8290
|
+
return u`
|
|
8291
|
+
<div class="nativeSelectWrapper util_displayHidden">
|
|
8292
|
+
<select
|
|
8293
|
+
tabindex="-1"
|
|
8294
|
+
id="${`native-select-${this.id || this.uniqueId}`}"
|
|
8295
|
+
name="${this.name || ''}"
|
|
8296
|
+
?disabled="${this.disabled}"
|
|
8297
|
+
?required="${this.required}"
|
|
8298
|
+
aria-hidden="true"
|
|
8299
|
+
autocomplete="${o(this.autocomplete)}"
|
|
8300
|
+
@change="${this._handleNativeSelectChange}">
|
|
8301
|
+
<option value="" ?selected="${!this.value}"></option>
|
|
8302
|
+
${this.options.map((option) => {
|
|
8303
|
+
const optionValue = option.value || option.textContent;
|
|
8304
|
+
return u`
|
|
8305
|
+
<option
|
|
8306
|
+
value="${optionValue}"
|
|
8307
|
+
?selected="${this.value === optionValue}">
|
|
8308
|
+
${option.textContent}
|
|
8309
|
+
</option>
|
|
8310
|
+
`;
|
|
8311
|
+
})}
|
|
8312
|
+
</select>
|
|
8313
|
+
</div>
|
|
8314
|
+
`;
|
|
8315
|
+
}
|
|
8316
|
+
|
|
8317
|
+
/**
|
|
8318
|
+
* Returns HTML for the help text and error message.
|
|
8319
|
+
* @private
|
|
8320
|
+
* @returns {html} - Returns HTML for the help text and error message.
|
|
8321
|
+
*/
|
|
8322
|
+
renderHtmlHelpText() {
|
|
8323
|
+
return u`
|
|
8324
|
+
${!this.validity || this.validity === undefined || this.validity === 'valid'
|
|
8325
|
+
? u`
|
|
8326
|
+
<${this.helpTextTag} ?onDark="${this.onDark}">
|
|
8327
|
+
<p id="${this.uniqueId}" part="helpText">
|
|
8328
|
+
<slot name="helptext"></slot>
|
|
8329
|
+
</p>
|
|
8330
|
+
</${this.helpTextTag}>
|
|
8331
|
+
`
|
|
8332
|
+
: u`
|
|
8333
|
+
<${this.helpTextTag} error ?onDark="${this.onDark}">
|
|
8334
|
+
<p id="${this.uniqueId}" role="alert" aria-live="assertive" part="helpText">
|
|
8335
|
+
ERROR MESSAGE ${this.errorMessage}
|
|
8336
|
+
</p>
|
|
8337
|
+
</${this.helpTextTag}>
|
|
8338
|
+
`
|
|
8339
|
+
}
|
|
8340
|
+
`;
|
|
8341
|
+
}
|
|
8342
|
+
|
|
8343
|
+
/**
|
|
8344
|
+
* Returns HTML for the emphasized layout.
|
|
8345
|
+
* @private
|
|
8346
|
+
* @returns {import("lit").TemplateResult} - Returns HTML for the emphasized layout.
|
|
8347
|
+
*/
|
|
8348
|
+
renderLayoutEmphasized() {
|
|
8349
|
+
const placeholderClass = {
|
|
8350
|
+
hidden: this.value,
|
|
8351
|
+
};
|
|
8352
|
+
|
|
8353
|
+
const displayValueClasses = {
|
|
8354
|
+
'displayValue': true,
|
|
8355
|
+
'hasContent': this.hasDisplayValueContent,
|
|
8356
|
+
'hasFocus': this.isPopoverVisible,
|
|
8357
|
+
'withValue': this.value && this.value.length > 0,
|
|
8358
|
+
'force': this.forceDisplayValue,
|
|
8359
|
+
};
|
|
8360
|
+
|
|
8361
|
+
const valueContainerClasses = {
|
|
8362
|
+
'valueContainer': true,
|
|
8363
|
+
'util_displayHiddenVisually': (this.forceDisplayValue || !(this.dropdown && this.dropdown.isPopoverVisible)) && this.hasDisplayValueContent
|
|
8364
|
+
};
|
|
8365
|
+
|
|
8366
|
+
return u`
|
|
8367
|
+
<div
|
|
8368
|
+
class="${e(this.commonWrapperClasses)}"
|
|
8369
|
+
part="wrapper">
|
|
8370
|
+
<div id="slotHolder" aria-hidden="true">
|
|
8371
|
+
<slot name="bib.fullscreen.headline" @slotchange="${this.handleSlotChange}"></slot>
|
|
8372
|
+
</div>
|
|
8373
|
+
<${this.dropdownTag}
|
|
8374
|
+
a11yRole="select"
|
|
8375
|
+
?autoPlacement="${this.autoPlacement}"
|
|
8376
|
+
?error="${this.validity !== undefined && this.validity !== 'valid'}"
|
|
8377
|
+
?matchWidth="${this.matchWidth}"
|
|
8378
|
+
?noFlip="${this.noFlip}"
|
|
8379
|
+
?onDark="${this.onDark}"
|
|
8380
|
+
.fullscreenBreakpoint="${this.fullscreenBreakpoint}"
|
|
8381
|
+
.offset="${this.offset}"
|
|
8382
|
+
.placement="${this.placement}"
|
|
8383
|
+
chevron
|
|
8384
|
+
fluid
|
|
8385
|
+
for="selectMenu"
|
|
8386
|
+
layout="${this.layout}"
|
|
8387
|
+
part="dropdown"
|
|
8388
|
+
shape="${this.shape}"
|
|
8389
|
+
size="${this.size}">
|
|
8390
|
+
<div slot="trigger" aria-haspopup="true" id="triggerFocus" class="triggerContent">
|
|
8391
|
+
<div class="accents left">
|
|
8392
|
+
<slot name="typeIcon"></slot>
|
|
8393
|
+
</div>
|
|
8394
|
+
<div class="mainContent">
|
|
8395
|
+
<div class="${e(valueContainerClasses)}">
|
|
8396
|
+
<label class="${e(this.commonLabelClasses)}">
|
|
8397
|
+
<slot name="label"></slot>
|
|
8398
|
+
</label>
|
|
8399
|
+
<div class="value" id="value"></div>
|
|
8400
|
+
${this.value ? undefined : u`
|
|
8401
|
+
<div id="placeholder" class="${e(placeholderClass)}">
|
|
8402
|
+
<slot name="placeholder"></slot>
|
|
8403
|
+
</div>
|
|
8404
|
+
`}
|
|
8405
|
+
</div>
|
|
8406
|
+
<div class="${e(displayValueClasses)}" aria-hidden="true" part="displayValue">
|
|
8407
|
+
<slot name="displayValue"></slot>
|
|
8408
|
+
</div>
|
|
8409
|
+
</div>
|
|
8410
|
+
<div class="accents right"></div>
|
|
8411
|
+
</div>
|
|
8412
|
+
<div class="menuWrapper"></div>
|
|
8413
|
+
<${this.bibtemplateTag} ?large="${this.largeFullscreenHeadline}" @close-click="${this.hideBib}">
|
|
8414
|
+
<slot></slot>
|
|
8415
|
+
</${this.bibtemplateTag}>
|
|
8416
|
+
<div slot="helpText">
|
|
8417
|
+
${this.renderHtmlHelpText()}
|
|
8418
|
+
</div>
|
|
8419
|
+
</${this.dropdownTag}>
|
|
8420
|
+
</div>
|
|
8421
|
+
`;
|
|
8422
|
+
}
|
|
8423
|
+
|
|
8424
|
+
/**
|
|
8425
|
+
* Returns HTML for the snowflake layout.
|
|
8426
|
+
* @private
|
|
8427
|
+
* @returns {import("lit").TemplateResult} - Returns HTML for the snowflake layout.
|
|
8428
|
+
*/
|
|
8429
|
+
renderLayoutSnowflake() {
|
|
8430
|
+
const placeholderClass = {
|
|
8431
|
+
hidden: this.value,
|
|
8432
|
+
};
|
|
8433
|
+
|
|
8434
|
+
const displayValueClasses = {
|
|
8435
|
+
'displayValue': true,
|
|
8436
|
+
'hasContent': this.hasDisplayValueContent,
|
|
8437
|
+
'hasFocus': this.isPopoverVisible,
|
|
8438
|
+
'withValue': this.value && this.value.length > 0,
|
|
8439
|
+
'force': this.forceDisplayValue,
|
|
8440
|
+
};
|
|
8441
|
+
|
|
8442
|
+
const valueContainerClasses = {
|
|
8443
|
+
'valueContainer': true,
|
|
8444
|
+
'util_displayHiddenVisually': (this.forceDisplayValue || !(this.dropdown && this.dropdown.isPopoverVisible)) && this.hasDisplayValueContent
|
|
8445
|
+
};
|
|
8446
|
+
|
|
8447
|
+
return u`
|
|
8448
|
+
<div
|
|
8449
|
+
class="${e(this.commonWrapperClasses)}"
|
|
8450
|
+
part="wrapper">
|
|
8451
|
+
<div id="slotHolder" aria-hidden="true">
|
|
8452
|
+
<slot name="bib.fullscreen.headline" @slotchange="${this.handleSlotChange}"></slot>
|
|
8453
|
+
</div>
|
|
8454
|
+
<${this.dropdownTag}
|
|
8455
|
+
?autoPlacement="${this.autoPlacement}"
|
|
8456
|
+
?error="${this.validity !== undefined && this.validity !== 'valid'}"
|
|
8457
|
+
?matchWidth="${this.matchWidth}"
|
|
8458
|
+
?noFlip="${this.noFlip}"
|
|
8459
|
+
?onDark="${this.onDark}"
|
|
8460
|
+
.fullscreenBreakpoint="${this.fullscreenBreakpoint}"
|
|
8461
|
+
.offset="${this.offset}"
|
|
8462
|
+
.placement="${this.placement}"
|
|
8463
|
+
chevron
|
|
8464
|
+
fluid
|
|
8465
|
+
for="selectMenu"
|
|
8466
|
+
layout="${this.layout}"
|
|
8467
|
+
part="dropdown"
|
|
8468
|
+
shape="${this.shape}"
|
|
8469
|
+
size="${this.size}">
|
|
8470
|
+
<div slot="trigger" aria-haspopup="true" id="triggerFocus" class="triggerContent">
|
|
8471
|
+
<div class="accents left">
|
|
8472
|
+
<slot name="typeIcon"></slot>
|
|
8473
|
+
</div>
|
|
8474
|
+
<div class="mainContent">
|
|
8475
|
+
<div class="${e(valueContainerClasses)}">
|
|
8476
|
+
<label class="${e(this.commonLabelClasses)}">
|
|
8477
|
+
<slot name="label"></slot>
|
|
8478
|
+
</label>
|
|
8479
|
+
<div class="value" id="value"></div>
|
|
8480
|
+
${this.value ? undefined : u`
|
|
8481
|
+
<div id="placeholder" class="${e(placeholderClass)}">
|
|
8482
|
+
<slot name="placeholder"></slot>
|
|
8483
|
+
</div>
|
|
8484
|
+
`}
|
|
8485
|
+
</div>
|
|
8486
|
+
<div class="${e(displayValueClasses)}" aria-hidden="true" part="displayValue">
|
|
8487
|
+
<slot name="displayValue"></slot>
|
|
8488
|
+
</div>
|
|
8489
|
+
</div>
|
|
8490
|
+
<div class="accents right"></div>
|
|
8491
|
+
</div>
|
|
8492
|
+
<div class="menuWrapper"></div>
|
|
8493
|
+
<${this.bibtemplateTag} ?large="${this.largeFullscreenHeadline}" @close-click="${this.hideBib}">
|
|
8494
|
+
<slot></slot>
|
|
8495
|
+
</${this.bibtemplateTag}>
|
|
8496
|
+
<div slot="helpText">
|
|
8497
|
+
${this.renderHtmlHelpText()}
|
|
8498
|
+
</div>
|
|
8499
|
+
</${this.dropdownTag}>
|
|
8500
|
+
${this.renderNativeSelect()}
|
|
8501
|
+
</div>
|
|
8502
|
+
`;
|
|
6467
8503
|
}
|
|
6468
8504
|
|
|
6469
8505
|
/**
|
|
6470
|
-
*
|
|
6471
|
-
* @param {Event} event // The change event from the native select element.
|
|
6472
|
-
* @returns {void}
|
|
8506
|
+
* Returns HTML for the classic layout.
|
|
6473
8507
|
* @private
|
|
8508
|
+
* @returns {import("lit").TemplateResult} - Returns HTML for the classic layout.
|
|
6474
8509
|
*/
|
|
6475
|
-
|
|
6476
|
-
const
|
|
6477
|
-
|
|
8510
|
+
renderLayoutClassic() {
|
|
8511
|
+
const placeholderClass = {
|
|
8512
|
+
hidden: this.value,
|
|
8513
|
+
};
|
|
6478
8514
|
|
|
6479
|
-
|
|
6480
|
-
|
|
8515
|
+
const displayValueClasses = {
|
|
8516
|
+
'displayValue': true,
|
|
8517
|
+
'hasContent': this.hasDisplayValueContent,
|
|
8518
|
+
'hasFocus': this.isPopoverVisible,
|
|
8519
|
+
'withValue': this.value && this.value.length > 0,
|
|
8520
|
+
'force': this.forceDisplayValue,
|
|
8521
|
+
};
|
|
6481
8522
|
|
|
6482
|
-
|
|
6483
|
-
|
|
6484
|
-
|
|
6485
|
-
|
|
6486
|
-
];
|
|
6487
|
-
}
|
|
6488
|
-
} else {
|
|
6489
|
-
const currentValue = this.value;
|
|
8523
|
+
const valueContainerClasses = {
|
|
8524
|
+
'valueContainer': true,
|
|
8525
|
+
'util_displayHiddenVisually': (this.forceDisplayValue || !(this.dropdown && this.dropdown.isPopoverVisible)) && this.hasDisplayValueContent
|
|
8526
|
+
};
|
|
6490
8527
|
|
|
6491
|
-
|
|
6492
|
-
|
|
6493
|
-
|
|
6494
|
-
|
|
8528
|
+
return u`
|
|
8529
|
+
<div
|
|
8530
|
+
class="${e(this.commonWrapperClasses)}"
|
|
8531
|
+
part="wrapper">
|
|
8532
|
+
<div id="slotHolder" aria-hidden="true">
|
|
8533
|
+
<slot name="bib.fullscreen.headline" @slotchange="${this.handleSlotChange}"></slot>
|
|
8534
|
+
</div>
|
|
8535
|
+
<${this.dropdownTag}
|
|
8536
|
+
?autoPlacement="${this.autoPlacement}"
|
|
8537
|
+
?error="${this.validity !== undefined && this.validity !== 'valid'}"
|
|
8538
|
+
?matchWidth="${!this.flexMenuWidth}"
|
|
8539
|
+
?noFlip="${this.noFlip}"
|
|
8540
|
+
?onDark="${this.onDark}"
|
|
8541
|
+
.fullscreenBreakpoint="${this.fullscreenBreakpoint}"
|
|
8542
|
+
.offset="${this.offset}"
|
|
8543
|
+
.placement="${this.placement}"
|
|
8544
|
+
chevron
|
|
8545
|
+
fluid
|
|
8546
|
+
for="selectMenu"
|
|
8547
|
+
layout="${this.layout}"
|
|
8548
|
+
part="dropdown"
|
|
8549
|
+
shape="${this.shape}"
|
|
8550
|
+
size="${this.size}">
|
|
8551
|
+
<div slot="trigger" aria-haspopup="true" id="triggerFocus" class="triggerContent">
|
|
8552
|
+
<div class="accents left">
|
|
8553
|
+
<slot name="typeIcon"></slot>
|
|
8554
|
+
</div>
|
|
8555
|
+
<div class="mainContent">
|
|
8556
|
+
<div class="${e(valueContainerClasses)}">
|
|
8557
|
+
<label class="${e(this.commonLabelClasses)}">
|
|
8558
|
+
<slot name="label"></slot>
|
|
8559
|
+
</label>
|
|
8560
|
+
<div class="value" id="value"></div>
|
|
8561
|
+
${this.value ? undefined : u`
|
|
8562
|
+
<div id="placeholder" class="${e(placeholderClass)}">
|
|
8563
|
+
<slot name="placeholder"></slot>
|
|
8564
|
+
</div>
|
|
8565
|
+
`}
|
|
8566
|
+
</div>
|
|
8567
|
+
<div class="${e(displayValueClasses)}" aria-hidden="true" part="displayValue">
|
|
8568
|
+
<slot name="displayValue"></slot>
|
|
8569
|
+
</div>
|
|
8570
|
+
</div>
|
|
8571
|
+
<div class="accents right"></div>
|
|
8572
|
+
</div>
|
|
8573
|
+
<div class="menuWrapper"></div>
|
|
8574
|
+
<${this.bibtemplateTag} ?large="${this.largeFullscreenHeadline}" @close-click="${this.hideBib}">
|
|
8575
|
+
<slot></slot>
|
|
8576
|
+
</${this.bibtemplateTag}>
|
|
8577
|
+
<div slot="helpText">
|
|
8578
|
+
${this.renderHtmlHelpText()}
|
|
8579
|
+
</div>
|
|
8580
|
+
</${this.dropdownTag}>
|
|
8581
|
+
${this.renderNativeSelect()}
|
|
8582
|
+
</div>
|
|
8583
|
+
`;
|
|
6495
8584
|
}
|
|
6496
8585
|
|
|
6497
8586
|
/**
|
|
6498
|
-
*
|
|
6499
|
-
* @returns {void}
|
|
8587
|
+
* Logic to determine the layout of the component.
|
|
6500
8588
|
* @private
|
|
8589
|
+
* @param {string} [ForcedLayout] - Used to force a specific layout, pass in the layout name to use.
|
|
8590
|
+
* @returns {void}
|
|
6501
8591
|
*/
|
|
6502
|
-
|
|
6503
|
-
const
|
|
6504
|
-
if (!nativeSelect) {
|
|
6505
|
-
return;
|
|
6506
|
-
}
|
|
8592
|
+
renderLayout(ForcedLayout) {
|
|
8593
|
+
const layout = ForcedLayout || this.layout;
|
|
6507
8594
|
|
|
6508
|
-
|
|
6509
|
-
|
|
6510
|
-
|
|
6511
|
-
|
|
8595
|
+
switch (layout) {
|
|
8596
|
+
case 'emphasized':
|
|
8597
|
+
return this.renderLayoutEmphasized();
|
|
8598
|
+
case 'emphasized-left':
|
|
8599
|
+
return this.renderLayoutEmphasized();
|
|
8600
|
+
case 'emphasized-right':
|
|
8601
|
+
return this.renderLayoutEmphasized();
|
|
8602
|
+
case 'snowflake':
|
|
8603
|
+
return this.renderLayoutSnowflake();
|
|
8604
|
+
case 'snowflake-left':
|
|
8605
|
+
return this.renderLayoutSnowflake();
|
|
8606
|
+
case 'snowflake-right':
|
|
8607
|
+
return this.renderLayoutSnowflake();
|
|
8608
|
+
default:
|
|
8609
|
+
return this.renderLayoutClassic();
|
|
6512
8610
|
}
|
|
6513
8611
|
}
|
|
6514
8612
|
|
|
@@ -6516,7 +8614,7 @@ class AuroSelect extends i$2 {
|
|
|
6516
8614
|
// aria-hidden="${this.hideAudible(this.hiddenAudible)}"
|
|
6517
8615
|
|
|
6518
8616
|
// function that renders the HTML and CSS into the scope of the component
|
|
6519
|
-
|
|
8617
|
+
renderBACKUP() {
|
|
6520
8618
|
const placeholderClass = {
|
|
6521
8619
|
hidden: this.value,
|
|
6522
8620
|
};
|
|
@@ -6542,27 +8640,34 @@ class AuroSelect extends i$2 {
|
|
|
6542
8640
|
<slot name="bib.fullscreen.headline" @slotchange="${this.handleSlotChange}"></slot>
|
|
6543
8641
|
</div>
|
|
6544
8642
|
<${this.dropdownTag}
|
|
6545
|
-
|
|
8643
|
+
?autoPlacement="${this.autoPlacement}"
|
|
8644
|
+
?disabled="${this.disabled}"
|
|
6546
8645
|
?error="${this.validity !== undefined && this.validity !== 'valid'}"
|
|
8646
|
+
?matchWidth="${this.matchWidth}"
|
|
8647
|
+
?noFlip="${this.noFlip}"
|
|
6547
8648
|
?onDark="${this.onDark}"
|
|
6548
|
-
common
|
|
6549
|
-
fluid
|
|
6550
8649
|
.fullscreenBreakpoint="${this.fullscreenBreakpoint}"
|
|
6551
|
-
?matchWidth="${!this.flexMenuWidth}"
|
|
6552
|
-
chevron
|
|
6553
|
-
.placement="${this.placement}"
|
|
6554
8650
|
.offset="${this.offset}"
|
|
6555
|
-
|
|
6556
|
-
|
|
6557
|
-
|
|
8651
|
+
.placement="${this.placement}"
|
|
8652
|
+
chevron
|
|
8653
|
+
fluid
|
|
8654
|
+
for="selectMenu"
|
|
8655
|
+
layout="${this.layout}"
|
|
8656
|
+
part="dropdown"
|
|
8657
|
+
shape="${this.shape}"
|
|
8658
|
+
size="${this.size}">
|
|
6558
8659
|
<span slot="trigger" aria-haspopup="true" id="triggerFocus">
|
|
6559
|
-
<span id="placeholder"
|
|
8660
|
+
<span id="placeholder"
|
|
8661
|
+
class="${e(placeholderClass)}"
|
|
8662
|
+
?aria-hidden="${this.optionSelected && this.optionSelected.length ? 'true' : false}"
|
|
8663
|
+
>
|
|
8664
|
+
<slot name="placeholder"></slot>
|
|
8665
|
+
</span>
|
|
8666
|
+
<slot name="valueText" id="valueText"></slot>
|
|
6560
8667
|
</span>
|
|
6561
8668
|
|
|
6562
|
-
<div class="menuWrapper">
|
|
6563
|
-
</div>
|
|
6564
|
-
|
|
6565
8669
|
<${this.bibtemplateTag} ?large="${this.largeFullscreenHeadline}" @close-click="${this.hideBib}">
|
|
8670
|
+
<slot></slot>
|
|
6566
8671
|
</${this.bibtemplateTag}>
|
|
6567
8672
|
<slot name="label" slot="label"></slot>
|
|
6568
8673
|
<p slot="helpText">
|
|
@@ -6602,16 +8707,17 @@ class AuroSelect extends i$2 {
|
|
|
6602
8707
|
</select>
|
|
6603
8708
|
</div>
|
|
6604
8709
|
<!-- Help text and error message template -->
|
|
8710
|
+
${this.renderHtmlHelpText()}
|
|
6605
8711
|
</div>
|
|
6606
8712
|
`;
|
|
6607
8713
|
}
|
|
6608
8714
|
}
|
|
6609
8715
|
|
|
6610
|
-
var styleCss$2 = i$5`:focus:not(:focus-visible){outline:3px solid transparent}:host{display:
|
|
8716
|
+
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)}`;
|
|
6611
8717
|
|
|
6612
8718
|
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)}`;
|
|
6613
8719
|
|
|
6614
|
-
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)}`;
|
|
8720
|
+
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)}`;
|
|
6615
8721
|
|
|
6616
8722
|
// Copyright (c) 2021 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
6617
8723
|
// See LICENSE in the project root for license information.
|
|
@@ -6677,14 +8783,17 @@ function dispatchMenuEvent(element, eventName, detail = null) {
|
|
|
6677
8783
|
* @slot - Slot for insertion of menu options.
|
|
6678
8784
|
*/
|
|
6679
8785
|
|
|
6680
|
-
/* eslint-disable no-magic-numbers, max-lines, no-extra-parens */
|
|
8786
|
+
/* eslint-disable no-magic-numbers, max-lines, no-extra-parens, no-inline-comments, line-comment-position */
|
|
6681
8787
|
|
|
6682
|
-
class AuroMenu extends
|
|
8788
|
+
class AuroMenu extends AuroElement$4 {
|
|
6683
8789
|
constructor() {
|
|
6684
8790
|
super();
|
|
6685
8791
|
|
|
6686
8792
|
// State properties (reactive)
|
|
6687
8793
|
|
|
8794
|
+
this.shape = ""; // box, rounded, pill
|
|
8795
|
+
this.size = ""; // md, lg, xl
|
|
8796
|
+
|
|
6688
8797
|
// Value of the selected options
|
|
6689
8798
|
this.value = undefined;
|
|
6690
8799
|
// Currently selected option
|
|
@@ -6743,6 +8852,7 @@ class AuroMenu extends i$2 {
|
|
|
6743
8852
|
|
|
6744
8853
|
static get properties() {
|
|
6745
8854
|
return {
|
|
8855
|
+
...super.properties,
|
|
6746
8856
|
noCheckmark: {
|
|
6747
8857
|
type: Boolean,
|
|
6748
8858
|
reflect: true,
|
|
@@ -6776,6 +8886,16 @@ class AuroMenu extends i$2 {
|
|
|
6776
8886
|
value: {
|
|
6777
8887
|
// Allow string, string[] arrays and undefined
|
|
6778
8888
|
type: Object
|
|
8889
|
+
},
|
|
8890
|
+
|
|
8891
|
+
/**
|
|
8892
|
+
* Indent level for submenus.
|
|
8893
|
+
* @private
|
|
8894
|
+
*/
|
|
8895
|
+
level: {
|
|
8896
|
+
type: Number,
|
|
8897
|
+
reflect: false,
|
|
8898
|
+
attribute: false
|
|
6779
8899
|
}
|
|
6780
8900
|
};
|
|
6781
8901
|
}
|
|
@@ -6797,7 +8917,7 @@ class AuroMenu extends i$2 {
|
|
|
6797
8917
|
*
|
|
6798
8918
|
*/
|
|
6799
8919
|
static register(name = "auro-menu") {
|
|
6800
|
-
AuroLibraryRuntimeUtils$
|
|
8920
|
+
AuroLibraryRuntimeUtils$6.prototype.registerComponent(name, AuroMenu);
|
|
6801
8921
|
}
|
|
6802
8922
|
|
|
6803
8923
|
// Lifecycle Methods
|
|
@@ -6809,6 +8929,7 @@ class AuroMenu extends i$2 {
|
|
|
6809
8929
|
this.addEventListener('mousedown', this.handleMouseSelect);
|
|
6810
8930
|
this.addEventListener('auroMenuOption-mouseover', this.handleOptionHover);
|
|
6811
8931
|
this.addEventListener('slotchange', this.handleSlotChange);
|
|
8932
|
+
this.setTagAttribute("auro-menu");
|
|
6812
8933
|
}
|
|
6813
8934
|
|
|
6814
8935
|
disconnectedCallback() {
|
|
@@ -6821,19 +8942,33 @@ class AuroMenu extends i$2 {
|
|
|
6821
8942
|
}
|
|
6822
8943
|
|
|
6823
8944
|
firstUpdated() {
|
|
6824
|
-
AuroLibraryRuntimeUtils$
|
|
8945
|
+
AuroLibraryRuntimeUtils$6.prototype.handleComponentTagRename(this, 'auro-menu');
|
|
6825
8946
|
|
|
6826
8947
|
this.loadingSlots = this.querySelectorAll("[slot='loadingText'], [slot='loadingIcon']");
|
|
6827
8948
|
this.initializeMenu();
|
|
6828
8949
|
}
|
|
6829
8950
|
|
|
8951
|
+
/**
|
|
8952
|
+
* Sets an attribute that matches the default tag name if the tag name is not the default.
|
|
8953
|
+
* @param {string} tagName - The tag name to set as an attribute.
|
|
8954
|
+
* @private
|
|
8955
|
+
*/
|
|
8956
|
+
setTagAttribute(tagName) {
|
|
8957
|
+
if (this.tagName.toLowerCase() !== tagName) {
|
|
8958
|
+
this.setAttribute(tagName, true);
|
|
8959
|
+
}
|
|
8960
|
+
}
|
|
8961
|
+
|
|
6830
8962
|
updated(changedProperties) {
|
|
8963
|
+
super.updated(changedProperties);
|
|
8964
|
+
|
|
6831
8965
|
if (changedProperties.has('multiSelect')) {
|
|
6832
8966
|
// Reset selection if multiSelect mode changes
|
|
6833
8967
|
this.clearSelection();
|
|
6834
8968
|
}
|
|
6835
8969
|
|
|
6836
|
-
|
|
8970
|
+
|
|
8971
|
+
if (changedProperties.has("value")) {
|
|
6837
8972
|
// Handle null/undefined case
|
|
6838
8973
|
if (this.value === undefined || this.value === null) {
|
|
6839
8974
|
this.optionSelected = undefined;
|
|
@@ -6901,6 +9036,19 @@ class AuroMenu extends i$2 {
|
|
|
6901
9036
|
this.querySelectorAll('auro-menu, [auro-menu], auro-menuoption, [auro-menuoption]').forEach((element) => element.setAttribute('noCheckmark', ''));
|
|
6902
9037
|
}
|
|
6903
9038
|
|
|
9039
|
+
// Handle layout propagation to all menus and options
|
|
9040
|
+
const propagationTargets = this.querySelectorAll('auro-menu, [auro-menu], auro-menuoption, [auro-menuoption]');
|
|
9041
|
+
[
|
|
9042
|
+
'size',
|
|
9043
|
+
'shape'
|
|
9044
|
+
].forEach((prop) => {
|
|
9045
|
+
if (changedProperties.has(prop)) {
|
|
9046
|
+
propagationTargets.forEach((el) => {
|
|
9047
|
+
el.setAttribute(prop, this[prop]);
|
|
9048
|
+
});
|
|
9049
|
+
}
|
|
9050
|
+
});
|
|
9051
|
+
|
|
6904
9052
|
// Regex for matchWord if needed
|
|
6905
9053
|
let regexWord = null;
|
|
6906
9054
|
|
|
@@ -7097,21 +9245,20 @@ class AuroMenu extends i$2 {
|
|
|
7097
9245
|
* @param {HTMLElement} menu - Root menu element.
|
|
7098
9246
|
*/
|
|
7099
9247
|
handleNestedMenus(menu) {
|
|
7100
|
-
|
|
9248
|
+
menu.level = menu.parentElement.level >= 0 ? menu.parentElement.level + 1 : 0;
|
|
7101
9249
|
|
|
7102
|
-
|
|
7103
|
-
|
|
7104
|
-
|
|
7105
|
-
if (!
|
|
7106
|
-
|
|
9250
|
+
if (menu.level > 0) {
|
|
9251
|
+
menu.setAttribute('role', 'group');
|
|
9252
|
+
menu.removeAttribute("root");
|
|
9253
|
+
if (!menu.hasAttribute('aria-label')) {
|
|
9254
|
+
menu.setAttribute('aria-label', 'submenu');
|
|
7107
9255
|
}
|
|
9256
|
+
}
|
|
7108
9257
|
|
|
7109
|
-
|
|
7110
|
-
|
|
7111
|
-
|
|
7112
|
-
|
|
7113
|
-
|
|
7114
|
-
this.handleNestedMenus(nestedMenu);
|
|
9258
|
+
const options = menu.querySelectorAll(':scope > auro-menuoption, :scope > [auro-menuoption]');
|
|
9259
|
+
options.forEach((option) => {
|
|
9260
|
+
const regex = new RegExp(this.nestingSpacer, "gu");
|
|
9261
|
+
option.innerHTML = this.nestingSpacer.repeat(menu.level) + option.innerHTML.replace(regex, '');
|
|
7115
9262
|
});
|
|
7116
9263
|
}
|
|
7117
9264
|
|
|
@@ -7353,28 +9500,39 @@ class AuroMenu extends i$2 {
|
|
|
7353
9500
|
}
|
|
7354
9501
|
|
|
7355
9502
|
/**
|
|
7356
|
-
*
|
|
7357
|
-
* @
|
|
9503
|
+
* Logic to determine the layout of the component.
|
|
9504
|
+
* @protected
|
|
9505
|
+
* @returns {void}
|
|
7358
9506
|
*/
|
|
7359
|
-
|
|
9507
|
+
renderLayout() {
|
|
7360
9508
|
if (this.loading) {
|
|
7361
9509
|
return x`
|
|
7362
|
-
<
|
|
7363
|
-
<
|
|
7364
|
-
|
|
7365
|
-
|
|
7366
|
-
|
|
7367
|
-
|
|
9510
|
+
<div class="wrapper">
|
|
9511
|
+
<auro-menuoption
|
|
9512
|
+
disabled
|
|
9513
|
+
loadingplaceholder
|
|
9514
|
+
class="${this.hasLoadingPlaceholder ? "" : "empty"}"
|
|
9515
|
+
>
|
|
9516
|
+
<div>
|
|
9517
|
+
<slot name="loadingIcon"></slot>
|
|
9518
|
+
<slot name="loadingText"></slot>
|
|
9519
|
+
</div>
|
|
9520
|
+
</auro-menuoption>
|
|
9521
|
+
</div>
|
|
7368
9522
|
`;
|
|
7369
9523
|
}
|
|
7370
9524
|
|
|
7371
|
-
return x
|
|
9525
|
+
return x`
|
|
9526
|
+
<div class="wrapper">
|
|
9527
|
+
<slot @slotchange=${this.handleSlotChange}></slot>
|
|
9528
|
+
</div>
|
|
9529
|
+
`;
|
|
7372
9530
|
}
|
|
7373
9531
|
}
|
|
7374
9532
|
|
|
7375
|
-
var styleCss$1 = i$5`:host{display:flex;align-items:center;padding:var(--ds-size-50, 0.25rem) var(--ds-size-
|
|
9533
|
+
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) + 24px + 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);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);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) + 24px + 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}`;
|
|
7376
9534
|
|
|
7377
|
-
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)}`;
|
|
9535
|
+
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)}`;
|
|
7378
9536
|
|
|
7379
9537
|
// Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
7380
9538
|
// See LICENSE in the project root for license information.
|
|
@@ -7530,6 +9688,76 @@ var tokensCss = i$5`:host{--ds-auro-icon-color:var(--ds-basic-color-texticon-def
|
|
|
7530
9688
|
|
|
7531
9689
|
var colorCss = 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)}`;
|
|
7532
9690
|
|
|
9691
|
+
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
9692
|
+
// See LICENSE in the project root for license information.
|
|
9693
|
+
|
|
9694
|
+
// ---------------------------------------------------------------------
|
|
9695
|
+
|
|
9696
|
+
/* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
|
|
9697
|
+
|
|
9698
|
+
class AuroLibraryRuntimeUtils {
|
|
9699
|
+
|
|
9700
|
+
/* eslint-disable jsdoc/require-param */
|
|
9701
|
+
|
|
9702
|
+
/**
|
|
9703
|
+
* This will register a new custom element with the browser.
|
|
9704
|
+
* @param {String} name - The name of the custom element.
|
|
9705
|
+
* @param {Object} componentClass - The class to register as a custom element.
|
|
9706
|
+
* @returns {void}
|
|
9707
|
+
*/
|
|
9708
|
+
registerComponent(name, componentClass) {
|
|
9709
|
+
if (!customElements.get(name)) {
|
|
9710
|
+
customElements.define(name, class extends componentClass {});
|
|
9711
|
+
}
|
|
9712
|
+
}
|
|
9713
|
+
|
|
9714
|
+
/**
|
|
9715
|
+
* Finds and returns the closest HTML Element based on a selector.
|
|
9716
|
+
* @returns {void}
|
|
9717
|
+
*/
|
|
9718
|
+
closestElement(
|
|
9719
|
+
selector, // selector like in .closest()
|
|
9720
|
+
base = this, // extra functionality to skip a parent
|
|
9721
|
+
__Closest = (el, found = el && el.closest(selector)) =>
|
|
9722
|
+
!el || el === document || el === window
|
|
9723
|
+
? null // standard .closest() returns null for non-found selectors also
|
|
9724
|
+
: found
|
|
9725
|
+
? found // found a selector INside this element
|
|
9726
|
+
: __Closest(el.getRootNode().host) // recursion!! break out to parent DOM
|
|
9727
|
+
) {
|
|
9728
|
+
return __Closest(base);
|
|
9729
|
+
}
|
|
9730
|
+
/* eslint-enable jsdoc/require-param */
|
|
9731
|
+
|
|
9732
|
+
/**
|
|
9733
|
+
* 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.
|
|
9734
|
+
* @param {Object} elem - The element to check.
|
|
9735
|
+
* @param {String} tagName - The name of the Auro component to check for or add as an attribute.
|
|
9736
|
+
* @returns {void}
|
|
9737
|
+
*/
|
|
9738
|
+
handleComponentTagRename(elem, tagName) {
|
|
9739
|
+
const tag = tagName.toLowerCase();
|
|
9740
|
+
const elemTag = elem.tagName.toLowerCase();
|
|
9741
|
+
|
|
9742
|
+
if (elemTag !== tag) {
|
|
9743
|
+
elem.setAttribute(tag, true);
|
|
9744
|
+
}
|
|
9745
|
+
}
|
|
9746
|
+
|
|
9747
|
+
/**
|
|
9748
|
+
* Validates if an element is a specific Auro component.
|
|
9749
|
+
* @param {Object} elem - The element to validate.
|
|
9750
|
+
* @param {String} tagName - The name of the Auro component to check against.
|
|
9751
|
+
* @returns {Boolean} - Returns true if the element is the specified Auro component.
|
|
9752
|
+
*/
|
|
9753
|
+
elementMatch(elem, tagName) {
|
|
9754
|
+
const tag = tagName.toLowerCase();
|
|
9755
|
+
const elemTag = elem.tagName.toLowerCase();
|
|
9756
|
+
|
|
9757
|
+
return elemTag === tag || elem.hasAttribute(tag);
|
|
9758
|
+
}
|
|
9759
|
+
}
|
|
9760
|
+
|
|
7533
9761
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
7534
9762
|
// See LICENSE in the project root for license information.
|
|
7535
9763
|
|
|
@@ -7549,7 +9777,7 @@ class AuroIcon extends BaseIcon {
|
|
|
7549
9777
|
*/
|
|
7550
9778
|
privateDefaults() {
|
|
7551
9779
|
this.uri = 'https://cdn.jsdelivr.net/npm/@alaskaairux/icons@latest/dist';
|
|
7552
|
-
this.runtimeUtils = new AuroLibraryRuntimeUtils
|
|
9780
|
+
this.runtimeUtils = new AuroLibraryRuntimeUtils();
|
|
7553
9781
|
}
|
|
7554
9782
|
|
|
7555
9783
|
// function to define props used within the scope of this component
|
|
@@ -7631,7 +9859,7 @@ class AuroIcon extends BaseIcon {
|
|
|
7631
9859
|
*
|
|
7632
9860
|
*/
|
|
7633
9861
|
static register(name = "auro-icon") {
|
|
7634
|
-
AuroLibraryRuntimeUtils
|
|
9862
|
+
AuroLibraryRuntimeUtils.prototype.registerComponent(name, AuroIcon);
|
|
7635
9863
|
}
|
|
7636
9864
|
|
|
7637
9865
|
connectedCallback() {
|
|
@@ -7652,8 +9880,12 @@ class AuroIcon extends BaseIcon {
|
|
|
7652
9880
|
async firstUpdated() {
|
|
7653
9881
|
await super.firstUpdated();
|
|
7654
9882
|
|
|
7655
|
-
|
|
7656
|
-
|
|
9883
|
+
/**
|
|
9884
|
+
* icons provide a description for screen readers. Icon only instances Auro-button
|
|
9885
|
+
* depend on this description to provide context for the user using a screen reader.
|
|
9886
|
+
* Removes the SVG description for screen reader if ariaHidden is set to true.
|
|
9887
|
+
*/
|
|
9888
|
+
if (this.hasAttribute('ariaHidden') && this.svg) {
|
|
7657
9889
|
const svgDesc = this.svg.querySelector('desc');
|
|
7658
9890
|
|
|
7659
9891
|
if (svgDesc) {
|
|
@@ -7697,7 +9929,7 @@ class AuroIcon extends BaseIcon {
|
|
|
7697
9929
|
}
|
|
7698
9930
|
}
|
|
7699
9931
|
|
|
7700
|
-
var iconVersion = '8.0.
|
|
9932
|
+
var iconVersion = '8.0.4';
|
|
7701
9933
|
|
|
7702
9934
|
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>"};
|
|
7703
9935
|
|
|
@@ -7715,10 +9947,13 @@ var checkmarkIcon = {"svg":"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlin
|
|
|
7715
9947
|
* @event auroMenuOption-mouseover - Notifies that this option has been hovered over.
|
|
7716
9948
|
* @slot - Specifies text for an option, but is not the value.
|
|
7717
9949
|
*/
|
|
7718
|
-
class AuroMenuOption extends
|
|
9950
|
+
class AuroMenuOption extends AuroElement$4 {
|
|
7719
9951
|
constructor() {
|
|
7720
9952
|
super();
|
|
7721
9953
|
|
|
9954
|
+
this.size = ""; // md, lg, xl
|
|
9955
|
+
this.shape = ""; // box, rounded, pill
|
|
9956
|
+
|
|
7722
9957
|
/**
|
|
7723
9958
|
* Generate unique names for dependency components.
|
|
7724
9959
|
*/
|
|
@@ -7737,11 +9972,12 @@ class AuroMenuOption extends i$2 {
|
|
|
7737
9972
|
/**
|
|
7738
9973
|
* @private
|
|
7739
9974
|
*/
|
|
7740
|
-
this.runtimeUtils = new AuroLibraryRuntimeUtils$
|
|
9975
|
+
this.runtimeUtils = new AuroLibraryRuntimeUtils$6();
|
|
7741
9976
|
}
|
|
7742
9977
|
|
|
7743
9978
|
static get properties() {
|
|
7744
9979
|
return {
|
|
9980
|
+
...super.properties,
|
|
7745
9981
|
nocheckmark: {
|
|
7746
9982
|
type: Boolean,
|
|
7747
9983
|
reflect: true
|
|
@@ -7781,7 +10017,7 @@ class AuroMenuOption extends i$2 {
|
|
|
7781
10017
|
*
|
|
7782
10018
|
*/
|
|
7783
10019
|
static register(name = "auro-menuoption") {
|
|
7784
|
-
AuroLibraryRuntimeUtils$
|
|
10020
|
+
AuroLibraryRuntimeUtils$6.prototype.registerComponent(name, AuroMenuOption);
|
|
7785
10021
|
}
|
|
7786
10022
|
|
|
7787
10023
|
firstUpdated() {
|
|
@@ -7803,6 +10039,8 @@ class AuroMenuOption extends i$2 {
|
|
|
7803
10039
|
|
|
7804
10040
|
// observer for selected property changes
|
|
7805
10041
|
updated(changedProperties) {
|
|
10042
|
+
super.updated(changedProperties);
|
|
10043
|
+
|
|
7806
10044
|
if (changedProperties.has('selected')) {
|
|
7807
10045
|
this.setAttribute('aria-selected', this.selected.toString());
|
|
7808
10046
|
}
|
|
@@ -7824,10 +10062,19 @@ class AuroMenuOption extends i$2 {
|
|
|
7824
10062
|
return u`<${this.iconTag} customColor customSvg slot="icon">${svg}</${this.iconTag}>`;
|
|
7825
10063
|
}
|
|
7826
10064
|
|
|
7827
|
-
|
|
10065
|
+
/**
|
|
10066
|
+
* Logic to determine the layout of the component.
|
|
10067
|
+
* @protected
|
|
10068
|
+
* @returns {void}
|
|
10069
|
+
*/
|
|
10070
|
+
renderLayout() {
|
|
7828
10071
|
return u`
|
|
7829
|
-
|
|
7830
|
-
|
|
10072
|
+
<div class="wrapper">
|
|
10073
|
+
${this.selected && !this.nocheckmark
|
|
10074
|
+
? this.generateIconHtml(checkmarkIcon.svg)
|
|
10075
|
+
: undefined}
|
|
10076
|
+
<slot></slot>
|
|
10077
|
+
</div>
|
|
7831
10078
|
`;
|
|
7832
10079
|
}
|
|
7833
10080
|
}
|