@aurodesignsystem/auro-formkit 1.6.0-beta.6 → 1.6.0-beta.7
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/.turbo/cache/01de6ab3df8b7e1e-meta.json +1 -0
- package/.turbo/cache/{754a6b5c5ce1ed00.tar.zst → 01de6ab3df8b7e1e.tar.zst} +0 -0
- package/.turbo/cache/10feda0f037804bb-meta.json +1 -1
- package/.turbo/cache/11079d2746265545-meta.json +1 -1
- package/.turbo/cache/11079d2746265545.tar.zst +0 -0
- package/.turbo/cache/115c4b73a12f5275-meta.json +1 -0
- package/.turbo/cache/115c4b73a12f5275.tar.zst +0 -0
- package/.turbo/cache/144e8e78657bf800-meta.json +1 -1
- package/.turbo/cache/18939b2c7c83b163-meta.json +1 -1
- package/.turbo/cache/1de685df0eaa39c8-meta.json +1 -1
- package/.turbo/cache/1ec139dcf090d547-meta.json +1 -1
- package/.turbo/cache/1f53ce3a28c56cdf-meta.json +1 -1
- package/.turbo/cache/23bf100310bd9f5a-meta.json +1 -1
- package/.turbo/cache/2900e7ec28e1488f-meta.json +1 -1
- package/.turbo/cache/296074aadfa2f8c9-meta.json +1 -1
- package/.turbo/cache/296074aadfa2f8c9.tar.zst +0 -0
- package/.turbo/cache/29e29355bf6fb4fd-meta.json +1 -1
- package/.turbo/cache/2cbcbc4a17387253-meta.json +1 -0
- package/.turbo/cache/2cbcbc4a17387253.tar.zst +0 -0
- package/.turbo/cache/2f6c898fbb51e995-meta.json +1 -1
- package/.turbo/cache/2f6c898fbb51e995.tar.zst +0 -0
- package/.turbo/cache/3073b96f6e4d867c-meta.json +1 -1
- package/.turbo/cache/33466ea2930c3714-meta.json +1 -1
- package/.turbo/cache/3426941a74b0731e-meta.json +1 -0
- package/.turbo/cache/{3f41d958c755a6f0.tar.zst → 3426941a74b0731e.tar.zst} +0 -0
- package/.turbo/cache/38b0799e2f7e62c5-meta.json +1 -0
- package/.turbo/cache/38b0799e2f7e62c5.tar.zst +0 -0
- package/.turbo/cache/3fbc89f461c495db-meta.json +1 -0
- package/.turbo/cache/3fbc89f461c495db.tar.zst +0 -0
- package/.turbo/cache/451e562c76f74ec6-meta.json +1 -1
- package/.turbo/cache/4520919609c97850-meta.json +1 -1
- package/.turbo/cache/452908d0b0b676bc-meta.json +1 -1
- package/.turbo/cache/48c197e39ed31fd2-meta.json +1 -1
- package/.turbo/cache/48c197e39ed31fd2.tar.zst +0 -0
- package/.turbo/cache/5058ecc7f1e34496-meta.json +1 -1
- package/.turbo/cache/5a66a99aa1344401-meta.json +1 -1
- package/.turbo/cache/5b66ce21630716cc-meta.json +1 -1
- package/.turbo/cache/6002b76d50b8d1ff-meta.json +1 -0
- package/.turbo/cache/6002b76d50b8d1ff.tar.zst +0 -0
- package/.turbo/cache/627e964e19b2bda5-meta.json +1 -0
- package/.turbo/cache/627e964e19b2bda5.tar.zst +0 -0
- package/.turbo/cache/6907ebaae4f3a96b-meta.json +1 -0
- package/.turbo/cache/6907ebaae4f3a96b.tar.zst +0 -0
- package/.turbo/cache/6f7175be597945f7-meta.json +1 -0
- package/.turbo/cache/6f7175be597945f7.tar.zst +0 -0
- package/.turbo/cache/70d7b72f15ee97a4-meta.json +1 -1
- package/.turbo/cache/7cfdc01c415c836c-meta.json +1 -0
- package/.turbo/cache/7cfdc01c415c836c.tar.zst +0 -0
- package/.turbo/cache/897b0d8a0c301207-meta.json +1 -1
- package/.turbo/cache/8b7cdb9a0d4c3112-meta.json +1 -1
- package/.turbo/cache/8e1f402b247ebed6-meta.json +1 -1
- package/.turbo/cache/8e1f402b247ebed6.tar.zst +0 -0
- package/.turbo/cache/90b8d9ccef5e09aa-meta.json +1 -1
- package/.turbo/cache/936bccb44ade3650-meta.json +1 -1
- package/.turbo/cache/94bcc4c6536ada9d-meta.json +1 -1
- package/.turbo/cache/990b9def0e83d33c-meta.json +1 -0
- package/.turbo/cache/990b9def0e83d33c.tar.zst +0 -0
- package/.turbo/cache/a532f4b8302ca13e-meta.json +1 -1
- package/.turbo/cache/a7bf477bbdabc7bc-meta.json +1 -1
- package/.turbo/cache/a90aa34f427a2f62-meta.json +1 -1
- package/.turbo/cache/aedda428051043c4-meta.json +1 -1
- package/.turbo/cache/afc38ab505ef6dbb-meta.json +1 -0
- package/.turbo/cache/{2ca214d032893e74.tar.zst → afc38ab505ef6dbb.tar.zst} +0 -0
- package/.turbo/cache/b1ed317b29e85c9d-meta.json +1 -0
- package/.turbo/cache/b1ed317b29e85c9d.tar.zst +0 -0
- package/.turbo/cache/b61416daf63fbaad-meta.json +1 -1
- package/.turbo/cache/b76edfbd1c076b0a-meta.json +1 -0
- package/.turbo/cache/b76edfbd1c076b0a.tar.zst +0 -0
- package/.turbo/cache/b9463532618cdc61-meta.json +1 -1
- package/.turbo/cache/bb3afea40c91e8ba-meta.json +1 -1
- package/.turbo/cache/c4df38a7e2cc767a-meta.json +1 -0
- package/.turbo/cache/{77bf3068f493ef24.tar.zst → c4df38a7e2cc767a.tar.zst} +0 -0
- package/.turbo/cache/c63dc7b6157da70b-meta.json +1 -1
- package/.turbo/cache/c8b63b6e8a190eb9-meta.json +1 -1
- package/.turbo/cache/d35b1eee9f2881af-meta.json +1 -1
- package/.turbo/cache/d5188c0fbe45d578-meta.json +1 -1
- package/.turbo/cache/e4b3ec56d4ae56ba-meta.json +1 -1
- package/.turbo/cache/e6f030eddf6fbf4e-meta.json +1 -1
- package/.turbo/cache/ff7e6d09efd93145-meta.json +1 -1
- package/.turbo/cache/ff7e6d09efd93145.tar.zst +0 -0
- package/CHANGELOG.md +19 -0
- package/components/checkbox/.turbo/turbo-build.log +3 -3
- package/components/checkbox/.turbo/turbo-bundler.log +3 -3
- package/components/combobox/.turbo/turbo-build.log +6 -3
- package/components/combobox/demo/api.html +1 -0
- package/components/combobox/demo/api.js +2 -0
- package/components/combobox/demo/api.md +73 -0
- package/components/combobox/demo/api.min.js +962 -835
- package/components/combobox/demo/index.min.js +920 -832
- package/components/combobox/dist/auro-combobox.d.ts +20 -0
- package/components/combobox/dist/auro-combobox.d.ts.map +1 -1
- package/components/combobox/dist/index.js +58 -22
- package/components/combobox/src/auro-combobox.js +58 -22
- package/components/counter/.turbo/turbo-build.log +2 -2
- package/components/counter/.turbo/turbo-bundler.log +3 -3
- package/components/datepicker/.turbo/turbo-build.log +2 -2
- package/components/dropdown/.turbo/turbo-build.log +3 -3
- package/components/dropdown/.turbo/turbo-bundler.log +3 -3
- package/components/form/.turbo/turbo-build.log +3 -3
- package/components/form/.turbo/turbo-bundler.log +3 -3
- package/components/input/.turbo/turbo-build.log +3 -3
- package/components/input/.turbo/turbo-bundler.log +3 -3
- package/components/menu/.turbo/turbo-build.log +6 -3
- package/components/menu/.turbo/turbo-bundler.log +3 -3
- package/components/menu/demo/api.html +2 -0
- package/components/menu/demo/api.js +2 -0
- package/components/menu/demo/api.md +164 -22
- package/components/menu/demo/api.min.js +912 -853
- package/components/menu/demo/index.min.js +905 -853
- package/components/menu/dist/auro-menu.d.ts +28 -2
- package/components/menu/dist/auro-menu.d.ts.map +1 -1
- package/components/menu/dist/auro-menuoption.d.ts +1 -1
- package/components/menu/dist/index.js +905 -853
- package/components/menu/src/auro-menu.js +57 -7
- package/components/menu/src/auro-menuoption.js +1 -1
- package/components/menu/src/styles/style-menu-css.js +1 -1
- package/components/menu/src/styles/style-menu.css +21 -3
- package/components/menu/src/styles/style-menu.scss +25 -3
- package/components/radio/.turbo/turbo-build.log +3 -3
- package/components/radio/.turbo/turbo-bundler.log +3 -3
- package/components/select/.turbo/turbo-build.log +6 -3
- package/components/select/demo/api.html +1 -0
- package/components/select/demo/api.js +2 -0
- package/components/select/demo/api.md +66 -0
- package/components/select/demo/api.min.js +927 -811
- package/components/select/demo/index.min.js +895 -811
- package/components/select/dist/auro-select.d.ts +19 -0
- package/components/select/dist/auro-select.d.ts.map +1 -1
- package/components/select/dist/index.js +32 -0
- package/components/select/src/auro-select.js +32 -0
- package/package.json +1 -1
- package/packages/build-tools/src/docProcessor.mjs +4 -4
- package/packages/build-tools/src/kitDocProcessor.mjs +4 -4
- package/.turbo/cache/05be1236a4cd5e72-meta.json +0 -1
- package/.turbo/cache/05be1236a4cd5e72.tar.zst +0 -0
- package/.turbo/cache/2ca214d032893e74-meta.json +0 -1
- package/.turbo/cache/3792d285b464b3e6-meta.json +0 -1
- package/.turbo/cache/3792d285b464b3e6.tar.zst +0 -0
- package/.turbo/cache/3ac4a22a21bdc2be-meta.json +0 -1
- package/.turbo/cache/3ac4a22a21bdc2be.tar.zst +0 -0
- package/.turbo/cache/3f41d958c755a6f0-meta.json +0 -1
- package/.turbo/cache/5d064e768a262314-meta.json +0 -1
- package/.turbo/cache/5d064e768a262314.tar.zst +0 -0
- package/.turbo/cache/6646f884a18a970a-meta.json +0 -1
- package/.turbo/cache/6646f884a18a970a.tar.zst +0 -0
- package/.turbo/cache/71212615220331ea-meta.json +0 -1
- package/.turbo/cache/71212615220331ea.tar.zst +0 -0
- package/.turbo/cache/754a6b5c5ce1ed00-meta.json +0 -1
- package/.turbo/cache/77bf3068f493ef24-meta.json +0 -1
- package/.turbo/cache/7ddb7ace73fe6ec2-meta.json +0 -1
- package/.turbo/cache/7ddb7ace73fe6ec2.tar.zst +0 -0
- package/.turbo/cache/9135f474c69d1b3c-meta.json +0 -1
- package/.turbo/cache/9135f474c69d1b3c.tar.zst +0 -0
- package/.turbo/cache/9a7ab914e08ce75f-meta.json +0 -1
- package/.turbo/cache/9a7ab914e08ce75f.tar.zst +0 -0
- package/.turbo/cache/aa68cd3545395c90-meta.json +0 -1
- package/.turbo/cache/aa68cd3545395c90.tar.zst +0 -0
- package/.turbo/cache/dce6f67be2b63c18-meta.json +0 -1
- package/.turbo/cache/dce6f67be2b63c18.tar.zst +0 -0
- package/.turbo/cache/e28ee527154c4cb2-meta.json +0 -1
- package/.turbo/cache/e28ee527154c4cb2.tar.zst +0 -0
|
@@ -117,6 +117,44 @@ function inDialogExample() {
|
|
|
117
117
|
});
|
|
118
118
|
}
|
|
119
119
|
|
|
120
|
+
function auroMenuLoadingExample() {
|
|
121
|
+
const combobox = document.querySelector("#loadingExample");
|
|
122
|
+
const menu = document.querySelector("#loadingExampleComboboxMenu");
|
|
123
|
+
|
|
124
|
+
const emptyMenu = () => {
|
|
125
|
+
const menuoptions = menu.querySelectorAll('auro-menuoption');
|
|
126
|
+
menuoptions.forEach(mo => menu.removeChild(mo));
|
|
127
|
+
};
|
|
128
|
+
|
|
129
|
+
const fillMenu = () => {
|
|
130
|
+
menu.innerHTML += `
|
|
131
|
+
<auro-menuoption value="Apples" id="option-0">Apples</auro-menuoption>
|
|
132
|
+
<auro-menuoption value="Oranges" id="option-1">Oranges</auro-menuoption>
|
|
133
|
+
<auro-menuoption value="Peaches" id="option-2">Peaches</auro-menuoption>
|
|
134
|
+
<auro-menuoption value="Grapes" id="option-3">Grapes</auro-menuoption>
|
|
135
|
+
<auro-menuoption value="Cherries" id="option-4">Cherries</auro-menuoption>
|
|
136
|
+
<auro-menuoption static nomatch>No matching option</auro-menuoption>
|
|
137
|
+
`;
|
|
138
|
+
};
|
|
139
|
+
|
|
140
|
+
const load = () => {
|
|
141
|
+
clearTimeout(load.id);
|
|
142
|
+
emptyMenu();
|
|
143
|
+
menu.setAttribute('loading', 'loading');
|
|
144
|
+
load.id = setTimeout(() => {
|
|
145
|
+
menu.removeAttribute('loading');
|
|
146
|
+
fillMenu();
|
|
147
|
+
}, 1000);
|
|
148
|
+
|
|
149
|
+
};
|
|
150
|
+
|
|
151
|
+
combobox.addEventListener("input", (e) => {
|
|
152
|
+
if (e.target.value && e.target.value !== e.target.optionSelected?.textContent) {
|
|
153
|
+
load();
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
|
|
120
158
|
/**
|
|
121
159
|
* @license
|
|
122
160
|
* Copyright 2019 Google LLC
|
|
@@ -7353,6 +7391,11 @@ class AuroCombobox extends r$6 {
|
|
|
7353
7391
|
*/
|
|
7354
7392
|
this.runtimeUtils = new AuroLibraryRuntimeUtils$2();
|
|
7355
7393
|
|
|
7394
|
+
/**
|
|
7395
|
+
* @private
|
|
7396
|
+
*/
|
|
7397
|
+
this.isHiddenWhileLoading = false;
|
|
7398
|
+
|
|
7356
7399
|
/**
|
|
7357
7400
|
* Generate unique names for dependency components.
|
|
7358
7401
|
*/
|
|
@@ -7488,7 +7531,7 @@ class AuroCombobox extends r$6 {
|
|
|
7488
7531
|
this.noMatchOption = undefined;
|
|
7489
7532
|
|
|
7490
7533
|
this.options.forEach((option) => {
|
|
7491
|
-
let matchString = option.
|
|
7534
|
+
let matchString = option.textContent.toLowerCase();
|
|
7492
7535
|
|
|
7493
7536
|
if (option.hasAttribute('nomatch')) {
|
|
7494
7537
|
this.noMatchOption = option;
|
|
@@ -7564,8 +7607,12 @@ class AuroCombobox extends r$6 {
|
|
|
7564
7607
|
return;
|
|
7565
7608
|
}
|
|
7566
7609
|
if (!this.dropdown.isPopoverVisible && this.input.value && this.input.value.length > 0) {
|
|
7567
|
-
if ((this.availableOptions && this.availableOptions.length > 0) || this.noMatchOption !== undefined) { // eslint-disable-line no-extra-parens
|
|
7568
|
-
this.
|
|
7610
|
+
if (this.menu.getAttribute('loading') || (this.availableOptions && this.availableOptions.length > 0) || this.noMatchOption !== undefined) { // eslint-disable-line no-extra-parens
|
|
7611
|
+
if (this.menu.hasAttribute('loading') && !this.menu.hasLoadingPlaceholder) {
|
|
7612
|
+
this.isHiddenWhileLoading = true;
|
|
7613
|
+
} else {
|
|
7614
|
+
this.dropdown.show();
|
|
7615
|
+
}
|
|
7569
7616
|
}
|
|
7570
7617
|
}
|
|
7571
7618
|
}
|
|
@@ -7597,7 +7644,7 @@ class AuroCombobox extends r$6 {
|
|
|
7597
7644
|
*/
|
|
7598
7645
|
configureMenu() {
|
|
7599
7646
|
this.menu = this.querySelector('auro-menu, [auro-menu]');
|
|
7600
|
-
|
|
7647
|
+
this.menu.addEventListener("auroMenu-loadingChange", (event) => this.handleMenuLoadingChange(event));
|
|
7601
7648
|
|
|
7602
7649
|
// a racing condition on custom-combobox with custom-menu
|
|
7603
7650
|
if (!this.menu) {
|
|
@@ -7608,7 +7655,7 @@ class AuroCombobox extends r$6 {
|
|
|
7608
7655
|
return;
|
|
7609
7656
|
}
|
|
7610
7657
|
|
|
7611
|
-
this.menu.shadowRoot.addEventListener('slotchange', () => this.handleSlotChange());
|
|
7658
|
+
this.menu.shadowRoot.addEventListener('slotchange', (event) => this.handleSlotChange(event));
|
|
7612
7659
|
|
|
7613
7660
|
if (this.checkmark) {
|
|
7614
7661
|
this.menu.removeAttribute('nocheckmark');
|
|
@@ -7630,8 +7677,8 @@ class AuroCombobox extends r$6 {
|
|
|
7630
7677
|
this.value = this.optionSelected.value;
|
|
7631
7678
|
}
|
|
7632
7679
|
|
|
7633
|
-
if (this.input.value !== this.optionSelected.
|
|
7634
|
-
this.input.value = this.optionSelected.
|
|
7680
|
+
if (this.input.value !== this.optionSelected.textContent) {
|
|
7681
|
+
this.input.value = this.optionSelected.textContent;
|
|
7635
7682
|
}
|
|
7636
7683
|
|
|
7637
7684
|
if (this.menu.matchWord !== this.input.value) {
|
|
@@ -7707,7 +7754,7 @@ class AuroCombobox extends r$6 {
|
|
|
7707
7754
|
this.menu.value = this.value;
|
|
7708
7755
|
}
|
|
7709
7756
|
|
|
7710
|
-
if (this.optionSelected && this.input.value !== this.optionSelected.
|
|
7757
|
+
if (this.optionSelected && this.input.value !== this.optionSelected.textContent) {
|
|
7711
7758
|
this.optionSelected = undefined;
|
|
7712
7759
|
}
|
|
7713
7760
|
|
|
@@ -7748,6 +7795,29 @@ class AuroCombobox extends r$6 {
|
|
|
7748
7795
|
});
|
|
7749
7796
|
}
|
|
7750
7797
|
|
|
7798
|
+
/**
|
|
7799
|
+
* Manages the visibility of the dropdown based on loading state changes.
|
|
7800
|
+
*
|
|
7801
|
+
* This method listens for loading state changes and adjusts the visibility of the dropdown accordingly.
|
|
7802
|
+
* If the dropdown is visible and loading is true without any loading placeholders, it hides the dropdown
|
|
7803
|
+
* and sets a flag to indicate it is hidden while loading. If loading is false and the dropdown was previously
|
|
7804
|
+
* hidden, it checks if the active element is within the dropdown and shows it again if true.
|
|
7805
|
+
*
|
|
7806
|
+
* @private
|
|
7807
|
+
* @param {CustomEvent} event - The event object containing details about the loading state change.
|
|
7808
|
+
* @param {boolean} event.detail.loading - Indicates whether the menu is currently loading.
|
|
7809
|
+
* @param {boolean} event.detail.hasLoadingPlaceholder - Indicates if there are loading placeholders present.
|
|
7810
|
+
* @returns {void}
|
|
7811
|
+
*/
|
|
7812
|
+
handleMenuLoadingChange(event) {
|
|
7813
|
+
if (!event.detail.loading && this.isHiddenWhileLoading) {
|
|
7814
|
+
if (this.contains(document.activeElement)) {
|
|
7815
|
+
this.dropdown.show();
|
|
7816
|
+
}
|
|
7817
|
+
this.isHiddenWhileLoading = false;
|
|
7818
|
+
}
|
|
7819
|
+
}
|
|
7820
|
+
|
|
7751
7821
|
/**
|
|
7752
7822
|
* Handle changes to the input value and trigger changes that should result.
|
|
7753
7823
|
* @private
|
|
@@ -7794,7 +7864,7 @@ class AuroCombobox extends r$6 {
|
|
|
7794
7864
|
*/
|
|
7795
7865
|
if (evt.key === 'ArrowUp' || evt.key === 'ArrowDown') {
|
|
7796
7866
|
if (this.availableOptions.length > 0) {
|
|
7797
|
-
this.
|
|
7867
|
+
this.showBib();
|
|
7798
7868
|
}
|
|
7799
7869
|
|
|
7800
7870
|
if (this.dropdown.isPopoverVisible) {
|
|
@@ -7866,8 +7936,8 @@ class AuroCombobox extends r$6 {
|
|
|
7866
7936
|
if (this.value) {
|
|
7867
7937
|
if (this.optionSelected && this.optionSelected.value === this.value) {
|
|
7868
7938
|
// If value updates and the previously selected option already matches the new value
|
|
7869
|
-
// just update the input value to use the
|
|
7870
|
-
this.input.value = this.optionSelected.
|
|
7939
|
+
// just update the input value to use the textContent of the optionSelected
|
|
7940
|
+
this.input.value = this.optionSelected.textContent;
|
|
7871
7941
|
} else {
|
|
7872
7942
|
// Otherwise just enter the value into the input
|
|
7873
7943
|
this.optionSelected = undefined;
|
|
@@ -7897,19 +7967,23 @@ class AuroCombobox extends r$6 {
|
|
|
7897
7967
|
/**
|
|
7898
7968
|
* Watch for slot changes and recalculate the menuoptions.
|
|
7899
7969
|
* @private
|
|
7970
|
+
* @param {Event} event - slotchange event
|
|
7900
7971
|
* @returns {void}
|
|
7901
7972
|
*/
|
|
7902
|
-
handleSlotChange() {
|
|
7903
|
-
|
|
7904
|
-
|
|
7905
|
-
|
|
7906
|
-
|
|
7907
|
-
|
|
7908
|
-
|
|
7909
|
-
|
|
7910
|
-
|
|
7973
|
+
handleSlotChange(event) {
|
|
7974
|
+
// treat only generic menuoptions
|
|
7975
|
+
if (!event.target.name) {
|
|
7976
|
+
this.options = this.menu.querySelectorAll('auro-menuoption, [auro-menuoption]');
|
|
7977
|
+
this.options.forEach((opt) => {
|
|
7978
|
+
if (this.checkmark) {
|
|
7979
|
+
opt.removeAttribute('nocheckmark');
|
|
7980
|
+
} else {
|
|
7981
|
+
opt.setAttribute('nocheckmark', '');
|
|
7982
|
+
}
|
|
7983
|
+
});
|
|
7911
7984
|
|
|
7912
|
-
|
|
7985
|
+
this.handleMenuOptions();
|
|
7986
|
+
}
|
|
7913
7987
|
}
|
|
7914
7988
|
|
|
7915
7989
|
// function that renders the HTML and CSS into the scope of the component
|
|
@@ -7919,7 +7993,7 @@ class AuroCombobox extends r$6 {
|
|
|
7919
7993
|
<div aria-live="polite" class="util_displayHiddenVisually">
|
|
7920
7994
|
${this.optionActive && this.availableOptions.length > 0
|
|
7921
7995
|
? u$6`
|
|
7922
|
-
${`${this.optionActive.
|
|
7996
|
+
${`${this.optionActive.textContent}, selected, ${this.availableOptions.indexOf(this.optionActive) + 1} of ${this.availableOptions.length}`}
|
|
7923
7997
|
`
|
|
7924
7998
|
: undefined
|
|
7925
7999
|
}
|
|
@@ -7962,1033 +8036,1085 @@ class AuroCombobox extends r$6 {
|
|
|
7962
8036
|
}
|
|
7963
8037
|
}
|
|
7964
8038
|
|
|
7965
|
-
var styleCss$2 = i$c`:root{--ds-asset-font-circular-family-name: "AS Circular";--ds-asset-font-circular-filename: "ASCircularWeb";--ds-asset-font-circular-weight-light: "-Light";--ds-asset-font-circular-weight-medium: "-Medium";--ds-asset-font-circular-weight-book: "-Book";--ds-border-radius: 0.375rem;--ds-size-25: 0.125rem;--ds-size-50: 0.25rem;--ds-size-75: 0.375rem;--ds-size-100: 0.5rem;--ds-size-150: 0.75rem;--ds-size-200: 1rem;--ds-size-250: 1.25rem;--ds-size-300: 1.5rem;--ds-size-400: 2rem;--ds-size-500: 2.5rem;--ds-size-600: 3rem;--ds-size-700: 3.5rem;--ds-size-800: 4rem;--ds-size-900: 4.5rem;--ds-size-1000: 5rem;--ds-unitless-scale-20: 0.25;--ds-unitless-scale-50: 0.5;--ds-unitless-scale-100: 1;--ds-unitless-scale-140: 1.4;--ds-unitless-scale-150: 1.5;--ds-unitless-scale-200: 2;--ds-unitless-scale-300: 3;--ds-unitless-scale-350: 3.5;--ds-animation-default-property: all;--ds-animation-default-duration: 0.3s;--ds-animation-default-timing: ease-out;--ds-depth-overlay: 200;--ds-depth-modal: 300;--ds-depth-tooltip: 400;--ds-elevation-100: 0px 0px 5px rgba(0, 0, 0, 0.15);--ds-elevation-200: 0px 0px 10px rgba(0, 0, 0, 0.15);--ds-elevation-300: 0px 0px 15px rgba(0, 0, 0, 0.2);--ds-grid-breakpoint-xs: 320px;--ds-grid-breakpoint-sm: 576px;--ds-grid-breakpoint-md: 768px;--ds-grid-breakpoint-lg: 1024px;--ds-grid-breakpoint-xl: 1232px;--ds-grid-column-xs: 6;--ds-grid-column-sm: 12;--ds-grid-column-md: 12;--ds-grid-column-lg: 12;--ds-grid-column-xl: 12;--ds-grid-gutter-xs: 0.5rem;--ds-grid-gutter-sm: 1rem;--ds-grid-gutter-md: 1.5rem;--ds-grid-gutter-lg: 1.5rem;--ds-grid-gutter-xl: 2rem;--ds-grid-margin-xs: 1rem;--ds-grid-margin-sm: 1rem;--ds-grid-margin-md: 1.5rem;--ds-grid-margin-lg: 2rem;--ds-grid-margin-xl: 2rem;--ds-font-family-default: "AS Circular", Helvetica Neue, Arial, sans-serif;--ds-font-family-mono: Menlo, Monaco, Consolas, "Courier New", monospace;--ds-text-heading-300-weight: 300;--ds-text-heading-300-px: 18px;--ds-text-heading-300-size: 1.125rem;--ds-text-heading-300-height: 1.625rem;--ds-text-heading-300-height-px: 26px;--ds-text-heading-400-weight: 300;--ds-text-heading-400-px: 20px;--ds-text-heading-400-size: 1.25rem;--ds-text-heading-400-height: 1.625rem;--ds-text-heading-400-height-px: 26px;--ds-text-heading-500-weight: 300;--ds-text-heading-500-px-breakpoint-sm: 22px;--ds-text-heading-500-px-breakpoint-md: 24px;--ds-text-heading-500-px-breakpoint-lg: 24px;--ds-text-heading-500-size-breakpoint-sm: 1.375rem;--ds-text-heading-500-size-breakpoint-md: 1.5rem;--ds-text-heading-500-size-breakpoint-lg: 1.5rem;--ds-text-heading-500-height-breakpoint-sm: 1.625rem;--ds-text-heading-500-height-breakpoint-px-sm: 26px;--ds-text-heading-500-height-breakpoint-md: 1.875rem;--ds-text-heading-500-height-breakpoint-px-md: 30px;--ds-text-heading-500-height-breakpoint-lg: 2rem;--ds-text-heading-500-height-breakpoint-px-lg: 32px;--ds-text-heading-600-weight: 300;--ds-text-heading-600-px-breakpoint-sm: 26px;--ds-text-heading-600-px-breakpoint-md: 28px;--ds-text-heading-600-px-breakpoint-lg: 28px;--ds-text-heading-600-size-breakpoint-sm: 1.625rem;--ds-text-heading-600-size-breakpoint-md: 1.75rem;--ds-text-heading-600-size-breakpoint-lg: 1.75rem;--ds-text-heading-600-height-breakpoint-sm: 1.875rem;--ds-text-heading-600-height-breakpoint-px-sm: 30px;--ds-text-heading-600-height-breakpoint-md: 2.125rem;--ds-text-heading-600-height-breakpoint-px-md: 34px;--ds-text-heading-600-height-breakpoint-lg: 2.25rem;--ds-text-heading-600-height-breakpoint-px-lg: 36px;--ds-text-heading-700-weight: 500;--ds-text-heading-700-px-breakpoint-sm: 28px;--ds-text-heading-700-px-breakpoint-md: 32px;--ds-text-heading-700-px-breakpoint-lg: 36px;--ds-text-heading-700-size-breakpoint-sm: 1.75rem;--ds-text-heading-700-size-breakpoint-md: 2rem;--ds-text-heading-700-size-breakpoint-lg: 2.25rem;--ds-text-heading-700-height-breakpoint-sm: 2.125rem;--ds-text-heading-700-height-breakpoint-px-sm: 34px;--ds-text-heading-700-height-breakpoint-md: 2.375rem;--ds-text-heading-700-height-breakpoint-px-md: 38px;--ds-text-heading-700-height-breakpoint-lg: 2.75rem;--ds-text-heading-700-height-breakpoint-px-lg: 44px;--ds-text-heading-800-weight: 500;--ds-text-heading-800-px-breakpoint-sm: 32px;--ds-text-heading-800-px-breakpoint-md: 36px;--ds-text-heading-800-px-breakpoint-lg: 40px;--ds-text-heading-800-size-breakpoint-sm: 2rem;--ds-text-heading-800-size-breakpoint-md: 2.25rem;--ds-text-heading-800-size-breakpoint-lg: 2.5rem;--ds-text-heading-800-height-breakpoint-sm: 2.375rem;--ds-text-heading-800-height-breakpoint-px-sm: 38px;--ds-text-heading-800-height-breakpoint-md: 2.625rem;--ds-text-heading-800-height-breakpoint-px-md: 42px;--ds-text-heading-800-height-breakpoint-lg: 3rem;--ds-text-heading-800-height-breakpoint-px-lg: 48px;--ds-text-heading-default-weight: 500;--ds-text-heading-default-margin: 0;--ds-text-heading-default-spacing: -0.2px;--ds-text-heading-medium-weight: 300;--ds-text-heading-display-weight: 100;--ds-text-heading-display-px-breakpoint-sm: 44px;--ds-text-heading-display-px-breakpoint-md: 48px;--ds-text-heading-display-px-breakpoint-lg: 56px;--ds-text-heading-display-size-breakpoint-sm: 2.75rem;--ds-text-heading-display-size-breakpoint-md: 3rem;--ds-text-heading-display-size-breakpoint-lg: 3.5rem;--ds-text-heading-display-height-breakpoint-sm: 3.375rem;--ds-text-heading-display-height-breakpoint-px-sm: 54px;--ds-text-heading-display-height-breakpoint-md: 3.75rem;--ds-text-heading-display-height-breakpoint-px-md: 60px;--ds-text-heading-display-height-breakpoint-lg: 4.25rem;--ds-text-heading-display-height-breakpoint-px-lg: 68px;--ds-text-body-default-weight: 500;--ds-text-body-size-xxs: 0.625rem;--ds-text-body-size-xs: 0.75rem;--ds-text-body-size-sm: 0.875rem;--ds-text-body-size-default: 1rem;--ds-text-body-size-lg: 1.125rem;--ds-text-body-height-xs: 1rem;--ds-text-body-height-sm: 1.25rem;--ds-text-body-height-default: 1.5rem;--ds-text-body-height-lg: 1.625rem;--ds-color-alert-notification-default: #0074c8;--ds-color-alert-warning-default: #de750c;--ds-color-alert-error-default: #df0b37;--ds-color-alert-success-default: #00805d;--ds-color-alert-advisory-default: #fff0cd;--ds-color-alert-bkg-success-default: #ddf6e8;--ds-color-alert-bkg-error-default: #ffedf1;--ds-color-background-primary-100-default: #ffffff;--ds-color-background-primary-100-inverse: #0e2b4f;--ds-color-background-primary-200-default: #f7f7f7;--ds-color-background-primary-200-inverse: #194069;--ds-color-background-primary-300-default: #e4e8ec;--ds-color-background-primary-300-inverse: #265688;--ds-color-background-primary-400-default: #dddddd;--ds-color-background-primary-400-inverse: #326aa5;--ds-color-background-success-default: #eef8f5;--ds-color-background-success-inverse: #173c30;--ds-color-background-error-default: #fff4f4;--ds-color-background-error-inverse: #74110e;--ds-color-background-warning-default: #fef8e9;--ds-color-background-warning-inverse: #5d4514;--ds-color-background-info-default: #f0f7fd;--ds-color-background-info-inverse: #193d73;--ds-color-background-subtle-default: #f7f8fa;--ds-color-background-subtle-inverse: #2a2a2a;--ds-color-background-accent-default: #ebfafd;--ds-color-background-accent-inverse: #275b72;--ds-color-background-emphasis-default: #c9e0f7;--ds-color-background-emphasis-inverse: #225296;--ds-color-background-scrimmed-default: rgba(0, 0, 0, 0.5);--ds-color-background-lightest: #ffffff;--ds-color-background-lighter: #f7f7f7;--ds-color-background-darker: #01426a;--ds-color-background-darkest: #00274a;--ds-color-background-gradient-default: linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.5));--ds-color-base-white: #ffffff;--ds-color-base-white-100: rgba(255, 255, 255, 0.03);--ds-color-base-white-200: rgba(255, 255, 255, 0.06);--ds-color-base-white-300: rgba(255, 255, 255, 0.12);--ds-color-base-white-400: rgba(255, 255, 255, 0.25);--ds-color-base-white-500: rgba(255, 255, 255, 0.5);--ds-color-base-white-opacity-50: rgba(255, 255, 255, 0.5);--ds-color-base-white-opacity-40: rgba(255, 255, 255, 0.4);--ds-color-base-white-opacity-0: rgba(255, 255, 255, 0);--ds-color-base-black: #000000;--ds-color-base-black-100: rgba(0, 0, 0, 0.03);--ds-color-base-black-200: rgba(0, 0, 0, 0.06);--ds-color-base-black-300: rgba(0, 0, 0, 0.12);--ds-color-base-black-400: rgba(0, 0, 0, 0.25);--ds-color-base-black-500: rgba(0, 0, 0, 0.5);--ds-color-base-black-opacity-15: rgba(0, 0, 0, 0.15);--ds-color-base-blue-100: #f0f7fd;--ds-color-base-blue-200: #c9e0f7;--ds-color-base-blue-300: #a0c9f1;--ds-color-base-blue-400: #79b2ec;--ds-color-base-blue-500: #5398e6;--ds-color-base-blue-600: #3b7fd2;--ds-color-base-blue-700: #2c67b5;--ds-color-base-blue-800: #225296;--ds-color-base-blue-900: #193d73;--ds-color-base-blue-1000: #102a51;--ds-color-base-cyan-100: #ebfafd;--ds-color-base-cyan-200: #a8e9f7;--ds-color-base-cyan-300: #6ad5ef;--ds-color-base-cyan-400: #56bbde;--ds-color-base-cyan-500: #4aa2c7;--ds-color-base-cyan-600: #3e89aa;--ds-color-base-cyan-700: #32718e;--ds-color-base-cyan-800: #275b72;--ds-color-base-cyan-900: #1d4658;--ds-color-base-cyan-1000: #12303d;--ds-color-base-error-100: #fff4f4;--ds-color-base-error-200: #f9aca6;--ds-color-base-error-300: #f16359;--ds-color-base-error-400: #cc1816;--ds-color-base-error-500: #74110e;--ds-color-base-gray-100: #f7f7f7;--ds-color-base-gray-200: #d4d4d4;--ds-color-base-gray-300: #c5c5c5;--ds-color-base-gray-400: #adadad;--ds-color-base-gray-500: #959595;--ds-color-base-gray-600: #7e7e7e;--ds-color-base-gray-700: #676767;--ds-color-base-gray-800: #525252;--ds-color-base-gray-900: #3d3d3d;--ds-color-base-gray-1000: #2a2a2a;--ds-color-base-green-100: #f3faf7;--ds-color-base-green-200: #000000;--ds-color-base-green-300: #addbca;--ds-color-base-green-400: #7ec6ac;--ds-color-base-green-500: #51ae8c;--ds-color-base-green-600: #459578;--ds-color-base-green-700: #3a7d64;--ds-color-base-green-800: #306854;--ds-color-base-green-900: #285545;--ds-color-base-green-1000: #1f4436;--ds-color-base-lime-100: #f5fbeb;--ds-color-base-lime-200: #d8efb4;--ds-color-base-lime-300: #badd81;--ds-color-base-lime-400: #a2c270;--ds-color-base-lime-500: #8ca761;--ds-color-base-lime-600: #778f53;--ds-color-base-lime-700: #647845;--ds-color-base-lime-800: #53643a;--ds-color-base-lime-900: #44522f;--ds-color-base-lime-1000: #364126;--ds-color-base-navy-100: #f2f7fb;--ds-color-base-navy-200: #cfe0ef;--ds-color-base-navy-300: #acc9e2;--ds-color-base-navy-400: #89b2d4;--ds-color-base-navy-500: #6899c6;--ds-color-base-navy-600: #4a82b7;--ds-color-base-navy-700: #326aa5;--ds-color-base-navy-800: #265688;--ds-color-base-navy-900: #194069;--ds-color-base-navy-1000: #0e2b4f;--ds-color-base-neutral-100: #f7f8fa;--ds-color-base-neutral-200: #e4e8ec;--ds-color-base-neutral-300: #ccd2db;--ds-color-base-neutral-400: #afb9c6;--ds-color-base-neutral-500: #939fad;--ds-color-base-neutral-600: #7e8894;--ds-color-base-neutral-700: #6a717c;--ds-color-base-neutral-800: #585e67;--ds-color-base-neutral-900: #484d55;--ds-color-base-neutral-1000: #393d43;--ds-color-base-pink-100: #fff7f8;--ds-color-base-pink-200: #fde0e6;--ds-color-base-pink-300: #fcc2ce;--ds-color-base-pink-400: #fa9db0;--ds-color-base-pink-500: #f7738e;--ds-color-base-pink-600: #e45472;--ds-color-base-pink-700: #bf475f;--ds-color-base-pink-800: #a03b50;--ds-color-base-pink-900: #833142;--ds-color-base-pink-1000: #692734;--ds-color-base-purple-100: #fbf8fe;--ds-color-base-purple-200: #ede3fd;--ds-color-base-purple-300: #ddc9fb;--ds-color-base-purple-400: #c9a9f8;--ds-color-base-purple-500: #b588f5;--ds-color-base-purple-600: #a268f3;--ds-color-base-purple-700: #8d47f0;--ds-color-base-purple-800: #7633d7;--ds-color-base-purple-900: #622ab2;--ds-color-base-purple-1000: #4e228d;--ds-color-base-red-100: #fef7f5;--ds-color-base-red-200: #fae2da;--ds-color-base-red-300: #f5c7b8;--ds-color-base-red-400: #f0a68d;--ds-color-base-red-500: #e9815e;--ds-color-base-red-600: #e35c2f;--ds-color-base-red-700: #d03a08;--ds-color-base-red-800: #ae3007;--ds-color-base-red-900: #902806;--ds-color-base-red-1000: #732005;--ds-color-base-success-100: #eef8f5;--ds-color-base-success-200: #8eceb9;--ds-color-base-success-300: #40a080;--ds-color-base-success-400: #0b6f4d;--ds-color-base-success-500: #173c30;--ds-color-base-turquoise-100: #f7fafa;--ds-color-base-turquoise-200: #dfe9ea;--ds-color-base-turquoise-300: #c2d5d6;--ds-color-base-turquoise-400: #9fbdbe;--ds-color-base-turquoise-500: #7ba5a6;--ds-color-base-turquoise-600: #5c8f91;--ds-color-base-turquoise-700: #3d7a7d;--ds-color-base-turquoise-800: #21686a;--ds-color-base-turquoise-900: #085659;--ds-color-base-turquoise-1000: #004447;--ds-color-base-yellow-100: #fff9df;--ds-color-base-yellow-200: #ffe87e;--ds-color-base-yellow-300: #f9ce06;--ds-color-base-yellow-400: #d6b622;--ds-color-base-yellow-500: #b49d35;--ds-color-base-yellow-600: #96873e;--ds-color-base-yellow-700: #7c7140;--ds-color-base-yellow-800: #665e3d;--ds-color-base-yellow-900: #524e38;--ds-color-base-yellow-1000: #403d30;--ds-color-base-warning-100: #fef8e9;--ds-color-base-warning-200: #f2c153;--ds-color-base-warning-300: #c49432;--ds-color-base-warning-400: #8e6b22;--ds-color-base-warning-500: #5d4514;--ds-color-state-error-100: #ff999b;--ds-color-state-error-500: #df0b37;--ds-color-state-success-100: #69cf96;--ds-color-state-success-500: #00805d;--ds-color-state-warning-500: #de750c;--ds-color-border-primary-default: #585e67;--ds-color-border-primary-inverse: #afb9c6;--ds-color-border-secondary-default: #939fad;--ds-color-border-secondary-inverse: #7e8894;--ds-color-border-tertiary-default: #dddddd;--ds-color-border-tertiary-inverse: #676767;--ds-color-border-error-default: #cc1816;--ds-color-border-error-inverse: #f9aca6;--ds-color-border-divider-default: rgba(0, 0, 0, 0.12);--ds-color-border-divider-inverse: rgba(255, 255, 255, 0.25);--ds-color-border-subtle-default: #f0f7fd;--ds-color-border-subtle-inverse: #326aa5;--ds-color-border-emphasis-default: #194069;--ds-color-border-emphasis-inverse: #f2f7fb;--ds-color-border-accent-default: #badd81;--ds-color-border-accent-inverse: #a2c270;--ds-color-border-success-default: #0b6f4d;--ds-color-border-success-inverse: #8eceb9;--ds-color-border-warning-default: #c49432;--ds-color-border-warning-inverse: #f2c153;--ds-color-border-info-default: #326aa5;--ds-color-border-info-inverse: #89b2d4;--ds-color-border-ui-default-default: #2c67b5;--ds-color-border-ui-default-inverse: #56bbde;--ds-color-border-ui-hover-default: #193d73;--ds-color-border-ui-hover-inverse: #a8e9f7;--ds-color-border-ui-active-default: #225296;--ds-color-border-ui-active-inverse: #6ad5ef;--ds-color-border-ui-focus-default: #2c67b5;--ds-color-border-ui-focus-inverse: #56bbde;--ds-color-border-ui-disabled-default: #adadad;--ds-color-border-ui-disabled-inverse: #7e7e7e;--ds-color-border-active-default: #0074c8;--ds-color-border-active-inverse: #00cff0;--ds-color-border-disabled-default: #d4d4d4;--ds-color-border-focus-default: #959595;--ds-color-brand-neutral-100: #f7f8fa;--ds-color-brand-neutral-200: #e4e8ec;--ds-color-brand-neutral-300: #ccd2db;--ds-color-brand-neutral-400: #afb9c6;--ds-color-brand-neutral-500: #939fad;--ds-color-brand-neutral-600: #7e8894;--ds-color-brand-neutral-700: #6a717c;--ds-color-brand-neutral-800: #585e67;--ds-color-brand-neutral-900: #484d55;--ds-color-brand-neutral-1000: #393d43;--ds-color-brand-gray-100: #f7f7f7;--ds-color-brand-gray-200: #dddddd;--ds-color-brand-gray-300: #c5c5c5;--ds-color-brand-gray-400: #adadad;--ds-color-brand-gray-500: #959595;--ds-color-brand-gray-600: #7e7e7e;--ds-color-brand-gray-700: #676767;--ds-color-brand-gray-800: #525252;--ds-color-brand-gray-900: #3d3d3d;--ds-color-brand-gray-1000: #2a2a2a;--ds-color-brand-red-100: #fef7f5;--ds-color-brand-red-200: #fae2da;--ds-color-brand-red-300: #f5c7b8;--ds-color-brand-red-400: #f0a68d;--ds-color-brand-red-500: #e9815e;--ds-color-brand-red-600: #e35c2f;--ds-color-brand-red-700: #d03a08;--ds-color-brand-red-800: #ae3007;--ds-color-brand-red-900: #902806;--ds-color-brand-red-1000: #732005;--ds-color-brand-yellow-100: #fff9df;--ds-color-brand-yellow-200: #ffe87e;--ds-color-brand-yellow-300: #f9ce06;--ds-color-brand-yellow-400: #d6b622;--ds-color-brand-yellow-500: #b49d35;--ds-color-brand-yellow-600: #96873e;--ds-color-brand-yellow-700: #7c7140;--ds-color-brand-yellow-800: #665e3d;--ds-color-brand-yellow-900: #524e38;--ds-color-brand-yellow-1000: #403d30;--ds-color-brand-lime-100: #f5fbeb;--ds-color-brand-lime-200: #d8efb4;--ds-color-brand-lime-300: #badd81;--ds-color-brand-lime-400: #a2c270;--ds-color-brand-lime-500: #8ca761;--ds-color-brand-lime-600: #778f53;--ds-color-brand-lime-700: #647845;--ds-color-brand-lime-800: #53643a;--ds-color-brand-lime-900: #44522f;--ds-color-brand-lime-1000: #364126;--ds-color-brand-green-100: #f3faf7;--ds-color-brand-green-200: #d4ece4;--ds-color-brand-green-300: #addbca;--ds-color-brand-green-400: #7ec6ac;--ds-color-brand-green-500: #51ae8c;--ds-color-brand-green-600: #459578;--ds-color-brand-green-700: #3a7d64;--ds-color-brand-green-800: #306854;--ds-color-brand-green-900: #285545;--ds-color-brand-green-1000: #1f4436;--ds-color-brand-turquoise-100: #f7fafa;--ds-color-brand-turquoise-200: #dfe9ea;--ds-color-brand-turquoise-300: #c2d5d6;--ds-color-brand-turquoise-400: #9fbdbe;--ds-color-brand-turquoise-500: #7ba5a6;--ds-color-brand-turquoise-600: #5c8f91;--ds-color-brand-turquoise-700: #3d7a7d;--ds-color-brand-turquoise-800: #21686a;--ds-color-brand-turquoise-900: #085659;--ds-color-brand-turquoise-1000: #004447;--ds-color-brand-cyan-100: #ebfafd;--ds-color-brand-cyan-200: #a8e9f7;--ds-color-brand-cyan-300: #6ad5ef;--ds-color-brand-cyan-400: #56bbde;--ds-color-brand-cyan-500: #4aa2c7;--ds-color-brand-cyan-600: #3e89aa;--ds-color-brand-cyan-700: #32718e;--ds-color-brand-cyan-800: #275b72;--ds-color-brand-cyan-900: #1d4658;--ds-color-brand-cyan-1000: #12303d;--ds-color-brand-blue-100: #f0f7fd;--ds-color-brand-blue-200: #c9e0f7;--ds-color-brand-blue-300: #a0c9f1;--ds-color-brand-blue-400: #79b2ec;--ds-color-brand-blue-500: #5398e6;--ds-color-brand-blue-600: #3b7fd2;--ds-color-brand-blue-700: #2c67b5;--ds-color-brand-blue-800: #225296;--ds-color-brand-blue-900: #193d73;--ds-color-brand-blue-1000: #102a51;--ds-color-brand-navy-100: #f2f7fb;--ds-color-brand-navy-200: #cfe0ef;--ds-color-brand-navy-300: #acc9e2;--ds-color-brand-navy-400: #89b2d4;--ds-color-brand-navy-500: #6899c6;--ds-color-brand-navy-600: #4a82b7;--ds-color-brand-navy-700: #326aa5;--ds-color-brand-navy-800: #265688;--ds-color-brand-navy-900: #194069;--ds-color-brand-navy-1000: #0e2b4f;--ds-color-brand-purple-100: #fbf8fe;--ds-color-brand-purple-200: #ede3fd;--ds-color-brand-purple-300: #ddc9fb;--ds-color-brand-purple-400: #c9a9f8;--ds-color-brand-purple-500: #b588f5;--ds-color-brand-purple-600: #a268f3;--ds-color-brand-purple-700: #8d47f0;--ds-color-brand-purple-800: #7633d7;--ds-color-brand-purple-900: #622ab2;--ds-color-brand-purple-1000: #4e228d;--ds-color-brand-pink-100: #fff7f8;--ds-color-brand-pink-200: #fde0e6;--ds-color-brand-pink-300: #fcc2ce;--ds-color-brand-pink-400: #fa9db0;--ds-color-brand-pink-500: #f7738e;--ds-color-brand-pink-600: #e45472;--ds-color-brand-pink-700: #bf475f;--ds-color-brand-pink-800: #a03b50;--ds-color-brand-pink-900: #833142;--ds-color-brand-pink-1000: #692734;--ds-color-brand-midnight-100: #c1daf0;--ds-color-brand-midnight-200: #569ed7;--ds-color-brand-midnight-300: #156fad;--ds-color-brand-midnight-400: #01426a;--ds-color-brand-midnight-500: #00274a;--ds-color-brand-atlas-100: #cde6ff;--ds-color-brand-atlas-200: #6bb7fb;--ds-color-brand-atlas-300: #2492eb;--ds-color-brand-atlas-400: #0074c8;--ds-color-brand-atlas-500: #054687;--ds-color-brand-atlas-400-opacity-20: rgba(0, 116, 200, 0.2);--ds-color-brand-breeze-100: #c0f7ff;--ds-color-brand-breeze-200: #5de3f7;--ds-color-brand-breeze-300: #00cff0;--ds-color-brand-breeze-400: #099dc5;--ds-color-brand-breeze-500: #0b5575;--ds-color-brand-breeze-300-opacity-30: rgba(0, 207, 240, 0.3);--ds-color-brand-tropical-100: #e2ffcd;--ds-color-brand-tropical-200: #d0fba6;--ds-color-brand-tropical-300: #c0e585;--ds-color-brand-tropical-400: #91be62;--ds-color-brand-tropical-500: #5e8741;--ds-color-brand-alpine-100: #bcaae6;--ds-color-brand-alpine-200: #9e73ea;--ds-color-brand-alpine-300: #8439ef;--ds-color-brand-alpine-400: #631db8;--ds-color-brand-alpine-500: #39115c;--ds-color-brand-flamingo-100: #ffebee;--ds-color-brand-flamingo-200: #ffc0ca;--ds-color-brand-flamingo-300: #ff94a7;--ds-color-brand-flamingo-400: #f65b7b;--ds-color-brand-flamingo-500: #b82b47;--ds-color-brand-canyon-100: #ffcab6;--ds-color-brand-canyon-200: #f99574;--ds-color-brand-canyon-300: #f26135;--ds-color-brand-canyon-400: #de3e09;--ds-color-brand-canyon-500: #b83302;--ds-color-brand-goldcoast-100: #fff0cd;--ds-color-brand-goldcoast-200: #ffdb67;--ds-color-brand-goldcoast-300: #ffd200;--ds-color-brand-goldcoast-400: #e5ad07;--ds-color-brand-goldcoast-500: #b88624;--ds-color-brand-goldgray-100: #c5c1bf;--ds-color-brand-goldgray-200: #726e6c;--ds-color-brand-gold-100: #ccbc94;--ds-color-brand-gold-200: #7f682e;--ds-color-brand-emerald: #139142;--ds-color-brand-sapphire: #015daa;--ds-color-brand-ruby: #a41d4a;--ds-color-brand-lounge: #01426a;--ds-color-brand-loungeplus: #53b390;--ds-color-container-accent-default: #f5fbeb;--ds-color-container-accent-inverse: #badd81;--ds-color-container-emphasis-default: #ebfafd;--ds-color-container-emphasis-inverse: #6ad5ef;--ds-color-container-error-default: #fff4f4;--ds-color-container-error-inverse: #74110e;--ds-color-container-info-default: #f0f7fd;--ds-color-container-info-inverse: #193d73;--ds-color-container-primary-default: #ffffff;--ds-color-container-primary-inverse: #0e2b4f;--ds-color-container-secondary-default: #f7f7f7;--ds-color-container-secondary-inverse: #194069;--ds-color-container-subtle-default: #f7f8fa;--ds-color-container-subtle-inverse: #393d43;--ds-color-container-success-default: #eef8f5;--ds-color-container-success-inverse: #173c30;--ds-color-container-tertiary-default: rgba(0, 0, 0, 0.03);--ds-color-container-tertiary-inverse: rgba(255, 255, 255, 0.06);--ds-color-container-warning-default: #fef8e9;--ds-color-container-warning-inverse: #5d4514;--ds-color-container-ui-primary-active-default: #225296;--ds-color-container-ui-primary-active-inverse: #6ad5ef;--ds-color-container-ui-primary-default-default: #2c67b5;--ds-color-container-ui-primary-default-inverse: #56bbde;--ds-color-container-ui-primary-disabled-default: #a0c9f1;--ds-color-container-ui-primary-disabled-inverse: #275b72;--ds-color-container-ui-primary-focus-default: #2c67b5;--ds-color-container-ui-primary-focus-inverse: #56bbde;--ds-color-container-ui-primary-hover-default: #193d73;--ds-color-container-ui-primary-hover-inverse: #a8e9f7;--ds-color-container-ui-secondary-active-default: #f0f7fd;--ds-color-container-ui-secondary-active-inverse: rgba(255, 255, 255, 0.06);--ds-color-container-ui-secondary-default-default: #ffffff;--ds-color-container-ui-secondary-default-inverse: rgba(255, 255, 255, 0.03);--ds-color-container-ui-secondary-disabled-default: #f7f7f7;--ds-color-container-ui-secondary-disabled-inverse: rgba(255, 255, 255, 0.12);--ds-color-container-ui-secondary-focus-default: #ffffff;--ds-color-container-ui-secondary-focus-inverse: rgba(255, 255, 255, 0.03);--ds-color-container-ui-secondary-hover-default: rgba(0, 0, 0, 0.03);--ds-color-container-ui-secondary-hover-inverse: rgba(255, 255, 255, 0.12);--ds-color-container-ui-tertiary-active-default: rgba(0, 0, 0, 0.06);--ds-color-container-ui-tertiary-active-inverse: rgba(255, 255, 255, 0.06);--ds-color-container-ui-tertiary-default-default: rgba(0, 0, 0, 0.03);--ds-color-container-ui-tertiary-default-inverse: rgba(255, 255, 255, 0.12);--ds-color-container-ui-tertiary-disabled-default: rgba(0, 0, 0, 0.03);--ds-color-container-ui-tertiary-disabled-inverse: rgba(255, 255, 255, 0.25);--ds-color-container-ui-tertiary-focus-default: rgba(0, 0, 0, 0.03);--ds-color-container-ui-tertiary-focus-inverse: rgba(255, 255, 255, 0.12);--ds-color-container-ui-tertiary-hover-default: rgba(0, 0, 0, 0.12);--ds-color-container-ui-tertiary-hover-inverse: rgba(255, 255, 255, 0.25);--ds-color-icon-primary-default: #676767;--ds-color-icon-primary-inverse: #f7f7f7;--ds-color-icon-secondary-default: #7e8894;--ds-color-icon-secondary-inverse: #ccd2db;--ds-color-icon-tertiary-default: #afb9c6;--ds-color-icon-tertiary-inverse: #939fad;--ds-color-icon-emphasis-default: #2a2a2a;--ds-color-icon-emphasis-inverse: #ffffff;--ds-color-icon-accent-default: #a2c270;--ds-color-icon-accent-inverse: #badd81;--ds-color-icon-info-default: #326aa5;--ds-color-icon-info-inverse: #89b2d4;--ds-color-icon-error-default: #cc1816;--ds-color-icon-error-inverse: #f9aca6;--ds-color-icon-warning-default: #c49432;--ds-color-icon-warning-inverse: #f2c153;--ds-color-icon-success-default: #40a080;--ds-color-icon-success-inverse: #8eceb9;--ds-color-icon-subtle-default: #a0c9f1;--ds-color-icon-subtle-inverse: #326aa5;--ds-color-icon-ui-primary-default-default: #2c67b5;--ds-color-icon-ui-primary-default-inverse: #56bbde;--ds-color-icon-ui-primary-hover-default: #193d73;--ds-color-icon-ui-primary-hover-inverse: #a8e9f7;--ds-color-icon-ui-primary-active-default: #225296;--ds-color-icon-ui-primary-active-inverse: #6ad5ef;--ds-color-icon-ui-primary-disabled-default: #adadad;--ds-color-icon-ui-primary-disabled-inverse: #7e7e7e;--ds-color-icon-ui-primary-focus-default: #2c67b5;--ds-color-icon-ui-primary-focus-inverse: #56bbde;--ds-color-icon-ui-secondary-active-default: #676767;--ds-color-icon-ui-secondary-active-inverse: #c5c5c5;--ds-color-icon-ui-secondary-default-default: #7e7e7e;--ds-color-icon-ui-secondary-default-inverse: #adadad;--ds-color-icon-ui-secondary-disabled-default: #adadad;--ds-color-icon-ui-secondary-disabled-inverse: #7e7e7e;--ds-color-icon-ui-secondary-focus-default: #7e7e7e;--ds-color-icon-ui-secondary-focus-inverse: #adadad;--ds-color-icon-ui-secondary-hover-default: #525252;--ds-color-icon-ui-secondary-hover-inverse: #dddddd;--ds-color-icon-brand-red-default: #d03a08;--ds-color-icon-brand-red-inverse: #e9815e;--ds-color-icon-brand-yellow-default: #7c7140;--ds-color-icon-brand-yellow-inverse: #f9ce06;--ds-color-icon-brand-pink-default: #bf475f;--ds-color-icon-brand-pink-inverse: #f7738e;--ds-color-icon-brand-purple-default: #8d47f0;--ds-color-icon-brand-purple-inverse: #b588f5;--ds-color-icon-brand-lime-default: #647845;--ds-color-icon-brand-lime-inverse: #badd81;--ds-color-icon-brand-green-default: #3a7d64;--ds-color-icon-brand-green-inverse: #51ae8c;--ds-color-icon-brand-turquoise-default: #3d7a7d;--ds-color-icon-brand-turquoise-inverse: #7ba5a6;--ds-color-icon-brand-navy-default: #265688;--ds-color-icon-brand-navy-inverse: #6899c6;--ds-color-icon-brand-blue-default: #2c67b5;--ds-color-icon-brand-blue-inverse: #5398e6;--ds-color-icon-brand-cyan-default: #32718e;--ds-color-icon-brand-cyan-inverse: #6ad5ef;--ds-color-icon-brand-gray-default: #676767;--ds-color-icon-brand-gray-inverse: #c5c5c5;--ds-color-icon-brand-neutral-default: #6a717c;--ds-color-icon-brand-neutral-inverse: #afb9c6;--ds-color-icon-disabled-default: rgba(0, 0, 0, 0.15);--ds-color-text-primary-default: #2a2a2a;--ds-color-text-primary-inverse: #ffffff;--ds-color-text-secondary-default: #525252;--ds-color-text-secondary-inverse: #dddddd;--ds-color-text-tertiary-default: #6a717c;--ds-color-text-tertiary-inverse: #adadad;--ds-color-text-error-default: #cc1816;--ds-color-text-error-inverse: #f9aca6;--ds-color-text-emphasis-default: #265688;--ds-color-text-emphasis-inverse: #cfe0ef;--ds-color-text-accent-default: #647845;--ds-color-text-accent-inverse: #badd81;--ds-color-text-info-default: #326aa5;--ds-color-text-info-inverse: #acc9e2;--ds-color-text-subtle-default: #32718e;--ds-color-text-subtle-inverse: #56bbde;--ds-color-text-success-default: #0b6f4d;--ds-color-text-success-inverse: #8eceb9;--ds-color-text-ui-active-default: #225296;--ds-color-text-ui-active-inverse: #6ad5ef;--ds-color-text-ui-default-default: #2c67b5;--ds-color-text-ui-default-inverse: #56bbde;--ds-color-text-ui-disabled-default: #adadad;--ds-color-text-ui-disabled-inverse: #7e7e7e;--ds-color-text-ui-focus-default: #2c67b5;--ds-color-text-ui-focus-inverse: #56bbde;--ds-color-text-ui-hover-default: #193d73;--ds-color-text-ui-hover-inverse: #a8e9f7;--ds-color-text-link-default: #0074c8;--ds-color-text-link-inverse: #00cff0;--ds-color-tier-alaska-mvp-default: #726e6c;--ds-color-tier-alaska-mvp-inverse: #c5c1bf;--ds-color-tier-alaska-mvpgold-default: #7f682e;--ds-color-tier-alaska-mvpgold-inverse: #c5c1bf;--ds-color-tier-alaska-mvpgold75k-default: #7f682e;--ds-color-tier-alaska-mvpgold75k-inverse: #c5c1bf;--ds-color-tier-alaska-mvpgold100k-default: #7f682e;--ds-color-tier-alaska-mvpgold100k-inverse: #c5c1bf;--ds-color-tier-alaska-lounge: #01426a;--ds-color-tier-alaska-loungeplus: #53b390;--ds-color-tier-fare-business-default: #005154;--ds-color-tier-fare-business-inverse: #9fbdbe;--ds-color-tier-fare-economy-default: #2c67b5;--ds-color-tier-fare-economy-inverse: #a0c9f1;--ds-color-tier-fare-first-class-default: #002c4e;--ds-color-tier-fare-first-class-inverse: #89b2d4;--ds-color-tier-fare-saver-default: #4aa2c7;--ds-color-tier-fare-saver-inverse: #a8e9f7;--ds-color-tier-oneworld-emerald: #139142;--ds-color-tier-oneworld-sapphire: #015daa;--ds-color-tier-oneworld-ruby: #a41d4a;--ds-color-ui-default-default: #0074c8;--ds-color-ui-default-inverse: #00cff0;--ds-color-ui-hover-default: #054687;--ds-color-ui-hover-inverse: #5de3f7;--ds-color-ui-active-default: #054687;--ds-color-ui-active-inverse: #5de3f7;--ds-color-ui-disabled-default: rgba(0, 116, 200, 0.2);--ds-color-ui-bkg-default-default: rgba(0, 0, 0, 0.03);--ds-color-ui-bkg-default-inverse: rgba(255, 255, 255, 0.03);--ds-color-ui-bkg-hover-default: rgba(0, 0, 0, 0.06);--ds-color-ui-bkg-hover-inverse: rgba(255, 255, 255, 0.06);--ds-color-utility-blue-default: #79b2ec;--ds-color-utility-blue-inverse: #c9e0f7;--ds-color-utility-cyan-default: #6ad5ef;--ds-color-utility-cyan-inverse: #a8e9f7;--ds-color-utility-green-default: #7ec6ac;--ds-color-utility-green-inverse: #addbca;--ds-color-utility-gray-default: #adadad;--ds-color-utility-gray-inverse: #dddddd;--ds-color-utility-lime-default: #badd81;--ds-color-utility-lime-inverse: #d8efb4;--ds-color-utility-navy-default: #265688;--ds-color-utility-navy-inverse: #acc9e2;--ds-color-utility-neutral-default: #7e8894;--ds-color-utility-neutral-inverse: #ccd2db;--ds-color-utility-pink-default: #f7738e;--ds-color-utility-pink-inverse: #fcc2ce;--ds-color-utility-purple-default: #8d47f0;--ds-color-utility-purple-inverse: #ddc9fb;--ds-color-utility-red-default: #e35c2f;--ds-color-utility-red-inverse: #f0a68d;--ds-color-utility-turquoise-default: #5c8f91;--ds-color-utility-turquoise-inverse: #9fbdbe;--ds-color-utility-yellow-default: #f9ce06;--ds-color-utility-yellow-inverse: #ffe87e;--ds-color-utility-error-default: #cc1816;--ds-color-utility-error-inverse: #f9aca6;--ds-color-utility-warning-default: #f2c153;--ds-color-utility-warning-inverse: #f2c153;--ds-color-utility-success-default: #0b6f4d;--ds-color-utility-success-inverse: #8eceb9}*,*:before,*:after{box-sizing:border-box}@media(prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}}*:focus-visible{outline:0}*:focus-visible{outline:0}:focus:not(:focus-visible){outline:3px solid transparent}:host{display:inline-block;width:100%;margin:0;padding:0;vertical-align:middle}:host ::slotted(auro-menuoption),:host ::slotted([auro-menuoption]){padding-left:calc(var(--ds-size-150, 0.75rem) + 24px + var(--ds-size-100, 0.5rem))}:host ::slotted([selected]){padding-left: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([nocheckmark]) ::slotted(auro-menuoption){padding-left:var(--ds-size-200, 1rem)}:host([root]){overflow-y:auto}`;
|
|
8039
|
+
var styleCss$2 = i$c`:root{--ds-asset-font-circular-family-name: "AS Circular";--ds-asset-font-circular-filename: "ASCircularWeb";--ds-asset-font-circular-weight-light: "-Light";--ds-asset-font-circular-weight-medium: "-Medium";--ds-asset-font-circular-weight-book: "-Book";--ds-border-radius: 0.375rem;--ds-size-25: 0.125rem;--ds-size-50: 0.25rem;--ds-size-75: 0.375rem;--ds-size-100: 0.5rem;--ds-size-150: 0.75rem;--ds-size-200: 1rem;--ds-size-250: 1.25rem;--ds-size-300: 1.5rem;--ds-size-400: 2rem;--ds-size-500: 2.5rem;--ds-size-600: 3rem;--ds-size-700: 3.5rem;--ds-size-800: 4rem;--ds-size-900: 4.5rem;--ds-size-1000: 5rem;--ds-unitless-scale-20: 0.25;--ds-unitless-scale-50: 0.5;--ds-unitless-scale-100: 1;--ds-unitless-scale-140: 1.4;--ds-unitless-scale-150: 1.5;--ds-unitless-scale-200: 2;--ds-unitless-scale-300: 3;--ds-unitless-scale-350: 3.5;--ds-animation-default-property: all;--ds-animation-default-duration: 0.3s;--ds-animation-default-timing: ease-out;--ds-depth-overlay: 200;--ds-depth-modal: 300;--ds-depth-tooltip: 400;--ds-elevation-100: 0px 0px 5px rgba(0, 0, 0, 0.15);--ds-elevation-200: 0px 0px 10px rgba(0, 0, 0, 0.15);--ds-elevation-300: 0px 0px 15px rgba(0, 0, 0, 0.2);--ds-grid-breakpoint-xs: 320px;--ds-grid-breakpoint-sm: 576px;--ds-grid-breakpoint-md: 768px;--ds-grid-breakpoint-lg: 1024px;--ds-grid-breakpoint-xl: 1232px;--ds-grid-column-xs: 6;--ds-grid-column-sm: 12;--ds-grid-column-md: 12;--ds-grid-column-lg: 12;--ds-grid-column-xl: 12;--ds-grid-gutter-xs: 0.5rem;--ds-grid-gutter-sm: 1rem;--ds-grid-gutter-md: 1.5rem;--ds-grid-gutter-lg: 1.5rem;--ds-grid-gutter-xl: 2rem;--ds-grid-margin-xs: 1rem;--ds-grid-margin-sm: 1rem;--ds-grid-margin-md: 1.5rem;--ds-grid-margin-lg: 2rem;--ds-grid-margin-xl: 2rem;--ds-font-family-default: "AS Circular", Helvetica Neue, Arial, sans-serif;--ds-font-family-mono: Menlo, Monaco, Consolas, "Courier New", monospace;--ds-text-heading-300-weight: 300;--ds-text-heading-300-px: 18px;--ds-text-heading-300-size: 1.125rem;--ds-text-heading-300-height: 1.625rem;--ds-text-heading-300-height-px: 26px;--ds-text-heading-400-weight: 300;--ds-text-heading-400-px: 20px;--ds-text-heading-400-size: 1.25rem;--ds-text-heading-400-height: 1.625rem;--ds-text-heading-400-height-px: 26px;--ds-text-heading-500-weight: 300;--ds-text-heading-500-px-breakpoint-sm: 22px;--ds-text-heading-500-px-breakpoint-md: 24px;--ds-text-heading-500-px-breakpoint-lg: 24px;--ds-text-heading-500-size-breakpoint-sm: 1.375rem;--ds-text-heading-500-size-breakpoint-md: 1.5rem;--ds-text-heading-500-size-breakpoint-lg: 1.5rem;--ds-text-heading-500-height-breakpoint-sm: 1.625rem;--ds-text-heading-500-height-breakpoint-px-sm: 26px;--ds-text-heading-500-height-breakpoint-md: 1.875rem;--ds-text-heading-500-height-breakpoint-px-md: 30px;--ds-text-heading-500-height-breakpoint-lg: 2rem;--ds-text-heading-500-height-breakpoint-px-lg: 32px;--ds-text-heading-600-weight: 300;--ds-text-heading-600-px-breakpoint-sm: 26px;--ds-text-heading-600-px-breakpoint-md: 28px;--ds-text-heading-600-px-breakpoint-lg: 28px;--ds-text-heading-600-size-breakpoint-sm: 1.625rem;--ds-text-heading-600-size-breakpoint-md: 1.75rem;--ds-text-heading-600-size-breakpoint-lg: 1.75rem;--ds-text-heading-600-height-breakpoint-sm: 1.875rem;--ds-text-heading-600-height-breakpoint-px-sm: 30px;--ds-text-heading-600-height-breakpoint-md: 2.125rem;--ds-text-heading-600-height-breakpoint-px-md: 34px;--ds-text-heading-600-height-breakpoint-lg: 2.25rem;--ds-text-heading-600-height-breakpoint-px-lg: 36px;--ds-text-heading-700-weight: 500;--ds-text-heading-700-px-breakpoint-sm: 28px;--ds-text-heading-700-px-breakpoint-md: 32px;--ds-text-heading-700-px-breakpoint-lg: 36px;--ds-text-heading-700-size-breakpoint-sm: 1.75rem;--ds-text-heading-700-size-breakpoint-md: 2rem;--ds-text-heading-700-size-breakpoint-lg: 2.25rem;--ds-text-heading-700-height-breakpoint-sm: 2.125rem;--ds-text-heading-700-height-breakpoint-px-sm: 34px;--ds-text-heading-700-height-breakpoint-md: 2.375rem;--ds-text-heading-700-height-breakpoint-px-md: 38px;--ds-text-heading-700-height-breakpoint-lg: 2.75rem;--ds-text-heading-700-height-breakpoint-px-lg: 44px;--ds-text-heading-800-weight: 500;--ds-text-heading-800-px-breakpoint-sm: 32px;--ds-text-heading-800-px-breakpoint-md: 36px;--ds-text-heading-800-px-breakpoint-lg: 40px;--ds-text-heading-800-size-breakpoint-sm: 2rem;--ds-text-heading-800-size-breakpoint-md: 2.25rem;--ds-text-heading-800-size-breakpoint-lg: 2.5rem;--ds-text-heading-800-height-breakpoint-sm: 2.375rem;--ds-text-heading-800-height-breakpoint-px-sm: 38px;--ds-text-heading-800-height-breakpoint-md: 2.625rem;--ds-text-heading-800-height-breakpoint-px-md: 42px;--ds-text-heading-800-height-breakpoint-lg: 3rem;--ds-text-heading-800-height-breakpoint-px-lg: 48px;--ds-text-heading-default-weight: 500;--ds-text-heading-default-margin: 0;--ds-text-heading-default-spacing: -0.2px;--ds-text-heading-medium-weight: 300;--ds-text-heading-display-weight: 100;--ds-text-heading-display-px-breakpoint-sm: 44px;--ds-text-heading-display-px-breakpoint-md: 48px;--ds-text-heading-display-px-breakpoint-lg: 56px;--ds-text-heading-display-size-breakpoint-sm: 2.75rem;--ds-text-heading-display-size-breakpoint-md: 3rem;--ds-text-heading-display-size-breakpoint-lg: 3.5rem;--ds-text-heading-display-height-breakpoint-sm: 3.375rem;--ds-text-heading-display-height-breakpoint-px-sm: 54px;--ds-text-heading-display-height-breakpoint-md: 3.75rem;--ds-text-heading-display-height-breakpoint-px-md: 60px;--ds-text-heading-display-height-breakpoint-lg: 4.25rem;--ds-text-heading-display-height-breakpoint-px-lg: 68px;--ds-text-body-default-weight: 500;--ds-text-body-size-xxs: 0.625rem;--ds-text-body-size-xs: 0.75rem;--ds-text-body-size-sm: 0.875rem;--ds-text-body-size-default: 1rem;--ds-text-body-size-lg: 1.125rem;--ds-text-body-height-xs: 1rem;--ds-text-body-height-sm: 1.25rem;--ds-text-body-height-default: 1.5rem;--ds-text-body-height-lg: 1.625rem;--ds-color-alert-notification-default: #0074c8;--ds-color-alert-warning-default: #de750c;--ds-color-alert-error-default: #df0b37;--ds-color-alert-success-default: #00805d;--ds-color-alert-advisory-default: #fff0cd;--ds-color-alert-bkg-success-default: #ddf6e8;--ds-color-alert-bkg-error-default: #ffedf1;--ds-color-background-primary-100-default: #ffffff;--ds-color-background-primary-100-inverse: #0e2b4f;--ds-color-background-primary-200-default: #f7f7f7;--ds-color-background-primary-200-inverse: #194069;--ds-color-background-primary-300-default: #e4e8ec;--ds-color-background-primary-300-inverse: #265688;--ds-color-background-primary-400-default: #dddddd;--ds-color-background-primary-400-inverse: #326aa5;--ds-color-background-success-default: #eef8f5;--ds-color-background-success-inverse: #173c30;--ds-color-background-error-default: #fff4f4;--ds-color-background-error-inverse: #74110e;--ds-color-background-warning-default: #fef8e9;--ds-color-background-warning-inverse: #5d4514;--ds-color-background-info-default: #f0f7fd;--ds-color-background-info-inverse: #193d73;--ds-color-background-subtle-default: #f7f8fa;--ds-color-background-subtle-inverse: #2a2a2a;--ds-color-background-accent-default: #ebfafd;--ds-color-background-accent-inverse: #275b72;--ds-color-background-emphasis-default: #c9e0f7;--ds-color-background-emphasis-inverse: #225296;--ds-color-background-scrimmed-default: rgba(0, 0, 0, 0.5);--ds-color-background-lightest: #ffffff;--ds-color-background-lighter: #f7f7f7;--ds-color-background-darker: #01426a;--ds-color-background-darkest: #00274a;--ds-color-background-gradient-default: linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.5));--ds-color-base-white: #ffffff;--ds-color-base-white-100: rgba(255, 255, 255, 0.03);--ds-color-base-white-200: rgba(255, 255, 255, 0.06);--ds-color-base-white-300: rgba(255, 255, 255, 0.12);--ds-color-base-white-400: rgba(255, 255, 255, 0.25);--ds-color-base-white-500: rgba(255, 255, 255, 0.5);--ds-color-base-white-opacity-50: rgba(255, 255, 255, 0.5);--ds-color-base-white-opacity-40: rgba(255, 255, 255, 0.4);--ds-color-base-white-opacity-0: rgba(255, 255, 255, 0);--ds-color-base-black: #000000;--ds-color-base-black-100: rgba(0, 0, 0, 0.03);--ds-color-base-black-200: rgba(0, 0, 0, 0.06);--ds-color-base-black-300: rgba(0, 0, 0, 0.12);--ds-color-base-black-400: rgba(0, 0, 0, 0.25);--ds-color-base-black-500: rgba(0, 0, 0, 0.5);--ds-color-base-black-opacity-15: rgba(0, 0, 0, 0.15);--ds-color-base-blue-100: #f0f7fd;--ds-color-base-blue-200: #c9e0f7;--ds-color-base-blue-300: #a0c9f1;--ds-color-base-blue-400: #79b2ec;--ds-color-base-blue-500: #5398e6;--ds-color-base-blue-600: #3b7fd2;--ds-color-base-blue-700: #2c67b5;--ds-color-base-blue-800: #225296;--ds-color-base-blue-900: #193d73;--ds-color-base-blue-1000: #102a51;--ds-color-base-cyan-100: #ebfafd;--ds-color-base-cyan-200: #a8e9f7;--ds-color-base-cyan-300: #6ad5ef;--ds-color-base-cyan-400: #56bbde;--ds-color-base-cyan-500: #4aa2c7;--ds-color-base-cyan-600: #3e89aa;--ds-color-base-cyan-700: #32718e;--ds-color-base-cyan-800: #275b72;--ds-color-base-cyan-900: #1d4658;--ds-color-base-cyan-1000: #12303d;--ds-color-base-error-100: #fff4f4;--ds-color-base-error-200: #f9aca6;--ds-color-base-error-300: #f16359;--ds-color-base-error-400: #cc1816;--ds-color-base-error-500: #74110e;--ds-color-base-gray-100: #f7f7f7;--ds-color-base-gray-200: #d4d4d4;--ds-color-base-gray-300: #c5c5c5;--ds-color-base-gray-400: #adadad;--ds-color-base-gray-500: #959595;--ds-color-base-gray-600: #7e7e7e;--ds-color-base-gray-700: #676767;--ds-color-base-gray-800: #525252;--ds-color-base-gray-900: #3d3d3d;--ds-color-base-gray-1000: #2a2a2a;--ds-color-base-green-100: #f3faf7;--ds-color-base-green-200: #000000;--ds-color-base-green-300: #addbca;--ds-color-base-green-400: #7ec6ac;--ds-color-base-green-500: #51ae8c;--ds-color-base-green-600: #459578;--ds-color-base-green-700: #3a7d64;--ds-color-base-green-800: #306854;--ds-color-base-green-900: #285545;--ds-color-base-green-1000: #1f4436;--ds-color-base-lime-100: #f5fbeb;--ds-color-base-lime-200: #d8efb4;--ds-color-base-lime-300: #badd81;--ds-color-base-lime-400: #a2c270;--ds-color-base-lime-500: #8ca761;--ds-color-base-lime-600: #778f53;--ds-color-base-lime-700: #647845;--ds-color-base-lime-800: #53643a;--ds-color-base-lime-900: #44522f;--ds-color-base-lime-1000: #364126;--ds-color-base-navy-100: #f2f7fb;--ds-color-base-navy-200: #cfe0ef;--ds-color-base-navy-300: #acc9e2;--ds-color-base-navy-400: #89b2d4;--ds-color-base-navy-500: #6899c6;--ds-color-base-navy-600: #4a82b7;--ds-color-base-navy-700: #326aa5;--ds-color-base-navy-800: #265688;--ds-color-base-navy-900: #194069;--ds-color-base-navy-1000: #0e2b4f;--ds-color-base-neutral-100: #f7f8fa;--ds-color-base-neutral-200: #e4e8ec;--ds-color-base-neutral-300: #ccd2db;--ds-color-base-neutral-400: #afb9c6;--ds-color-base-neutral-500: #939fad;--ds-color-base-neutral-600: #7e8894;--ds-color-base-neutral-700: #6a717c;--ds-color-base-neutral-800: #585e67;--ds-color-base-neutral-900: #484d55;--ds-color-base-neutral-1000: #393d43;--ds-color-base-pink-100: #fff7f8;--ds-color-base-pink-200: #fde0e6;--ds-color-base-pink-300: #fcc2ce;--ds-color-base-pink-400: #fa9db0;--ds-color-base-pink-500: #f7738e;--ds-color-base-pink-600: #e45472;--ds-color-base-pink-700: #bf475f;--ds-color-base-pink-800: #a03b50;--ds-color-base-pink-900: #833142;--ds-color-base-pink-1000: #692734;--ds-color-base-purple-100: #fbf8fe;--ds-color-base-purple-200: #ede3fd;--ds-color-base-purple-300: #ddc9fb;--ds-color-base-purple-400: #c9a9f8;--ds-color-base-purple-500: #b588f5;--ds-color-base-purple-600: #a268f3;--ds-color-base-purple-700: #8d47f0;--ds-color-base-purple-800: #7633d7;--ds-color-base-purple-900: #622ab2;--ds-color-base-purple-1000: #4e228d;--ds-color-base-red-100: #fef7f5;--ds-color-base-red-200: #fae2da;--ds-color-base-red-300: #f5c7b8;--ds-color-base-red-400: #f0a68d;--ds-color-base-red-500: #e9815e;--ds-color-base-red-600: #e35c2f;--ds-color-base-red-700: #d03a08;--ds-color-base-red-800: #ae3007;--ds-color-base-red-900: #902806;--ds-color-base-red-1000: #732005;--ds-color-base-success-100: #eef8f5;--ds-color-base-success-200: #8eceb9;--ds-color-base-success-300: #40a080;--ds-color-base-success-400: #0b6f4d;--ds-color-base-success-500: #173c30;--ds-color-base-turquoise-100: #f7fafa;--ds-color-base-turquoise-200: #dfe9ea;--ds-color-base-turquoise-300: #c2d5d6;--ds-color-base-turquoise-400: #9fbdbe;--ds-color-base-turquoise-500: #7ba5a6;--ds-color-base-turquoise-600: #5c8f91;--ds-color-base-turquoise-700: #3d7a7d;--ds-color-base-turquoise-800: #21686a;--ds-color-base-turquoise-900: #085659;--ds-color-base-turquoise-1000: #004447;--ds-color-base-yellow-100: #fff9df;--ds-color-base-yellow-200: #ffe87e;--ds-color-base-yellow-300: #f9ce06;--ds-color-base-yellow-400: #d6b622;--ds-color-base-yellow-500: #b49d35;--ds-color-base-yellow-600: #96873e;--ds-color-base-yellow-700: #7c7140;--ds-color-base-yellow-800: #665e3d;--ds-color-base-yellow-900: #524e38;--ds-color-base-yellow-1000: #403d30;--ds-color-base-warning-100: #fef8e9;--ds-color-base-warning-200: #f2c153;--ds-color-base-warning-300: #c49432;--ds-color-base-warning-400: #8e6b22;--ds-color-base-warning-500: #5d4514;--ds-color-state-error-100: #ff999b;--ds-color-state-error-500: #df0b37;--ds-color-state-success-100: #69cf96;--ds-color-state-success-500: #00805d;--ds-color-state-warning-500: #de750c;--ds-color-border-primary-default: #585e67;--ds-color-border-primary-inverse: #afb9c6;--ds-color-border-secondary-default: #939fad;--ds-color-border-secondary-inverse: #7e8894;--ds-color-border-tertiary-default: #dddddd;--ds-color-border-tertiary-inverse: #676767;--ds-color-border-error-default: #cc1816;--ds-color-border-error-inverse: #f9aca6;--ds-color-border-divider-default: rgba(0, 0, 0, 0.12);--ds-color-border-divider-inverse: rgba(255, 255, 255, 0.25);--ds-color-border-subtle-default: #f0f7fd;--ds-color-border-subtle-inverse: #326aa5;--ds-color-border-emphasis-default: #194069;--ds-color-border-emphasis-inverse: #f2f7fb;--ds-color-border-accent-default: #badd81;--ds-color-border-accent-inverse: #a2c270;--ds-color-border-success-default: #0b6f4d;--ds-color-border-success-inverse: #8eceb9;--ds-color-border-warning-default: #c49432;--ds-color-border-warning-inverse: #f2c153;--ds-color-border-info-default: #326aa5;--ds-color-border-info-inverse: #89b2d4;--ds-color-border-ui-default-default: #2c67b5;--ds-color-border-ui-default-inverse: #56bbde;--ds-color-border-ui-hover-default: #193d73;--ds-color-border-ui-hover-inverse: #a8e9f7;--ds-color-border-ui-active-default: #225296;--ds-color-border-ui-active-inverse: #6ad5ef;--ds-color-border-ui-focus-default: #2c67b5;--ds-color-border-ui-focus-inverse: #56bbde;--ds-color-border-ui-disabled-default: #adadad;--ds-color-border-ui-disabled-inverse: #7e7e7e;--ds-color-border-active-default: #0074c8;--ds-color-border-active-inverse: #00cff0;--ds-color-border-disabled-default: #d4d4d4;--ds-color-border-focus-default: #959595;--ds-color-brand-neutral-100: #f7f8fa;--ds-color-brand-neutral-200: #e4e8ec;--ds-color-brand-neutral-300: #ccd2db;--ds-color-brand-neutral-400: #afb9c6;--ds-color-brand-neutral-500: #939fad;--ds-color-brand-neutral-600: #7e8894;--ds-color-brand-neutral-700: #6a717c;--ds-color-brand-neutral-800: #585e67;--ds-color-brand-neutral-900: #484d55;--ds-color-brand-neutral-1000: #393d43;--ds-color-brand-gray-100: #f7f7f7;--ds-color-brand-gray-200: #dddddd;--ds-color-brand-gray-300: #c5c5c5;--ds-color-brand-gray-400: #adadad;--ds-color-brand-gray-500: #959595;--ds-color-brand-gray-600: #7e7e7e;--ds-color-brand-gray-700: #676767;--ds-color-brand-gray-800: #525252;--ds-color-brand-gray-900: #3d3d3d;--ds-color-brand-gray-1000: #2a2a2a;--ds-color-brand-red-100: #fef7f5;--ds-color-brand-red-200: #fae2da;--ds-color-brand-red-300: #f5c7b8;--ds-color-brand-red-400: #f0a68d;--ds-color-brand-red-500: #e9815e;--ds-color-brand-red-600: #e35c2f;--ds-color-brand-red-700: #d03a08;--ds-color-brand-red-800: #ae3007;--ds-color-brand-red-900: #902806;--ds-color-brand-red-1000: #732005;--ds-color-brand-yellow-100: #fff9df;--ds-color-brand-yellow-200: #ffe87e;--ds-color-brand-yellow-300: #f9ce06;--ds-color-brand-yellow-400: #d6b622;--ds-color-brand-yellow-500: #b49d35;--ds-color-brand-yellow-600: #96873e;--ds-color-brand-yellow-700: #7c7140;--ds-color-brand-yellow-800: #665e3d;--ds-color-brand-yellow-900: #524e38;--ds-color-brand-yellow-1000: #403d30;--ds-color-brand-lime-100: #f5fbeb;--ds-color-brand-lime-200: #d8efb4;--ds-color-brand-lime-300: #badd81;--ds-color-brand-lime-400: #a2c270;--ds-color-brand-lime-500: #8ca761;--ds-color-brand-lime-600: #778f53;--ds-color-brand-lime-700: #647845;--ds-color-brand-lime-800: #53643a;--ds-color-brand-lime-900: #44522f;--ds-color-brand-lime-1000: #364126;--ds-color-brand-green-100: #f3faf7;--ds-color-brand-green-200: #d4ece4;--ds-color-brand-green-300: #addbca;--ds-color-brand-green-400: #7ec6ac;--ds-color-brand-green-500: #51ae8c;--ds-color-brand-green-600: #459578;--ds-color-brand-green-700: #3a7d64;--ds-color-brand-green-800: #306854;--ds-color-brand-green-900: #285545;--ds-color-brand-green-1000: #1f4436;--ds-color-brand-turquoise-100: #f7fafa;--ds-color-brand-turquoise-200: #dfe9ea;--ds-color-brand-turquoise-300: #c2d5d6;--ds-color-brand-turquoise-400: #9fbdbe;--ds-color-brand-turquoise-500: #7ba5a6;--ds-color-brand-turquoise-600: #5c8f91;--ds-color-brand-turquoise-700: #3d7a7d;--ds-color-brand-turquoise-800: #21686a;--ds-color-brand-turquoise-900: #085659;--ds-color-brand-turquoise-1000: #004447;--ds-color-brand-cyan-100: #ebfafd;--ds-color-brand-cyan-200: #a8e9f7;--ds-color-brand-cyan-300: #6ad5ef;--ds-color-brand-cyan-400: #56bbde;--ds-color-brand-cyan-500: #4aa2c7;--ds-color-brand-cyan-600: #3e89aa;--ds-color-brand-cyan-700: #32718e;--ds-color-brand-cyan-800: #275b72;--ds-color-brand-cyan-900: #1d4658;--ds-color-brand-cyan-1000: #12303d;--ds-color-brand-blue-100: #f0f7fd;--ds-color-brand-blue-200: #c9e0f7;--ds-color-brand-blue-300: #a0c9f1;--ds-color-brand-blue-400: #79b2ec;--ds-color-brand-blue-500: #5398e6;--ds-color-brand-blue-600: #3b7fd2;--ds-color-brand-blue-700: #2c67b5;--ds-color-brand-blue-800: #225296;--ds-color-brand-blue-900: #193d73;--ds-color-brand-blue-1000: #102a51;--ds-color-brand-navy-100: #f2f7fb;--ds-color-brand-navy-200: #cfe0ef;--ds-color-brand-navy-300: #acc9e2;--ds-color-brand-navy-400: #89b2d4;--ds-color-brand-navy-500: #6899c6;--ds-color-brand-navy-600: #4a82b7;--ds-color-brand-navy-700: #326aa5;--ds-color-brand-navy-800: #265688;--ds-color-brand-navy-900: #194069;--ds-color-brand-navy-1000: #0e2b4f;--ds-color-brand-purple-100: #fbf8fe;--ds-color-brand-purple-200: #ede3fd;--ds-color-brand-purple-300: #ddc9fb;--ds-color-brand-purple-400: #c9a9f8;--ds-color-brand-purple-500: #b588f5;--ds-color-brand-purple-600: #a268f3;--ds-color-brand-purple-700: #8d47f0;--ds-color-brand-purple-800: #7633d7;--ds-color-brand-purple-900: #622ab2;--ds-color-brand-purple-1000: #4e228d;--ds-color-brand-pink-100: #fff7f8;--ds-color-brand-pink-200: #fde0e6;--ds-color-brand-pink-300: #fcc2ce;--ds-color-brand-pink-400: #fa9db0;--ds-color-brand-pink-500: #f7738e;--ds-color-brand-pink-600: #e45472;--ds-color-brand-pink-700: #bf475f;--ds-color-brand-pink-800: #a03b50;--ds-color-brand-pink-900: #833142;--ds-color-brand-pink-1000: #692734;--ds-color-brand-midnight-100: #c1daf0;--ds-color-brand-midnight-200: #569ed7;--ds-color-brand-midnight-300: #156fad;--ds-color-brand-midnight-400: #01426a;--ds-color-brand-midnight-500: #00274a;--ds-color-brand-atlas-100: #cde6ff;--ds-color-brand-atlas-200: #6bb7fb;--ds-color-brand-atlas-300: #2492eb;--ds-color-brand-atlas-400: #0074c8;--ds-color-brand-atlas-500: #054687;--ds-color-brand-atlas-400-opacity-20: rgba(0, 116, 200, 0.2);--ds-color-brand-breeze-100: #c0f7ff;--ds-color-brand-breeze-200: #5de3f7;--ds-color-brand-breeze-300: #00cff0;--ds-color-brand-breeze-400: #099dc5;--ds-color-brand-breeze-500: #0b5575;--ds-color-brand-breeze-300-opacity-30: rgba(0, 207, 240, 0.3);--ds-color-brand-tropical-100: #e2ffcd;--ds-color-brand-tropical-200: #d0fba6;--ds-color-brand-tropical-300: #c0e585;--ds-color-brand-tropical-400: #91be62;--ds-color-brand-tropical-500: #5e8741;--ds-color-brand-alpine-100: #bcaae6;--ds-color-brand-alpine-200: #9e73ea;--ds-color-brand-alpine-300: #8439ef;--ds-color-brand-alpine-400: #631db8;--ds-color-brand-alpine-500: #39115c;--ds-color-brand-flamingo-100: #ffebee;--ds-color-brand-flamingo-200: #ffc0ca;--ds-color-brand-flamingo-300: #ff94a7;--ds-color-brand-flamingo-400: #f65b7b;--ds-color-brand-flamingo-500: #b82b47;--ds-color-brand-canyon-100: #ffcab6;--ds-color-brand-canyon-200: #f99574;--ds-color-brand-canyon-300: #f26135;--ds-color-brand-canyon-400: #de3e09;--ds-color-brand-canyon-500: #b83302;--ds-color-brand-goldcoast-100: #fff0cd;--ds-color-brand-goldcoast-200: #ffdb67;--ds-color-brand-goldcoast-300: #ffd200;--ds-color-brand-goldcoast-400: #e5ad07;--ds-color-brand-goldcoast-500: #b88624;--ds-color-brand-goldgray-100: #c5c1bf;--ds-color-brand-goldgray-200: #726e6c;--ds-color-brand-gold-100: #ccbc94;--ds-color-brand-gold-200: #7f682e;--ds-color-brand-emerald: #139142;--ds-color-brand-sapphire: #015daa;--ds-color-brand-ruby: #a41d4a;--ds-color-brand-lounge: #01426a;--ds-color-brand-loungeplus: #53b390;--ds-color-container-accent-default: #f5fbeb;--ds-color-container-accent-inverse: #badd81;--ds-color-container-emphasis-default: #ebfafd;--ds-color-container-emphasis-inverse: #6ad5ef;--ds-color-container-error-default: #fff4f4;--ds-color-container-error-inverse: #74110e;--ds-color-container-info-default: #f0f7fd;--ds-color-container-info-inverse: #193d73;--ds-color-container-primary-default: #ffffff;--ds-color-container-primary-inverse: #0e2b4f;--ds-color-container-secondary-default: #f7f7f7;--ds-color-container-secondary-inverse: #194069;--ds-color-container-subtle-default: #f7f8fa;--ds-color-container-subtle-inverse: #393d43;--ds-color-container-success-default: #eef8f5;--ds-color-container-success-inverse: #173c30;--ds-color-container-tertiary-default: rgba(0, 0, 0, 0.03);--ds-color-container-tertiary-inverse: rgba(255, 255, 255, 0.06);--ds-color-container-warning-default: #fef8e9;--ds-color-container-warning-inverse: #5d4514;--ds-color-container-ui-primary-active-default: #225296;--ds-color-container-ui-primary-active-inverse: #6ad5ef;--ds-color-container-ui-primary-default-default: #2c67b5;--ds-color-container-ui-primary-default-inverse: #56bbde;--ds-color-container-ui-primary-disabled-default: #a0c9f1;--ds-color-container-ui-primary-disabled-inverse: #275b72;--ds-color-container-ui-primary-focus-default: #2c67b5;--ds-color-container-ui-primary-focus-inverse: #56bbde;--ds-color-container-ui-primary-hover-default: #193d73;--ds-color-container-ui-primary-hover-inverse: #a8e9f7;--ds-color-container-ui-secondary-active-default: #f0f7fd;--ds-color-container-ui-secondary-active-inverse: rgba(255, 255, 255, 0.06);--ds-color-container-ui-secondary-default-default: #ffffff;--ds-color-container-ui-secondary-default-inverse: rgba(255, 255, 255, 0.03);--ds-color-container-ui-secondary-disabled-default: #f7f7f7;--ds-color-container-ui-secondary-disabled-inverse: rgba(255, 255, 255, 0.12);--ds-color-container-ui-secondary-focus-default: #ffffff;--ds-color-container-ui-secondary-focus-inverse: rgba(255, 255, 255, 0.03);--ds-color-container-ui-secondary-hover-default: rgba(0, 0, 0, 0.03);--ds-color-container-ui-secondary-hover-inverse: rgba(255, 255, 255, 0.12);--ds-color-container-ui-tertiary-active-default: rgba(0, 0, 0, 0.06);--ds-color-container-ui-tertiary-active-inverse: rgba(255, 255, 255, 0.06);--ds-color-container-ui-tertiary-default-default: rgba(0, 0, 0, 0.03);--ds-color-container-ui-tertiary-default-inverse: rgba(255, 255, 255, 0.12);--ds-color-container-ui-tertiary-disabled-default: rgba(0, 0, 0, 0.03);--ds-color-container-ui-tertiary-disabled-inverse: rgba(255, 255, 255, 0.25);--ds-color-container-ui-tertiary-focus-default: rgba(0, 0, 0, 0.03);--ds-color-container-ui-tertiary-focus-inverse: rgba(255, 255, 255, 0.12);--ds-color-container-ui-tertiary-hover-default: rgba(0, 0, 0, 0.12);--ds-color-container-ui-tertiary-hover-inverse: rgba(255, 255, 255, 0.25);--ds-color-icon-primary-default: #676767;--ds-color-icon-primary-inverse: #f7f7f7;--ds-color-icon-secondary-default: #7e8894;--ds-color-icon-secondary-inverse: #ccd2db;--ds-color-icon-tertiary-default: #afb9c6;--ds-color-icon-tertiary-inverse: #939fad;--ds-color-icon-emphasis-default: #2a2a2a;--ds-color-icon-emphasis-inverse: #ffffff;--ds-color-icon-accent-default: #a2c270;--ds-color-icon-accent-inverse: #badd81;--ds-color-icon-info-default: #326aa5;--ds-color-icon-info-inverse: #89b2d4;--ds-color-icon-error-default: #cc1816;--ds-color-icon-error-inverse: #f9aca6;--ds-color-icon-warning-default: #c49432;--ds-color-icon-warning-inverse: #f2c153;--ds-color-icon-success-default: #40a080;--ds-color-icon-success-inverse: #8eceb9;--ds-color-icon-subtle-default: #a0c9f1;--ds-color-icon-subtle-inverse: #326aa5;--ds-color-icon-ui-primary-default-default: #2c67b5;--ds-color-icon-ui-primary-default-inverse: #56bbde;--ds-color-icon-ui-primary-hover-default: #193d73;--ds-color-icon-ui-primary-hover-inverse: #a8e9f7;--ds-color-icon-ui-primary-active-default: #225296;--ds-color-icon-ui-primary-active-inverse: #6ad5ef;--ds-color-icon-ui-primary-disabled-default: #adadad;--ds-color-icon-ui-primary-disabled-inverse: #7e7e7e;--ds-color-icon-ui-primary-focus-default: #2c67b5;--ds-color-icon-ui-primary-focus-inverse: #56bbde;--ds-color-icon-ui-secondary-active-default: #676767;--ds-color-icon-ui-secondary-active-inverse: #c5c5c5;--ds-color-icon-ui-secondary-default-default: #7e7e7e;--ds-color-icon-ui-secondary-default-inverse: #adadad;--ds-color-icon-ui-secondary-disabled-default: #adadad;--ds-color-icon-ui-secondary-disabled-inverse: #7e7e7e;--ds-color-icon-ui-secondary-focus-default: #7e7e7e;--ds-color-icon-ui-secondary-focus-inverse: #adadad;--ds-color-icon-ui-secondary-hover-default: #525252;--ds-color-icon-ui-secondary-hover-inverse: #dddddd;--ds-color-icon-brand-red-default: #d03a08;--ds-color-icon-brand-red-inverse: #e9815e;--ds-color-icon-brand-yellow-default: #7c7140;--ds-color-icon-brand-yellow-inverse: #f9ce06;--ds-color-icon-brand-pink-default: #bf475f;--ds-color-icon-brand-pink-inverse: #f7738e;--ds-color-icon-brand-purple-default: #8d47f0;--ds-color-icon-brand-purple-inverse: #b588f5;--ds-color-icon-brand-lime-default: #647845;--ds-color-icon-brand-lime-inverse: #badd81;--ds-color-icon-brand-green-default: #3a7d64;--ds-color-icon-brand-green-inverse: #51ae8c;--ds-color-icon-brand-turquoise-default: #3d7a7d;--ds-color-icon-brand-turquoise-inverse: #7ba5a6;--ds-color-icon-brand-navy-default: #265688;--ds-color-icon-brand-navy-inverse: #6899c6;--ds-color-icon-brand-blue-default: #2c67b5;--ds-color-icon-brand-blue-inverse: #5398e6;--ds-color-icon-brand-cyan-default: #32718e;--ds-color-icon-brand-cyan-inverse: #6ad5ef;--ds-color-icon-brand-gray-default: #676767;--ds-color-icon-brand-gray-inverse: #c5c5c5;--ds-color-icon-brand-neutral-default: #6a717c;--ds-color-icon-brand-neutral-inverse: #afb9c6;--ds-color-icon-disabled-default: rgba(0, 0, 0, 0.15);--ds-color-text-primary-default: #2a2a2a;--ds-color-text-primary-inverse: #ffffff;--ds-color-text-secondary-default: #525252;--ds-color-text-secondary-inverse: #dddddd;--ds-color-text-tertiary-default: #6a717c;--ds-color-text-tertiary-inverse: #adadad;--ds-color-text-error-default: #cc1816;--ds-color-text-error-inverse: #f9aca6;--ds-color-text-emphasis-default: #265688;--ds-color-text-emphasis-inverse: #cfe0ef;--ds-color-text-accent-default: #647845;--ds-color-text-accent-inverse: #badd81;--ds-color-text-info-default: #326aa5;--ds-color-text-info-inverse: #acc9e2;--ds-color-text-subtle-default: #32718e;--ds-color-text-subtle-inverse: #56bbde;--ds-color-text-success-default: #0b6f4d;--ds-color-text-success-inverse: #8eceb9;--ds-color-text-ui-active-default: #225296;--ds-color-text-ui-active-inverse: #6ad5ef;--ds-color-text-ui-default-default: #2c67b5;--ds-color-text-ui-default-inverse: #56bbde;--ds-color-text-ui-disabled-default: #adadad;--ds-color-text-ui-disabled-inverse: #7e7e7e;--ds-color-text-ui-focus-default: #2c67b5;--ds-color-text-ui-focus-inverse: #56bbde;--ds-color-text-ui-hover-default: #193d73;--ds-color-text-ui-hover-inverse: #a8e9f7;--ds-color-text-link-default: #0074c8;--ds-color-text-link-inverse: #00cff0;--ds-color-tier-alaska-mvp-default: #726e6c;--ds-color-tier-alaska-mvp-inverse: #c5c1bf;--ds-color-tier-alaska-mvpgold-default: #7f682e;--ds-color-tier-alaska-mvpgold-inverse: #c5c1bf;--ds-color-tier-alaska-mvpgold75k-default: #7f682e;--ds-color-tier-alaska-mvpgold75k-inverse: #c5c1bf;--ds-color-tier-alaska-mvpgold100k-default: #7f682e;--ds-color-tier-alaska-mvpgold100k-inverse: #c5c1bf;--ds-color-tier-alaska-lounge: #01426a;--ds-color-tier-alaska-loungeplus: #53b390;--ds-color-tier-fare-business-default: #005154;--ds-color-tier-fare-business-inverse: #9fbdbe;--ds-color-tier-fare-economy-default: #2c67b5;--ds-color-tier-fare-economy-inverse: #a0c9f1;--ds-color-tier-fare-first-class-default: #002c4e;--ds-color-tier-fare-first-class-inverse: #89b2d4;--ds-color-tier-fare-saver-default: #4aa2c7;--ds-color-tier-fare-saver-inverse: #a8e9f7;--ds-color-tier-oneworld-emerald: #139142;--ds-color-tier-oneworld-sapphire: #015daa;--ds-color-tier-oneworld-ruby: #a41d4a;--ds-color-ui-default-default: #0074c8;--ds-color-ui-default-inverse: #00cff0;--ds-color-ui-hover-default: #054687;--ds-color-ui-hover-inverse: #5de3f7;--ds-color-ui-active-default: #054687;--ds-color-ui-active-inverse: #5de3f7;--ds-color-ui-disabled-default: rgba(0, 116, 200, 0.2);--ds-color-ui-bkg-default-default: rgba(0, 0, 0, 0.03);--ds-color-ui-bkg-default-inverse: rgba(255, 255, 255, 0.03);--ds-color-ui-bkg-hover-default: rgba(0, 0, 0, 0.06);--ds-color-ui-bkg-hover-inverse: rgba(255, 255, 255, 0.06);--ds-color-utility-blue-default: #79b2ec;--ds-color-utility-blue-inverse: #c9e0f7;--ds-color-utility-cyan-default: #6ad5ef;--ds-color-utility-cyan-inverse: #a8e9f7;--ds-color-utility-green-default: #7ec6ac;--ds-color-utility-green-inverse: #addbca;--ds-color-utility-gray-default: #adadad;--ds-color-utility-gray-inverse: #dddddd;--ds-color-utility-lime-default: #badd81;--ds-color-utility-lime-inverse: #d8efb4;--ds-color-utility-navy-default: #265688;--ds-color-utility-navy-inverse: #acc9e2;--ds-color-utility-neutral-default: #7e8894;--ds-color-utility-neutral-inverse: #ccd2db;--ds-color-utility-pink-default: #f7738e;--ds-color-utility-pink-inverse: #fcc2ce;--ds-color-utility-purple-default: #8d47f0;--ds-color-utility-purple-inverse: #ddc9fb;--ds-color-utility-red-default: #e35c2f;--ds-color-utility-red-inverse: #f0a68d;--ds-color-utility-turquoise-default: #5c8f91;--ds-color-utility-turquoise-inverse: #9fbdbe;--ds-color-utility-yellow-default: #f9ce06;--ds-color-utility-yellow-inverse: #ffe87e;--ds-color-utility-error-default: #cc1816;--ds-color-utility-error-inverse: #f9aca6;--ds-color-utility-warning-default: #f2c153;--ds-color-utility-warning-inverse: #f2c153;--ds-color-utility-success-default: #0b6f4d;--ds-color-utility-success-inverse: #8eceb9}*,*:before,*:after{box-sizing:border-box}@media(prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}}*:focus-visible{outline:0}*:focus-visible{outline:0}:focus:not(:focus-visible){outline:3px solid transparent}:host{display:inline-block;width:100%;margin:0;padding:0;vertical-align:middle}:host ::slotted(auro-menuoption),:host ::slotted([auro-menuoption]),:host auro-menuoption[loadingplaceholder]{padding-left:calc(var(--ds-size-150, 0.75rem) + 24px + var(--ds-size-100, 0.5rem))}:host ::slotted([selected]){padding-left: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([nocheckmark]) ::slotted(auro-menuoption),:host([nocheckmark]) auro-menuoption[loadingplaceholder]{padding-left:var(--ds-size-200, 1rem)}:host([root]){overflow-y:auto}[loadingplaceholder]{color:var(--ds-color-text-secondary-default, #525252)}[loadingplaceholder].empty{opacity:0;position:absolute}[loadingplaceholder] slot[name=loadingIcon]{vertical-align:middle;line-height:1;display:inline-block}[loadingplaceholder] slot[name=loadingIcon]::slotted(*){margin-right:var(--ds-size-150, 0.75rem)}`;
|
|
7966
8040
|
|
|
7967
8041
|
var colorCss$2 = i$c`:host ::slotted(hr){border-top-color:var(--ds-auro-menu-divider-color) !important}`;
|
|
7968
8042
|
|
|
7969
8043
|
var tokensCss$1 = i$c`:host{--ds-auro-menu-divider-color: var(--ds-color-border-divider-default, $ds-color-border-divider-default);--ds-auro-menuoption-container-color: transparent;--ds-auro-menuoption-icon-color: transparent;--ds-auro-menuoption-text-color: var(--ds-color-text-primary-default, $ds-color-text-primary-default)}`;
|
|
7970
8044
|
|
|
7971
|
-
|
|
8045
|
+
// Copyright (c) 2021 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
8046
|
+
// See LICENSE in the project root for license information.
|
|
7972
8047
|
|
|
7973
|
-
var colorCss$1 = i$c`: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) !important}:host([disabled]){--ds-auro-menuoption-text-color: var(--ds-color-text-ui-disabled-default, #adadad)}:host(:hover),:host(.active){--ds-auro-menuoption-container-color: var(--ds-color-container-ui-secondary-hover-default, rgba(0, 0, 0, 0.03))}:host([selected]){--ds-auro-menuoption-container-color: var(--ds-color-container-ui-primary-default-default, #2c67b5);--ds-auro-menuoption-text-color: var(--ds-color-text-primary-inverse, #ffffff);--ds-auro-menuoption-icon-color: var(--ds-color-icon-emphasis-inverse, #ffffff)}`;
|
|
7974
8048
|
|
|
8049
|
+
// See https://git.io/JJ6SJ for "How to document your components using JSDoc"
|
|
7975
8050
|
/**
|
|
7976
|
-
*
|
|
7977
|
-
*
|
|
7978
|
-
*
|
|
8051
|
+
* The auro-menu element provides users a way to select from a list of options.
|
|
8052
|
+
* @attr {Object} optionSelected - Specifies the current selected menuOption.
|
|
8053
|
+
* @attr {String} matchWord - Specifies a string used to highlight matched string parts in options.
|
|
8054
|
+
* @attr {Boolean} disabled - When true, the entire menu and all options are disabled;
|
|
8055
|
+
* @attr {Boolean} noCheckmark - When true, selected option will not show the checkmark.
|
|
8056
|
+
* @attr {Boolean} loading - When true, displays a loading state using the loadingIcon and loadingText slots if provided.
|
|
8057
|
+
* @attr {String} value - Value selected for the menu.
|
|
8058
|
+
* @prop {Boolean} hasLoadingPlaceholder - Indicates whether the menu has a loadingIcon or loadingText to render when in a loading state.
|
|
8059
|
+
* @event auroMenu-selectedOption - Notifies that a new menuoption selection has been made.
|
|
8060
|
+
* @event selectedOption - (DEPRECATED) Notifies that a new menuoption selection has been made.
|
|
8061
|
+
* @event auroMenu-activatedOption - Notifies that a menuoption has been made `active`.
|
|
8062
|
+
* @event auroMenuActivatedOption - (DEPRECATED) Notifies that a menuoption has been made `active`.
|
|
8063
|
+
* @event auroMenu-selectValueFailure - Notifies that a an attempt to select a menuoption by matching a value has failed.
|
|
8064
|
+
* @event auroMenuSelectValueFailure - (DEPRECATED) Notifies that a an attempt to select a menuoption by matching a value has failed.
|
|
8065
|
+
* @event auroMenu-customEventFired - Notifies that a custom event has been fired.
|
|
8066
|
+
* @event auroMenuCustomEventFired - (DEPRECATED) Notifies that a custom event has been fired.
|
|
8067
|
+
* @event auroMenu-selectValueReset - Notifies that the component value has been reset.
|
|
8068
|
+
* @event auroMenu-loadingChange - Notifies when the loading attribute is changed.
|
|
8069
|
+
* @slot loadingText - Text to show while loading attribute is set
|
|
8070
|
+
* @slot loadingIcon - Icon to show while loading attribute is set
|
|
8071
|
+
* @slot - Slot for insertion of menu options.
|
|
7979
8072
|
*/
|
|
7980
|
-
const t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e$1=t=>(...e)=>({_$litDirective$:t,values:e});class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i;}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}
|
|
7981
8073
|
|
|
7982
|
-
|
|
7983
|
-
* @license
|
|
7984
|
-
* Copyright 2018 Google LLC
|
|
7985
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
|
7986
|
-
*/const e=e$1(class extends i{constructor(t$1){if(super(t$1),t$1.type!==t.ATTRIBUTE||"class"!==t$1.name||t$1.strings?.length>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(t){return " "+Object.keys(t).filter((s=>t[s])).join(" ")+" "}update(s,[i]){if(void 0===this.st){this.st=new Set,void 0!==s.strings&&(this.nt=new Set(s.strings.join(" ").split(/\s/).filter((t=>""!==t))));for(const t in i)i[t]&&!this.nt?.has(t)&&this.st.add(t);return this.render(i)}const r=s.element.classList;for(const t of this.st)t in i||(r.remove(t),this.st.delete(t));for(const t in i){const s=!!i[t];s===this.st.has(t)||this.nt?.has(t)||(s?(r.add(t),this.st.add(t)):(r.remove(t),this.st.delete(t)));}return T$2}});
|
|
8074
|
+
/* eslint-disable no-magic-numbers, max-lines */
|
|
7987
8075
|
|
|
7988
|
-
|
|
7989
|
-
|
|
7990
|
-
|
|
7991
|
-
|
|
7992
|
-
|
|
8076
|
+
class AuroMenu extends r$6 {
|
|
8077
|
+
constructor() {
|
|
8078
|
+
super();
|
|
8079
|
+
this.value = undefined;
|
|
8080
|
+
this.optionSelected = undefined;
|
|
8081
|
+
this.matchWord = undefined;
|
|
8082
|
+
this.noCheckmark = false;
|
|
8083
|
+
this.optionActive = undefined;
|
|
8084
|
+
this.loading = false;
|
|
7993
8085
|
|
|
7994
|
-
|
|
7995
|
-
|
|
8086
|
+
/**
|
|
8087
|
+
* @private
|
|
8088
|
+
*/
|
|
8089
|
+
this.rootMenu = true;
|
|
7996
8090
|
|
|
8091
|
+
/**
|
|
8092
|
+
* @private
|
|
8093
|
+
*/
|
|
8094
|
+
this.runtimeUtils = new AuroLibraryRuntimeUtils$2();
|
|
7997
8095
|
|
|
7998
|
-
/**
|
|
7999
|
-
|
|
8000
|
-
|
|
8001
|
-
|
|
8002
|
-
*/
|
|
8096
|
+
/**
|
|
8097
|
+
* @private
|
|
8098
|
+
*/
|
|
8099
|
+
this.nestingSpacer = '<span class="nestingSpacer"></span>';
|
|
8003
8100
|
|
|
8004
|
-
|
|
8101
|
+
/**
|
|
8102
|
+
* @private
|
|
8103
|
+
*/
|
|
8104
|
+
this.loadingSlots = null;
|
|
8105
|
+
}
|
|
8005
8106
|
|
|
8006
|
-
// function to define props used within the scope of this component
|
|
8007
8107
|
static get properties() {
|
|
8008
8108
|
return {
|
|
8009
|
-
|
|
8010
|
-
|
|
8011
|
-
|
|
8012
|
-
|
|
8013
|
-
|
|
8014
|
-
|
|
8109
|
+
noCheckmark: {
|
|
8110
|
+
type: Boolean,
|
|
8111
|
+
reflect: true
|
|
8112
|
+
},
|
|
8113
|
+
disabled: {
|
|
8114
|
+
type: Boolean,
|
|
8115
|
+
reflect: true
|
|
8116
|
+
},
|
|
8117
|
+
loading: {
|
|
8118
|
+
type: Boolean,
|
|
8119
|
+
reflect: true
|
|
8120
|
+
},
|
|
8121
|
+
optionSelected: { type: Object },
|
|
8122
|
+
optionActive: { type: Object },
|
|
8123
|
+
matchWord: { type: String },
|
|
8124
|
+
value: { type: String }
|
|
8015
8125
|
};
|
|
8016
8126
|
}
|
|
8017
8127
|
|
|
8128
|
+
static get styles() {
|
|
8129
|
+
return [
|
|
8130
|
+
styleCss$2,
|
|
8131
|
+
colorCss$2,
|
|
8132
|
+
tokensCss$1
|
|
8133
|
+
];
|
|
8134
|
+
}
|
|
8135
|
+
|
|
8018
8136
|
/**
|
|
8019
|
-
*
|
|
8137
|
+
* This will register this element with the browser.
|
|
8138
|
+
* @param {string} [name="auro-menu"] - The name of element that you want to register to.
|
|
8139
|
+
*
|
|
8140
|
+
* @example
|
|
8141
|
+
* AuroMenu.register("custom-menu") // this will register this element to <custom-menu/>
|
|
8142
|
+
*
|
|
8020
8143
|
*/
|
|
8021
|
-
|
|
8022
|
-
|
|
8023
|
-
return 'true'
|
|
8024
|
-
}
|
|
8025
|
-
|
|
8026
|
-
return 'false'
|
|
8144
|
+
static register(name = "auro-menu") {
|
|
8145
|
+
AuroLibraryRuntimeUtils$2.prototype.registerComponent(name, AuroMenu);
|
|
8027
8146
|
}
|
|
8028
|
-
}
|
|
8029
|
-
|
|
8030
|
-
var error = {"role":"img","color":"currentColor","title":"","desc":"Error alert indicator.","width":"var(--auro-size-lg, var(--ds-size-300, 1.5rem))","height":"var(--auro-size-lg, var(--ds-size-300, 1.5rem))","xmlns":"http://www.w3.org/2000/svg","xmlns_xlink":"http://www.w3.org/1999/xlink","viewBox":"0 0 24 24","path":"/icons","style":"ico_squareLarge","type":"icon","name":"error","category":"alert","deprecated":true,"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>"};
|
|
8031
8147
|
|
|
8032
|
-
|
|
8148
|
+
/**
|
|
8149
|
+
* Passes the noCheckmark attribute to all nested auro-menuoptions.
|
|
8150
|
+
* @private
|
|
8151
|
+
* @returns {void}
|
|
8152
|
+
*/
|
|
8153
|
+
handleNoCheckmarkAttr() {
|
|
8154
|
+
if (this.noCheckmark) {
|
|
8155
|
+
const menus = this.querySelectorAll('auro-menu, [auro-menu]');
|
|
8033
8156
|
|
|
8034
|
-
|
|
8157
|
+
menus.forEach((menu) => {
|
|
8158
|
+
menu.setAttribute('noCheckmark', '');
|
|
8159
|
+
});
|
|
8035
8160
|
|
|
8036
|
-
|
|
8037
|
-
* A callback to parse Response body.
|
|
8038
|
-
*
|
|
8039
|
-
* @callback ResponseParser
|
|
8040
|
-
* @param {Fetch.Response} response
|
|
8041
|
-
* @returns {Promise}
|
|
8042
|
-
*/
|
|
8161
|
+
const options = this.querySelectorAll('auro-menuoption, [auro-menuoption]');
|
|
8043
8162
|
|
|
8044
|
-
|
|
8045
|
-
|
|
8046
|
-
|
|
8047
|
-
|
|
8048
|
-
* @param {Object} [options={}]
|
|
8049
|
-
* @param {ResponseParser} [options.responseParser=(response) => response.text()]
|
|
8050
|
-
* @returns {Promise}
|
|
8051
|
-
*/
|
|
8052
|
-
const cacheFetch = (uri, options = {}) => {
|
|
8053
|
-
const responseParser = options.responseParser || ((response) => response.text());
|
|
8054
|
-
if (!_fetchMap.has(uri)) {
|
|
8055
|
-
_fetchMap.set(uri, fetch(uri).then(responseParser));
|
|
8163
|
+
options.forEach((option) => {
|
|
8164
|
+
option.setAttribute('noCheckmark', '');
|
|
8165
|
+
});
|
|
8166
|
+
}
|
|
8056
8167
|
}
|
|
8057
|
-
return _fetchMap.get(uri);
|
|
8058
|
-
};
|
|
8059
8168
|
|
|
8060
|
-
|
|
8169
|
+
firstUpdated() {
|
|
8170
|
+
// Add the tag name as an attribute if it is different than the component name
|
|
8171
|
+
this.runtimeUtils.handleComponentTagRename(this, 'auro-menu');
|
|
8061
8172
|
|
|
8062
|
-
|
|
8063
|
-
// See LICENSE in the project root for license information.
|
|
8173
|
+
this.addEventListener('keydown', this.handleKeyDown);
|
|
8064
8174
|
|
|
8175
|
+
this.loadingSlots = this.querySelectorAll("[slot='loadingText'], [slot='loadingIcon']");
|
|
8176
|
+
}
|
|
8065
8177
|
|
|
8066
|
-
|
|
8067
|
-
|
|
8068
|
-
|
|
8069
|
-
|
|
8070
|
-
*/
|
|
8178
|
+
updated(changedProperties) {
|
|
8179
|
+
if (changedProperties.has('matchWord')) {
|
|
8180
|
+
this.markOptions();
|
|
8181
|
+
}
|
|
8071
8182
|
|
|
8072
|
-
|
|
8073
|
-
|
|
8074
|
-
|
|
8075
|
-
super();
|
|
8076
|
-
this.onDark = false;
|
|
8077
|
-
}
|
|
8183
|
+
if (changedProperties.has('value')) {
|
|
8184
|
+
this.selectByValue(this.value);
|
|
8185
|
+
}
|
|
8078
8186
|
|
|
8079
|
-
|
|
8080
|
-
|
|
8081
|
-
return {
|
|
8082
|
-
...super.properties,
|
|
8083
|
-
onDark: {
|
|
8084
|
-
type: Boolean,
|
|
8085
|
-
reflect: true
|
|
8086
|
-
},
|
|
8187
|
+
if (changedProperties.has('disabled')) {
|
|
8188
|
+
const options = Array.from(this.querySelectorAll('auro-menuoption, [auro-menuoption]'));
|
|
8087
8189
|
|
|
8088
|
-
|
|
8089
|
-
|
|
8090
|
-
*/
|
|
8091
|
-
svg: {
|
|
8092
|
-
attribute: false,
|
|
8093
|
-
reflect: true
|
|
8190
|
+
for (const element of options) {
|
|
8191
|
+
element.disabled = this.disabled;
|
|
8094
8192
|
}
|
|
8095
|
-
}
|
|
8096
|
-
}
|
|
8193
|
+
}
|
|
8097
8194
|
|
|
8098
|
-
|
|
8099
|
-
|
|
8100
|
-
|
|
8101
|
-
|
|
8195
|
+
if (changedProperties.has('loading')) {
|
|
8196
|
+
const event = new CustomEvent("auroMenu-loadingChange", {
|
|
8197
|
+
detail: {
|
|
8198
|
+
loading: this.loading,
|
|
8199
|
+
hasLoadingPlaceholder:
|
|
8200
|
+
this.hasLoadingPlaceholder
|
|
8201
|
+
}
|
|
8202
|
+
});
|
|
8203
|
+
this.setAttribute("aria-busy", this.hasAttribute("loading"));
|
|
8204
|
+
this.dispatchEvent(event);
|
|
8205
|
+
}
|
|
8102
8206
|
}
|
|
8103
8207
|
|
|
8104
8208
|
/**
|
|
8105
|
-
* Async function to fetch requested icon from npm CDN.
|
|
8106
8209
|
* @private
|
|
8107
|
-
* @param {
|
|
8108
|
-
* @
|
|
8109
|
-
* @returns {SVGElement} DOM - Ready HTML to be appended.
|
|
8210
|
+
* @param {Object} option - The menuoption to check for interactive state.
|
|
8211
|
+
* @returns {Boolean} Returns true if the option is interactive.
|
|
8110
8212
|
*/
|
|
8111
|
-
|
|
8112
|
-
|
|
8113
|
-
|
|
8114
|
-
if (category === 'logos') {
|
|
8115
|
-
iconHTML = await cacheFetch(`${this.uri}/${category}/${name}.svg`);
|
|
8116
|
-
} else {
|
|
8117
|
-
iconHTML = await cacheFetch(`${this.uri}/icons/${category}/${name}.svg`);
|
|
8118
|
-
}
|
|
8213
|
+
optionInteractive(option) {
|
|
8214
|
+
return !option.hasAttribute('hidden') && !option.hasAttribute('disabled') && !option.hasAttribute('static');
|
|
8215
|
+
}
|
|
8119
8216
|
|
|
8120
|
-
|
|
8217
|
+
/**
|
|
8218
|
+
* @private
|
|
8219
|
+
* @returns {void} When called will update the DOM with visible suggest text matches.
|
|
8220
|
+
*/
|
|
8221
|
+
markOptions() {
|
|
8222
|
+
if (this.items && this.items.length > 0 && (this.matchWord && this.matchWord.length > 0)) {
|
|
8121
8223
|
|
|
8122
|
-
|
|
8123
|
-
|
|
8224
|
+
// Escape special regex characters
|
|
8225
|
+
const escapedWord = this.matchWord.replace(/[.*+?^${}()|[\]\\]/gu, '\\$&');
|
|
8124
8226
|
|
|
8125
|
-
|
|
8126
|
-
|
|
8127
|
-
if (!this.customSvg) {
|
|
8128
|
-
const svg = await this.fetchIcon(this.category, this.name);
|
|
8227
|
+
// Global, case-insensitive, unicode matching regex pattern
|
|
8228
|
+
const regexWord = new RegExp(escapedWord, 'giu');
|
|
8129
8229
|
|
|
8130
|
-
|
|
8131
|
-
this.
|
|
8132
|
-
|
|
8133
|
-
|
|
8230
|
+
this.items.forEach((item) => {
|
|
8231
|
+
if (this.optionInteractive(item) && !item.hasAttribute('persistent')) {
|
|
8232
|
+
const nested = item.querySelectorAll('.nestingSpacer');
|
|
8233
|
+
const nestingSpacerBundle = [...nested].map(() => this.nestingSpacer).join('');
|
|
8134
8234
|
|
|
8135
|
-
|
|
8136
|
-
|
|
8235
|
+
item.innerHTML = nestingSpacerBundle + item.textContent.replace(regexWord, (match) => `<strong>${match}</strong>`);
|
|
8236
|
+
}
|
|
8237
|
+
});
|
|
8137
8238
|
}
|
|
8138
8239
|
}
|
|
8139
|
-
}
|
|
8140
|
-
|
|
8141
|
-
var tokensCss = i$c`:host{--ds-auro-icon-color: var(--ds-color-icon-primary-default, $ds-color-icon-primary-default);--ds-auro-icon-size: var(--ds-size-300, $ds-size-300)}`;
|
|
8142
|
-
|
|
8143
|
-
var colorCss = i$c`:host{color:var(--ds-auro-icon-color)}:host([customColor]){color:inherit}:host(:not([onDark])[accent]){--ds-auro-icon-color: var(--ds-color-icon-accent-default, #a2c270)}:host(:not([onDark])[disabled]){--ds-auro-icon-color: var(--ds-color-icon-ui-primary-disabled-default, #adadad)}:host(:not([onDark])[emphasis]){--ds-auro-icon-color: var(--ds-color-icon-emphasis-default, #2a2a2a)}:host(:not([onDark])[error]){--ds-auro-icon-color: var(--ds-color-icon-error-default, #cc1816)}:host(:not([onDark])[info]){--ds-auro-icon-color: var(--ds-color-icon-info-default, #326aa5)}:host(:not([onDark])[secondary]){--ds-auro-icon-color: var(--ds-color-icon-secondary-default, #7e8894)}:host(:not([onDark])[subtle]){--ds-auro-icon-color: var(--ds-color-icon-subtle-default, #a0c9f1)}:host(:not([onDark])[success]){--ds-auro-icon-color: var(--ds-color-icon-success-default, #40a080)}:host(:not([onDark])[tertiary]){--ds-auro-icon-color: var(--ds-color-icon-tertiary-default, #afb9c6)}:host(:not([onDark])[warning]){--ds-auro-icon-color: var(--ds-color-icon-warning-default, #c49432)}:host([onDark]){--ds-auro-icon-color: var(--ds-color-icon-primary-inverse, #f7f7f7)}:host([onDark][accent]){--ds-auro-icon-color: var(--ds-color-icon-accent-inverse, #badd81)}:host([onDark][disabled]){--ds-auro-icon-color: var(--ds-color-icon-ui-primary-disabled-inverse, #7e7e7e)}:host([onDark][emphasis]){--ds-auro-icon-color: var(--ds-color-icon-emphasis-inverse, #ffffff)}:host([onDark][error]){--ds-auro-icon-color: var(--ds-color-icon-error-inverse, #f9aca6)}:host([onDark][info]){--ds-auro-icon-color: var(--ds-color-icon-info-inverse, #89b2d4)}:host([onDark][secondary]){--ds-auro-icon-color: var(--ds-color-icon-secondary-inverse, #ccd2db)}:host([onDark][subtle]){--ds-auro-icon-color: var(--ds-color-icon-subtle-inverse, #326aa5)}:host([onDark][success]){--ds-auro-icon-color: var(--ds-color-icon-success-inverse, #8eceb9)}:host([onDark][tertiary]){--ds-auro-icon-color: var(--ds-color-icon-tertiary-inverse, #939fad)}:host([onDark][warning]){--ds-auro-icon-color: var(--ds-color-icon-warning-inverse, #f2c153)}`;
|
|
8144
|
-
|
|
8145
|
-
// Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
8146
|
-
// See LICENSE in the project root for license information.
|
|
8147
|
-
|
|
8148
|
-
|
|
8149
|
-
// See https://git.io/JJ6SJ for "How to document your components using JSDoc"
|
|
8150
|
-
/**
|
|
8151
|
-
* auro-icon provides users a way to use the Auro Icons by simply passing in the category and name.
|
|
8152
|
-
*
|
|
8153
|
-
* @attr {String} category - The category of the icon you are looking for. See https://auro.alaskaair.com/icons/usage.
|
|
8154
|
-
* @attr {String} name - The name of the icon you are looking for without the file extension. See https://auro.alaskaair.com/icons/usage
|
|
8155
|
-
* @attr {Boolean} customColor - Removes primary selector.
|
|
8156
|
-
* @attr {Boolean} customSvg - When true, auro-icon will render a custom SVG inside the default slot.
|
|
8157
|
-
* @attr {Boolean} label - Exposes content in slot as icon label.
|
|
8158
|
-
* @attr {Boolean} primary - DEPRECATED: Sets the icon to use the baseline primary icon style.
|
|
8159
|
-
* @attr {Boolean} accent - Sets the icon to use the accent style.
|
|
8160
|
-
* @attr {Boolean} emphasis - Sets the icon to use the emphasis style.
|
|
8161
|
-
* @attr {Boolean} disabled - Sets the icon to use the disabled style.
|
|
8162
|
-
* @attr {Boolean} error - Sets the icon to use the error style.
|
|
8163
|
-
* @attr {Boolean} info - Sets the icon to use the info style.
|
|
8164
|
-
* @attr {Boolean} secondary - Sets the icon to use the secondary style.
|
|
8165
|
-
* @attr {Boolean} tertiary - Sets the icon to use the tertiary style.
|
|
8166
|
-
* @attr {Boolean} subtle - Sets the icon to use the subtle style.
|
|
8167
|
-
* @attr {Boolean} success - Sets the icon to use the success style.
|
|
8168
|
-
* @attr {Boolean} warning - Sets the icon to use the warning style.
|
|
8169
|
-
* @attr {String} ariaHidden - Set aria-hidden value. Default is `true`. Option is `false`.
|
|
8170
|
-
* @attr {String} uri - Set the uri for CDN used when fetching icons
|
|
8171
|
-
* @slot - Hidden from visibility, used for a11y if icon description is needed.
|
|
8172
|
-
* @slot svg - Used for custom SVG content.
|
|
8173
|
-
*/
|
|
8174
8240
|
|
|
8175
|
-
|
|
8176
|
-
|
|
8177
|
-
|
|
8178
|
-
|
|
8179
|
-
|
|
8180
|
-
this.
|
|
8181
|
-
|
|
8182
|
-
|
|
8241
|
+
/**
|
|
8242
|
+
* Reset the menu and all options.
|
|
8243
|
+
*/
|
|
8244
|
+
resetOptionsStates() {
|
|
8245
|
+
this.optionSelected = undefined;
|
|
8246
|
+
if (this.items) {
|
|
8247
|
+
this.items.forEach((item) => {
|
|
8248
|
+
item.classList.remove('active');
|
|
8249
|
+
item.removeAttribute('selected');
|
|
8250
|
+
});
|
|
8251
|
+
}
|
|
8183
8252
|
}
|
|
8184
8253
|
|
|
8185
8254
|
/**
|
|
8186
|
-
*
|
|
8255
|
+
* Set the attributes on the selected menuoption, the menu value and stored option.
|
|
8256
|
+
* @param {Object} option - The menuoption to be selected.
|
|
8187
8257
|
* @private
|
|
8188
|
-
* @returns {void}
|
|
8189
8258
|
*/
|
|
8190
|
-
|
|
8191
|
-
|
|
8192
|
-
|
|
8193
|
-
|
|
8194
|
-
this.disabled = false;
|
|
8195
|
-
this.emphasis = false;
|
|
8196
|
-
this.error = false;
|
|
8197
|
-
this.info = false;
|
|
8198
|
-
this.label = false;
|
|
8199
|
-
this.primary = false;
|
|
8200
|
-
this.secondary = false;
|
|
8201
|
-
this.subtle = false;
|
|
8202
|
-
this.success = false;
|
|
8203
|
-
this.tertiary = false;
|
|
8204
|
-
this.warning = false;
|
|
8205
|
-
this.runtimeUtils = new AuroLibraryRuntimeUtils$2();
|
|
8206
|
-
}
|
|
8207
|
-
|
|
8208
|
-
// function to define props used within the scope of this component
|
|
8209
|
-
static get properties() {
|
|
8210
|
-
return {
|
|
8211
|
-
...super.properties,
|
|
8212
|
-
accent: {
|
|
8213
|
-
type: Boolean,
|
|
8214
|
-
reflect: true
|
|
8215
|
-
},
|
|
8216
|
-
ariaHidden: {
|
|
8217
|
-
type: String,
|
|
8218
|
-
reflect: true
|
|
8219
|
-
},
|
|
8220
|
-
category: {
|
|
8221
|
-
type: String,
|
|
8222
|
-
reflect: true
|
|
8223
|
-
},
|
|
8224
|
-
customColor: {
|
|
8225
|
-
type: Boolean
|
|
8226
|
-
},
|
|
8227
|
-
customSvg: {
|
|
8228
|
-
type: Boolean
|
|
8229
|
-
},
|
|
8230
|
-
disabled: {
|
|
8231
|
-
type: Boolean,
|
|
8232
|
-
reflect: true
|
|
8233
|
-
},
|
|
8234
|
-
emphasis: {
|
|
8235
|
-
type: Boolean,
|
|
8236
|
-
reflect: true
|
|
8237
|
-
},
|
|
8238
|
-
error: {
|
|
8239
|
-
type: Boolean,
|
|
8240
|
-
reflect: true
|
|
8241
|
-
},
|
|
8242
|
-
info: {
|
|
8243
|
-
type: Boolean,
|
|
8244
|
-
reflect: true
|
|
8245
|
-
},
|
|
8246
|
-
label: {
|
|
8247
|
-
type: Boolean,
|
|
8248
|
-
reflect: true
|
|
8249
|
-
},
|
|
8250
|
-
name: {
|
|
8251
|
-
type: String,
|
|
8252
|
-
reflect: true
|
|
8253
|
-
},
|
|
8254
|
-
primary: {
|
|
8255
|
-
type: Boolean,
|
|
8256
|
-
reflect: true
|
|
8257
|
-
},
|
|
8258
|
-
secondary: {
|
|
8259
|
-
type: Boolean,
|
|
8260
|
-
reflect: true
|
|
8261
|
-
},
|
|
8262
|
-
subtle: {
|
|
8263
|
-
type: Boolean,
|
|
8264
|
-
reflect: true
|
|
8265
|
-
},
|
|
8266
|
-
success: {
|
|
8267
|
-
type: Boolean,
|
|
8268
|
-
reflect: true
|
|
8269
|
-
},
|
|
8270
|
-
tertiary: {
|
|
8271
|
-
type: Boolean,
|
|
8272
|
-
reflect: true
|
|
8273
|
-
},
|
|
8274
|
-
uri: {
|
|
8275
|
-
type: String
|
|
8276
|
-
},
|
|
8277
|
-
warning: {
|
|
8278
|
-
type: Boolean,
|
|
8279
|
-
reflect: true
|
|
8280
|
-
}
|
|
8281
|
-
};
|
|
8282
|
-
}
|
|
8259
|
+
handleLocalSelectState(option) {
|
|
8260
|
+
option.setAttribute('selected', '');
|
|
8261
|
+
option.classList.add('active');
|
|
8262
|
+
option.ariaSelected = true;
|
|
8283
8263
|
|
|
8284
|
-
|
|
8285
|
-
|
|
8286
|
-
|
|
8287
|
-
i$c`${tokensCss}`,
|
|
8288
|
-
i$c`${styleCss}`,
|
|
8289
|
-
i$c`${colorCss}`
|
|
8290
|
-
];
|
|
8264
|
+
this.value = option.value;
|
|
8265
|
+
this.optionSelected = option;
|
|
8266
|
+
this.index = this.items.indexOf(option);
|
|
8291
8267
|
}
|
|
8292
8268
|
|
|
8293
8269
|
/**
|
|
8294
|
-
*
|
|
8295
|
-
* @
|
|
8296
|
-
*
|
|
8297
|
-
* @example
|
|
8298
|
-
* AuroIcon.register("custom-icon") // this will register this element to <custom-icon/>
|
|
8299
|
-
*
|
|
8270
|
+
* Notify selection change.
|
|
8271
|
+
* @private
|
|
8272
|
+
* @return {void}
|
|
8300
8273
|
*/
|
|
8301
|
-
|
|
8302
|
-
|
|
8303
|
-
|
|
8304
|
-
|
|
8305
|
-
|
|
8306
|
-
|
|
8274
|
+
notifySelectionChange() {
|
|
8275
|
+
// this event needs to be removed after select and combobox are updated to use the new standard name
|
|
8276
|
+
this.dispatchEvent(new CustomEvent('selectedOption', {
|
|
8277
|
+
bubbles: true,
|
|
8278
|
+
cancelable: false,
|
|
8279
|
+
composed: true,
|
|
8280
|
+
}));
|
|
8307
8281
|
|
|
8308
|
-
|
|
8309
|
-
|
|
8282
|
+
this.dispatchEvent(new CustomEvent('auroMenu-selectedOption', {
|
|
8283
|
+
bubbles: true,
|
|
8284
|
+
cancelable: false,
|
|
8285
|
+
composed: true,
|
|
8286
|
+
}));
|
|
8310
8287
|
}
|
|
8311
8288
|
|
|
8312
8289
|
/**
|
|
8313
|
-
*
|
|
8290
|
+
* Process actions for making making a menuoption selection.
|
|
8314
8291
|
*/
|
|
8315
|
-
|
|
8316
|
-
this.
|
|
8317
|
-
|
|
8292
|
+
makeSelection() {
|
|
8293
|
+
if (!this.items) {
|
|
8294
|
+
this.initItems();
|
|
8295
|
+
}
|
|
8318
8296
|
|
|
8319
|
-
|
|
8320
|
-
|
|
8321
|
-
const a11y = {
|
|
8322
|
-
'labelContainer': true,
|
|
8323
|
-
'util_displayHiddenVisually': !this.label
|
|
8324
|
-
};
|
|
8297
|
+
if (this.items[this.index] && !this.items[this.index].hasAttribute('disabled')) {
|
|
8298
|
+
this.resetOptionsStates();
|
|
8325
8299
|
|
|
8326
|
-
|
|
8327
|
-
|
|
8328
|
-
};
|
|
8329
|
-
|
|
8330
|
-
return x$2`
|
|
8331
|
-
<div
|
|
8332
|
-
class="${e(classes)}"
|
|
8333
|
-
title="${o(this.title || undefined)}">
|
|
8334
|
-
<span aria-hidden="${o(this.ariaHidden ? this.ariaHidden : true)}" part="svg">
|
|
8335
|
-
${this.customSvg ? x$2`
|
|
8336
|
-
<slot name="svg"></slot>
|
|
8337
|
-
` : x$2`
|
|
8338
|
-
${this.svg}
|
|
8339
|
-
`
|
|
8340
|
-
}
|
|
8341
|
-
</span>
|
|
8342
|
-
|
|
8343
|
-
<div class="${e(a11y)}">
|
|
8344
|
-
<slot></slot>
|
|
8345
|
-
</div>
|
|
8346
|
-
</div>
|
|
8347
|
-
`;
|
|
8348
|
-
}
|
|
8349
|
-
}
|
|
8350
|
-
|
|
8351
|
-
var iconVersion = '6.1.1';
|
|
8300
|
+
if (this.index >= 0) {
|
|
8301
|
+
const option = this.items[this.index];
|
|
8352
8302
|
|
|
8353
|
-
|
|
8303
|
+
// only handle options that are not disabled, hidden or static
|
|
8304
|
+
if (option && this.optionInteractive(option)) {
|
|
8305
|
+
// fire custom event if defined otherwise make selection
|
|
8306
|
+
if (option.hasAttribute('event')) {
|
|
8307
|
+
this.dispatchEvent(new CustomEvent(option.getAttribute('event'), {
|
|
8308
|
+
bubbles: true,
|
|
8309
|
+
cancelable: false,
|
|
8310
|
+
composed: true,
|
|
8311
|
+
}));
|
|
8354
8312
|
|
|
8355
|
-
//
|
|
8356
|
-
|
|
8313
|
+
// this event needs to be removed after select and combobox are updated to use the new standard name
|
|
8314
|
+
this.dispatchEvent(new CustomEvent('auroMenuCustomEventFired', {
|
|
8315
|
+
bubbles: true,
|
|
8316
|
+
cancelable: false,
|
|
8317
|
+
composed: true,
|
|
8318
|
+
}));
|
|
8357
8319
|
|
|
8320
|
+
this.dispatchEvent(new CustomEvent('auroMenu-customEventFired', {
|
|
8321
|
+
bubbles: true,
|
|
8322
|
+
cancelable: false,
|
|
8323
|
+
composed: true,
|
|
8324
|
+
}));
|
|
8325
|
+
} else {
|
|
8326
|
+
this.handleLocalSelectState(option);
|
|
8327
|
+
}
|
|
8328
|
+
}
|
|
8329
|
+
}
|
|
8330
|
+
}
|
|
8358
8331
|
|
|
8359
|
-
|
|
8360
|
-
|
|
8361
|
-
*
|
|
8362
|
-
* @attr {String} value - Specifies the value to be sent to a server.
|
|
8363
|
-
* @attr {String} noCheckmark - When true, selected option will not show the checkmark.
|
|
8364
|
-
* @attr {Boolean} disabled - When true specifies that the menuoption is disabled.
|
|
8365
|
-
* @attr {Boolean} selected - Specifies that an option is selected.
|
|
8366
|
-
* @event auroMenuOption-mouseover - Notifies that this option has been hovered over.
|
|
8367
|
-
* @slot Specifies text for an option, but is not the value.
|
|
8368
|
-
*/
|
|
8369
|
-
class AuroMenuOption extends r$6 {
|
|
8370
|
-
constructor() {
|
|
8371
|
-
super();
|
|
8332
|
+
this.notifySelectionChange();
|
|
8333
|
+
}
|
|
8372
8334
|
|
|
8373
|
-
|
|
8374
|
-
|
|
8375
|
-
|
|
8376
|
-
|
|
8377
|
-
|
|
8335
|
+
/**
|
|
8336
|
+
* Manage ArrowDown, ArrowUp and Enter keyboard events.
|
|
8337
|
+
* @private
|
|
8338
|
+
* @param {Object} event - Event object from the browser.
|
|
8339
|
+
*/
|
|
8340
|
+
handleKeyDown(event) {
|
|
8341
|
+
event.preventDefault();
|
|
8378
8342
|
|
|
8379
|
-
|
|
8380
|
-
|
|
8381
|
-
|
|
8343
|
+
// With ArrowDown/ArrowUp events, pass new value to selectNextItem()
|
|
8344
|
+
// With Enter event, set value and apply attrs
|
|
8345
|
+
switch (event.key) {
|
|
8346
|
+
case "ArrowDown":
|
|
8347
|
+
this.selectNextItem('down');
|
|
8348
|
+
break;
|
|
8382
8349
|
|
|
8383
|
-
|
|
8384
|
-
|
|
8385
|
-
|
|
8386
|
-
this.tabIndex = -1;
|
|
8350
|
+
case "ArrowUp":
|
|
8351
|
+
this.selectNextItem('up');
|
|
8352
|
+
break;
|
|
8387
8353
|
|
|
8388
|
-
|
|
8389
|
-
|
|
8390
|
-
|
|
8391
|
-
|
|
8354
|
+
case "Enter":
|
|
8355
|
+
this.makeSelection();
|
|
8356
|
+
break;
|
|
8357
|
+
}
|
|
8392
8358
|
}
|
|
8393
8359
|
|
|
8394
|
-
|
|
8395
|
-
|
|
8396
|
-
|
|
8397
|
-
|
|
8398
|
-
|
|
8399
|
-
|
|
8400
|
-
|
|
8401
|
-
type: Boolean,
|
|
8402
|
-
reflect: true
|
|
8403
|
-
},
|
|
8404
|
-
disabled: {
|
|
8405
|
-
type: Boolean,
|
|
8406
|
-
reflect: true
|
|
8407
|
-
},
|
|
8408
|
-
value: {
|
|
8409
|
-
type: String,
|
|
8410
|
-
reflect: true
|
|
8411
|
-
},
|
|
8412
|
-
tabIndex: {
|
|
8413
|
-
type: Number,
|
|
8414
|
-
reflect: true
|
|
8415
|
-
}
|
|
8416
|
-
};
|
|
8360
|
+
/**
|
|
8361
|
+
* Initializes all menu options in the DOM. This must be re-run every time the options are changed.
|
|
8362
|
+
* @private
|
|
8363
|
+
*/
|
|
8364
|
+
initItems() {
|
|
8365
|
+
this.items = Array.from(this.querySelectorAll('auro-menuoption, [auro-menuoption]'));
|
|
8366
|
+
this.handleNoCheckmarkAttr();
|
|
8417
8367
|
}
|
|
8418
8368
|
|
|
8419
|
-
|
|
8420
|
-
|
|
8421
|
-
|
|
8422
|
-
|
|
8423
|
-
|
|
8424
|
-
|
|
8369
|
+
/**
|
|
8370
|
+
* Sets the index value of the selected item or first non-disabled menuoption.
|
|
8371
|
+
* @private
|
|
8372
|
+
*/
|
|
8373
|
+
getSelectedIndex() {
|
|
8374
|
+
// find the first `selected` and not `disabled`, `hidden` or `static` option
|
|
8375
|
+
const index = this.items.findIndex((option) => option.hasAttribute('selected') && this.optionInteractive(option));
|
|
8376
|
+
|
|
8377
|
+
if (index >= 0) {
|
|
8378
|
+
this.index = index;
|
|
8379
|
+
this.makeSelection();
|
|
8380
|
+
}
|
|
8425
8381
|
}
|
|
8426
8382
|
|
|
8427
8383
|
/**
|
|
8428
|
-
*
|
|
8429
|
-
*
|
|
8430
|
-
*
|
|
8431
|
-
* @example
|
|
8432
|
-
* AuroMenuOption.register("custom-menuoption") // this will register this element to <custom-menuoption/>
|
|
8384
|
+
* Using value of current this.index evaluates index
|
|
8385
|
+
* of next :focus to set based on array of this.items ignoring items
|
|
8386
|
+
* with disabled attr.
|
|
8433
8387
|
*
|
|
8388
|
+
* The event.target is not used as the function needs to know where to go,
|
|
8389
|
+
* versus knowing where it is.
|
|
8390
|
+
* @param {String} moveDirection - Up or Down based on keyboard event.
|
|
8434
8391
|
*/
|
|
8435
|
-
|
|
8436
|
-
|
|
8437
|
-
|
|
8392
|
+
selectNextItem(moveDirection) {
|
|
8393
|
+
if (this.index >= 0) {
|
|
8394
|
+
this.items[this.index].classList.remove('active');
|
|
8438
8395
|
|
|
8439
|
-
|
|
8440
|
-
|
|
8441
|
-
this.runtimeUtils.handleComponentTagRename(this, 'auro-menuoption');
|
|
8396
|
+
// calculate which is the selection we should focus next
|
|
8397
|
+
let increment = 0;
|
|
8442
8398
|
|
|
8443
|
-
|
|
8444
|
-
|
|
8399
|
+
if (moveDirection === 'down') {
|
|
8400
|
+
increment = 1;
|
|
8401
|
+
} else if (moveDirection === 'up') {
|
|
8402
|
+
increment = -1;
|
|
8403
|
+
}
|
|
8445
8404
|
|
|
8446
|
-
|
|
8447
|
-
this.dispatchEvent(new CustomEvent('auroMenuOption-mouseover', {
|
|
8448
|
-
bubbles: true,
|
|
8449
|
-
cancelable: false,
|
|
8450
|
-
composed: true,
|
|
8451
|
-
detail: this
|
|
8452
|
-
}));
|
|
8453
|
-
});
|
|
8454
|
-
}
|
|
8405
|
+
this.index += increment;
|
|
8455
8406
|
|
|
8456
|
-
|
|
8457
|
-
|
|
8458
|
-
|
|
8459
|
-
this.
|
|
8407
|
+
// keep looping inside the array of options
|
|
8408
|
+
if (this.index > this.items.length - 1) {
|
|
8409
|
+
this.index = 0;
|
|
8410
|
+
} else if (this.index < 0) {
|
|
8411
|
+
this.index = this.items.length - 1;
|
|
8412
|
+
}
|
|
8413
|
+
|
|
8414
|
+
// check if new index is disabled, static or hidden, if so, execute again
|
|
8415
|
+
if (!this.optionInteractive(this.items[this.index])) {
|
|
8416
|
+
this.selectNextItem(moveDirection);
|
|
8417
|
+
} else {
|
|
8418
|
+
// apply focus to new index
|
|
8419
|
+
this.updateActiveOption(this.index);
|
|
8420
|
+
}
|
|
8421
|
+
} else {
|
|
8422
|
+
this.index = 0;
|
|
8423
|
+
|
|
8424
|
+
if (this.items[this.index].hasAttribute('hidden') || this.items[this.index].hasAttribute('disabled')) {
|
|
8425
|
+
this.selectNextItem(moveDirection);
|
|
8426
|
+
} else {
|
|
8427
|
+
this.updateActiveOption(this.index);
|
|
8428
|
+
}
|
|
8460
8429
|
}
|
|
8461
8430
|
}
|
|
8462
8431
|
|
|
8463
8432
|
/**
|
|
8464
|
-
*
|
|
8465
|
-
*
|
|
8433
|
+
* Used for applying indentation to each level of nested menu.
|
|
8466
8434
|
* @private
|
|
8467
|
-
* @param {
|
|
8468
|
-
* @returns {Element} The HTML element containing the SVG icon.
|
|
8435
|
+
* @param {String} menu - Root level menu object.
|
|
8469
8436
|
*/
|
|
8470
|
-
|
|
8471
|
-
const
|
|
8472
|
-
const svg = dom.body.firstChild;
|
|
8473
|
-
|
|
8474
|
-
svg.setAttribute('slot', 'svg');
|
|
8437
|
+
handleNestedMenus(menu) {
|
|
8438
|
+
const nestedMenus = menu.querySelectorAll('auro-menu, [auro-menu');
|
|
8475
8439
|
|
|
8476
|
-
|
|
8477
|
-
|
|
8440
|
+
if (nestedMenus.length === 0) {
|
|
8441
|
+
return;
|
|
8442
|
+
}
|
|
8478
8443
|
|
|
8479
|
-
|
|
8480
|
-
|
|
8481
|
-
${this.selected && !this.nocheckmark ? this.generateIconHtml(checkmarkIcon.svg) : undefined}
|
|
8482
|
-
<slot></slot>
|
|
8483
|
-
`;
|
|
8484
|
-
}
|
|
8485
|
-
}
|
|
8444
|
+
nestedMenus.forEach((nestedMenu) => {
|
|
8445
|
+
const options = nestedMenu.querySelectorAll(':scope > auro-menuoption, :scope > [auro-menuoption');
|
|
8486
8446
|
|
|
8487
|
-
|
|
8488
|
-
|
|
8447
|
+
options.forEach((option) => {
|
|
8448
|
+
option.innerHTML = this.nestingSpacer + option.innerHTML;
|
|
8449
|
+
});
|
|
8489
8450
|
|
|
8451
|
+
this.handleNestedMenus(nestedMenu);
|
|
8452
|
+
});
|
|
8453
|
+
}
|
|
8490
8454
|
|
|
8491
|
-
|
|
8492
|
-
|
|
8493
|
-
|
|
8494
|
-
|
|
8495
|
-
|
|
8496
|
-
|
|
8497
|
-
|
|
8498
|
-
|
|
8499
|
-
|
|
8500
|
-
|
|
8501
|
-
* @event auroMenu-activatedOption - Notifies that a menuoption has been made `active`.
|
|
8502
|
-
* @event auroMenuActivatedOption - (DEPRECATED) Notifies that a menuoption has been made `active`.
|
|
8503
|
-
* @event auroMenu-selectValueFailure - Notifies that a an attempt to select a menuoption by matching a value has failed.
|
|
8504
|
-
* @event auroMenuSelectValueFailure - (DEPRECATED) Notifies that a an attempt to select a menuoption by matching a value has failed.
|
|
8505
|
-
* @event auroMenu-customEventFired - Notifies that a custom event has been fired.
|
|
8506
|
-
* @event auroMenuCustomEventFired - (DEPRECATED) Notifies that a custom event has been fired.
|
|
8507
|
-
* @event auroMenu-selectValueReset - Notifies that the component value has been reset.
|
|
8508
|
-
* @slot Slot for insertion of menu options.
|
|
8509
|
-
*/
|
|
8455
|
+
/**
|
|
8456
|
+
* Method to apply `selected` attribute to `menuoption` via `value`.
|
|
8457
|
+
* @private
|
|
8458
|
+
* @param {String} value - Must match a unique `menuoption` value.
|
|
8459
|
+
*/
|
|
8460
|
+
selectByValue(value) {
|
|
8461
|
+
let valueMatch = false;
|
|
8462
|
+
if (!this.items) {
|
|
8463
|
+
this.initItems();
|
|
8464
|
+
}
|
|
8510
8465
|
|
|
8511
|
-
|
|
8466
|
+
this.index = undefined;
|
|
8512
8467
|
|
|
8513
|
-
|
|
8514
|
-
|
|
8515
|
-
|
|
8516
|
-
|
|
8517
|
-
|
|
8518
|
-
|
|
8519
|
-
|
|
8520
|
-
this.optionActive = undefined;
|
|
8468
|
+
if (this.value && this.value.length > 0) {
|
|
8469
|
+
for (let index = 0; index < this.items.length; index += 1) {
|
|
8470
|
+
if (this.items[index].value === value) {
|
|
8471
|
+
valueMatch = true;
|
|
8472
|
+
this.index = index;
|
|
8473
|
+
}
|
|
8474
|
+
}
|
|
8521
8475
|
|
|
8522
|
-
|
|
8523
|
-
|
|
8524
|
-
|
|
8525
|
-
this.rootMenu = true;
|
|
8476
|
+
if (!valueMatch) {
|
|
8477
|
+
// reset the menu to no selection
|
|
8478
|
+
this.index = undefined;
|
|
8526
8479
|
|
|
8527
|
-
|
|
8528
|
-
|
|
8529
|
-
|
|
8530
|
-
|
|
8480
|
+
// this event needs to be removed after select and combobox are updated to use the new standard name
|
|
8481
|
+
this.dispatchEvent(new CustomEvent('auroMenuSelectValueFailure', {
|
|
8482
|
+
bubbles: true,
|
|
8483
|
+
cancelable: false,
|
|
8484
|
+
composed: true,
|
|
8485
|
+
}));
|
|
8531
8486
|
|
|
8532
|
-
|
|
8533
|
-
|
|
8534
|
-
|
|
8535
|
-
|
|
8487
|
+
this.dispatchEvent(new CustomEvent('auroMenu-selectValueFailure', {
|
|
8488
|
+
bubbles: true,
|
|
8489
|
+
cancelable: false,
|
|
8490
|
+
composed: true,
|
|
8491
|
+
}));
|
|
8492
|
+
} else {
|
|
8493
|
+
this.makeSelection();
|
|
8494
|
+
}
|
|
8495
|
+
} else {
|
|
8496
|
+
this.resetOptionsStates();
|
|
8497
|
+
|
|
8498
|
+
this.dispatchEvent(new CustomEvent('auroMenu-selectValueReset', {
|
|
8499
|
+
bubbles: true,
|
|
8500
|
+
cancelable: false,
|
|
8501
|
+
composed: true,
|
|
8502
|
+
}));
|
|
8503
|
+
}
|
|
8536
8504
|
}
|
|
8537
8505
|
|
|
8538
|
-
|
|
8539
|
-
|
|
8540
|
-
|
|
8541
|
-
|
|
8542
|
-
|
|
8543
|
-
|
|
8544
|
-
|
|
8545
|
-
|
|
8546
|
-
|
|
8547
|
-
|
|
8548
|
-
|
|
8549
|
-
|
|
8550
|
-
|
|
8551
|
-
|
|
8552
|
-
|
|
8506
|
+
/**
|
|
8507
|
+
* Used to make the active state for options follow mouseover.
|
|
8508
|
+
* @param {Number} index - Index of the menuoption that will be made active.
|
|
8509
|
+
* @private
|
|
8510
|
+
*/
|
|
8511
|
+
updateActiveOption(index) {
|
|
8512
|
+
this.items.forEach((item) => {
|
|
8513
|
+
item.classList.remove('active');
|
|
8514
|
+
});
|
|
8515
|
+
this.items[index].classList.add('active');
|
|
8516
|
+
this.optionActive = this.items[index];
|
|
8517
|
+
|
|
8518
|
+
this.dispatchEvent(new CustomEvent('auroMenuActivatedOption', {
|
|
8519
|
+
bubbles: true,
|
|
8520
|
+
cancelable: false,
|
|
8521
|
+
composed: true,
|
|
8522
|
+
detail: this.items[index]
|
|
8523
|
+
}));
|
|
8524
|
+
|
|
8525
|
+
this.dispatchEvent(new CustomEvent('auroMenu-activatedOption', {
|
|
8526
|
+
bubbles: true,
|
|
8527
|
+
cancelable: false,
|
|
8528
|
+
composed: true,
|
|
8529
|
+
detail: this.items[index]
|
|
8530
|
+
}));
|
|
8553
8531
|
}
|
|
8554
8532
|
|
|
8555
|
-
|
|
8556
|
-
|
|
8557
|
-
|
|
8558
|
-
|
|
8559
|
-
|
|
8560
|
-
|
|
8533
|
+
/**
|
|
8534
|
+
* Used to only make a selection when a menuoption is receiving a mousedown event.
|
|
8535
|
+
* @param {Event} evt - Mousedown event.
|
|
8536
|
+
* @private
|
|
8537
|
+
*/
|
|
8538
|
+
handleMenuMouseDown(evt) {
|
|
8539
|
+
if (evt.target !== this) {
|
|
8540
|
+
this.makeSelection();
|
|
8541
|
+
}
|
|
8561
8542
|
}
|
|
8562
8543
|
|
|
8563
8544
|
/**
|
|
8564
|
-
*
|
|
8565
|
-
* @param {string} [name="auro-menu"] - The name of element that you want to register to.
|
|
8545
|
+
* Checks if there are any loading placeholders in the component.
|
|
8566
8546
|
*
|
|
8567
|
-
*
|
|
8568
|
-
*
|
|
8547
|
+
* This getter evaluates the `loadingSlots` collection to determine if it contains any items.
|
|
8548
|
+
* If the size of the collection is greater than zero, it indicates the presence of loading
|
|
8549
|
+
* placeholders, returning true; otherwise, it returns false.
|
|
8569
8550
|
*
|
|
8551
|
+
* @getter hasLoadingPlaceholder
|
|
8552
|
+
* @type {boolean}
|
|
8553
|
+
* @returns {boolean} Returns true if loading placeholders exist; false otherwise.
|
|
8570
8554
|
*/
|
|
8571
|
-
|
|
8572
|
-
|
|
8555
|
+
get hasLoadingPlaceholder() {
|
|
8556
|
+
return this.loadingSlots.length > 0;
|
|
8573
8557
|
}
|
|
8574
8558
|
|
|
8575
8559
|
/**
|
|
8576
|
-
*
|
|
8560
|
+
* Used for @slotchange event on slotted element.
|
|
8577
8561
|
* @private
|
|
8578
|
-
* @returns {void}
|
|
8579
8562
|
*/
|
|
8580
|
-
|
|
8581
|
-
if
|
|
8582
|
-
|
|
8583
|
-
|
|
8584
|
-
|
|
8585
|
-
menu.setAttribute('noCheckmark', '');
|
|
8586
|
-
});
|
|
8563
|
+
handleSlotItems() {
|
|
8564
|
+
// Determine if this is the root of the menu/submenu layout.
|
|
8565
|
+
if (this.parentElement && this.parentElement.closest('auro-menu, [auro-menu]')) {
|
|
8566
|
+
this.rootMenu = false;
|
|
8567
|
+
}
|
|
8587
8568
|
|
|
8588
|
-
|
|
8569
|
+
// If this is the root menu (not a nested menu) handle events, states and styling.
|
|
8570
|
+
if (this.rootMenu) {
|
|
8571
|
+
this.initItems();
|
|
8572
|
+
this.setAttribute('role', 'listbox');
|
|
8573
|
+
this.setAttribute('root', '');
|
|
8574
|
+
this.handleNestedMenus(this);
|
|
8575
|
+
this.markOptions();
|
|
8576
|
+
this.index = -1;
|
|
8577
|
+
this.getSelectedIndex();
|
|
8589
8578
|
|
|
8590
|
-
|
|
8591
|
-
|
|
8579
|
+
this.addEventListener('keydown', this.handleKeyDown);
|
|
8580
|
+
this.addEventListener('mousedown', this.handleMenuMouseDown);
|
|
8581
|
+
this.addEventListener('auroMenuOption-mouseover', (evt) => {
|
|
8582
|
+
this.index = this.items.indexOf(evt.target);
|
|
8583
|
+
this.updateActiveOption(this.index);
|
|
8592
8584
|
});
|
|
8585
|
+
} else {
|
|
8586
|
+
// make sure to update all menuoption noCheckmark attributes when the menu is dynamically changed
|
|
8587
|
+
this.handleNoCheckmarkAttr();
|
|
8593
8588
|
}
|
|
8594
8589
|
}
|
|
8595
8590
|
|
|
8596
|
-
|
|
8597
|
-
|
|
8598
|
-
|
|
8599
|
-
|
|
8600
|
-
|
|
8601
|
-
|
|
8602
|
-
|
|
8603
|
-
|
|
8604
|
-
|
|
8605
|
-
|
|
8591
|
+
render() {
|
|
8592
|
+
if (this.loading) {
|
|
8593
|
+
return x$2`
|
|
8594
|
+
<auro-menuoption disabled loadingplaceholder class="${this.hasLoadingPlaceholder ? '' : 'empty'}">
|
|
8595
|
+
<div>
|
|
8596
|
+
<slot name="loadingIcon"></slot>
|
|
8597
|
+
<slot name="loadingText"></slot>
|
|
8598
|
+
</div>
|
|
8599
|
+
</auro-menuoption>
|
|
8600
|
+
`;
|
|
8606
8601
|
}
|
|
8602
|
+
return x$2`<slot @slotchange=${this.handleSlotItems}></slot>`;
|
|
8603
|
+
}
|
|
8604
|
+
}
|
|
8607
8605
|
|
|
8608
|
-
|
|
8609
|
-
this.selectByValue(this.value);
|
|
8610
|
-
}
|
|
8606
|
+
var styleCss$1 = i$c`:host{display:flex;align-items:center;padding:var(--ds-size-50, 0.25rem) var(--ds-size-200, 1rem) var(--ds-size-50, 0.25rem) 0;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent}:host slot{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}:host [auro-icon]{--ds-auro-icon-size: var(--ds-size-300, 1.5rem);margin-right:var(--ds-size-150, 0.75rem);margin-left:var(--ds-size-100, 0.5rem)}:host ::slotted(.nestingSpacer){display:inline-block;width:var(--ds-size-300, 1.5rem)}:host ::slotted(strong){font-weight:700}:host([hidden]){display:none}:host([static]){pointer-events:none}:host([disabled]:hover){cursor:auto}:host([disabled]){user-select:none;pointer-events:none}`;
|
|
8611
8607
|
|
|
8612
|
-
|
|
8613
|
-
const options = Array.from(this.querySelectorAll('auro-menuoption, [auro-menuoption]'));
|
|
8608
|
+
var colorCss$1 = i$c`: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) !important}:host([disabled]){--ds-auro-menuoption-text-color: var(--ds-color-text-ui-disabled-default, #adadad)}:host(:hover),:host(.active){--ds-auro-menuoption-container-color: var(--ds-color-container-ui-secondary-hover-default, rgba(0, 0, 0, 0.03))}:host([selected]){--ds-auro-menuoption-container-color: var(--ds-color-container-ui-primary-default-default, #2c67b5);--ds-auro-menuoption-text-color: var(--ds-color-text-primary-inverse, #ffffff);--ds-auro-menuoption-icon-color: var(--ds-color-icon-emphasis-inverse, #ffffff)}`;
|
|
8614
8609
|
|
|
8615
|
-
|
|
8616
|
-
|
|
8617
|
-
|
|
8618
|
-
|
|
8619
|
-
|
|
8610
|
+
/**
|
|
8611
|
+
* @license
|
|
8612
|
+
* Copyright 2017 Google LLC
|
|
8613
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
8614
|
+
*/
|
|
8615
|
+
const t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e$1=t=>(...e)=>({_$litDirective$:t,values:e});class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i;}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}
|
|
8620
8616
|
|
|
8621
|
-
|
|
8622
|
-
|
|
8623
|
-
|
|
8624
|
-
|
|
8625
|
-
|
|
8626
|
-
optionInteractive(option) {
|
|
8627
|
-
return !option.hasAttribute('hidden') && !option.hasAttribute('disabled') && !option.hasAttribute('static');
|
|
8628
|
-
}
|
|
8617
|
+
/**
|
|
8618
|
+
* @license
|
|
8619
|
+
* Copyright 2018 Google LLC
|
|
8620
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
8621
|
+
*/const e=e$1(class extends i{constructor(t$1){if(super(t$1),t$1.type!==t.ATTRIBUTE||"class"!==t$1.name||t$1.strings?.length>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(t){return " "+Object.keys(t).filter((s=>t[s])).join(" ")+" "}update(s,[i]){if(void 0===this.st){this.st=new Set,void 0!==s.strings&&(this.nt=new Set(s.strings.join(" ").split(/\s/).filter((t=>""!==t))));for(const t in i)i[t]&&!this.nt?.has(t)&&this.st.add(t);return this.render(i)}const r=s.element.classList;for(const t of this.st)t in i||(r.remove(t),this.st.delete(t));for(const t in i){const s=!!i[t];s===this.st.has(t)||this.nt?.has(t)||(s?(r.add(t),this.st.add(t)):(r.remove(t),this.st.delete(t)));}return T$2}});
|
|
8629
8622
|
|
|
8630
|
-
|
|
8631
|
-
|
|
8632
|
-
|
|
8633
|
-
|
|
8634
|
-
|
|
8635
|
-
if (this.items && this.items.length > 0 && (this.matchWord && this.matchWord.length > 0)) {
|
|
8623
|
+
/**
|
|
8624
|
+
* @license
|
|
8625
|
+
* Copyright 2018 Google LLC
|
|
8626
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
8627
|
+
*/const o=o=>o??E$2;
|
|
8636
8628
|
|
|
8637
|
-
|
|
8638
|
-
|
|
8629
|
+
// Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
8630
|
+
// See LICENSE in the project root for license information.
|
|
8639
8631
|
|
|
8640
|
-
// Global, case-insensitive, unicode matching regex pattern
|
|
8641
|
-
const regexWord = new RegExp(escapedWord, 'giu');
|
|
8642
8632
|
|
|
8643
|
-
|
|
8644
|
-
|
|
8645
|
-
|
|
8646
|
-
|
|
8633
|
+
/**
|
|
8634
|
+
* @attr {Boolean} hidden - If present, the component will be hidden both visually and from screen readers
|
|
8635
|
+
* @attr {Boolean} hiddenVisually - If present, the component will be hidden visually, but still read by screen readers
|
|
8636
|
+
* @attr {Boolean} hiddenAudible - If present, the component will be hidden from screen readers, but seen visually
|
|
8637
|
+
*/
|
|
8647
8638
|
|
|
8648
|
-
|
|
8649
|
-
}
|
|
8650
|
-
});
|
|
8651
|
-
}
|
|
8652
|
-
}
|
|
8639
|
+
class AuroElement extends r$6 {
|
|
8653
8640
|
|
|
8654
|
-
|
|
8655
|
-
|
|
8656
|
-
|
|
8657
|
-
|
|
8658
|
-
|
|
8659
|
-
|
|
8660
|
-
|
|
8661
|
-
|
|
8662
|
-
|
|
8663
|
-
|
|
8664
|
-
}
|
|
8641
|
+
// function to define props used within the scope of this component
|
|
8642
|
+
static get properties() {
|
|
8643
|
+
return {
|
|
8644
|
+
hidden: { type: Boolean,
|
|
8645
|
+
reflect: true },
|
|
8646
|
+
hiddenVisually: { type: Boolean,
|
|
8647
|
+
reflect: true },
|
|
8648
|
+
hiddenAudible: { type: Boolean,
|
|
8649
|
+
reflect: true },
|
|
8650
|
+
};
|
|
8665
8651
|
}
|
|
8666
8652
|
|
|
8667
8653
|
/**
|
|
8668
|
-
*
|
|
8669
|
-
* @param {Object} option - The menuoption to be selected.
|
|
8670
|
-
* @private
|
|
8654
|
+
* @private Function that determines state of aria-hidden
|
|
8671
8655
|
*/
|
|
8672
|
-
|
|
8673
|
-
|
|
8674
|
-
|
|
8675
|
-
|
|
8656
|
+
hideAudible(value) {
|
|
8657
|
+
if (value) {
|
|
8658
|
+
return 'true'
|
|
8659
|
+
}
|
|
8676
8660
|
|
|
8677
|
-
|
|
8678
|
-
this.optionSelected = option;
|
|
8679
|
-
this.index = this.items.indexOf(option);
|
|
8661
|
+
return 'false'
|
|
8680
8662
|
}
|
|
8663
|
+
}
|
|
8681
8664
|
|
|
8682
|
-
|
|
8683
|
-
* Notify selection change.
|
|
8684
|
-
* @private
|
|
8685
|
-
* @return {void}
|
|
8686
|
-
*/
|
|
8687
|
-
notifySelectionChange() {
|
|
8688
|
-
// this event needs to be removed after select and combobox are updated to use the new standard name
|
|
8689
|
-
this.dispatchEvent(new CustomEvent('selectedOption', {
|
|
8690
|
-
bubbles: true,
|
|
8691
|
-
cancelable: false,
|
|
8692
|
-
composed: true,
|
|
8693
|
-
}));
|
|
8665
|
+
var error = {"role":"img","color":"currentColor","title":"","desc":"Error alert indicator.","width":"var(--auro-size-lg, var(--ds-size-300, 1.5rem))","height":"var(--auro-size-lg, var(--ds-size-300, 1.5rem))","xmlns":"http://www.w3.org/2000/svg","xmlns_xlink":"http://www.w3.org/1999/xlink","viewBox":"0 0 24 24","path":"/icons","style":"ico_squareLarge","type":"icon","name":"error","category":"alert","deprecated":true,"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>"};
|
|
8694
8666
|
|
|
8695
|
-
|
|
8696
|
-
|
|
8697
|
-
|
|
8698
|
-
|
|
8699
|
-
|
|
8667
|
+
/* eslint-disable no-underscore-dangle, jsdoc/no-undefined-types, jsdoc/require-param-description */
|
|
8668
|
+
|
|
8669
|
+
const _fetchMap = new Map();
|
|
8670
|
+
|
|
8671
|
+
/**
|
|
8672
|
+
* A callback to parse Response body.
|
|
8673
|
+
*
|
|
8674
|
+
* @callback ResponseParser
|
|
8675
|
+
* @param {Fetch.Response} response
|
|
8676
|
+
* @returns {Promise}
|
|
8677
|
+
*/
|
|
8678
|
+
|
|
8679
|
+
/**
|
|
8680
|
+
* A minimal in-memory map to de-duplicate Fetch API media requests.
|
|
8681
|
+
*
|
|
8682
|
+
* @param {String} uri
|
|
8683
|
+
* @param {Object} [options={}]
|
|
8684
|
+
* @param {ResponseParser} [options.responseParser=(response) => response.text()]
|
|
8685
|
+
* @returns {Promise}
|
|
8686
|
+
*/
|
|
8687
|
+
const cacheFetch = (uri, options = {}) => {
|
|
8688
|
+
const responseParser = options.responseParser || ((response) => response.text());
|
|
8689
|
+
if (!_fetchMap.has(uri)) {
|
|
8690
|
+
_fetchMap.set(uri, fetch(uri).then(responseParser));
|
|
8700
8691
|
}
|
|
8692
|
+
return _fetchMap.get(uri);
|
|
8693
|
+
};
|
|
8701
8694
|
|
|
8702
|
-
|
|
8703
|
-
* Process actions for making making a menuoption selection.
|
|
8704
|
-
*/
|
|
8705
|
-
makeSelection() {
|
|
8706
|
-
if (!this.items) {
|
|
8707
|
-
this.initItems();
|
|
8708
|
-
}
|
|
8695
|
+
var styleCss = i$c`*,*:before,*:after{box-sizing:border-box}@media(prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}}*:focus-visible{outline:0}*:focus-visible{outline:0}: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}:host .logo{color:var(--ds-color-brand-midnight-400, #01426a)}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}.label{display:flex;align-items:flex-start}.label svg{margin:0 var(--ds-size-50, 0.25rem)}.labelContainer{line-height:1.8}`;
|
|
8709
8696
|
|
|
8710
|
-
|
|
8711
|
-
|
|
8697
|
+
// Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
8698
|
+
// See LICENSE in the project root for license information.
|
|
8712
8699
|
|
|
8713
|
-
if (this.index >= 0) {
|
|
8714
|
-
const option = this.items[this.index];
|
|
8715
8700
|
|
|
8716
|
-
|
|
8717
|
-
|
|
8718
|
-
|
|
8719
|
-
|
|
8720
|
-
|
|
8721
|
-
bubbles: true,
|
|
8722
|
-
cancelable: false,
|
|
8723
|
-
composed: true,
|
|
8724
|
-
}));
|
|
8701
|
+
// See https://git.io/JJ6SJ for "How to document your components using JSDoc"
|
|
8702
|
+
/**
|
|
8703
|
+
* @attr {Boolean} onDark - Set value for on-dark version of auro-icon
|
|
8704
|
+
* @slot - Hidden from visibility, used for a11y if icon description is needed
|
|
8705
|
+
*/
|
|
8725
8706
|
|
|
8726
|
-
|
|
8727
|
-
|
|
8728
|
-
|
|
8729
|
-
|
|
8730
|
-
|
|
8731
|
-
|
|
8707
|
+
// build the component class
|
|
8708
|
+
class BaseIcon extends AuroElement {
|
|
8709
|
+
constructor() {
|
|
8710
|
+
super();
|
|
8711
|
+
this.onDark = false;
|
|
8712
|
+
}
|
|
8732
8713
|
|
|
8733
|
-
|
|
8734
|
-
|
|
8735
|
-
|
|
8736
|
-
|
|
8737
|
-
|
|
8738
|
-
|
|
8739
|
-
|
|
8740
|
-
|
|
8741
|
-
|
|
8714
|
+
// function to define props used within the scope of this component
|
|
8715
|
+
static get properties() {
|
|
8716
|
+
return {
|
|
8717
|
+
...super.properties,
|
|
8718
|
+
onDark: {
|
|
8719
|
+
type: Boolean,
|
|
8720
|
+
reflect: true
|
|
8721
|
+
},
|
|
8722
|
+
|
|
8723
|
+
/**
|
|
8724
|
+
* @private
|
|
8725
|
+
*/
|
|
8726
|
+
svg: {
|
|
8727
|
+
attribute: false,
|
|
8728
|
+
reflect: true
|
|
8742
8729
|
}
|
|
8743
|
-
}
|
|
8730
|
+
};
|
|
8731
|
+
}
|
|
8744
8732
|
|
|
8745
|
-
|
|
8733
|
+
static get styles() {
|
|
8734
|
+
return i$c`
|
|
8735
|
+
${styleCss}
|
|
8736
|
+
`;
|
|
8746
8737
|
}
|
|
8747
8738
|
|
|
8748
8739
|
/**
|
|
8749
|
-
*
|
|
8740
|
+
* Async function to fetch requested icon from npm CDN.
|
|
8750
8741
|
* @private
|
|
8751
|
-
* @param {
|
|
8742
|
+
* @param {string} category - Icon category.
|
|
8743
|
+
* @param {string} name - Icon name.
|
|
8744
|
+
* @returns {SVGElement} DOM - Ready HTML to be appended.
|
|
8752
8745
|
*/
|
|
8753
|
-
|
|
8754
|
-
|
|
8746
|
+
async fetchIcon(category, name) {
|
|
8747
|
+
let iconHTML = '';
|
|
8755
8748
|
|
|
8756
|
-
|
|
8757
|
-
|
|
8758
|
-
|
|
8759
|
-
|
|
8760
|
-
|
|
8761
|
-
break;
|
|
8749
|
+
if (category === 'logos') {
|
|
8750
|
+
iconHTML = await cacheFetch(`${this.uri}/${category}/${name}.svg`);
|
|
8751
|
+
} else {
|
|
8752
|
+
iconHTML = await cacheFetch(`${this.uri}/icons/${category}/${name}.svg`);
|
|
8753
|
+
}
|
|
8762
8754
|
|
|
8763
|
-
|
|
8764
|
-
this.selectNextItem('up');
|
|
8765
|
-
break;
|
|
8755
|
+
const dom = new DOMParser().parseFromString(iconHTML, 'text/html');
|
|
8766
8756
|
|
|
8767
|
-
|
|
8768
|
-
|
|
8769
|
-
|
|
8757
|
+
return dom.body.querySelector('svg');
|
|
8758
|
+
}
|
|
8759
|
+
|
|
8760
|
+
// lifecycle function
|
|
8761
|
+
async firstUpdated() {
|
|
8762
|
+
if (!this.customSvg) {
|
|
8763
|
+
const svg = await this.fetchIcon(this.category, this.name);
|
|
8764
|
+
|
|
8765
|
+
if (svg) {
|
|
8766
|
+
this.svg = svg;
|
|
8767
|
+
} else if (!svg) {
|
|
8768
|
+
const penDOM = new DOMParser().parseFromString(error.svg, 'text/html');
|
|
8769
|
+
|
|
8770
|
+
this.svg = penDOM.body.firstChild;
|
|
8771
|
+
}
|
|
8770
8772
|
}
|
|
8771
8773
|
}
|
|
8774
|
+
}
|
|
8772
8775
|
|
|
8773
|
-
|
|
8774
|
-
|
|
8775
|
-
|
|
8776
|
-
|
|
8777
|
-
|
|
8778
|
-
|
|
8779
|
-
|
|
8776
|
+
var tokensCss = i$c`:host{--ds-auro-icon-color: var(--ds-color-icon-primary-default, $ds-color-icon-primary-default);--ds-auro-icon-size: var(--ds-size-300, $ds-size-300)}`;
|
|
8777
|
+
|
|
8778
|
+
var colorCss = i$c`:host{color:var(--ds-auro-icon-color)}:host([customColor]){color:inherit}:host(:not([onDark])[accent]){--ds-auro-icon-color: var(--ds-color-icon-accent-default, #a2c270)}:host(:not([onDark])[disabled]){--ds-auro-icon-color: var(--ds-color-icon-ui-primary-disabled-default, #adadad)}:host(:not([onDark])[emphasis]){--ds-auro-icon-color: var(--ds-color-icon-emphasis-default, #2a2a2a)}:host(:not([onDark])[error]){--ds-auro-icon-color: var(--ds-color-icon-error-default, #cc1816)}:host(:not([onDark])[info]){--ds-auro-icon-color: var(--ds-color-icon-info-default, #326aa5)}:host(:not([onDark])[secondary]){--ds-auro-icon-color: var(--ds-color-icon-secondary-default, #7e8894)}:host(:not([onDark])[subtle]){--ds-auro-icon-color: var(--ds-color-icon-subtle-default, #a0c9f1)}:host(:not([onDark])[success]){--ds-auro-icon-color: var(--ds-color-icon-success-default, #40a080)}:host(:not([onDark])[tertiary]){--ds-auro-icon-color: var(--ds-color-icon-tertiary-default, #afb9c6)}:host(:not([onDark])[warning]){--ds-auro-icon-color: var(--ds-color-icon-warning-default, #c49432)}:host([onDark]){--ds-auro-icon-color: var(--ds-color-icon-primary-inverse, #f7f7f7)}:host([onDark][accent]){--ds-auro-icon-color: var(--ds-color-icon-accent-inverse, #badd81)}:host([onDark][disabled]){--ds-auro-icon-color: var(--ds-color-icon-ui-primary-disabled-inverse, #7e7e7e)}:host([onDark][emphasis]){--ds-auro-icon-color: var(--ds-color-icon-emphasis-inverse, #ffffff)}:host([onDark][error]){--ds-auro-icon-color: var(--ds-color-icon-error-inverse, #f9aca6)}:host([onDark][info]){--ds-auro-icon-color: var(--ds-color-icon-info-inverse, #89b2d4)}:host([onDark][secondary]){--ds-auro-icon-color: var(--ds-color-icon-secondary-inverse, #ccd2db)}:host([onDark][subtle]){--ds-auro-icon-color: var(--ds-color-icon-subtle-inverse, #326aa5)}:host([onDark][success]){--ds-auro-icon-color: var(--ds-color-icon-success-inverse, #8eceb9)}:host([onDark][tertiary]){--ds-auro-icon-color: var(--ds-color-icon-tertiary-inverse, #939fad)}:host([onDark][warning]){--ds-auro-icon-color: var(--ds-color-icon-warning-inverse, #f2c153)}`;
|
|
8779
|
+
|
|
8780
|
+
// Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
8781
|
+
// See LICENSE in the project root for license information.
|
|
8782
|
+
|
|
8783
|
+
|
|
8784
|
+
// See https://git.io/JJ6SJ for "How to document your components using JSDoc"
|
|
8785
|
+
/**
|
|
8786
|
+
* auro-icon provides users a way to use the Auro Icons by simply passing in the category and name.
|
|
8787
|
+
*
|
|
8788
|
+
* @attr {String} category - The category of the icon you are looking for. See https://auro.alaskaair.com/icons/usage.
|
|
8789
|
+
* @attr {String} name - The name of the icon you are looking for without the file extension. See https://auro.alaskaair.com/icons/usage
|
|
8790
|
+
* @attr {Boolean} customColor - Removes primary selector.
|
|
8791
|
+
* @attr {Boolean} customSvg - When true, auro-icon will render a custom SVG inside the default slot.
|
|
8792
|
+
* @attr {Boolean} label - Exposes content in slot as icon label.
|
|
8793
|
+
* @attr {Boolean} primary - DEPRECATED: Sets the icon to use the baseline primary icon style.
|
|
8794
|
+
* @attr {Boolean} accent - Sets the icon to use the accent style.
|
|
8795
|
+
* @attr {Boolean} emphasis - Sets the icon to use the emphasis style.
|
|
8796
|
+
* @attr {Boolean} disabled - Sets the icon to use the disabled style.
|
|
8797
|
+
* @attr {Boolean} error - Sets the icon to use the error style.
|
|
8798
|
+
* @attr {Boolean} info - Sets the icon to use the info style.
|
|
8799
|
+
* @attr {Boolean} secondary - Sets the icon to use the secondary style.
|
|
8800
|
+
* @attr {Boolean} tertiary - Sets the icon to use the tertiary style.
|
|
8801
|
+
* @attr {Boolean} subtle - Sets the icon to use the subtle style.
|
|
8802
|
+
* @attr {Boolean} success - Sets the icon to use the success style.
|
|
8803
|
+
* @attr {Boolean} warning - Sets the icon to use the warning style.
|
|
8804
|
+
* @attr {String} ariaHidden - Set aria-hidden value. Default is `true`. Option is `false`.
|
|
8805
|
+
* @attr {String} uri - Set the uri for CDN used when fetching icons
|
|
8806
|
+
* @slot - Hidden from visibility, used for a11y if icon description is needed.
|
|
8807
|
+
* @slot svg - Used for custom SVG content.
|
|
8808
|
+
*/
|
|
8809
|
+
|
|
8810
|
+
// build the component class
|
|
8811
|
+
class AuroIcon extends BaseIcon {
|
|
8812
|
+
constructor() {
|
|
8813
|
+
super();
|
|
8814
|
+
|
|
8815
|
+
this.uri = 'https://cdn.jsdelivr.net/npm/@alaskaairux/icons@latest/dist';
|
|
8816
|
+
|
|
8817
|
+
this.privateDefaults();
|
|
8780
8818
|
}
|
|
8781
8819
|
|
|
8782
8820
|
/**
|
|
8783
|
-
*
|
|
8821
|
+
* Internal Defaults.
|
|
8784
8822
|
* @private
|
|
8823
|
+
* @returns {void}
|
|
8785
8824
|
*/
|
|
8786
|
-
|
|
8787
|
-
|
|
8788
|
-
|
|
8825
|
+
privateDefaults() {
|
|
8826
|
+
this.accent = false;
|
|
8827
|
+
this.customColor = false;
|
|
8828
|
+
this.customSvg = false;
|
|
8829
|
+
this.disabled = false;
|
|
8830
|
+
this.emphasis = false;
|
|
8831
|
+
this.error = false;
|
|
8832
|
+
this.info = false;
|
|
8833
|
+
this.label = false;
|
|
8834
|
+
this.primary = false;
|
|
8835
|
+
this.secondary = false;
|
|
8836
|
+
this.subtle = false;
|
|
8837
|
+
this.success = false;
|
|
8838
|
+
this.tertiary = false;
|
|
8839
|
+
this.warning = false;
|
|
8840
|
+
this.runtimeUtils = new AuroLibraryRuntimeUtils$2();
|
|
8841
|
+
}
|
|
8789
8842
|
|
|
8790
|
-
|
|
8791
|
-
|
|
8792
|
-
|
|
8793
|
-
|
|
8843
|
+
// function to define props used within the scope of this component
|
|
8844
|
+
static get properties() {
|
|
8845
|
+
return {
|
|
8846
|
+
...super.properties,
|
|
8847
|
+
accent: {
|
|
8848
|
+
type: Boolean,
|
|
8849
|
+
reflect: true
|
|
8850
|
+
},
|
|
8851
|
+
ariaHidden: {
|
|
8852
|
+
type: String,
|
|
8853
|
+
reflect: true
|
|
8854
|
+
},
|
|
8855
|
+
category: {
|
|
8856
|
+
type: String,
|
|
8857
|
+
reflect: true
|
|
8858
|
+
},
|
|
8859
|
+
customColor: {
|
|
8860
|
+
type: Boolean
|
|
8861
|
+
},
|
|
8862
|
+
customSvg: {
|
|
8863
|
+
type: Boolean
|
|
8864
|
+
},
|
|
8865
|
+
disabled: {
|
|
8866
|
+
type: Boolean,
|
|
8867
|
+
reflect: true
|
|
8868
|
+
},
|
|
8869
|
+
emphasis: {
|
|
8870
|
+
type: Boolean,
|
|
8871
|
+
reflect: true
|
|
8872
|
+
},
|
|
8873
|
+
error: {
|
|
8874
|
+
type: Boolean,
|
|
8875
|
+
reflect: true
|
|
8876
|
+
},
|
|
8877
|
+
info: {
|
|
8878
|
+
type: Boolean,
|
|
8879
|
+
reflect: true
|
|
8880
|
+
},
|
|
8881
|
+
label: {
|
|
8882
|
+
type: Boolean,
|
|
8883
|
+
reflect: true
|
|
8884
|
+
},
|
|
8885
|
+
name: {
|
|
8886
|
+
type: String,
|
|
8887
|
+
reflect: true
|
|
8888
|
+
},
|
|
8889
|
+
primary: {
|
|
8890
|
+
type: Boolean,
|
|
8891
|
+
reflect: true
|
|
8892
|
+
},
|
|
8893
|
+
secondary: {
|
|
8894
|
+
type: Boolean,
|
|
8895
|
+
reflect: true
|
|
8896
|
+
},
|
|
8897
|
+
subtle: {
|
|
8898
|
+
type: Boolean,
|
|
8899
|
+
reflect: true
|
|
8900
|
+
},
|
|
8901
|
+
success: {
|
|
8902
|
+
type: Boolean,
|
|
8903
|
+
reflect: true
|
|
8904
|
+
},
|
|
8905
|
+
tertiary: {
|
|
8906
|
+
type: Boolean,
|
|
8907
|
+
reflect: true
|
|
8908
|
+
},
|
|
8909
|
+
uri: {
|
|
8910
|
+
type: String
|
|
8911
|
+
},
|
|
8912
|
+
warning: {
|
|
8913
|
+
type: Boolean,
|
|
8914
|
+
reflect: true
|
|
8915
|
+
}
|
|
8916
|
+
};
|
|
8917
|
+
}
|
|
8918
|
+
|
|
8919
|
+
static get styles() {
|
|
8920
|
+
return [
|
|
8921
|
+
super.styles,
|
|
8922
|
+
i$c`${tokensCss}`,
|
|
8923
|
+
i$c`${styleCss}`,
|
|
8924
|
+
i$c`${colorCss}`
|
|
8925
|
+
];
|
|
8794
8926
|
}
|
|
8795
8927
|
|
|
8796
8928
|
/**
|
|
8797
|
-
*
|
|
8798
|
-
*
|
|
8799
|
-
*
|
|
8929
|
+
* This will register this element with the browser.
|
|
8930
|
+
* @param {string} [name="auro-icon"] - The name of element that you want to register to.
|
|
8931
|
+
*
|
|
8932
|
+
* @example
|
|
8933
|
+
* AuroIcon.register("custom-icon") // this will register this element to <custom-icon/>
|
|
8800
8934
|
*
|
|
8801
|
-
* The event.target is not used as the function needs to know where to go,
|
|
8802
|
-
* versus knowing where it is.
|
|
8803
|
-
* @param {String} moveDirection - Up or Down based on keyboard event.
|
|
8804
8935
|
*/
|
|
8805
|
-
|
|
8806
|
-
|
|
8807
|
-
|
|
8808
|
-
|
|
8809
|
-
// calculate which is the selection we should focus next
|
|
8810
|
-
let increment = 0;
|
|
8811
|
-
|
|
8812
|
-
if (moveDirection === 'down') {
|
|
8813
|
-
increment = 1;
|
|
8814
|
-
} else if (moveDirection === 'up') {
|
|
8815
|
-
increment = -1;
|
|
8816
|
-
}
|
|
8817
|
-
|
|
8818
|
-
this.index += increment;
|
|
8819
|
-
|
|
8820
|
-
// keep looping inside the array of options
|
|
8821
|
-
if (this.index > this.items.length - 1) {
|
|
8822
|
-
this.index = 0;
|
|
8823
|
-
} else if (this.index < 0) {
|
|
8824
|
-
this.index = this.items.length - 1;
|
|
8825
|
-
}
|
|
8936
|
+
static register(name = "auro-icon") {
|
|
8937
|
+
AuroLibraryRuntimeUtils$2.prototype.registerComponent(name, AuroIcon);
|
|
8938
|
+
}
|
|
8826
8939
|
|
|
8827
|
-
|
|
8828
|
-
|
|
8829
|
-
this.selectNextItem(moveDirection);
|
|
8830
|
-
} else {
|
|
8831
|
-
// apply focus to new index
|
|
8832
|
-
this.updateActiveOption(this.index);
|
|
8833
|
-
}
|
|
8834
|
-
} else {
|
|
8835
|
-
this.index = 0;
|
|
8940
|
+
connectedCallback() {
|
|
8941
|
+
super.connectedCallback();
|
|
8836
8942
|
|
|
8837
|
-
|
|
8838
|
-
|
|
8839
|
-
} else {
|
|
8840
|
-
this.updateActiveOption(this.index);
|
|
8841
|
-
}
|
|
8842
|
-
}
|
|
8943
|
+
// Add the tag name as an attribute if it is different than the component name
|
|
8944
|
+
this.runtimeUtils.handleComponentTagRename(this, 'auro-icon');
|
|
8843
8945
|
}
|
|
8844
8946
|
|
|
8845
8947
|
/**
|
|
8846
|
-
*
|
|
8847
|
-
* @private
|
|
8848
|
-
* @param {String} menu - Root level menu object.
|
|
8948
|
+
* @returns {void} Exposes CSS parts for styling from parent components.
|
|
8849
8949
|
*/
|
|
8850
|
-
|
|
8851
|
-
|
|
8950
|
+
exposeCssParts() {
|
|
8951
|
+
this.setAttribute('exportparts', 'svg:iconSvg');
|
|
8952
|
+
}
|
|
8852
8953
|
|
|
8853
|
-
|
|
8854
|
-
|
|
8855
|
-
|
|
8954
|
+
// function that renders the HTML and CSS into the scope of the component
|
|
8955
|
+
render() {
|
|
8956
|
+
const a11y = {
|
|
8957
|
+
'labelContainer': true,
|
|
8958
|
+
'util_displayHiddenVisually': !this.label
|
|
8959
|
+
};
|
|
8856
8960
|
|
|
8857
|
-
|
|
8858
|
-
|
|
8961
|
+
const classes = {
|
|
8962
|
+
'label': this.label
|
|
8963
|
+
};
|
|
8859
8964
|
|
|
8860
|
-
|
|
8861
|
-
|
|
8862
|
-
|
|
8965
|
+
return x$2`
|
|
8966
|
+
<div
|
|
8967
|
+
class="${e(classes)}"
|
|
8968
|
+
title="${o(this.title || undefined)}">
|
|
8969
|
+
<span aria-hidden="${o(this.ariaHidden ? this.ariaHidden : true)}" part="svg">
|
|
8970
|
+
${this.customSvg ? x$2`
|
|
8971
|
+
<slot name="svg"></slot>
|
|
8972
|
+
` : x$2`
|
|
8973
|
+
${this.svg}
|
|
8974
|
+
`
|
|
8975
|
+
}
|
|
8976
|
+
</span>
|
|
8863
8977
|
|
|
8864
|
-
|
|
8865
|
-
|
|
8978
|
+
<div class="${e(a11y)}">
|
|
8979
|
+
<slot></slot>
|
|
8980
|
+
</div>
|
|
8981
|
+
</div>
|
|
8982
|
+
`;
|
|
8866
8983
|
}
|
|
8984
|
+
}
|
|
8867
8985
|
|
|
8868
|
-
|
|
8869
|
-
* Method to apply `selected` attribute to `menuoption` via `value`.
|
|
8870
|
-
* @private
|
|
8871
|
-
* @param {String} value - Must match a unique `menuoption` value.
|
|
8872
|
-
*/
|
|
8873
|
-
selectByValue(value) {
|
|
8874
|
-
let valueMatch = false;
|
|
8875
|
-
if (!this.items) {
|
|
8876
|
-
this.initItems();
|
|
8877
|
-
}
|
|
8986
|
+
var iconVersion = '6.1.1';
|
|
8878
8987
|
|
|
8879
|
-
|
|
8988
|
+
var checkmarkIcon = {"role":"img","color":"currentColor","title":"","desc":"a small check mark.","width":"var(--auro-size-lg, var(--ds-size-300, 1.5rem))","height":"var(--auro-size-lg, var(--ds-size-300, 1.5rem))","xmlns":"http://www.w3.org/2000/svg","xmlns_xlink":"http://www.w3.org/1999/xlink","viewBox":"0 0 24 24","path":"/icons","style":"ico_squareLarge","type":"icon","name":"checkmark-sm","category":"interface","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>"};
|
|
8880
8989
|
|
|
8881
|
-
|
|
8882
|
-
|
|
8883
|
-
if (this.items[index].value === value) {
|
|
8884
|
-
valueMatch = true;
|
|
8885
|
-
this.index = index;
|
|
8886
|
-
}
|
|
8887
|
-
}
|
|
8990
|
+
// Copyright (c) 2021 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
8991
|
+
// See LICENSE in the project root for license information.
|
|
8888
8992
|
|
|
8889
|
-
if (!valueMatch) {
|
|
8890
|
-
// reset the menu to no selection
|
|
8891
|
-
this.index = undefined;
|
|
8892
8993
|
|
|
8893
|
-
|
|
8894
|
-
|
|
8895
|
-
|
|
8896
|
-
|
|
8897
|
-
|
|
8898
|
-
|
|
8994
|
+
/**
|
|
8995
|
+
* The auro-menu element provides users a way to define a menu option.
|
|
8996
|
+
*
|
|
8997
|
+
* @attr {String} value - Specifies the value to be sent to a server.
|
|
8998
|
+
* @attr {String} noCheckmark - When true, selected option will not show the checkmark.
|
|
8999
|
+
* @attr {Boolean} disabled - When true specifies that the menuoption is disabled.
|
|
9000
|
+
* @attr {Boolean} selected - Specifies that an option is selected.
|
|
9001
|
+
* @event auroMenuOption-mouseover - Notifies that this option has been hovered over.
|
|
9002
|
+
* @slot - Specifies text for an option, but is not the value.
|
|
9003
|
+
*/
|
|
9004
|
+
class AuroMenuOption extends r$6 {
|
|
9005
|
+
constructor() {
|
|
9006
|
+
super();
|
|
8899
9007
|
|
|
8900
|
-
|
|
8901
|
-
|
|
8902
|
-
|
|
8903
|
-
|
|
8904
|
-
|
|
8905
|
-
|
|
8906
|
-
|
|
9008
|
+
/**
|
|
9009
|
+
* Generate unique names for dependency components.
|
|
9010
|
+
*/
|
|
9011
|
+
const versioning = new AuroDependencyVersioning$2();
|
|
9012
|
+
this.iconTag = versioning.generateTag('auro-icon', iconVersion, AuroIcon);
|
|
9013
|
+
|
|
9014
|
+
this.selected = false;
|
|
9015
|
+
this.nocheckmark = false;
|
|
9016
|
+
this.disabled = false;
|
|
9017
|
+
|
|
9018
|
+
/**
|
|
9019
|
+
* @private
|
|
9020
|
+
*/
|
|
9021
|
+
this.tabIndex = -1;
|
|
9022
|
+
|
|
9023
|
+
/**
|
|
9024
|
+
* @private
|
|
9025
|
+
*/
|
|
9026
|
+
this.runtimeUtils = new AuroLibraryRuntimeUtils$2();
|
|
9027
|
+
}
|
|
9028
|
+
|
|
9029
|
+
static get properties() {
|
|
9030
|
+
return {
|
|
9031
|
+
nocheckmark: {
|
|
9032
|
+
type: Boolean,
|
|
9033
|
+
reflect: true
|
|
9034
|
+
},
|
|
9035
|
+
selected: {
|
|
9036
|
+
type: Boolean,
|
|
9037
|
+
reflect: true
|
|
9038
|
+
},
|
|
9039
|
+
disabled: {
|
|
9040
|
+
type: Boolean,
|
|
9041
|
+
reflect: true
|
|
9042
|
+
},
|
|
9043
|
+
value: {
|
|
9044
|
+
type: String,
|
|
9045
|
+
reflect: true
|
|
9046
|
+
},
|
|
9047
|
+
tabIndex: {
|
|
9048
|
+
type: Number,
|
|
9049
|
+
reflect: true
|
|
8907
9050
|
}
|
|
8908
|
-
}
|
|
8909
|
-
|
|
9051
|
+
};
|
|
9052
|
+
}
|
|
8910
9053
|
|
|
8911
|
-
|
|
8912
|
-
|
|
8913
|
-
|
|
8914
|
-
|
|
8915
|
-
|
|
8916
|
-
|
|
9054
|
+
static get styles() {
|
|
9055
|
+
return [
|
|
9056
|
+
styleCss$1,
|
|
9057
|
+
colorCss$1,
|
|
9058
|
+
tokensCss$1
|
|
9059
|
+
];
|
|
8917
9060
|
}
|
|
8918
9061
|
|
|
8919
9062
|
/**
|
|
8920
|
-
*
|
|
8921
|
-
* @param {
|
|
8922
|
-
*
|
|
9063
|
+
* This will register this element with the browser.
|
|
9064
|
+
* @param {string} [name="auro-menuoption"] - The name of element that you want to register to.
|
|
9065
|
+
*
|
|
9066
|
+
* @example
|
|
9067
|
+
* AuroMenuOption.register("custom-menuoption") // this will register this element to <custom-menuoption/>
|
|
9068
|
+
*
|
|
8923
9069
|
*/
|
|
8924
|
-
|
|
8925
|
-
|
|
8926
|
-
|
|
8927
|
-
});
|
|
8928
|
-
this.items[index].classList.add('active');
|
|
8929
|
-
this.optionActive = this.items[index];
|
|
9070
|
+
static register(name = "auro-menuoption") {
|
|
9071
|
+
AuroLibraryRuntimeUtils$2.prototype.registerComponent(name, AuroMenuOption);
|
|
9072
|
+
}
|
|
8930
9073
|
|
|
8931
|
-
|
|
8932
|
-
|
|
8933
|
-
|
|
8934
|
-
composed: true,
|
|
8935
|
-
detail: this.items[index]
|
|
8936
|
-
}));
|
|
9074
|
+
firstUpdated() {
|
|
9075
|
+
// Add the tag name as an attribute if it is different than the component name
|
|
9076
|
+
this.runtimeUtils.handleComponentTagRename(this, 'auro-menuoption');
|
|
8937
9077
|
|
|
8938
|
-
this.
|
|
8939
|
-
|
|
8940
|
-
|
|
8941
|
-
|
|
8942
|
-
|
|
8943
|
-
|
|
9078
|
+
this.setAttribute('role', 'option');
|
|
9079
|
+
this.setAttribute('aria-selected', 'false');
|
|
9080
|
+
|
|
9081
|
+
this.addEventListener('mouseover', () => {
|
|
9082
|
+
this.dispatchEvent(new CustomEvent('auroMenuOption-mouseover', {
|
|
9083
|
+
bubbles: true,
|
|
9084
|
+
cancelable: false,
|
|
9085
|
+
composed: true,
|
|
9086
|
+
detail: this
|
|
9087
|
+
}));
|
|
9088
|
+
});
|
|
8944
9089
|
}
|
|
8945
9090
|
|
|
8946
|
-
|
|
8947
|
-
|
|
8948
|
-
|
|
8949
|
-
|
|
8950
|
-
*/
|
|
8951
|
-
handleMenuMouseDown(evt) {
|
|
8952
|
-
if (evt.target !== this) {
|
|
8953
|
-
this.makeSelection();
|
|
9091
|
+
// observer for selected property changes
|
|
9092
|
+
updated(changedProperties) {
|
|
9093
|
+
if (changedProperties.has('selected')) {
|
|
9094
|
+
this.setAttribute('aria-selected', this.selected.toString());
|
|
8954
9095
|
}
|
|
8955
9096
|
}
|
|
8956
9097
|
|
|
8957
9098
|
/**
|
|
8958
|
-
*
|
|
9099
|
+
* Generates an HTML element containing an SVG icon based on the provided `svgContent`.
|
|
9100
|
+
*
|
|
8959
9101
|
* @private
|
|
9102
|
+
* @param {string} svgContent - The SVG content to be embedded.
|
|
9103
|
+
* @returns {Element} The HTML element containing the SVG icon.
|
|
8960
9104
|
*/
|
|
8961
|
-
|
|
8962
|
-
|
|
8963
|
-
|
|
8964
|
-
this.rootMenu = false;
|
|
8965
|
-
}
|
|
9105
|
+
generateIconHtml(svgContent) {
|
|
9106
|
+
const dom = new DOMParser().parseFromString(svgContent, 'text/html');
|
|
9107
|
+
const svg = dom.body.firstChild;
|
|
8966
9108
|
|
|
8967
|
-
|
|
8968
|
-
if (this.rootMenu) {
|
|
8969
|
-
this.initItems();
|
|
8970
|
-
this.setAttribute('role', 'listbox');
|
|
8971
|
-
this.setAttribute('root', '');
|
|
8972
|
-
this.handleNestedMenus(this);
|
|
8973
|
-
this.markOptions();
|
|
8974
|
-
this.index = -1;
|
|
8975
|
-
this.getSelectedIndex();
|
|
9109
|
+
svg.setAttribute('slot', 'svg');
|
|
8976
9110
|
|
|
8977
|
-
|
|
8978
|
-
this.addEventListener('mousedown', this.handleMenuMouseDown);
|
|
8979
|
-
this.addEventListener('auroMenuOption-mouseover', (evt) => {
|
|
8980
|
-
this.index = this.items.indexOf(evt.target);
|
|
8981
|
-
this.updateActiveOption(this.index);
|
|
8982
|
-
});
|
|
8983
|
-
} else {
|
|
8984
|
-
// make sure to update all menuoption noCheckmark attributes when the menu is dynamically changed
|
|
8985
|
-
this.handleNoCheckmarkAttr();
|
|
8986
|
-
}
|
|
9111
|
+
return u$6`<${this.iconTag} customColor customSvg slot="icon">${svg}</${this.iconTag}>`;
|
|
8987
9112
|
}
|
|
8988
9113
|
|
|
8989
9114
|
render() {
|
|
8990
|
-
return
|
|
8991
|
-
|
|
9115
|
+
return u$6`
|
|
9116
|
+
${this.selected && !this.nocheckmark ? this.generateIconHtml(checkmarkIcon.svg) : undefined}
|
|
9117
|
+
<slot></slot>
|
|
8992
9118
|
`;
|
|
8993
9119
|
}
|
|
8994
9120
|
}
|
|
@@ -9010,6 +9136,7 @@ function initExamples(initCount) {
|
|
|
9010
9136
|
valueExample();
|
|
9011
9137
|
focusExample();
|
|
9012
9138
|
inDialogExample();
|
|
9139
|
+
auroMenuLoadingExample();
|
|
9013
9140
|
} catch (err) {
|
|
9014
9141
|
if (initCount <= 20) {
|
|
9015
9142
|
// setTimeout handles issue where content is sometimes loaded after the functions get called
|