@aurodesignsystem/auro-formkit 1.6.0-beta.6 → 1.6.0-beta.8
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/0008b92c8752bf75-meta.json +1 -0
- package/.turbo/cache/{2ca214d032893e74.tar.zst → 0008b92c8752bf75.tar.zst} +0 -0
- package/.turbo/cache/00cb38bef1105dac-meta.json +1 -0
- package/.turbo/cache/0157ec8abdaf2a9c-meta.json +1 -0
- package/.turbo/cache/0636e9cedc83238b-meta.json +1 -0
- package/.turbo/cache/06f476671015e973-meta.json +1 -0
- package/.turbo/cache/06f476671015e973.tar.zst +0 -0
- package/.turbo/cache/09df74d672102662-meta.json +1 -0
- package/.turbo/cache/0cd109fb3183c2e6-meta.json +1 -0
- package/.turbo/cache/0cd109fb3183c2e6.tar.zst +0 -0
- package/.turbo/cache/17c429ade621ffcb-meta.json +1 -0
- package/.turbo/cache/1c47128a0e12fcfa-meta.json +1 -0
- package/.turbo/cache/1db02f756ce85784-meta.json +1 -0
- package/.turbo/cache/21705fa179d5f820-meta.json +1 -0
- package/.turbo/cache/21705fa179d5f820.tar.zst +0 -0
- package/.turbo/cache/249d9ba3ee6aa1cb-meta.json +1 -0
- package/.turbo/cache/2666b96bfcf4e9cd-meta.json +1 -0
- package/.turbo/cache/2778d5e895240cd1-meta.json +1 -0
- package/.turbo/cache/300b59df2de12b46-meta.json +1 -0
- package/.turbo/cache/31729e74fccaafb0-meta.json +1 -0
- package/.turbo/cache/32702694d62a08ac-meta.json +1 -0
- package/.turbo/cache/32702694d62a08ac.tar.zst +0 -0
- package/.turbo/cache/3482a3cba9a51c2d-meta.json +1 -0
- package/.turbo/cache/3482a3cba9a51c2d.tar.zst +0 -0
- package/.turbo/cache/3a9d73752f23a40a-meta.json +1 -0
- package/.turbo/cache/3a9d73752f23a40a.tar.zst +0 -0
- package/.turbo/cache/3afe2e6f714a4fcb-meta.json +1 -0
- package/.turbo/cache/3afe2e6f714a4fcb.tar.zst +0 -0
- package/.turbo/cache/408ea1754276298c-meta.json +1 -0
- package/.turbo/cache/408ea1754276298c.tar.zst +0 -0
- package/.turbo/cache/42066c793c3816f3-meta.json +1 -0
- package/.turbo/cache/4bec46ffff6fd2e8-meta.json +1 -0
- package/.turbo/cache/50b275350abe14dd-meta.json +1 -0
- package/.turbo/cache/51078a087b52c65e-meta.json +1 -0
- package/.turbo/cache/593ddf689673e305-meta.json +1 -0
- package/.turbo/cache/593ddf689673e305.tar.zst +0 -0
- package/.turbo/cache/64e4f18395bd4461-meta.json +1 -0
- package/.turbo/cache/64e4f18395bd4461.tar.zst +0 -0
- package/.turbo/cache/7419ef01dc18b433-meta.json +1 -0
- package/.turbo/cache/7419ef01dc18b433.tar.zst +0 -0
- package/.turbo/cache/748faca09d14fea7-meta.json +1 -0
- package/.turbo/cache/75495b0bbd6c06a7-meta.json +1 -0
- package/.turbo/cache/7a6a8af4392c4b05-meta.json +1 -0
- package/.turbo/cache/7a6a8af4392c4b05.tar.zst +0 -0
- package/.turbo/cache/7e81141e0140dd3a-meta.json +1 -0
- package/.turbo/cache/7e81141e0140dd3a.tar.zst +0 -0
- package/.turbo/cache/7eb50d96639e6dd4-meta.json +1 -0
- package/.turbo/cache/83bb78fec13808d0-meta.json +1 -0
- package/.turbo/cache/8605f60efb7d3957-meta.json +1 -0
- package/.turbo/cache/8605f60efb7d3957.tar.zst +0 -0
- package/.turbo/cache/892a90b62716ded5-meta.json +1 -0
- package/.turbo/cache/8cac06ca809bd2b1-meta.json +1 -0
- package/.turbo/cache/9a908bf8f82c84a6-meta.json +1 -0
- package/.turbo/cache/9ed3089ffd7d0c00-meta.json +1 -0
- package/.turbo/cache/a3a879aea25debf8-meta.json +1 -0
- package/.turbo/cache/a8dbafaf6177f677-meta.json +1 -0
- package/.turbo/cache/a8dbafaf6177f677.tar.zst +0 -0
- package/.turbo/cache/a8f6418b830ef0ba-meta.json +1 -0
- package/.turbo/cache/afd81e4f9d4bb74d-meta.json +1 -0
- package/.turbo/cache/afd81e4f9d4bb74d.tar.zst +0 -0
- package/.turbo/cache/b37b0eb5597e160f-meta.json +1 -0
- package/.turbo/cache/b7e7a8c425673f7c-meta.json +1 -0
- package/.turbo/cache/bc8eed3d7216f5b7-meta.json +1 -0
- package/.turbo/cache/bde11c3029373459-meta.json +1 -0
- package/.turbo/cache/c8e5fe6aec4479f5-meta.json +1 -0
- package/.turbo/cache/{754a6b5c5ce1ed00.tar.zst → c8e5fe6aec4479f5.tar.zst} +0 -0
- package/.turbo/cache/d0e874a9a71c9468-meta.json +1 -0
- package/.turbo/cache/d61b4e1bde4c0a12-meta.json +1 -0
- package/.turbo/cache/db6dedc0e7a12575-meta.json +1 -0
- package/.turbo/cache/db6dedc0e7a12575.tar.zst +0 -0
- package/.turbo/cache/de9737607345ec54-meta.json +1 -0
- package/.turbo/cache/de9737607345ec54.tar.zst +0 -0
- package/.turbo/cache/e234aa902b2c5b30-meta.json +1 -0
- package/.turbo/cache/e234aa902b2c5b30.tar.zst +0 -0
- package/.turbo/cache/e541225f46f7cf86-meta.json +1 -0
- package/.turbo/cache/e67ac30b07d9e800-meta.json +1 -0
- package/.turbo/cache/e67ac30b07d9e800.tar.zst +0 -0
- package/.turbo/cache/e7244fdd3397eba7-meta.json +1 -0
- package/.turbo/cache/e7cf2cc625bd92b3-meta.json +1 -0
- package/.turbo/cache/e89a401ebdda3fc2-meta.json +1 -0
- package/CHANGELOG.md +27 -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 +3 -3
- package/components/counter/.turbo/turbo-bundler.log +3 -3
- package/components/datepicker/.turbo/turbo-build.log +3 -3
- 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 +3 -3
- package/packages/build-tools/src/docProcessor.mjs +4 -4
- package/packages/build-tools/src/kitDocProcessor.mjs +4 -4
- package/packages/typescript/package.json +1 -1
- package/.turbo/cache/05be1236a4cd5e72-meta.json +0 -1
- package/.turbo/cache/05be1236a4cd5e72.tar.zst +0 -0
- package/.turbo/cache/10feda0f037804bb-meta.json +0 -1
- package/.turbo/cache/11079d2746265545-meta.json +0 -1
- package/.turbo/cache/11079d2746265545.tar.zst +0 -0
- package/.turbo/cache/144e8e78657bf800-meta.json +0 -1
- package/.turbo/cache/18939b2c7c83b163-meta.json +0 -1
- package/.turbo/cache/1de685df0eaa39c8-meta.json +0 -1
- package/.turbo/cache/1ec139dcf090d547-meta.json +0 -1
- package/.turbo/cache/1f53ce3a28c56cdf-meta.json +0 -1
- package/.turbo/cache/23bf100310bd9f5a-meta.json +0 -1
- package/.turbo/cache/2900e7ec28e1488f-meta.json +0 -1
- package/.turbo/cache/296074aadfa2f8c9-meta.json +0 -1
- package/.turbo/cache/296074aadfa2f8c9.tar.zst +0 -0
- package/.turbo/cache/29e29355bf6fb4fd-meta.json +0 -1
- package/.turbo/cache/2ca214d032893e74-meta.json +0 -1
- package/.turbo/cache/2f6c898fbb51e995-meta.json +0 -1
- package/.turbo/cache/2f6c898fbb51e995.tar.zst +0 -0
- package/.turbo/cache/3073b96f6e4d867c-meta.json +0 -1
- package/.turbo/cache/33466ea2930c3714-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/3f41d958c755a6f0.tar.zst +0 -0
- package/.turbo/cache/451e562c76f74ec6-meta.json +0 -1
- package/.turbo/cache/4520919609c97850-meta.json +0 -1
- package/.turbo/cache/452908d0b0b676bc-meta.json +0 -1
- package/.turbo/cache/48c197e39ed31fd2-meta.json +0 -1
- package/.turbo/cache/48c197e39ed31fd2.tar.zst +0 -0
- package/.turbo/cache/5058ecc7f1e34496-meta.json +0 -1
- package/.turbo/cache/5a66a99aa1344401-meta.json +0 -1
- package/.turbo/cache/5b66ce21630716cc-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/70d7b72f15ee97a4-meta.json +0 -1
- 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/77bf3068f493ef24.tar.zst +0 -0
- package/.turbo/cache/7ddb7ace73fe6ec2-meta.json +0 -1
- package/.turbo/cache/7ddb7ace73fe6ec2.tar.zst +0 -0
- package/.turbo/cache/897b0d8a0c301207-meta.json +0 -1
- package/.turbo/cache/8b7cdb9a0d4c3112-meta.json +0 -1
- package/.turbo/cache/8e1f402b247ebed6-meta.json +0 -1
- package/.turbo/cache/8e1f402b247ebed6.tar.zst +0 -0
- package/.turbo/cache/90b8d9ccef5e09aa-meta.json +0 -1
- package/.turbo/cache/9135f474c69d1b3c-meta.json +0 -1
- package/.turbo/cache/9135f474c69d1b3c.tar.zst +0 -0
- package/.turbo/cache/936bccb44ade3650-meta.json +0 -1
- package/.turbo/cache/94bcc4c6536ada9d-meta.json +0 -1
- package/.turbo/cache/9a7ab914e08ce75f-meta.json +0 -1
- package/.turbo/cache/9a7ab914e08ce75f.tar.zst +0 -0
- package/.turbo/cache/a532f4b8302ca13e-meta.json +0 -1
- package/.turbo/cache/a7bf477bbdabc7bc-meta.json +0 -1
- package/.turbo/cache/a90aa34f427a2f62-meta.json +0 -1
- package/.turbo/cache/aa68cd3545395c90-meta.json +0 -1
- package/.turbo/cache/aa68cd3545395c90.tar.zst +0 -0
- package/.turbo/cache/aedda428051043c4-meta.json +0 -1
- package/.turbo/cache/b61416daf63fbaad-meta.json +0 -1
- package/.turbo/cache/b9463532618cdc61-meta.json +0 -1
- package/.turbo/cache/bb3afea40c91e8ba-meta.json +0 -1
- package/.turbo/cache/c63dc7b6157da70b-meta.json +0 -1
- package/.turbo/cache/c8b63b6e8a190eb9-meta.json +0 -1
- package/.turbo/cache/d35b1eee9f2881af-meta.json +0 -1
- package/.turbo/cache/d5188c0fbe45d578-meta.json +0 -1
- 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
- package/.turbo/cache/e4b3ec56d4ae56ba-meta.json +0 -1
- package/.turbo/cache/e6f030eddf6fbf4e-meta.json +0 -1
- package/.turbo/cache/ff7e6d09efd93145-meta.json +0 -1
- package/.turbo/cache/ff7e6d09efd93145.tar.zst +0 -0
- /package/.turbo/cache/{e6f030eddf6fbf4e.tar.zst → 00cb38bef1105dac.tar.zst} +0 -0
- /package/.turbo/cache/{1f53ce3a28c56cdf.tar.zst → 0157ec8abdaf2a9c.tar.zst} +0 -0
- /package/.turbo/cache/{94bcc4c6536ada9d.tar.zst → 0636e9cedc83238b.tar.zst} +0 -0
- /package/.turbo/cache/{90b8d9ccef5e09aa.tar.zst → 09df74d672102662.tar.zst} +0 -0
- /package/.turbo/cache/{a90aa34f427a2f62.tar.zst → 17c429ade621ffcb.tar.zst} +0 -0
- /package/.turbo/cache/{936bccb44ade3650.tar.zst → 1c47128a0e12fcfa.tar.zst} +0 -0
- /package/.turbo/cache/{18939b2c7c83b163.tar.zst → 1db02f756ce85784.tar.zst} +0 -0
- /package/.turbo/cache/{10feda0f037804bb.tar.zst → 249d9ba3ee6aa1cb.tar.zst} +0 -0
- /package/.turbo/cache/{a7bf477bbdabc7bc.tar.zst → 2666b96bfcf4e9cd.tar.zst} +0 -0
- /package/.turbo/cache/{70d7b72f15ee97a4.tar.zst → 2778d5e895240cd1.tar.zst} +0 -0
- /package/.turbo/cache/{5b66ce21630716cc.tar.zst → 300b59df2de12b46.tar.zst} +0 -0
- /package/.turbo/cache/{5058ecc7f1e34496.tar.zst → 31729e74fccaafb0.tar.zst} +0 -0
- /package/.turbo/cache/{aedda428051043c4.tar.zst → 42066c793c3816f3.tar.zst} +0 -0
- /package/.turbo/cache/{bb3afea40c91e8ba.tar.zst → 4bec46ffff6fd2e8.tar.zst} +0 -0
- /package/.turbo/cache/{452908d0b0b676bc.tar.zst → 50b275350abe14dd.tar.zst} +0 -0
- /package/.turbo/cache/{23bf100310bd9f5a.tar.zst → 51078a087b52c65e.tar.zst} +0 -0
- /package/.turbo/cache/{1ec139dcf090d547.tar.zst → 748faca09d14fea7.tar.zst} +0 -0
- /package/.turbo/cache/{5a66a99aa1344401.tar.zst → 75495b0bbd6c06a7.tar.zst} +0 -0
- /package/.turbo/cache/{a532f4b8302ca13e.tar.zst → 7eb50d96639e6dd4.tar.zst} +0 -0
- /package/.turbo/cache/{1de685df0eaa39c8.tar.zst → 83bb78fec13808d0.tar.zst} +0 -0
- /package/.turbo/cache/{2900e7ec28e1488f.tar.zst → 892a90b62716ded5.tar.zst} +0 -0
- /package/.turbo/cache/{d5188c0fbe45d578.tar.zst → 8cac06ca809bd2b1.tar.zst} +0 -0
- /package/.turbo/cache/{451e562c76f74ec6.tar.zst → 9a908bf8f82c84a6.tar.zst} +0 -0
- /package/.turbo/cache/{144e8e78657bf800.tar.zst → 9ed3089ffd7d0c00.tar.zst} +0 -0
- /package/.turbo/cache/{4520919609c97850.tar.zst → a3a879aea25debf8.tar.zst} +0 -0
- /package/.turbo/cache/{33466ea2930c3714.tar.zst → a8f6418b830ef0ba.tar.zst} +0 -0
- /package/.turbo/cache/{b61416daf63fbaad.tar.zst → b37b0eb5597e160f.tar.zst} +0 -0
- /package/.turbo/cache/{29e29355bf6fb4fd.tar.zst → b7e7a8c425673f7c.tar.zst} +0 -0
- /package/.turbo/cache/{3073b96f6e4d867c.tar.zst → bc8eed3d7216f5b7.tar.zst} +0 -0
- /package/.turbo/cache/{d35b1eee9f2881af.tar.zst → bde11c3029373459.tar.zst} +0 -0
- /package/.turbo/cache/{e4b3ec56d4ae56ba.tar.zst → d0e874a9a71c9468.tar.zst} +0 -0
- /package/.turbo/cache/{8b7cdb9a0d4c3112.tar.zst → d61b4e1bde4c0a12.tar.zst} +0 -0
- /package/.turbo/cache/{b9463532618cdc61.tar.zst → e541225f46f7cf86.tar.zst} +0 -0
- /package/.turbo/cache/{897b0d8a0c301207.tar.zst → e7244fdd3397eba7.tar.zst} +0 -0
- /package/.turbo/cache/{c63dc7b6157da70b.tar.zst → e7cf2cc625bd92b3.tar.zst} +0 -0
- /package/.turbo/cache/{c8b63b6e8a190eb9.tar.zst → e89a401ebdda3fc2.tar.zst} +0 -0
|
@@ -3281,6 +3281,11 @@ class AuroSelect extends r$4 {
|
|
|
3281
3281
|
* @private
|
|
3282
3282
|
*/
|
|
3283
3283
|
this.dropdownTag = versioning.generateTag('auro-dropdown', dropdownVersion, AuroDropdown);
|
|
3284
|
+
|
|
3285
|
+
/**
|
|
3286
|
+
* @private
|
|
3287
|
+
*/
|
|
3288
|
+
this.isHiddenWhileLoading = false;
|
|
3284
3289
|
}
|
|
3285
3290
|
|
|
3286
3291
|
/**
|
|
@@ -3433,6 +3438,7 @@ class AuroSelect extends r$4 {
|
|
|
3433
3438
|
*/
|
|
3434
3439
|
configureMenu() {
|
|
3435
3440
|
this.menu = this.querySelector('auro-menu, [auro-menu]');
|
|
3441
|
+
this.menu.addEventListener("auroMenu-loadingChange", (event) => this.handleMenuLoadingChange(event));
|
|
3436
3442
|
// racing condition on custom-select with custom-menu
|
|
3437
3443
|
if (!this.menu) {
|
|
3438
3444
|
setTimeout(() => {
|
|
@@ -3542,6 +3548,32 @@ class AuroSelect extends r$4 {
|
|
|
3542
3548
|
this.labelForSr();
|
|
3543
3549
|
}
|
|
3544
3550
|
|
|
3551
|
+
/**
|
|
3552
|
+
* Manages the visibility of the dropdown based on loading state changes.
|
|
3553
|
+
*
|
|
3554
|
+
* This method listens for loading state changes and adjusts the visibility of the dropdown accordingly.
|
|
3555
|
+
* If the dropdown is visible and loading is true without any loading placeholders, it hides the dropdown
|
|
3556
|
+
* and sets a flag to indicate it is hidden while loading. If loading is false and the dropdown was previously
|
|
3557
|
+
* hidden, it checks if the active element is within the dropdown and shows it again if true.
|
|
3558
|
+
*
|
|
3559
|
+
* @private
|
|
3560
|
+
* @param {CustomEvent} event - The event object containing details about the loading state change.
|
|
3561
|
+
* @param {boolean} event.detail.loading - Indicates whether the menu is currently loading.
|
|
3562
|
+
* @param {boolean} event.detail.hasLoadingPlaceholder - Indicates if there are loading placeholders present.
|
|
3563
|
+
* @returns {void}
|
|
3564
|
+
*/
|
|
3565
|
+
handleMenuLoadingChange(event) {
|
|
3566
|
+
if (this.dropdown.isPopoverVisible && event.detail.loading && !event.detail.hasLoadingPlaceholder) {
|
|
3567
|
+
this.isHiddenWhileLoading = true;
|
|
3568
|
+
this.dropdown.hide();
|
|
3569
|
+
} else if (!event.detail.loading && this.isHiddenWhileLoading) {
|
|
3570
|
+
if (this.contains(document.activeElement)) {
|
|
3571
|
+
this.dropdown.show();
|
|
3572
|
+
}
|
|
3573
|
+
this.isHiddenWhileLoading = false;
|
|
3574
|
+
}
|
|
3575
|
+
}
|
|
3576
|
+
|
|
3545
3577
|
/**
|
|
3546
3578
|
* Function to support @focusin event.
|
|
3547
3579
|
* @private
|
|
@@ -3733,1033 +3765,1085 @@ class AuroSelect extends r$4 {
|
|
|
3733
3765
|
}
|
|
3734
3766
|
}
|
|
3735
3767
|
|
|
3736
|
-
var styleCss$2 = i$b`: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}`;
|
|
3768
|
+
var styleCss$2 = i$b`: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)}`;
|
|
3737
3769
|
|
|
3738
3770
|
var colorCss$2 = i$b`:host ::slotted(hr){border-top-color:var(--ds-auro-menu-divider-color) !important}`;
|
|
3739
3771
|
|
|
3740
3772
|
var tokensCss$1 = i$b`: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)}`;
|
|
3741
3773
|
|
|
3742
|
-
|
|
3774
|
+
// Copyright (c) 2021 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
3775
|
+
// See LICENSE in the project root for license information.
|
|
3743
3776
|
|
|
3744
|
-
var colorCss$1 = i$b`: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)}`;
|
|
3745
3777
|
|
|
3778
|
+
// See https://git.io/JJ6SJ for "How to document your components using JSDoc"
|
|
3746
3779
|
/**
|
|
3747
|
-
*
|
|
3748
|
-
*
|
|
3749
|
-
*
|
|
3780
|
+
* The auro-menu element provides users a way to select from a list of options.
|
|
3781
|
+
* @attr {Object} optionSelected - Specifies the current selected menuOption.
|
|
3782
|
+
* @attr {String} matchWord - Specifies a string used to highlight matched string parts in options.
|
|
3783
|
+
* @attr {Boolean} disabled - When true, the entire menu and all options are disabled;
|
|
3784
|
+
* @attr {Boolean} noCheckmark - When true, selected option will not show the checkmark.
|
|
3785
|
+
* @attr {Boolean} loading - When true, displays a loading state using the loadingIcon and loadingText slots if provided.
|
|
3786
|
+
* @attr {String} value - Value selected for the menu.
|
|
3787
|
+
* @prop {Boolean} hasLoadingPlaceholder - Indicates whether the menu has a loadingIcon or loadingText to render when in a loading state.
|
|
3788
|
+
* @event auroMenu-selectedOption - Notifies that a new menuoption selection has been made.
|
|
3789
|
+
* @event selectedOption - (DEPRECATED) Notifies that a new menuoption selection has been made.
|
|
3790
|
+
* @event auroMenu-activatedOption - Notifies that a menuoption has been made `active`.
|
|
3791
|
+
* @event auroMenuActivatedOption - (DEPRECATED) Notifies that a menuoption has been made `active`.
|
|
3792
|
+
* @event auroMenu-selectValueFailure - Notifies that a an attempt to select a menuoption by matching a value has failed.
|
|
3793
|
+
* @event auroMenuSelectValueFailure - (DEPRECATED) Notifies that a an attempt to select a menuoption by matching a value has failed.
|
|
3794
|
+
* @event auroMenu-customEventFired - Notifies that a custom event has been fired.
|
|
3795
|
+
* @event auroMenuCustomEventFired - (DEPRECATED) Notifies that a custom event has been fired.
|
|
3796
|
+
* @event auroMenu-selectValueReset - Notifies that the component value has been reset.
|
|
3797
|
+
* @event auroMenu-loadingChange - Notifies when the loading attribute is changed.
|
|
3798
|
+
* @slot loadingText - Text to show while loading attribute is set
|
|
3799
|
+
* @slot loadingIcon - Icon to show while loading attribute is set
|
|
3800
|
+
* @slot - Slot for insertion of menu options.
|
|
3750
3801
|
*/
|
|
3751
|
-
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)}}
|
|
3752
3802
|
|
|
3753
|
-
|
|
3754
|
-
* @license
|
|
3755
|
-
* Copyright 2018 Google LLC
|
|
3756
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
|
3757
|
-
*/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$1}});
|
|
3803
|
+
/* eslint-disable no-magic-numbers, max-lines */
|
|
3758
3804
|
|
|
3759
|
-
|
|
3760
|
-
|
|
3761
|
-
|
|
3762
|
-
|
|
3763
|
-
|
|
3805
|
+
class AuroMenu extends r$4 {
|
|
3806
|
+
constructor() {
|
|
3807
|
+
super();
|
|
3808
|
+
this.value = undefined;
|
|
3809
|
+
this.optionSelected = undefined;
|
|
3810
|
+
this.matchWord = undefined;
|
|
3811
|
+
this.noCheckmark = false;
|
|
3812
|
+
this.optionActive = undefined;
|
|
3813
|
+
this.loading = false;
|
|
3764
3814
|
|
|
3765
|
-
|
|
3766
|
-
|
|
3815
|
+
/**
|
|
3816
|
+
* @private
|
|
3817
|
+
*/
|
|
3818
|
+
this.rootMenu = true;
|
|
3767
3819
|
|
|
3820
|
+
/**
|
|
3821
|
+
* @private
|
|
3822
|
+
*/
|
|
3823
|
+
this.runtimeUtils = new AuroLibraryRuntimeUtils$1();
|
|
3768
3824
|
|
|
3769
|
-
/**
|
|
3770
|
-
|
|
3771
|
-
|
|
3772
|
-
|
|
3773
|
-
*/
|
|
3825
|
+
/**
|
|
3826
|
+
* @private
|
|
3827
|
+
*/
|
|
3828
|
+
this.nestingSpacer = '<span class="nestingSpacer"></span>';
|
|
3774
3829
|
|
|
3775
|
-
|
|
3830
|
+
/**
|
|
3831
|
+
* @private
|
|
3832
|
+
*/
|
|
3833
|
+
this.loadingSlots = null;
|
|
3834
|
+
}
|
|
3776
3835
|
|
|
3777
|
-
// function to define props used within the scope of this component
|
|
3778
3836
|
static get properties() {
|
|
3779
3837
|
return {
|
|
3780
|
-
|
|
3781
|
-
|
|
3782
|
-
|
|
3783
|
-
|
|
3784
|
-
|
|
3785
|
-
|
|
3838
|
+
noCheckmark: {
|
|
3839
|
+
type: Boolean,
|
|
3840
|
+
reflect: true
|
|
3841
|
+
},
|
|
3842
|
+
disabled: {
|
|
3843
|
+
type: Boolean,
|
|
3844
|
+
reflect: true
|
|
3845
|
+
},
|
|
3846
|
+
loading: {
|
|
3847
|
+
type: Boolean,
|
|
3848
|
+
reflect: true
|
|
3849
|
+
},
|
|
3850
|
+
optionSelected: { type: Object },
|
|
3851
|
+
optionActive: { type: Object },
|
|
3852
|
+
matchWord: { type: String },
|
|
3853
|
+
value: { type: String }
|
|
3786
3854
|
};
|
|
3787
3855
|
}
|
|
3788
3856
|
|
|
3857
|
+
static get styles() {
|
|
3858
|
+
return [
|
|
3859
|
+
styleCss$2,
|
|
3860
|
+
colorCss$2,
|
|
3861
|
+
tokensCss$1
|
|
3862
|
+
];
|
|
3863
|
+
}
|
|
3864
|
+
|
|
3789
3865
|
/**
|
|
3790
|
-
*
|
|
3866
|
+
* This will register this element with the browser.
|
|
3867
|
+
* @param {string} [name="auro-menu"] - The name of element that you want to register to.
|
|
3868
|
+
*
|
|
3869
|
+
* @example
|
|
3870
|
+
* AuroMenu.register("custom-menu") // this will register this element to <custom-menu/>
|
|
3871
|
+
*
|
|
3791
3872
|
*/
|
|
3792
|
-
|
|
3793
|
-
|
|
3794
|
-
return 'true'
|
|
3795
|
-
}
|
|
3796
|
-
|
|
3797
|
-
return 'false'
|
|
3873
|
+
static register(name = "auro-menu") {
|
|
3874
|
+
AuroLibraryRuntimeUtils$1.prototype.registerComponent(name, AuroMenu);
|
|
3798
3875
|
}
|
|
3799
|
-
}
|
|
3800
|
-
|
|
3801
|
-
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>"};
|
|
3802
3876
|
|
|
3803
|
-
|
|
3877
|
+
/**
|
|
3878
|
+
* Passes the noCheckmark attribute to all nested auro-menuoptions.
|
|
3879
|
+
* @private
|
|
3880
|
+
* @returns {void}
|
|
3881
|
+
*/
|
|
3882
|
+
handleNoCheckmarkAttr() {
|
|
3883
|
+
if (this.noCheckmark) {
|
|
3884
|
+
const menus = this.querySelectorAll('auro-menu, [auro-menu]');
|
|
3804
3885
|
|
|
3805
|
-
|
|
3886
|
+
menus.forEach((menu) => {
|
|
3887
|
+
menu.setAttribute('noCheckmark', '');
|
|
3888
|
+
});
|
|
3806
3889
|
|
|
3807
|
-
|
|
3808
|
-
* A callback to parse Response body.
|
|
3809
|
-
*
|
|
3810
|
-
* @callback ResponseParser
|
|
3811
|
-
* @param {Fetch.Response} response
|
|
3812
|
-
* @returns {Promise}
|
|
3813
|
-
*/
|
|
3890
|
+
const options = this.querySelectorAll('auro-menuoption, [auro-menuoption]');
|
|
3814
3891
|
|
|
3815
|
-
|
|
3816
|
-
|
|
3817
|
-
|
|
3818
|
-
|
|
3819
|
-
* @param {Object} [options={}]
|
|
3820
|
-
* @param {ResponseParser} [options.responseParser=(response) => response.text()]
|
|
3821
|
-
* @returns {Promise}
|
|
3822
|
-
*/
|
|
3823
|
-
const cacheFetch = (uri, options = {}) => {
|
|
3824
|
-
const responseParser = options.responseParser || ((response) => response.text());
|
|
3825
|
-
if (!_fetchMap.has(uri)) {
|
|
3826
|
-
_fetchMap.set(uri, fetch(uri).then(responseParser));
|
|
3892
|
+
options.forEach((option) => {
|
|
3893
|
+
option.setAttribute('noCheckmark', '');
|
|
3894
|
+
});
|
|
3895
|
+
}
|
|
3827
3896
|
}
|
|
3828
|
-
return _fetchMap.get(uri);
|
|
3829
|
-
};
|
|
3830
3897
|
|
|
3831
|
-
|
|
3898
|
+
firstUpdated() {
|
|
3899
|
+
// Add the tag name as an attribute if it is different than the component name
|
|
3900
|
+
this.runtimeUtils.handleComponentTagRename(this, 'auro-menu');
|
|
3832
3901
|
|
|
3833
|
-
|
|
3834
|
-
// See LICENSE in the project root for license information.
|
|
3902
|
+
this.addEventListener('keydown', this.handleKeyDown);
|
|
3835
3903
|
|
|
3904
|
+
this.loadingSlots = this.querySelectorAll("[slot='loadingText'], [slot='loadingIcon']");
|
|
3905
|
+
}
|
|
3836
3906
|
|
|
3837
|
-
|
|
3838
|
-
|
|
3839
|
-
|
|
3840
|
-
|
|
3841
|
-
*/
|
|
3907
|
+
updated(changedProperties) {
|
|
3908
|
+
if (changedProperties.has('matchWord')) {
|
|
3909
|
+
this.markOptions();
|
|
3910
|
+
}
|
|
3842
3911
|
|
|
3843
|
-
|
|
3844
|
-
|
|
3845
|
-
|
|
3846
|
-
super();
|
|
3847
|
-
this.onDark = false;
|
|
3848
|
-
}
|
|
3912
|
+
if (changedProperties.has('value')) {
|
|
3913
|
+
this.selectByValue(this.value);
|
|
3914
|
+
}
|
|
3849
3915
|
|
|
3850
|
-
|
|
3851
|
-
|
|
3852
|
-
return {
|
|
3853
|
-
...super.properties,
|
|
3854
|
-
onDark: {
|
|
3855
|
-
type: Boolean,
|
|
3856
|
-
reflect: true
|
|
3857
|
-
},
|
|
3916
|
+
if (changedProperties.has('disabled')) {
|
|
3917
|
+
const options = Array.from(this.querySelectorAll('auro-menuoption, [auro-menuoption]'));
|
|
3858
3918
|
|
|
3859
|
-
|
|
3860
|
-
|
|
3861
|
-
*/
|
|
3862
|
-
svg: {
|
|
3863
|
-
attribute: false,
|
|
3864
|
-
reflect: true
|
|
3919
|
+
for (const element of options) {
|
|
3920
|
+
element.disabled = this.disabled;
|
|
3865
3921
|
}
|
|
3866
|
-
}
|
|
3922
|
+
}
|
|
3923
|
+
|
|
3924
|
+
if (changedProperties.has('loading')) {
|
|
3925
|
+
const event = new CustomEvent("auroMenu-loadingChange", {
|
|
3926
|
+
detail: {
|
|
3927
|
+
loading: this.loading,
|
|
3928
|
+
hasLoadingPlaceholder:
|
|
3929
|
+
this.hasLoadingPlaceholder
|
|
3930
|
+
}
|
|
3931
|
+
});
|
|
3932
|
+
this.setAttribute("aria-busy", this.hasAttribute("loading"));
|
|
3933
|
+
this.dispatchEvent(event);
|
|
3934
|
+
}
|
|
3867
3935
|
}
|
|
3868
3936
|
|
|
3869
|
-
|
|
3870
|
-
|
|
3871
|
-
|
|
3872
|
-
|
|
3937
|
+
/**
|
|
3938
|
+
* @private
|
|
3939
|
+
* @param {Object} option - The menuoption to check for interactive state.
|
|
3940
|
+
* @returns {Boolean} Returns true if the option is interactive.
|
|
3941
|
+
*/
|
|
3942
|
+
optionInteractive(option) {
|
|
3943
|
+
return !option.hasAttribute('hidden') && !option.hasAttribute('disabled') && !option.hasAttribute('static');
|
|
3873
3944
|
}
|
|
3874
3945
|
|
|
3875
3946
|
/**
|
|
3876
|
-
* Async function to fetch requested icon from npm CDN.
|
|
3877
3947
|
* @private
|
|
3878
|
-
* @
|
|
3879
|
-
* @param {string} name - Icon name.
|
|
3880
|
-
* @returns {SVGElement} DOM - Ready HTML to be appended.
|
|
3948
|
+
* @returns {void} When called will update the DOM with visible suggest text matches.
|
|
3881
3949
|
*/
|
|
3882
|
-
|
|
3883
|
-
|
|
3950
|
+
markOptions() {
|
|
3951
|
+
if (this.items && this.items.length > 0 && (this.matchWord && this.matchWord.length > 0)) {
|
|
3884
3952
|
|
|
3885
|
-
|
|
3886
|
-
|
|
3887
|
-
} else {
|
|
3888
|
-
iconHTML = await cacheFetch(`${this.uri}/icons/${category}/${name}.svg`);
|
|
3889
|
-
}
|
|
3953
|
+
// Escape special regex characters
|
|
3954
|
+
const escapedWord = this.matchWord.replace(/[.*+?^${}()|[\]\\]/gu, '\\$&');
|
|
3890
3955
|
|
|
3891
|
-
|
|
3956
|
+
// Global, case-insensitive, unicode matching regex pattern
|
|
3957
|
+
const regexWord = new RegExp(escapedWord, 'giu');
|
|
3892
3958
|
|
|
3893
|
-
|
|
3894
|
-
|
|
3959
|
+
this.items.forEach((item) => {
|
|
3960
|
+
if (this.optionInteractive(item) && !item.hasAttribute('persistent')) {
|
|
3961
|
+
const nested = item.querySelectorAll('.nestingSpacer');
|
|
3962
|
+
const nestingSpacerBundle = [...nested].map(() => this.nestingSpacer).join('');
|
|
3895
3963
|
|
|
3896
|
-
|
|
3897
|
-
|
|
3898
|
-
|
|
3899
|
-
const svg = await this.fetchIcon(this.category, this.name);
|
|
3900
|
-
|
|
3901
|
-
if (svg) {
|
|
3902
|
-
this.svg = svg;
|
|
3903
|
-
} else if (!svg) {
|
|
3904
|
-
const penDOM = new DOMParser().parseFromString(error.svg, 'text/html');
|
|
3905
|
-
|
|
3906
|
-
this.svg = penDOM.body.firstChild;
|
|
3907
|
-
}
|
|
3964
|
+
item.innerHTML = nestingSpacerBundle + item.textContent.replace(regexWord, (match) => `<strong>${match}</strong>`);
|
|
3965
|
+
}
|
|
3966
|
+
});
|
|
3908
3967
|
}
|
|
3909
3968
|
}
|
|
3910
|
-
}
|
|
3911
|
-
|
|
3912
|
-
var tokensCss = i$b`: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)}`;
|
|
3913
|
-
|
|
3914
|
-
var colorCss = i$b`: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)}`;
|
|
3915
|
-
|
|
3916
|
-
// Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
3917
|
-
// See LICENSE in the project root for license information.
|
|
3918
|
-
|
|
3919
|
-
|
|
3920
|
-
// See https://git.io/JJ6SJ for "How to document your components using JSDoc"
|
|
3921
|
-
/**
|
|
3922
|
-
* auro-icon provides users a way to use the Auro Icons by simply passing in the category and name.
|
|
3923
|
-
*
|
|
3924
|
-
* @attr {String} category - The category of the icon you are looking for. See https://auro.alaskaair.com/icons/usage.
|
|
3925
|
-
* @attr {String} name - The name of the icon you are looking for without the file extension. See https://auro.alaskaair.com/icons/usage
|
|
3926
|
-
* @attr {Boolean} customColor - Removes primary selector.
|
|
3927
|
-
* @attr {Boolean} customSvg - When true, auro-icon will render a custom SVG inside the default slot.
|
|
3928
|
-
* @attr {Boolean} label - Exposes content in slot as icon label.
|
|
3929
|
-
* @attr {Boolean} primary - DEPRECATED: Sets the icon to use the baseline primary icon style.
|
|
3930
|
-
* @attr {Boolean} accent - Sets the icon to use the accent style.
|
|
3931
|
-
* @attr {Boolean} emphasis - Sets the icon to use the emphasis style.
|
|
3932
|
-
* @attr {Boolean} disabled - Sets the icon to use the disabled style.
|
|
3933
|
-
* @attr {Boolean} error - Sets the icon to use the error style.
|
|
3934
|
-
* @attr {Boolean} info - Sets the icon to use the info style.
|
|
3935
|
-
* @attr {Boolean} secondary - Sets the icon to use the secondary style.
|
|
3936
|
-
* @attr {Boolean} tertiary - Sets the icon to use the tertiary style.
|
|
3937
|
-
* @attr {Boolean} subtle - Sets the icon to use the subtle style.
|
|
3938
|
-
* @attr {Boolean} success - Sets the icon to use the success style.
|
|
3939
|
-
* @attr {Boolean} warning - Sets the icon to use the warning style.
|
|
3940
|
-
* @attr {String} ariaHidden - Set aria-hidden value. Default is `true`. Option is `false`.
|
|
3941
|
-
* @attr {String} uri - Set the uri for CDN used when fetching icons
|
|
3942
|
-
* @slot - Hidden from visibility, used for a11y if icon description is needed.
|
|
3943
|
-
* @slot svg - Used for custom SVG content.
|
|
3944
|
-
*/
|
|
3945
|
-
|
|
3946
|
-
// build the component class
|
|
3947
|
-
class AuroIcon extends BaseIcon {
|
|
3948
|
-
constructor() {
|
|
3949
|
-
super();
|
|
3950
|
-
|
|
3951
|
-
this.uri = 'https://cdn.jsdelivr.net/npm/@alaskaairux/icons@latest/dist';
|
|
3952
3969
|
|
|
3953
|
-
|
|
3970
|
+
/**
|
|
3971
|
+
* Reset the menu and all options.
|
|
3972
|
+
*/
|
|
3973
|
+
resetOptionsStates() {
|
|
3974
|
+
this.optionSelected = undefined;
|
|
3975
|
+
if (this.items) {
|
|
3976
|
+
this.items.forEach((item) => {
|
|
3977
|
+
item.classList.remove('active');
|
|
3978
|
+
item.removeAttribute('selected');
|
|
3979
|
+
});
|
|
3980
|
+
}
|
|
3954
3981
|
}
|
|
3955
3982
|
|
|
3956
3983
|
/**
|
|
3957
|
-
*
|
|
3984
|
+
* Set the attributes on the selected menuoption, the menu value and stored option.
|
|
3985
|
+
* @param {Object} option - The menuoption to be selected.
|
|
3958
3986
|
* @private
|
|
3959
|
-
* @returns {void}
|
|
3960
3987
|
*/
|
|
3961
|
-
|
|
3962
|
-
|
|
3963
|
-
|
|
3964
|
-
|
|
3965
|
-
this.disabled = false;
|
|
3966
|
-
this.emphasis = false;
|
|
3967
|
-
this.error = false;
|
|
3968
|
-
this.info = false;
|
|
3969
|
-
this.label = false;
|
|
3970
|
-
this.primary = false;
|
|
3971
|
-
this.secondary = false;
|
|
3972
|
-
this.subtle = false;
|
|
3973
|
-
this.success = false;
|
|
3974
|
-
this.tertiary = false;
|
|
3975
|
-
this.warning = false;
|
|
3976
|
-
this.runtimeUtils = new AuroLibraryRuntimeUtils$1();
|
|
3977
|
-
}
|
|
3978
|
-
|
|
3979
|
-
// function to define props used within the scope of this component
|
|
3980
|
-
static get properties() {
|
|
3981
|
-
return {
|
|
3982
|
-
...super.properties,
|
|
3983
|
-
accent: {
|
|
3984
|
-
type: Boolean,
|
|
3985
|
-
reflect: true
|
|
3986
|
-
},
|
|
3987
|
-
ariaHidden: {
|
|
3988
|
-
type: String,
|
|
3989
|
-
reflect: true
|
|
3990
|
-
},
|
|
3991
|
-
category: {
|
|
3992
|
-
type: String,
|
|
3993
|
-
reflect: true
|
|
3994
|
-
},
|
|
3995
|
-
customColor: {
|
|
3996
|
-
type: Boolean
|
|
3997
|
-
},
|
|
3998
|
-
customSvg: {
|
|
3999
|
-
type: Boolean
|
|
4000
|
-
},
|
|
4001
|
-
disabled: {
|
|
4002
|
-
type: Boolean,
|
|
4003
|
-
reflect: true
|
|
4004
|
-
},
|
|
4005
|
-
emphasis: {
|
|
4006
|
-
type: Boolean,
|
|
4007
|
-
reflect: true
|
|
4008
|
-
},
|
|
4009
|
-
error: {
|
|
4010
|
-
type: Boolean,
|
|
4011
|
-
reflect: true
|
|
4012
|
-
},
|
|
4013
|
-
info: {
|
|
4014
|
-
type: Boolean,
|
|
4015
|
-
reflect: true
|
|
4016
|
-
},
|
|
4017
|
-
label: {
|
|
4018
|
-
type: Boolean,
|
|
4019
|
-
reflect: true
|
|
4020
|
-
},
|
|
4021
|
-
name: {
|
|
4022
|
-
type: String,
|
|
4023
|
-
reflect: true
|
|
4024
|
-
},
|
|
4025
|
-
primary: {
|
|
4026
|
-
type: Boolean,
|
|
4027
|
-
reflect: true
|
|
4028
|
-
},
|
|
4029
|
-
secondary: {
|
|
4030
|
-
type: Boolean,
|
|
4031
|
-
reflect: true
|
|
4032
|
-
},
|
|
4033
|
-
subtle: {
|
|
4034
|
-
type: Boolean,
|
|
4035
|
-
reflect: true
|
|
4036
|
-
},
|
|
4037
|
-
success: {
|
|
4038
|
-
type: Boolean,
|
|
4039
|
-
reflect: true
|
|
4040
|
-
},
|
|
4041
|
-
tertiary: {
|
|
4042
|
-
type: Boolean,
|
|
4043
|
-
reflect: true
|
|
4044
|
-
},
|
|
4045
|
-
uri: {
|
|
4046
|
-
type: String
|
|
4047
|
-
},
|
|
4048
|
-
warning: {
|
|
4049
|
-
type: Boolean,
|
|
4050
|
-
reflect: true
|
|
4051
|
-
}
|
|
4052
|
-
};
|
|
4053
|
-
}
|
|
3988
|
+
handleLocalSelectState(option) {
|
|
3989
|
+
option.setAttribute('selected', '');
|
|
3990
|
+
option.classList.add('active');
|
|
3991
|
+
option.ariaSelected = true;
|
|
4054
3992
|
|
|
4055
|
-
|
|
4056
|
-
|
|
4057
|
-
|
|
4058
|
-
i$b`${tokensCss}`,
|
|
4059
|
-
i$b`${styleCss}`,
|
|
4060
|
-
i$b`${colorCss}`
|
|
4061
|
-
];
|
|
3993
|
+
this.value = option.value;
|
|
3994
|
+
this.optionSelected = option;
|
|
3995
|
+
this.index = this.items.indexOf(option);
|
|
4062
3996
|
}
|
|
4063
3997
|
|
|
4064
3998
|
/**
|
|
4065
|
-
*
|
|
4066
|
-
* @
|
|
4067
|
-
*
|
|
4068
|
-
* @example
|
|
4069
|
-
* AuroIcon.register("custom-icon") // this will register this element to <custom-icon/>
|
|
4070
|
-
*
|
|
3999
|
+
* Notify selection change.
|
|
4000
|
+
* @private
|
|
4001
|
+
* @return {void}
|
|
4071
4002
|
*/
|
|
4072
|
-
|
|
4073
|
-
|
|
4074
|
-
|
|
4075
|
-
|
|
4076
|
-
|
|
4077
|
-
|
|
4003
|
+
notifySelectionChange() {
|
|
4004
|
+
// this event needs to be removed after select and combobox are updated to use the new standard name
|
|
4005
|
+
this.dispatchEvent(new CustomEvent('selectedOption', {
|
|
4006
|
+
bubbles: true,
|
|
4007
|
+
cancelable: false,
|
|
4008
|
+
composed: true,
|
|
4009
|
+
}));
|
|
4078
4010
|
|
|
4079
|
-
|
|
4080
|
-
|
|
4011
|
+
this.dispatchEvent(new CustomEvent('auroMenu-selectedOption', {
|
|
4012
|
+
bubbles: true,
|
|
4013
|
+
cancelable: false,
|
|
4014
|
+
composed: true,
|
|
4015
|
+
}));
|
|
4081
4016
|
}
|
|
4082
4017
|
|
|
4083
4018
|
/**
|
|
4084
|
-
*
|
|
4019
|
+
* Process actions for making making a menuoption selection.
|
|
4085
4020
|
*/
|
|
4086
|
-
|
|
4087
|
-
this.
|
|
4088
|
-
|
|
4089
|
-
|
|
4090
|
-
// function that renders the HTML and CSS into the scope of the component
|
|
4091
|
-
render() {
|
|
4092
|
-
const a11y = {
|
|
4093
|
-
'labelContainer': true,
|
|
4094
|
-
'util_displayHiddenVisually': !this.label
|
|
4095
|
-
};
|
|
4096
|
-
|
|
4097
|
-
const classes = {
|
|
4098
|
-
'label': this.label
|
|
4099
|
-
};
|
|
4100
|
-
|
|
4101
|
-
return x$1`
|
|
4102
|
-
<div
|
|
4103
|
-
class="${e(classes)}"
|
|
4104
|
-
title="${o(this.title || undefined)}">
|
|
4105
|
-
<span aria-hidden="${o(this.ariaHidden ? this.ariaHidden : true)}" part="svg">
|
|
4106
|
-
${this.customSvg ? x$1`
|
|
4107
|
-
<slot name="svg"></slot>
|
|
4108
|
-
` : x$1`
|
|
4109
|
-
${this.svg}
|
|
4110
|
-
`
|
|
4111
|
-
}
|
|
4112
|
-
</span>
|
|
4021
|
+
makeSelection() {
|
|
4022
|
+
if (!this.items) {
|
|
4023
|
+
this.initItems();
|
|
4024
|
+
}
|
|
4113
4025
|
|
|
4114
|
-
|
|
4115
|
-
|
|
4116
|
-
</div>
|
|
4117
|
-
</div>
|
|
4118
|
-
`;
|
|
4119
|
-
}
|
|
4120
|
-
}
|
|
4026
|
+
if (this.items[this.index] && !this.items[this.index].hasAttribute('disabled')) {
|
|
4027
|
+
this.resetOptionsStates();
|
|
4121
4028
|
|
|
4122
|
-
|
|
4029
|
+
if (this.index >= 0) {
|
|
4030
|
+
const option = this.items[this.index];
|
|
4123
4031
|
|
|
4124
|
-
|
|
4032
|
+
// only handle options that are not disabled, hidden or static
|
|
4033
|
+
if (option && this.optionInteractive(option)) {
|
|
4034
|
+
// fire custom event if defined otherwise make selection
|
|
4035
|
+
if (option.hasAttribute('event')) {
|
|
4036
|
+
this.dispatchEvent(new CustomEvent(option.getAttribute('event'), {
|
|
4037
|
+
bubbles: true,
|
|
4038
|
+
cancelable: false,
|
|
4039
|
+
composed: true,
|
|
4040
|
+
}));
|
|
4125
4041
|
|
|
4126
|
-
//
|
|
4127
|
-
|
|
4042
|
+
// this event needs to be removed after select and combobox are updated to use the new standard name
|
|
4043
|
+
this.dispatchEvent(new CustomEvent('auroMenuCustomEventFired', {
|
|
4044
|
+
bubbles: true,
|
|
4045
|
+
cancelable: false,
|
|
4046
|
+
composed: true,
|
|
4047
|
+
}));
|
|
4128
4048
|
|
|
4049
|
+
this.dispatchEvent(new CustomEvent('auroMenu-customEventFired', {
|
|
4050
|
+
bubbles: true,
|
|
4051
|
+
cancelable: false,
|
|
4052
|
+
composed: true,
|
|
4053
|
+
}));
|
|
4054
|
+
} else {
|
|
4055
|
+
this.handleLocalSelectState(option);
|
|
4056
|
+
}
|
|
4057
|
+
}
|
|
4058
|
+
}
|
|
4059
|
+
}
|
|
4129
4060
|
|
|
4130
|
-
|
|
4131
|
-
|
|
4132
|
-
*
|
|
4133
|
-
* @attr {String} value - Specifies the value to be sent to a server.
|
|
4134
|
-
* @attr {String} noCheckmark - When true, selected option will not show the checkmark.
|
|
4135
|
-
* @attr {Boolean} disabled - When true specifies that the menuoption is disabled.
|
|
4136
|
-
* @attr {Boolean} selected - Specifies that an option is selected.
|
|
4137
|
-
* @event auroMenuOption-mouseover - Notifies that this option has been hovered over.
|
|
4138
|
-
* @slot Specifies text for an option, but is not the value.
|
|
4139
|
-
*/
|
|
4140
|
-
class AuroMenuOption extends r$4 {
|
|
4141
|
-
constructor() {
|
|
4142
|
-
super();
|
|
4061
|
+
this.notifySelectionChange();
|
|
4062
|
+
}
|
|
4143
4063
|
|
|
4144
|
-
|
|
4145
|
-
|
|
4146
|
-
|
|
4147
|
-
|
|
4148
|
-
|
|
4064
|
+
/**
|
|
4065
|
+
* Manage ArrowDown, ArrowUp and Enter keyboard events.
|
|
4066
|
+
* @private
|
|
4067
|
+
* @param {Object} event - Event object from the browser.
|
|
4068
|
+
*/
|
|
4069
|
+
handleKeyDown(event) {
|
|
4070
|
+
event.preventDefault();
|
|
4149
4071
|
|
|
4150
|
-
|
|
4151
|
-
|
|
4152
|
-
|
|
4072
|
+
// With ArrowDown/ArrowUp events, pass new value to selectNextItem()
|
|
4073
|
+
// With Enter event, set value and apply attrs
|
|
4074
|
+
switch (event.key) {
|
|
4075
|
+
case "ArrowDown":
|
|
4076
|
+
this.selectNextItem('down');
|
|
4077
|
+
break;
|
|
4153
4078
|
|
|
4154
|
-
|
|
4155
|
-
|
|
4156
|
-
|
|
4157
|
-
this.tabIndex = -1;
|
|
4079
|
+
case "ArrowUp":
|
|
4080
|
+
this.selectNextItem('up');
|
|
4081
|
+
break;
|
|
4158
4082
|
|
|
4159
|
-
|
|
4160
|
-
|
|
4161
|
-
|
|
4162
|
-
|
|
4083
|
+
case "Enter":
|
|
4084
|
+
this.makeSelection();
|
|
4085
|
+
break;
|
|
4086
|
+
}
|
|
4163
4087
|
}
|
|
4164
4088
|
|
|
4165
|
-
|
|
4166
|
-
|
|
4167
|
-
|
|
4168
|
-
|
|
4169
|
-
|
|
4170
|
-
|
|
4171
|
-
|
|
4172
|
-
type: Boolean,
|
|
4173
|
-
reflect: true
|
|
4174
|
-
},
|
|
4175
|
-
disabled: {
|
|
4176
|
-
type: Boolean,
|
|
4177
|
-
reflect: true
|
|
4178
|
-
},
|
|
4179
|
-
value: {
|
|
4180
|
-
type: String,
|
|
4181
|
-
reflect: true
|
|
4182
|
-
},
|
|
4183
|
-
tabIndex: {
|
|
4184
|
-
type: Number,
|
|
4185
|
-
reflect: true
|
|
4186
|
-
}
|
|
4187
|
-
};
|
|
4089
|
+
/**
|
|
4090
|
+
* Initializes all menu options in the DOM. This must be re-run every time the options are changed.
|
|
4091
|
+
* @private
|
|
4092
|
+
*/
|
|
4093
|
+
initItems() {
|
|
4094
|
+
this.items = Array.from(this.querySelectorAll('auro-menuoption, [auro-menuoption]'));
|
|
4095
|
+
this.handleNoCheckmarkAttr();
|
|
4188
4096
|
}
|
|
4189
4097
|
|
|
4190
|
-
|
|
4191
|
-
|
|
4192
|
-
|
|
4193
|
-
|
|
4194
|
-
|
|
4195
|
-
|
|
4098
|
+
/**
|
|
4099
|
+
* Sets the index value of the selected item or first non-disabled menuoption.
|
|
4100
|
+
* @private
|
|
4101
|
+
*/
|
|
4102
|
+
getSelectedIndex() {
|
|
4103
|
+
// find the first `selected` and not `disabled`, `hidden` or `static` option
|
|
4104
|
+
const index = this.items.findIndex((option) => option.hasAttribute('selected') && this.optionInteractive(option));
|
|
4105
|
+
|
|
4106
|
+
if (index >= 0) {
|
|
4107
|
+
this.index = index;
|
|
4108
|
+
this.makeSelection();
|
|
4109
|
+
}
|
|
4196
4110
|
}
|
|
4197
4111
|
|
|
4198
4112
|
/**
|
|
4199
|
-
*
|
|
4200
|
-
*
|
|
4201
|
-
*
|
|
4202
|
-
* @example
|
|
4203
|
-
* AuroMenuOption.register("custom-menuoption") // this will register this element to <custom-menuoption/>
|
|
4113
|
+
* Using value of current this.index evaluates index
|
|
4114
|
+
* of next :focus to set based on array of this.items ignoring items
|
|
4115
|
+
* with disabled attr.
|
|
4204
4116
|
*
|
|
4117
|
+
* The event.target is not used as the function needs to know where to go,
|
|
4118
|
+
* versus knowing where it is.
|
|
4119
|
+
* @param {String} moveDirection - Up or Down based on keyboard event.
|
|
4205
4120
|
*/
|
|
4206
|
-
|
|
4207
|
-
|
|
4208
|
-
|
|
4121
|
+
selectNextItem(moveDirection) {
|
|
4122
|
+
if (this.index >= 0) {
|
|
4123
|
+
this.items[this.index].classList.remove('active');
|
|
4209
4124
|
|
|
4210
|
-
|
|
4211
|
-
|
|
4212
|
-
this.runtimeUtils.handleComponentTagRename(this, 'auro-menuoption');
|
|
4125
|
+
// calculate which is the selection we should focus next
|
|
4126
|
+
let increment = 0;
|
|
4213
4127
|
|
|
4214
|
-
|
|
4215
|
-
|
|
4128
|
+
if (moveDirection === 'down') {
|
|
4129
|
+
increment = 1;
|
|
4130
|
+
} else if (moveDirection === 'up') {
|
|
4131
|
+
increment = -1;
|
|
4132
|
+
}
|
|
4216
4133
|
|
|
4217
|
-
|
|
4218
|
-
this.dispatchEvent(new CustomEvent('auroMenuOption-mouseover', {
|
|
4219
|
-
bubbles: true,
|
|
4220
|
-
cancelable: false,
|
|
4221
|
-
composed: true,
|
|
4222
|
-
detail: this
|
|
4223
|
-
}));
|
|
4224
|
-
});
|
|
4225
|
-
}
|
|
4134
|
+
this.index += increment;
|
|
4226
4135
|
|
|
4227
|
-
|
|
4228
|
-
|
|
4229
|
-
|
|
4230
|
-
this.
|
|
4136
|
+
// keep looping inside the array of options
|
|
4137
|
+
if (this.index > this.items.length - 1) {
|
|
4138
|
+
this.index = 0;
|
|
4139
|
+
} else if (this.index < 0) {
|
|
4140
|
+
this.index = this.items.length - 1;
|
|
4141
|
+
}
|
|
4142
|
+
|
|
4143
|
+
// check if new index is disabled, static or hidden, if so, execute again
|
|
4144
|
+
if (!this.optionInteractive(this.items[this.index])) {
|
|
4145
|
+
this.selectNextItem(moveDirection);
|
|
4146
|
+
} else {
|
|
4147
|
+
// apply focus to new index
|
|
4148
|
+
this.updateActiveOption(this.index);
|
|
4149
|
+
}
|
|
4150
|
+
} else {
|
|
4151
|
+
this.index = 0;
|
|
4152
|
+
|
|
4153
|
+
if (this.items[this.index].hasAttribute('hidden') || this.items[this.index].hasAttribute('disabled')) {
|
|
4154
|
+
this.selectNextItem(moveDirection);
|
|
4155
|
+
} else {
|
|
4156
|
+
this.updateActiveOption(this.index);
|
|
4157
|
+
}
|
|
4231
4158
|
}
|
|
4232
4159
|
}
|
|
4233
4160
|
|
|
4234
4161
|
/**
|
|
4235
|
-
*
|
|
4236
|
-
*
|
|
4162
|
+
* Used for applying indentation to each level of nested menu.
|
|
4237
4163
|
* @private
|
|
4238
|
-
* @param {
|
|
4239
|
-
* @returns {Element} The HTML element containing the SVG icon.
|
|
4164
|
+
* @param {String} menu - Root level menu object.
|
|
4240
4165
|
*/
|
|
4241
|
-
|
|
4242
|
-
const
|
|
4243
|
-
const svg = dom.body.firstChild;
|
|
4166
|
+
handleNestedMenus(menu) {
|
|
4167
|
+
const nestedMenus = menu.querySelectorAll('auro-menu, [auro-menu');
|
|
4244
4168
|
|
|
4245
|
-
|
|
4169
|
+
if (nestedMenus.length === 0) {
|
|
4170
|
+
return;
|
|
4171
|
+
}
|
|
4246
4172
|
|
|
4247
|
-
|
|
4248
|
-
|
|
4173
|
+
nestedMenus.forEach((nestedMenu) => {
|
|
4174
|
+
const options = nestedMenu.querySelectorAll(':scope > auro-menuoption, :scope > [auro-menuoption');
|
|
4249
4175
|
|
|
4250
|
-
|
|
4251
|
-
|
|
4252
|
-
|
|
4253
|
-
<slot></slot>
|
|
4254
|
-
`;
|
|
4255
|
-
}
|
|
4256
|
-
}
|
|
4176
|
+
options.forEach((option) => {
|
|
4177
|
+
option.innerHTML = this.nestingSpacer + option.innerHTML;
|
|
4178
|
+
});
|
|
4257
4179
|
|
|
4258
|
-
|
|
4259
|
-
|
|
4180
|
+
this.handleNestedMenus(nestedMenu);
|
|
4181
|
+
});
|
|
4182
|
+
}
|
|
4260
4183
|
|
|
4184
|
+
/**
|
|
4185
|
+
* Method to apply `selected` attribute to `menuoption` via `value`.
|
|
4186
|
+
* @private
|
|
4187
|
+
* @param {String} value - Must match a unique `menuoption` value.
|
|
4188
|
+
*/
|
|
4189
|
+
selectByValue(value) {
|
|
4190
|
+
let valueMatch = false;
|
|
4191
|
+
if (!this.items) {
|
|
4192
|
+
this.initItems();
|
|
4193
|
+
}
|
|
4261
4194
|
|
|
4262
|
-
|
|
4263
|
-
/**
|
|
4264
|
-
* The auro-menu element provides users a way to select from a list of options.
|
|
4265
|
-
* @attr {Object} optionSelected - Specifies the current selected menuOption.
|
|
4266
|
-
* @attr {String} matchWord - Specifies the a string used to highlight matched string parts in options.
|
|
4267
|
-
* @attr {Boolean} disabled - When true, the entire menu and all options are disabled;
|
|
4268
|
-
* @attr {Boolean} noCheckmark - When true, selected option will not show the checkmark.
|
|
4269
|
-
* @attr {String} value - Value selected for the menu.
|
|
4270
|
-
* @event auroMenu-selectedOption - Notifies that a new menuoption selection has been made.
|
|
4271
|
-
* @event selectedOption - (DEPRECATED) Notifies that a new menuoption selection has been made.
|
|
4272
|
-
* @event auroMenu-activatedOption - Notifies that a menuoption has been made `active`.
|
|
4273
|
-
* @event auroMenuActivatedOption - (DEPRECATED) Notifies that a menuoption has been made `active`.
|
|
4274
|
-
* @event auroMenu-selectValueFailure - Notifies that a an attempt to select a menuoption by matching a value has failed.
|
|
4275
|
-
* @event auroMenuSelectValueFailure - (DEPRECATED) Notifies that a an attempt to select a menuoption by matching a value has failed.
|
|
4276
|
-
* @event auroMenu-customEventFired - Notifies that a custom event has been fired.
|
|
4277
|
-
* @event auroMenuCustomEventFired - (DEPRECATED) Notifies that a custom event has been fired.
|
|
4278
|
-
* @event auroMenu-selectValueReset - Notifies that the component value has been reset.
|
|
4279
|
-
* @slot Slot for insertion of menu options.
|
|
4280
|
-
*/
|
|
4195
|
+
this.index = undefined;
|
|
4281
4196
|
|
|
4282
|
-
|
|
4197
|
+
if (this.value && this.value.length > 0) {
|
|
4198
|
+
for (let index = 0; index < this.items.length; index += 1) {
|
|
4199
|
+
if (this.items[index].value === value) {
|
|
4200
|
+
valueMatch = true;
|
|
4201
|
+
this.index = index;
|
|
4202
|
+
}
|
|
4203
|
+
}
|
|
4283
4204
|
|
|
4284
|
-
|
|
4285
|
-
|
|
4286
|
-
|
|
4287
|
-
this.value = undefined;
|
|
4288
|
-
this.optionSelected = undefined;
|
|
4289
|
-
this.matchWord = undefined;
|
|
4290
|
-
this.noCheckmark = false;
|
|
4291
|
-
this.optionActive = undefined;
|
|
4205
|
+
if (!valueMatch) {
|
|
4206
|
+
// reset the menu to no selection
|
|
4207
|
+
this.index = undefined;
|
|
4292
4208
|
|
|
4293
|
-
|
|
4294
|
-
|
|
4295
|
-
|
|
4296
|
-
|
|
4209
|
+
// this event needs to be removed after select and combobox are updated to use the new standard name
|
|
4210
|
+
this.dispatchEvent(new CustomEvent('auroMenuSelectValueFailure', {
|
|
4211
|
+
bubbles: true,
|
|
4212
|
+
cancelable: false,
|
|
4213
|
+
composed: true,
|
|
4214
|
+
}));
|
|
4297
4215
|
|
|
4298
|
-
|
|
4299
|
-
|
|
4300
|
-
|
|
4301
|
-
|
|
4216
|
+
this.dispatchEvent(new CustomEvent('auroMenu-selectValueFailure', {
|
|
4217
|
+
bubbles: true,
|
|
4218
|
+
cancelable: false,
|
|
4219
|
+
composed: true,
|
|
4220
|
+
}));
|
|
4221
|
+
} else {
|
|
4222
|
+
this.makeSelection();
|
|
4223
|
+
}
|
|
4224
|
+
} else {
|
|
4225
|
+
this.resetOptionsStates();
|
|
4302
4226
|
|
|
4303
|
-
|
|
4304
|
-
|
|
4305
|
-
|
|
4306
|
-
|
|
4227
|
+
this.dispatchEvent(new CustomEvent('auroMenu-selectValueReset', {
|
|
4228
|
+
bubbles: true,
|
|
4229
|
+
cancelable: false,
|
|
4230
|
+
composed: true,
|
|
4231
|
+
}));
|
|
4232
|
+
}
|
|
4307
4233
|
}
|
|
4308
4234
|
|
|
4309
|
-
|
|
4310
|
-
|
|
4311
|
-
|
|
4312
|
-
|
|
4313
|
-
|
|
4314
|
-
|
|
4315
|
-
|
|
4316
|
-
|
|
4317
|
-
|
|
4318
|
-
|
|
4319
|
-
|
|
4320
|
-
|
|
4321
|
-
|
|
4322
|
-
|
|
4323
|
-
|
|
4235
|
+
/**
|
|
4236
|
+
* Used to make the active state for options follow mouseover.
|
|
4237
|
+
* @param {Number} index - Index of the menuoption that will be made active.
|
|
4238
|
+
* @private
|
|
4239
|
+
*/
|
|
4240
|
+
updateActiveOption(index) {
|
|
4241
|
+
this.items.forEach((item) => {
|
|
4242
|
+
item.classList.remove('active');
|
|
4243
|
+
});
|
|
4244
|
+
this.items[index].classList.add('active');
|
|
4245
|
+
this.optionActive = this.items[index];
|
|
4246
|
+
|
|
4247
|
+
this.dispatchEvent(new CustomEvent('auroMenuActivatedOption', {
|
|
4248
|
+
bubbles: true,
|
|
4249
|
+
cancelable: false,
|
|
4250
|
+
composed: true,
|
|
4251
|
+
detail: this.items[index]
|
|
4252
|
+
}));
|
|
4253
|
+
|
|
4254
|
+
this.dispatchEvent(new CustomEvent('auroMenu-activatedOption', {
|
|
4255
|
+
bubbles: true,
|
|
4256
|
+
cancelable: false,
|
|
4257
|
+
composed: true,
|
|
4258
|
+
detail: this.items[index]
|
|
4259
|
+
}));
|
|
4324
4260
|
}
|
|
4325
4261
|
|
|
4326
|
-
|
|
4327
|
-
|
|
4328
|
-
|
|
4329
|
-
|
|
4330
|
-
|
|
4331
|
-
|
|
4262
|
+
/**
|
|
4263
|
+
* Used to only make a selection when a menuoption is receiving a mousedown event.
|
|
4264
|
+
* @param {Event} evt - Mousedown event.
|
|
4265
|
+
* @private
|
|
4266
|
+
*/
|
|
4267
|
+
handleMenuMouseDown(evt) {
|
|
4268
|
+
if (evt.target !== this) {
|
|
4269
|
+
this.makeSelection();
|
|
4270
|
+
}
|
|
4332
4271
|
}
|
|
4333
4272
|
|
|
4334
4273
|
/**
|
|
4335
|
-
*
|
|
4336
|
-
* @param {string} [name="auro-menu"] - The name of element that you want to register to.
|
|
4274
|
+
* Checks if there are any loading placeholders in the component.
|
|
4337
4275
|
*
|
|
4338
|
-
*
|
|
4339
|
-
*
|
|
4276
|
+
* This getter evaluates the `loadingSlots` collection to determine if it contains any items.
|
|
4277
|
+
* If the size of the collection is greater than zero, it indicates the presence of loading
|
|
4278
|
+
* placeholders, returning true; otherwise, it returns false.
|
|
4340
4279
|
*
|
|
4341
|
-
|
|
4342
|
-
|
|
4343
|
-
|
|
4280
|
+
* @getter hasLoadingPlaceholder
|
|
4281
|
+
* @type {boolean}
|
|
4282
|
+
* @returns {boolean} Returns true if loading placeholders exist; false otherwise.
|
|
4283
|
+
*/
|
|
4284
|
+
get hasLoadingPlaceholder() {
|
|
4285
|
+
return this.loadingSlots.length > 0;
|
|
4344
4286
|
}
|
|
4345
4287
|
|
|
4346
4288
|
/**
|
|
4347
|
-
*
|
|
4289
|
+
* Used for @slotchange event on slotted element.
|
|
4348
4290
|
* @private
|
|
4349
|
-
* @returns {void}
|
|
4350
4291
|
*/
|
|
4351
|
-
|
|
4352
|
-
if
|
|
4353
|
-
|
|
4354
|
-
|
|
4355
|
-
|
|
4356
|
-
menu.setAttribute('noCheckmark', '');
|
|
4357
|
-
});
|
|
4292
|
+
handleSlotItems() {
|
|
4293
|
+
// Determine if this is the root of the menu/submenu layout.
|
|
4294
|
+
if (this.parentElement && this.parentElement.closest('auro-menu, [auro-menu]')) {
|
|
4295
|
+
this.rootMenu = false;
|
|
4296
|
+
}
|
|
4358
4297
|
|
|
4359
|
-
|
|
4298
|
+
// If this is the root menu (not a nested menu) handle events, states and styling.
|
|
4299
|
+
if (this.rootMenu) {
|
|
4300
|
+
this.initItems();
|
|
4301
|
+
this.setAttribute('role', 'listbox');
|
|
4302
|
+
this.setAttribute('root', '');
|
|
4303
|
+
this.handleNestedMenus(this);
|
|
4304
|
+
this.markOptions();
|
|
4305
|
+
this.index = -1;
|
|
4306
|
+
this.getSelectedIndex();
|
|
4360
4307
|
|
|
4361
|
-
|
|
4362
|
-
|
|
4308
|
+
this.addEventListener('keydown', this.handleKeyDown);
|
|
4309
|
+
this.addEventListener('mousedown', this.handleMenuMouseDown);
|
|
4310
|
+
this.addEventListener('auroMenuOption-mouseover', (evt) => {
|
|
4311
|
+
this.index = this.items.indexOf(evt.target);
|
|
4312
|
+
this.updateActiveOption(this.index);
|
|
4363
4313
|
});
|
|
4314
|
+
} else {
|
|
4315
|
+
// make sure to update all menuoption noCheckmark attributes when the menu is dynamically changed
|
|
4316
|
+
this.handleNoCheckmarkAttr();
|
|
4364
4317
|
}
|
|
4365
4318
|
}
|
|
4366
4319
|
|
|
4367
|
-
|
|
4368
|
-
|
|
4369
|
-
|
|
4370
|
-
|
|
4371
|
-
|
|
4320
|
+
render() {
|
|
4321
|
+
if (this.loading) {
|
|
4322
|
+
return x$1`
|
|
4323
|
+
<auro-menuoption disabled loadingplaceholder class="${this.hasLoadingPlaceholder ? '' : 'empty'}">
|
|
4324
|
+
<div>
|
|
4325
|
+
<slot name="loadingIcon"></slot>
|
|
4326
|
+
<slot name="loadingText"></slot>
|
|
4327
|
+
</div>
|
|
4328
|
+
</auro-menuoption>
|
|
4329
|
+
`;
|
|
4330
|
+
}
|
|
4331
|
+
return x$1`<slot @slotchange=${this.handleSlotItems}></slot>`;
|
|
4372
4332
|
}
|
|
4333
|
+
}
|
|
4373
4334
|
|
|
4374
|
-
|
|
4375
|
-
if (changedProperties.has('matchWord')) {
|
|
4376
|
-
this.markOptions();
|
|
4377
|
-
}
|
|
4335
|
+
var styleCss$1 = i$b`: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}`;
|
|
4378
4336
|
|
|
4379
|
-
|
|
4380
|
-
this.selectByValue(this.value);
|
|
4381
|
-
}
|
|
4337
|
+
var colorCss$1 = i$b`: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)}`;
|
|
4382
4338
|
|
|
4383
|
-
|
|
4384
|
-
|
|
4339
|
+
/**
|
|
4340
|
+
* @license
|
|
4341
|
+
* Copyright 2017 Google LLC
|
|
4342
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
4343
|
+
*/
|
|
4344
|
+
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)}}
|
|
4385
4345
|
|
|
4386
|
-
|
|
4387
|
-
|
|
4388
|
-
|
|
4389
|
-
|
|
4390
|
-
|
|
4346
|
+
/**
|
|
4347
|
+
* @license
|
|
4348
|
+
* Copyright 2018 Google LLC
|
|
4349
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
4350
|
+
*/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$1}});
|
|
4391
4351
|
|
|
4392
|
-
|
|
4393
|
-
|
|
4394
|
-
|
|
4395
|
-
|
|
4396
|
-
|
|
4397
|
-
optionInteractive(option) {
|
|
4398
|
-
return !option.hasAttribute('hidden') && !option.hasAttribute('disabled') && !option.hasAttribute('static');
|
|
4399
|
-
}
|
|
4352
|
+
/**
|
|
4353
|
+
* @license
|
|
4354
|
+
* Copyright 2018 Google LLC
|
|
4355
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
4356
|
+
*/const o=o=>o??E$1;
|
|
4400
4357
|
|
|
4401
|
-
|
|
4402
|
-
|
|
4403
|
-
* @returns {void} When called will update the DOM with visible suggest text matches.
|
|
4404
|
-
*/
|
|
4405
|
-
markOptions() {
|
|
4406
|
-
if (this.items && this.items.length > 0 && (this.matchWord && this.matchWord.length > 0)) {
|
|
4358
|
+
// Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
4359
|
+
// See LICENSE in the project root for license information.
|
|
4407
4360
|
|
|
4408
|
-
// Escape special regex characters
|
|
4409
|
-
const escapedWord = this.matchWord.replace(/[.*+?^${}()|[\]\\]/gu, '\\$&');
|
|
4410
4361
|
|
|
4411
|
-
|
|
4412
|
-
|
|
4362
|
+
/**
|
|
4363
|
+
* @attr {Boolean} hidden - If present, the component will be hidden both visually and from screen readers
|
|
4364
|
+
* @attr {Boolean} hiddenVisually - If present, the component will be hidden visually, but still read by screen readers
|
|
4365
|
+
* @attr {Boolean} hiddenAudible - If present, the component will be hidden from screen readers, but seen visually
|
|
4366
|
+
*/
|
|
4413
4367
|
|
|
4414
|
-
|
|
4415
|
-
if (this.optionInteractive(item) && !item.hasAttribute('persistent')) {
|
|
4416
|
-
const nested = item.querySelectorAll('.nestingSpacer');
|
|
4417
|
-
const nestingSpacerBundle = [...nested].map(() => this.nestingSpacer).join('');
|
|
4368
|
+
class AuroElement extends r$4 {
|
|
4418
4369
|
|
|
4419
|
-
|
|
4420
|
-
|
|
4421
|
-
|
|
4422
|
-
|
|
4370
|
+
// function to define props used within the scope of this component
|
|
4371
|
+
static get properties() {
|
|
4372
|
+
return {
|
|
4373
|
+
hidden: { type: Boolean,
|
|
4374
|
+
reflect: true },
|
|
4375
|
+
hiddenVisually: { type: Boolean,
|
|
4376
|
+
reflect: true },
|
|
4377
|
+
hiddenAudible: { type: Boolean,
|
|
4378
|
+
reflect: true },
|
|
4379
|
+
};
|
|
4423
4380
|
}
|
|
4424
4381
|
|
|
4425
4382
|
/**
|
|
4426
|
-
*
|
|
4383
|
+
* @private Function that determines state of aria-hidden
|
|
4427
4384
|
*/
|
|
4428
|
-
|
|
4429
|
-
|
|
4430
|
-
|
|
4431
|
-
this.items.forEach((item) => {
|
|
4432
|
-
item.classList.remove('active');
|
|
4433
|
-
item.removeAttribute('selected');
|
|
4434
|
-
});
|
|
4385
|
+
hideAudible(value) {
|
|
4386
|
+
if (value) {
|
|
4387
|
+
return 'true'
|
|
4435
4388
|
}
|
|
4389
|
+
|
|
4390
|
+
return 'false'
|
|
4436
4391
|
}
|
|
4392
|
+
}
|
|
4437
4393
|
|
|
4438
|
-
|
|
4439
|
-
* Set the attributes on the selected menuoption, the menu value and stored option.
|
|
4440
|
-
* @param {Object} option - The menuoption to be selected.
|
|
4441
|
-
* @private
|
|
4442
|
-
*/
|
|
4443
|
-
handleLocalSelectState(option) {
|
|
4444
|
-
option.setAttribute('selected', '');
|
|
4445
|
-
option.classList.add('active');
|
|
4446
|
-
option.ariaSelected = true;
|
|
4394
|
+
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>"};
|
|
4447
4395
|
|
|
4448
|
-
|
|
4449
|
-
this.optionSelected = option;
|
|
4450
|
-
this.index = this.items.indexOf(option);
|
|
4451
|
-
}
|
|
4396
|
+
/* eslint-disable no-underscore-dangle, jsdoc/no-undefined-types, jsdoc/require-param-description */
|
|
4452
4397
|
|
|
4453
|
-
|
|
4454
|
-
* Notify selection change.
|
|
4455
|
-
* @private
|
|
4456
|
-
* @return {void}
|
|
4457
|
-
*/
|
|
4458
|
-
notifySelectionChange() {
|
|
4459
|
-
// this event needs to be removed after select and combobox are updated to use the new standard name
|
|
4460
|
-
this.dispatchEvent(new CustomEvent('selectedOption', {
|
|
4461
|
-
bubbles: true,
|
|
4462
|
-
cancelable: false,
|
|
4463
|
-
composed: true,
|
|
4464
|
-
}));
|
|
4398
|
+
const _fetchMap = new Map();
|
|
4465
4399
|
|
|
4466
|
-
|
|
4467
|
-
|
|
4468
|
-
|
|
4469
|
-
|
|
4470
|
-
|
|
4400
|
+
/**
|
|
4401
|
+
* A callback to parse Response body.
|
|
4402
|
+
*
|
|
4403
|
+
* @callback ResponseParser
|
|
4404
|
+
* @param {Fetch.Response} response
|
|
4405
|
+
* @returns {Promise}
|
|
4406
|
+
*/
|
|
4407
|
+
|
|
4408
|
+
/**
|
|
4409
|
+
* A minimal in-memory map to de-duplicate Fetch API media requests.
|
|
4410
|
+
*
|
|
4411
|
+
* @param {String} uri
|
|
4412
|
+
* @param {Object} [options={}]
|
|
4413
|
+
* @param {ResponseParser} [options.responseParser=(response) => response.text()]
|
|
4414
|
+
* @returns {Promise}
|
|
4415
|
+
*/
|
|
4416
|
+
const cacheFetch = (uri, options = {}) => {
|
|
4417
|
+
const responseParser = options.responseParser || ((response) => response.text());
|
|
4418
|
+
if (!_fetchMap.has(uri)) {
|
|
4419
|
+
_fetchMap.set(uri, fetch(uri).then(responseParser));
|
|
4471
4420
|
}
|
|
4421
|
+
return _fetchMap.get(uri);
|
|
4422
|
+
};
|
|
4472
4423
|
|
|
4473
|
-
|
|
4474
|
-
* Process actions for making making a menuoption selection.
|
|
4475
|
-
*/
|
|
4476
|
-
makeSelection() {
|
|
4477
|
-
if (!this.items) {
|
|
4478
|
-
this.initItems();
|
|
4479
|
-
}
|
|
4424
|
+
var styleCss = i$b`*,*: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}`;
|
|
4480
4425
|
|
|
4481
|
-
|
|
4482
|
-
|
|
4426
|
+
// Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
4427
|
+
// See LICENSE in the project root for license information.
|
|
4483
4428
|
|
|
4484
|
-
if (this.index >= 0) {
|
|
4485
|
-
const option = this.items[this.index];
|
|
4486
4429
|
|
|
4487
|
-
|
|
4488
|
-
|
|
4489
|
-
|
|
4490
|
-
|
|
4491
|
-
|
|
4492
|
-
bubbles: true,
|
|
4493
|
-
cancelable: false,
|
|
4494
|
-
composed: true,
|
|
4495
|
-
}));
|
|
4430
|
+
// See https://git.io/JJ6SJ for "How to document your components using JSDoc"
|
|
4431
|
+
/**
|
|
4432
|
+
* @attr {Boolean} onDark - Set value for on-dark version of auro-icon
|
|
4433
|
+
* @slot - Hidden from visibility, used for a11y if icon description is needed
|
|
4434
|
+
*/
|
|
4496
4435
|
|
|
4497
|
-
|
|
4498
|
-
|
|
4499
|
-
|
|
4500
|
-
|
|
4501
|
-
|
|
4502
|
-
|
|
4436
|
+
// build the component class
|
|
4437
|
+
class BaseIcon extends AuroElement {
|
|
4438
|
+
constructor() {
|
|
4439
|
+
super();
|
|
4440
|
+
this.onDark = false;
|
|
4441
|
+
}
|
|
4503
4442
|
|
|
4504
|
-
|
|
4505
|
-
|
|
4506
|
-
|
|
4507
|
-
|
|
4508
|
-
|
|
4509
|
-
|
|
4510
|
-
|
|
4511
|
-
|
|
4512
|
-
|
|
4443
|
+
// function to define props used within the scope of this component
|
|
4444
|
+
static get properties() {
|
|
4445
|
+
return {
|
|
4446
|
+
...super.properties,
|
|
4447
|
+
onDark: {
|
|
4448
|
+
type: Boolean,
|
|
4449
|
+
reflect: true
|
|
4450
|
+
},
|
|
4451
|
+
|
|
4452
|
+
/**
|
|
4453
|
+
* @private
|
|
4454
|
+
*/
|
|
4455
|
+
svg: {
|
|
4456
|
+
attribute: false,
|
|
4457
|
+
reflect: true
|
|
4513
4458
|
}
|
|
4514
|
-
}
|
|
4459
|
+
};
|
|
4460
|
+
}
|
|
4515
4461
|
|
|
4516
|
-
|
|
4462
|
+
static get styles() {
|
|
4463
|
+
return i$b`
|
|
4464
|
+
${styleCss}
|
|
4465
|
+
`;
|
|
4517
4466
|
}
|
|
4518
4467
|
|
|
4519
4468
|
/**
|
|
4520
|
-
*
|
|
4469
|
+
* Async function to fetch requested icon from npm CDN.
|
|
4521
4470
|
* @private
|
|
4522
|
-
* @param {
|
|
4471
|
+
* @param {string} category - Icon category.
|
|
4472
|
+
* @param {string} name - Icon name.
|
|
4473
|
+
* @returns {SVGElement} DOM - Ready HTML to be appended.
|
|
4523
4474
|
*/
|
|
4524
|
-
|
|
4525
|
-
|
|
4475
|
+
async fetchIcon(category, name) {
|
|
4476
|
+
let iconHTML = '';
|
|
4526
4477
|
|
|
4527
|
-
|
|
4528
|
-
|
|
4529
|
-
|
|
4530
|
-
|
|
4531
|
-
|
|
4532
|
-
break;
|
|
4478
|
+
if (category === 'logos') {
|
|
4479
|
+
iconHTML = await cacheFetch(`${this.uri}/${category}/${name}.svg`);
|
|
4480
|
+
} else {
|
|
4481
|
+
iconHTML = await cacheFetch(`${this.uri}/icons/${category}/${name}.svg`);
|
|
4482
|
+
}
|
|
4533
4483
|
|
|
4534
|
-
|
|
4535
|
-
this.selectNextItem('up');
|
|
4536
|
-
break;
|
|
4484
|
+
const dom = new DOMParser().parseFromString(iconHTML, 'text/html');
|
|
4537
4485
|
|
|
4538
|
-
|
|
4539
|
-
|
|
4540
|
-
|
|
4486
|
+
return dom.body.querySelector('svg');
|
|
4487
|
+
}
|
|
4488
|
+
|
|
4489
|
+
// lifecycle function
|
|
4490
|
+
async firstUpdated() {
|
|
4491
|
+
if (!this.customSvg) {
|
|
4492
|
+
const svg = await this.fetchIcon(this.category, this.name);
|
|
4493
|
+
|
|
4494
|
+
if (svg) {
|
|
4495
|
+
this.svg = svg;
|
|
4496
|
+
} else if (!svg) {
|
|
4497
|
+
const penDOM = new DOMParser().parseFromString(error.svg, 'text/html');
|
|
4498
|
+
|
|
4499
|
+
this.svg = penDOM.body.firstChild;
|
|
4500
|
+
}
|
|
4541
4501
|
}
|
|
4542
4502
|
}
|
|
4503
|
+
}
|
|
4543
4504
|
|
|
4544
|
-
|
|
4545
|
-
|
|
4546
|
-
|
|
4547
|
-
|
|
4548
|
-
|
|
4549
|
-
|
|
4550
|
-
|
|
4505
|
+
var tokensCss = i$b`: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)}`;
|
|
4506
|
+
|
|
4507
|
+
var colorCss = i$b`: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)}`;
|
|
4508
|
+
|
|
4509
|
+
// Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
4510
|
+
// See LICENSE in the project root for license information.
|
|
4511
|
+
|
|
4512
|
+
|
|
4513
|
+
// See https://git.io/JJ6SJ for "How to document your components using JSDoc"
|
|
4514
|
+
/**
|
|
4515
|
+
* auro-icon provides users a way to use the Auro Icons by simply passing in the category and name.
|
|
4516
|
+
*
|
|
4517
|
+
* @attr {String} category - The category of the icon you are looking for. See https://auro.alaskaair.com/icons/usage.
|
|
4518
|
+
* @attr {String} name - The name of the icon you are looking for without the file extension. See https://auro.alaskaair.com/icons/usage
|
|
4519
|
+
* @attr {Boolean} customColor - Removes primary selector.
|
|
4520
|
+
* @attr {Boolean} customSvg - When true, auro-icon will render a custom SVG inside the default slot.
|
|
4521
|
+
* @attr {Boolean} label - Exposes content in slot as icon label.
|
|
4522
|
+
* @attr {Boolean} primary - DEPRECATED: Sets the icon to use the baseline primary icon style.
|
|
4523
|
+
* @attr {Boolean} accent - Sets the icon to use the accent style.
|
|
4524
|
+
* @attr {Boolean} emphasis - Sets the icon to use the emphasis style.
|
|
4525
|
+
* @attr {Boolean} disabled - Sets the icon to use the disabled style.
|
|
4526
|
+
* @attr {Boolean} error - Sets the icon to use the error style.
|
|
4527
|
+
* @attr {Boolean} info - Sets the icon to use the info style.
|
|
4528
|
+
* @attr {Boolean} secondary - Sets the icon to use the secondary style.
|
|
4529
|
+
* @attr {Boolean} tertiary - Sets the icon to use the tertiary style.
|
|
4530
|
+
* @attr {Boolean} subtle - Sets the icon to use the subtle style.
|
|
4531
|
+
* @attr {Boolean} success - Sets the icon to use the success style.
|
|
4532
|
+
* @attr {Boolean} warning - Sets the icon to use the warning style.
|
|
4533
|
+
* @attr {String} ariaHidden - Set aria-hidden value. Default is `true`. Option is `false`.
|
|
4534
|
+
* @attr {String} uri - Set the uri for CDN used when fetching icons
|
|
4535
|
+
* @slot - Hidden from visibility, used for a11y if icon description is needed.
|
|
4536
|
+
* @slot svg - Used for custom SVG content.
|
|
4537
|
+
*/
|
|
4538
|
+
|
|
4539
|
+
// build the component class
|
|
4540
|
+
class AuroIcon extends BaseIcon {
|
|
4541
|
+
constructor() {
|
|
4542
|
+
super();
|
|
4543
|
+
|
|
4544
|
+
this.uri = 'https://cdn.jsdelivr.net/npm/@alaskaairux/icons@latest/dist';
|
|
4545
|
+
|
|
4546
|
+
this.privateDefaults();
|
|
4551
4547
|
}
|
|
4552
4548
|
|
|
4553
4549
|
/**
|
|
4554
|
-
*
|
|
4550
|
+
* Internal Defaults.
|
|
4555
4551
|
* @private
|
|
4552
|
+
* @returns {void}
|
|
4556
4553
|
*/
|
|
4557
|
-
|
|
4558
|
-
|
|
4559
|
-
|
|
4554
|
+
privateDefaults() {
|
|
4555
|
+
this.accent = false;
|
|
4556
|
+
this.customColor = false;
|
|
4557
|
+
this.customSvg = false;
|
|
4558
|
+
this.disabled = false;
|
|
4559
|
+
this.emphasis = false;
|
|
4560
|
+
this.error = false;
|
|
4561
|
+
this.info = false;
|
|
4562
|
+
this.label = false;
|
|
4563
|
+
this.primary = false;
|
|
4564
|
+
this.secondary = false;
|
|
4565
|
+
this.subtle = false;
|
|
4566
|
+
this.success = false;
|
|
4567
|
+
this.tertiary = false;
|
|
4568
|
+
this.warning = false;
|
|
4569
|
+
this.runtimeUtils = new AuroLibraryRuntimeUtils$1();
|
|
4570
|
+
}
|
|
4560
4571
|
|
|
4561
|
-
|
|
4562
|
-
|
|
4563
|
-
|
|
4564
|
-
|
|
4572
|
+
// function to define props used within the scope of this component
|
|
4573
|
+
static get properties() {
|
|
4574
|
+
return {
|
|
4575
|
+
...super.properties,
|
|
4576
|
+
accent: {
|
|
4577
|
+
type: Boolean,
|
|
4578
|
+
reflect: true
|
|
4579
|
+
},
|
|
4580
|
+
ariaHidden: {
|
|
4581
|
+
type: String,
|
|
4582
|
+
reflect: true
|
|
4583
|
+
},
|
|
4584
|
+
category: {
|
|
4585
|
+
type: String,
|
|
4586
|
+
reflect: true
|
|
4587
|
+
},
|
|
4588
|
+
customColor: {
|
|
4589
|
+
type: Boolean
|
|
4590
|
+
},
|
|
4591
|
+
customSvg: {
|
|
4592
|
+
type: Boolean
|
|
4593
|
+
},
|
|
4594
|
+
disabled: {
|
|
4595
|
+
type: Boolean,
|
|
4596
|
+
reflect: true
|
|
4597
|
+
},
|
|
4598
|
+
emphasis: {
|
|
4599
|
+
type: Boolean,
|
|
4600
|
+
reflect: true
|
|
4601
|
+
},
|
|
4602
|
+
error: {
|
|
4603
|
+
type: Boolean,
|
|
4604
|
+
reflect: true
|
|
4605
|
+
},
|
|
4606
|
+
info: {
|
|
4607
|
+
type: Boolean,
|
|
4608
|
+
reflect: true
|
|
4609
|
+
},
|
|
4610
|
+
label: {
|
|
4611
|
+
type: Boolean,
|
|
4612
|
+
reflect: true
|
|
4613
|
+
},
|
|
4614
|
+
name: {
|
|
4615
|
+
type: String,
|
|
4616
|
+
reflect: true
|
|
4617
|
+
},
|
|
4618
|
+
primary: {
|
|
4619
|
+
type: Boolean,
|
|
4620
|
+
reflect: true
|
|
4621
|
+
},
|
|
4622
|
+
secondary: {
|
|
4623
|
+
type: Boolean,
|
|
4624
|
+
reflect: true
|
|
4625
|
+
},
|
|
4626
|
+
subtle: {
|
|
4627
|
+
type: Boolean,
|
|
4628
|
+
reflect: true
|
|
4629
|
+
},
|
|
4630
|
+
success: {
|
|
4631
|
+
type: Boolean,
|
|
4632
|
+
reflect: true
|
|
4633
|
+
},
|
|
4634
|
+
tertiary: {
|
|
4635
|
+
type: Boolean,
|
|
4636
|
+
reflect: true
|
|
4637
|
+
},
|
|
4638
|
+
uri: {
|
|
4639
|
+
type: String
|
|
4640
|
+
},
|
|
4641
|
+
warning: {
|
|
4642
|
+
type: Boolean,
|
|
4643
|
+
reflect: true
|
|
4644
|
+
}
|
|
4645
|
+
};
|
|
4646
|
+
}
|
|
4647
|
+
|
|
4648
|
+
static get styles() {
|
|
4649
|
+
return [
|
|
4650
|
+
super.styles,
|
|
4651
|
+
i$b`${tokensCss}`,
|
|
4652
|
+
i$b`${styleCss}`,
|
|
4653
|
+
i$b`${colorCss}`
|
|
4654
|
+
];
|
|
4565
4655
|
}
|
|
4566
4656
|
|
|
4567
4657
|
/**
|
|
4568
|
-
*
|
|
4569
|
-
*
|
|
4570
|
-
*
|
|
4658
|
+
* This will register this element with the browser.
|
|
4659
|
+
* @param {string} [name="auro-icon"] - The name of element that you want to register to.
|
|
4660
|
+
*
|
|
4661
|
+
* @example
|
|
4662
|
+
* AuroIcon.register("custom-icon") // this will register this element to <custom-icon/>
|
|
4571
4663
|
*
|
|
4572
|
-
* The event.target is not used as the function needs to know where to go,
|
|
4573
|
-
* versus knowing where it is.
|
|
4574
|
-
* @param {String} moveDirection - Up or Down based on keyboard event.
|
|
4575
4664
|
*/
|
|
4576
|
-
|
|
4577
|
-
|
|
4578
|
-
|
|
4579
|
-
|
|
4580
|
-
// calculate which is the selection we should focus next
|
|
4581
|
-
let increment = 0;
|
|
4582
|
-
|
|
4583
|
-
if (moveDirection === 'down') {
|
|
4584
|
-
increment = 1;
|
|
4585
|
-
} else if (moveDirection === 'up') {
|
|
4586
|
-
increment = -1;
|
|
4587
|
-
}
|
|
4588
|
-
|
|
4589
|
-
this.index += increment;
|
|
4590
|
-
|
|
4591
|
-
// keep looping inside the array of options
|
|
4592
|
-
if (this.index > this.items.length - 1) {
|
|
4593
|
-
this.index = 0;
|
|
4594
|
-
} else if (this.index < 0) {
|
|
4595
|
-
this.index = this.items.length - 1;
|
|
4596
|
-
}
|
|
4665
|
+
static register(name = "auro-icon") {
|
|
4666
|
+
AuroLibraryRuntimeUtils$1.prototype.registerComponent(name, AuroIcon);
|
|
4667
|
+
}
|
|
4597
4668
|
|
|
4598
|
-
|
|
4599
|
-
|
|
4600
|
-
this.selectNextItem(moveDirection);
|
|
4601
|
-
} else {
|
|
4602
|
-
// apply focus to new index
|
|
4603
|
-
this.updateActiveOption(this.index);
|
|
4604
|
-
}
|
|
4605
|
-
} else {
|
|
4606
|
-
this.index = 0;
|
|
4669
|
+
connectedCallback() {
|
|
4670
|
+
super.connectedCallback();
|
|
4607
4671
|
|
|
4608
|
-
|
|
4609
|
-
|
|
4610
|
-
} else {
|
|
4611
|
-
this.updateActiveOption(this.index);
|
|
4612
|
-
}
|
|
4613
|
-
}
|
|
4672
|
+
// Add the tag name as an attribute if it is different than the component name
|
|
4673
|
+
this.runtimeUtils.handleComponentTagRename(this, 'auro-icon');
|
|
4614
4674
|
}
|
|
4615
4675
|
|
|
4616
4676
|
/**
|
|
4617
|
-
*
|
|
4618
|
-
* @private
|
|
4619
|
-
* @param {String} menu - Root level menu object.
|
|
4677
|
+
* @returns {void} Exposes CSS parts for styling from parent components.
|
|
4620
4678
|
*/
|
|
4621
|
-
|
|
4622
|
-
|
|
4679
|
+
exposeCssParts() {
|
|
4680
|
+
this.setAttribute('exportparts', 'svg:iconSvg');
|
|
4681
|
+
}
|
|
4623
4682
|
|
|
4624
|
-
|
|
4625
|
-
|
|
4626
|
-
|
|
4683
|
+
// function that renders the HTML and CSS into the scope of the component
|
|
4684
|
+
render() {
|
|
4685
|
+
const a11y = {
|
|
4686
|
+
'labelContainer': true,
|
|
4687
|
+
'util_displayHiddenVisually': !this.label
|
|
4688
|
+
};
|
|
4627
4689
|
|
|
4628
|
-
|
|
4629
|
-
|
|
4690
|
+
const classes = {
|
|
4691
|
+
'label': this.label
|
|
4692
|
+
};
|
|
4630
4693
|
|
|
4631
|
-
|
|
4632
|
-
|
|
4633
|
-
|
|
4694
|
+
return x$1`
|
|
4695
|
+
<div
|
|
4696
|
+
class="${e(classes)}"
|
|
4697
|
+
title="${o(this.title || undefined)}">
|
|
4698
|
+
<span aria-hidden="${o(this.ariaHidden ? this.ariaHidden : true)}" part="svg">
|
|
4699
|
+
${this.customSvg ? x$1`
|
|
4700
|
+
<slot name="svg"></slot>
|
|
4701
|
+
` : x$1`
|
|
4702
|
+
${this.svg}
|
|
4703
|
+
`
|
|
4704
|
+
}
|
|
4705
|
+
</span>
|
|
4634
4706
|
|
|
4635
|
-
|
|
4636
|
-
|
|
4707
|
+
<div class="${e(a11y)}">
|
|
4708
|
+
<slot></slot>
|
|
4709
|
+
</div>
|
|
4710
|
+
</div>
|
|
4711
|
+
`;
|
|
4637
4712
|
}
|
|
4713
|
+
}
|
|
4638
4714
|
|
|
4639
|
-
|
|
4640
|
-
* Method to apply `selected` attribute to `menuoption` via `value`.
|
|
4641
|
-
* @private
|
|
4642
|
-
* @param {String} value - Must match a unique `menuoption` value.
|
|
4643
|
-
*/
|
|
4644
|
-
selectByValue(value) {
|
|
4645
|
-
let valueMatch = false;
|
|
4646
|
-
if (!this.items) {
|
|
4647
|
-
this.initItems();
|
|
4648
|
-
}
|
|
4715
|
+
var iconVersion = '6.1.1';
|
|
4649
4716
|
|
|
4650
|
-
|
|
4717
|
+
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>"};
|
|
4651
4718
|
|
|
4652
|
-
|
|
4653
|
-
|
|
4654
|
-
if (this.items[index].value === value) {
|
|
4655
|
-
valueMatch = true;
|
|
4656
|
-
this.index = index;
|
|
4657
|
-
}
|
|
4658
|
-
}
|
|
4719
|
+
// Copyright (c) 2021 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
4720
|
+
// See LICENSE in the project root for license information.
|
|
4659
4721
|
|
|
4660
|
-
if (!valueMatch) {
|
|
4661
|
-
// reset the menu to no selection
|
|
4662
|
-
this.index = undefined;
|
|
4663
4722
|
|
|
4664
|
-
|
|
4665
|
-
|
|
4666
|
-
|
|
4667
|
-
|
|
4668
|
-
|
|
4669
|
-
|
|
4723
|
+
/**
|
|
4724
|
+
* The auro-menu element provides users a way to define a menu option.
|
|
4725
|
+
*
|
|
4726
|
+
* @attr {String} value - Specifies the value to be sent to a server.
|
|
4727
|
+
* @attr {String} noCheckmark - When true, selected option will not show the checkmark.
|
|
4728
|
+
* @attr {Boolean} disabled - When true specifies that the menuoption is disabled.
|
|
4729
|
+
* @attr {Boolean} selected - Specifies that an option is selected.
|
|
4730
|
+
* @event auroMenuOption-mouseover - Notifies that this option has been hovered over.
|
|
4731
|
+
* @slot - Specifies text for an option, but is not the value.
|
|
4732
|
+
*/
|
|
4733
|
+
class AuroMenuOption extends r$4 {
|
|
4734
|
+
constructor() {
|
|
4735
|
+
super();
|
|
4670
4736
|
|
|
4671
|
-
|
|
4672
|
-
|
|
4673
|
-
|
|
4674
|
-
|
|
4675
|
-
|
|
4676
|
-
|
|
4677
|
-
|
|
4737
|
+
/**
|
|
4738
|
+
* Generate unique names for dependency components.
|
|
4739
|
+
*/
|
|
4740
|
+
const versioning = new AuroDependencyVersioning$1();
|
|
4741
|
+
this.iconTag = versioning.generateTag('auro-icon', iconVersion, AuroIcon);
|
|
4742
|
+
|
|
4743
|
+
this.selected = false;
|
|
4744
|
+
this.nocheckmark = false;
|
|
4745
|
+
this.disabled = false;
|
|
4746
|
+
|
|
4747
|
+
/**
|
|
4748
|
+
* @private
|
|
4749
|
+
*/
|
|
4750
|
+
this.tabIndex = -1;
|
|
4751
|
+
|
|
4752
|
+
/**
|
|
4753
|
+
* @private
|
|
4754
|
+
*/
|
|
4755
|
+
this.runtimeUtils = new AuroLibraryRuntimeUtils$1();
|
|
4756
|
+
}
|
|
4757
|
+
|
|
4758
|
+
static get properties() {
|
|
4759
|
+
return {
|
|
4760
|
+
nocheckmark: {
|
|
4761
|
+
type: Boolean,
|
|
4762
|
+
reflect: true
|
|
4763
|
+
},
|
|
4764
|
+
selected: {
|
|
4765
|
+
type: Boolean,
|
|
4766
|
+
reflect: true
|
|
4767
|
+
},
|
|
4768
|
+
disabled: {
|
|
4769
|
+
type: Boolean,
|
|
4770
|
+
reflect: true
|
|
4771
|
+
},
|
|
4772
|
+
value: {
|
|
4773
|
+
type: String,
|
|
4774
|
+
reflect: true
|
|
4775
|
+
},
|
|
4776
|
+
tabIndex: {
|
|
4777
|
+
type: Number,
|
|
4778
|
+
reflect: true
|
|
4678
4779
|
}
|
|
4679
|
-
}
|
|
4680
|
-
|
|
4780
|
+
};
|
|
4781
|
+
}
|
|
4681
4782
|
|
|
4682
|
-
|
|
4683
|
-
|
|
4684
|
-
|
|
4685
|
-
|
|
4686
|
-
|
|
4687
|
-
|
|
4783
|
+
static get styles() {
|
|
4784
|
+
return [
|
|
4785
|
+
styleCss$1,
|
|
4786
|
+
colorCss$1,
|
|
4787
|
+
tokensCss$1
|
|
4788
|
+
];
|
|
4688
4789
|
}
|
|
4689
4790
|
|
|
4690
4791
|
/**
|
|
4691
|
-
*
|
|
4692
|
-
* @param {
|
|
4693
|
-
*
|
|
4792
|
+
* This will register this element with the browser.
|
|
4793
|
+
* @param {string} [name="auro-menuoption"] - The name of element that you want to register to.
|
|
4794
|
+
*
|
|
4795
|
+
* @example
|
|
4796
|
+
* AuroMenuOption.register("custom-menuoption") // this will register this element to <custom-menuoption/>
|
|
4797
|
+
*
|
|
4694
4798
|
*/
|
|
4695
|
-
|
|
4696
|
-
|
|
4697
|
-
|
|
4698
|
-
});
|
|
4699
|
-
this.items[index].classList.add('active');
|
|
4700
|
-
this.optionActive = this.items[index];
|
|
4799
|
+
static register(name = "auro-menuoption") {
|
|
4800
|
+
AuroLibraryRuntimeUtils$1.prototype.registerComponent(name, AuroMenuOption);
|
|
4801
|
+
}
|
|
4701
4802
|
|
|
4702
|
-
|
|
4703
|
-
|
|
4704
|
-
|
|
4705
|
-
composed: true,
|
|
4706
|
-
detail: this.items[index]
|
|
4707
|
-
}));
|
|
4803
|
+
firstUpdated() {
|
|
4804
|
+
// Add the tag name as an attribute if it is different than the component name
|
|
4805
|
+
this.runtimeUtils.handleComponentTagRename(this, 'auro-menuoption');
|
|
4708
4806
|
|
|
4709
|
-
this.
|
|
4710
|
-
|
|
4711
|
-
|
|
4712
|
-
|
|
4713
|
-
|
|
4714
|
-
|
|
4807
|
+
this.setAttribute('role', 'option');
|
|
4808
|
+
this.setAttribute('aria-selected', 'false');
|
|
4809
|
+
|
|
4810
|
+
this.addEventListener('mouseover', () => {
|
|
4811
|
+
this.dispatchEvent(new CustomEvent('auroMenuOption-mouseover', {
|
|
4812
|
+
bubbles: true,
|
|
4813
|
+
cancelable: false,
|
|
4814
|
+
composed: true,
|
|
4815
|
+
detail: this
|
|
4816
|
+
}));
|
|
4817
|
+
});
|
|
4715
4818
|
}
|
|
4716
4819
|
|
|
4717
|
-
|
|
4718
|
-
|
|
4719
|
-
|
|
4720
|
-
|
|
4721
|
-
*/
|
|
4722
|
-
handleMenuMouseDown(evt) {
|
|
4723
|
-
if (evt.target !== this) {
|
|
4724
|
-
this.makeSelection();
|
|
4820
|
+
// observer for selected property changes
|
|
4821
|
+
updated(changedProperties) {
|
|
4822
|
+
if (changedProperties.has('selected')) {
|
|
4823
|
+
this.setAttribute('aria-selected', this.selected.toString());
|
|
4725
4824
|
}
|
|
4726
4825
|
}
|
|
4727
4826
|
|
|
4728
4827
|
/**
|
|
4729
|
-
*
|
|
4828
|
+
* Generates an HTML element containing an SVG icon based on the provided `svgContent`.
|
|
4829
|
+
*
|
|
4730
4830
|
* @private
|
|
4831
|
+
* @param {string} svgContent - The SVG content to be embedded.
|
|
4832
|
+
* @returns {Element} The HTML element containing the SVG icon.
|
|
4731
4833
|
*/
|
|
4732
|
-
|
|
4733
|
-
|
|
4734
|
-
|
|
4735
|
-
this.rootMenu = false;
|
|
4736
|
-
}
|
|
4834
|
+
generateIconHtml(svgContent) {
|
|
4835
|
+
const dom = new DOMParser().parseFromString(svgContent, 'text/html');
|
|
4836
|
+
const svg = dom.body.firstChild;
|
|
4737
4837
|
|
|
4738
|
-
|
|
4739
|
-
if (this.rootMenu) {
|
|
4740
|
-
this.initItems();
|
|
4741
|
-
this.setAttribute('role', 'listbox');
|
|
4742
|
-
this.setAttribute('root', '');
|
|
4743
|
-
this.handleNestedMenus(this);
|
|
4744
|
-
this.markOptions();
|
|
4745
|
-
this.index = -1;
|
|
4746
|
-
this.getSelectedIndex();
|
|
4838
|
+
svg.setAttribute('slot', 'svg');
|
|
4747
4839
|
|
|
4748
|
-
|
|
4749
|
-
this.addEventListener('mousedown', this.handleMenuMouseDown);
|
|
4750
|
-
this.addEventListener('auroMenuOption-mouseover', (evt) => {
|
|
4751
|
-
this.index = this.items.indexOf(evt.target);
|
|
4752
|
-
this.updateActiveOption(this.index);
|
|
4753
|
-
});
|
|
4754
|
-
} else {
|
|
4755
|
-
// make sure to update all menuoption noCheckmark attributes when the menu is dynamically changed
|
|
4756
|
-
this.handleNoCheckmarkAttr();
|
|
4757
|
-
}
|
|
4840
|
+
return u$3`<${this.iconTag} customColor customSvg slot="icon">${svg}</${this.iconTag}>`;
|
|
4758
4841
|
}
|
|
4759
4842
|
|
|
4760
4843
|
render() {
|
|
4761
|
-
return
|
|
4762
|
-
|
|
4844
|
+
return u$3`
|
|
4845
|
+
${this.selected && !this.nocheckmark ? this.generateIconHtml(checkmarkIcon.svg) : undefined}
|
|
4846
|
+
<slot></slot>
|
|
4763
4847
|
`;
|
|
4764
4848
|
}
|
|
4765
4849
|
}
|