@aurodesignsystem/auro-formkit 2.0.0-beta.4 → 2.0.0-beta.41
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/006be80261b993a5-meta.json +1 -0
- package/.turbo/cache/006be80261b993a5.tar.zst +0 -0
- package/.turbo/cache/03338963f2ae4c89-meta.json +1 -0
- package/.turbo/cache/03338963f2ae4c89.tar.zst +0 -0
- package/.turbo/cache/06dfc9c20aacd0fa-meta.json +1 -0
- package/.turbo/cache/06dfc9c20aacd0fa.tar.zst +0 -0
- package/.turbo/cache/075034ccdb82fbea-meta.json +1 -0
- package/.turbo/cache/075034ccdb82fbea.tar.zst +0 -0
- package/.turbo/cache/0ff927ad868537f6-meta.json +1 -0
- package/.turbo/cache/0ff927ad868537f6.tar.zst +0 -0
- package/.turbo/cache/10b8500a6b0c6655-meta.json +1 -0
- package/.turbo/cache/10b8500a6b0c6655.tar.zst +0 -0
- package/.turbo/cache/138466aaa06fa946-meta.json +1 -0
- package/.turbo/cache/138466aaa06fa946.tar.zst +0 -0
- package/.turbo/cache/1614475ba17e5c7e-meta.json +1 -0
- package/.turbo/cache/1614475ba17e5c7e.tar.zst +0 -0
- package/.turbo/cache/1a8525cb6ad91e2a-meta.json +1 -0
- package/.turbo/cache/1a8525cb6ad91e2a.tar.zst +0 -0
- package/.turbo/cache/1c347bdf63624c8a-meta.json +1 -0
- package/.turbo/cache/1c347bdf63624c8a.tar.zst +0 -0
- package/.turbo/cache/1d4e8167ea8e924f-meta.json +1 -0
- package/.turbo/cache/1d4e8167ea8e924f.tar.zst +0 -0
- package/.turbo/cache/2289d12debb3c42c-meta.json +1 -0
- package/.turbo/cache/2289d12debb3c42c.tar.zst +0 -0
- package/.turbo/cache/22fc147c04804f70-meta.json +1 -0
- package/.turbo/cache/22fc147c04804f70.tar.zst +0 -0
- package/.turbo/cache/3025cdff2ca7afbf-meta.json +1 -0
- package/.turbo/cache/3025cdff2ca7afbf.tar.zst +0 -0
- package/.turbo/cache/3082b3a86c0f9b94-meta.json +1 -0
- package/.turbo/cache/3082b3a86c0f9b94.tar.zst +0 -0
- package/.turbo/cache/3dba2f8fdc7eb1d0-meta.json +1 -0
- package/.turbo/cache/3dba2f8fdc7eb1d0.tar.zst +0 -0
- package/.turbo/cache/43995f6c84a2de33-meta.json +1 -0
- package/.turbo/cache/43995f6c84a2de33.tar.zst +0 -0
- package/.turbo/cache/45d6aea680ecb5ec-meta.json +1 -0
- package/.turbo/cache/45d6aea680ecb5ec.tar.zst +0 -0
- package/.turbo/cache/45ecc27552696bd6-meta.json +1 -0
- package/.turbo/cache/45ecc27552696bd6.tar.zst +0 -0
- package/.turbo/cache/47d63056350252e5-meta.json +1 -0
- package/.turbo/cache/47d63056350252e5.tar.zst +0 -0
- package/.turbo/cache/4aadd7fe6b69cccf-meta.json +1 -0
- package/.turbo/cache/4aadd7fe6b69cccf.tar.zst +0 -0
- package/.turbo/cache/4fcee148860094a6-meta.json +1 -0
- package/.turbo/cache/4fcee148860094a6.tar.zst +0 -0
- package/.turbo/cache/5b3bb164db4c477c-meta.json +1 -0
- package/.turbo/cache/5b3bb164db4c477c.tar.zst +0 -0
- package/.turbo/cache/6bfd7cffad1e6b8a-meta.json +1 -0
- package/.turbo/cache/6bfd7cffad1e6b8a.tar.zst +0 -0
- package/.turbo/cache/6d48e8dc24e08c8c-meta.json +1 -0
- package/.turbo/cache/6d48e8dc24e08c8c.tar.zst +0 -0
- package/.turbo/cache/70e65d2581c9de95-meta.json +1 -0
- package/.turbo/cache/70e65d2581c9de95.tar.zst +0 -0
- package/.turbo/cache/71640e378e0b68af-meta.json +1 -0
- package/.turbo/cache/71640e378e0b68af.tar.zst +0 -0
- package/.turbo/cache/7a2e937d0f5acb7c-meta.json +1 -0
- package/.turbo/cache/7a2e937d0f5acb7c.tar.zst +0 -0
- package/.turbo/cache/85f181c5a0ebfdc3-meta.json +1 -0
- package/.turbo/cache/85f181c5a0ebfdc3.tar.zst +0 -0
- package/.turbo/cache/8830b8b624914679-meta.json +1 -0
- package/.turbo/cache/8830b8b624914679.tar.zst +0 -0
- package/.turbo/cache/88d4c5b7339b081b-meta.json +1 -0
- package/.turbo/cache/88d4c5b7339b081b.tar.zst +0 -0
- package/.turbo/cache/8f20a1cd3533e2cb-meta.json +1 -0
- package/.turbo/cache/8f20a1cd3533e2cb.tar.zst +0 -0
- package/.turbo/cache/91de2098a36b6939-meta.json +1 -0
- package/.turbo/cache/91de2098a36b6939.tar.zst +0 -0
- package/.turbo/cache/96edc0764ed4ab77-meta.json +1 -0
- package/.turbo/cache/96edc0764ed4ab77.tar.zst +0 -0
- package/.turbo/cache/a776eb6f87cd7464-meta.json +1 -0
- package/.turbo/cache/a776eb6f87cd7464.tar.zst +0 -0
- package/.turbo/cache/aa2a6d9e7beff7fc-meta.json +1 -0
- package/.turbo/cache/aa2a6d9e7beff7fc.tar.zst +0 -0
- package/.turbo/cache/ac47b2df8381d990-meta.json +1 -0
- package/.turbo/cache/ac47b2df8381d990.tar.zst +0 -0
- package/.turbo/cache/ac98992ca27cd36e-meta.json +1 -0
- package/.turbo/cache/ac98992ca27cd36e.tar.zst +0 -0
- package/.turbo/cache/aed38ae5ce3d8439-meta.json +1 -0
- package/.turbo/cache/aed38ae5ce3d8439.tar.zst +0 -0
- package/.turbo/cache/b323342fa340ccb5-meta.json +1 -0
- package/.turbo/cache/b323342fa340ccb5.tar.zst +0 -0
- package/.turbo/cache/b681d1652a7f2aca-meta.json +1 -0
- package/.turbo/cache/b681d1652a7f2aca.tar.zst +0 -0
- package/.turbo/cache/b99d21002170d86d-meta.json +1 -0
- package/.turbo/cache/b99d21002170d86d.tar.zst +0 -0
- package/.turbo/cache/bff34c0db361f414-meta.json +1 -0
- package/.turbo/cache/bff34c0db361f414.tar.zst +0 -0
- package/.turbo/cache/c1c7334875426ff3-meta.json +1 -0
- package/.turbo/cache/c1c7334875426ff3.tar.zst +0 -0
- package/.turbo/cache/cd12b66dd972aaf7-meta.json +1 -0
- package/.turbo/cache/cd12b66dd972aaf7.tar.zst +0 -0
- package/.turbo/cache/cf74604f39b00f11-meta.json +1 -0
- package/.turbo/cache/cf74604f39b00f11.tar.zst +0 -0
- package/.turbo/cache/d5dbe6fb31ae5667-meta.json +1 -0
- package/.turbo/cache/d5dbe6fb31ae5667.tar.zst +0 -0
- package/.turbo/cache/e2688cc026390fd6-meta.json +1 -0
- package/.turbo/cache/e2688cc026390fd6.tar.zst +0 -0
- package/.turbo/cache/e64bd75c16c140f3-meta.json +1 -0
- package/.turbo/cache/e64bd75c16c140f3.tar.zst +0 -0
- package/.turbo/cache/ea92743dea3b7023-meta.json +1 -0
- package/.turbo/cache/ea92743dea3b7023.tar.zst +0 -0
- package/.turbo/cache/f1b0cb8241603223-meta.json +1 -0
- package/.turbo/cache/f1b0cb8241603223.tar.zst +0 -0
- package/.turbo/cache/f22dc2dd55715ba2-meta.json +1 -0
- package/.turbo/cache/f22dc2dd55715ba2.tar.zst +0 -0
- package/.turbo/cache/f8f7a8045f230b79-meta.json +1 -0
- package/.turbo/cache/f8f7a8045f230b79.tar.zst +0 -0
- package/.turbo/cache/f8f99ba69bff8f2c-meta.json +1 -0
- package/.turbo/cache/f8f99ba69bff8f2c.tar.zst +0 -0
- package/.turbo/cache/faafa5cc35d12e06-meta.json +1 -0
- package/.turbo/cache/faafa5cc35d12e06.tar.zst +0 -0
- package/.vscode/settings.json +3 -0
- package/CHANGELOG.md +372 -0
- package/README.md +59 -59
- package/components/checkbox/.turbo/turbo-build$colon$sass.log +10 -10
- package/components/checkbox/.turbo/turbo-build.log +20 -21
- package/components/checkbox/.turbo/turbo-postCss$colon$component.log +1 -2
- package/components/checkbox/.turbo/turbo-sass$colon$render.log +6 -6
- package/components/checkbox/README.md +27 -35
- package/components/checkbox/demo/api.md +67 -68
- package/components/checkbox/demo/api.min.js +429 -89
- package/components/checkbox/demo/index.md +62 -62
- package/components/checkbox/demo/index.min.js +429 -89
- package/components/checkbox/dist/auro-checkbox-group.d.ts +40 -16
- package/components/checkbox/dist/auro-checkbox-group.d.ts.map +1 -1
- package/components/checkbox/dist/auro-checkbox.d.ts +19 -6
- package/components/checkbox/dist/auro-checkbox.d.ts.map +1 -1
- package/components/checkbox/dist/index.js +429 -89
- package/components/checkbox/package.json +6 -5
- package/components/checkbox/src/auro-checkbox-group.js +62 -23
- package/components/checkbox/src/auro-checkbox.js +30 -9
- package/components/checkbox/src/styles/colorGroup-css.js +1 -1
- package/components/checkbox/src/styles/colorGroup.css +0 -8
- package/components/checkbox/src/styles/colorGroup.scss +0 -8
- package/components/checkbox/src/styles/tokens-css.js +1 -1
- package/components/checkbox/src/styles/tokens.css +0 -1
- package/components/checkbox/src/styles/tokens.scss +0 -1
- package/components/combobox/.turbo/turbo-build$colon$sass.log +5 -5
- package/components/combobox/.turbo/turbo-build.log +22 -23
- package/components/combobox/.turbo/turbo-postCss$colon$component.log +1 -2
- package/components/combobox/.turbo/turbo-sass$colon$render.log +2 -2
- package/components/combobox/README.md +23 -28
- package/components/combobox/demo/api.md +27 -25
- package/components/combobox/demo/api.min.js +3385 -848
- package/components/combobox/demo/index.md +1 -1
- package/components/combobox/demo/index.min.js +3382 -845
- package/components/combobox/dist/auro-combobox.d.ts +74 -79
- package/components/combobox/dist/auro-combobox.d.ts.map +1 -1
- package/components/combobox/dist/dropdownVersion.d.ts +3 -0
- package/components/combobox/dist/dropdownVersion.d.ts.map +1 -0
- package/components/combobox/dist/index.js +2733 -510
- package/components/combobox/dist/inputVersion.d.ts +3 -0
- package/components/combobox/dist/inputVersion.d.ts.map +1 -0
- package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/.husky/pre-commit +1 -0
- package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/CHANGELOG.md +863 -0
- package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/README.md +109 -0
- package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/dist/auroElement/README.md +86 -0
- package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/dist/auroElement/_auroElement.scss +45 -0
- package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/dist/auroElement/auroElement.js +38 -0
- package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/dist/auroElement/auroElement.mjs +38 -0
- package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/dist/bundled/essentials+fv.css +110 -0
- package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/dist/bundled/essentials.css +106 -0
- package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/dist/demoWrapper.css +8 -0
- package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/dist/elementDemoStyles.css +813 -0
- package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/package.json +134 -0
- package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/packageScripts/postinstall.mjs +39 -0
- package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/_animation.scss +30 -0
- package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/_blockquote.scss +46 -0
- package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/_breakpoints.scss +155 -0
- package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/_core.scss +25 -0
- package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/_essentials.scss +267 -0
- package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/_focus-visible.scss +36 -0
- package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/_fonts.scss +50 -0
- package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/_grids.scss +395 -0
- package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/_headings.scss +255 -0
- package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/_normalize.scss +663 -0
- package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/_picture.scss +31 -0
- package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/_utilityClasses.scss +22 -0
- package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/bundled/essentials+fv.scss +19 -0
- package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/bundled/essentials.scss +18 -0
- package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/componentSupport/_anchor-roleButton.scss +32 -0
- package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/componentSupport/_anchor-roleTab.scss +26 -0
- package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/componentSupport/_containedButtons.scss +59 -0
- package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/componentSupport/_table.scss +54 -0
- package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/componentSupport/_tablist.scss +37 -0
- package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/elementDemoStyles/README.md +5 -0
- package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/elementDemoStyles/demoWrapper.scss +18 -0
- package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/elementDemoStyles/elementDemoStyles.scss +123 -0
- package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/libSupport/_deprecated.scss +16 -0
- package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/libSupport/_manageScope.scss +42 -0
- package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityClasses/_displayProperties.scss +142 -0
- package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityClasses/_fontStyles.scss +151 -0
- package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityClasses/_inset.scss +188 -0
- package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityClasses/_layoutProperties.scss +75 -0
- package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityClasses/_listProperties.scss +176 -0
- package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityClasses/_responsive.scss +249 -0
- package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityClasses/_typeProperties.scss +49 -0
- package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityFunctions/_capitalize.scss +20 -0
- package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityFunctions/_contains.scss +26 -0
- package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityFunctions/_map-deep-get.scss +29 -0
- package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityMixins/_anchor-roleButton.scss +76 -0
- package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityMixins/_anchor-roleTab.scss +86 -0
- package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityMixins/_insetUtility.scss +9 -0
- package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityMixins/_layoutPropertiesGenerator.scss +75 -0
- package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityMixins/_spacingUtility.scss +96 -0
- package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityVariables/_important.scss +20 -0
- package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityVariables/_spacing-options.scss +13 -0
- package/components/combobox/node_modules/@rollup/plugin-node-resolve/README.md +293 -0
- package/components/combobox/node_modules/@rollup/plugin-node-resolve/dist/cjs/index.js +1377 -0
- package/components/combobox/node_modules/@rollup/plugin-node-resolve/dist/es/index.js +1370 -0
- package/components/combobox/node_modules/@rollup/plugin-node-resolve/dist/es/package.json +1 -0
- package/components/combobox/node_modules/@rollup/plugin-node-resolve/package.json +89 -0
- package/components/combobox/node_modules/@rollup/plugin-node-resolve/types/index.d.ts +115 -0
- package/components/combobox/node_modules/chalk/package.json +3 -3
- package/components/combobox/node_modules/chalk/readme.md +25 -53
- package/components/combobox/node_modules/chalk/source/index.d.ts +6 -1
- package/components/combobox/node_modules/chalk/source/vendor/supports-color/browser.js +6 -2
- package/components/combobox/node_modules/chalk/source/vendor/supports-color/index.js +2 -2
- package/components/combobox/package.json +12 -13
- package/components/combobox/src/auro-combobox.js +215 -163
- package/components/combobox/src/dropdownVersion.js +1 -0
- package/components/combobox/src/inputVersion.js +1 -0
- package/components/counter/.turbo/turbo-build$colon$sass.log +210 -7
- package/components/{input → counter}/.turbo/turbo-build$colon$version.log +5 -5
- package/components/counter/.turbo/turbo-build.log +329 -14
- package/components/counter/.turbo/turbo-bundler.log +13 -4
- package/components/counter/.turbo/turbo-postCss$colon$component.log +1 -2
- package/components/counter/.turbo/turbo-sass$colon$render.log +45 -3
- package/components/counter/.turbo/turbo-types.log +1 -1
- package/components/counter/README.md +188 -0
- package/components/counter/demo/api.md +107 -1014
- package/components/counter/demo/api.min.js +5203 -36
- package/components/counter/demo/index.js +2 -1
- package/components/counter/demo/index.md +292 -0
- package/components/counter/demo/index.min.js +5231 -19
- package/components/counter/dist/auro-counter-button.d.ts +13 -0
- package/components/counter/dist/auro-counter-button.d.ts.map +1 -0
- package/components/counter/dist/auro-counter-group.d.ts +127 -5
- package/components/counter/dist/auro-counter-group.d.ts.map +1 -1
- package/components/counter/dist/auro-counter-wrapper.d.ts +23 -0
- package/components/counter/dist/auro-counter-wrapper.d.ts.map +1 -0
- package/components/counter/dist/auro-counter.d.ts +91 -0
- package/components/counter/dist/auro-counter.d.ts.map +1 -1
- package/components/counter/dist/dropdownVersion.d.ts +3 -0
- package/components/counter/dist/dropdownVersion.d.ts.map +1 -0
- package/components/counter/dist/iconVersion.d.ts +3 -0
- package/components/counter/dist/iconVersion.d.ts.map +1 -0
- package/components/counter/dist/index.js +5203 -36
- package/components/{input/dist/styles/helpText-css.d.ts → counter/dist/styles/color-css.d.ts} +1 -1
- package/components/counter/dist/styles/color-css.d.ts.map +1 -0
- package/components/counter/dist/styles/counter-button-color-css.d.ts +3 -0
- package/components/counter/dist/styles/counter-button-color-css.d.ts.map +1 -0
- package/components/counter/dist/styles/counter-button-css.d.ts +3 -0
- package/components/counter/dist/styles/counter-button-css.d.ts.map +1 -0
- package/components/counter/dist/styles/counter-button-tokens-css.d.ts +3 -0
- package/components/counter/dist/styles/counter-button-tokens-css.d.ts.map +1 -0
- package/components/counter/dist/styles/counter-wrapper-color-css.d.ts +3 -0
- package/components/counter/dist/styles/counter-wrapper-color-css.d.ts.map +1 -0
- package/components/counter/dist/styles/counter-wrapper-css.d.ts +3 -0
- package/components/counter/dist/styles/counter-wrapper-css.d.ts.map +1 -0
- package/components/counter/dist/styles/tokens-css.d.ts +3 -0
- package/components/counter/dist/styles/tokens-css.d.ts.map +1 -0
- package/components/counter/package.json +14 -5
- package/components/counter/src/auro-counter-button.js +42 -0
- package/components/counter/src/auro-counter-group.js +305 -20
- package/components/counter/src/auro-counter-wrapper.js +54 -0
- package/components/counter/src/auro-counter.js +325 -12
- package/components/counter/src/dropdownVersion.js +1 -0
- package/components/counter/src/iconVersion.js +1 -0
- package/components/counter/src/index.js +1 -1
- package/components/counter/src/styles/color-css.js +2 -0
- package/components/counter/src/styles/color.css +29 -0
- package/components/counter/src/styles/color.scss +49 -0
- package/components/counter/src/styles/counter-button-color-css.js +2 -0
- package/components/counter/src/styles/counter-button-color.css +11 -0
- package/components/counter/src/styles/counter-button-color.scss +23 -0
- package/components/counter/src/styles/counter-button-css.js +2 -0
- package/components/counter/src/styles/counter-button-tokens-css.js +2 -0
- package/components/counter/src/styles/counter-button-tokens.css +6 -0
- package/components/counter/src/styles/counter-button-tokens.scss +8 -0
- package/components/counter/src/styles/counter-button.css +186 -0
- package/components/counter/src/styles/counter-button.scss +84 -0
- package/components/counter/src/styles/counter-group-css.js +1 -1
- package/components/counter/src/styles/counter-group.css +15 -1
- package/components/counter/src/styles/counter-group.scss +16 -1
- package/components/counter/src/styles/counter-wrapper-color-css.js +2 -0
- package/components/counter/src/styles/counter-wrapper-color.css +4 -0
- package/components/counter/src/styles/counter-wrapper-color.scss +19 -0
- package/components/counter/src/styles/counter-wrapper-css.js +2 -0
- package/components/counter/src/styles/counter-wrapper.css +15 -0
- package/components/counter/src/styles/counter-wrapper.scss +29 -0
- package/components/counter/src/styles/style-css.js +1 -1
- package/components/counter/src/styles/style.css +50 -1
- package/components/counter/src/styles/style.scss +58 -2
- package/components/counter/src/styles/tokens-css.js +2 -0
- package/components/counter/src/styles/tokens.css +12 -0
- package/components/counter/src/styles/tokens.scss +25 -0
- package/components/datepicker/.turbo/turbo-build$colon$sass.log +34 -34
- package/components/datepicker/.turbo/turbo-build.log +52 -53
- package/components/datepicker/.turbo/turbo-postCss$colon$component.log +1 -2
- package/components/datepicker/.turbo/turbo-sass$colon$render.log +10 -10
- package/components/datepicker/README.md +23 -28
- package/components/datepicker/demo/api.md +85 -57
- package/components/datepicker/demo/api.min.js +1304 -558
- package/components/datepicker/demo/index.md +1 -1
- package/components/datepicker/demo/index.min.js +1304 -558
- package/components/datepicker/dist/auro-calendar.d.ts +1 -1
- package/components/datepicker/dist/auro-datepicker.d.ts +101 -73
- package/components/datepicker/dist/auro-datepicker.d.ts.map +1 -1
- package/components/datepicker/dist/dropdownVersion.d.ts +2 -0
- package/components/datepicker/dist/dropdownVersion.d.ts.map +1 -1
- package/components/datepicker/dist/index.js +1304 -558
- package/components/datepicker/dist/inputVersion.d.ts +3 -0
- package/components/datepicker/dist/inputVersion.d.ts.map +1 -0
- package/components/datepicker/dist/utilitiesCalendarRender.d.ts +2 -2
- package/components/datepicker/package.json +8 -8
- package/components/datepicker/src/auro-calendar.js +1 -1
- package/components/datepicker/src/auro-datepicker.js +170 -89
- package/components/datepicker/src/dropdownVersion.js +1 -0
- package/components/datepicker/src/inputVersion.js +1 -0
- package/components/datepicker/src/styles/color-cell-css.js +1 -1
- package/components/datepicker/src/styles/color-cell.css +1 -1
- package/components/datepicker/src/styles/color-cell.scss +1 -1
- package/components/datepicker/src/styles/style-css.js +1 -1
- package/components/datepicker/src/styles/style.css +55 -35
- package/components/datepicker/src/styles/style.scss +45 -13
- package/components/datepicker/src/utilitiesCalendarRender.js +2 -2
- package/components/dropdown/.turbo/turbo-build$colon$sass.log +8 -8
- package/components/dropdown/.turbo/turbo-build.log +19 -20
- package/components/dropdown/.turbo/turbo-postCss$colon$component.log +1 -2
- package/components/dropdown/.turbo/turbo-sass$colon$render.log +6 -6
- package/components/dropdown/README.md +19 -27
- package/components/dropdown/demo/api.md +15 -3
- package/components/dropdown/demo/api.min.js +406 -88
- package/components/dropdown/demo/index.js +0 -3
- package/components/dropdown/demo/index.min.js +406 -91
- package/components/dropdown/dist/auro-dropdown.d.ts +16 -2
- package/components/dropdown/dist/auro-dropdown.d.ts.map +1 -1
- package/components/dropdown/dist/index.js +406 -88
- package/components/dropdown/package.json +6 -5
- package/components/dropdown/src/auro-dropdown.js +102 -11
- package/components/dropdown/src/styles/color-css.js +1 -1
- package/components/dropdown/src/styles/color.css +3 -6
- package/components/dropdown/src/styles/color.scss +3 -6
- package/components/dropdown/src/styles/style-css.js +1 -1
- package/components/dropdown/src/styles/style.css +5 -6
- package/components/dropdown/src/styles/style.scss +8 -8
- package/components/dropdown/src/styles/tokens-css.js +1 -1
- package/components/dropdown/src/styles/tokens.css +1 -1
- package/components/dropdown/src/styles/tokens.scss +1 -1
- package/components/form/.turbo/turbo-build$colon$sass.log +6 -6
- package/components/form/.turbo/turbo-build$colon$version.log +1 -1
- package/components/form/.turbo/turbo-build.log +17 -18
- package/components/form/.turbo/turbo-bundler.log +4 -4
- package/components/form/.turbo/turbo-postCss$colon$component.log +1 -2
- package/components/form/.turbo/turbo-sass$colon$render.log +2 -2
- package/components/form/.turbo/turbo-types.log +1 -1
- package/components/form/README.md +29 -35
- package/components/form/demo/api.min.js +460 -25
- package/components/form/demo/index.min.js +460 -25
- package/components/form/demo/registerDemoDeps.js +22 -0
- package/components/form/demo/working.html +117 -0
- package/components/form/dist/auro-form.d.ts +179 -2
- package/components/form/dist/auro-form.d.ts.map +1 -1
- package/components/form/dist/index.js +460 -25
- package/components/form/package.json +8 -6
- package/components/form/src/auro-form.js +457 -25
- package/components/form/src/styles/style.css +1 -1
- package/components/helptext/.stylelintrc.json +3 -0
- package/components/helptext/.turbo/turbo-build$colon$sass.log +34 -0
- package/components/helptext/.turbo/turbo-build.log +49 -0
- package/components/helptext/.turbo/turbo-bundler.log +7 -0
- package/components/helptext/.turbo/turbo-postCss$colon$component.log +4 -0
- package/components/helptext/.turbo/turbo-sass$colon$render.log +22 -0
- package/components/helptext/.turbo/turbo-types.log +4 -0
- package/components/helptext/dist/auro-helptext.d.ts +54 -0
- package/components/helptext/dist/auro-helptext.d.ts.map +1 -0
- package/components/helptext/dist/index.d.ts +3 -0
- package/components/helptext/dist/index.d.ts.map +1 -0
- package/components/helptext/dist/index.js +224 -0
- package/components/helptext/dist/styles/color-css.d.ts +3 -0
- package/components/helptext/dist/styles/color-css.d.ts.map +1 -0
- package/components/helptext/dist/styles/style-css.d.ts +3 -0
- package/components/helptext/dist/styles/style-css.d.ts.map +1 -0
- package/components/helptext/dist/styles/tokens-css.d.ts +3 -0
- package/components/helptext/dist/styles/tokens-css.d.ts.map +1 -0
- package/components/helptext/node_modules/chalk/package.json +83 -0
- package/components/helptext/node_modules/chalk/readme.md +297 -0
- package/components/helptext/node_modules/chalk/source/index.d.ts +325 -0
- package/components/helptext/node_modules/chalk/source/index.js +225 -0
- package/components/helptext/node_modules/chalk/source/utilities.js +33 -0
- package/components/helptext/node_modules/chalk/source/vendor/ansi-styles/index.d.ts +236 -0
- package/components/helptext/node_modules/chalk/source/vendor/ansi-styles/index.js +223 -0
- package/components/helptext/node_modules/chalk/source/vendor/supports-color/browser.d.ts +1 -0
- package/components/helptext/node_modules/chalk/source/vendor/supports-color/browser.js +34 -0
- package/components/helptext/node_modules/chalk/source/vendor/supports-color/index.d.ts +55 -0
- package/components/helptext/node_modules/chalk/source/vendor/supports-color/index.js +182 -0
- package/components/helptext/package.json +57 -0
- package/components/helptext/src/auro-helptext.js +127 -0
- package/components/helptext/src/index.js +6 -0
- package/components/helptext/src/styles/color-css.js +2 -0
- package/components/helptext/src/styles/color.css +8 -0
- package/components/helptext/src/styles/color.scss +11 -0
- package/components/helptext/src/styles/style-css.js +2 -0
- package/components/helptext/src/styles/style.css +23 -0
- package/components/helptext/src/styles/style.scss +33 -0
- package/components/helptext/src/styles/tokens-css.js +2 -0
- package/components/helptext/src/styles/tokens.css +3 -0
- package/components/helptext/src/styles/tokens.scss +5 -0
- package/components/input/.turbo/turbo-build$colon$sass.log +22 -32
- package/components/input/.turbo/turbo-build.log +33 -46
- package/components/input/.turbo/turbo-postCss$colon$component.log +1 -2
- package/components/input/.turbo/turbo-sass$colon$render.log +9 -15
- package/components/input/README.md +19 -29
- package/components/input/demo/api.md +85 -253
- package/components/input/demo/api.min.js +413 -125
- package/components/input/demo/index.md +9 -59
- package/components/input/demo/index.min.js +413 -125
- package/components/input/dist/auro-input.d.ts.map +1 -1
- package/components/input/dist/base-input.d.ts +3 -3
- package/components/input/dist/base-input.d.ts.map +1 -1
- package/components/input/dist/index.js +413 -125
- package/components/input/package.json +6 -5
- package/components/input/src/auro-input.js +18 -10
- package/components/input/src/base-input.js +5 -5
- package/components/input/src/styles/color-css.js +1 -1
- package/components/input/src/styles/color.css +0 -5
- package/components/input/src/styles/color.scss +0 -5
- package/components/input/src/styles/input-css.js +1 -1
- package/components/input/src/styles/input.css +2 -2
- package/components/input/src/styles/input.scss +2 -2
- package/components/input/src/styles/style-css.js +1 -1
- package/components/input/src/styles/style.css +2 -9
- package/components/input/src/styles/style.scss +0 -1
- package/components/input/src/styles/tokens-css.js +1 -1
- package/components/input/src/styles/tokens.css +0 -1
- package/components/input/src/styles/tokens.scss +0 -1
- package/components/menu/.turbo/turbo-build$colon$sass.log +9 -9
- package/components/menu/.turbo/turbo-build$colon$version.log +1 -1
- package/components/menu/.turbo/turbo-build.log +22 -21
- package/components/menu/.turbo/turbo-bundler.log +4 -4
- package/components/menu/.turbo/turbo-postCss$colon$component.log +1 -2
- package/components/menu/.turbo/turbo-sass$colon$render.log +6 -6
- package/components/menu/.turbo/turbo-types.log +1 -1
- package/components/menu/README.md +19 -27
- package/components/menu/demo/api.md +57 -20
- package/components/menu/demo/api.min.js +626 -312
- package/components/menu/demo/index.min.js +624 -310
- package/components/menu/dist/auro-menu-utils.d.ts +43 -0
- package/components/menu/dist/auro-menu-utils.d.ts.map +1 -0
- package/components/menu/dist/auro-menu.d.ts +97 -81
- package/components/menu/dist/auro-menu.d.ts.map +1 -1
- package/components/menu/dist/index.d.ts +1 -0
- package/components/menu/dist/index.js +625 -311
- package/components/menu/package.json +5 -5
- package/components/menu/src/auro-menu-utils.js +131 -0
- package/components/menu/src/auro-menu.js +492 -303
- package/components/menu/src/index.js +7 -0
- package/components/menu/src/styles/color-menuoption-css.js +1 -1
- package/components/menu/src/styles/color-menuoption.css +3 -0
- package/components/menu/src/styles/color-menuoption.scss +4 -0
- package/components/menu/src/styles/style-menu.css +1 -1
- package/components/radio/.turbo/turbo-build$colon$sass.log +13 -13
- package/components/radio/.turbo/turbo-build.log +23 -24
- package/components/radio/.turbo/turbo-postCss$colon$component.log +1 -2
- package/components/radio/.turbo/turbo-sass$colon$render.log +6 -6
- package/components/radio/README.md +19 -27
- package/components/radio/demo/api.md +9 -8
- package/components/radio/demo/api.min.js +360 -62
- package/components/radio/demo/index.min.js +360 -62
- package/components/radio/dist/auro-radio-group.d.ts +7 -1
- package/components/radio/dist/auro-radio-group.d.ts.map +1 -1
- package/components/radio/dist/index.js +360 -62
- package/components/radio/package.json +6 -6
- package/components/radio/src/auro-radio-group.js +24 -6
- package/components/radio/src/styles/groupColor-css.js +1 -1
- package/components/radio/src/styles/groupColor.css +0 -8
- package/components/radio/src/styles/groupColor.scss +0 -8
- package/components/radio/src/styles/tokens-css.js +1 -1
- package/components/radio/src/styles/tokens.css +0 -1
- package/components/radio/src/styles/tokens.scss +0 -1
- package/components/select/.turbo/turbo-build$colon$sass.log +12 -12
- package/components/select/.turbo/turbo-build.log +28 -27
- package/components/select/.turbo/turbo-postCss$colon$component.log +1 -2
- package/components/select/.turbo/turbo-sass$colon$render.log +4 -4
- package/components/select/README.md +22 -43
- package/components/select/demo/api.md +52 -15
- package/components/select/demo/api.min.js +2851 -609
- package/components/select/demo/index.md +1 -16
- package/components/select/demo/index.min.js +2849 -607
- package/components/select/dist/auro-select.d.ts +23 -6
- package/components/select/dist/auro-select.d.ts.map +1 -1
- package/components/select/dist/dropdownVersion.d.ts +3 -0
- package/components/select/dist/dropdownVersion.d.ts.map +1 -0
- package/components/select/dist/index.js +2313 -385
- package/components/select/package.json +7 -7
- package/components/select/src/auro-select.js +77 -32
- package/components/select/src/dropdownVersion.js +1 -0
- package/components/select/src/styles/style-css.js +1 -1
- package/components/select/src/styles/style.css +5 -4
- package/components/select/src/styles/style.scss +11 -4
- package/package.json +27 -23
- package/packages/build-tools/src/docProcessor.mjs +37 -8
- package/packages/build-tools/src/postinstall.mjs +8 -0
- package/packages/form-validation/src/validation.js +79 -20
- package/packages/utils/package.json +12 -0
- package/packages/utils/src/iconUtil.js +25 -0
- package/packages/utils/src/index.js +1 -0
- package/turbo.json +42 -9
- package/.turbo/cache/013a48308b893dac-meta.json +0 -1
- package/.turbo/cache/013a48308b893dac.tar.zst +0 -0
- package/.turbo/cache/02244170c798a2bd-meta.json +0 -1
- package/.turbo/cache/02244170c798a2bd.tar.zst +0 -0
- package/.turbo/cache/051ff97a20add0e2-meta.json +0 -1
- package/.turbo/cache/051ff97a20add0e2.tar.zst +0 -0
- package/.turbo/cache/07ca42419b9f050c-meta.json +0 -1
- package/.turbo/cache/07ca42419b9f050c.tar.zst +0 -0
- package/.turbo/cache/0cea4c1f34f3683b-meta.json +0 -1
- package/.turbo/cache/0cea4c1f34f3683b.tar.zst +0 -0
- package/.turbo/cache/0ea853339c064fa1-meta.json +0 -1
- package/.turbo/cache/0ea853339c064fa1.tar.zst +0 -0
- package/.turbo/cache/16658beec9f4a809-meta.json +0 -1
- package/.turbo/cache/16658beec9f4a809.tar.zst +0 -0
- package/.turbo/cache/17259cf94d8f8925-meta.json +0 -1
- package/.turbo/cache/17259cf94d8f8925.tar.zst +0 -0
- package/.turbo/cache/1b9818717e4bdf9f-meta.json +0 -1
- package/.turbo/cache/1b9818717e4bdf9f.tar.zst +0 -0
- package/.turbo/cache/1c0f580d37370ba2-meta.json +0 -1
- package/.turbo/cache/1c0f580d37370ba2.tar.zst +0 -0
- package/.turbo/cache/1c99a949ec63ab35-meta.json +0 -1
- package/.turbo/cache/1c99a949ec63ab35.tar.zst +0 -0
- package/.turbo/cache/1df4710eef8ed00d-meta.json +0 -1
- package/.turbo/cache/1df4710eef8ed00d.tar.zst +0 -0
- package/.turbo/cache/204b66d1b253e9cc-meta.json +0 -1
- package/.turbo/cache/204b66d1b253e9cc.tar.zst +0 -0
- package/.turbo/cache/257a7a26ea72dbc5-meta.json +0 -1
- package/.turbo/cache/257a7a26ea72dbc5.tar.zst +0 -0
- package/.turbo/cache/2a5d0939d6fc1052-meta.json +0 -1
- package/.turbo/cache/2a5d0939d6fc1052.tar.zst +0 -0
- package/.turbo/cache/2e3b829fcf75c836-meta.json +0 -1
- package/.turbo/cache/2e3b829fcf75c836.tar.zst +0 -0
- package/.turbo/cache/3bf45120d0cc9bd8-meta.json +0 -1
- package/.turbo/cache/3bf45120d0cc9bd8.tar.zst +0 -0
- package/.turbo/cache/3d380d0d40404cac-meta.json +0 -1
- package/.turbo/cache/3d380d0d40404cac.tar.zst +0 -0
- package/.turbo/cache/3e12285c614db539-meta.json +0 -1
- package/.turbo/cache/3e12285c614db539.tar.zst +0 -0
- package/.turbo/cache/45035bf5c4147ccd-meta.json +0 -1
- package/.turbo/cache/45035bf5c4147ccd.tar.zst +0 -0
- package/.turbo/cache/5bf2d3f7ba5891e0-meta.json +0 -1
- package/.turbo/cache/5bf2d3f7ba5891e0.tar.zst +0 -0
- package/.turbo/cache/5f304c0f37ef25f3-meta.json +0 -1
- package/.turbo/cache/5f304c0f37ef25f3.tar.zst +0 -0
- package/.turbo/cache/64de7a53e02db647-meta.json +0 -1
- package/.turbo/cache/64de7a53e02db647.tar.zst +0 -0
- package/.turbo/cache/691a74627ec57993-meta.json +0 -1
- package/.turbo/cache/691a74627ec57993.tar.zst +0 -0
- package/.turbo/cache/69aae513b7ec6c7d-meta.json +0 -1
- package/.turbo/cache/69aae513b7ec6c7d.tar.zst +0 -0
- package/.turbo/cache/6dd67d179191bda8-meta.json +0 -1
- package/.turbo/cache/6dd67d179191bda8.tar.zst +0 -0
- package/.turbo/cache/6dd7058e6703cb35-meta.json +0 -1
- package/.turbo/cache/6dd7058e6703cb35.tar.zst +0 -0
- package/.turbo/cache/73e9073a5274616d-meta.json +0 -1
- package/.turbo/cache/73e9073a5274616d.tar.zst +0 -0
- package/.turbo/cache/773edc0f83c8c5a5-meta.json +0 -1
- package/.turbo/cache/773edc0f83c8c5a5.tar.zst +0 -0
- package/.turbo/cache/786a822763403879-meta.json +0 -1
- package/.turbo/cache/786a822763403879.tar.zst +0 -0
- package/.turbo/cache/7e1043cffa69f327-meta.json +0 -1
- package/.turbo/cache/7e1043cffa69f327.tar.zst +0 -0
- package/.turbo/cache/7ffd501e81790676-meta.json +0 -1
- package/.turbo/cache/7ffd501e81790676.tar.zst +0 -0
- package/.turbo/cache/80a13352066a9801-meta.json +0 -1
- package/.turbo/cache/80a13352066a9801.tar.zst +0 -0
- package/.turbo/cache/80b5d974184a01df-meta.json +0 -1
- package/.turbo/cache/80b5d974184a01df.tar.zst +0 -0
- package/.turbo/cache/8954c6073396fadd-meta.json +0 -1
- package/.turbo/cache/8954c6073396fadd.tar.zst +0 -0
- package/.turbo/cache/8e79bd5c3a16a72e-meta.json +0 -1
- package/.turbo/cache/8e79bd5c3a16a72e.tar.zst +0 -0
- package/.turbo/cache/8e9ebc3df0e18de0-meta.json +0 -1
- package/.turbo/cache/8e9ebc3df0e18de0.tar.zst +0 -0
- package/.turbo/cache/92daa6d7c389d548-meta.json +0 -1
- package/.turbo/cache/92daa6d7c389d548.tar.zst +0 -0
- package/.turbo/cache/973d0eea26083f4b-meta.json +0 -1
- package/.turbo/cache/973d0eea26083f4b.tar.zst +0 -0
- package/.turbo/cache/9c6ad42729c7b2d8-meta.json +0 -1
- package/.turbo/cache/9c6ad42729c7b2d8.tar.zst +0 -0
- package/.turbo/cache/a77bc920ea508bb8-meta.json +0 -1
- package/.turbo/cache/a77bc920ea508bb8.tar.zst +0 -0
- package/.turbo/cache/a9a9d012c83882d8-meta.json +0 -1
- package/.turbo/cache/a9a9d012c83882d8.tar.zst +0 -0
- package/.turbo/cache/b54fc4f664a7a5a0-meta.json +0 -1
- package/.turbo/cache/b54fc4f664a7a5a0.tar.zst +0 -0
- package/.turbo/cache/ba4418918621fbcd-meta.json +0 -1
- package/.turbo/cache/ba4418918621fbcd.tar.zst +0 -0
- package/.turbo/cache/be7c23c37b8ec74b-meta.json +0 -1
- package/.turbo/cache/be7c23c37b8ec74b.tar.zst +0 -0
- package/.turbo/cache/bffc7582905c2a5e-meta.json +0 -1
- package/.turbo/cache/bffc7582905c2a5e.tar.zst +0 -0
- package/.turbo/cache/caa0b4ac8d2a04dd-meta.json +0 -1
- package/.turbo/cache/caa0b4ac8d2a04dd.tar.zst +0 -0
- package/.turbo/cache/cc81de9c0b452a7c-meta.json +0 -1
- package/.turbo/cache/cc81de9c0b452a7c.tar.zst +0 -0
- package/.turbo/cache/d572ebb3c833e8f4-meta.json +0 -1
- package/.turbo/cache/d572ebb3c833e8f4.tar.zst +0 -0
- package/.turbo/cache/d61543843c932504-meta.json +0 -1
- package/.turbo/cache/d61543843c932504.tar.zst +0 -0
- package/.turbo/cache/dad1301ac69bcb85-meta.json +0 -1
- package/.turbo/cache/dad1301ac69bcb85.tar.zst +0 -0
- package/.turbo/cache/db361cb6578dca84-meta.json +0 -1
- package/.turbo/cache/db361cb6578dca84.tar.zst +0 -0
- package/.turbo/cache/dea5945f55c6aba5-meta.json +0 -1
- package/.turbo/cache/dea5945f55c6aba5.tar.zst +0 -0
- package/.turbo/cache/e992dab20aeefbaf-meta.json +0 -1
- package/.turbo/cache/e992dab20aeefbaf.tar.zst +0 -0
- package/.turbo/cache/f3ff9040a2196834-meta.json +0 -1
- package/.turbo/cache/f3ff9040a2196834.tar.zst +0 -0
- package/.turbo/cache/f817d89688cefca8-meta.json +0 -1
- package/.turbo/cache/f817d89688cefca8.tar.zst +0 -0
- package/.turbo/cache/fa132b5b5f0e75f8-meta.json +0 -1
- package/.turbo/cache/fa132b5b5f0e75f8.tar.zst +0 -0
- package/.turbo/cache/fc57c17867dcac3d-meta.json +0 -1
- package/.turbo/cache/fc57c17867dcac3d.tar.zst +0 -0
- package/components/checkbox/.turbo/turbo-bundler.log +0 -13
- package/components/checkbox/.turbo/turbo-types.log +0 -4
- package/components/dropdown/.turbo/turbo-build$colon$version.log +0 -7
- package/components/dropdown/.turbo/turbo-bundler.log +0 -13
- package/components/dropdown/.turbo/turbo-types.log +0 -4
- package/components/input/.turbo/turbo-bundler.log +0 -13
- package/components/input/.turbo/turbo-types.log +0 -4
- package/components/input/dist/styles/helpText-css.d.ts.map +0 -1
- package/components/input/src/styles/helpText-css.js +0 -2
- package/components/input/src/styles/helpText.css +0 -6
- package/components/input/src/styles/helpText.scss +0 -9
- package/components/radio/.turbo/turbo-bundler.log +0 -13
- package/components/radio/.turbo/turbo-types.log +0 -4
|
@@ -3,46 +3,46 @@
|
|
|
3
3
|
* Copyright 2019 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
5
5
|
*/
|
|
6
|
-
const t$
|
|
6
|
+
const t$8=globalThis,e$d=t$8.ShadowRoot&&(undefined===t$8.ShadyCSS||t$8.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,s$8=Symbol(),o$c=new WeakMap;let n$b = class n{constructor(t,e,o){if(this._$cssResult$=true,o!==s$8)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e;}get styleSheet(){let t=this.o;const s=this.t;if(e$d&&undefined===t){const e=undefined!==s&&1===s.length;e&&(t=o$c.get(s)),undefined===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o$c.set(s,t));}return t}toString(){return this.cssText}};const r$c=t=>new n$b("string"==typeof t?t:t+"",undefined,s$8),i$g=(t,...e)=>{const o=1===t.length?t[0]:e.reduce(((e,s,o)=>e+(t=>{if(true===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(s)+t[o+1]),t[0]);return new n$b(o,t,s$8)},S$6=(s,o)=>{if(e$d)s.adoptedStyleSheets=o.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of o){const o=document.createElement("style"),n=t$8.litNonce;undefined!==n&&o.setAttribute("nonce",n),o.textContent=e.cssText,s.appendChild(o);}},c$9=e$d?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const s of t.cssRules)e+=s.cssText;return r$c(e)})(t):t;
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* @license
|
|
10
10
|
* Copyright 2017 Google LLC
|
|
11
11
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
12
|
-
*/const{is:i$
|
|
12
|
+
*/const{is:i$f,defineProperty:e$c,getOwnPropertyDescriptor:r$b,getOwnPropertyNames:h$6,getOwnPropertySymbols:o$b,getPrototypeOf:n$a}=Object,a$8=globalThis,c$8=a$8.trustedTypes,l$8=c$8?c$8.emptyScript:"",p$6=a$8.reactiveElementPolyfillSupport,d$6=(t,s)=>t,u$8={toAttribute(t,s){switch(s){case Boolean:t=t?l$8:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t);}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t);}catch(t){i=null;}}return i}},f$6=(t,s)=>!i$f(t,s),y$6={attribute:true,type:String,converter:u$8,reflect:false,hasChanged:f$6};Symbol.metadata??=Symbol("metadata"),a$8.litPropertyMetadata??=new WeakMap;let b$3 = class b extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t);}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=y$6){if(s.state&&(s.attribute=false),this._$Ei(),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),r=this.getPropertyDescriptor(t,i,s);undefined!==r&&e$c(this.prototype,t,r);}}static getPropertyDescriptor(t,s,i){const{get:e,set:h}=r$b(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t;}};return {get(){return e?.call(this)},set(s){const r=e?.call(this);h.call(this,s),this.requestUpdate(t,r,i);},configurable:true,enumerable:true}}static getPropertyOptions(t){return this.elementProperties.get(t)??y$6}static _$Ei(){if(this.hasOwnProperty(d$6("elementProperties")))return;const t=n$a(this);t.finalize(),undefined!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties);}static finalize(){if(this.hasOwnProperty(d$6("finalized")))return;if(this.finalized=true,this._$Ei(),this.hasOwnProperty(d$6("properties"))){const t=this.properties,s=[...h$6(t),...o$b(t)];for(const i of s)this.createProperty(i,t[i]);}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(undefined!==s)for(const[t,i]of s)this.elementProperties.set(t,i);}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);undefined!==i&&this._$Eh.set(i,t);}this.elementStyles=this.finalizeStyles(this.styles);}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(c$9(s));}else undefined!==s&&i.push(c$9(s));return i}static _$Eu(t,s){const i=s.attribute;return false===i?undefined:"string"==typeof i?i:"string"==typeof t?t.toLowerCase():undefined}constructor(){super(),this._$Ep=undefined,this.isUpdatePending=false,this.hasUpdated=false,this._$Em=null,this._$Ev();}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)));}addController(t){(this._$EO??=new Set).add(t),undefined!==this.renderRoot&&this.isConnected&&t.hostConnected?.();}removeController(t){this._$EO?.delete(t);}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t);}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return S$6(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(true),this._$EO?.forEach((t=>t.hostConnected?.()));}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()));}attributeChangedCallback(t,s,i){this._$AK(t,i);}_$EC(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(undefined!==e&&true===i.reflect){const r=(undefined!==i.converter?.toAttribute?i.converter:u$8).toAttribute(s,i.type);this._$Em=t,null==r?this.removeAttribute(e):this.setAttribute(e,r),this._$Em=null;}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(undefined!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),r="function"==typeof t.converter?{fromAttribute:t.converter}:undefined!==t.converter?.fromAttribute?t.converter:u$8;this._$Em=e,this[e]=r.fromAttribute(s,t.type),this._$Em=null;}}requestUpdate(t,s,i){if(undefined!==t){if(i??=this.constructor.getPropertyOptions(t),!(i.hasChanged??f$6)(this[t],s))return;this.P(t,s,i);} false===this.isUpdatePending&&(this._$ES=this._$ET());}P(t,s,i){this._$AL.has(t)||this._$AL.set(t,s),true===i.reflect&&this._$Em!==t&&(this._$Ej??=new Set).add(t);}async _$ET(){this.isUpdatePending=true;try{await this._$ES;}catch(t){Promise.reject(t);}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=undefined;}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t) true!==i.wrapped||this._$AL.has(s)||undefined===this[s]||this.P(s,this[s],i);}let t=false;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$EO?.forEach((t=>t.hostUpdate?.())),this.update(s)):this._$EU();}catch(s){throw t=false,this._$EU(),s}t&&this._$AE(s);}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=true,this.firstUpdated(t)),this.updated(t);}_$EU(){this._$AL=new Map,this.isUpdatePending=false;}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return true}update(t){this._$Ej&&=this._$Ej.forEach((t=>this._$EC(t,this[t]))),this._$EU();}updated(t){}firstUpdated(t){}};b$3.elementStyles=[],b$3.shadowRootOptions={mode:"open"},b$3[d$6("elementProperties")]=new Map,b$3[d$6("finalized")]=new Map,p$6?.({ReactiveElement:b$3}),(a$8.reactiveElementVersions??=[]).push("2.0.4");
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* @license
|
|
16
16
|
* Copyright 2017 Google LLC
|
|
17
17
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
18
18
|
*/
|
|
19
|
-
const t$
|
|
19
|
+
const t$7=globalThis,i$e=t$7.trustedTypes,s$7=i$e?i$e.createPolicy("lit-html",{createHTML:t=>t}):undefined,e$b="$lit$",h$5=`lit$${Math.random().toFixed(9).slice(2)}$`,o$a="?"+h$5,n$9=`<${o$a}>`,r$a=document,l$7=()=>r$a.createComment(""),c$7=t=>null===t||"object"!=typeof t&&"function"!=typeof t,a$7=Array.isArray,u$7=t=>a$7(t)||"function"==typeof t?.[Symbol.iterator],d$5="[ \t\n\f\r]",f$5=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,v$3=/-->/g,_$3=/>/g,m$3=RegExp(`>|${d$5}(?:([^\\s"'>=/]+)(${d$5}*=${d$5}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),p$5=/'/g,g$3=/"/g,$$3=/^(?:script|style|textarea|title)$/i,y$5=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x$3=y$5(1),T$3=Symbol.for("lit-noChange"),E$3=Symbol.for("lit-nothing"),A$3=new WeakMap,C$3=r$a.createTreeWalker(r$a,129);function P$3(t,i){if(!a$7(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return undefined!==s$7?s$7.createHTML(i):i}const V$3=(t,i)=>{const s=t.length-1,o=[];let r,l=2===i?"<svg>":3===i?"<math>":"",c=f$5;for(let i=0;i<s;i++){const s=t[i];let a,u,d=-1,y=0;for(;y<s.length&&(c.lastIndex=y,u=c.exec(s),null!==u);)y=c.lastIndex,c===f$5?"!--"===u[1]?c=v$3:undefined!==u[1]?c=_$3:undefined!==u[2]?($$3.test(u[2])&&(r=RegExp("</"+u[2],"g")),c=m$3):undefined!==u[3]&&(c=m$3):c===m$3?">"===u[0]?(c=r??f$5,d=-1):undefined===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=undefined===u[3]?m$3:'"'===u[3]?g$3:p$5):c===g$3||c===p$5?c=m$3:c===v$3||c===_$3?c=f$5:(c=m$3,r=undefined);const x=c===m$3&&t[i+1].startsWith("/>")?" ":"";l+=c===f$5?s+n$9:d>=0?(o.push(a),s.slice(0,d)+e$b+s.slice(d)+h$5+x):s+h$5+(-2===d?i:x);}return [P$3(t,l+(t[s]||"<?>")+(2===i?"</svg>":3===i?"</math>":"")),o]};let N$3 = class N{constructor({strings:t,_$litType$:s},n){let r;this.parts=[];let c=0,a=0;const u=t.length-1,d=this.parts,[f,v]=V$3(t,s);if(this.el=N.createElement(f,n),C$3.currentNode=this.el.content,2===s||3===s){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes);}for(;null!==(r=C$3.nextNode())&&d.length<u;){if(1===r.nodeType){if(r.hasAttributes())for(const t of r.getAttributeNames())if(t.endsWith(e$b)){const i=v[a++],s=r.getAttribute(t).split(h$5),e=/([.?@])?(.*)/.exec(i);d.push({type:1,index:c,name:e[2],strings:s,ctor:"."===e[1]?H$3:"?"===e[1]?I$3:"@"===e[1]?L$3:k$3}),r.removeAttribute(t);}else t.startsWith(h$5)&&(d.push({type:6,index:c}),r.removeAttribute(t));if($$3.test(r.tagName)){const t=r.textContent.split(h$5),s=t.length-1;if(s>0){r.textContent=i$e?i$e.emptyScript:"";for(let i=0;i<s;i++)r.append(t[i],l$7()),C$3.nextNode(),d.push({type:2,index:++c});r.append(t[s],l$7());}}}else if(8===r.nodeType)if(r.data===o$a)d.push({type:2,index:c});else {let t=-1;for(;-1!==(t=r.data.indexOf(h$5,t+1));)d.push({type:7,index:c}),t+=h$5.length-1;}c++;}}static createElement(t,i){const s=r$a.createElement("template");return s.innerHTML=t,s}};function S$5(t,i,s=t,e){if(i===T$3)return i;let h=undefined!==e?s._$Co?.[e]:s._$Cl;const o=c$7(i)?undefined:i._$litDirective$;return h?.constructor!==o&&(h?._$AO?.(false),undefined===o?h=undefined:(h=new o(t),h._$AT(t,s,e)),undefined!==e?(s._$Co??=[])[e]=h:s._$Cl=h),undefined!==h&&(i=S$5(t,h._$AS(t,i.values),h,e)),i}let M$3 = class M{constructor(t,i){this._$AV=[],this._$AN=undefined,this._$AD=t,this._$AM=i;}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:i},parts:s}=this._$AD,e=(t?.creationScope??r$a).importNode(i,true);C$3.currentNode=e;let h=C$3.nextNode(),o=0,n=0,l=s[0];for(;undefined!==l;){if(o===l.index){let i;2===l.type?i=new R$3(h,h.nextSibling,this,t):1===l.type?i=new l.ctor(h,l.name,l.strings,this,t):6===l.type&&(i=new z$3(h,this,t)),this._$AV.push(i),l=s[++n];}o!==l?.index&&(h=C$3.nextNode(),o++);}return C$3.currentNode=r$a,e}p(t){let i=0;for(const s of this._$AV) undefined!==s&&(undefined!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++;}};let R$3 = class R{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,i,s,e){this.type=2,this._$AH=E$3,this._$AN=undefined,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cv=e?.isConnected??true;}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return undefined!==i&&11===t?.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=S$5(this,t,i),c$7(t)?t===E$3||null==t||""===t?(this._$AH!==E$3&&this._$AR(),this._$AH=E$3):t!==this._$AH&&t!==T$3&&this._(t):undefined!==t._$litType$?this.$(t):undefined!==t.nodeType?this.T(t):u$7(t)?this.k(t):this._(t);}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t));}_(t){this._$AH!==E$3&&c$7(this._$AH)?this._$AA.nextSibling.data=t:this.T(r$a.createTextNode(t)),this._$AH=t;}$(t){const{values:i,_$litType$:s}=t,e="number"==typeof s?this._$AC(t):(undefined===s.el&&(s.el=N$3.createElement(P$3(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===e)this._$AH.p(i);else {const t=new M$3(e,this),s=t.u(this.options);t.p(i),this.T(s),this._$AH=t;}}_$AC(t){let i=A$3.get(t.strings);return undefined===i&&A$3.set(t.strings,i=new N$3(t)),i}k(t){a$7(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const h of t)e===i.length?i.push(s=new R(this.O(l$7()),this.O(l$7()),this,this.options)):s=i[e],s._$AI(h),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e);}_$AR(t=this._$AA.nextSibling,i){for(this._$AP?.(false,true,i);t&&t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i;}}setConnected(t){ undefined===this._$AM&&(this._$Cv=t,this._$AP?.(t));}};let k$3 = class k{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,i,s,e,h){this.type=1,this._$AH=E$3,this._$AN=undefined,this.element=t,this.name=i,this._$AM=e,this.options=h,s.length>2||""!==s[0]||""!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=E$3;}_$AI(t,i=this,s,e){const h=this.strings;let o=false;if(undefined===h)t=S$5(this,t,i,0),o=!c$7(t)||t!==this._$AH&&t!==T$3,o&&(this._$AH=t);else {const e=t;let n,r;for(t=h[0],n=0;n<h.length-1;n++)r=S$5(this,e[s+n],i,n),r===T$3&&(r=this._$AH[n]),o||=!c$7(r)||r!==this._$AH[n],r===E$3?t=E$3:t!==E$3&&(t+=(r??"")+h[n+1]),this._$AH[n]=r;}o&&!e&&this.j(t);}j(t){t===E$3?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"");}};let H$3 = class H extends k$3{constructor(){super(...arguments),this.type=3;}j(t){this.element[this.name]=t===E$3?undefined:t;}};let I$3 = class I extends k$3{constructor(){super(...arguments),this.type=4;}j(t){this.element.toggleAttribute(this.name,!!t&&t!==E$3);}};let L$3 = class L extends k$3{constructor(t,i,s,e,h){super(t,i,s,e,h),this.type=5;}_$AI(t,i=this){if((t=S$5(this,t,i,0)??E$3)===T$3)return;const s=this._$AH,e=t===E$3&&s!==E$3||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,h=t!==E$3&&(s===E$3||e);e&&this.element.removeEventListener(this.name,this,s),h&&this.element.addEventListener(this.name,this,t),this._$AH=t;}handleEvent(t){"function"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t);}};let z$3 = class z{constructor(t,i,s){this.element=t,this.type=6,this._$AN=undefined,this._$AM=i,this.options=s;}get _$AU(){return this._$AM._$AU}_$AI(t){S$5(this,t);}};const j$3=t$7.litHtmlPolyfillSupport;j$3?.(N$3,R$3),(t$7.litHtmlVersions??=[]).push("3.2.1");const B$3=(t,i,s)=>{const e=s?.renderBefore??i;let h=e._$litPart$;if(undefined===h){const t=s?.renderBefore??null;e._$litPart$=h=new R$3(i.insertBefore(l$7(),t),t,undefined,s??{});}return h._$AI(t),h};
|
|
20
20
|
|
|
21
21
|
/**
|
|
22
22
|
* @license
|
|
23
23
|
* Copyright 2017 Google LLC
|
|
24
24
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
25
|
-
*/let r$
|
|
25
|
+
*/let r$9 = class r extends b$3{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=undefined;}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const s=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=B$3(s,this.renderRoot,this.renderOptions);}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(true);}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(false);}render(){return T$3}};r$9._$litElement$=true,r$9["finalized"]=true,globalThis.litElementHydrateSupport?.({LitElement:r$9});const i$d=globalThis.litElementPolyfillSupport;i$d?.({LitElement:r$9});(globalThis.litElementVersions??=[]).push("4.1.1");
|
|
26
26
|
|
|
27
27
|
/**
|
|
28
28
|
* @license
|
|
29
29
|
* Copyright 2017 Google LLC
|
|
30
30
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
31
31
|
*/
|
|
32
|
-
const t$
|
|
32
|
+
const t$6={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e$a=t=>(...e)=>({_$litDirective$:t,values:e});let i$c = 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)}};
|
|
33
33
|
|
|
34
34
|
/**
|
|
35
35
|
* @license
|
|
36
36
|
* Copyright 2018 Google LLC
|
|
37
37
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
38
|
-
*/const e$
|
|
38
|
+
*/const e$9=e$a(class extends i$c{constructor(t){if(super(t),t.type!==t$6.ATTRIBUTE||"class"!==t.name||t.strings?.length>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(t){return " "+Object.keys(t).filter((s=>t[s])).join(" ")+" "}update(s,[i]){if(undefined===this.st){this.st=new Set,undefined!==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$3}});
|
|
39
39
|
|
|
40
40
|
/**
|
|
41
41
|
* @license
|
|
42
42
|
* Copyright 2020 Google LLC
|
|
43
43
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
44
44
|
*/
|
|
45
|
-
const a$
|
|
45
|
+
const a$6=Symbol.for(""),o$9=t=>{if(t?.r===a$6)return t?._$litStatic$},s$6=t=>({_$litStatic$:t,r:a$6}),i$b=(t,...r)=>({_$litStatic$:r.reduce(((r,e,a)=>r+(t=>{if(undefined!==t._$litStatic$)return t._$litStatic$;throw Error(`Value passed to 'literal' function must be a 'literal' result: ${t}. Use 'unsafeStatic' to pass non-literal values, but\n take care to ensure page security.`)})(e)+t[a+1]),t[0]),r:a$6}),l$6=new Map,n$8=t=>(r,...e)=>{const a=e.length;let s,i;const n=[],u=[];let c,$=0,f=false;for(;$<a;){for(c=r[$];$<a&&undefined!==(i=e[$],s=o$9(i));)c+=s+r[++$],f=true;$!==a&&u.push(i),n.push(c),$++;}if($===a&&n.push(r[a]),f){const t=n.join("$$lit$$");undefined===(r=l$6.get(t))&&(n.raw=n,l$6.set(t,r=n)),e=u;}return t(r,...e)},u$6=n$8(x$3);
|
|
46
46
|
|
|
47
47
|
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
48
48
|
// See LICENSE in the project root for license information.
|
|
@@ -51,7 +51,7 @@ const a$3=Symbol.for(""),o$5=t=>{if(t?.r===a$3)return t?._$litStatic$},s$3=t=>({
|
|
|
51
51
|
|
|
52
52
|
/* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
|
|
53
53
|
|
|
54
|
-
let AuroLibraryRuntimeUtils$
|
|
54
|
+
let AuroLibraryRuntimeUtils$3 = class AuroLibraryRuntimeUtils {
|
|
55
55
|
|
|
56
56
|
/* eslint-disable jsdoc/require-param */
|
|
57
57
|
|
|
@@ -120,7 +120,7 @@ let AuroLibraryRuntimeUtils$1 = class AuroLibraryRuntimeUtils {
|
|
|
120
120
|
|
|
121
121
|
class AuroFormValidation {
|
|
122
122
|
constructor() {
|
|
123
|
-
this.runtimeUtils = new AuroLibraryRuntimeUtils$
|
|
123
|
+
this.runtimeUtils = new AuroLibraryRuntimeUtils$3();
|
|
124
124
|
}
|
|
125
125
|
|
|
126
126
|
/**
|
|
@@ -148,30 +148,87 @@ class AuroFormValidation {
|
|
|
148
148
|
}
|
|
149
149
|
|
|
150
150
|
/**
|
|
151
|
-
*
|
|
152
|
-
*
|
|
153
|
-
* @param {
|
|
151
|
+
* Validates the attributes of a given element based on predefined validation rules.
|
|
152
|
+
*
|
|
153
|
+
* @param {HTMLElement} elem - The element to be validated.
|
|
154
154
|
* @returns {void}
|
|
155
|
+
*
|
|
156
|
+
* @example
|
|
157
|
+
* // Assuming `inputElement` is a reference to an input element in the DOM
|
|
158
|
+
* validateElementAttributes(inputElement);
|
|
159
|
+
*
|
|
160
|
+
* The function checks the element's attributes against the validation rules defined for 'input' and 'counter' types.
|
|
161
|
+
* If a validation rule is violated, it sets the element's validity state and error message accordingly.
|
|
162
|
+
*
|
|
163
|
+
* Validation rules:
|
|
164
|
+
* - input:
|
|
165
|
+
* - length:
|
|
166
|
+
* - tooShort: Checks if the value length is less than the minimum length.
|
|
167
|
+
* - tooLong: Checks if the value length exceeds the maximum length.
|
|
168
|
+
* - pattern:
|
|
169
|
+
* - patternMismatch: Checks if the value does not match the specified pattern.
|
|
170
|
+
* - counter:
|
|
171
|
+
* - range:
|
|
172
|
+
* - rangeOverflow: Checks if the value exceeds the maximum value.
|
|
173
|
+
* - rangeUnderflow: Checks if the value is less than the minimum value.
|
|
155
174
|
*/
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
175
|
+
validateElementAttributes(elem) {
|
|
176
|
+
const validationRules = {
|
|
177
|
+
input: {
|
|
178
|
+
length: [
|
|
179
|
+
{
|
|
180
|
+
check: (e) => e.value?.length > 0 && e.value?.length < e.minLength,
|
|
181
|
+
validity: 'tooShort',
|
|
182
|
+
message: e => e.setCustomValidityTooShort || e.setCustomValidity || ''
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
check: (e) => e.value?.length > e.maxLength,
|
|
186
|
+
validity: 'tooLong',
|
|
187
|
+
message: e => e.setCustomValidityTooLong || e.setCustomValidity || ''
|
|
188
|
+
}
|
|
189
|
+
],
|
|
190
|
+
pattern: [
|
|
191
|
+
{
|
|
192
|
+
check: (e) => e.pattern && !new RegExp(`^${e.pattern}$`, 'u').test(e.value),
|
|
193
|
+
validity: 'patternMismatch',
|
|
194
|
+
message: e => e.setCustomValidityPatternMismatch || e.setCustomValidity || ''
|
|
195
|
+
}
|
|
196
|
+
]
|
|
197
|
+
},
|
|
198
|
+
counter: {
|
|
199
|
+
range: [
|
|
200
|
+
{
|
|
201
|
+
check: (e) => e.max !== undefined && Number(e.max) < Number(e.value),
|
|
202
|
+
validity: 'rangeOverflow',
|
|
203
|
+
message: e => e.getAttribute('setCustomValidityRangeOverflow') || ''
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
check: (e) => e.min !== undefined && Number(e.min) > Number(e.value),
|
|
207
|
+
validity: 'rangeUnderflow',
|
|
208
|
+
message: e => e.getAttribute('setCustomValidityRangeUnderflow') || ''
|
|
209
|
+
}
|
|
210
|
+
]
|
|
163
211
|
}
|
|
212
|
+
};
|
|
213
|
+
|
|
214
|
+
let elementType;
|
|
215
|
+
if (this.runtimeUtils.elementMatch(elem, 'auro-input')) {
|
|
216
|
+
elementType = 'input';
|
|
217
|
+
} else if (this.runtimeUtils.elementMatch(elem, 'auro-counter') || this.runtimeUtils.elementMatch(elem, 'auro-counter-group')) {
|
|
218
|
+
elementType = 'counter';
|
|
164
219
|
}
|
|
165
|
-
|
|
166
|
-
// Length > 0 is required to prevent the error message from showing when the input is empty
|
|
167
|
-
if (elem.value?.length > 0 && elem.value?.length < elem.minLength) {
|
|
168
|
-
elem.validity = 'tooShort';
|
|
169
|
-
elem.errorMessage = elem.setCustomValidityTooShort || elem.setCustomValidity || '';
|
|
170
|
-
}
|
|
171
220
|
|
|
172
|
-
if (
|
|
173
|
-
|
|
174
|
-
|
|
221
|
+
if (elementType) {
|
|
222
|
+
const rules = validationRules[elementType];
|
|
223
|
+
|
|
224
|
+
if (rules) {
|
|
225
|
+
Object.values(rules).flat().forEach(rule => {
|
|
226
|
+
if (rule.check(elem)) {
|
|
227
|
+
elem.validity = rule.validity;
|
|
228
|
+
elem.errorMessage = rule.message(elem);
|
|
229
|
+
}
|
|
230
|
+
});
|
|
231
|
+
}
|
|
175
232
|
}
|
|
176
233
|
}
|
|
177
234
|
|
|
@@ -281,7 +338,9 @@ class AuroFormValidation {
|
|
|
281
338
|
elem.errorMessage = elem.setCustomValidityValueMissing || elem.setCustomValidity || '';
|
|
282
339
|
} else if (this.runtimeUtils.elementMatch(elem, 'auro-input')) {
|
|
283
340
|
this.validateType(elem);
|
|
284
|
-
this.
|
|
341
|
+
this.validateElementAttributes(elem);
|
|
342
|
+
} else if (this.runtimeUtils.elementMatch(elem, 'auro-counter') || this.runtimeUtils.elementMatch(elem, 'auro-counter-group')) {
|
|
343
|
+
this.validateElementAttributes(elem);
|
|
285
344
|
}
|
|
286
345
|
}
|
|
287
346
|
|
|
@@ -373,7 +432,7 @@ class AuroFormValidation {
|
|
|
373
432
|
// See LICENSE in the project root for license information.
|
|
374
433
|
|
|
375
434
|
|
|
376
|
-
let AuroDependencyVersioning$
|
|
435
|
+
let AuroDependencyVersioning$2 = class AuroDependencyVersioning {
|
|
377
436
|
|
|
378
437
|
/**
|
|
379
438
|
* Generates a unique string to be used for child auro element naming.
|
|
@@ -399,7 +458,7 @@ let AuroDependencyVersioning$1 = class AuroDependencyVersioning {
|
|
|
399
458
|
*/
|
|
400
459
|
generateTag(baseName, version, tagClass) {
|
|
401
460
|
const elementName = this.generateElementName(baseName, version);
|
|
402
|
-
const tag = i$
|
|
461
|
+
const tag = i$b`${s$6(elementName)}`;
|
|
403
462
|
|
|
404
463
|
if (!customElements.get(elementName)) {
|
|
405
464
|
customElements.define(elementName, class extends tagClass {});
|
|
@@ -414,33 +473,33 @@ let AuroDependencyVersioning$1 = class AuroDependencyVersioning {
|
|
|
414
473
|
* Copyright 2017 Google LLC
|
|
415
474
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
416
475
|
*/
|
|
417
|
-
const t$
|
|
476
|
+
const t$4=globalThis,i$9=t$4.trustedTypes,s$4=i$9?i$9.createPolicy("lit-html",{createHTML:t=>t}):undefined,e$7="$lit$",h$3=`lit$${Math.random().toFixed(9).slice(2)}$`,o$7="?"+h$3,n$6=`<${o$7}>`,r$7=document,l$4=()=>r$7.createComment(""),c$5=t=>null===t||"object"!=typeof t&&"function"!=typeof t,a$4=Array.isArray,u$4=t=>a$4(t)||"function"==typeof t?.[Symbol.iterator],d$3="[ \t\n\f\r]",f$3=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,v$1=/-->/g,_$1=/>/g,m$1=RegExp(`>|${d$3}(?:([^\\s"'>=/]+)(${d$3}*=${d$3}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),p$3=/'/g,g$1=/"/g,$$1=/^(?:script|style|textarea|title)$/i,y$3=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x$1=y$3(1),T$1=Symbol.for("lit-noChange"),E$1=Symbol.for("lit-nothing"),A$1=new WeakMap,C$1=r$7.createTreeWalker(r$7,129);function P$1(t,i){if(!a$4(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return undefined!==s$4?s$4.createHTML(i):i}const V$1=(t,i)=>{const s=t.length-1,o=[];let r,l=2===i?"<svg>":3===i?"<math>":"",c=f$3;for(let i=0;i<s;i++){const s=t[i];let a,u,d=-1,y=0;for(;y<s.length&&(c.lastIndex=y,u=c.exec(s),null!==u);)y=c.lastIndex,c===f$3?"!--"===u[1]?c=v$1:undefined!==u[1]?c=_$1:undefined!==u[2]?($$1.test(u[2])&&(r=RegExp("</"+u[2],"g")),c=m$1):undefined!==u[3]&&(c=m$1):c===m$1?">"===u[0]?(c=r??f$3,d=-1):undefined===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=undefined===u[3]?m$1:'"'===u[3]?g$1:p$3):c===g$1||c===p$3?c=m$1:c===v$1||c===_$1?c=f$3:(c=m$1,r=undefined);const x=c===m$1&&t[i+1].startsWith("/>")?" ":"";l+=c===f$3?s+n$6:d>=0?(o.push(a),s.slice(0,d)+e$7+s.slice(d)+h$3+x):s+h$3+(-2===d?i:x);}return [P$1(t,l+(t[s]||"<?>")+(2===i?"</svg>":3===i?"</math>":"")),o]};let N$1 = class N{constructor({strings:t,_$litType$:s},n){let r;this.parts=[];let c=0,a=0;const u=t.length-1,d=this.parts,[f,v]=V$1(t,s);if(this.el=N.createElement(f,n),C$1.currentNode=this.el.content,2===s||3===s){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes);}for(;null!==(r=C$1.nextNode())&&d.length<u;){if(1===r.nodeType){if(r.hasAttributes())for(const t of r.getAttributeNames())if(t.endsWith(e$7)){const i=v[a++],s=r.getAttribute(t).split(h$3),e=/([.?@])?(.*)/.exec(i);d.push({type:1,index:c,name:e[2],strings:s,ctor:"."===e[1]?H$1:"?"===e[1]?I$1:"@"===e[1]?L$1:k$1}),r.removeAttribute(t);}else t.startsWith(h$3)&&(d.push({type:6,index:c}),r.removeAttribute(t));if($$1.test(r.tagName)){const t=r.textContent.split(h$3),s=t.length-1;if(s>0){r.textContent=i$9?i$9.emptyScript:"";for(let i=0;i<s;i++)r.append(t[i],l$4()),C$1.nextNode(),d.push({type:2,index:++c});r.append(t[s],l$4());}}}else if(8===r.nodeType)if(r.data===o$7)d.push({type:2,index:c});else {let t=-1;for(;-1!==(t=r.data.indexOf(h$3,t+1));)d.push({type:7,index:c}),t+=h$3.length-1;}c++;}}static createElement(t,i){const s=r$7.createElement("template");return s.innerHTML=t,s}};function S$3(t,i,s=t,e){if(i===T$1)return i;let h=undefined!==e?s._$Co?.[e]:s._$Cl;const o=c$5(i)?undefined:i._$litDirective$;return h?.constructor!==o&&(h?._$AO?.(false),undefined===o?h=undefined:(h=new o(t),h._$AT(t,s,e)),undefined!==e?(s._$Co??=[])[e]=h:s._$Cl=h),undefined!==h&&(i=S$3(t,h._$AS(t,i.values),h,e)),i}let M$1 = class M{constructor(t,i){this._$AV=[],this._$AN=undefined,this._$AD=t,this._$AM=i;}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:i},parts:s}=this._$AD,e=(t?.creationScope??r$7).importNode(i,true);C$1.currentNode=e;let h=C$1.nextNode(),o=0,n=0,l=s[0];for(;undefined!==l;){if(o===l.index){let i;2===l.type?i=new R$1(h,h.nextSibling,this,t):1===l.type?i=new l.ctor(h,l.name,l.strings,this,t):6===l.type&&(i=new z$1(h,this,t)),this._$AV.push(i),l=s[++n];}o!==l?.index&&(h=C$1.nextNode(),o++);}return C$1.currentNode=r$7,e}p(t){let i=0;for(const s of this._$AV) undefined!==s&&(undefined!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++;}};let R$1 = class R{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,i,s,e){this.type=2,this._$AH=E$1,this._$AN=undefined,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cv=e?.isConnected??true;}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return undefined!==i&&11===t?.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=S$3(this,t,i),c$5(t)?t===E$1||null==t||""===t?(this._$AH!==E$1&&this._$AR(),this._$AH=E$1):t!==this._$AH&&t!==T$1&&this._(t):undefined!==t._$litType$?this.$(t):undefined!==t.nodeType?this.T(t):u$4(t)?this.k(t):this._(t);}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t));}_(t){this._$AH!==E$1&&c$5(this._$AH)?this._$AA.nextSibling.data=t:this.T(r$7.createTextNode(t)),this._$AH=t;}$(t){const{values:i,_$litType$:s}=t,e="number"==typeof s?this._$AC(t):(undefined===s.el&&(s.el=N$1.createElement(P$1(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===e)this._$AH.p(i);else {const t=new M$1(e,this),s=t.u(this.options);t.p(i),this.T(s),this._$AH=t;}}_$AC(t){let i=A$1.get(t.strings);return undefined===i&&A$1.set(t.strings,i=new N$1(t)),i}k(t){a$4(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const h of t)e===i.length?i.push(s=new R(this.O(l$4()),this.O(l$4()),this,this.options)):s=i[e],s._$AI(h),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e);}_$AR(t=this._$AA.nextSibling,i){for(this._$AP?.(false,true,i);t&&t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i;}}setConnected(t){ undefined===this._$AM&&(this._$Cv=t,this._$AP?.(t));}};let k$1 = class k{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,i,s,e,h){this.type=1,this._$AH=E$1,this._$AN=undefined,this.element=t,this.name=i,this._$AM=e,this.options=h,s.length>2||""!==s[0]||""!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=E$1;}_$AI(t,i=this,s,e){const h=this.strings;let o=false;if(undefined===h)t=S$3(this,t,i,0),o=!c$5(t)||t!==this._$AH&&t!==T$1,o&&(this._$AH=t);else {const e=t;let n,r;for(t=h[0],n=0;n<h.length-1;n++)r=S$3(this,e[s+n],i,n),r===T$1&&(r=this._$AH[n]),o||=!c$5(r)||r!==this._$AH[n],r===E$1?t=E$1:t!==E$1&&(t+=(r??"")+h[n+1]),this._$AH[n]=r;}o&&!e&&this.j(t);}j(t){t===E$1?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"");}};let H$1 = class H extends k$1{constructor(){super(...arguments),this.type=3;}j(t){this.element[this.name]=t===E$1?undefined:t;}};let I$1 = class I extends k$1{constructor(){super(...arguments),this.type=4;}j(t){this.element.toggleAttribute(this.name,!!t&&t!==E$1);}};let L$1 = class L extends k$1{constructor(t,i,s,e,h){super(t,i,s,e,h),this.type=5;}_$AI(t,i=this){if((t=S$3(this,t,i,0)??E$1)===T$1)return;const s=this._$AH,e=t===E$1&&s!==E$1||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,h=t!==E$1&&(s===E$1||e);e&&this.element.removeEventListener(this.name,this,s),h&&this.element.addEventListener(this.name,this,t),this._$AH=t;}handleEvent(t){"function"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t);}};let z$1 = class z{constructor(t,i,s){this.element=t,this.type=6,this._$AN=undefined,this._$AM=i,this.options=s;}get _$AU(){return this._$AM._$AU}_$AI(t){S$3(this,t);}};const j$1=t$4.litHtmlPolyfillSupport;j$1?.(N$1,R$1),(t$4.litHtmlVersions??=[]).push("3.2.1");const B$1=(t,i,s)=>{const e=s?.renderBefore??i;let h=e._$litPart$;if(undefined===h){const t=s?.renderBefore??null;e._$litPart$=h=new R$1(i.insertBefore(l$4(),t),t,undefined,s??{});}return h._$AI(t),h};
|
|
418
477
|
|
|
419
478
|
/**
|
|
420
479
|
* @license
|
|
421
480
|
* Copyright 2020 Google LLC
|
|
422
481
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
423
482
|
*/
|
|
424
|
-
const a$
|
|
483
|
+
const a$3=Symbol.for(""),o$6=t=>{if(t?.r===a$3)return t?._$litStatic$},s$3=t=>({_$litStatic$:t,r:a$3}),i$8=(t,...r)=>({_$litStatic$:r.reduce(((r,e,a)=>r+(t=>{if(undefined!==t._$litStatic$)return t._$litStatic$;throw Error(`Value passed to 'literal' function must be a 'literal' result: ${t}. Use 'unsafeStatic' to pass non-literal values, but\n take care to ensure page security.`)})(e)+t[a+1]),t[0]),r:a$3}),l$3=new Map,n$5=t=>(r,...e)=>{const a=e.length;let s,i;const n=[],u=[];let c,$=0,f=false;for(;$<a;){for(c=r[$];$<a&&undefined!==(i=e[$],s=o$6(i));)c+=s+r[++$],f=true;$!==a&&u.push(i),n.push(c),$++;}if($===a&&n.push(r[a]),f){const t=n.join("$$lit$$");undefined===(r=l$3.get(t))&&(n.raw=n,l$3.set(t,r=n)),e=u;}return t(r,...e)},u$3=n$5(x$1);
|
|
425
484
|
|
|
426
485
|
/**
|
|
427
486
|
* @license
|
|
428
487
|
* Copyright 2019 Google LLC
|
|
429
488
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
430
489
|
*/
|
|
431
|
-
const t$
|
|
490
|
+
const t$3=globalThis,e$6=t$3.ShadowRoot&&(undefined===t$3.ShadyCSS||t$3.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,s$2$1=Symbol(),o$5=new WeakMap;let n$4 = class n{constructor(t,e,o){if(this._$cssResult$=true,o!==s$2$1)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e;}get styleSheet(){let t=this.o;const s=this.t;if(e$6&&undefined===t){const e=undefined!==s&&1===s.length;e&&(t=o$5.get(s)),undefined===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o$5.set(s,t));}return t}toString(){return this.cssText}};const r$6=t=>new n$4("string"==typeof t?t:t+"",undefined,s$2$1),i$7=(t,...e)=>{const o=1===t.length?t[0]:e.reduce(((e,s,o)=>e+(t=>{if(true===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(s)+t[o+1]),t[0]);return new n$4(o,t,s$2$1)},S$2=(s,o)=>{if(e$6)s.adoptedStyleSheets=o.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of o){const o=document.createElement("style"),n=t$3.litNonce;undefined!==n&&o.setAttribute("nonce",n),o.textContent=e.cssText,s.appendChild(o);}},c$4=e$6?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const s of t.cssRules)e+=s.cssText;return r$6(e)})(t):t;
|
|
432
491
|
|
|
433
492
|
/**
|
|
434
493
|
* @license
|
|
435
494
|
* Copyright 2017 Google LLC
|
|
436
495
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
437
|
-
*/const{is:i$
|
|
496
|
+
*/const{is:i$6,defineProperty:e$5,getOwnPropertyDescriptor:r$5,getOwnPropertyNames:h$2,getOwnPropertySymbols:o$4$1,getPrototypeOf:n$3$1}=Object,a$2$1=globalThis,c$3=a$2$1.trustedTypes,l$2$1=c$3?c$3.emptyScript:"",p$2=a$2$1.reactiveElementPolyfillSupport,d$2=(t,s)=>t,u$2$1={toAttribute(t,s){switch(s){case Boolean:t=t?l$2$1:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t);}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t);}catch(t){i=null;}}return i}},f$2=(t,s)=>!i$6(t,s),y$2={attribute:true,type:String,converter:u$2$1,reflect:false,hasChanged:f$2};Symbol.metadata??=Symbol("metadata"),a$2$1.litPropertyMetadata??=new WeakMap;let b$1 = class b extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t);}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=y$2){if(s.state&&(s.attribute=false),this._$Ei(),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),r=this.getPropertyDescriptor(t,i,s);undefined!==r&&e$5(this.prototype,t,r);}}static getPropertyDescriptor(t,s,i){const{get:e,set:h}=r$5(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t;}};return {get(){return e?.call(this)},set(s){const r=e?.call(this);h.call(this,s),this.requestUpdate(t,r,i);},configurable:true,enumerable:true}}static getPropertyOptions(t){return this.elementProperties.get(t)??y$2}static _$Ei(){if(this.hasOwnProperty(d$2("elementProperties")))return;const t=n$3$1(this);t.finalize(),undefined!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties);}static finalize(){if(this.hasOwnProperty(d$2("finalized")))return;if(this.finalized=true,this._$Ei(),this.hasOwnProperty(d$2("properties"))){const t=this.properties,s=[...h$2(t),...o$4$1(t)];for(const i of s)this.createProperty(i,t[i]);}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(undefined!==s)for(const[t,i]of s)this.elementProperties.set(t,i);}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);undefined!==i&&this._$Eh.set(i,t);}this.elementStyles=this.finalizeStyles(this.styles);}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(c$4(s));}else undefined!==s&&i.push(c$4(s));return i}static _$Eu(t,s){const i=s.attribute;return false===i?undefined:"string"==typeof i?i:"string"==typeof t?t.toLowerCase():undefined}constructor(){super(),this._$Ep=undefined,this.isUpdatePending=false,this.hasUpdated=false,this._$Em=null,this._$Ev();}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)));}addController(t){(this._$EO??=new Set).add(t),undefined!==this.renderRoot&&this.isConnected&&t.hostConnected?.();}removeController(t){this._$EO?.delete(t);}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t);}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return S$2(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(true),this._$EO?.forEach((t=>t.hostConnected?.()));}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()));}attributeChangedCallback(t,s,i){this._$AK(t,i);}_$EC(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(undefined!==e&&true===i.reflect){const r=(undefined!==i.converter?.toAttribute?i.converter:u$2$1).toAttribute(s,i.type);this._$Em=t,null==r?this.removeAttribute(e):this.setAttribute(e,r),this._$Em=null;}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(undefined!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),r="function"==typeof t.converter?{fromAttribute:t.converter}:undefined!==t.converter?.fromAttribute?t.converter:u$2$1;this._$Em=e,this[e]=r.fromAttribute(s,t.type),this._$Em=null;}}requestUpdate(t,s,i){if(undefined!==t){if(i??=this.constructor.getPropertyOptions(t),!(i.hasChanged??f$2)(this[t],s))return;this.P(t,s,i);} false===this.isUpdatePending&&(this._$ES=this._$ET());}P(t,s,i){this._$AL.has(t)||this._$AL.set(t,s),true===i.reflect&&this._$Em!==t&&(this._$Ej??=new Set).add(t);}async _$ET(){this.isUpdatePending=true;try{await this._$ES;}catch(t){Promise.reject(t);}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=undefined;}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t) true!==i.wrapped||this._$AL.has(s)||undefined===this[s]||this.P(s,this[s],i);}let t=false;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$EO?.forEach((t=>t.hostUpdate?.())),this.update(s)):this._$EU();}catch(s){throw t=false,this._$EU(),s}t&&this._$AE(s);}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=true,this.firstUpdated(t)),this.updated(t);}_$EU(){this._$AL=new Map,this.isUpdatePending=false;}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return true}update(t){this._$Ej&&=this._$Ej.forEach((t=>this._$EC(t,this[t]))),this._$EU();}updated(t){}firstUpdated(t){}};b$1.elementStyles=[],b$1.shadowRootOptions={mode:"open"},b$1[d$2("elementProperties")]=new Map,b$1[d$2("finalized")]=new Map,p$2?.({ReactiveElement:b$1}),(a$2$1.reactiveElementVersions??=[]).push("2.0.4");
|
|
438
497
|
|
|
439
498
|
/**
|
|
440
499
|
* @license
|
|
441
500
|
* Copyright 2017 Google LLC
|
|
442
501
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
443
|
-
*/class r extends b{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=
|
|
502
|
+
*/let r$4 = class r extends b$1{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=undefined;}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const s=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=B$1(s,this.renderRoot,this.renderOptions);}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(true);}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(false);}render(){return T$1}};r$4._$litElement$=true,r$4["finalized"]=true,globalThis.litElementHydrateSupport?.({LitElement:r$4});const i$5$1=globalThis.litElementPolyfillSupport;i$5$1?.({LitElement:r$4});(globalThis.litElementVersions??=[]).push("4.1.1");
|
|
444
503
|
|
|
445
504
|
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
446
505
|
// See LICENSE in the project root for license information.
|
|
@@ -449,7 +508,7 @@ const t$1=globalThis,e$3=t$1.ShadowRoot&&(void 0===t$1.ShadyCSS||t$1.ShadyCSS.na
|
|
|
449
508
|
|
|
450
509
|
/* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
|
|
451
510
|
|
|
452
|
-
class AuroLibraryRuntimeUtils {
|
|
511
|
+
let AuroLibraryRuntimeUtils$1 = class AuroLibraryRuntimeUtils {
|
|
453
512
|
|
|
454
513
|
/* eslint-disable jsdoc/require-param */
|
|
455
514
|
|
|
@@ -510,7 +569,7 @@ class AuroLibraryRuntimeUtils {
|
|
|
510
569
|
|
|
511
570
|
return elemTag === tag || elem.hasAttribute(tag);
|
|
512
571
|
}
|
|
513
|
-
}
|
|
572
|
+
};
|
|
514
573
|
|
|
515
574
|
/**
|
|
516
575
|
* Custom positioning reference element.
|
|
@@ -560,7 +619,7 @@ function getAlignmentAxis(placement) {
|
|
|
560
619
|
return getOppositeAxis(getSideAxis(placement));
|
|
561
620
|
}
|
|
562
621
|
function getAlignmentSides(placement, rects, rtl) {
|
|
563
|
-
if (rtl ===
|
|
622
|
+
if (rtl === undefined) {
|
|
564
623
|
rtl = false;
|
|
565
624
|
}
|
|
566
625
|
const alignment = getAlignment(placement);
|
|
@@ -717,7 +776,7 @@ const computePosition$1 = async (reference, floating, config) => {
|
|
|
717
776
|
platform
|
|
718
777
|
} = config;
|
|
719
778
|
const validMiddleware = middleware.filter(Boolean);
|
|
720
|
-
const rtl = await (platform.isRTL == null ?
|
|
779
|
+
const rtl = await (platform.isRTL == null ? undefined : platform.isRTL(floating));
|
|
721
780
|
let rects = await platform.getElementRects({
|
|
722
781
|
reference,
|
|
723
782
|
floating,
|
|
@@ -803,7 +862,7 @@ const computePosition$1 = async (reference, floating, config) => {
|
|
|
803
862
|
*/
|
|
804
863
|
async function detectOverflow(state, options) {
|
|
805
864
|
var _await$platform$isEle;
|
|
806
|
-
if (options ===
|
|
865
|
+
if (options === undefined) {
|
|
807
866
|
options = {};
|
|
808
867
|
}
|
|
809
868
|
const {
|
|
@@ -825,7 +884,7 @@ async function detectOverflow(state, options) {
|
|
|
825
884
|
const altContext = elementContext === 'floating' ? 'reference' : 'floating';
|
|
826
885
|
const element = elements[altBoundary ? altContext : elementContext];
|
|
827
886
|
const clippingClientRect = rectToClientRect(await platform.getClippingRect({
|
|
828
|
-
element: ((_await$platform$isEle = await (platform.isElement == null ?
|
|
887
|
+
element: ((_await$platform$isEle = await (platform.isElement == null ? undefined : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? undefined : platform.getDocumentElement(elements.floating))),
|
|
829
888
|
boundary,
|
|
830
889
|
rootBoundary,
|
|
831
890
|
strategy
|
|
@@ -836,8 +895,8 @@ async function detectOverflow(state, options) {
|
|
|
836
895
|
width: rects.floating.width,
|
|
837
896
|
height: rects.floating.height
|
|
838
897
|
} : rects.reference;
|
|
839
|
-
const offsetParent = await (platform.getOffsetParent == null ?
|
|
840
|
-
const offsetScale = (await (platform.isElement == null ?
|
|
898
|
+
const offsetParent = await (platform.getOffsetParent == null ? undefined : platform.getOffsetParent(elements.floating));
|
|
899
|
+
const offsetScale = (await (platform.isElement == null ? undefined : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? undefined : platform.getScale(offsetParent))) || {
|
|
841
900
|
x: 1,
|
|
842
901
|
y: 1
|
|
843
902
|
} : {
|
|
@@ -874,7 +933,7 @@ function getPlacementList(alignment, autoAlignment, allowedPlacements) {
|
|
|
874
933
|
* @see https://floating-ui.com/docs/autoPlacement
|
|
875
934
|
*/
|
|
876
935
|
const autoPlacement$1 = function (options) {
|
|
877
|
-
if (options ===
|
|
936
|
+
if (options === undefined) {
|
|
878
937
|
options = {};
|
|
879
938
|
}
|
|
880
939
|
return {
|
|
@@ -898,12 +957,12 @@ const autoPlacement$1 = function (options) {
|
|
|
898
957
|
} = evaluate(options, state);
|
|
899
958
|
const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;
|
|
900
959
|
const overflow = await detectOverflow(state, detectOverflowOptions);
|
|
901
|
-
const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ?
|
|
960
|
+
const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? undefined : _middlewareData$autoP.index) || 0;
|
|
902
961
|
const currentPlacement = placements$1[currentIndex];
|
|
903
962
|
if (currentPlacement == null) {
|
|
904
963
|
return {};
|
|
905
964
|
}
|
|
906
|
-
const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ?
|
|
965
|
+
const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? undefined : platform.isRTL(elements.floating)));
|
|
907
966
|
|
|
908
967
|
// Make `computeCoords` start from the right place.
|
|
909
968
|
if (placement !== currentPlacement) {
|
|
@@ -914,7 +973,7 @@ const autoPlacement$1 = function (options) {
|
|
|
914
973
|
};
|
|
915
974
|
}
|
|
916
975
|
const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];
|
|
917
|
-
const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ?
|
|
976
|
+
const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? undefined : _middlewareData$autoP2.overflows) || []), {
|
|
918
977
|
placement: currentPlacement,
|
|
919
978
|
overflows: currentOverflows
|
|
920
979
|
}];
|
|
@@ -944,7 +1003,7 @@ const autoPlacement$1 = function (options) {
|
|
|
944
1003
|
// Aligned placements should not check their opposite crossAxis
|
|
945
1004
|
// side.
|
|
946
1005
|
getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));
|
|
947
|
-
const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ?
|
|
1006
|
+
const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? undefined : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];
|
|
948
1007
|
if (resetPlacement !== placement) {
|
|
949
1008
|
return {
|
|
950
1009
|
data: {
|
|
@@ -968,7 +1027,7 @@ const autoPlacement$1 = function (options) {
|
|
|
968
1027
|
* @see https://floating-ui.com/docs/flip
|
|
969
1028
|
*/
|
|
970
1029
|
const flip$1 = function (options) {
|
|
971
|
-
if (options ===
|
|
1030
|
+
if (options === undefined) {
|
|
972
1031
|
options = {};
|
|
973
1032
|
}
|
|
974
1033
|
return {
|
|
@@ -1004,7 +1063,7 @@ const flip$1 = function (options) {
|
|
|
1004
1063
|
const side = getSide(placement);
|
|
1005
1064
|
const initialSideAxis = getSideAxis(initialPlacement);
|
|
1006
1065
|
const isBasePlacement = getSide(initialPlacement) === initialPlacement;
|
|
1007
|
-
const rtl = await (platform.isRTL == null ?
|
|
1066
|
+
const rtl = await (platform.isRTL == null ? undefined : platform.isRTL(elements.floating));
|
|
1008
1067
|
const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));
|
|
1009
1068
|
const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';
|
|
1010
1069
|
if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {
|
|
@@ -1013,7 +1072,7 @@ const flip$1 = function (options) {
|
|
|
1013
1072
|
const placements = [initialPlacement, ...fallbackPlacements];
|
|
1014
1073
|
const overflow = await detectOverflow(state, detectOverflowOptions);
|
|
1015
1074
|
const overflows = [];
|
|
1016
|
-
let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ?
|
|
1075
|
+
let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? undefined : _middlewareData$flip.overflows) || [];
|
|
1017
1076
|
if (checkMainAxis) {
|
|
1018
1077
|
overflows.push(overflow[side]);
|
|
1019
1078
|
}
|
|
@@ -1029,7 +1088,7 @@ const flip$1 = function (options) {
|
|
|
1029
1088
|
// One or more sides is overflowing.
|
|
1030
1089
|
if (!overflows.every(side => side <= 0)) {
|
|
1031
1090
|
var _middlewareData$flip2, _overflowsData$filter;
|
|
1032
|
-
const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ?
|
|
1091
|
+
const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? undefined : _middlewareData$flip2.index) || 0) + 1;
|
|
1033
1092
|
const nextPlacement = placements[nextIndex];
|
|
1034
1093
|
if (nextPlacement) {
|
|
1035
1094
|
// Try next placement and re-run the lifecycle.
|
|
@@ -1046,7 +1105,7 @@ const flip$1 = function (options) {
|
|
|
1046
1105
|
|
|
1047
1106
|
// First, find the candidates that fit on the mainAxis side of overflow,
|
|
1048
1107
|
// then find the placement that fits the best on the main crossAxis side.
|
|
1049
|
-
let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ?
|
|
1108
|
+
let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? undefined : _overflowsData$filter.placement;
|
|
1050
1109
|
|
|
1051
1110
|
// Otherwise fallback.
|
|
1052
1111
|
if (!resetPlacement) {
|
|
@@ -1063,7 +1122,7 @@ const flip$1 = function (options) {
|
|
|
1063
1122
|
currentSideAxis === 'y';
|
|
1064
1123
|
}
|
|
1065
1124
|
return true;
|
|
1066
|
-
}).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ?
|
|
1125
|
+
}).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? undefined : _overflowsData$filter2[0];
|
|
1067
1126
|
if (placement) {
|
|
1068
1127
|
resetPlacement = placement;
|
|
1069
1128
|
}
|
|
@@ -1096,7 +1155,7 @@ async function convertValueToCoords(state, options) {
|
|
|
1096
1155
|
platform,
|
|
1097
1156
|
elements
|
|
1098
1157
|
} = state;
|
|
1099
|
-
const rtl = await (platform.isRTL == null ?
|
|
1158
|
+
const rtl = await (platform.isRTL == null ? undefined : platform.isRTL(elements.floating));
|
|
1100
1159
|
const side = getSide(placement);
|
|
1101
1160
|
const alignment = getAlignment(placement);
|
|
1102
1161
|
const isVertical = getSideAxis(placement) === 'y';
|
|
@@ -1138,7 +1197,7 @@ async function convertValueToCoords(state, options) {
|
|
|
1138
1197
|
* @see https://floating-ui.com/docs/offset
|
|
1139
1198
|
*/
|
|
1140
1199
|
const offset$1 = function (options) {
|
|
1141
|
-
if (options ===
|
|
1200
|
+
if (options === undefined) {
|
|
1142
1201
|
options = 0;
|
|
1143
1202
|
}
|
|
1144
1203
|
return {
|
|
@@ -1156,7 +1215,7 @@ const offset$1 = function (options) {
|
|
|
1156
1215
|
|
|
1157
1216
|
// If the placement is the same and the arrow caused an alignment offset
|
|
1158
1217
|
// then we don't need to change the positioning coordinates.
|
|
1159
|
-
if (placement === ((_middlewareData$offse = middlewareData.offset) == null ?
|
|
1218
|
+
if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? undefined : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {
|
|
1160
1219
|
return {};
|
|
1161
1220
|
}
|
|
1162
1221
|
return {
|
|
@@ -1185,11 +1244,11 @@ function getNodeName(node) {
|
|
|
1185
1244
|
}
|
|
1186
1245
|
function getWindow(node) {
|
|
1187
1246
|
var _node$ownerDocument;
|
|
1188
|
-
return (node == null || (_node$ownerDocument = node.ownerDocument) == null ?
|
|
1247
|
+
return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? undefined : _node$ownerDocument.defaultView) || window;
|
|
1189
1248
|
}
|
|
1190
1249
|
function getDocumentElement(node) {
|
|
1191
1250
|
var _ref;
|
|
1192
|
-
return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ?
|
|
1251
|
+
return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? undefined : _ref.documentElement;
|
|
1193
1252
|
}
|
|
1194
1253
|
function isNode(value) {
|
|
1195
1254
|
if (!hasWindow()) {
|
|
@@ -1304,14 +1363,14 @@ function getNearestOverflowAncestor(node) {
|
|
|
1304
1363
|
}
|
|
1305
1364
|
function getOverflowAncestors(node, list, traverseIframes) {
|
|
1306
1365
|
var _node$ownerDocument2;
|
|
1307
|
-
if (list ===
|
|
1366
|
+
if (list === undefined) {
|
|
1308
1367
|
list = [];
|
|
1309
1368
|
}
|
|
1310
|
-
if (traverseIframes ===
|
|
1369
|
+
if (traverseIframes === undefined) {
|
|
1311
1370
|
traverseIframes = true;
|
|
1312
1371
|
}
|
|
1313
1372
|
const scrollableAncestor = getNearestOverflowAncestor(node);
|
|
1314
|
-
const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ?
|
|
1373
|
+
const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? undefined : _node$ownerDocument2.body);
|
|
1315
1374
|
const win = getWindow(scrollableAncestor);
|
|
1316
1375
|
if (isBody) {
|
|
1317
1376
|
const frameElement = getFrameElement(win);
|
|
@@ -1388,7 +1447,7 @@ function getVisualOffsets(element) {
|
|
|
1388
1447
|
};
|
|
1389
1448
|
}
|
|
1390
1449
|
function shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {
|
|
1391
|
-
if (isFixed ===
|
|
1450
|
+
if (isFixed === undefined) {
|
|
1392
1451
|
isFixed = false;
|
|
1393
1452
|
}
|
|
1394
1453
|
if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {
|
|
@@ -1398,10 +1457,10 @@ function shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {
|
|
|
1398
1457
|
}
|
|
1399
1458
|
|
|
1400
1459
|
function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {
|
|
1401
|
-
if (includeScale ===
|
|
1460
|
+
if (includeScale === undefined) {
|
|
1402
1461
|
includeScale = false;
|
|
1403
1462
|
}
|
|
1404
|
-
if (isFixedStrategy ===
|
|
1463
|
+
if (isFixedStrategy === undefined) {
|
|
1405
1464
|
isFixedStrategy = false;
|
|
1406
1465
|
}
|
|
1407
1466
|
const clientRect = element.getBoundingClientRect();
|
|
@@ -1461,7 +1520,7 @@ function getWindowScrollBarX(element, rect) {
|
|
|
1461
1520
|
}
|
|
1462
1521
|
|
|
1463
1522
|
function getHTMLOffset(documentElement, scroll, ignoreScrollbarX) {
|
|
1464
|
-
if (ignoreScrollbarX ===
|
|
1523
|
+
if (ignoreScrollbarX === undefined) {
|
|
1465
1524
|
ignoreScrollbarX = false;
|
|
1466
1525
|
}
|
|
1467
1526
|
const htmlRect = documentElement.getBoundingClientRect();
|
|
@@ -1811,10 +1870,10 @@ function observeMove(element, onMove) {
|
|
|
1811
1870
|
io = null;
|
|
1812
1871
|
}
|
|
1813
1872
|
function refresh(skip, threshold) {
|
|
1814
|
-
if (skip ===
|
|
1873
|
+
if (skip === undefined) {
|
|
1815
1874
|
skip = false;
|
|
1816
1875
|
}
|
|
1817
|
-
if (threshold ===
|
|
1876
|
+
if (threshold === undefined) {
|
|
1818
1877
|
threshold = 1;
|
|
1819
1878
|
}
|
|
1820
1879
|
cleanup();
|
|
@@ -1885,7 +1944,7 @@ function observeMove(element, onMove) {
|
|
|
1885
1944
|
* @see https://floating-ui.com/docs/autoUpdate
|
|
1886
1945
|
*/
|
|
1887
1946
|
function autoUpdate(reference, floating, update, options) {
|
|
1888
|
-
if (options ===
|
|
1947
|
+
if (options === undefined) {
|
|
1889
1948
|
options = {};
|
|
1890
1949
|
}
|
|
1891
1950
|
const {
|
|
@@ -2101,7 +2160,7 @@ class AuroFloatingUI {
|
|
|
2101
2160
|
// Compute the position of the bib
|
|
2102
2161
|
computePosition(this.element.trigger, this.element.bib, {
|
|
2103
2162
|
placement: this.element.floaterConfig.placement || 'bottom',
|
|
2104
|
-
middleware: middleware
|
|
2163
|
+
middleware: middleware
|
|
2105
2164
|
}).then(({x, y}) => { // eslint-disable-line id-length
|
|
2106
2165
|
Object.assign(this.element.bib.style, {
|
|
2107
2166
|
left: `${x}px`,
|
|
@@ -2134,7 +2193,11 @@ class AuroFloatingUI {
|
|
|
2134
2193
|
|
|
2135
2194
|
updateState() {
|
|
2136
2195
|
const isVisible = this.element.isPopoverVisible;
|
|
2137
|
-
|
|
2196
|
+
|
|
2197
|
+
// Refactor this to apply attribute to correct focusable element
|
|
2198
|
+
// Reference Issue: https://github.com/AlaskaAirlines/auro-library/issues/105
|
|
2199
|
+
//
|
|
2200
|
+
// this.element.trigger.setAttribute('aria-expanded', isVisible);
|
|
2138
2201
|
|
|
2139
2202
|
if (isVisible) {
|
|
2140
2203
|
this.element.bib.setAttribute('data-show', true);
|
|
@@ -2398,7 +2461,7 @@ class AuroFloatingUI {
|
|
|
2398
2461
|
// See LICENSE in the project root for license information.
|
|
2399
2462
|
|
|
2400
2463
|
|
|
2401
|
-
class AuroDependencyVersioning {
|
|
2464
|
+
let AuroDependencyVersioning$1 = class AuroDependencyVersioning {
|
|
2402
2465
|
|
|
2403
2466
|
/**
|
|
2404
2467
|
* Generates a unique string to be used for child auro element naming.
|
|
@@ -2424,7 +2487,7 @@ class AuroDependencyVersioning {
|
|
|
2424
2487
|
*/
|
|
2425
2488
|
generateTag(baseName, version, tagClass) {
|
|
2426
2489
|
const elementName = this.generateElementName(baseName, version);
|
|
2427
|
-
const tag = i$
|
|
2490
|
+
const tag = i$8`${s$3(elementName)}`;
|
|
2428
2491
|
|
|
2429
2492
|
if (!customElements.get(elementName)) {
|
|
2430
2493
|
customElements.define(elementName, class extends tagClass {});
|
|
@@ -2432,26 +2495,26 @@ class AuroDependencyVersioning {
|
|
|
2432
2495
|
|
|
2433
2496
|
return tag;
|
|
2434
2497
|
}
|
|
2435
|
-
}
|
|
2498
|
+
};
|
|
2436
2499
|
|
|
2437
2500
|
/**
|
|
2438
2501
|
* @license
|
|
2439
2502
|
* Copyright 2017 Google LLC
|
|
2440
2503
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
2441
2504
|
*/
|
|
2442
|
-
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)}}
|
|
2505
|
+
const t$2$1={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e$4$1=t=>(...e)=>({_$litDirective$:t,values:e});let i$4$1 = 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)}};
|
|
2443
2506
|
|
|
2444
2507
|
/**
|
|
2445
2508
|
* @license
|
|
2446
2509
|
* Copyright 2018 Google LLC
|
|
2447
2510
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
2448
|
-
*/const e=e$1(class extends i{constructor(t
|
|
2511
|
+
*/const e$3$1=e$4$1(class extends i$4$1{constructor(t){if(super(t),t.type!==t$2$1.ATTRIBUTE||"class"!==t.name||t.strings?.length>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(t){return " "+Object.keys(t).filter((s=>t[s])).join(" ")+" "}update(s,[i]){if(undefined===this.st){this.st=new Set,undefined!==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}});
|
|
2449
2512
|
|
|
2450
2513
|
/**
|
|
2451
2514
|
* @license
|
|
2452
2515
|
* Copyright 2018 Google LLC
|
|
2453
2516
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
2454
|
-
*/const o=o=>o??E;
|
|
2517
|
+
*/const o$3$1=o=>o??E$1;
|
|
2455
2518
|
|
|
2456
2519
|
// Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
2457
2520
|
// See LICENSE in the project root for license information.
|
|
@@ -2463,7 +2526,7 @@ const t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e
|
|
|
2463
2526
|
* @attr {Boolean} hiddenAudible - If present, the component will be hidden from screen readers, but seen visually
|
|
2464
2527
|
*/
|
|
2465
2528
|
|
|
2466
|
-
class AuroElement extends r {
|
|
2529
|
+
let AuroElement$1 = class AuroElement extends r$4 {
|
|
2467
2530
|
|
|
2468
2531
|
// function to define props used within the scope of this component
|
|
2469
2532
|
static get properties() {
|
|
@@ -2487,13 +2550,13 @@ class AuroElement extends r {
|
|
|
2487
2550
|
|
|
2488
2551
|
return 'false'
|
|
2489
2552
|
}
|
|
2490
|
-
}
|
|
2553
|
+
};
|
|
2491
2554
|
|
|
2492
|
-
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>"};
|
|
2555
|
+
var error$1 = {"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>"};
|
|
2493
2556
|
|
|
2494
2557
|
/* eslint-disable no-underscore-dangle, jsdoc/no-undefined-types, jsdoc/require-param-description */
|
|
2495
2558
|
|
|
2496
|
-
const _fetchMap = new Map();
|
|
2559
|
+
const _fetchMap$1 = new Map();
|
|
2497
2560
|
|
|
2498
2561
|
/**
|
|
2499
2562
|
* A callback to parse Response body.
|
|
@@ -2511,15 +2574,15 @@ const _fetchMap = new Map();
|
|
|
2511
2574
|
* @param {ResponseParser} [options.responseParser=(response) => response.text()]
|
|
2512
2575
|
* @returns {Promise}
|
|
2513
2576
|
*/
|
|
2514
|
-
const cacheFetch = (uri, options = {}) => {
|
|
2577
|
+
const cacheFetch$1 = (uri, options = {}) => {
|
|
2515
2578
|
const responseParser = options.responseParser || ((response) => response.text());
|
|
2516
|
-
if (!_fetchMap.has(uri)) {
|
|
2517
|
-
_fetchMap.set(uri, fetch(uri).then(responseParser));
|
|
2579
|
+
if (!_fetchMap$1.has(uri)) {
|
|
2580
|
+
_fetchMap$1.set(uri, fetch(uri).then(responseParser));
|
|
2518
2581
|
}
|
|
2519
|
-
return _fetchMap.get(uri);
|
|
2582
|
+
return _fetchMap$1.get(uri);
|
|
2520
2583
|
};
|
|
2521
2584
|
|
|
2522
|
-
var styleCss$
|
|
2585
|
+
var styleCss$3$1 = i$7`*,*: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)}.wrapper{height:var(--ds-auro-icon-size);width:var(--ds-auro-icon-size)}.labelContainer{line-height:1.8}`;
|
|
2523
2586
|
|
|
2524
2587
|
// Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
2525
2588
|
// See LICENSE in the project root for license information.
|
|
@@ -2532,7 +2595,7 @@ var styleCss$2 = i$3`*,*:before,*:after{box-sizing:border-box}@media(prefers-red
|
|
|
2532
2595
|
*/
|
|
2533
2596
|
|
|
2534
2597
|
// build the component class
|
|
2535
|
-
class BaseIcon extends AuroElement {
|
|
2598
|
+
let BaseIcon$1 = class BaseIcon extends AuroElement$1 {
|
|
2536
2599
|
constructor() {
|
|
2537
2600
|
super();
|
|
2538
2601
|
this.onDark = false;
|
|
@@ -2558,8 +2621,8 @@ class BaseIcon extends AuroElement {
|
|
|
2558
2621
|
}
|
|
2559
2622
|
|
|
2560
2623
|
static get styles() {
|
|
2561
|
-
return i$
|
|
2562
|
-
${styleCss$
|
|
2624
|
+
return i$7`
|
|
2625
|
+
${styleCss$3$1}
|
|
2563
2626
|
`;
|
|
2564
2627
|
}
|
|
2565
2628
|
|
|
@@ -2574,9 +2637,9 @@ class BaseIcon extends AuroElement {
|
|
|
2574
2637
|
let iconHTML = '';
|
|
2575
2638
|
|
|
2576
2639
|
if (category === 'logos') {
|
|
2577
|
-
iconHTML = await cacheFetch(`${this.uri}/${category}/${name}.svg`);
|
|
2640
|
+
iconHTML = await cacheFetch$1(`${this.uri}/${category}/${name}.svg`);
|
|
2578
2641
|
} else {
|
|
2579
|
-
iconHTML = await cacheFetch(`${this.uri}/icons/${category}/${name}.svg`);
|
|
2642
|
+
iconHTML = await cacheFetch$1(`${this.uri}/icons/${category}/${name}.svg`);
|
|
2580
2643
|
}
|
|
2581
2644
|
|
|
2582
2645
|
const dom = new DOMParser().parseFromString(iconHTML, 'text/html');
|
|
@@ -2592,17 +2655,17 @@ class BaseIcon extends AuroElement {
|
|
|
2592
2655
|
if (svg) {
|
|
2593
2656
|
this.svg = svg;
|
|
2594
2657
|
} else if (!svg) {
|
|
2595
|
-
const penDOM = new DOMParser().parseFromString(error.svg, 'text/html');
|
|
2658
|
+
const penDOM = new DOMParser().parseFromString(error$1.svg, 'text/html');
|
|
2596
2659
|
|
|
2597
2660
|
this.svg = penDOM.body.firstChild;
|
|
2598
2661
|
}
|
|
2599
2662
|
}
|
|
2600
2663
|
}
|
|
2601
|
-
}
|
|
2664
|
+
};
|
|
2602
2665
|
|
|
2603
|
-
var tokensCss$1 = i$
|
|
2666
|
+
var tokensCss$2$1 = i$7`: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)}`;
|
|
2604
2667
|
|
|
2605
|
-
var colorCss$
|
|
2668
|
+
var colorCss$3$1 = i$7`: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)}`;
|
|
2606
2669
|
|
|
2607
2670
|
// Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
2608
2671
|
// See LICENSE in the project root for license information.
|
|
@@ -2635,7 +2698,7 @@ var colorCss$2 = i$3`:host{color:var(--ds-auro-icon-color)}:host([customColor]){
|
|
|
2635
2698
|
*/
|
|
2636
2699
|
|
|
2637
2700
|
// build the component class
|
|
2638
|
-
class AuroIcon extends BaseIcon {
|
|
2701
|
+
let AuroIcon$1 = class AuroIcon extends BaseIcon$1 {
|
|
2639
2702
|
constructor() {
|
|
2640
2703
|
super();
|
|
2641
2704
|
|
|
@@ -2664,7 +2727,7 @@ class AuroIcon extends BaseIcon {
|
|
|
2664
2727
|
this.success = false;
|
|
2665
2728
|
this.tertiary = false;
|
|
2666
2729
|
this.warning = false;
|
|
2667
|
-
this.runtimeUtils = new AuroLibraryRuntimeUtils();
|
|
2730
|
+
this.runtimeUtils = new AuroLibraryRuntimeUtils$1();
|
|
2668
2731
|
}
|
|
2669
2732
|
|
|
2670
2733
|
// function to define props used within the scope of this component
|
|
@@ -2746,9 +2809,9 @@ class AuroIcon extends BaseIcon {
|
|
|
2746
2809
|
static get styles() {
|
|
2747
2810
|
return [
|
|
2748
2811
|
super.styles,
|
|
2749
|
-
i$
|
|
2750
|
-
i$
|
|
2751
|
-
i$
|
|
2812
|
+
i$7`${tokensCss$2$1}`,
|
|
2813
|
+
i$7`${styleCss$3$1}`,
|
|
2814
|
+
i$7`${colorCss$3$1}`
|
|
2752
2815
|
];
|
|
2753
2816
|
}
|
|
2754
2817
|
|
|
@@ -2761,7 +2824,7 @@ class AuroIcon extends BaseIcon {
|
|
|
2761
2824
|
*
|
|
2762
2825
|
*/
|
|
2763
2826
|
static register(name = "auro-icon") {
|
|
2764
|
-
AuroLibraryRuntimeUtils.prototype.registerComponent(name, AuroIcon);
|
|
2827
|
+
AuroLibraryRuntimeUtils$1.prototype.registerComponent(name, AuroIcon);
|
|
2765
2828
|
}
|
|
2766
2829
|
|
|
2767
2830
|
connectedCallback() {
|
|
@@ -2790,38 +2853,261 @@ class AuroIcon extends BaseIcon {
|
|
|
2790
2853
|
'wrapper': true,
|
|
2791
2854
|
};
|
|
2792
2855
|
|
|
2793
|
-
return x`
|
|
2856
|
+
return x$1`
|
|
2794
2857
|
<div
|
|
2795
|
-
class="${e(classes)}"
|
|
2796
|
-
title="${o(this.title || undefined)}">
|
|
2797
|
-
<span aria-hidden="${o(this.ariaHidden ? this.ariaHidden : true)}" part="svg">
|
|
2798
|
-
${this.customSvg ? x`
|
|
2858
|
+
class="${e$3$1(classes)}"
|
|
2859
|
+
title="${o$3$1(this.title || undefined)}">
|
|
2860
|
+
<span aria-hidden="${o$3$1(this.ariaHidden ? this.ariaHidden : true)}" part="svg">
|
|
2861
|
+
${this.customSvg ? x$1`
|
|
2799
2862
|
<slot name="svg"></slot>
|
|
2800
|
-
` : x`
|
|
2863
|
+
` : x$1`
|
|
2801
2864
|
${this.svg}
|
|
2802
2865
|
`
|
|
2803
2866
|
}
|
|
2804
2867
|
</span>
|
|
2805
2868
|
|
|
2806
|
-
<div class="${e(a11y)}">
|
|
2869
|
+
<div class="${e$3$1(a11y)}">
|
|
2807
2870
|
<slot></slot>
|
|
2808
2871
|
</div>
|
|
2809
2872
|
</div>
|
|
2810
2873
|
`;
|
|
2811
2874
|
}
|
|
2812
|
-
}
|
|
2875
|
+
};
|
|
2813
2876
|
|
|
2814
|
-
var iconVersion = '6.1.2';
|
|
2877
|
+
var iconVersion$1 = '6.1.2';
|
|
2878
|
+
|
|
2879
|
+
var styleCss$2$1 = i$7`:host{position:relative;display:inline-block;max-width:100%}:host([fluid]){display:block}#bibSizer{position:absolute;z-index:-1;opacity:0;pointer-events:none}.label{font-size:var(--ds-text-body-size-xs, 0.75rem);line-height:var(--ds-text-body-size-default, 1rem);transition:font-size .3s cubic-bezier(0.215, 0.61, 0.355, 1);white-space:normal}.label[hasTrigger=false]{font-size:var(--ds-text-body-size-default, 1rem)}.trigger{position:relative;display:flex;align-items:center}.trigger[showBorder]{border-width:1px;border-style:solid;cursor:pointer;outline-style:solid;outline-width:1px}@media(hover: hover){.trigger:hover{cursor:pointer}}.triggerContentWrapper{overflow:hidden;flex:1;text-overflow:ellipsis;white-space:nowrap}#showStateIcon{display:flex;overflow:hidden;height:100%;align-items:center;margin-left:var(--ds-size-100, 0.5rem)}#showStateIcon [auro-icon]{height:var(--ds-size-300, 1.5rem);line-height:var(--ds-size-300, 1.5rem)}#showStateIcon[data-expanded=true] [auro-icon]{transform:rotate(-180deg)}:host([matchwidth]) #bibSizer{width:100%}:host([disabled]){pointer-events:none}:host([inset]) .trigger{padding:var(--ds-size-150, 0.75rem) var(--ds-size-200, 1rem)}:host([common]) .trigger,:host([inset][bordered]) .trigger{padding:var(--ds-size-200, 1rem) var(--ds-size-150, 0.75rem)}:host([common]) .trigger,:host([rounded]) .trigger{border-radius:var(--ds-border-radius, 0.375rem)}`;
|
|
2880
|
+
|
|
2881
|
+
var colorCss$2$1 = i$7`.label{color:var(--ds-auro-dropdown-label-text-color)}.trigger{border-color:var(--ds-auro-dropdown-trigger-border-color);background-color:var(--ds-auro-dropdown-trigger-container-color);color:var(--ds-auro-dropdown-trigger-text-color);outline-color:var(--ds-auro-dropdown-trigger-outline-color)}.trigger:focus-within,.trigger:active{--ds-auro-dropdown-trigger-border-color: var(--ds-color-border-active-default, #0074c8);--ds-auro-dropdown-trigger-outline-color: var(--ds-color-border-active-default, #0074c8)}.trigger:focus-within:not(:active){--ds-auro-dropdown-trigger-border-color: var(--ds-color-border-ui-focus-default, #2c67b5);--ds-auro-dropdown-trigger-outline-color: var(--ds-color-border-ui-focus-default, #2c67b5)}.trigger:hover{--ds-auro-dropdown-trigger-container-color: var(--ds-color-container-ui-secondary-hover-default, rgba(0, 0, 0, 0.03))}:host([disabled]){--ds-auro-dropdown-trigger-text-color: var(--ds-color-text-ui-disabled-default, #adadad);--ds-auro-dropdown-label-text-color: var(--ds-color-text-ui-disabled-default, #adadad)}:host([common]),:host([bordered]){--ds-auro-dropdown-trigger-border-color: var(--ds-color-border-primary-default, #585e67)}:host([common]) .trigger:active,:host([common]) .trigger:focus-within,:host([bordered]) .trigger:active,:host([bordered]) .trigger:focus-within{--ds-auro-dropdown-trigger-border-color: var(--ds-color-border-ui-focus-default, #2c67b5)}:host([error]){--ds-auro-dropdown-trigger-border-color: var(--ds-color-border-error-default, #cc1816)}:host([error]) .trigger{outline:solid 1px var(--ds-auro-dropdown-trigger-border-color)}:host([error]) .trigger:focus-within,:host([error]) .trigger:active{--ds-auro-dropdown-trigger-border-color: var(--ds-color-border-active-default, #0074c8)}:host([error]) .trigger:active{box-shadow:none;outline:none}:host([disabled][common]),:host([disabled][bordered]){--ds-auro-dropdown-trigger-border-color: var(--ds-color-border-ui-disabled-default, #adadad)}`;
|
|
2882
|
+
|
|
2883
|
+
var tokensCss$1$1 = i$7`:host{--ds-auro-dropdown-label-text-color: var(--ds-color-text-secondary-default, #525252);--ds-auro-dropdown-popover-container-color: var(--ds-color-container-primary-default, #ffffff);--ds-auro-dropdown-popover-border-color: transparent;--ds-auro-dropdown-popover-text-color: var(--ds-color-text-primary-default, #2a2a2a);--ds-auro-dropdown-trigger-container-color: var(--ds-color-container-primary-default, #ffffff);--ds-auro-dropdown-trigger-border-color: transparent;--ds-auro-dropdown-trigger-outline-color: transparent;--ds-auro-dropdown-trigger-text-color: var(--ds-color-text-primary-default, #2a2a2a);--ds-auro-dropdownbib-boxshadow-color: var(--ds-elevation-200, 0px 0px 10px rgba(0, 0, 0, 0.15));--ds-auro-dropdownbib-container-color: var(--ds-color-container-primary-default, #ffffff);--ds-auro-dropdownbib-text-color: var(--ds-color-text-primary-default, #2a2a2a)}`;
|
|
2884
|
+
|
|
2885
|
+
/**
|
|
2886
|
+
* @license
|
|
2887
|
+
* Copyright 2019 Google LLC
|
|
2888
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
2889
|
+
*/
|
|
2890
|
+
const t$1$1=globalThis,e$2$1=t$1$1.ShadowRoot&&(undefined===t$1$1.ShadyCSS||t$1$1.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,s$1$1=Symbol(),o$2$1=new WeakMap;let n$2$1 = class n{constructor(t,e,o){if(this._$cssResult$=true,o!==s$1$1)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e;}get styleSheet(){let t=this.o;const s=this.t;if(e$2$1&&undefined===t){const e=undefined!==s&&1===s.length;e&&(t=o$2$1.get(s)),undefined===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o$2$1.set(s,t));}return t}toString(){return this.cssText}};const r$3$1=t=>new n$2$1("string"==typeof t?t:t+"",undefined,s$1$1),i$3$1=(t,...e)=>{const o=1===t.length?t[0]:e.reduce(((e,s,o)=>e+(t=>{if(true===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(s)+t[o+1]),t[0]);return new n$2$1(o,t,s$1$1)},S$1$1=(s,o)=>{if(e$2$1)s.adoptedStyleSheets=o.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of o){const o=document.createElement("style"),n=t$1$1.litNonce;undefined!==n&&o.setAttribute("nonce",n),o.textContent=e.cssText,s.appendChild(o);}},c$2$1=e$2$1?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const s of t.cssRules)e+=s.cssText;return r$3$1(e)})(t):t;
|
|
2891
|
+
|
|
2892
|
+
/**
|
|
2893
|
+
* @license
|
|
2894
|
+
* Copyright 2017 Google LLC
|
|
2895
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
2896
|
+
*/const{is:i$2$1,defineProperty:e$1$1,getOwnPropertyDescriptor:r$2$1,getOwnPropertyNames:h$1$1,getOwnPropertySymbols:o$1$1,getPrototypeOf:n$1$1}=Object,a$1$1=globalThis,c$1$1=a$1$1.trustedTypes,l$1$1=c$1$1?c$1$1.emptyScript:"",p$1$1=a$1$1.reactiveElementPolyfillSupport,d$1$1=(t,s)=>t,u$1$1={toAttribute(t,s){switch(s){case Boolean:t=t?l$1$1:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t);}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t);}catch(t){i=null;}}return i}},f$1$1=(t,s)=>!i$2$1(t,s),y$1$1={attribute:true,type:String,converter:u$1$1,reflect:false,hasChanged:f$1$1};Symbol.metadata??=Symbol("metadata"),a$1$1.litPropertyMetadata??=new WeakMap;let b$2 = class b extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t);}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=y$1$1){if(s.state&&(s.attribute=false),this._$Ei(),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),r=this.getPropertyDescriptor(t,i,s);undefined!==r&&e$1$1(this.prototype,t,r);}}static getPropertyDescriptor(t,s,i){const{get:e,set:h}=r$2$1(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t;}};return {get(){return e?.call(this)},set(s){const r=e?.call(this);h.call(this,s),this.requestUpdate(t,r,i);},configurable:true,enumerable:true}}static getPropertyOptions(t){return this.elementProperties.get(t)??y$1$1}static _$Ei(){if(this.hasOwnProperty(d$1$1("elementProperties")))return;const t=n$1$1(this);t.finalize(),undefined!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties);}static finalize(){if(this.hasOwnProperty(d$1$1("finalized")))return;if(this.finalized=true,this._$Ei(),this.hasOwnProperty(d$1$1("properties"))){const t=this.properties,s=[...h$1$1(t),...o$1$1(t)];for(const i of s)this.createProperty(i,t[i]);}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(undefined!==s)for(const[t,i]of s)this.elementProperties.set(t,i);}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);undefined!==i&&this._$Eh.set(i,t);}this.elementStyles=this.finalizeStyles(this.styles);}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(c$2$1(s));}else undefined!==s&&i.push(c$2$1(s));return i}static _$Eu(t,s){const i=s.attribute;return false===i?undefined:"string"==typeof i?i:"string"==typeof t?t.toLowerCase():undefined}constructor(){super(),this._$Ep=undefined,this.isUpdatePending=false,this.hasUpdated=false,this._$Em=null,this._$Ev();}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)));}addController(t){(this._$EO??=new Set).add(t),undefined!==this.renderRoot&&this.isConnected&&t.hostConnected?.();}removeController(t){this._$EO?.delete(t);}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t);}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return S$1$1(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(true),this._$EO?.forEach((t=>t.hostConnected?.()));}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()));}attributeChangedCallback(t,s,i){this._$AK(t,i);}_$EC(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(undefined!==e&&true===i.reflect){const r=(undefined!==i.converter?.toAttribute?i.converter:u$1$1).toAttribute(s,i.type);this._$Em=t,null==r?this.removeAttribute(e):this.setAttribute(e,r),this._$Em=null;}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(undefined!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),r="function"==typeof t.converter?{fromAttribute:t.converter}:undefined!==t.converter?.fromAttribute?t.converter:u$1$1;this._$Em=e,this[e]=r.fromAttribute(s,t.type),this._$Em=null;}}requestUpdate(t,s,i){if(undefined!==t){if(i??=this.constructor.getPropertyOptions(t),!(i.hasChanged??f$1$1)(this[t],s))return;this.P(t,s,i);} false===this.isUpdatePending&&(this._$ES=this._$ET());}P(t,s,i){this._$AL.has(t)||this._$AL.set(t,s),true===i.reflect&&this._$Em!==t&&(this._$Ej??=new Set).add(t);}async _$ET(){this.isUpdatePending=true;try{await this._$ES;}catch(t){Promise.reject(t);}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=undefined;}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t) true!==i.wrapped||this._$AL.has(s)||undefined===this[s]||this.P(s,this[s],i);}let t=false;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$EO?.forEach((t=>t.hostUpdate?.())),this.update(s)):this._$EU();}catch(s){throw t=false,this._$EU(),s}t&&this._$AE(s);}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=true,this.firstUpdated(t)),this.updated(t);}_$EU(){this._$AL=new Map,this.isUpdatePending=false;}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return true}update(t){this._$Ej&&=this._$Ej.forEach((t=>this._$EC(t,this[t]))),this._$EU();}updated(t){}firstUpdated(t){}};b$2.elementStyles=[],b$2.shadowRootOptions={mode:"open"},b$2[d$1$1("elementProperties")]=new Map,b$2[d$1$1("finalized")]=new Map,p$1$1?.({ReactiveElement:b$2}),(a$1$1.reactiveElementVersions??=[]).push("2.0.4");
|
|
2897
|
+
|
|
2898
|
+
/**
|
|
2899
|
+
* @license
|
|
2900
|
+
* Copyright 2017 Google LLC
|
|
2901
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
2902
|
+
*/
|
|
2903
|
+
const t$5=globalThis,i$1$1=t$5.trustedTypes,s$5=i$1$1?i$1$1.createPolicy("lit-html",{createHTML:t=>t}):undefined,e$8="$lit$",h$4=`lit$${Math.random().toFixed(9).slice(2)}$`,o$8="?"+h$4,n$7=`<${o$8}>`,r$1$1=document,l$5=()=>r$1$1.createComment(""),c$6=t=>null===t||"object"!=typeof t&&"function"!=typeof t,a$5=Array.isArray,u$5=t=>a$5(t)||"function"==typeof t?.[Symbol.iterator],d$4="[ \t\n\f\r]",f$4=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,v$2=/-->/g,_$2=/>/g,m$2=RegExp(`>|${d$4}(?:([^\\s"'>=/]+)(${d$4}*=${d$4}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),p$4=/'/g,g$2=/"/g,$$2=/^(?:script|style|textarea|title)$/i,y$4=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x$2=y$4(1),T$2=Symbol.for("lit-noChange"),E$2=Symbol.for("lit-nothing"),A$2=new WeakMap,C$2=r$1$1.createTreeWalker(r$1$1,129);function P$2(t,i){if(!a$5(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return undefined!==s$5?s$5.createHTML(i):i}const V$2=(t,i)=>{const s=t.length-1,o=[];let r,l=2===i?"<svg>":3===i?"<math>":"",c=f$4;for(let i=0;i<s;i++){const s=t[i];let a,u,d=-1,y=0;for(;y<s.length&&(c.lastIndex=y,u=c.exec(s),null!==u);)y=c.lastIndex,c===f$4?"!--"===u[1]?c=v$2:undefined!==u[1]?c=_$2:undefined!==u[2]?($$2.test(u[2])&&(r=RegExp("</"+u[2],"g")),c=m$2):undefined!==u[3]&&(c=m$2):c===m$2?">"===u[0]?(c=r??f$4,d=-1):undefined===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=undefined===u[3]?m$2:'"'===u[3]?g$2:p$4):c===g$2||c===p$4?c=m$2:c===v$2||c===_$2?c=f$4:(c=m$2,r=undefined);const x=c===m$2&&t[i+1].startsWith("/>")?" ":"";l+=c===f$4?s+n$7:d>=0?(o.push(a),s.slice(0,d)+e$8+s.slice(d)+h$4+x):s+h$4+(-2===d?i:x);}return [P$2(t,l+(t[s]||"<?>")+(2===i?"</svg>":3===i?"</math>":"")),o]};let N$2 = class N{constructor({strings:t,_$litType$:s},n){let r;this.parts=[];let c=0,a=0;const u=t.length-1,d=this.parts,[f,v]=V$2(t,s);if(this.el=N.createElement(f,n),C$2.currentNode=this.el.content,2===s||3===s){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes);}for(;null!==(r=C$2.nextNode())&&d.length<u;){if(1===r.nodeType){if(r.hasAttributes())for(const t of r.getAttributeNames())if(t.endsWith(e$8)){const i=v[a++],s=r.getAttribute(t).split(h$4),e=/([.?@])?(.*)/.exec(i);d.push({type:1,index:c,name:e[2],strings:s,ctor:"."===e[1]?H$2:"?"===e[1]?I$2:"@"===e[1]?L$2:k$2}),r.removeAttribute(t);}else t.startsWith(h$4)&&(d.push({type:6,index:c}),r.removeAttribute(t));if($$2.test(r.tagName)){const t=r.textContent.split(h$4),s=t.length-1;if(s>0){r.textContent=i$1$1?i$1$1.emptyScript:"";for(let i=0;i<s;i++)r.append(t[i],l$5()),C$2.nextNode(),d.push({type:2,index:++c});r.append(t[s],l$5());}}}else if(8===r.nodeType)if(r.data===o$8)d.push({type:2,index:c});else {let t=-1;for(;-1!==(t=r.data.indexOf(h$4,t+1));)d.push({type:7,index:c}),t+=h$4.length-1;}c++;}}static createElement(t,i){const s=r$1$1.createElement("template");return s.innerHTML=t,s}};function S$4(t,i,s=t,e){if(i===T$2)return i;let h=undefined!==e?s._$Co?.[e]:s._$Cl;const o=c$6(i)?undefined:i._$litDirective$;return h?.constructor!==o&&(h?._$AO?.(false),undefined===o?h=undefined:(h=new o(t),h._$AT(t,s,e)),undefined!==e?(s._$Co??=[])[e]=h:s._$Cl=h),undefined!==h&&(i=S$4(t,h._$AS(t,i.values),h,e)),i}let M$2 = class M{constructor(t,i){this._$AV=[],this._$AN=undefined,this._$AD=t,this._$AM=i;}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:i},parts:s}=this._$AD,e=(t?.creationScope??r$1$1).importNode(i,true);C$2.currentNode=e;let h=C$2.nextNode(),o=0,n=0,l=s[0];for(;undefined!==l;){if(o===l.index){let i;2===l.type?i=new R$2(h,h.nextSibling,this,t):1===l.type?i=new l.ctor(h,l.name,l.strings,this,t):6===l.type&&(i=new z$2(h,this,t)),this._$AV.push(i),l=s[++n];}o!==l?.index&&(h=C$2.nextNode(),o++);}return C$2.currentNode=r$1$1,e}p(t){let i=0;for(const s of this._$AV) undefined!==s&&(undefined!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++;}};let R$2 = class R{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,i,s,e){this.type=2,this._$AH=E$2,this._$AN=undefined,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cv=e?.isConnected??true;}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return undefined!==i&&11===t?.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=S$4(this,t,i),c$6(t)?t===E$2||null==t||""===t?(this._$AH!==E$2&&this._$AR(),this._$AH=E$2):t!==this._$AH&&t!==T$2&&this._(t):undefined!==t._$litType$?this.$(t):undefined!==t.nodeType?this.T(t):u$5(t)?this.k(t):this._(t);}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t));}_(t){this._$AH!==E$2&&c$6(this._$AH)?this._$AA.nextSibling.data=t:this.T(r$1$1.createTextNode(t)),this._$AH=t;}$(t){const{values:i,_$litType$:s}=t,e="number"==typeof s?this._$AC(t):(undefined===s.el&&(s.el=N$2.createElement(P$2(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===e)this._$AH.p(i);else {const t=new M$2(e,this),s=t.u(this.options);t.p(i),this.T(s),this._$AH=t;}}_$AC(t){let i=A$2.get(t.strings);return undefined===i&&A$2.set(t.strings,i=new N$2(t)),i}k(t){a$5(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const h of t)e===i.length?i.push(s=new R(this.O(l$5()),this.O(l$5()),this,this.options)):s=i[e],s._$AI(h),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e);}_$AR(t=this._$AA.nextSibling,i){for(this._$AP?.(false,true,i);t&&t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i;}}setConnected(t){ undefined===this._$AM&&(this._$Cv=t,this._$AP?.(t));}};let k$2 = class k{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,i,s,e,h){this.type=1,this._$AH=E$2,this._$AN=undefined,this.element=t,this.name=i,this._$AM=e,this.options=h,s.length>2||""!==s[0]||""!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=E$2;}_$AI(t,i=this,s,e){const h=this.strings;let o=false;if(undefined===h)t=S$4(this,t,i,0),o=!c$6(t)||t!==this._$AH&&t!==T$2,o&&(this._$AH=t);else {const e=t;let n,r;for(t=h[0],n=0;n<h.length-1;n++)r=S$4(this,e[s+n],i,n),r===T$2&&(r=this._$AH[n]),o||=!c$6(r)||r!==this._$AH[n],r===E$2?t=E$2:t!==E$2&&(t+=(r??"")+h[n+1]),this._$AH[n]=r;}o&&!e&&this.j(t);}j(t){t===E$2?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"");}};let H$2 = class H extends k$2{constructor(){super(...arguments),this.type=3;}j(t){this.element[this.name]=t===E$2?undefined:t;}};let I$2 = class I extends k$2{constructor(){super(...arguments),this.type=4;}j(t){this.element.toggleAttribute(this.name,!!t&&t!==E$2);}};let L$2 = class L extends k$2{constructor(t,i,s,e,h){super(t,i,s,e,h),this.type=5;}_$AI(t,i=this){if((t=S$4(this,t,i,0)??E$2)===T$2)return;const s=this._$AH,e=t===E$2&&s!==E$2||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,h=t!==E$2&&(s===E$2||e);e&&this.element.removeEventListener(this.name,this,s),h&&this.element.addEventListener(this.name,this,t),this._$AH=t;}handleEvent(t){"function"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t);}};let z$2 = class z{constructor(t,i,s){this.element=t,this.type=6,this._$AN=undefined,this._$AM=i,this.options=s;}get _$AU(){return this._$AM._$AU}_$AI(t){S$4(this,t);}};const j$2=t$5.litHtmlPolyfillSupport;j$2?.(N$2,R$2),(t$5.litHtmlVersions??=[]).push("3.2.1");const B$2=(t,i,s)=>{const e=s?.renderBefore??i;let h=e._$litPart$;if(undefined===h){const t=s?.renderBefore??null;e._$litPart$=h=new R$2(i.insertBefore(l$5(),t),t,undefined,s??{});}return h._$AI(t),h};
|
|
2904
|
+
|
|
2905
|
+
/**
|
|
2906
|
+
* @license
|
|
2907
|
+
* Copyright 2017 Google LLC
|
|
2908
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
2909
|
+
*/let r$8 = class r extends b$2{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=undefined;}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const s=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=B$2(s,this.renderRoot,this.renderOptions);}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(true);}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(false);}render(){return T$2}};r$8._$litElement$=true,r$8["finalized"]=true,globalThis.litElementHydrateSupport?.({LitElement:r$8});const i$a=globalThis.litElementPolyfillSupport;i$a?.({LitElement:r$8});(globalThis.litElementVersions??=[]).push("4.1.1");
|
|
2910
|
+
|
|
2911
|
+
var colorCss$1$1 = i$3$1`:host([error]){--ds-auro-helptext-color: var(--ds-color-text-error-default, #cc1816)}.helptext-wrapper{color:var(--ds-auro-helptext-color)}`;
|
|
2912
|
+
|
|
2913
|
+
var styleCss$1$1 = i$3$1`.helptext-wrapper{display:none;font-size:var(--ds-text-body-size-xs, 0.75rem);line-height:var(--ds-size-200, 1rem)}:host([large]) .helptext-wrapper{font-size:var(--ds-text-body-size-default, 1rem)}.helptext-wrapper[visible]{display:block}::slotted(*:not(:empty)){margin-top:var(--ds-size-50, 0.25rem);margin-bottom:0}::slotted(p){margin-block:0}`;
|
|
2914
|
+
|
|
2915
|
+
var tokensCss$3 = i$3$1`:host{--ds-auro-helptext-color: var(--ds-color-text-tertiary-default, #6a717c)}`;
|
|
2916
|
+
|
|
2917
|
+
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
2918
|
+
// See LICENSE in the project root for license information.
|
|
2919
|
+
|
|
2920
|
+
// ---------------------------------------------------------------------
|
|
2921
|
+
|
|
2922
|
+
/* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
|
|
2923
|
+
|
|
2924
|
+
let AuroLibraryRuntimeUtils$2 = class AuroLibraryRuntimeUtils {
|
|
2925
|
+
|
|
2926
|
+
/* eslint-disable jsdoc/require-param */
|
|
2927
|
+
|
|
2928
|
+
/**
|
|
2929
|
+
* This will register a new custom element with the browser.
|
|
2930
|
+
* @param {String} name - The name of the custom element.
|
|
2931
|
+
* @param {Object} componentClass - The class to register as a custom element.
|
|
2932
|
+
* @returns {void}
|
|
2933
|
+
*/
|
|
2934
|
+
registerComponent(name, componentClass) {
|
|
2935
|
+
if (!customElements.get(name)) {
|
|
2936
|
+
customElements.define(name, class extends componentClass {});
|
|
2937
|
+
}
|
|
2938
|
+
}
|
|
2939
|
+
|
|
2940
|
+
/**
|
|
2941
|
+
* Finds and returns the closest HTML Element based on a selector.
|
|
2942
|
+
* @returns {void}
|
|
2943
|
+
*/
|
|
2944
|
+
closestElement(
|
|
2945
|
+
selector, // selector like in .closest()
|
|
2946
|
+
base = this, // extra functionality to skip a parent
|
|
2947
|
+
__Closest = (el, found = el && el.closest(selector)) =>
|
|
2948
|
+
!el || el === document || el === window
|
|
2949
|
+
? null // standard .closest() returns null for non-found selectors also
|
|
2950
|
+
: found
|
|
2951
|
+
? found // found a selector INside this element
|
|
2952
|
+
: __Closest(el.getRootNode().host) // recursion!! break out to parent DOM
|
|
2953
|
+
) {
|
|
2954
|
+
return __Closest(base);
|
|
2955
|
+
}
|
|
2956
|
+
/* eslint-enable jsdoc/require-param */
|
|
2957
|
+
|
|
2958
|
+
/**
|
|
2959
|
+
* If the element passed is registered with a different tag name than what is passed in, the tag name is added as an attribute to the element.
|
|
2960
|
+
* @param {Object} elem - The element to check.
|
|
2961
|
+
* @param {String} tagName - The name of the Auro component to check for or add as an attribute.
|
|
2962
|
+
* @returns {void}
|
|
2963
|
+
*/
|
|
2964
|
+
handleComponentTagRename(elem, tagName) {
|
|
2965
|
+
const tag = tagName.toLowerCase();
|
|
2966
|
+
const elemTag = elem.tagName.toLowerCase();
|
|
2967
|
+
|
|
2968
|
+
if (elemTag !== tag) {
|
|
2969
|
+
elem.setAttribute(tag, true);
|
|
2970
|
+
}
|
|
2971
|
+
}
|
|
2972
|
+
|
|
2973
|
+
/**
|
|
2974
|
+
* Validates if an element is a specific Auro component.
|
|
2975
|
+
* @param {Object} elem - The element to validate.
|
|
2976
|
+
* @param {String} tagName - The name of the Auro component to check against.
|
|
2977
|
+
* @returns {Boolean} - Returns true if the element is the specified Auro component.
|
|
2978
|
+
*/
|
|
2979
|
+
elementMatch(elem, tagName) {
|
|
2980
|
+
const tag = tagName.toLowerCase();
|
|
2981
|
+
const elemTag = elem.tagName.toLowerCase();
|
|
2982
|
+
|
|
2983
|
+
return elemTag === tag || elem.hasAttribute(tag);
|
|
2984
|
+
}
|
|
2985
|
+
};
|
|
2986
|
+
|
|
2987
|
+
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
2988
|
+
// See LICENSE in the project root for license information.
|
|
2989
|
+
|
|
2990
|
+
|
|
2991
|
+
/**
|
|
2992
|
+
* Displays help text or error messages within form elements - Internal Use Only.
|
|
2993
|
+
*
|
|
2994
|
+
* @attr { Boolean } large - If declared, make font-size to 1rem(16px).
|
|
2995
|
+
*/
|
|
2996
|
+
class AuroHelpText extends r$8 {
|
|
2997
|
+
|
|
2998
|
+
constructor() {
|
|
2999
|
+
super();
|
|
3000
|
+
|
|
3001
|
+
this.error = false;
|
|
3002
|
+
this.hasTextContent = false;
|
|
3003
|
+
}
|
|
3004
|
+
|
|
3005
|
+
static get styles() {
|
|
3006
|
+
return [
|
|
3007
|
+
colorCss$1$1,
|
|
3008
|
+
styleCss$1$1,
|
|
3009
|
+
tokensCss$3
|
|
3010
|
+
];
|
|
3011
|
+
}
|
|
3012
|
+
|
|
3013
|
+
// function to define props used within the scope of this component
|
|
3014
|
+
static get properties() {
|
|
3015
|
+
return {
|
|
3016
|
+
|
|
3017
|
+
/**
|
|
3018
|
+
* @private
|
|
3019
|
+
*/
|
|
3020
|
+
slotNodes: {
|
|
3021
|
+
type: Boolean,
|
|
3022
|
+
},
|
|
3023
|
+
|
|
3024
|
+
/**
|
|
3025
|
+
* @private
|
|
3026
|
+
*/
|
|
3027
|
+
hasTextContent: {
|
|
3028
|
+
type: Boolean,
|
|
3029
|
+
},
|
|
3030
|
+
|
|
3031
|
+
/**
|
|
3032
|
+
* If declared, make font color red.
|
|
3033
|
+
*/
|
|
3034
|
+
error: {
|
|
3035
|
+
type: Boolean,
|
|
3036
|
+
reflect: true,
|
|
3037
|
+
},
|
|
3038
|
+
};
|
|
3039
|
+
}
|
|
3040
|
+
|
|
3041
|
+
/**
|
|
3042
|
+
* This will register this element with the browser.
|
|
3043
|
+
* @param {string} [name="auro-helptext"] - The name of element that you want to register to.
|
|
3044
|
+
*
|
|
3045
|
+
* @example
|
|
3046
|
+
* AuroCheckbox.register("custom-helptext") // this will register this element to <custom-helptext/>
|
|
3047
|
+
*
|
|
3048
|
+
*/
|
|
3049
|
+
static register(name = "auro-helptext") {
|
|
3050
|
+
AuroLibraryRuntimeUtils$2.prototype.registerComponent(name, AuroHelpText);
|
|
3051
|
+
}
|
|
3052
|
+
|
|
3053
|
+
updated() {
|
|
3054
|
+
this.handleSlotChange();
|
|
3055
|
+
}
|
|
3056
|
+
|
|
3057
|
+
handleSlotChange(event) {
|
|
3058
|
+
if (event) {
|
|
3059
|
+
this.slotNodes = event.target.assignedNodes();
|
|
3060
|
+
}
|
|
3061
|
+
|
|
3062
|
+
this.hasTextContent = this.checkSlotsForContent(this.slotNodes);
|
|
3063
|
+
}
|
|
3064
|
+
|
|
3065
|
+
/**
|
|
3066
|
+
* Checks if any of the provided nodes or their nested slot nodes contain non-empty text content.
|
|
3067
|
+
*
|
|
3068
|
+
* @param {NodeList|Array} nodes - The list of nodes to check for content.
|
|
3069
|
+
* @returns {boolean} - Returns true if any node or nested slot node contains non-empty text content, otherwise false.
|
|
3070
|
+
* @private
|
|
3071
|
+
*/
|
|
3072
|
+
checkSlotsForContent(nodes) {
|
|
3073
|
+
if (!nodes) {
|
|
3074
|
+
return false;
|
|
3075
|
+
}
|
|
3076
|
+
|
|
3077
|
+
return nodes.some((node) => {
|
|
3078
|
+
if (node.textContent.trim()) {
|
|
3079
|
+
return true;
|
|
3080
|
+
}
|
|
3081
|
+
|
|
3082
|
+
if (!node.querySelector) {
|
|
3083
|
+
return false;
|
|
3084
|
+
}
|
|
3085
|
+
|
|
3086
|
+
const nestedSlot = node.tagName === 'SLOT' ? node : node.querySelector('slot');
|
|
3087
|
+
if (!nestedSlot) {
|
|
3088
|
+
return false;
|
|
3089
|
+
}
|
|
2815
3090
|
|
|
2816
|
-
|
|
3091
|
+
const nestedSlotNodes = nestedSlot.assignedNodes();
|
|
3092
|
+
return this.checkSlotsForContent(nestedSlotNodes);
|
|
3093
|
+
});
|
|
3094
|
+
}
|
|
2817
3095
|
|
|
2818
|
-
|
|
3096
|
+
// function that renders the HTML and CSS into the scope of the component
|
|
3097
|
+
render() {
|
|
3098
|
+
return x$2`
|
|
3099
|
+
<div class="helptext-wrapper" ?visible="${this.hasTextContent}">
|
|
3100
|
+
<slot @slotchange=${this.handleSlotChange}></slot>
|
|
3101
|
+
</div>
|
|
3102
|
+
`;
|
|
3103
|
+
}
|
|
3104
|
+
}
|
|
2819
3105
|
|
|
2820
|
-
|
|
3106
|
+
AuroHelpText.register();
|
|
2821
3107
|
|
|
2822
|
-
var styleCss$
|
|
3108
|
+
var styleCss$4 = i$7`:host{position:absolute;z-index:var(--depth-tooltip, 400);display:none}.container{display:inline-block;overflow:auto;box-sizing:border-box;margin:var(--ds-size-50, 0.25rem) 0}:host([isfullscreen]){position:fixed;top:0;left:0}:host([isfullscreen]) .container{width:100dvw;max-width:none;height:100dvh;max-height:none;border-radius:unset;margin-top:0;box-shadow:unset}:host([data-show]){display:flex}:host([common]:not([isfullscreen])) .container,:host([rounded]:not([isfullscreen])) .container{border-radius:var(--ds-border-radius, 0.375rem)}:host([common][isfullscreen]) .container,:host([rounded][isfullscreen]) .container{border-radius:unset;box-shadow:unset}`;
|
|
2823
3109
|
|
|
2824
|
-
var colorCss$
|
|
3110
|
+
var colorCss$4 = i$7`.container{background-color:var(--ds-auro-dropdownbib-container-color);box-shadow:var(--ds-auro-dropdownbib-boxshadow-color);color:var(--ds-auro-dropdownbib-text-color)}`;
|
|
2825
3111
|
|
|
2826
3112
|
// Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
2827
3113
|
// See LICENSE in the project root for license information.
|
|
@@ -2841,7 +3127,7 @@ const DESIGN_TOKEN_BREAKPOINT_OPTIONS = [
|
|
|
2841
3127
|
* @csspart bibContainer - Apply css to the bib container.
|
|
2842
3128
|
*/
|
|
2843
3129
|
|
|
2844
|
-
class AuroDropdownBib extends r {
|
|
3130
|
+
class AuroDropdownBib extends r$4 {
|
|
2845
3131
|
|
|
2846
3132
|
constructor() {
|
|
2847
3133
|
super();
|
|
@@ -2854,9 +3140,9 @@ class AuroDropdownBib extends r {
|
|
|
2854
3140
|
|
|
2855
3141
|
static get styles() {
|
|
2856
3142
|
return [
|
|
2857
|
-
styleCss$
|
|
2858
|
-
colorCss$
|
|
2859
|
-
tokensCss$
|
|
3143
|
+
styleCss$4,
|
|
3144
|
+
colorCss$4,
|
|
3145
|
+
tokensCss$1$1
|
|
2860
3146
|
];
|
|
2861
3147
|
}
|
|
2862
3148
|
|
|
@@ -2907,7 +3193,7 @@ class AuroDropdownBib extends r {
|
|
|
2907
3193
|
|
|
2908
3194
|
// function that renders the HTML and CSS into the scope of the component
|
|
2909
3195
|
render() {
|
|
2910
|
-
return u$
|
|
3196
|
+
return u$3`
|
|
2911
3197
|
<div class="container" part="bibContainer">
|
|
2912
3198
|
<slot></slot>
|
|
2913
3199
|
</div>
|
|
@@ -2933,11 +3219,10 @@ if (!customElements.get("auro-dropdownbib")) {
|
|
|
2933
3219
|
* @csspart trigger - The trigger content container.
|
|
2934
3220
|
* @csspart chevron - The collapsed/expanded state icon container.
|
|
2935
3221
|
* @csspart helpText - The helpText content container.
|
|
2936
|
-
* @csspart popover - The bib content container.
|
|
2937
3222
|
* @event auroDropdown-triggerClick - Notifies that the trigger has been clicked.
|
|
2938
3223
|
* @event auroDropdown-toggled - Notifies that the visibility of the dropdown bib has changed.
|
|
2939
3224
|
*/
|
|
2940
|
-
class AuroDropdown extends r {
|
|
3225
|
+
class AuroDropdown extends r$4 {
|
|
2941
3226
|
constructor() {
|
|
2942
3227
|
super();
|
|
2943
3228
|
|
|
@@ -2946,6 +3231,25 @@ class AuroDropdown extends r {
|
|
|
2946
3231
|
this.noHideOnThisFocusLoss = false;
|
|
2947
3232
|
|
|
2948
3233
|
this.privateDefaults();
|
|
3234
|
+
|
|
3235
|
+
/**
|
|
3236
|
+
* @private
|
|
3237
|
+
* @property {boolean} delegatesFocus - Whether the shadow root delegates focus.
|
|
3238
|
+
*/
|
|
3239
|
+
this.constructor.shadowRootOptions = {
|
|
3240
|
+
...r$4.shadowRootOptions,
|
|
3241
|
+
delegatesFocus: true,
|
|
3242
|
+
};
|
|
3243
|
+
|
|
3244
|
+
/**
|
|
3245
|
+
* @private
|
|
3246
|
+
*/
|
|
3247
|
+
this.triggerContentFocusable = false;
|
|
3248
|
+
|
|
3249
|
+
/**
|
|
3250
|
+
* @private
|
|
3251
|
+
*/
|
|
3252
|
+
this.showTriggerBorders = true;
|
|
2949
3253
|
}
|
|
2950
3254
|
|
|
2951
3255
|
/**
|
|
@@ -2976,7 +3280,7 @@ class AuroDropdown extends r {
|
|
|
2976
3280
|
/**
|
|
2977
3281
|
* @private
|
|
2978
3282
|
*/
|
|
2979
|
-
this.runtimeUtils = new AuroLibraryRuntimeUtils();
|
|
3283
|
+
this.runtimeUtils = new AuroLibraryRuntimeUtils$1();
|
|
2980
3284
|
|
|
2981
3285
|
/**
|
|
2982
3286
|
* @private
|
|
@@ -2996,8 +3300,8 @@ class AuroDropdown extends r {
|
|
|
2996
3300
|
/**
|
|
2997
3301
|
* Generate unique names for dependency components.
|
|
2998
3302
|
*/
|
|
2999
|
-
const versioning = new AuroDependencyVersioning();
|
|
3000
|
-
this.iconTag = versioning.generateTag('auro-icon', iconVersion, AuroIcon);
|
|
3303
|
+
const versioning = new AuroDependencyVersioning$1();
|
|
3304
|
+
this.iconTag = versioning.generateTag('auro-icon', iconVersion$1, AuroIcon$1);
|
|
3001
3305
|
}
|
|
3002
3306
|
|
|
3003
3307
|
/**
|
|
@@ -3107,280 +3411,1864 @@ class AuroDropdown extends r {
|
|
|
3107
3411
|
reflect: true
|
|
3108
3412
|
},
|
|
3109
3413
|
|
|
3110
|
-
/**
|
|
3111
|
-
* @private
|
|
3112
|
-
*/
|
|
3113
|
-
hasTriggerContent: {
|
|
3114
|
-
type: Boolean
|
|
3115
|
-
},
|
|
3414
|
+
/**
|
|
3415
|
+
* @private
|
|
3416
|
+
*/
|
|
3417
|
+
hasTriggerContent: {
|
|
3418
|
+
type: Boolean
|
|
3419
|
+
},
|
|
3420
|
+
|
|
3421
|
+
/**
|
|
3422
|
+
* Defines the screen size breakpoint (`lg`, `md`, `sm`, or `xs`) at which the dropdown switches to fullscreen mode on mobile. When expanded, the dropdown will automatically display in fullscreen mode if the screen size is equal to or smaller than the selected breakpoint.
|
|
3423
|
+
*/
|
|
3424
|
+
mobileFullscreenBreakpoint: {
|
|
3425
|
+
type: String,
|
|
3426
|
+
reflect: true
|
|
3427
|
+
},
|
|
3428
|
+
|
|
3429
|
+
/**
|
|
3430
|
+
* If declared, the popover and trigger will be set to the same width.
|
|
3431
|
+
*/
|
|
3432
|
+
matchWidth: {
|
|
3433
|
+
type: Boolean,
|
|
3434
|
+
reflect: true
|
|
3435
|
+
},
|
|
3436
|
+
|
|
3437
|
+
/**
|
|
3438
|
+
* If declared, the dropdown will not hide when moving focus outside the element.
|
|
3439
|
+
*/
|
|
3440
|
+
noHideOnThisFocusLoss: {
|
|
3441
|
+
type: Boolean,
|
|
3442
|
+
reflect: true
|
|
3443
|
+
},
|
|
3444
|
+
|
|
3445
|
+
/**
|
|
3446
|
+
* If declared, the trigger will only show the dropdown bib.
|
|
3447
|
+
*/
|
|
3448
|
+
noToggle: {
|
|
3449
|
+
type: Boolean,
|
|
3450
|
+
reflect: true
|
|
3451
|
+
},
|
|
3452
|
+
|
|
3453
|
+
onSlotChange: {
|
|
3454
|
+
type: Function,
|
|
3455
|
+
reflect: false
|
|
3456
|
+
},
|
|
3457
|
+
|
|
3458
|
+
/**
|
|
3459
|
+
* @private
|
|
3460
|
+
*/
|
|
3461
|
+
placement: {
|
|
3462
|
+
type: String
|
|
3463
|
+
},
|
|
3464
|
+
|
|
3465
|
+
/**
|
|
3466
|
+
* If declared, will apply border-radius to trigger and default slots.
|
|
3467
|
+
*/
|
|
3468
|
+
rounded: {
|
|
3469
|
+
type: Boolean,
|
|
3470
|
+
reflect: true
|
|
3471
|
+
},
|
|
3472
|
+
|
|
3473
|
+
/**
|
|
3474
|
+
* @private
|
|
3475
|
+
*/
|
|
3476
|
+
tabIndex: {
|
|
3477
|
+
type: Number
|
|
3478
|
+
}
|
|
3479
|
+
};
|
|
3480
|
+
}
|
|
3481
|
+
|
|
3482
|
+
static get styles() {
|
|
3483
|
+
return [
|
|
3484
|
+
colorCss$2$1,
|
|
3485
|
+
styleCss$2$1,
|
|
3486
|
+
tokensCss$1$1
|
|
3487
|
+
];
|
|
3488
|
+
}
|
|
3489
|
+
|
|
3490
|
+
/**
|
|
3491
|
+
* This will register this element with the browser.
|
|
3492
|
+
* @param {string} [name="auro-dropdown"] - The name of element that you want to register to.
|
|
3493
|
+
*
|
|
3494
|
+
* @example
|
|
3495
|
+
* AuroDropdown.register("custom-dropdown") // this will register this element to <custom-dropdown/>
|
|
3496
|
+
*
|
|
3497
|
+
*/
|
|
3498
|
+
static register(name = "auro-dropdown") {
|
|
3499
|
+
AuroLibraryRuntimeUtils$1.prototype.registerComponent(name, AuroDropdown);
|
|
3500
|
+
}
|
|
3501
|
+
|
|
3502
|
+
connectedCallback() {
|
|
3503
|
+
super.connectedCallback();
|
|
3504
|
+
}
|
|
3505
|
+
|
|
3506
|
+
disconnectedCallback() {
|
|
3507
|
+
super.disconnectedCallback();
|
|
3508
|
+
}
|
|
3509
|
+
|
|
3510
|
+
updated(changedProperties) {
|
|
3511
|
+
this.floater.handleUpdate(changedProperties);
|
|
3512
|
+
|
|
3513
|
+
if (changedProperties.has('mobileFullscreenBreakpoint')) {
|
|
3514
|
+
this.bibContent.mobileFullscreenBreakpoint = this.mobileFullscreenBreakpoint;
|
|
3515
|
+
}
|
|
3516
|
+
|
|
3517
|
+
// when trigger's content is changed without any attribute or node change,
|
|
3518
|
+
// `requestUpdate` needs to be called to update hasTriggerContnet
|
|
3519
|
+
if (changedProperties.size === 0 || changedProperties.has('isPopoverVisible')) {
|
|
3520
|
+
this.handleTriggerContentSlotChange();
|
|
3521
|
+
}
|
|
3522
|
+
}
|
|
3523
|
+
|
|
3524
|
+
firstUpdated() {
|
|
3525
|
+
this.floater.configure(this, 'auroDropdown');
|
|
3526
|
+
this.bibContent = this.floater.element.bib;
|
|
3527
|
+
|
|
3528
|
+
// Add the tag name as an attribute if it is different than the component name
|
|
3529
|
+
this.runtimeUtils.handleComponentTagRename(this, 'auro-dropdown');
|
|
3530
|
+
}
|
|
3531
|
+
|
|
3532
|
+
/**
|
|
3533
|
+
* Exposes CSS parts for styling from parent components.
|
|
3534
|
+
* @private
|
|
3535
|
+
* @returns {void}
|
|
3536
|
+
*/
|
|
3537
|
+
exposeCssParts() {
|
|
3538
|
+
this.setAttribute('exportparts', 'trigger:dropdownTrigger, chevron:dropdownChevron, helpText:dropdownHelpText, size:dropdownSize');
|
|
3539
|
+
}
|
|
3540
|
+
|
|
3541
|
+
/**
|
|
3542
|
+
* Determines if content is within a custom slot.
|
|
3543
|
+
* @private
|
|
3544
|
+
* @param {HTMLElement} element - The element to check.
|
|
3545
|
+
* @returns {Boolean}
|
|
3546
|
+
*/
|
|
3547
|
+
isCustomSlotContent(element) {
|
|
3548
|
+
let currentElement = element;
|
|
3549
|
+
|
|
3550
|
+
let inCustomSlot = false;
|
|
3551
|
+
|
|
3552
|
+
while (currentElement) {
|
|
3553
|
+
currentElement = currentElement.parentElement;
|
|
3554
|
+
|
|
3555
|
+
if (currentElement && currentElement.hasAttribute('slot')) {
|
|
3556
|
+
inCustomSlot = true;
|
|
3557
|
+
break;
|
|
3558
|
+
}
|
|
3559
|
+
}
|
|
3560
|
+
|
|
3561
|
+
return inCustomSlot;
|
|
3562
|
+
}
|
|
3563
|
+
|
|
3564
|
+
/**
|
|
3565
|
+
* Determines if the element or any children are focusable.
|
|
3566
|
+
* @private
|
|
3567
|
+
* @param {HTMLElement} element - Element to check.
|
|
3568
|
+
* @returns {Boolean} - True if the element or any children are focusable.
|
|
3569
|
+
*/
|
|
3570
|
+
containsFocusableElement(element) {
|
|
3571
|
+
this.showTriggerBorders = true;
|
|
3572
|
+
|
|
3573
|
+
const nodes = [
|
|
3574
|
+
element,
|
|
3575
|
+
...element.children
|
|
3576
|
+
];
|
|
3577
|
+
|
|
3578
|
+
const focusableElements = [
|
|
3579
|
+
'a',
|
|
3580
|
+
'auro-hyperlink',
|
|
3581
|
+
'button',
|
|
3582
|
+
'auro-button',
|
|
3583
|
+
'input',
|
|
3584
|
+
'auro-input',
|
|
3585
|
+
];
|
|
3586
|
+
|
|
3587
|
+
const focusableElementsThatNeedBorders = ['auro-input'];
|
|
3588
|
+
|
|
3589
|
+
const result = nodes.some((node) => {
|
|
3590
|
+
const tagName = node.tagName.toLowerCase();
|
|
3591
|
+
|
|
3592
|
+
if (node.tabIndex > -1) {
|
|
3593
|
+
return true;
|
|
3594
|
+
}
|
|
3595
|
+
|
|
3596
|
+
if (focusableElements.includes(tagName)) {
|
|
3597
|
+
if ((tagName === 'a' || tagName === 'auro-hyperlink' || node.hasAttribute('auro-hyperlink')) && node.hasAttribute('href')) {
|
|
3598
|
+
return true;
|
|
3599
|
+
}
|
|
3600
|
+
if (!node.hasAttribute('disabled')) {
|
|
3601
|
+
return true;
|
|
3602
|
+
}
|
|
3603
|
+
}
|
|
3604
|
+
|
|
3605
|
+
if (focusableElements.some((focusableElement) => focusableElement.startsWith('auro-') && (focusableElement === tagName || node.hasAttribute(focusableElement)))) {
|
|
3606
|
+
return true;
|
|
3607
|
+
}
|
|
3608
|
+
|
|
3609
|
+
return false;
|
|
3610
|
+
});
|
|
3611
|
+
|
|
3612
|
+
if (result) {
|
|
3613
|
+
this.showTriggerBorders = !nodes.some((node) => {
|
|
3614
|
+
const tagName = node.tagName.toLowerCase();
|
|
3615
|
+
return focusableElements.includes(tagName) && !focusableElementsThatNeedBorders.includes(tagName);
|
|
3616
|
+
});
|
|
3617
|
+
}
|
|
3618
|
+
|
|
3619
|
+
return result;
|
|
3620
|
+
}
|
|
3621
|
+
|
|
3622
|
+
/**
|
|
3623
|
+
* Handles changes to the trigger content slot and updates related properties.
|
|
3624
|
+
*
|
|
3625
|
+
* It first updates the floater settings
|
|
3626
|
+
* Then, it retrieves the assigned nodes from the event target and checks if any of
|
|
3627
|
+
* the nodes contain non-empty text content, updating the `hasTriggerContent` property accordingly.
|
|
3628
|
+
*
|
|
3629
|
+
* @private
|
|
3630
|
+
* @method handleTriggerContentSlotChange
|
|
3631
|
+
* @param {Event} event - Native slotchange event.
|
|
3632
|
+
* @returns {void}
|
|
3633
|
+
*/
|
|
3634
|
+
handleTriggerContentSlotChange(event) {
|
|
3635
|
+
this.floater.handleTriggerTabIndex();
|
|
3636
|
+
|
|
3637
|
+
const triggerContentNodes = this.shadowRoot.querySelector('.triggerContent slot').assignedNodes();
|
|
3638
|
+
|
|
3639
|
+
triggerContentNodes.forEach((node) => {
|
|
3640
|
+
if (!this.triggerContentFocusable) {
|
|
3641
|
+
this.triggerContentFocusable = this.containsFocusableElement(node);
|
|
3642
|
+
}
|
|
3643
|
+
});
|
|
3644
|
+
|
|
3645
|
+
const trigger = this.shadowRoot.querySelector('#trigger');
|
|
3646
|
+
|
|
3647
|
+
if (!this.triggerContentFocusable) {
|
|
3648
|
+
trigger.setAttribute('tabindex', '0');
|
|
3649
|
+
trigger.setAttribute('role', 'button');
|
|
3650
|
+
} else {
|
|
3651
|
+
trigger.removeAttribute('tabindex');
|
|
3652
|
+
trigger.removeAttribute('role');
|
|
3653
|
+
}
|
|
3654
|
+
|
|
3655
|
+
if (event) {
|
|
3656
|
+
this.triggerNode = event.target;
|
|
3657
|
+
this.triggerContentSlot = event.target.assignedNodes();
|
|
3658
|
+
}
|
|
3659
|
+
|
|
3660
|
+
if (this.triggerContentSlot) {
|
|
3661
|
+
this.hasTriggerContent = this.triggerContentSlot.some((slot) => {
|
|
3662
|
+
if (slot.textContent.trim()) {
|
|
3663
|
+
return true;
|
|
3664
|
+
}
|
|
3665
|
+
const slotInSlot = slot.querySelector('slot');
|
|
3666
|
+
if (!slotInSlot) {
|
|
3667
|
+
return false;
|
|
3668
|
+
}
|
|
3669
|
+
const slotsInSlotNodes = slotInSlot.assignedNodes();
|
|
3670
|
+
return slotsInSlotNodes.some((ss) => Boolean(ss.textContent.trim()));
|
|
3671
|
+
});
|
|
3672
|
+
} else {
|
|
3673
|
+
this.hasTriggerContent = false;
|
|
3674
|
+
}
|
|
3675
|
+
}
|
|
3676
|
+
|
|
3677
|
+
/**
|
|
3678
|
+
* Handles the default slot change event and updates the content.
|
|
3679
|
+
*
|
|
3680
|
+
* This method retrieves all nodes assigned to the default slot of the event target and appends them
|
|
3681
|
+
* to the `bibContent` element. If a callback function `onSlotChange` is defined, it is invoked to
|
|
3682
|
+
* notify about the slot change.
|
|
3683
|
+
*
|
|
3684
|
+
* @private
|
|
3685
|
+
* @method handleDefaultSlot
|
|
3686
|
+
* @param {Event} event - The event object representing the slot change.
|
|
3687
|
+
* @fires Function#onSlotChange - Optional callback invoked when the slot content changes.
|
|
3688
|
+
*/
|
|
3689
|
+
handleDefaultSlot(event) {
|
|
3690
|
+
[...event.target.assignedNodes()].forEach((node) => this.bibContent.append(node));
|
|
3691
|
+
|
|
3692
|
+
if (this.onSlotChange) {
|
|
3693
|
+
this.onSlotChange();
|
|
3694
|
+
}
|
|
3695
|
+
}
|
|
3696
|
+
|
|
3697
|
+
// function that renders the HTML and CSS into the scope of the component
|
|
3698
|
+
render() {
|
|
3699
|
+
return u$3`
|
|
3700
|
+
<div>
|
|
3701
|
+
<div
|
|
3702
|
+
id="trigger"
|
|
3703
|
+
class="trigger"
|
|
3704
|
+
part="trigger"
|
|
3705
|
+
aria-labelledby="triggerLabel"
|
|
3706
|
+
tabindex="${this.tabIndex}"
|
|
3707
|
+
?showBorder="${this.showTriggerBorders}"
|
|
3708
|
+
>
|
|
3709
|
+
<div class="triggerContentWrapper">
|
|
3710
|
+
<label class="label" id="triggerLabel" hasTrigger=${this.hasTriggerContent}>
|
|
3711
|
+
<slot name="label"></slot>
|
|
3712
|
+
</label>
|
|
3713
|
+
<div class="triggerContent">
|
|
3714
|
+
<slot
|
|
3715
|
+
name="trigger"
|
|
3716
|
+
@slotchange="${this.handleTriggerContentSlotChange}"></slot>
|
|
3717
|
+
</div>
|
|
3718
|
+
</div>
|
|
3719
|
+
${this.chevron || this.common ? u$3`
|
|
3720
|
+
<div
|
|
3721
|
+
id="showStateIcon"
|
|
3722
|
+
part="chevron">
|
|
3723
|
+
<${this.iconTag}
|
|
3724
|
+
category="interface"
|
|
3725
|
+
name="chevron-down"
|
|
3726
|
+
customColor
|
|
3727
|
+
?disabled=${this.disabled}
|
|
3728
|
+
>
|
|
3729
|
+
</${this.iconTag}>
|
|
3730
|
+
</div>
|
|
3731
|
+
` : undefined }
|
|
3732
|
+
</div>
|
|
3733
|
+
<auro-helptext part="helpText" ?error="${this.error}">
|
|
3734
|
+
<slot name="helpText"></slot>
|
|
3735
|
+
</auro-helptext>
|
|
3736
|
+
<div class="slotContent">
|
|
3737
|
+
<slot @slotchange="${this.handleDefaultSlot}"></slot>
|
|
3738
|
+
</div>
|
|
3739
|
+
<div id="bibSizer" part="size"></div>
|
|
3740
|
+
<auro-dropdownbib
|
|
3741
|
+
id="bib"
|
|
3742
|
+
role="tooltip"
|
|
3743
|
+
?common="${this.common}"
|
|
3744
|
+
?rounded="${this.common || this.rounded}"
|
|
3745
|
+
?inset="${this.common || this.inset}">
|
|
3746
|
+
</auro-dropdownbib>
|
|
3747
|
+
</div>
|
|
3748
|
+
`;
|
|
3749
|
+
}
|
|
3750
|
+
}
|
|
3751
|
+
|
|
3752
|
+
AuroDropdown.register();
|
|
3753
|
+
|
|
3754
|
+
var dropdownVersion = '3.0.0';
|
|
3755
|
+
|
|
3756
|
+
/**
|
|
3757
|
+
* @license
|
|
3758
|
+
* Copyright 2019 Google LLC
|
|
3759
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
3760
|
+
*/
|
|
3761
|
+
const t$2=globalThis,e$4=t$2.ShadowRoot&&(undefined===t$2.ShadyCSS||t$2.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,s$2=Symbol(),o$4=new WeakMap;let n$3 = class n{constructor(t,e,o){if(this._$cssResult$=true,o!==s$2)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e;}get styleSheet(){let t=this.o;const s=this.t;if(e$4&&undefined===t){const e=undefined!==s&&1===s.length;e&&(t=o$4.get(s)),undefined===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o$4.set(s,t));}return t}toString(){return this.cssText}};const r$3=t=>new n$3("string"==typeof t?t:t+"",undefined,s$2),i$5=(t,...e)=>{const o=1===t.length?t[0]:e.reduce(((e,s,o)=>e+(t=>{if(true===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(s)+t[o+1]),t[0]);return new n$3(o,t,s$2)},S$1=(s,o)=>{if(e$4)s.adoptedStyleSheets=o.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of o){const o=document.createElement("style"),n=t$2.litNonce;undefined!==n&&o.setAttribute("nonce",n),o.textContent=e.cssText,s.appendChild(o);}},c$2=e$4?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const s of t.cssRules)e+=s.cssText;return r$3(e)})(t):t;
|
|
3762
|
+
|
|
3763
|
+
/**
|
|
3764
|
+
* @license
|
|
3765
|
+
* Copyright 2017 Google LLC
|
|
3766
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
3767
|
+
*/const{is:i$4,defineProperty:e$3,getOwnPropertyDescriptor:r$2,getOwnPropertyNames:h$1,getOwnPropertySymbols:o$3,getPrototypeOf:n$2}=Object,a$2=globalThis,c$1=a$2.trustedTypes,l$2=c$1?c$1.emptyScript:"",p$1=a$2.reactiveElementPolyfillSupport,d$1=(t,s)=>t,u$2={toAttribute(t,s){switch(s){case Boolean:t=t?l$2:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t);}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t);}catch(t){i=null;}}return i}},f$1=(t,s)=>!i$4(t,s),y$1={attribute:true,type:String,converter:u$2,reflect:false,hasChanged:f$1};Symbol.metadata??=Symbol("metadata"),a$2.litPropertyMetadata??=new WeakMap;class b extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t);}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=y$1){if(s.state&&(s.attribute=false),this._$Ei(),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),r=this.getPropertyDescriptor(t,i,s);undefined!==r&&e$3(this.prototype,t,r);}}static getPropertyDescriptor(t,s,i){const{get:e,set:h}=r$2(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t;}};return {get(){return e?.call(this)},set(s){const r=e?.call(this);h.call(this,s),this.requestUpdate(t,r,i);},configurable:true,enumerable:true}}static getPropertyOptions(t){return this.elementProperties.get(t)??y$1}static _$Ei(){if(this.hasOwnProperty(d$1("elementProperties")))return;const t=n$2(this);t.finalize(),undefined!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties);}static finalize(){if(this.hasOwnProperty(d$1("finalized")))return;if(this.finalized=true,this._$Ei(),this.hasOwnProperty(d$1("properties"))){const t=this.properties,s=[...h$1(t),...o$3(t)];for(const i of s)this.createProperty(i,t[i]);}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(undefined!==s)for(const[t,i]of s)this.elementProperties.set(t,i);}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);undefined!==i&&this._$Eh.set(i,t);}this.elementStyles=this.finalizeStyles(this.styles);}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(c$2(s));}else undefined!==s&&i.push(c$2(s));return i}static _$Eu(t,s){const i=s.attribute;return false===i?undefined:"string"==typeof i?i:"string"==typeof t?t.toLowerCase():undefined}constructor(){super(),this._$Ep=undefined,this.isUpdatePending=false,this.hasUpdated=false,this._$Em=null,this._$Ev();}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)));}addController(t){(this._$EO??=new Set).add(t),undefined!==this.renderRoot&&this.isConnected&&t.hostConnected?.();}removeController(t){this._$EO?.delete(t);}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t);}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return S$1(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(true),this._$EO?.forEach((t=>t.hostConnected?.()));}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()));}attributeChangedCallback(t,s,i){this._$AK(t,i);}_$EC(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(undefined!==e&&true===i.reflect){const r=(undefined!==i.converter?.toAttribute?i.converter:u$2).toAttribute(s,i.type);this._$Em=t,null==r?this.removeAttribute(e):this.setAttribute(e,r),this._$Em=null;}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(undefined!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),r="function"==typeof t.converter?{fromAttribute:t.converter}:undefined!==t.converter?.fromAttribute?t.converter:u$2;this._$Em=e,this[e]=r.fromAttribute(s,t.type),this._$Em=null;}}requestUpdate(t,s,i){if(undefined!==t){if(i??=this.constructor.getPropertyOptions(t),!(i.hasChanged??f$1)(this[t],s))return;this.P(t,s,i);} false===this.isUpdatePending&&(this._$ES=this._$ET());}P(t,s,i){this._$AL.has(t)||this._$AL.set(t,s),true===i.reflect&&this._$Em!==t&&(this._$Ej??=new Set).add(t);}async _$ET(){this.isUpdatePending=true;try{await this._$ES;}catch(t){Promise.reject(t);}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=undefined;}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t) true!==i.wrapped||this._$AL.has(s)||undefined===this[s]||this.P(s,this[s],i);}let t=false;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$EO?.forEach((t=>t.hostUpdate?.())),this.update(s)):this._$EU();}catch(s){throw t=false,this._$EU(),s}t&&this._$AE(s);}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=true,this.firstUpdated(t)),this.updated(t);}_$EU(){this._$AL=new Map,this.isUpdatePending=false;}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return true}update(t){this._$Ej&&=this._$Ej.forEach((t=>this._$EC(t,this[t]))),this._$EU();}updated(t){}firstUpdated(t){}}b.elementStyles=[],b.shadowRootOptions={mode:"open"},b[d$1("elementProperties")]=new Map,b[d$1("finalized")]=new Map,p$1?.({ReactiveElement:b}),(a$2.reactiveElementVersions??=[]).push("2.0.4");
|
|
3768
|
+
|
|
3769
|
+
/**
|
|
3770
|
+
* @license
|
|
3771
|
+
* Copyright 2017 Google LLC
|
|
3772
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
3773
|
+
*/
|
|
3774
|
+
const t$1=globalThis,i$3=t$1.trustedTypes,s$1=i$3?i$3.createPolicy("lit-html",{createHTML:t=>t}):undefined,e$2="$lit$",h=`lit$${Math.random().toFixed(9).slice(2)}$`,o$2="?"+h,n$1=`<${o$2}>`,r$1=document,l$1=()=>r$1.createComment(""),c=t=>null===t||"object"!=typeof t&&"function"!=typeof t,a$1=Array.isArray,u$1=t=>a$1(t)||"function"==typeof t?.[Symbol.iterator],d="[ \t\n\f\r]",f=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,v=/-->/g,_=/>/g,m=RegExp(`>|${d}(?:([^\\s"'>=/]+)(${d}*=${d}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),p=/'/g,g=/"/g,$=/^(?:script|style|textarea|title)$/i,y=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x=y(1),T=Symbol.for("lit-noChange"),E=Symbol.for("lit-nothing"),A=new WeakMap,C=r$1.createTreeWalker(r$1,129);function P(t,i){if(!a$1(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return undefined!==s$1?s$1.createHTML(i):i}const V=(t,i)=>{const s=t.length-1,o=[];let r,l=2===i?"<svg>":3===i?"<math>":"",c=f;for(let i=0;i<s;i++){const s=t[i];let a,u,d=-1,y=0;for(;y<s.length&&(c.lastIndex=y,u=c.exec(s),null!==u);)y=c.lastIndex,c===f?"!--"===u[1]?c=v:undefined!==u[1]?c=_:undefined!==u[2]?($.test(u[2])&&(r=RegExp("</"+u[2],"g")),c=m):undefined!==u[3]&&(c=m):c===m?">"===u[0]?(c=r??f,d=-1):undefined===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=undefined===u[3]?m:'"'===u[3]?g:p):c===g||c===p?c=m:c===v||c===_?c=f:(c=m,r=undefined);const x=c===m&&t[i+1].startsWith("/>")?" ":"";l+=c===f?s+n$1:d>=0?(o.push(a),s.slice(0,d)+e$2+s.slice(d)+h+x):s+h+(-2===d?i:x);}return [P(t,l+(t[s]||"<?>")+(2===i?"</svg>":3===i?"</math>":"")),o]};class N{constructor({strings:t,_$litType$:s},n){let r;this.parts=[];let c=0,a=0;const u=t.length-1,d=this.parts,[f,v]=V(t,s);if(this.el=N.createElement(f,n),C.currentNode=this.el.content,2===s||3===s){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes);}for(;null!==(r=C.nextNode())&&d.length<u;){if(1===r.nodeType){if(r.hasAttributes())for(const t of r.getAttributeNames())if(t.endsWith(e$2)){const i=v[a++],s=r.getAttribute(t).split(h),e=/([.?@])?(.*)/.exec(i);d.push({type:1,index:c,name:e[2],strings:s,ctor:"."===e[1]?H:"?"===e[1]?I:"@"===e[1]?L:k}),r.removeAttribute(t);}else t.startsWith(h)&&(d.push({type:6,index:c}),r.removeAttribute(t));if($.test(r.tagName)){const t=r.textContent.split(h),s=t.length-1;if(s>0){r.textContent=i$3?i$3.emptyScript:"";for(let i=0;i<s;i++)r.append(t[i],l$1()),C.nextNode(),d.push({type:2,index:++c});r.append(t[s],l$1());}}}else if(8===r.nodeType)if(r.data===o$2)d.push({type:2,index:c});else {let t=-1;for(;-1!==(t=r.data.indexOf(h,t+1));)d.push({type:7,index:c}),t+=h.length-1;}c++;}}static createElement(t,i){const s=r$1.createElement("template");return s.innerHTML=t,s}}function S(t,i,s=t,e){if(i===T)return i;let h=undefined!==e?s._$Co?.[e]:s._$Cl;const o=c(i)?undefined:i._$litDirective$;return h?.constructor!==o&&(h?._$AO?.(false),undefined===o?h=undefined:(h=new o(t),h._$AT(t,s,e)),undefined!==e?(s._$Co??=[])[e]=h:s._$Cl=h),undefined!==h&&(i=S(t,h._$AS(t,i.values),h,e)),i}class M{constructor(t,i){this._$AV=[],this._$AN=undefined,this._$AD=t,this._$AM=i;}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:i},parts:s}=this._$AD,e=(t?.creationScope??r$1).importNode(i,true);C.currentNode=e;let h=C.nextNode(),o=0,n=0,l=s[0];for(;undefined!==l;){if(o===l.index){let i;2===l.type?i=new R(h,h.nextSibling,this,t):1===l.type?i=new l.ctor(h,l.name,l.strings,this,t):6===l.type&&(i=new z(h,this,t)),this._$AV.push(i),l=s[++n];}o!==l?.index&&(h=C.nextNode(),o++);}return C.currentNode=r$1,e}p(t){let i=0;for(const s of this._$AV) undefined!==s&&(undefined!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++;}}class R{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,i,s,e){this.type=2,this._$AH=E,this._$AN=undefined,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cv=e?.isConnected??true;}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return undefined!==i&&11===t?.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=S(this,t,i),c(t)?t===E||null==t||""===t?(this._$AH!==E&&this._$AR(),this._$AH=E):t!==this._$AH&&t!==T&&this._(t):undefined!==t._$litType$?this.$(t):undefined!==t.nodeType?this.T(t):u$1(t)?this.k(t):this._(t);}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t));}_(t){this._$AH!==E&&c(this._$AH)?this._$AA.nextSibling.data=t:this.T(r$1.createTextNode(t)),this._$AH=t;}$(t){const{values:i,_$litType$:s}=t,e="number"==typeof s?this._$AC(t):(undefined===s.el&&(s.el=N.createElement(P(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===e)this._$AH.p(i);else {const t=new M(e,this),s=t.u(this.options);t.p(i),this.T(s),this._$AH=t;}}_$AC(t){let i=A.get(t.strings);return undefined===i&&A.set(t.strings,i=new N(t)),i}k(t){a$1(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const h of t)e===i.length?i.push(s=new R(this.O(l$1()),this.O(l$1()),this,this.options)):s=i[e],s._$AI(h),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e);}_$AR(t=this._$AA.nextSibling,i){for(this._$AP?.(false,true,i);t&&t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i;}}setConnected(t){ undefined===this._$AM&&(this._$Cv=t,this._$AP?.(t));}}class k{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,i,s,e,h){this.type=1,this._$AH=E,this._$AN=undefined,this.element=t,this.name=i,this._$AM=e,this.options=h,s.length>2||""!==s[0]||""!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=E;}_$AI(t,i=this,s,e){const h=this.strings;let o=false;if(undefined===h)t=S(this,t,i,0),o=!c(t)||t!==this._$AH&&t!==T,o&&(this._$AH=t);else {const e=t;let n,r;for(t=h[0],n=0;n<h.length-1;n++)r=S(this,e[s+n],i,n),r===T&&(r=this._$AH[n]),o||=!c(r)||r!==this._$AH[n],r===E?t=E:t!==E&&(t+=(r??"")+h[n+1]),this._$AH[n]=r;}o&&!e&&this.j(t);}j(t){t===E?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"");}}class H extends k{constructor(){super(...arguments),this.type=3;}j(t){this.element[this.name]=t===E?undefined:t;}}class I extends k{constructor(){super(...arguments),this.type=4;}j(t){this.element.toggleAttribute(this.name,!!t&&t!==E);}}class L extends k{constructor(t,i,s,e,h){super(t,i,s,e,h),this.type=5;}_$AI(t,i=this){if((t=S(this,t,i,0)??E)===T)return;const s=this._$AH,e=t===E&&s!==E||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,h=t!==E&&(s===E||e);e&&this.element.removeEventListener(this.name,this,s),h&&this.element.addEventListener(this.name,this,t),this._$AH=t;}handleEvent(t){"function"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t);}}class z{constructor(t,i,s){this.element=t,this.type=6,this._$AN=undefined,this._$AM=i,this.options=s;}get _$AU(){return this._$AM._$AU}_$AI(t){S(this,t);}}const j=t$1.litHtmlPolyfillSupport;j?.(N,R),(t$1.litHtmlVersions??=[]).push("3.2.1");const B=(t,i,s)=>{const e=s?.renderBefore??i;let h=e._$litPart$;if(undefined===h){const t=s?.renderBefore??null;e._$litPart$=h=new R(i.insertBefore(l$1(),t),t,undefined,s??{});}return h._$AI(t),h};
|
|
3775
|
+
|
|
3776
|
+
/**
|
|
3777
|
+
* @license
|
|
3778
|
+
* Copyright 2017 Google LLC
|
|
3779
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
3780
|
+
*/class r extends b{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=undefined;}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const s=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=B(s,this.renderRoot,this.renderOptions);}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(true);}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(false);}render(){return T}}r._$litElement$=true,r["finalized"]=true,globalThis.litElementHydrateSupport?.({LitElement:r});const i$2=globalThis.litElementPolyfillSupport;i$2?.({LitElement:r});(globalThis.litElementVersions??=[]).push("4.1.1");
|
|
3781
|
+
|
|
3782
|
+
var styleCss$2 = i$5`: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)}`;
|
|
3783
|
+
|
|
3784
|
+
var colorCss$2 = i$5`:host ::slotted(hr){border-top-color:var(--ds-auro-menu-divider-color) !important}`;
|
|
3785
|
+
|
|
3786
|
+
var tokensCss$1 = i$5`: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)}`;
|
|
3787
|
+
|
|
3788
|
+
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
3789
|
+
// See LICENSE in the project root for license information.
|
|
3790
|
+
|
|
3791
|
+
// ---------------------------------------------------------------------
|
|
3792
|
+
|
|
3793
|
+
/* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
|
|
3794
|
+
|
|
3795
|
+
class AuroLibraryRuntimeUtils {
|
|
3796
|
+
|
|
3797
|
+
/* eslint-disable jsdoc/require-param */
|
|
3798
|
+
|
|
3799
|
+
/**
|
|
3800
|
+
* This will register a new custom element with the browser.
|
|
3801
|
+
* @param {String} name - The name of the custom element.
|
|
3802
|
+
* @param {Object} componentClass - The class to register as a custom element.
|
|
3803
|
+
* @returns {void}
|
|
3804
|
+
*/
|
|
3805
|
+
registerComponent(name, componentClass) {
|
|
3806
|
+
if (!customElements.get(name)) {
|
|
3807
|
+
customElements.define(name, class extends componentClass {});
|
|
3808
|
+
}
|
|
3809
|
+
}
|
|
3810
|
+
|
|
3811
|
+
/**
|
|
3812
|
+
* Finds and returns the closest HTML Element based on a selector.
|
|
3813
|
+
* @returns {void}
|
|
3814
|
+
*/
|
|
3815
|
+
closestElement(
|
|
3816
|
+
selector, // selector like in .closest()
|
|
3817
|
+
base = this, // extra functionality to skip a parent
|
|
3818
|
+
__Closest = (el, found = el && el.closest(selector)) =>
|
|
3819
|
+
!el || el === document || el === window
|
|
3820
|
+
? null // standard .closest() returns null for non-found selectors also
|
|
3821
|
+
: found
|
|
3822
|
+
? found // found a selector INside this element
|
|
3823
|
+
: __Closest(el.getRootNode().host) // recursion!! break out to parent DOM
|
|
3824
|
+
) {
|
|
3825
|
+
return __Closest(base);
|
|
3826
|
+
}
|
|
3827
|
+
/* eslint-enable jsdoc/require-param */
|
|
3828
|
+
|
|
3829
|
+
/**
|
|
3830
|
+
* If the element passed is registered with a different tag name than what is passed in, the tag name is added as an attribute to the element.
|
|
3831
|
+
* @param {Object} elem - The element to check.
|
|
3832
|
+
* @param {String} tagName - The name of the Auro component to check for or add as an attribute.
|
|
3833
|
+
* @returns {void}
|
|
3834
|
+
*/
|
|
3835
|
+
handleComponentTagRename(elem, tagName) {
|
|
3836
|
+
const tag = tagName.toLowerCase();
|
|
3837
|
+
const elemTag = elem.tagName.toLowerCase();
|
|
3838
|
+
|
|
3839
|
+
if (elemTag !== tag) {
|
|
3840
|
+
elem.setAttribute(tag, true);
|
|
3841
|
+
}
|
|
3842
|
+
}
|
|
3843
|
+
|
|
3844
|
+
/**
|
|
3845
|
+
* Validates if an element is a specific Auro component.
|
|
3846
|
+
* @param {Object} elem - The element to validate.
|
|
3847
|
+
* @param {String} tagName - The name of the Auro component to check against.
|
|
3848
|
+
* @returns {Boolean} - Returns true if the element is the specified Auro component.
|
|
3849
|
+
*/
|
|
3850
|
+
elementMatch(elem, tagName) {
|
|
3851
|
+
const tag = tagName.toLowerCase();
|
|
3852
|
+
const elemTag = elem.tagName.toLowerCase();
|
|
3853
|
+
|
|
3854
|
+
return elemTag === tag || elem.hasAttribute(tag);
|
|
3855
|
+
}
|
|
3856
|
+
}
|
|
3857
|
+
|
|
3858
|
+
// Copyright (c) 2021 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
3859
|
+
// See LICENSE in the project root for license information.
|
|
3860
|
+
|
|
3861
|
+
// ---------------------------------------------------------------------
|
|
3862
|
+
|
|
3863
|
+
/**
|
|
3864
|
+
* Converts value to an array.
|
|
3865
|
+
* If the value is a JSON string representing an array, it will be parsed.
|
|
3866
|
+
* If the value is already an array, it is returned.
|
|
3867
|
+
* If the value is undefined, it returns undefined.
|
|
3868
|
+
* @private
|
|
3869
|
+
* @param {any} value - The value to be converted. Can be a string, array, or undefined.
|
|
3870
|
+
* @returns {Array|undefined} - The converted array or undefined.
|
|
3871
|
+
* @throws {Error} - Throws an error if the value is not an array, undefined,
|
|
3872
|
+
* or if the value cannot be parsed into an array from a JSON string.
|
|
3873
|
+
*/
|
|
3874
|
+
function arrayConverter(value) {
|
|
3875
|
+
// Allow undefined
|
|
3876
|
+
if (value === undefined) {
|
|
3877
|
+
return undefined;
|
|
3878
|
+
}
|
|
3879
|
+
|
|
3880
|
+
// Return the value if it is already an array
|
|
3881
|
+
if (Array.isArray(value)) {
|
|
3882
|
+
return value;
|
|
3883
|
+
}
|
|
3884
|
+
|
|
3885
|
+
try {
|
|
3886
|
+
// If value is a JSON string, parse it
|
|
3887
|
+
const parsed = typeof value === 'string' ? JSON.parse(value) : value;
|
|
3888
|
+
|
|
3889
|
+
// Check if the parsed value is an array
|
|
3890
|
+
if (Array.isArray(parsed)) {
|
|
3891
|
+
return parsed;
|
|
3892
|
+
}
|
|
3893
|
+
} catch (error) {
|
|
3894
|
+
// If JSON parsing fails, continue to throw an error below
|
|
3895
|
+
/* eslint-disable no-console */
|
|
3896
|
+
console.error('JSON parsing failed:', error);
|
|
3897
|
+
}
|
|
3898
|
+
|
|
3899
|
+
// Throw error if the input is not an array or undefined
|
|
3900
|
+
throw new Error('Invalid value: Input must be an array or undefined');
|
|
3901
|
+
}
|
|
3902
|
+
|
|
3903
|
+
/**
|
|
3904
|
+
* Compare two arrays for equality.
|
|
3905
|
+
* @private
|
|
3906
|
+
* @param {Array} arr1 - First array to compare.
|
|
3907
|
+
* @param {Array} arr2 - Second array to compare.
|
|
3908
|
+
* @returns {boolean} True if arrays are equal.
|
|
3909
|
+
*/
|
|
3910
|
+
function arraysAreEqual(arr1, arr2) {
|
|
3911
|
+
// If both arrays undefined, they are equal (true)
|
|
3912
|
+
if (arr1 === undefined || arr2 === undefined) {
|
|
3913
|
+
return arr1 === arr2;
|
|
3914
|
+
}
|
|
3915
|
+
|
|
3916
|
+
// If arrays have different lengths, they are not equal
|
|
3917
|
+
if (arr1.length !== arr2.length) {
|
|
3918
|
+
return false;
|
|
3919
|
+
}
|
|
3920
|
+
|
|
3921
|
+
// If every item at each index is the same, return true
|
|
3922
|
+
for (let index = 0; index < arr1.length; index += 1) {
|
|
3923
|
+
if (arr1[index] !== arr2[index]) {
|
|
3924
|
+
return false;
|
|
3925
|
+
}
|
|
3926
|
+
}
|
|
3927
|
+
return true;
|
|
3928
|
+
}
|
|
3929
|
+
|
|
3930
|
+
/**
|
|
3931
|
+
* Compares array for changes.
|
|
3932
|
+
* @private
|
|
3933
|
+
* @param {Array|any} newVal - New value to compare.
|
|
3934
|
+
* @param {Array|any} oldVal - Old value to compare.
|
|
3935
|
+
* @returns {boolean} True if arrays have changed.
|
|
3936
|
+
*/
|
|
3937
|
+
function arrayOrUndefinedHasChanged(newVal, oldVal) {
|
|
3938
|
+
try {
|
|
3939
|
+
// Check if values are undefined or arrays
|
|
3940
|
+
const isArrayOrUndefined = (val) => val === undefined || Array.isArray(val);
|
|
3941
|
+
|
|
3942
|
+
// If non-array or non-undefined, throw error
|
|
3943
|
+
if (!isArrayOrUndefined(newVal) || !isArrayOrUndefined(oldVal)) {
|
|
3944
|
+
const invalidValue = isArrayOrUndefined(newVal) ? oldVal : newVal;
|
|
3945
|
+
throw new Error(`Value must be an array or undefined, received ${typeof invalidValue}`);
|
|
3946
|
+
}
|
|
3947
|
+
|
|
3948
|
+
// Return true if arrays have changed, false if they are the same
|
|
3949
|
+
return !arraysAreEqual(newVal, oldVal);
|
|
3950
|
+
} catch (error) {
|
|
3951
|
+
/* eslint-disable no-console */
|
|
3952
|
+
console.error(error);
|
|
3953
|
+
// If validation fails, it has changed
|
|
3954
|
+
return true;
|
|
3955
|
+
}
|
|
3956
|
+
}
|
|
3957
|
+
|
|
3958
|
+
/**
|
|
3959
|
+
* Validates if an option can be interacted with.
|
|
3960
|
+
* @private
|
|
3961
|
+
* @param {HTMLElement} option - The option to check.
|
|
3962
|
+
* @returns {boolean} True if option is interactive.
|
|
3963
|
+
*/
|
|
3964
|
+
function isOptionInteractive(option) {
|
|
3965
|
+
return !option.hasAttribute('hidden') &&
|
|
3966
|
+
!option.hasAttribute('disabled') &&
|
|
3967
|
+
!option.hasAttribute('static');
|
|
3968
|
+
}
|
|
3969
|
+
|
|
3970
|
+
/**
|
|
3971
|
+
* Helper method to dispatch custom events.
|
|
3972
|
+
* @param {HTMLElement} element - Element to dispatch event from.
|
|
3973
|
+
* @param {string} eventName - Name of the event to dispatch.
|
|
3974
|
+
* @param {Object} [detail] - Optional detail object to include with the event.
|
|
3975
|
+
*/
|
|
3976
|
+
function dispatchMenuEvent(element, eventName, detail = null) {
|
|
3977
|
+
const eventConfig = {
|
|
3978
|
+
bubbles: true,
|
|
3979
|
+
cancelable: false,
|
|
3980
|
+
composed: true
|
|
3981
|
+
};
|
|
3982
|
+
|
|
3983
|
+
if (detail !== null) {
|
|
3984
|
+
eventConfig.detail = detail;
|
|
3985
|
+
}
|
|
3986
|
+
|
|
3987
|
+
element.dispatchEvent(new CustomEvent(eventName, eventConfig));
|
|
3988
|
+
}
|
|
3989
|
+
|
|
3990
|
+
// Copyright (c) 2021 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
3991
|
+
// See LICENSE in the project root for license information.
|
|
3992
|
+
|
|
3993
|
+
|
|
3994
|
+
|
|
3995
|
+
// See https://git.io/JJ6SJ for "How to document your components using JSDoc"
|
|
3996
|
+
/**
|
|
3997
|
+
* The auro-menu element provides users a way to select from a list of options.
|
|
3998
|
+
* @attr {Array<HTMLElement>|undefined} optionselected - An array of currently selected menu options. In single-select mode, the array will contain only one HTMLElement. `undefined` when no options are selected.
|
|
3999
|
+
* @attr {object} optionactive - Specifies the current active menuOption.
|
|
4000
|
+
* @attr {string} matchword - Specifies a string used to highlight matched string parts in options.
|
|
4001
|
+
* @attr {boolean} disabled - When true, the entire menu and all options are disabled;
|
|
4002
|
+
* @attr {boolean} nocheckmark - When true, selected option will not show the checkmark.
|
|
4003
|
+
* @attr {boolean} loading - When true, displays a loading state using the loadingIcon and loadingText slots if provided.
|
|
4004
|
+
* @attr {boolean} multiselect - When true, the selected option can be multiple options.
|
|
4005
|
+
* @attr {Array<string>|undefined} value - Value selected for the menu. `undefined` when no selection has been made, otherwise an array of strings. In single-select mode, the array will contain only one value.
|
|
4006
|
+
* @prop {boolean} hasLoadingPlaceholder - Indicates whether the menu has a loadingIcon or loadingText to render when in a loading state.
|
|
4007
|
+
* @event {CustomEvent<Element>} auroMenu-activatedOption - Notifies that a menuoption has been made `active`.
|
|
4008
|
+
* @event {CustomEvent<any>} auroMenu-customEventFired - Notifies that a custom event has been fired.
|
|
4009
|
+
* @event {CustomEvent<{ loading: boolean; hasLoadingPlaceholder: boolean; }>} auroMenu-loadingChange - Notifies when the loading attribute is changed.
|
|
4010
|
+
* @event {CustomEvent<any>} auroMenu-selectValueFailure - Notifies that an attempt to select a menuoption by matching a value has failed.
|
|
4011
|
+
* @event {CustomEvent<any>} auroMenu-selectValueReset - Notifies that the component value has been reset.
|
|
4012
|
+
* @event {CustomEvent<any>} auroMenu-selectedOption - Notifies that a new menuoption selection has been made.
|
|
4013
|
+
* @slot loadingText - Text to show while loading attribute is set
|
|
4014
|
+
* @slot loadingIcon - Icon to show while loading attribute is set
|
|
4015
|
+
* @slot - Slot for insertion of menu options.
|
|
4016
|
+
*/
|
|
4017
|
+
|
|
4018
|
+
/* eslint-disable no-magic-numbers, max-lines */
|
|
4019
|
+
|
|
4020
|
+
class AuroMenu extends r {
|
|
4021
|
+
constructor() {
|
|
4022
|
+
super();
|
|
4023
|
+
|
|
4024
|
+
// State properties (reactive)
|
|
4025
|
+
|
|
4026
|
+
// Value of the selected options
|
|
4027
|
+
this.value = undefined;
|
|
4028
|
+
// Currently selected option
|
|
4029
|
+
this.optionSelected = undefined;
|
|
4030
|
+
// String used for highlighting/filtering
|
|
4031
|
+
this.matchWord = undefined;
|
|
4032
|
+
// Hide the checkmark icon on selected options
|
|
4033
|
+
this.noCheckmark = false;
|
|
4034
|
+
// Currently active option
|
|
4035
|
+
this.optionActive = undefined;
|
|
4036
|
+
// Loading state
|
|
4037
|
+
this.loading = false;
|
|
4038
|
+
// Multi-select mode
|
|
4039
|
+
this.multiSelect = false;
|
|
4040
|
+
|
|
4041
|
+
// Event Bindings
|
|
4042
|
+
|
|
4043
|
+
/**
|
|
4044
|
+
* @private
|
|
4045
|
+
*/
|
|
4046
|
+
this.handleKeyDown = this.handleKeyDown.bind(this);
|
|
4047
|
+
|
|
4048
|
+
/**
|
|
4049
|
+
* @private
|
|
4050
|
+
*/
|
|
4051
|
+
this.handleMouseSelect = this.handleMouseSelect.bind(this);
|
|
4052
|
+
|
|
4053
|
+
/**
|
|
4054
|
+
* @private
|
|
4055
|
+
*/
|
|
4056
|
+
this.handleOptionHover = this.handleOptionHover.bind(this);
|
|
4057
|
+
|
|
4058
|
+
/**
|
|
4059
|
+
* @private
|
|
4060
|
+
*/
|
|
4061
|
+
this.handleSlotChange = this.handleSlotChange.bind(this);
|
|
4062
|
+
|
|
4063
|
+
// Instance properties (non-reactive)
|
|
4064
|
+
|
|
4065
|
+
/**
|
|
4066
|
+
* @private
|
|
4067
|
+
*/
|
|
4068
|
+
Object.assign(this, {
|
|
4069
|
+
// Root-level menu (true) or a nested submenu (false)
|
|
4070
|
+
rootMenu: true,
|
|
4071
|
+
// Currently focused/active menu item index
|
|
4072
|
+
index: -1,
|
|
4073
|
+
// Nested menu spacer
|
|
4074
|
+
nestingSpacer: '<span class="nestingSpacer"></span>',
|
|
4075
|
+
// Loading indicator for slot elements
|
|
4076
|
+
loadingSlots: null,
|
|
4077
|
+
// Store for menu items
|
|
4078
|
+
items: [],
|
|
4079
|
+
});
|
|
4080
|
+
}
|
|
4081
|
+
|
|
4082
|
+
static get properties() {
|
|
4083
|
+
return {
|
|
4084
|
+
noCheckmark: {
|
|
4085
|
+
type: Boolean,
|
|
4086
|
+
reflect: true,
|
|
4087
|
+
attribute: 'nocheckmark'
|
|
4088
|
+
},
|
|
4089
|
+
disabled: {
|
|
4090
|
+
type: Boolean,
|
|
4091
|
+
reflect: true
|
|
4092
|
+
},
|
|
4093
|
+
loading: {
|
|
4094
|
+
type: Boolean,
|
|
4095
|
+
reflect: true
|
|
4096
|
+
},
|
|
4097
|
+
optionSelected: {
|
|
4098
|
+
// Allow HTMLElement[] arrays and undefined
|
|
4099
|
+
converter: arrayConverter,
|
|
4100
|
+
hasChanged: arrayOrUndefinedHasChanged
|
|
4101
|
+
},
|
|
4102
|
+
optionActive: {
|
|
4103
|
+
type: Object,
|
|
4104
|
+
attribute: 'optionactive'
|
|
4105
|
+
},
|
|
4106
|
+
matchWord: {
|
|
4107
|
+
type: String,
|
|
4108
|
+
attribute: 'matchword'
|
|
4109
|
+
},
|
|
4110
|
+
multiSelect: {
|
|
4111
|
+
type: Boolean,
|
|
4112
|
+
reflect: true,
|
|
4113
|
+
attribute: 'multiselect'
|
|
4114
|
+
},
|
|
4115
|
+
value: {
|
|
4116
|
+
// Allow string[] arrays and undefined
|
|
4117
|
+
type: Object,
|
|
4118
|
+
converter: arrayConverter,
|
|
4119
|
+
hasChanged: arrayOrUndefinedHasChanged
|
|
4120
|
+
}
|
|
4121
|
+
};
|
|
4122
|
+
}
|
|
4123
|
+
|
|
4124
|
+
static get styles() {
|
|
4125
|
+
return [
|
|
4126
|
+
styleCss$2,
|
|
4127
|
+
colorCss$2,
|
|
4128
|
+
tokensCss$1
|
|
4129
|
+
];
|
|
4130
|
+
}
|
|
4131
|
+
|
|
4132
|
+
/**
|
|
4133
|
+
* This will register this element with the browser.
|
|
4134
|
+
* @param {string} [name="auro-menu"] - The name of element that you want to register to.
|
|
4135
|
+
*
|
|
4136
|
+
* @example
|
|
4137
|
+
* AuroMenu.register("custom-menu") // this will register this element to <custom-menu/>
|
|
4138
|
+
*
|
|
4139
|
+
*/
|
|
4140
|
+
static register(name = "auro-menu") {
|
|
4141
|
+
AuroLibraryRuntimeUtils.prototype.registerComponent(name, AuroMenu);
|
|
4142
|
+
}
|
|
4143
|
+
|
|
4144
|
+
// Lifecycle Methods
|
|
4145
|
+
|
|
4146
|
+
connectedCallback() {
|
|
4147
|
+
super.connectedCallback();
|
|
4148
|
+
|
|
4149
|
+
this.addEventListener('keydown', this.handleKeyDown);
|
|
4150
|
+
this.addEventListener('mousedown', this.handleMouseSelect);
|
|
4151
|
+
this.addEventListener('auroMenuOption-mouseover', this.handleOptionHover);
|
|
4152
|
+
this.addEventListener('slotchange', this.handleSlotChange);
|
|
4153
|
+
}
|
|
4154
|
+
|
|
4155
|
+
disconnectedCallback() {
|
|
4156
|
+
this.removeEventListener('keydown', this.handleKeyDown);
|
|
4157
|
+
this.removeEventListener('mousedown', this.handleMouseSelect);
|
|
4158
|
+
this.removeEventListener('auroMenuOption-mouseover', this.handleOptionHover);
|
|
4159
|
+
this.removeEventListener('slotchange', this.handleSlotChange);
|
|
4160
|
+
|
|
4161
|
+
super.disconnectedCallback();
|
|
4162
|
+
}
|
|
4163
|
+
|
|
4164
|
+
firstUpdated() {
|
|
4165
|
+
AuroLibraryRuntimeUtils.prototype.handleComponentTagRename(this, 'auro-menu');
|
|
4166
|
+
|
|
4167
|
+
this.loadingSlots = this.querySelectorAll("[slot='loadingText'], [slot='loadingIcon']");
|
|
4168
|
+
this.initializeMenu();
|
|
4169
|
+
}
|
|
4170
|
+
|
|
4171
|
+
updated(changedProperties) {
|
|
4172
|
+
if (changedProperties.has('value')) {
|
|
4173
|
+
// Handle null/undefined case
|
|
4174
|
+
if (this.value === undefined || this.value === null) {
|
|
4175
|
+
this.optionSelected = undefined;
|
|
4176
|
+
// Reset index tracking
|
|
4177
|
+
this.index = -1;
|
|
4178
|
+
} else {
|
|
4179
|
+
// Convert single values to arrays
|
|
4180
|
+
const valueArray = Array.isArray(this.value) ? this.value : [this.value];
|
|
4181
|
+
|
|
4182
|
+
// Find all matching options
|
|
4183
|
+
const matchingOptions = this.items.filter((item) => valueArray.includes(item.value));
|
|
4184
|
+
|
|
4185
|
+
if (matchingOptions.length > 0) {
|
|
4186
|
+
if (this.multiSelect) {
|
|
4187
|
+
// For multiselect, keep all matching options
|
|
4188
|
+
this.optionSelected = matchingOptions;
|
|
4189
|
+
} else {
|
|
4190
|
+
// For single select, only use the first match
|
|
4191
|
+
this.optionSelected = [matchingOptions[0]];
|
|
4192
|
+
this.index = this.items.indexOf(matchingOptions[0]);
|
|
4193
|
+
}
|
|
4194
|
+
} else {
|
|
4195
|
+
// No matches found - trigger failure event
|
|
4196
|
+
dispatchMenuEvent(this, 'auroMenu-selectValueFailure');
|
|
4197
|
+
this.optionSelected = undefined;
|
|
4198
|
+
this.index = -1;
|
|
4199
|
+
}
|
|
4200
|
+
}
|
|
4201
|
+
|
|
4202
|
+
// Update UI state
|
|
4203
|
+
this.updateItemsState(new Map([
|
|
4204
|
+
[
|
|
4205
|
+
'optionSelected',
|
|
4206
|
+
true
|
|
4207
|
+
]
|
|
4208
|
+
]));
|
|
4209
|
+
|
|
4210
|
+
// Notify of changes
|
|
4211
|
+
if (this.optionSelected !== undefined) {
|
|
4212
|
+
this.notifySelectionChange();
|
|
4213
|
+
}
|
|
4214
|
+
}
|
|
4215
|
+
|
|
4216
|
+
// Process all other UI updates
|
|
4217
|
+
this.updateItemsState(changedProperties);
|
|
4218
|
+
}
|
|
4219
|
+
|
|
4220
|
+
/**
|
|
4221
|
+
* Updates the UI state and appearance of menu items based on changed properties.
|
|
4222
|
+
* @private
|
|
4223
|
+
* @param {Map<string, boolean>} changedProperties - LitElement's changed properties map.
|
|
4224
|
+
*/
|
|
4225
|
+
updateItemsState(changedProperties) {
|
|
4226
|
+
if (!this.items) {
|
|
4227
|
+
return;
|
|
4228
|
+
}
|
|
4229
|
+
|
|
4230
|
+
// Handle noCheckmark propagation to all menus and options
|
|
4231
|
+
if (changedProperties.has('noCheckmark') && this.noCheckmark) {
|
|
4232
|
+
// Update both menus and options
|
|
4233
|
+
this.querySelectorAll('auro-menu, [auro-menu], auro-menuoption, [auro-menuoption]').forEach((element) => element.setAttribute('noCheckmark', ''));
|
|
4234
|
+
}
|
|
4235
|
+
|
|
4236
|
+
// Regex for matchWord if needed
|
|
4237
|
+
let regexWord = null;
|
|
4238
|
+
|
|
4239
|
+
if (changedProperties.has('matchWord') && this.matchWord && this.matchWord.length) {
|
|
4240
|
+
const escapedWord = this.matchWord.replace(/[.*+?^${}()|[\]\\]/gu, '\\$&');
|
|
4241
|
+
regexWord = new RegExp(escapedWord, 'giu');
|
|
4242
|
+
}
|
|
4243
|
+
|
|
4244
|
+
// Handle direct item updates
|
|
4245
|
+
this.items.forEach((option) => {
|
|
4246
|
+
// Update selection if option or value changed
|
|
4247
|
+
if (changedProperties.has('optionSelected') || changedProperties.has('value')) {
|
|
4248
|
+
const isSelected = this.isOptionSelected(option);
|
|
4249
|
+
option.setAttribute('aria-selected', isSelected ? 'true' : 'false');
|
|
4250
|
+
|
|
4251
|
+
// Add/remove selected attribute based on state
|
|
4252
|
+
if (isSelected) {
|
|
4253
|
+
option.setAttribute('selected', '');
|
|
4254
|
+
} else {
|
|
4255
|
+
option.removeAttribute('selected');
|
|
4256
|
+
}
|
|
4257
|
+
}
|
|
4258
|
+
|
|
4259
|
+
// Update text highlighting if matchWord changed
|
|
4260
|
+
if (changedProperties.has('matchWord') && regexWord &&
|
|
4261
|
+
isOptionInteractive(option) && !option.hasAttribute('persistent')) {
|
|
4262
|
+
const nested = option.querySelectorAll('.nestingSpacer');
|
|
4263
|
+
// Create nested spacers
|
|
4264
|
+
const nestingSpacerBundle = [...nested].map(() => this.nestingSpacer).join('');
|
|
4265
|
+
|
|
4266
|
+
// Update with spacers and matchWord
|
|
4267
|
+
option.innerHTML = nestingSpacerBundle +
|
|
4268
|
+
option.textContent.replace(
|
|
4269
|
+
regexWord,
|
|
4270
|
+
(match) => `<strong>${match}</strong>`
|
|
4271
|
+
);
|
|
4272
|
+
}
|
|
4273
|
+
|
|
4274
|
+
// Update disabled state
|
|
4275
|
+
if (changedProperties.has('disabled')) {
|
|
4276
|
+
option.disabled = this.disabled;
|
|
4277
|
+
}
|
|
4278
|
+
});
|
|
4279
|
+
|
|
4280
|
+
// Handle loading state changes
|
|
4281
|
+
if (changedProperties.has('loading')) {
|
|
4282
|
+
this.setAttribute("aria-busy", this.loading);
|
|
4283
|
+
dispatchMenuEvent(this, "auroMenu-loadingChange", {
|
|
4284
|
+
loading: this.loading,
|
|
4285
|
+
hasLoadingPlaceholder: this.hasLoadingPlaceholder
|
|
4286
|
+
});
|
|
4287
|
+
}
|
|
4288
|
+
}
|
|
4289
|
+
|
|
4290
|
+
// Init Methods
|
|
4291
|
+
|
|
4292
|
+
/**
|
|
4293
|
+
* Initializes the menu's state and structure.
|
|
4294
|
+
* @private
|
|
4295
|
+
*/
|
|
4296
|
+
initializeMenu() {
|
|
4297
|
+
this.initItems();
|
|
4298
|
+
if (this.rootMenu) {
|
|
4299
|
+
this.setAttribute('role', 'listbox');
|
|
4300
|
+
this.setAttribute('root', '');
|
|
4301
|
+
this.handleNestedMenus(this);
|
|
4302
|
+
}
|
|
4303
|
+
}
|
|
4304
|
+
|
|
4305
|
+
/**
|
|
4306
|
+
* Initializes menu items and their attributes.
|
|
4307
|
+
* @private
|
|
4308
|
+
*/
|
|
4309
|
+
initItems() {
|
|
4310
|
+
this.items = Array.from(this.querySelectorAll('auro-menuoption, [auro-menuoption]'));
|
|
4311
|
+
if (this.noCheckmark) {
|
|
4312
|
+
this.updateItemsState(new Map([
|
|
4313
|
+
[
|
|
4314
|
+
'noCheckmark',
|
|
4315
|
+
true
|
|
4316
|
+
]
|
|
4317
|
+
]));
|
|
4318
|
+
}
|
|
4319
|
+
}
|
|
4320
|
+
|
|
4321
|
+
// Logic Methods
|
|
4322
|
+
|
|
4323
|
+
/**
|
|
4324
|
+
* Updates menu state when an option is selected.
|
|
4325
|
+
* @private
|
|
4326
|
+
* @param {HTMLElement} option - The option element to select.
|
|
4327
|
+
*/
|
|
4328
|
+
handleSelectState(option) {
|
|
4329
|
+
if (this.multiSelect) {
|
|
4330
|
+
const currentValue = this.value || [];
|
|
4331
|
+
const currentSelected = this.optionSelected || [];
|
|
4332
|
+
|
|
4333
|
+
if (!currentValue.includes(option.value)) {
|
|
4334
|
+
this.value = [
|
|
4335
|
+
...currentValue,
|
|
4336
|
+
option.value
|
|
4337
|
+
];
|
|
4338
|
+
}
|
|
4339
|
+
if (!currentSelected.includes(option)) {
|
|
4340
|
+
this.optionSelected = [
|
|
4341
|
+
...currentSelected,
|
|
4342
|
+
option
|
|
4343
|
+
];
|
|
4344
|
+
}
|
|
4345
|
+
} else {
|
|
4346
|
+
// Single select - use arrays with single values
|
|
4347
|
+
this.value = [option.value];
|
|
4348
|
+
this.optionSelected = [option];
|
|
4349
|
+
}
|
|
4350
|
+
|
|
4351
|
+
this.index = this.items.indexOf(option);
|
|
4352
|
+
}
|
|
4353
|
+
|
|
4354
|
+
/**
|
|
4355
|
+
* Deselects a menu option and updates related state.
|
|
4356
|
+
* @private
|
|
4357
|
+
* @param {HTMLElement} option - The menuoption to be deselected.
|
|
4358
|
+
*/
|
|
4359
|
+
handleDeselectState(option) {
|
|
4360
|
+
if (this.multiSelect && Array.isArray(this.value)) {
|
|
4361
|
+
// Remove this option from array
|
|
4362
|
+
this.value = this.value.filter((val) => val !== option.value);
|
|
4363
|
+
|
|
4364
|
+
// If array is empty after removal, set back to undefined
|
|
4365
|
+
if (this.value.length === 0) {
|
|
4366
|
+
this.value = undefined;
|
|
4367
|
+
}
|
|
4368
|
+
|
|
4369
|
+
this.optionSelected = this.optionSelected.filter((val) => val !== option);
|
|
4370
|
+
if (this.optionSelected.length === 0) {
|
|
4371
|
+
this.optionSelected = undefined;
|
|
4372
|
+
}
|
|
4373
|
+
} else {
|
|
4374
|
+
// For single-select: Back to undefined when deselected
|
|
4375
|
+
this.value = undefined;
|
|
4376
|
+
this.optionSelected = undefined;
|
|
4377
|
+
}
|
|
4378
|
+
|
|
4379
|
+
// Update the index tracking
|
|
4380
|
+
this.index = this.items.indexOf(option);
|
|
4381
|
+
|
|
4382
|
+
// Update UI to reflect changes
|
|
4383
|
+
this.updateItemsState(new Map([
|
|
4384
|
+
[
|
|
4385
|
+
'optionSelected',
|
|
4386
|
+
true
|
|
4387
|
+
]
|
|
4388
|
+
]));
|
|
4389
|
+
|
|
4390
|
+
// Notify of selection change
|
|
4391
|
+
this.notifySelectionChange();
|
|
4392
|
+
}
|
|
4393
|
+
|
|
4394
|
+
/**
|
|
4395
|
+
* Resets all options to their default state.
|
|
4396
|
+
* @private
|
|
4397
|
+
*/
|
|
4398
|
+
clearSelection() {
|
|
4399
|
+
this.optionSelected = undefined;
|
|
4400
|
+
this.value = undefined;
|
|
4401
|
+
}
|
|
4402
|
+
|
|
4403
|
+
/**
|
|
4404
|
+
* Resets the menu to its initial state.
|
|
4405
|
+
* This is the only way to return value to undefined.
|
|
4406
|
+
* @public
|
|
4407
|
+
*/
|
|
4408
|
+
reset() {
|
|
4409
|
+
// Reset to undefined - initial state
|
|
4410
|
+
this.value = undefined;
|
|
4411
|
+
this.optionSelected = undefined;
|
|
4412
|
+
this.index = -1;
|
|
4413
|
+
|
|
4414
|
+
// Reset UI state
|
|
4415
|
+
this.updateItemsState(new Map([
|
|
4416
|
+
[
|
|
4417
|
+
'optionSelected',
|
|
4418
|
+
true
|
|
4419
|
+
]
|
|
4420
|
+
]));
|
|
4421
|
+
|
|
4422
|
+
// Dispatch reset event
|
|
4423
|
+
dispatchMenuEvent(this, 'auroMenu-selectValueReset');
|
|
4424
|
+
}
|
|
4425
|
+
|
|
4426
|
+
/**
|
|
4427
|
+
* Handles nested menu structure.
|
|
4428
|
+
* @private
|
|
4429
|
+
* @param {HTMLElement} menu - Root menu element.
|
|
4430
|
+
*/
|
|
4431
|
+
handleNestedMenus(menu) {
|
|
4432
|
+
const nestedMenus = menu.querySelectorAll('auro-menu, [auro-menu]');
|
|
4433
|
+
|
|
4434
|
+
nestedMenus.forEach((nestedMenu) => {
|
|
4435
|
+
// role="listbox" only allows "role=group" for children.
|
|
4436
|
+
nestedMenu.setAttribute('role', 'group');
|
|
4437
|
+
if (!nestedMenu.hasAttribute('aria-label')) {
|
|
4438
|
+
nestedMenu.setAttribute('aria-label', 'submenu');
|
|
4439
|
+
}
|
|
4440
|
+
|
|
4441
|
+
const options = nestedMenu.querySelectorAll(':scope > auro-menuoption, :scope > [auro-menuoption]');
|
|
4442
|
+
options.forEach((option) => {
|
|
4443
|
+
option.innerHTML = this.nestingSpacer + option.innerHTML;
|
|
4444
|
+
});
|
|
4445
|
+
|
|
4446
|
+
this.handleNestedMenus(nestedMenu);
|
|
4447
|
+
});
|
|
4448
|
+
}
|
|
4449
|
+
|
|
4450
|
+
// Event Handlers
|
|
4451
|
+
|
|
4452
|
+
/**
|
|
4453
|
+
* Handles keyboard navigation.
|
|
4454
|
+
* @private
|
|
4455
|
+
* @param {KeyboardEvent} event - Event object from the browser.
|
|
4456
|
+
*/
|
|
4457
|
+
handleKeyDown(event) {
|
|
4458
|
+
event.preventDefault();
|
|
4459
|
+
switch (event.key) {
|
|
4460
|
+
case "ArrowDown":
|
|
4461
|
+
this.navigateOptions('down');
|
|
4462
|
+
break;
|
|
4463
|
+
case "ArrowUp":
|
|
4464
|
+
this.navigateOptions('up');
|
|
4465
|
+
break;
|
|
4466
|
+
case "Enter":
|
|
4467
|
+
this.makeSelection();
|
|
4468
|
+
break;
|
|
4469
|
+
}
|
|
4470
|
+
}
|
|
4471
|
+
|
|
4472
|
+
/**
|
|
4473
|
+
* Makes a selection based on the current index or clicked option.
|
|
4474
|
+
* @private
|
|
4475
|
+
*/
|
|
4476
|
+
makeSelection() {
|
|
4477
|
+
if (!this.items) {
|
|
4478
|
+
this.initItems();
|
|
4479
|
+
}
|
|
4480
|
+
|
|
4481
|
+
// Get currently selected menu option based on index
|
|
4482
|
+
const option = this.items[this.index];
|
|
4483
|
+
|
|
4484
|
+
// Return early if option is not interactive
|
|
4485
|
+
if (!option || !isOptionInteractive(option)) {
|
|
4486
|
+
return;
|
|
4487
|
+
}
|
|
4488
|
+
|
|
4489
|
+
// Handle custom events first
|
|
4490
|
+
if (option.hasAttribute('event')) {
|
|
4491
|
+
this.handleCustomEvent(option);
|
|
4492
|
+
return;
|
|
4493
|
+
}
|
|
4494
|
+
|
|
4495
|
+
if (this.multiSelect) {
|
|
4496
|
+
// In multiselect, toggle individual selections
|
|
4497
|
+
this.toggleOption(option);
|
|
4498
|
+
// In single select, only handle selection of new options
|
|
4499
|
+
} else if (!this.isOptionSelected(option)) {
|
|
4500
|
+
this.clearSelection();
|
|
4501
|
+
this.handleSelectState(option);
|
|
4502
|
+
}
|
|
4503
|
+
|
|
4504
|
+
this.notifySelectionChange();
|
|
4505
|
+
}
|
|
4506
|
+
|
|
4507
|
+
/**
|
|
4508
|
+
* Toggle the selection state of the menuoption.
|
|
4509
|
+
* @private
|
|
4510
|
+
* @param {HTMLElement} option - The menuoption to toggle.
|
|
4511
|
+
*/
|
|
4512
|
+
toggleOption(option) {
|
|
4513
|
+
const isCurrentlySelected = this.isOptionSelected(option);
|
|
4514
|
+
|
|
4515
|
+
if (isCurrentlySelected) {
|
|
4516
|
+
this.handleDeselectState(option);
|
|
4517
|
+
} else if (option.value === undefined || option.value === '') {
|
|
4518
|
+
dispatchMenuEvent(this, 'auroMenu-selectValueFailure');
|
|
4519
|
+
} else {
|
|
4520
|
+
this.handleSelectState(option);
|
|
4521
|
+
}
|
|
4522
|
+
}
|
|
4523
|
+
|
|
4524
|
+
/**
|
|
4525
|
+
* Handles option selection via mouse.
|
|
4526
|
+
* @private
|
|
4527
|
+
* @param {MouseEvent} event - Event object from the browser.
|
|
4528
|
+
*/
|
|
4529
|
+
handleMouseSelect(event) {
|
|
4530
|
+
if (event.target === this) {
|
|
4531
|
+
return;
|
|
4532
|
+
}
|
|
4533
|
+
|
|
4534
|
+
const option = event.target.closest('auro-menuoption, [auro-menuoption]');
|
|
4535
|
+
if (option) {
|
|
4536
|
+
this.index = this.items.indexOf(option);
|
|
4537
|
+
this.makeSelection();
|
|
4538
|
+
}
|
|
4539
|
+
}
|
|
4540
|
+
|
|
4541
|
+
/**
|
|
4542
|
+
* Handles option hover events.
|
|
4543
|
+
* @private
|
|
4544
|
+
* @param {CustomEvent} event - Event object from the browser.
|
|
4545
|
+
*/
|
|
4546
|
+
handleOptionHover(event) {
|
|
4547
|
+
const option = event.target;
|
|
4548
|
+
this.index = this.items.indexOf(option);
|
|
4549
|
+
this.updateActiveOption(this.index);
|
|
4550
|
+
}
|
|
4551
|
+
|
|
4552
|
+
/**
|
|
4553
|
+
* Handles slot change events.
|
|
4554
|
+
* @private
|
|
4555
|
+
*/
|
|
4556
|
+
handleSlotChange() {
|
|
4557
|
+
if (this.parentElement && this.parentElement.closest('auro-menu, [auro-menu]')) {
|
|
4558
|
+
this.rootMenu = false;
|
|
4559
|
+
}
|
|
4560
|
+
|
|
4561
|
+
if (this.rootMenu) {
|
|
4562
|
+
this.initializeMenu();
|
|
4563
|
+
} else if (this.noCheckmark) {
|
|
4564
|
+
this.updateItemsState(new Map([
|
|
4565
|
+
[
|
|
4566
|
+
'noCheckmark',
|
|
4567
|
+
true
|
|
4568
|
+
]
|
|
4569
|
+
]));
|
|
4570
|
+
}
|
|
4571
|
+
}
|
|
4572
|
+
|
|
4573
|
+
/**
|
|
4574
|
+
* Navigates through options using keyboard.
|
|
4575
|
+
* @private
|
|
4576
|
+
* @param {string} direction - 'up' or 'down'.
|
|
4577
|
+
*/
|
|
4578
|
+
navigateOptions(direction) {
|
|
4579
|
+
// Return early if no items exist
|
|
4580
|
+
if (!this.items || !this.items.length) {
|
|
4581
|
+
return;
|
|
4582
|
+
}
|
|
4583
|
+
|
|
4584
|
+
let newIndex = this.index;
|
|
4585
|
+
const increment = direction === 'down' ? 1 : -1;
|
|
4586
|
+
const maxIterations = this.items.length;
|
|
4587
|
+
let iterations = 0;
|
|
4588
|
+
let foundInteractiveOption = false;
|
|
4589
|
+
|
|
4590
|
+
do {
|
|
4591
|
+
newIndex = (newIndex + increment + this.items.length) % this.items.length;
|
|
4592
|
+
iterations += 1;
|
|
4593
|
+
|
|
4594
|
+
// Check if current option is interactive
|
|
4595
|
+
const currentOption = this.items[newIndex];
|
|
4596
|
+
if (isOptionInteractive(currentOption)) {
|
|
4597
|
+
foundInteractiveOption = true;
|
|
4598
|
+
break;
|
|
4599
|
+
}
|
|
4600
|
+
|
|
4601
|
+
// Break if all options were checked
|
|
4602
|
+
if (iterations >= maxIterations) {
|
|
4603
|
+
break;
|
|
4604
|
+
}
|
|
4605
|
+
} while (iterations < maxIterations);
|
|
4606
|
+
|
|
4607
|
+
// Handle the results of the search
|
|
4608
|
+
if (foundInteractiveOption) {
|
|
4609
|
+
// Update only if an interactive option was found
|
|
4610
|
+
this.index = newIndex;
|
|
4611
|
+
this.updateActiveOption(this.index);
|
|
4612
|
+
} else {
|
|
4613
|
+
// All options are disabled or non-interactive
|
|
4614
|
+
// Keep the current index unchanged
|
|
4615
|
+
dispatchMenuEvent(this, 'auroMenu-navigateFailure', {
|
|
4616
|
+
reason: 'No interactive options available',
|
|
4617
|
+
direction,
|
|
4618
|
+
currentIndex: this.index
|
|
4619
|
+
});
|
|
4620
|
+
}
|
|
4621
|
+
}
|
|
4622
|
+
|
|
4623
|
+
/**
|
|
4624
|
+
* Updates the active option state and dispatches events.
|
|
4625
|
+
* @private
|
|
4626
|
+
* @param {number} index - Index of the option to make active.
|
|
4627
|
+
*/
|
|
4628
|
+
updateActiveOption(index) {
|
|
4629
|
+
if (!this.items || !this.items[index]) {
|
|
4630
|
+
return;
|
|
4631
|
+
}
|
|
4632
|
+
|
|
4633
|
+
this.items.forEach((item) => item.classList.remove('active'));
|
|
4634
|
+
this.items[index].classList.add('active');
|
|
4635
|
+
this.optionActive = this.items[index];
|
|
4636
|
+
|
|
4637
|
+
dispatchMenuEvent(this, 'auroMenu-activatedOption', this.items[index]);
|
|
4638
|
+
}
|
|
4639
|
+
|
|
4640
|
+
/**
|
|
4641
|
+
* Handles custom events defined on options.
|
|
4642
|
+
* @private
|
|
4643
|
+
* @param {HTMLElement} option - Option with custom event.
|
|
4644
|
+
*/
|
|
4645
|
+
handleCustomEvent(option) {
|
|
4646
|
+
const eventName = option.getAttribute('event');
|
|
4647
|
+
dispatchMenuEvent(this, eventName);
|
|
4648
|
+
dispatchMenuEvent(this, 'auroMenu-customEventFired');
|
|
4649
|
+
}
|
|
4650
|
+
|
|
4651
|
+
/**
|
|
4652
|
+
* Notifies selection change to parent components.
|
|
4653
|
+
* @private
|
|
4654
|
+
*/
|
|
4655
|
+
notifySelectionChange() {
|
|
4656
|
+
dispatchMenuEvent(this, 'auroMenu-selectedOption');
|
|
4657
|
+
}
|
|
4658
|
+
|
|
4659
|
+
/**
|
|
4660
|
+
* Checks if an option is currently selected.
|
|
4661
|
+
* @private
|
|
4662
|
+
* @param {HTMLElement} option - The option to check.
|
|
4663
|
+
* @returns {boolean}
|
|
4664
|
+
*/
|
|
4665
|
+
isOptionSelected(option) {
|
|
4666
|
+
if (!this.optionSelected) {
|
|
4667
|
+
return false;
|
|
4668
|
+
}
|
|
4669
|
+
// Always treat as array for both single and multi-select
|
|
4670
|
+
return Array.isArray(this.optionSelected) && this.optionSelected.includes(option);
|
|
4671
|
+
}
|
|
4672
|
+
|
|
4673
|
+
/**
|
|
4674
|
+
* Getter for loading placeholder state.
|
|
4675
|
+
* @returns {boolean} - True if loading slots are present and non-empty.
|
|
4676
|
+
*/
|
|
4677
|
+
get hasLoadingPlaceholder() {
|
|
4678
|
+
return this.loadingSlots && this.loadingSlots.length > 0;
|
|
4679
|
+
}
|
|
4680
|
+
|
|
4681
|
+
/**
|
|
4682
|
+
* Renders the component.
|
|
4683
|
+
* @returns {boolean} - True if loading slots are present and non-empty.
|
|
4684
|
+
*/
|
|
4685
|
+
render() {
|
|
4686
|
+
if (this.loading) {
|
|
4687
|
+
return x`
|
|
4688
|
+
<auro-menuoption disabled loadingplaceholder class="${this.hasLoadingPlaceholder ? '' : 'empty'}">
|
|
4689
|
+
<div>
|
|
4690
|
+
<slot name="loadingIcon"></slot>
|
|
4691
|
+
<slot name="loadingText"></slot>
|
|
4692
|
+
</div>
|
|
4693
|
+
</auro-menuoption>
|
|
4694
|
+
`;
|
|
4695
|
+
}
|
|
4696
|
+
|
|
4697
|
+
return x`<slot @slotchange=${this.handleSlotChange}></slot>`;
|
|
4698
|
+
}
|
|
4699
|
+
}
|
|
4700
|
+
|
|
4701
|
+
/**
|
|
4702
|
+
* @license
|
|
4703
|
+
* Copyright 2020 Google LLC
|
|
4704
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
4705
|
+
*/
|
|
4706
|
+
const a=Symbol.for(""),o$1=t=>{if(t?.r===a)return t?._$litStatic$},s=t=>({_$litStatic$:t,r:a}),i$1=(t,...r)=>({_$litStatic$:r.reduce(((r,e,a)=>r+(t=>{if(undefined!==t._$litStatic$)return t._$litStatic$;throw Error(`Value passed to 'literal' function must be a 'literal' result: ${t}. Use 'unsafeStatic' to pass non-literal values, but\n take care to ensure page security.`)})(e)+t[a+1]),t[0]),r:a}),l=new Map,n=t=>(r,...e)=>{const a=e.length;let s,i;const n=[],u=[];let c,$=0,f=false;for(;$<a;){for(c=r[$];$<a&&undefined!==(i=e[$],s=o$1(i));)c+=s+r[++$],f=true;$!==a&&u.push(i),n.push(c),$++;}if($===a&&n.push(r[a]),f){const t=n.join("$$lit$$");undefined===(r=l.get(t))&&(n.raw=n,l.set(t,r=n)),e=u;}return t(r,...e)},u=n(x);
|
|
4707
|
+
|
|
4708
|
+
var styleCss$1 = i$5`:host{display:flex;align-items:center;padding:var(--ds-size-50, 0.25rem) var(--ds-size-200, 1rem) var(--ds-size-50, 0.25rem) 0;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent}:host slot{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}:host [auro-icon]{--ds-auro-icon-size: var(--ds-size-300, 1.5rem);margin-right:var(--ds-size-150, 0.75rem);margin-left:var(--ds-size-100, 0.5rem)}:host ::slotted(.nestingSpacer){display:inline-block;width:var(--ds-size-300, 1.5rem)}:host ::slotted(strong){font-weight:700}:host([hidden]){display:none}:host([static]){pointer-events:none}:host([disabled]:hover){cursor:auto}:host([disabled]){user-select:none;pointer-events:none}`;
|
|
4709
|
+
|
|
4710
|
+
var colorCss$1 = i$5`:host{background-color:var(--ds-auro-menuoption-container-color);color:var(--ds-auro-menuoption-text-color)}:host svg{fill:var(--ds-auro-menuoption-icon-color) !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)}:host([selected]):host(.active){--ds-auro-menuoption-container-color: var(--ds-color-container-ui-primary-active-default, #225296)}`;
|
|
4711
|
+
|
|
4712
|
+
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
4713
|
+
// See LICENSE in the project root for license information.
|
|
4714
|
+
|
|
4715
|
+
|
|
4716
|
+
class AuroDependencyVersioning {
|
|
4717
|
+
|
|
4718
|
+
/**
|
|
4719
|
+
* Generates a unique string to be used for child auro element naming.
|
|
4720
|
+
* @private
|
|
4721
|
+
* @param {string} baseName - Defines the first part of the unique element name.
|
|
4722
|
+
* @param {string} version - Version of the component that will be appended to the baseName.
|
|
4723
|
+
* @returns {string} - Unique string to be used for naming.
|
|
4724
|
+
*/
|
|
4725
|
+
generateElementName(baseName, version) {
|
|
4726
|
+
let result = baseName;
|
|
4727
|
+
|
|
4728
|
+
result += '-';
|
|
4729
|
+
result += version.replace(/[.]/g, '_');
|
|
4730
|
+
|
|
4731
|
+
return result;
|
|
4732
|
+
}
|
|
4733
|
+
|
|
4734
|
+
/**
|
|
4735
|
+
* Generates a unique string to be used for child auro element naming.
|
|
4736
|
+
* @param {string} baseName - Defines the first part of the unique element name.
|
|
4737
|
+
* @param {string} version - Version of the component that will be appended to the baseName.
|
|
4738
|
+
* @returns {string} - Unique string to be used for naming.
|
|
4739
|
+
*/
|
|
4740
|
+
generateTag(baseName, version, tagClass) {
|
|
4741
|
+
const elementName = this.generateElementName(baseName, version);
|
|
4742
|
+
const tag = i$1`${s(elementName)}`;
|
|
4743
|
+
|
|
4744
|
+
if (!customElements.get(elementName)) {
|
|
4745
|
+
customElements.define(elementName, class extends tagClass {});
|
|
4746
|
+
}
|
|
4747
|
+
|
|
4748
|
+
return tag;
|
|
4749
|
+
}
|
|
4750
|
+
}
|
|
4751
|
+
|
|
4752
|
+
/**
|
|
4753
|
+
* @license
|
|
4754
|
+
* Copyright 2017 Google LLC
|
|
4755
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
4756
|
+
*/
|
|
4757
|
+
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)}}
|
|
4758
|
+
|
|
4759
|
+
/**
|
|
4760
|
+
* @license
|
|
4761
|
+
* Copyright 2018 Google LLC
|
|
4762
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
4763
|
+
*/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(undefined===this.st){this.st=new Set,undefined!==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}});
|
|
4764
|
+
|
|
4765
|
+
/**
|
|
4766
|
+
* @license
|
|
4767
|
+
* Copyright 2018 Google LLC
|
|
4768
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
4769
|
+
*/const o=o=>o??E;
|
|
4770
|
+
|
|
4771
|
+
// Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
4772
|
+
// See LICENSE in the project root for license information.
|
|
4773
|
+
|
|
4774
|
+
|
|
4775
|
+
/**
|
|
4776
|
+
* @attr {Boolean} hidden - If present, the component will be hidden both visually and from screen readers
|
|
4777
|
+
* @attr {Boolean} hiddenVisually - If present, the component will be hidden visually, but still read by screen readers
|
|
4778
|
+
* @attr {Boolean} hiddenAudible - If present, the component will be hidden from screen readers, but seen visually
|
|
4779
|
+
*/
|
|
4780
|
+
|
|
4781
|
+
class AuroElement extends r {
|
|
4782
|
+
|
|
4783
|
+
// function to define props used within the scope of this component
|
|
4784
|
+
static get properties() {
|
|
4785
|
+
return {
|
|
4786
|
+
hidden: { type: Boolean,
|
|
4787
|
+
reflect: true },
|
|
4788
|
+
hiddenVisually: { type: Boolean,
|
|
4789
|
+
reflect: true },
|
|
4790
|
+
hiddenAudible: { type: Boolean,
|
|
4791
|
+
reflect: true },
|
|
4792
|
+
};
|
|
4793
|
+
}
|
|
4794
|
+
|
|
4795
|
+
/**
|
|
4796
|
+
* @private Function that determines state of aria-hidden
|
|
4797
|
+
*/
|
|
4798
|
+
hideAudible(value) {
|
|
4799
|
+
if (value) {
|
|
4800
|
+
return 'true'
|
|
4801
|
+
}
|
|
4802
|
+
|
|
4803
|
+
return 'false'
|
|
4804
|
+
}
|
|
4805
|
+
}
|
|
4806
|
+
|
|
4807
|
+
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>"};
|
|
4808
|
+
|
|
4809
|
+
/* eslint-disable no-underscore-dangle, jsdoc/no-undefined-types, jsdoc/require-param-description */
|
|
4810
|
+
|
|
4811
|
+
const _fetchMap = new Map();
|
|
4812
|
+
|
|
4813
|
+
/**
|
|
4814
|
+
* A callback to parse Response body.
|
|
4815
|
+
*
|
|
4816
|
+
* @callback ResponseParser
|
|
4817
|
+
* @param {Fetch.Response} response
|
|
4818
|
+
* @returns {Promise}
|
|
4819
|
+
*/
|
|
4820
|
+
|
|
4821
|
+
/**
|
|
4822
|
+
* A minimal in-memory map to de-duplicate Fetch API media requests.
|
|
4823
|
+
*
|
|
4824
|
+
* @param {String} uri
|
|
4825
|
+
* @param {Object} [options={}]
|
|
4826
|
+
* @param {ResponseParser} [options.responseParser=(response) => response.text()]
|
|
4827
|
+
* @returns {Promise}
|
|
4828
|
+
*/
|
|
4829
|
+
const cacheFetch = (uri, options = {}) => {
|
|
4830
|
+
const responseParser = options.responseParser || ((response) => response.text());
|
|
4831
|
+
if (!_fetchMap.has(uri)) {
|
|
4832
|
+
_fetchMap.set(uri, fetch(uri).then(responseParser));
|
|
4833
|
+
}
|
|
4834
|
+
return _fetchMap.get(uri);
|
|
4835
|
+
};
|
|
4836
|
+
|
|
4837
|
+
var styleCss$3 = i$5`*,*: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)}.wrapper{height:var(--ds-auro-icon-size);width:var(--ds-auro-icon-size)}.labelContainer{line-height:1.8}`;
|
|
4838
|
+
|
|
4839
|
+
// Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
4840
|
+
// See LICENSE in the project root for license information.
|
|
4841
|
+
|
|
4842
|
+
|
|
4843
|
+
// See https://git.io/JJ6SJ for "How to document your components using JSDoc"
|
|
4844
|
+
/**
|
|
4845
|
+
* @attr {Boolean} onDark - Set value for on-dark version of auro-icon
|
|
4846
|
+
* @slot - Hidden from visibility, used for a11y if icon description is needed
|
|
4847
|
+
*/
|
|
4848
|
+
|
|
4849
|
+
// build the component class
|
|
4850
|
+
class BaseIcon extends AuroElement {
|
|
4851
|
+
constructor() {
|
|
4852
|
+
super();
|
|
4853
|
+
this.onDark = false;
|
|
4854
|
+
}
|
|
4855
|
+
|
|
4856
|
+
// function to define props used within the scope of this component
|
|
4857
|
+
static get properties() {
|
|
4858
|
+
return {
|
|
4859
|
+
...super.properties,
|
|
4860
|
+
onDark: {
|
|
4861
|
+
type: Boolean,
|
|
4862
|
+
reflect: true
|
|
4863
|
+
},
|
|
4864
|
+
|
|
4865
|
+
/**
|
|
4866
|
+
* @private
|
|
4867
|
+
*/
|
|
4868
|
+
svg: {
|
|
4869
|
+
attribute: false,
|
|
4870
|
+
reflect: true
|
|
4871
|
+
}
|
|
4872
|
+
};
|
|
4873
|
+
}
|
|
4874
|
+
|
|
4875
|
+
static get styles() {
|
|
4876
|
+
return i$5`
|
|
4877
|
+
${styleCss$3}
|
|
4878
|
+
`;
|
|
4879
|
+
}
|
|
4880
|
+
|
|
4881
|
+
/**
|
|
4882
|
+
* Async function to fetch requested icon from npm CDN.
|
|
4883
|
+
* @private
|
|
4884
|
+
* @param {string} category - Icon category.
|
|
4885
|
+
* @param {string} name - Icon name.
|
|
4886
|
+
* @returns {SVGElement} DOM - Ready HTML to be appended.
|
|
4887
|
+
*/
|
|
4888
|
+
async fetchIcon(category, name) {
|
|
4889
|
+
let iconHTML = '';
|
|
4890
|
+
|
|
4891
|
+
if (category === 'logos') {
|
|
4892
|
+
iconHTML = await cacheFetch(`${this.uri}/${category}/${name}.svg`);
|
|
4893
|
+
} else {
|
|
4894
|
+
iconHTML = await cacheFetch(`${this.uri}/icons/${category}/${name}.svg`);
|
|
4895
|
+
}
|
|
4896
|
+
|
|
4897
|
+
const dom = new DOMParser().parseFromString(iconHTML, 'text/html');
|
|
4898
|
+
|
|
4899
|
+
return dom.body.querySelector('svg');
|
|
4900
|
+
}
|
|
4901
|
+
|
|
4902
|
+
// lifecycle function
|
|
4903
|
+
async firstUpdated() {
|
|
4904
|
+
if (!this.customSvg) {
|
|
4905
|
+
const svg = await this.fetchIcon(this.category, this.name);
|
|
4906
|
+
|
|
4907
|
+
if (svg) {
|
|
4908
|
+
this.svg = svg;
|
|
4909
|
+
} else if (!svg) {
|
|
4910
|
+
const penDOM = new DOMParser().parseFromString(error.svg, 'text/html');
|
|
4911
|
+
|
|
4912
|
+
this.svg = penDOM.body.firstChild;
|
|
4913
|
+
}
|
|
4914
|
+
}
|
|
4915
|
+
}
|
|
4916
|
+
}
|
|
4917
|
+
|
|
4918
|
+
var tokensCss$2 = i$5`: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)}`;
|
|
4919
|
+
|
|
4920
|
+
var colorCss$3 = i$5`: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)}`;
|
|
4921
|
+
|
|
4922
|
+
// Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
4923
|
+
// See LICENSE in the project root for license information.
|
|
4924
|
+
|
|
4925
|
+
|
|
4926
|
+
// See https://git.io/JJ6SJ for "How to document your components using JSDoc"
|
|
4927
|
+
/**
|
|
4928
|
+
* auro-icon provides users a way to use the Auro Icons by simply passing in the category and name.
|
|
4929
|
+
*
|
|
4930
|
+
* @attr {String} category - The category of the icon you are looking for. See https://auro.alaskaair.com/icons/usage.
|
|
4931
|
+
* @attr {String} name - The name of the icon you are looking for without the file extension. See https://auro.alaskaair.com/icons/usage
|
|
4932
|
+
* @attr {Boolean} customColor - Removes primary selector.
|
|
4933
|
+
* @attr {Boolean} customSvg - When true, auro-icon will render a custom SVG inside the default slot.
|
|
4934
|
+
* @attr {Boolean} label - Exposes content in slot as icon label.
|
|
4935
|
+
* @attr {Boolean} primary - DEPRECATED: Sets the icon to use the baseline primary icon style.
|
|
4936
|
+
* @attr {Boolean} accent - Sets the icon to use the accent style.
|
|
4937
|
+
* @attr {Boolean} emphasis - Sets the icon to use the emphasis style.
|
|
4938
|
+
* @attr {Boolean} disabled - Sets the icon to use the disabled style.
|
|
4939
|
+
* @attr {Boolean} error - Sets the icon to use the error style.
|
|
4940
|
+
* @attr {Boolean} info - Sets the icon to use the info style.
|
|
4941
|
+
* @attr {Boolean} secondary - Sets the icon to use the secondary style.
|
|
4942
|
+
* @attr {Boolean} tertiary - Sets the icon to use the tertiary style.
|
|
4943
|
+
* @attr {Boolean} subtle - Sets the icon to use the subtle style.
|
|
4944
|
+
* @attr {Boolean} success - Sets the icon to use the success style.
|
|
4945
|
+
* @attr {Boolean} warning - Sets the icon to use the warning style.
|
|
4946
|
+
* @attr {String} ariaHidden - Set aria-hidden value. Default is `true`. Option is `false`.
|
|
4947
|
+
* @attr {String} uri - Set the uri for CDN used when fetching icons
|
|
4948
|
+
* @slot - Hidden from visibility, used for a11y if icon description is needed.
|
|
4949
|
+
* @slot svg - Used for custom SVG content.
|
|
4950
|
+
*/
|
|
4951
|
+
|
|
4952
|
+
// build the component class
|
|
4953
|
+
class AuroIcon extends BaseIcon {
|
|
4954
|
+
constructor() {
|
|
4955
|
+
super();
|
|
4956
|
+
|
|
4957
|
+
this.uri = 'https://cdn.jsdelivr.net/npm/@alaskaairux/icons@latest/dist';
|
|
4958
|
+
|
|
4959
|
+
this.privateDefaults();
|
|
4960
|
+
}
|
|
4961
|
+
|
|
4962
|
+
/**
|
|
4963
|
+
* Internal Defaults.
|
|
4964
|
+
* @private
|
|
4965
|
+
* @returns {void}
|
|
4966
|
+
*/
|
|
4967
|
+
privateDefaults() {
|
|
4968
|
+
this.accent = false;
|
|
4969
|
+
this.customColor = false;
|
|
4970
|
+
this.customSvg = false;
|
|
4971
|
+
this.disabled = false;
|
|
4972
|
+
this.emphasis = false;
|
|
4973
|
+
this.error = false;
|
|
4974
|
+
this.info = false;
|
|
4975
|
+
this.label = false;
|
|
4976
|
+
this.primary = false;
|
|
4977
|
+
this.secondary = false;
|
|
4978
|
+
this.subtle = false;
|
|
4979
|
+
this.success = false;
|
|
4980
|
+
this.tertiary = false;
|
|
4981
|
+
this.warning = false;
|
|
4982
|
+
this.runtimeUtils = new AuroLibraryRuntimeUtils();
|
|
4983
|
+
}
|
|
4984
|
+
|
|
4985
|
+
// function to define props used within the scope of this component
|
|
4986
|
+
static get properties() {
|
|
4987
|
+
return {
|
|
4988
|
+
...super.properties,
|
|
4989
|
+
accent: {
|
|
4990
|
+
type: Boolean,
|
|
4991
|
+
reflect: true
|
|
4992
|
+
},
|
|
4993
|
+
ariaHidden: {
|
|
4994
|
+
type: String,
|
|
4995
|
+
reflect: true
|
|
4996
|
+
},
|
|
4997
|
+
category: {
|
|
4998
|
+
type: String,
|
|
4999
|
+
reflect: true
|
|
5000
|
+
},
|
|
5001
|
+
customColor: {
|
|
5002
|
+
type: Boolean
|
|
5003
|
+
},
|
|
5004
|
+
customSvg: {
|
|
5005
|
+
type: Boolean
|
|
5006
|
+
},
|
|
5007
|
+
disabled: {
|
|
5008
|
+
type: Boolean,
|
|
5009
|
+
reflect: true
|
|
5010
|
+
},
|
|
5011
|
+
emphasis: {
|
|
5012
|
+
type: Boolean,
|
|
5013
|
+
reflect: true
|
|
5014
|
+
},
|
|
5015
|
+
error: {
|
|
5016
|
+
type: Boolean,
|
|
5017
|
+
reflect: true
|
|
5018
|
+
},
|
|
5019
|
+
info: {
|
|
5020
|
+
type: Boolean,
|
|
5021
|
+
reflect: true
|
|
5022
|
+
},
|
|
5023
|
+
label: {
|
|
5024
|
+
type: Boolean,
|
|
5025
|
+
reflect: true
|
|
5026
|
+
},
|
|
5027
|
+
name: {
|
|
5028
|
+
type: String,
|
|
5029
|
+
reflect: true
|
|
5030
|
+
},
|
|
5031
|
+
primary: {
|
|
5032
|
+
type: Boolean,
|
|
5033
|
+
reflect: true
|
|
5034
|
+
},
|
|
5035
|
+
secondary: {
|
|
5036
|
+
type: Boolean,
|
|
5037
|
+
reflect: true
|
|
5038
|
+
},
|
|
5039
|
+
subtle: {
|
|
5040
|
+
type: Boolean,
|
|
5041
|
+
reflect: true
|
|
5042
|
+
},
|
|
5043
|
+
success: {
|
|
5044
|
+
type: Boolean,
|
|
5045
|
+
reflect: true
|
|
5046
|
+
},
|
|
5047
|
+
tertiary: {
|
|
5048
|
+
type: Boolean,
|
|
5049
|
+
reflect: true
|
|
5050
|
+
},
|
|
5051
|
+
uri: {
|
|
5052
|
+
type: String
|
|
5053
|
+
},
|
|
5054
|
+
warning: {
|
|
5055
|
+
type: Boolean,
|
|
5056
|
+
reflect: true
|
|
5057
|
+
}
|
|
5058
|
+
};
|
|
5059
|
+
}
|
|
5060
|
+
|
|
5061
|
+
static get styles() {
|
|
5062
|
+
return [
|
|
5063
|
+
super.styles,
|
|
5064
|
+
i$5`${tokensCss$2}`,
|
|
5065
|
+
i$5`${styleCss$3}`,
|
|
5066
|
+
i$5`${colorCss$3}`
|
|
5067
|
+
];
|
|
5068
|
+
}
|
|
5069
|
+
|
|
5070
|
+
/**
|
|
5071
|
+
* This will register this element with the browser.
|
|
5072
|
+
* @param {string} [name="auro-icon"] - The name of element that you want to register to.
|
|
5073
|
+
*
|
|
5074
|
+
* @example
|
|
5075
|
+
* AuroIcon.register("custom-icon") // this will register this element to <custom-icon/>
|
|
5076
|
+
*
|
|
5077
|
+
*/
|
|
5078
|
+
static register(name = "auro-icon") {
|
|
5079
|
+
AuroLibraryRuntimeUtils.prototype.registerComponent(name, AuroIcon);
|
|
5080
|
+
}
|
|
5081
|
+
|
|
5082
|
+
connectedCallback() {
|
|
5083
|
+
super.connectedCallback();
|
|
5084
|
+
|
|
5085
|
+
// Add the tag name as an attribute if it is different than the component name
|
|
5086
|
+
this.runtimeUtils.handleComponentTagRename(this, 'auro-icon');
|
|
5087
|
+
}
|
|
5088
|
+
|
|
5089
|
+
/**
|
|
5090
|
+
* @returns {void} Exposes CSS parts for styling from parent components.
|
|
5091
|
+
*/
|
|
5092
|
+
exposeCssParts() {
|
|
5093
|
+
this.setAttribute('exportparts', 'svg:iconSvg');
|
|
5094
|
+
}
|
|
5095
|
+
|
|
5096
|
+
// function that renders the HTML and CSS into the scope of the component
|
|
5097
|
+
render() {
|
|
5098
|
+
const a11y = {
|
|
5099
|
+
'labelContainer': true,
|
|
5100
|
+
'util_displayHiddenVisually': !this.label
|
|
5101
|
+
};
|
|
5102
|
+
|
|
5103
|
+
const classes = {
|
|
5104
|
+
'label': this.label,
|
|
5105
|
+
'wrapper': true,
|
|
5106
|
+
};
|
|
5107
|
+
|
|
5108
|
+
return x`
|
|
5109
|
+
<div
|
|
5110
|
+
class="${e(classes)}"
|
|
5111
|
+
title="${o(this.title || undefined)}">
|
|
5112
|
+
<span aria-hidden="${o(this.ariaHidden ? this.ariaHidden : true)}" part="svg">
|
|
5113
|
+
${this.customSvg ? x`
|
|
5114
|
+
<slot name="svg"></slot>
|
|
5115
|
+
` : x`
|
|
5116
|
+
${this.svg}
|
|
5117
|
+
`
|
|
5118
|
+
}
|
|
5119
|
+
</span>
|
|
5120
|
+
|
|
5121
|
+
<div class="${e(a11y)}">
|
|
5122
|
+
<slot></slot>
|
|
5123
|
+
</div>
|
|
5124
|
+
</div>
|
|
5125
|
+
`;
|
|
5126
|
+
}
|
|
5127
|
+
}
|
|
5128
|
+
|
|
5129
|
+
var iconVersion = '6.1.2';
|
|
5130
|
+
|
|
5131
|
+
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>"};
|
|
5132
|
+
|
|
5133
|
+
// Copyright (c) 2021 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
5134
|
+
// See LICENSE in the project root for license information.
|
|
5135
|
+
|
|
5136
|
+
|
|
5137
|
+
/**
|
|
5138
|
+
* The auro-menu element provides users a way to define a menu option.
|
|
5139
|
+
*
|
|
5140
|
+
* @attr {String} value - Specifies the value to be sent to a server.
|
|
5141
|
+
* @attr {String} noCheckmark - When true, selected option will not show the checkmark.
|
|
5142
|
+
* @attr {Boolean} disabled - When true specifies that the menuoption is disabled.
|
|
5143
|
+
* @attr {Boolean} selected - Specifies that an option is selected.
|
|
5144
|
+
* @event auroMenuOption-mouseover - Notifies that this option has been hovered over.
|
|
5145
|
+
* @slot - Specifies text for an option, but is not the value.
|
|
5146
|
+
*/
|
|
5147
|
+
class AuroMenuOption extends r {
|
|
5148
|
+
constructor() {
|
|
5149
|
+
super();
|
|
5150
|
+
|
|
5151
|
+
/**
|
|
5152
|
+
* Generate unique names for dependency components.
|
|
5153
|
+
*/
|
|
5154
|
+
const versioning = new AuroDependencyVersioning();
|
|
5155
|
+
this.iconTag = versioning.generateTag('auro-icon', iconVersion, AuroIcon);
|
|
5156
|
+
|
|
5157
|
+
this.selected = false;
|
|
5158
|
+
this.nocheckmark = false;
|
|
5159
|
+
this.disabled = false;
|
|
3116
5160
|
|
|
3117
|
-
|
|
3118
|
-
|
|
3119
|
-
|
|
3120
|
-
|
|
3121
|
-
type: String,
|
|
3122
|
-
reflect: true
|
|
3123
|
-
},
|
|
5161
|
+
/**
|
|
5162
|
+
* @private
|
|
5163
|
+
*/
|
|
5164
|
+
this.tabIndex = -1;
|
|
3124
5165
|
|
|
3125
|
-
|
|
3126
|
-
|
|
3127
|
-
|
|
3128
|
-
|
|
5166
|
+
/**
|
|
5167
|
+
* @private
|
|
5168
|
+
*/
|
|
5169
|
+
this.runtimeUtils = new AuroLibraryRuntimeUtils();
|
|
5170
|
+
}
|
|
5171
|
+
|
|
5172
|
+
static get properties() {
|
|
5173
|
+
return {
|
|
5174
|
+
nocheckmark: {
|
|
3129
5175
|
type: Boolean,
|
|
3130
5176
|
reflect: true
|
|
3131
5177
|
},
|
|
3132
|
-
|
|
3133
|
-
/**
|
|
3134
|
-
* If declared, the dropdown will not hide when moving focus outside the element.
|
|
3135
|
-
*/
|
|
3136
|
-
noHideOnThisFocusLoss: {
|
|
5178
|
+
selected: {
|
|
3137
5179
|
type: Boolean,
|
|
3138
5180
|
reflect: true
|
|
3139
5181
|
},
|
|
3140
|
-
|
|
3141
|
-
/**
|
|
3142
|
-
* If declared, the trigger will only show the dropdown bib.
|
|
3143
|
-
*/
|
|
3144
|
-
noToggle: {
|
|
5182
|
+
disabled: {
|
|
3145
5183
|
type: Boolean,
|
|
3146
5184
|
reflect: true
|
|
3147
5185
|
},
|
|
3148
|
-
|
|
3149
|
-
onSlotChange: {
|
|
3150
|
-
type: Function,
|
|
3151
|
-
reflect: false
|
|
3152
|
-
},
|
|
3153
|
-
|
|
3154
|
-
/**
|
|
3155
|
-
* @private
|
|
3156
|
-
*/
|
|
3157
|
-
placement: {
|
|
5186
|
+
value: {
|
|
3158
5187
|
type: String
|
|
3159
5188
|
},
|
|
3160
|
-
|
|
3161
|
-
/**
|
|
3162
|
-
* If declared, will apply border-radius to trigger and default slots.
|
|
3163
|
-
*/
|
|
3164
|
-
rounded: {
|
|
3165
|
-
type: Boolean,
|
|
3166
|
-
reflect: true
|
|
3167
|
-
},
|
|
3168
|
-
|
|
3169
|
-
/**
|
|
3170
|
-
* @private
|
|
3171
|
-
*/
|
|
3172
5189
|
tabIndex: {
|
|
3173
|
-
type: Number
|
|
5190
|
+
type: Number,
|
|
5191
|
+
reflect: true
|
|
3174
5192
|
}
|
|
3175
5193
|
};
|
|
3176
5194
|
}
|
|
3177
5195
|
|
|
3178
5196
|
static get styles() {
|
|
3179
5197
|
return [
|
|
3180
|
-
colorCss$1,
|
|
3181
5198
|
styleCss$1,
|
|
3182
|
-
|
|
5199
|
+
colorCss$1,
|
|
5200
|
+
tokensCss$1
|
|
3183
5201
|
];
|
|
3184
5202
|
}
|
|
3185
5203
|
|
|
3186
5204
|
/**
|
|
3187
5205
|
* This will register this element with the browser.
|
|
3188
|
-
* @param {string} [name="auro-
|
|
5206
|
+
* @param {string} [name="auro-menuoption"] - The name of element that you want to register to.
|
|
3189
5207
|
*
|
|
3190
5208
|
* @example
|
|
3191
|
-
*
|
|
5209
|
+
* AuroMenuOption.register("custom-menuoption") // this will register this element to <custom-menuoption/>
|
|
3192
5210
|
*
|
|
3193
5211
|
*/
|
|
3194
|
-
static register(name = "auro-
|
|
3195
|
-
AuroLibraryRuntimeUtils.prototype.registerComponent(name,
|
|
3196
|
-
}
|
|
3197
|
-
|
|
3198
|
-
connectedCallback() {
|
|
3199
|
-
super.connectedCallback();
|
|
3200
|
-
}
|
|
3201
|
-
|
|
3202
|
-
disconnectedCallback() {
|
|
3203
|
-
super.disconnectedCallback();
|
|
3204
|
-
}
|
|
3205
|
-
|
|
3206
|
-
updated(changedProperties) {
|
|
3207
|
-
this.floater.handleUpdate(changedProperties);
|
|
3208
|
-
|
|
3209
|
-
if (changedProperties.has('mobileFullscreenBreakpoint')) {
|
|
3210
|
-
this.bibContent.mobileFullscreenBreakpoint = this.mobileFullscreenBreakpoint;
|
|
3211
|
-
}
|
|
3212
|
-
|
|
3213
|
-
// when trigger's content is changed without any attribute or node change,
|
|
3214
|
-
// `requestUpdate` needs to be called to update hasTriggerContnet
|
|
3215
|
-
if (changedProperties.size === 0 || changedProperties.has('isPopoverVisible')) {
|
|
3216
|
-
this.handleTriggerContentSlotChange();
|
|
3217
|
-
}
|
|
5212
|
+
static register(name = "auro-menuoption") {
|
|
5213
|
+
AuroLibraryRuntimeUtils.prototype.registerComponent(name, AuroMenuOption);
|
|
3218
5214
|
}
|
|
3219
5215
|
|
|
3220
5216
|
firstUpdated() {
|
|
3221
|
-
this.floater.configure(this, 'auroDropdown');
|
|
3222
|
-
this.bibContent = this.floater.element.bib;
|
|
3223
|
-
|
|
3224
5217
|
// Add the tag name as an attribute if it is different than the component name
|
|
3225
|
-
this.runtimeUtils.handleComponentTagRename(this, 'auro-
|
|
3226
|
-
}
|
|
3227
|
-
|
|
3228
|
-
/**
|
|
3229
|
-
* Exposes CSS parts for styling from parent components.
|
|
3230
|
-
* @private
|
|
3231
|
-
* @returns {void}
|
|
3232
|
-
*/
|
|
3233
|
-
exposeCssParts() {
|
|
3234
|
-
this.setAttribute('exportparts', 'trigger:dropdownTrigger, chevron:dropdownChevron, helpText:dropdownHelpText, size:dropdownSize');
|
|
3235
|
-
}
|
|
3236
|
-
|
|
3237
|
-
/**
|
|
3238
|
-
* Determines if content is within a custom slot.
|
|
3239
|
-
* @private
|
|
3240
|
-
* @param {HTMLElement} element - The element to check.
|
|
3241
|
-
* @returns {Boolean}
|
|
3242
|
-
*/
|
|
3243
|
-
isCustomSlotContent(element) {
|
|
3244
|
-
let currentElement = element;
|
|
3245
|
-
|
|
3246
|
-
let inCustomSlot = false;
|
|
3247
|
-
|
|
3248
|
-
while (currentElement) {
|
|
3249
|
-
currentElement = currentElement.parentElement;
|
|
5218
|
+
this.runtimeUtils.handleComponentTagRename(this, 'auro-menuoption');
|
|
3250
5219
|
|
|
3251
|
-
|
|
3252
|
-
|
|
3253
|
-
break;
|
|
3254
|
-
}
|
|
3255
|
-
}
|
|
5220
|
+
this.setAttribute('role', 'option');
|
|
5221
|
+
this.setAttribute('aria-selected', 'false');
|
|
3256
5222
|
|
|
3257
|
-
|
|
5223
|
+
this.addEventListener('mouseover', () => {
|
|
5224
|
+
this.dispatchEvent(new CustomEvent('auroMenuOption-mouseover', {
|
|
5225
|
+
bubbles: true,
|
|
5226
|
+
cancelable: false,
|
|
5227
|
+
composed: true,
|
|
5228
|
+
detail: this
|
|
5229
|
+
}));
|
|
5230
|
+
});
|
|
3258
5231
|
}
|
|
3259
5232
|
|
|
3260
|
-
|
|
3261
|
-
|
|
3262
|
-
|
|
3263
|
-
|
|
3264
|
-
* Then, it retrieves the assigned nodes from the event target and checks if any of
|
|
3265
|
-
* the nodes contain non-empty text content, updating the `hasTriggerContent` property accordingly.
|
|
3266
|
-
*
|
|
3267
|
-
* @private
|
|
3268
|
-
* @method handleTriggerContentSlotChange
|
|
3269
|
-
* @param {Event} event - native slotchange event
|
|
3270
|
-
* @returns {void}
|
|
3271
|
-
*/
|
|
3272
|
-
handleTriggerContentSlotChange(event) {
|
|
3273
|
-
this.floater.handleTriggerTabIndex();
|
|
3274
|
-
|
|
3275
|
-
if (event) {
|
|
3276
|
-
this.triggerNode = event.target;
|
|
3277
|
-
this.triggerContentSlot = event.target.assignedNodes();
|
|
3278
|
-
}
|
|
3279
|
-
|
|
3280
|
-
if (this.triggerContentSlot) {
|
|
3281
|
-
this.hasTriggerContent = this.triggerContentSlot.some((slot) => {
|
|
3282
|
-
if (slot.textContent.trim()) {
|
|
3283
|
-
return true;
|
|
3284
|
-
}
|
|
3285
|
-
const slotInSlot = slot.querySelector('slot');
|
|
3286
|
-
if (!slotInSlot) {
|
|
3287
|
-
return false;
|
|
3288
|
-
}
|
|
3289
|
-
const slotsInSlotNodes = slotInSlot.assignedNodes();
|
|
3290
|
-
return slotsInSlotNodes.some((ss) => Boolean(ss.textContent.trim()));
|
|
3291
|
-
});
|
|
3292
|
-
} else {
|
|
3293
|
-
this.hasTriggerContent = false;
|
|
5233
|
+
// observer for selected property changes
|
|
5234
|
+
updated(changedProperties) {
|
|
5235
|
+
if (changedProperties.has('selected')) {
|
|
5236
|
+
this.setAttribute('aria-selected', this.selected.toString());
|
|
3294
5237
|
}
|
|
3295
5238
|
}
|
|
3296
5239
|
|
|
3297
5240
|
/**
|
|
3298
|
-
*
|
|
3299
|
-
*
|
|
3300
|
-
* This method retrieves all nodes assigned to the default slot of the event target and appends them
|
|
3301
|
-
* to the `bibContent` element. If a callback function `onSlotChange` is defined, it is invoked to
|
|
3302
|
-
* notify about the slot change.
|
|
5241
|
+
* Generates an HTML element containing an SVG icon based on the provided `svgContent`.
|
|
3303
5242
|
*
|
|
3304
5243
|
* @private
|
|
3305
|
-
* @
|
|
3306
|
-
* @
|
|
3307
|
-
* @fires Function#onSlotChange - Optional callback invoked when the slot content changes.
|
|
5244
|
+
* @param {string} svgContent - The SVG content to be embedded.
|
|
5245
|
+
* @returns {Element} The HTML element containing the SVG icon.
|
|
3308
5246
|
*/
|
|
3309
|
-
|
|
3310
|
-
|
|
5247
|
+
generateIconHtml(svgContent) {
|
|
5248
|
+
const dom = new DOMParser().parseFromString(svgContent, 'text/html');
|
|
5249
|
+
const svg = dom.body.firstChild;
|
|
3311
5250
|
|
|
3312
|
-
|
|
3313
|
-
|
|
3314
|
-
}
|
|
5251
|
+
svg.setAttribute('slot', 'svg');
|
|
5252
|
+
|
|
5253
|
+
return u`<${this.iconTag} customColor customSvg slot="icon">${svg}</${this.iconTag}>`;
|
|
3315
5254
|
}
|
|
3316
5255
|
|
|
3317
|
-
// function that renders the HTML and CSS into the scope of the component
|
|
3318
5256
|
render() {
|
|
3319
|
-
return u
|
|
3320
|
-
|
|
3321
|
-
|
|
3322
|
-
id="trigger"
|
|
3323
|
-
class="trigger"
|
|
3324
|
-
part="trigger"
|
|
3325
|
-
role="button"
|
|
3326
|
-
aria-labelledby="triggerLabel"
|
|
3327
|
-
aria-controls="popover"
|
|
3328
|
-
tabindex="${this.tabIndex}"
|
|
3329
|
-
>
|
|
3330
|
-
<div class="triggerContentWrapper">
|
|
3331
|
-
<label class="label" id="triggerLabel" hasTrigger=${this.hasTriggerContent}>
|
|
3332
|
-
<slot name="label"></slot>
|
|
3333
|
-
</label>
|
|
3334
|
-
<div class="triggerContent">
|
|
3335
|
-
<slot
|
|
3336
|
-
name="trigger"
|
|
3337
|
-
@slotchange="${(event) => this.handleTriggerContentSlotChange(event)}"></slot>
|
|
3338
|
-
</div>
|
|
3339
|
-
</div>
|
|
3340
|
-
${this.chevron || this.common ? u$1`
|
|
3341
|
-
<div
|
|
3342
|
-
id="showStateIcon"
|
|
3343
|
-
part="chevron">
|
|
3344
|
-
<${this.iconTag}
|
|
3345
|
-
category="interface"
|
|
3346
|
-
name="chevron-down"
|
|
3347
|
-
customColor
|
|
3348
|
-
?disabled=${this.disabled}
|
|
3349
|
-
>
|
|
3350
|
-
</${this.iconTag}>
|
|
3351
|
-
</div>
|
|
3352
|
-
` : undefined }
|
|
3353
|
-
</div>
|
|
3354
|
-
<div
|
|
3355
|
-
class="helpText"
|
|
3356
|
-
part="helpText">
|
|
3357
|
-
<slot name="helpText"></slot>
|
|
3358
|
-
</div>
|
|
3359
|
-
<div class="slotContent">
|
|
3360
|
-
<slot @slotchange="${this.handleDefaultSlot}"></slot>
|
|
3361
|
-
</div>
|
|
3362
|
-
<div id="bibSizer" part="size"></div>
|
|
3363
|
-
<auro-dropdownbib
|
|
3364
|
-
id="bib"
|
|
3365
|
-
role="tooltip"
|
|
3366
|
-
?common="${this.common}"
|
|
3367
|
-
?rounded="${this.common || this.rounded}"
|
|
3368
|
-
?inset="${this.common || this.inset}">
|
|
3369
|
-
</auro-dropdownbib>
|
|
3370
|
-
</div>
|
|
5257
|
+
return u`
|
|
5258
|
+
${this.selected && !this.nocheckmark ? this.generateIconHtml(checkmarkIcon.svg) : undefined}
|
|
5259
|
+
<slot></slot>
|
|
3371
5260
|
`;
|
|
3372
5261
|
}
|
|
3373
5262
|
}
|
|
3374
5263
|
|
|
3375
|
-
|
|
3376
|
-
|
|
3377
|
-
var dropdownVersion = '3.0.0';
|
|
5264
|
+
AuroMenu.register();
|
|
5265
|
+
AuroMenuOption.register();
|
|
3378
5266
|
|
|
3379
|
-
var styleCss = i$
|
|
5267
|
+
var styleCss = i$g`*,*: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{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}[slot=trigger]{width:100%;padding:0;border:0;cursor:pointer;font-family:inherit;font-size:inherit;text-align:left}[slot=trigger] .nestingSpacer{display:none}[slot=trigger] #placeholder.hidden{position:absolute;z-index:-1;opacity:0;pointer-events:none}:host [auro-dropdown]{position:relative}:host [auro-dropdown]::part(trigger){max-height:var(--ds-size-300, 1.5rem)}:host [auro-dropdown]::part(popover){max-width:-webkit-fill-available;overflow-y:scroll}:host([disabled]) *{user-select:none}.outerWrapper{position:relative}auro-menuoption{padding:0;pointer-events:none}.menuWrapper{padding:var(--ds-size-50, 0.25rem) 0}:host([multiselect]) [slot=trigger]{display:flex}:host([multiselect]) auro-menuoption:not(:first-child){margin-left:var(--ds-size-100)}`;
|
|
3380
5268
|
|
|
3381
|
-
var colorCss = i$
|
|
5269
|
+
var colorCss = i$g`*,*: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{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}:host [auro-dropdown]::part(trigger):hover{--ds-auro-dropdown-trigger-container-color: rgba(0 0 0 / 0.06)}:host([disabled]) *{color:var(--ds-color-text-ui-disabled-default, #adadad)}.placeholder{color:var(--ds-auro-select-placeholder-text-color)}`;
|
|
3382
5270
|
|
|
3383
|
-
var tokensCss = i$
|
|
5271
|
+
var tokensCss = i$g`:host{--ds-auro-select-placeholder-text-color: var(--ds-color-text-secondary-default, $ds-color-text-secondary-default)}`;
|
|
3384
5272
|
|
|
3385
5273
|
// Copyright (c) 2021 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
3386
5274
|
// See LICENSE in the project root for license information.
|
|
@@ -3395,17 +5283,18 @@ var tokensCss = i$b`:host{--ds-auro-select-placeholder-text-color: var(--ds-colo
|
|
|
3395
5283
|
* @slot helpText - Defines the content of the helpText.
|
|
3396
5284
|
* @slot placeholder - Defines the content of the placeholder to be shown when there is no value
|
|
3397
5285
|
* @event auroSelect-valueSet - Notifies that the component has a new value set.
|
|
5286
|
+
* @event input - Notifies every time the value prop of the element is changed.
|
|
3398
5287
|
* @event auroFormElement-validated - Notifies that the `validity` and `errorMessage` values have changed.
|
|
3399
5288
|
* @csspart helpText - Apply CSS to the help text.
|
|
3400
5289
|
*/
|
|
3401
5290
|
|
|
3402
5291
|
// build the component class
|
|
3403
|
-
class AuroSelect extends r$
|
|
5292
|
+
class AuroSelect extends r$9 {
|
|
3404
5293
|
constructor() {
|
|
3405
5294
|
super();
|
|
3406
5295
|
|
|
3407
5296
|
this.optionSelected = undefined;
|
|
3408
|
-
this.
|
|
5297
|
+
this.value = undefined;
|
|
3409
5298
|
|
|
3410
5299
|
const idLength = 36;
|
|
3411
5300
|
const idSubstrEnd = 8;
|
|
@@ -3426,12 +5315,12 @@ class AuroSelect extends r$4 {
|
|
|
3426
5315
|
/**
|
|
3427
5316
|
* @private
|
|
3428
5317
|
*/
|
|
3429
|
-
this.runtimeUtils = new AuroLibraryRuntimeUtils$
|
|
5318
|
+
this.runtimeUtils = new AuroLibraryRuntimeUtils$3();
|
|
3430
5319
|
|
|
3431
5320
|
/**
|
|
3432
5321
|
* Generate unique names for dependency components.
|
|
3433
5322
|
*/
|
|
3434
|
-
const versioning = new AuroDependencyVersioning$
|
|
5323
|
+
const versioning = new AuroDependencyVersioning$2();
|
|
3435
5324
|
|
|
3436
5325
|
/**
|
|
3437
5326
|
* @private
|
|
@@ -3502,7 +5391,9 @@ class AuroSelect extends r$4 {
|
|
|
3502
5391
|
* Specifies the current selected menuOption.
|
|
3503
5392
|
*/
|
|
3504
5393
|
optionSelected: {
|
|
3505
|
-
|
|
5394
|
+
// Allow HTMLElement[] arrays and undefined
|
|
5395
|
+
converter: arrayConverter,
|
|
5396
|
+
hasChanged: arrayOrUndefinedHasChanged
|
|
3506
5397
|
},
|
|
3507
5398
|
|
|
3508
5399
|
/**
|
|
@@ -3561,8 +5452,19 @@ class AuroSelect extends r$4 {
|
|
|
3561
5452
|
* Value selected for the component.
|
|
3562
5453
|
*/
|
|
3563
5454
|
value: {
|
|
3564
|
-
|
|
3565
|
-
|
|
5455
|
+
// Allow string[] arrays and undefined
|
|
5456
|
+
converter: arrayConverter,
|
|
5457
|
+
hasChanged: arrayOrUndefinedHasChanged
|
|
5458
|
+
},
|
|
5459
|
+
|
|
5460
|
+
/**
|
|
5461
|
+
* Sets multi-select mode, allowing multiple options to be selected at once.
|
|
5462
|
+
*/
|
|
5463
|
+
multiSelect: {
|
|
5464
|
+
type: Boolean,
|
|
5465
|
+
reflect: true,
|
|
5466
|
+
attribute: 'multiselect'
|
|
5467
|
+
},
|
|
3566
5468
|
};
|
|
3567
5469
|
}
|
|
3568
5470
|
|
|
@@ -3600,33 +5502,34 @@ class AuroSelect extends r$4 {
|
|
|
3600
5502
|
*
|
|
3601
5503
|
*/
|
|
3602
5504
|
static register(name = "auro-select") {
|
|
3603
|
-
AuroLibraryRuntimeUtils$
|
|
5505
|
+
AuroLibraryRuntimeUtils$3.prototype.registerComponent(name, AuroSelect);
|
|
3604
5506
|
}
|
|
3605
5507
|
|
|
3606
5508
|
/**
|
|
3607
|
-
* Updates the displayed value in an Auro dropdown component based on optionSelected
|
|
5509
|
+
* Updates the displayed value in an Auro dropdown component based on optionSelected.
|
|
3608
5510
|
* @private
|
|
3609
5511
|
* @returns {void}
|
|
3610
5512
|
*/
|
|
3611
5513
|
updateDisplayedValue() {
|
|
3612
5514
|
const triggerContentEl = this.dropdown.querySelector('#triggerFocus');
|
|
3613
5515
|
|
|
3614
|
-
//
|
|
3615
|
-
triggerContentEl.
|
|
3616
|
-
|
|
3617
|
-
|
|
5516
|
+
// Clear everything except placeholder
|
|
5517
|
+
const placeholder = triggerContentEl.querySelector('#placeholder');
|
|
5518
|
+
triggerContentEl.innerHTML = '';
|
|
5519
|
+
if (placeholder) {
|
|
5520
|
+
triggerContentEl.appendChild(placeholder);
|
|
5521
|
+
}
|
|
3618
5522
|
|
|
3619
|
-
|
|
3620
|
-
|
|
3621
|
-
|
|
3622
|
-
|
|
3623
|
-
clone.removeAttribute('class');
|
|
5523
|
+
// Handle selected options
|
|
5524
|
+
if (this.optionSelected && this.optionSelected.length) {
|
|
5525
|
+
// Create display text from selected options
|
|
5526
|
+
const displayText = this.optionSelected.map((option) => option.textContent).join(', ');
|
|
3624
5527
|
|
|
3625
|
-
|
|
3626
|
-
|
|
5528
|
+
const span = document.createElement('span');
|
|
5529
|
+
span.textContent = displayText;
|
|
5530
|
+
triggerContentEl.appendChild(span);
|
|
3627
5531
|
}
|
|
3628
5532
|
|
|
3629
|
-
// notify dropdown as trigger content is changed
|
|
3630
5533
|
this.dropdown.requestUpdate();
|
|
3631
5534
|
}
|
|
3632
5535
|
|
|
@@ -3646,6 +5549,10 @@ class AuroSelect extends r$4 {
|
|
|
3646
5549
|
return;
|
|
3647
5550
|
}
|
|
3648
5551
|
|
|
5552
|
+
if (this.multiSelect) {
|
|
5553
|
+
this.menu.multiSelect = this.multiSelect;
|
|
5554
|
+
}
|
|
5555
|
+
|
|
3649
5556
|
this.menu.addEventListener("auroMenu-loadingChange", (event) => this.handleMenuLoadingChange(event));
|
|
3650
5557
|
this.menu.setAttribute('aria-hidden', 'true');
|
|
3651
5558
|
|
|
@@ -3656,8 +5563,10 @@ class AuroSelect extends r$4 {
|
|
|
3656
5563
|
});
|
|
3657
5564
|
|
|
3658
5565
|
this.menu.addEventListener('auroMenu-selectedOption', () => {
|
|
5566
|
+
// Get array of selected options from menu
|
|
3659
5567
|
this.optionSelected = this.menu.optionSelected;
|
|
3660
|
-
|
|
5568
|
+
// For single select, we still use arrays but only take first value
|
|
5569
|
+
this.value = this.menu.value;
|
|
3661
5570
|
|
|
3662
5571
|
if (this.dropdown.isPopoverVisible) {
|
|
3663
5572
|
this.dropdown.hide();
|
|
@@ -3672,7 +5581,7 @@ class AuroSelect extends r$4 {
|
|
|
3672
5581
|
* with `auro-select.value`.
|
|
3673
5582
|
*/
|
|
3674
5583
|
this.menu.addEventListener('auroMenu-selectValueFailure', () => {
|
|
3675
|
-
this.
|
|
5584
|
+
this.menu.clearSelection();
|
|
3676
5585
|
});
|
|
3677
5586
|
|
|
3678
5587
|
this.menu.addEventListener('auroMenu-selectValueReset', () => {
|
|
@@ -3697,7 +5606,7 @@ class AuroSelect extends r$4 {
|
|
|
3697
5606
|
this.dropdown.show();
|
|
3698
5607
|
|
|
3699
5608
|
if (this.dropdown.isPopoverVisible) {
|
|
3700
|
-
this.menu.
|
|
5609
|
+
this.menu.navigateOptions('up');
|
|
3701
5610
|
}
|
|
3702
5611
|
}
|
|
3703
5612
|
|
|
@@ -3707,7 +5616,7 @@ class AuroSelect extends r$4 {
|
|
|
3707
5616
|
this.dropdown.show();
|
|
3708
5617
|
|
|
3709
5618
|
if (this.dropdown.isPopoverVisible) {
|
|
3710
|
-
this.menu.
|
|
5619
|
+
this.menu.navigateOptions('down');
|
|
3711
5620
|
}
|
|
3712
5621
|
}
|
|
3713
5622
|
|
|
@@ -3770,7 +5679,7 @@ class AuroSelect extends r$4 {
|
|
|
3770
5679
|
* input as no longer in the initial state.
|
|
3771
5680
|
*/
|
|
3772
5681
|
if (this.value === undefined) {
|
|
3773
|
-
this.value =
|
|
5682
|
+
this.value = undefined;
|
|
3774
5683
|
this.removeEventListener('focusin', this.handleFocusin);
|
|
3775
5684
|
}
|
|
3776
5685
|
}
|
|
@@ -3828,22 +5737,33 @@ class AuroSelect extends r$4 {
|
|
|
3828
5737
|
}
|
|
3829
5738
|
}
|
|
3830
5739
|
|
|
3831
|
-
updated(changedProperties) {
|
|
3832
|
-
// After the component is ready, send direct value changes to auro-menu.
|
|
5740
|
+
async updated(changedProperties) {
|
|
3833
5741
|
if (changedProperties.has('value')) {
|
|
3834
5742
|
if (this.value) {
|
|
3835
5743
|
this.menu.value = this.value;
|
|
5744
|
+
|
|
5745
|
+
// Wait for menu to finish updating its value
|
|
5746
|
+
await this.menu.updateComplete;
|
|
5747
|
+
|
|
5748
|
+
this.optionSelected = this.menu.optionSelected;
|
|
3836
5749
|
} else {
|
|
3837
5750
|
this.menu.value = undefined;
|
|
3838
5751
|
}
|
|
3839
5752
|
|
|
3840
5753
|
this.validation.validate(this);
|
|
3841
5754
|
|
|
5755
|
+
// LEGACY EVENT
|
|
3842
5756
|
this.dispatchEvent(new CustomEvent('auroSelect-valueSet', {
|
|
3843
5757
|
bubbles: true,
|
|
3844
5758
|
cancelable: false,
|
|
3845
5759
|
composed: true,
|
|
3846
5760
|
}));
|
|
5761
|
+
|
|
5762
|
+
this.dispatchEvent(new CustomEvent('input', {
|
|
5763
|
+
bubbles: true,
|
|
5764
|
+
cancelable: true,
|
|
5765
|
+
composed: true,
|
|
5766
|
+
}));
|
|
3847
5767
|
}
|
|
3848
5768
|
|
|
3849
5769
|
if (changedProperties.has('optionSelected')) {
|
|
@@ -3851,7 +5771,7 @@ class AuroSelect extends r$4 {
|
|
|
3851
5771
|
}
|
|
3852
5772
|
|
|
3853
5773
|
if (changedProperties.has('error')) {
|
|
3854
|
-
this.
|
|
5774
|
+
this.validate(true);
|
|
3855
5775
|
}
|
|
3856
5776
|
}
|
|
3857
5777
|
|
|
@@ -3863,6 +5783,14 @@ class AuroSelect extends r$4 {
|
|
|
3863
5783
|
this.validation.reset(this);
|
|
3864
5784
|
}
|
|
3865
5785
|
|
|
5786
|
+
/**
|
|
5787
|
+
* Validates value.
|
|
5788
|
+
* @param {boolean} [force=false] - Whether to force validation.
|
|
5789
|
+
*/
|
|
5790
|
+
validate(force = false) {
|
|
5791
|
+
this.validation.validate(this, force);
|
|
5792
|
+
}
|
|
5793
|
+
|
|
3866
5794
|
// When using auroElement, use the following attribute and function when hiding content from screen readers.
|
|
3867
5795
|
// aria-hidden="${this.hideAudible(this.hiddenAudible)}"
|
|
3868
5796
|
|
|
@@ -3872,18 +5800,18 @@ class AuroSelect extends r$4 {
|
|
|
3872
5800
|
hidden: this.value,
|
|
3873
5801
|
};
|
|
3874
5802
|
|
|
3875
|
-
return u$
|
|
5803
|
+
return u$6`
|
|
3876
5804
|
<div class="outerWrapper">
|
|
3877
5805
|
<div aria-live="polite" class="util_displayHiddenVisually">
|
|
3878
5806
|
${this.optionActive && this.options.length > 0
|
|
3879
|
-
? u$
|
|
5807
|
+
? u$6`
|
|
3880
5808
|
${`${this.optionActive.innerText}, option ${this.options.indexOf(this.optionActive) + 1} of ${this.options.length}`}
|
|
3881
5809
|
`
|
|
3882
5810
|
: undefined
|
|
3883
5811
|
};
|
|
3884
5812
|
|
|
3885
5813
|
${this.optionSelected && this.options.length > 0
|
|
3886
|
-
? u$
|
|
5814
|
+
? u$6`
|
|
3887
5815
|
${`${this.optionSelected.innerText} selected`}
|
|
3888
5816
|
`
|
|
3889
5817
|
: undefined
|
|
@@ -3898,23 +5826,23 @@ class AuroSelect extends r$4 {
|
|
|
3898
5826
|
chevron
|
|
3899
5827
|
part="dropdown">
|
|
3900
5828
|
<span slot="trigger" aria-haspopup="true" id="triggerFocus">
|
|
3901
|
-
<span id="placeholder" class="${e$
|
|
5829
|
+
<span id="placeholder" class="${e$9(placeholderClass)}"><slot name="placeholder"></slot></span>
|
|
3902
5830
|
</span>
|
|
3903
5831
|
<div class="menuWrapper">
|
|
3904
5832
|
</div>
|
|
3905
5833
|
<slot name="label" slot="label"></slot>
|
|
3906
|
-
<
|
|
5834
|
+
<p slot="helpText">
|
|
3907
5835
|
${!this.validity || this.validity === undefined || this.validity === 'valid'
|
|
3908
|
-
? u$
|
|
3909
|
-
<
|
|
5836
|
+
? u$6`
|
|
5837
|
+
<span id="${this.uniqueId}" part="helpText">
|
|
3910
5838
|
<slot name="helpText"></slot>
|
|
3911
|
-
</
|
|
3912
|
-
: u$
|
|
3913
|
-
<
|
|
5839
|
+
</span>`
|
|
5840
|
+
: u$6`
|
|
5841
|
+
<span id="${this.uniqueId}" role="alert" aria-live="assertive" part="helpText">
|
|
3914
5842
|
${this.errorMessage}
|
|
3915
|
-
</
|
|
5843
|
+
</span>`
|
|
3916
5844
|
}
|
|
3917
|
-
</
|
|
5845
|
+
</p>
|
|
3918
5846
|
</${this.dropdownTag}>
|
|
3919
5847
|
<!-- Help text and error message template -->
|
|
3920
5848
|
</div>
|