@aurodesignsystem/auro-formkit 2.0.0-beta.3 → 2.0.0-beta.30
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/019608f754b4fd0c-meta.json +1 -0
- package/.turbo/cache/019608f754b4fd0c.tar.zst +0 -0
- package/.turbo/cache/111ea1a7d5e86aac-meta.json +1 -0
- package/.turbo/cache/111ea1a7d5e86aac.tar.zst +0 -0
- package/.turbo/cache/18ce0cc67c14e0c9-meta.json +1 -0
- package/.turbo/cache/18ce0cc67c14e0c9.tar.zst +0 -0
- package/.turbo/cache/1d4280429ff4222f-meta.json +1 -0
- package/.turbo/cache/1d4280429ff4222f.tar.zst +0 -0
- package/.turbo/cache/251ba344c6338ba3-meta.json +1 -0
- package/.turbo/cache/251ba344c6338ba3.tar.zst +0 -0
- package/.turbo/cache/298b6ff0272e6226-meta.json +1 -0
- package/.turbo/cache/298b6ff0272e6226.tar.zst +0 -0
- package/.turbo/cache/2abb5400a01a1694-meta.json +1 -0
- package/.turbo/cache/2abb5400a01a1694.tar.zst +0 -0
- package/.turbo/cache/30fda91ef83677e4-meta.json +1 -0
- package/.turbo/cache/30fda91ef83677e4.tar.zst +0 -0
- package/.turbo/cache/3221d91a94756c26-meta.json +1 -0
- package/.turbo/cache/3221d91a94756c26.tar.zst +0 -0
- package/.turbo/cache/3ab09fe7cf32b3bf-meta.json +1 -0
- package/.turbo/cache/3ab09fe7cf32b3bf.tar.zst +0 -0
- package/.turbo/cache/3d05fb6e2d593287-meta.json +1 -0
- package/.turbo/cache/3d05fb6e2d593287.tar.zst +0 -0
- package/.turbo/cache/3f1b3db13386acdc-meta.json +1 -0
- package/.turbo/cache/3f1b3db13386acdc.tar.zst +0 -0
- package/.turbo/cache/430c124614841675-meta.json +1 -0
- package/.turbo/cache/430c124614841675.tar.zst +0 -0
- package/.turbo/cache/45bdeb0396723b25-meta.json +1 -0
- package/.turbo/cache/45bdeb0396723b25.tar.zst +0 -0
- package/.turbo/cache/4e9c9a5dd62c50a4-meta.json +1 -0
- package/.turbo/cache/4e9c9a5dd62c50a4.tar.zst +0 -0
- package/.turbo/cache/559b052d8150dd3f-meta.json +1 -0
- package/.turbo/cache/559b052d8150dd3f.tar.zst +0 -0
- package/.turbo/cache/5748467be5ef9c07-meta.json +1 -0
- package/.turbo/cache/5748467be5ef9c07.tar.zst +0 -0
- package/.turbo/cache/59481fd7f6f355ed-meta.json +1 -0
- package/.turbo/cache/59481fd7f6f355ed.tar.zst +0 -0
- package/.turbo/cache/5a78bd07d371dd47-meta.json +1 -0
- package/.turbo/cache/5a78bd07d371dd47.tar.zst +0 -0
- package/.turbo/cache/5fc9a7a072827b7b-meta.json +1 -0
- package/.turbo/cache/5fc9a7a072827b7b.tar.zst +0 -0
- package/.turbo/cache/63f832b4947ecf9d-meta.json +1 -0
- package/.turbo/cache/63f832b4947ecf9d.tar.zst +0 -0
- package/.turbo/cache/6a5dc307d8619c06-meta.json +1 -0
- package/.turbo/cache/6a5dc307d8619c06.tar.zst +0 -0
- package/.turbo/cache/6ed764f60d634993-meta.json +1 -0
- package/.turbo/cache/6ed764f60d634993.tar.zst +0 -0
- package/.turbo/cache/753b119a389426be-meta.json +1 -0
- package/.turbo/cache/753b119a389426be.tar.zst +0 -0
- package/.turbo/cache/80ece7354266e40f-meta.json +1 -0
- package/.turbo/cache/80ece7354266e40f.tar.zst +0 -0
- package/.turbo/cache/846bade4a9a3eba9-meta.json +1 -0
- package/.turbo/cache/846bade4a9a3eba9.tar.zst +0 -0
- package/.turbo/cache/8ac38d70a60381cb-meta.json +1 -0
- package/.turbo/cache/8ac38d70a60381cb.tar.zst +0 -0
- package/.turbo/cache/8c637a8d4c2166c5-meta.json +1 -0
- package/.turbo/cache/8c637a8d4c2166c5.tar.zst +0 -0
- package/.turbo/cache/8cd5a06a396632cf-meta.json +1 -0
- package/.turbo/cache/8cd5a06a396632cf.tar.zst +0 -0
- package/.turbo/cache/970ba88c4c4092cd-meta.json +1 -0
- package/.turbo/cache/970ba88c4c4092cd.tar.zst +0 -0
- package/.turbo/cache/9db5147195c32672-meta.json +1 -0
- package/.turbo/cache/9db5147195c32672.tar.zst +0 -0
- package/.turbo/cache/a002bc214179bedc-meta.json +1 -0
- package/.turbo/cache/a002bc214179bedc.tar.zst +0 -0
- package/.turbo/cache/a02c2bc2a4638817-meta.json +1 -0
- package/.turbo/cache/a02c2bc2a4638817.tar.zst +0 -0
- package/.turbo/cache/a7004571f6307848-meta.json +1 -0
- package/.turbo/cache/a7004571f6307848.tar.zst +0 -0
- package/.turbo/cache/a7dea1f1ae1fdc27-meta.json +1 -0
- package/.turbo/cache/a7dea1f1ae1fdc27.tar.zst +0 -0
- package/.turbo/cache/a8307dcc447702ad-meta.json +1 -0
- package/.turbo/cache/a8307dcc447702ad.tar.zst +0 -0
- package/.turbo/cache/a9dc1069fcd851ff-meta.json +1 -0
- package/.turbo/cache/a9dc1069fcd851ff.tar.zst +0 -0
- package/.turbo/cache/b4de0d19f9eeaceb-meta.json +1 -0
- package/.turbo/cache/b4de0d19f9eeaceb.tar.zst +0 -0
- package/.turbo/cache/b682d4cec0741fa1-meta.json +1 -0
- package/.turbo/cache/b682d4cec0741fa1.tar.zst +0 -0
- package/.turbo/cache/bf3d1eace5e676f9-meta.json +1 -0
- package/.turbo/cache/bf3d1eace5e676f9.tar.zst +0 -0
- package/.turbo/cache/c27d47351838ceb1-meta.json +1 -0
- package/.turbo/cache/c27d47351838ceb1.tar.zst +0 -0
- package/.turbo/cache/c7d435ade46f3c1e-meta.json +1 -0
- package/.turbo/cache/c7d435ade46f3c1e.tar.zst +0 -0
- package/.turbo/cache/cbcd9db8ac9a2d52-meta.json +1 -0
- package/.turbo/cache/cbcd9db8ac9a2d52.tar.zst +0 -0
- package/.turbo/cache/d0c4bf3a3a3840fd-meta.json +1 -0
- package/.turbo/cache/d0c4bf3a3a3840fd.tar.zst +0 -0
- package/.turbo/cache/d3afdb9a7db9eacc-meta.json +1 -0
- package/.turbo/cache/d3afdb9a7db9eacc.tar.zst +0 -0
- package/.turbo/cache/d8ecdff9c663c38e-meta.json +1 -0
- package/.turbo/cache/d8ecdff9c663c38e.tar.zst +0 -0
- package/.turbo/cache/de494df6a3006101-meta.json +1 -0
- package/.turbo/cache/de494df6a3006101.tar.zst +0 -0
- package/.turbo/cache/e06dedab4c19ae2a-meta.json +1 -0
- package/.turbo/cache/e06dedab4c19ae2a.tar.zst +0 -0
- package/.turbo/cache/e56a9865641ec3e8-meta.json +1 -0
- package/.turbo/cache/e56a9865641ec3e8.tar.zst +0 -0
- package/.turbo/cache/e7ed9e7056d80938-meta.json +1 -0
- package/.turbo/cache/e7ed9e7056d80938.tar.zst +0 -0
- package/.turbo/cache/e837827cd24834c4-meta.json +1 -0
- package/.turbo/cache/e837827cd24834c4.tar.zst +0 -0
- package/.turbo/cache/e9ff93179777aa26-meta.json +1 -0
- package/.turbo/cache/e9ff93179777aa26.tar.zst +0 -0
- package/.turbo/cache/f6220a9af06bee74-meta.json +1 -0
- package/.turbo/cache/f6220a9af06bee74.tar.zst +0 -0
- package/.turbo/cache/f7ab9a13f9acc0ab-meta.json +1 -0
- package/.turbo/cache/f7ab9a13f9acc0ab.tar.zst +0 -0
- package/.turbo/cache/ff3c8a3042cab66e-meta.json +1 -0
- package/.turbo/cache/ff3c8a3042cab66e.tar.zst +0 -0
- package/.vscode/settings.json +3 -0
- package/CHANGELOG.md +276 -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 +26 -34
- 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 +4 -3
- 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 +3681 -943
- package/components/combobox/demo/index.md +1 -1
- package/components/combobox/demo/index.min.js +3678 -940
- 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 +3047 -623
- 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 +11 -12
- package/components/combobox/src/auro-combobox.js +215 -159
- 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 +338 -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 +1815 -36
- package/components/counter/demo/index.js +2 -1
- package/components/counter/demo/index.md +292 -0
- package/components/counter/demo/index.min.js +1842 -18
- 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 +115 -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 +82 -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 +1815 -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 +11 -3
- package/components/counter/src/auro-counter-button.js +42 -0
- package/components/counter/src/auro-counter-group.js +236 -20
- package/components/counter/src/auro-counter-wrapper.js +54 -0
- package/components/counter/src/auro-counter.js +285 -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 +25 -0
- package/components/counter/src/styles/color.scss +44 -0
- package/components/counter/src/styles/counter-button-color-css.js +2 -0
- package/components/counter/src/styles/counter-button-color.css +14 -0
- package/components/counter/src/styles/counter-button-color.scss +29 -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 +7 -0
- package/components/counter/src/styles/counter-button-tokens.scss +9 -0
- package/components/counter/src/styles/counter-button.css +187 -0
- package/components/counter/src/styles/counter-button.scss +83 -0
- package/components/counter/src/styles/counter-group-css.js +1 -1
- package/components/counter/src/styles/counter-group.css +12 -1
- package/components/counter/src/styles/counter-group.scss +12 -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 +43 -1
- package/components/counter/src/styles/style.scss +48 -2
- package/components/counter/src/styles/tokens-css.js +2 -0
- package/components/counter/src/styles/tokens.css +11 -0
- package/components/counter/src/styles/tokens.scss +24 -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 +21 -26
- package/components/datepicker/demo/api.md +85 -57
- package/components/datepicker/demo/api.min.js +1643 -693
- package/components/datepicker/demo/index.md +1 -1
- package/components/datepicker/demo/index.min.js +1643 -693
- 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 +1643 -693
- 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 +5 -5
- package/components/datepicker/src/auro-calendar.js +1 -1
- package/components/datepicker/src/auro-datepicker.js +170 -82
- 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 +0 -6
- package/components/datepicker/src/styles/style.scss +0 -6
- 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 +18 -26
- package/components/dropdown/demo/api.md +4 -5
- package/components/dropdown/demo/api.min.js +467 -122
- package/components/dropdown/demo/index.min.js +467 -122
- package/components/dropdown/dist/auro-dropdown.d.ts +93 -34
- package/components/dropdown/dist/auro-dropdown.d.ts.map +1 -1
- package/components/dropdown/dist/auro-dropdownBib.d.ts +9 -3
- package/components/dropdown/dist/auro-dropdownBib.d.ts.map +1 -1
- package/components/dropdown/dist/index.js +467 -122
- package/components/dropdown/package.json +4 -3
- package/components/dropdown/src/auro-dropdown.js +157 -43
- package/components/dropdown/src/auro-dropdownBib.js +12 -3
- package/components/dropdown/src/styles/color-css.js +1 -1
- package/components/dropdown/src/styles/color.css +0 -5
- package/components/dropdown/src/styles/color.scss +0 -5
- package/components/dropdown/src/styles/style-css.js +1 -1
- package/components/dropdown/src/styles/style.css +4 -6
- package/components/dropdown/src/styles/style.scss +5 -6
- package/components/dropdown/src/styles/tokens-css.js +1 -1
- package/components/dropdown/src/styles/tokens.css +0 -1
- package/components/dropdown/src/styles/tokens.scss +0 -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 +28 -34
- package/components/form/demo/api.min.js +405 -25
- package/components/form/demo/index.min.js +405 -25
- package/components/form/demo/registerDemoDeps.js +6 -0
- package/components/form/demo/working.html +117 -0
- package/components/form/dist/auro-form.d.ts +160 -2
- package/components/form/dist/auro-form.d.ts.map +1 -1
- package/components/form/dist/index.js +405 -25
- package/components/form/package.json +6 -4
- package/components/form/src/auro-form.js +402 -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 +20 -0
- package/components/helptext/src/styles/style.scss +30 -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 +18 -28
- package/components/input/demo/api.md +122 -288
- package/components/input/demo/api.min.js +653 -195
- package/components/input/demo/index.md +9 -59
- package/components/input/demo/index.min.js +653 -195
- package/components/input/dist/auro-input.d.ts.map +1 -1
- package/components/input/dist/base-input.d.ts +160 -82
- package/components/input/dist/base-input.d.ts.map +1 -1
- package/components/input/dist/index.js +653 -195
- package/components/input/package.json +4 -3
- package/components/input/src/auro-input.js +18 -10
- package/components/input/src/base-input.js +246 -76
- 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 +18 -26
- 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 +3 -3
- 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 +18 -26
- package/components/radio/demo/api.md +4 -4
- package/components/radio/demo/api.min.js +350 -61
- package/components/radio/demo/index.min.js +350 -61
- package/components/radio/dist/auro-radio-group.d.ts +5 -0
- package/components/radio/dist/auro-radio-group.d.ts.map +1 -1
- package/components/radio/dist/index.js +350 -61
- package/components/radio/package.json +4 -3
- package/components/radio/src/auro-radio-group.js +14 -5
- 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 +32 -33
- 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 +21 -42
- package/components/select/demo/api.md +86 -111
- package/components/select/demo/api.min.js +2961 -701
- package/components/select/demo/index.md +101 -59
- package/components/select/demo/index.min.js +2960 -700
- package/components/select/dist/auro-select.d.ts +77 -48
- 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 +2421 -462
- package/components/select/package.json +5 -5
- package/components/select/src/auro-select.js +157 -120
- 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 +12 -4
- package/components/select/src/styles/style.scss +22 -5
- 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/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/17259cf94d8f8925-meta.json +0 -1
- package/.turbo/cache/17259cf94d8f8925.tar.zst +0 -0
- package/.turbo/cache/1ab37ce15d9be440-meta.json +0 -1
- package/.turbo/cache/1ab37ce15d9be440.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/1de15d89eed2d760-meta.json +0 -1
- package/.turbo/cache/1de15d89eed2d760.tar.zst +0 -0
- package/.turbo/cache/2110a4d14e0d11b2-meta.json +0 -1
- package/.turbo/cache/2110a4d14e0d11b2.tar.zst +0 -0
- package/.turbo/cache/257a7a26ea72dbc5-meta.json +0 -1
- package/.turbo/cache/257a7a26ea72dbc5.tar.zst +0 -0
- package/.turbo/cache/2990aaa7ebc5b967-meta.json +0 -1
- package/.turbo/cache/2990aaa7ebc5b967.tar.zst +0 -0
- package/.turbo/cache/2fd056afdf4eb39d-meta.json +0 -1
- package/.turbo/cache/2fd056afdf4eb39d.tar.zst +0 -0
- package/.turbo/cache/3bf45120d0cc9bd8-meta.json +0 -1
- package/.turbo/cache/3bf45120d0cc9bd8.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/4f92cea2d8c63de2-meta.json +0 -1
- package/.turbo/cache/4f92cea2d8c63de2.tar.zst +0 -0
- package/.turbo/cache/5bf2d3f7ba5891e0-meta.json +0 -1
- package/.turbo/cache/5bf2d3f7ba5891e0.tar.zst +0 -0
- package/.turbo/cache/5c16ce3cff5c9dff-meta.json +0 -1
- package/.turbo/cache/5c16ce3cff5c9dff.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/784c03fe9fd5ac05-meta.json +0 -1
- package/.turbo/cache/784c03fe9fd5ac05.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/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/87219c41a4ace9cd-meta.json +0 -1
- package/.turbo/cache/87219c41a4ace9cd.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/92daa6d7c389d548-meta.json +0 -1
- package/.turbo/cache/92daa6d7c389d548.tar.zst +0 -0
- package/.turbo/cache/993dff2edb7b6766-meta.json +0 -1
- package/.turbo/cache/993dff2edb7b6766.tar.zst +0 -0
- package/.turbo/cache/9a097d6576dadd64-meta.json +0 -1
- package/.turbo/cache/9a097d6576dadd64.tar.zst +0 -0
- package/.turbo/cache/a63cbfecf0f78586-meta.json +0 -1
- package/.turbo/cache/a63cbfecf0f78586.tar.zst +0 -0
- package/.turbo/cache/a6a56bb802e1c20f-meta.json +0 -1
- package/.turbo/cache/a6a56bb802e1c20f.tar.zst +0 -0
- package/.turbo/cache/a77bc920ea508bb8-meta.json +0 -1
- package/.turbo/cache/a77bc920ea508bb8.tar.zst +0 -0
- package/.turbo/cache/b2c66328fdd78093-meta.json +0 -1
- package/.turbo/cache/b2c66328fdd78093.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/d39e6ef95ebc4cc0-meta.json +0 -1
- package/.turbo/cache/d39e6ef95ebc4cc0.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/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/f411e2deb0676959-meta.json +0 -1
- package/.turbo/cache/f411e2deb0676959.tar.zst +0 -0
- package/.turbo/cache/fa132b5b5f0e75f8-meta.json +0 -1
- package/.turbo/cache/fa132b5b5f0e75f8.tar.zst +0 -0
- package/.turbo/cache/fbbe2704bf9cb90b-meta.json +0 -1
- package/.turbo/cache/fbbe2704bf9cb90b.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,33 +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
|
+
|
|
27
|
+
/**
|
|
28
|
+
* @license
|
|
29
|
+
* Copyright 2017 Google LLC
|
|
30
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
31
|
+
*/
|
|
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
|
+
|
|
34
|
+
/**
|
|
35
|
+
* @license
|
|
36
|
+
* Copyright 2018 Google LLC
|
|
37
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
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}});
|
|
26
39
|
|
|
27
40
|
/**
|
|
28
41
|
* @license
|
|
29
42
|
* Copyright 2020 Google LLC
|
|
30
43
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
31
44
|
*/
|
|
32
|
-
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);
|
|
33
46
|
|
|
34
47
|
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
35
48
|
// See LICENSE in the project root for license information.
|
|
@@ -38,7 +51,7 @@ const a$3=Symbol.for(""),o$5=t=>{if(t?.r===a$3)return t?._$litStatic$},s$3=t=>({
|
|
|
38
51
|
|
|
39
52
|
/* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
|
|
40
53
|
|
|
41
|
-
let AuroLibraryRuntimeUtils$
|
|
54
|
+
let AuroLibraryRuntimeUtils$3 = class AuroLibraryRuntimeUtils {
|
|
42
55
|
|
|
43
56
|
/* eslint-disable jsdoc/require-param */
|
|
44
57
|
|
|
@@ -107,7 +120,7 @@ let AuroLibraryRuntimeUtils$1 = class AuroLibraryRuntimeUtils {
|
|
|
107
120
|
|
|
108
121
|
class AuroFormValidation {
|
|
109
122
|
constructor() {
|
|
110
|
-
this.runtimeUtils = new AuroLibraryRuntimeUtils$
|
|
123
|
+
this.runtimeUtils = new AuroLibraryRuntimeUtils$3();
|
|
111
124
|
}
|
|
112
125
|
|
|
113
126
|
/**
|
|
@@ -135,30 +148,87 @@ class AuroFormValidation {
|
|
|
135
148
|
}
|
|
136
149
|
|
|
137
150
|
/**
|
|
138
|
-
*
|
|
139
|
-
*
|
|
140
|
-
* @param {
|
|
151
|
+
* Validates the attributes of a given element based on predefined validation rules.
|
|
152
|
+
*
|
|
153
|
+
* @param {HTMLElement} elem - The element to be validated.
|
|
141
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.
|
|
142
174
|
*/
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
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
|
+
]
|
|
150
211
|
}
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
if (
|
|
155
|
-
|
|
156
|
-
|
|
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';
|
|
157
219
|
}
|
|
158
220
|
|
|
159
|
-
if (
|
|
160
|
-
|
|
161
|
-
|
|
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
|
+
}
|
|
162
232
|
}
|
|
163
233
|
}
|
|
164
234
|
|
|
@@ -268,7 +338,9 @@ class AuroFormValidation {
|
|
|
268
338
|
elem.errorMessage = elem.setCustomValidityValueMissing || elem.setCustomValidity || '';
|
|
269
339
|
} else if (this.runtimeUtils.elementMatch(elem, 'auro-input')) {
|
|
270
340
|
this.validateType(elem);
|
|
271
|
-
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);
|
|
272
344
|
}
|
|
273
345
|
}
|
|
274
346
|
|
|
@@ -360,7 +432,7 @@ class AuroFormValidation {
|
|
|
360
432
|
// See LICENSE in the project root for license information.
|
|
361
433
|
|
|
362
434
|
|
|
363
|
-
let AuroDependencyVersioning$
|
|
435
|
+
let AuroDependencyVersioning$2 = class AuroDependencyVersioning {
|
|
364
436
|
|
|
365
437
|
/**
|
|
366
438
|
* Generates a unique string to be used for child auro element naming.
|
|
@@ -386,7 +458,7 @@ let AuroDependencyVersioning$1 = class AuroDependencyVersioning {
|
|
|
386
458
|
*/
|
|
387
459
|
generateTag(baseName, version, tagClass) {
|
|
388
460
|
const elementName = this.generateElementName(baseName, version);
|
|
389
|
-
const tag = i$
|
|
461
|
+
const tag = i$b`${s$6(elementName)}`;
|
|
390
462
|
|
|
391
463
|
if (!customElements.get(elementName)) {
|
|
392
464
|
customElements.define(elementName, class extends tagClass {});
|
|
@@ -401,33 +473,33 @@ let AuroDependencyVersioning$1 = class AuroDependencyVersioning {
|
|
|
401
473
|
* Copyright 2017 Google LLC
|
|
402
474
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
403
475
|
*/
|
|
404
|
-
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};
|
|
405
477
|
|
|
406
478
|
/**
|
|
407
479
|
* @license
|
|
408
480
|
* Copyright 2020 Google LLC
|
|
409
481
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
410
482
|
*/
|
|
411
|
-
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);
|
|
412
484
|
|
|
413
485
|
/**
|
|
414
486
|
* @license
|
|
415
487
|
* Copyright 2019 Google LLC
|
|
416
488
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
417
489
|
*/
|
|
418
|
-
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;
|
|
419
491
|
|
|
420
492
|
/**
|
|
421
493
|
* @license
|
|
422
494
|
* Copyright 2017 Google LLC
|
|
423
495
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
424
|
-
*/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");
|
|
425
497
|
|
|
426
498
|
/**
|
|
427
499
|
* @license
|
|
428
500
|
* Copyright 2017 Google LLC
|
|
429
501
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
430
|
-
*/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");
|
|
431
503
|
|
|
432
504
|
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
433
505
|
// See LICENSE in the project root for license information.
|
|
@@ -436,7 +508,7 @@ const t$1=globalThis,e$3=t$1.ShadowRoot&&(void 0===t$1.ShadyCSS||t$1.ShadyCSS.na
|
|
|
436
508
|
|
|
437
509
|
/* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
|
|
438
510
|
|
|
439
|
-
class AuroLibraryRuntimeUtils {
|
|
511
|
+
let AuroLibraryRuntimeUtils$1 = class AuroLibraryRuntimeUtils {
|
|
440
512
|
|
|
441
513
|
/* eslint-disable jsdoc/require-param */
|
|
442
514
|
|
|
@@ -497,7 +569,7 @@ class AuroLibraryRuntimeUtils {
|
|
|
497
569
|
|
|
498
570
|
return elemTag === tag || elem.hasAttribute(tag);
|
|
499
571
|
}
|
|
500
|
-
}
|
|
572
|
+
};
|
|
501
573
|
|
|
502
574
|
/**
|
|
503
575
|
* Custom positioning reference element.
|
|
@@ -547,7 +619,7 @@ function getAlignmentAxis(placement) {
|
|
|
547
619
|
return getOppositeAxis(getSideAxis(placement));
|
|
548
620
|
}
|
|
549
621
|
function getAlignmentSides(placement, rects, rtl) {
|
|
550
|
-
if (rtl ===
|
|
622
|
+
if (rtl === undefined) {
|
|
551
623
|
rtl = false;
|
|
552
624
|
}
|
|
553
625
|
const alignment = getAlignment(placement);
|
|
@@ -704,7 +776,7 @@ const computePosition$1 = async (reference, floating, config) => {
|
|
|
704
776
|
platform
|
|
705
777
|
} = config;
|
|
706
778
|
const validMiddleware = middleware.filter(Boolean);
|
|
707
|
-
const rtl = await (platform.isRTL == null ?
|
|
779
|
+
const rtl = await (platform.isRTL == null ? undefined : platform.isRTL(floating));
|
|
708
780
|
let rects = await platform.getElementRects({
|
|
709
781
|
reference,
|
|
710
782
|
floating,
|
|
@@ -790,7 +862,7 @@ const computePosition$1 = async (reference, floating, config) => {
|
|
|
790
862
|
*/
|
|
791
863
|
async function detectOverflow(state, options) {
|
|
792
864
|
var _await$platform$isEle;
|
|
793
|
-
if (options ===
|
|
865
|
+
if (options === undefined) {
|
|
794
866
|
options = {};
|
|
795
867
|
}
|
|
796
868
|
const {
|
|
@@ -812,7 +884,7 @@ async function detectOverflow(state, options) {
|
|
|
812
884
|
const altContext = elementContext === 'floating' ? 'reference' : 'floating';
|
|
813
885
|
const element = elements[altBoundary ? altContext : elementContext];
|
|
814
886
|
const clippingClientRect = rectToClientRect(await platform.getClippingRect({
|
|
815
|
-
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))),
|
|
816
888
|
boundary,
|
|
817
889
|
rootBoundary,
|
|
818
890
|
strategy
|
|
@@ -823,8 +895,8 @@ async function detectOverflow(state, options) {
|
|
|
823
895
|
width: rects.floating.width,
|
|
824
896
|
height: rects.floating.height
|
|
825
897
|
} : rects.reference;
|
|
826
|
-
const offsetParent = await (platform.getOffsetParent == null ?
|
|
827
|
-
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))) || {
|
|
828
900
|
x: 1,
|
|
829
901
|
y: 1
|
|
830
902
|
} : {
|
|
@@ -861,7 +933,7 @@ function getPlacementList(alignment, autoAlignment, allowedPlacements) {
|
|
|
861
933
|
* @see https://floating-ui.com/docs/autoPlacement
|
|
862
934
|
*/
|
|
863
935
|
const autoPlacement$1 = function (options) {
|
|
864
|
-
if (options ===
|
|
936
|
+
if (options === undefined) {
|
|
865
937
|
options = {};
|
|
866
938
|
}
|
|
867
939
|
return {
|
|
@@ -885,12 +957,12 @@ const autoPlacement$1 = function (options) {
|
|
|
885
957
|
} = evaluate(options, state);
|
|
886
958
|
const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;
|
|
887
959
|
const overflow = await detectOverflow(state, detectOverflowOptions);
|
|
888
|
-
const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ?
|
|
960
|
+
const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? undefined : _middlewareData$autoP.index) || 0;
|
|
889
961
|
const currentPlacement = placements$1[currentIndex];
|
|
890
962
|
if (currentPlacement == null) {
|
|
891
963
|
return {};
|
|
892
964
|
}
|
|
893
|
-
const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ?
|
|
965
|
+
const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? undefined : platform.isRTL(elements.floating)));
|
|
894
966
|
|
|
895
967
|
// Make `computeCoords` start from the right place.
|
|
896
968
|
if (placement !== currentPlacement) {
|
|
@@ -901,7 +973,7 @@ const autoPlacement$1 = function (options) {
|
|
|
901
973
|
};
|
|
902
974
|
}
|
|
903
975
|
const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];
|
|
904
|
-
const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ?
|
|
976
|
+
const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? undefined : _middlewareData$autoP2.overflows) || []), {
|
|
905
977
|
placement: currentPlacement,
|
|
906
978
|
overflows: currentOverflows
|
|
907
979
|
}];
|
|
@@ -931,7 +1003,7 @@ const autoPlacement$1 = function (options) {
|
|
|
931
1003
|
// Aligned placements should not check their opposite crossAxis
|
|
932
1004
|
// side.
|
|
933
1005
|
getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));
|
|
934
|
-
const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ?
|
|
1006
|
+
const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? undefined : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];
|
|
935
1007
|
if (resetPlacement !== placement) {
|
|
936
1008
|
return {
|
|
937
1009
|
data: {
|
|
@@ -955,7 +1027,7 @@ const autoPlacement$1 = function (options) {
|
|
|
955
1027
|
* @see https://floating-ui.com/docs/flip
|
|
956
1028
|
*/
|
|
957
1029
|
const flip$1 = function (options) {
|
|
958
|
-
if (options ===
|
|
1030
|
+
if (options === undefined) {
|
|
959
1031
|
options = {};
|
|
960
1032
|
}
|
|
961
1033
|
return {
|
|
@@ -991,7 +1063,7 @@ const flip$1 = function (options) {
|
|
|
991
1063
|
const side = getSide(placement);
|
|
992
1064
|
const initialSideAxis = getSideAxis(initialPlacement);
|
|
993
1065
|
const isBasePlacement = getSide(initialPlacement) === initialPlacement;
|
|
994
|
-
const rtl = await (platform.isRTL == null ?
|
|
1066
|
+
const rtl = await (platform.isRTL == null ? undefined : platform.isRTL(elements.floating));
|
|
995
1067
|
const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));
|
|
996
1068
|
const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';
|
|
997
1069
|
if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {
|
|
@@ -1000,7 +1072,7 @@ const flip$1 = function (options) {
|
|
|
1000
1072
|
const placements = [initialPlacement, ...fallbackPlacements];
|
|
1001
1073
|
const overflow = await detectOverflow(state, detectOverflowOptions);
|
|
1002
1074
|
const overflows = [];
|
|
1003
|
-
let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ?
|
|
1075
|
+
let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? undefined : _middlewareData$flip.overflows) || [];
|
|
1004
1076
|
if (checkMainAxis) {
|
|
1005
1077
|
overflows.push(overflow[side]);
|
|
1006
1078
|
}
|
|
@@ -1016,7 +1088,7 @@ const flip$1 = function (options) {
|
|
|
1016
1088
|
// One or more sides is overflowing.
|
|
1017
1089
|
if (!overflows.every(side => side <= 0)) {
|
|
1018
1090
|
var _middlewareData$flip2, _overflowsData$filter;
|
|
1019
|
-
const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ?
|
|
1091
|
+
const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? undefined : _middlewareData$flip2.index) || 0) + 1;
|
|
1020
1092
|
const nextPlacement = placements[nextIndex];
|
|
1021
1093
|
if (nextPlacement) {
|
|
1022
1094
|
// Try next placement and re-run the lifecycle.
|
|
@@ -1033,7 +1105,7 @@ const flip$1 = function (options) {
|
|
|
1033
1105
|
|
|
1034
1106
|
// First, find the candidates that fit on the mainAxis side of overflow,
|
|
1035
1107
|
// then find the placement that fits the best on the main crossAxis side.
|
|
1036
|
-
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;
|
|
1037
1109
|
|
|
1038
1110
|
// Otherwise fallback.
|
|
1039
1111
|
if (!resetPlacement) {
|
|
@@ -1050,7 +1122,7 @@ const flip$1 = function (options) {
|
|
|
1050
1122
|
currentSideAxis === 'y';
|
|
1051
1123
|
}
|
|
1052
1124
|
return true;
|
|
1053
|
-
}).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];
|
|
1054
1126
|
if (placement) {
|
|
1055
1127
|
resetPlacement = placement;
|
|
1056
1128
|
}
|
|
@@ -1083,7 +1155,7 @@ async function convertValueToCoords(state, options) {
|
|
|
1083
1155
|
platform,
|
|
1084
1156
|
elements
|
|
1085
1157
|
} = state;
|
|
1086
|
-
const rtl = await (platform.isRTL == null ?
|
|
1158
|
+
const rtl = await (platform.isRTL == null ? undefined : platform.isRTL(elements.floating));
|
|
1087
1159
|
const side = getSide(placement);
|
|
1088
1160
|
const alignment = getAlignment(placement);
|
|
1089
1161
|
const isVertical = getSideAxis(placement) === 'y';
|
|
@@ -1125,7 +1197,7 @@ async function convertValueToCoords(state, options) {
|
|
|
1125
1197
|
* @see https://floating-ui.com/docs/offset
|
|
1126
1198
|
*/
|
|
1127
1199
|
const offset$1 = function (options) {
|
|
1128
|
-
if (options ===
|
|
1200
|
+
if (options === undefined) {
|
|
1129
1201
|
options = 0;
|
|
1130
1202
|
}
|
|
1131
1203
|
return {
|
|
@@ -1143,7 +1215,7 @@ const offset$1 = function (options) {
|
|
|
1143
1215
|
|
|
1144
1216
|
// If the placement is the same and the arrow caused an alignment offset
|
|
1145
1217
|
// then we don't need to change the positioning coordinates.
|
|
1146
|
-
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) {
|
|
1147
1219
|
return {};
|
|
1148
1220
|
}
|
|
1149
1221
|
return {
|
|
@@ -1172,11 +1244,11 @@ function getNodeName(node) {
|
|
|
1172
1244
|
}
|
|
1173
1245
|
function getWindow(node) {
|
|
1174
1246
|
var _node$ownerDocument;
|
|
1175
|
-
return (node == null || (_node$ownerDocument = node.ownerDocument) == null ?
|
|
1247
|
+
return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? undefined : _node$ownerDocument.defaultView) || window;
|
|
1176
1248
|
}
|
|
1177
1249
|
function getDocumentElement(node) {
|
|
1178
1250
|
var _ref;
|
|
1179
|
-
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;
|
|
1180
1252
|
}
|
|
1181
1253
|
function isNode(value) {
|
|
1182
1254
|
if (!hasWindow()) {
|
|
@@ -1291,14 +1363,14 @@ function getNearestOverflowAncestor(node) {
|
|
|
1291
1363
|
}
|
|
1292
1364
|
function getOverflowAncestors(node, list, traverseIframes) {
|
|
1293
1365
|
var _node$ownerDocument2;
|
|
1294
|
-
if (list ===
|
|
1366
|
+
if (list === undefined) {
|
|
1295
1367
|
list = [];
|
|
1296
1368
|
}
|
|
1297
|
-
if (traverseIframes ===
|
|
1369
|
+
if (traverseIframes === undefined) {
|
|
1298
1370
|
traverseIframes = true;
|
|
1299
1371
|
}
|
|
1300
1372
|
const scrollableAncestor = getNearestOverflowAncestor(node);
|
|
1301
|
-
const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ?
|
|
1373
|
+
const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? undefined : _node$ownerDocument2.body);
|
|
1302
1374
|
const win = getWindow(scrollableAncestor);
|
|
1303
1375
|
if (isBody) {
|
|
1304
1376
|
const frameElement = getFrameElement(win);
|
|
@@ -1375,7 +1447,7 @@ function getVisualOffsets(element) {
|
|
|
1375
1447
|
};
|
|
1376
1448
|
}
|
|
1377
1449
|
function shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {
|
|
1378
|
-
if (isFixed ===
|
|
1450
|
+
if (isFixed === undefined) {
|
|
1379
1451
|
isFixed = false;
|
|
1380
1452
|
}
|
|
1381
1453
|
if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {
|
|
@@ -1385,10 +1457,10 @@ function shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {
|
|
|
1385
1457
|
}
|
|
1386
1458
|
|
|
1387
1459
|
function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {
|
|
1388
|
-
if (includeScale ===
|
|
1460
|
+
if (includeScale === undefined) {
|
|
1389
1461
|
includeScale = false;
|
|
1390
1462
|
}
|
|
1391
|
-
if (isFixedStrategy ===
|
|
1463
|
+
if (isFixedStrategy === undefined) {
|
|
1392
1464
|
isFixedStrategy = false;
|
|
1393
1465
|
}
|
|
1394
1466
|
const clientRect = element.getBoundingClientRect();
|
|
@@ -1448,7 +1520,7 @@ function getWindowScrollBarX(element, rect) {
|
|
|
1448
1520
|
}
|
|
1449
1521
|
|
|
1450
1522
|
function getHTMLOffset(documentElement, scroll, ignoreScrollbarX) {
|
|
1451
|
-
if (ignoreScrollbarX ===
|
|
1523
|
+
if (ignoreScrollbarX === undefined) {
|
|
1452
1524
|
ignoreScrollbarX = false;
|
|
1453
1525
|
}
|
|
1454
1526
|
const htmlRect = documentElement.getBoundingClientRect();
|
|
@@ -1798,10 +1870,10 @@ function observeMove(element, onMove) {
|
|
|
1798
1870
|
io = null;
|
|
1799
1871
|
}
|
|
1800
1872
|
function refresh(skip, threshold) {
|
|
1801
|
-
if (skip ===
|
|
1873
|
+
if (skip === undefined) {
|
|
1802
1874
|
skip = false;
|
|
1803
1875
|
}
|
|
1804
|
-
if (threshold ===
|
|
1876
|
+
if (threshold === undefined) {
|
|
1805
1877
|
threshold = 1;
|
|
1806
1878
|
}
|
|
1807
1879
|
cleanup();
|
|
@@ -1872,7 +1944,7 @@ function observeMove(element, onMove) {
|
|
|
1872
1944
|
* @see https://floating-ui.com/docs/autoUpdate
|
|
1873
1945
|
*/
|
|
1874
1946
|
function autoUpdate(reference, floating, update, options) {
|
|
1875
|
-
if (options ===
|
|
1947
|
+
if (options === undefined) {
|
|
1876
1948
|
options = {};
|
|
1877
1949
|
}
|
|
1878
1950
|
const {
|
|
@@ -2088,7 +2160,7 @@ class AuroFloatingUI {
|
|
|
2088
2160
|
// Compute the position of the bib
|
|
2089
2161
|
computePosition(this.element.trigger, this.element.bib, {
|
|
2090
2162
|
placement: this.element.floaterConfig.placement || 'bottom',
|
|
2091
|
-
middleware: middleware
|
|
2163
|
+
middleware: middleware
|
|
2092
2164
|
}).then(({x, y}) => { // eslint-disable-line id-length
|
|
2093
2165
|
Object.assign(this.element.bib.style, {
|
|
2094
2166
|
left: `${x}px`,
|
|
@@ -2385,7 +2457,7 @@ class AuroFloatingUI {
|
|
|
2385
2457
|
// See LICENSE in the project root for license information.
|
|
2386
2458
|
|
|
2387
2459
|
|
|
2388
|
-
class AuroDependencyVersioning {
|
|
2460
|
+
let AuroDependencyVersioning$1 = class AuroDependencyVersioning {
|
|
2389
2461
|
|
|
2390
2462
|
/**
|
|
2391
2463
|
* Generates a unique string to be used for child auro element naming.
|
|
@@ -2411,7 +2483,7 @@ class AuroDependencyVersioning {
|
|
|
2411
2483
|
*/
|
|
2412
2484
|
generateTag(baseName, version, tagClass) {
|
|
2413
2485
|
const elementName = this.generateElementName(baseName, version);
|
|
2414
|
-
const tag = i$
|
|
2486
|
+
const tag = i$8`${s$3(elementName)}`;
|
|
2415
2487
|
|
|
2416
2488
|
if (!customElements.get(elementName)) {
|
|
2417
2489
|
customElements.define(elementName, class extends tagClass {});
|
|
@@ -2419,26 +2491,26 @@ class AuroDependencyVersioning {
|
|
|
2419
2491
|
|
|
2420
2492
|
return tag;
|
|
2421
2493
|
}
|
|
2422
|
-
}
|
|
2494
|
+
};
|
|
2423
2495
|
|
|
2424
2496
|
/**
|
|
2425
2497
|
* @license
|
|
2426
2498
|
* Copyright 2017 Google LLC
|
|
2427
2499
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
2428
2500
|
*/
|
|
2429
|
-
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)}}
|
|
2501
|
+
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)}};
|
|
2430
2502
|
|
|
2431
2503
|
/**
|
|
2432
2504
|
* @license
|
|
2433
2505
|
* Copyright 2018 Google LLC
|
|
2434
2506
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
2435
|
-
*/const e=e$1(class extends i{constructor(t
|
|
2507
|
+
*/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}});
|
|
2436
2508
|
|
|
2437
2509
|
/**
|
|
2438
2510
|
* @license
|
|
2439
2511
|
* Copyright 2018 Google LLC
|
|
2440
2512
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
2441
|
-
*/const o=o=>o??E;
|
|
2513
|
+
*/const o$3$1=o=>o??E$1;
|
|
2442
2514
|
|
|
2443
2515
|
// Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
2444
2516
|
// See LICENSE in the project root for license information.
|
|
@@ -2450,7 +2522,7 @@ const t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e
|
|
|
2450
2522
|
* @attr {Boolean} hiddenAudible - If present, the component will be hidden from screen readers, but seen visually
|
|
2451
2523
|
*/
|
|
2452
2524
|
|
|
2453
|
-
class AuroElement extends r {
|
|
2525
|
+
let AuroElement$1 = class AuroElement extends r$4 {
|
|
2454
2526
|
|
|
2455
2527
|
// function to define props used within the scope of this component
|
|
2456
2528
|
static get properties() {
|
|
@@ -2474,13 +2546,13 @@ class AuroElement extends r {
|
|
|
2474
2546
|
|
|
2475
2547
|
return 'false'
|
|
2476
2548
|
}
|
|
2477
|
-
}
|
|
2549
|
+
};
|
|
2478
2550
|
|
|
2479
|
-
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>"};
|
|
2551
|
+
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>"};
|
|
2480
2552
|
|
|
2481
2553
|
/* eslint-disable no-underscore-dangle, jsdoc/no-undefined-types, jsdoc/require-param-description */
|
|
2482
2554
|
|
|
2483
|
-
const _fetchMap = new Map();
|
|
2555
|
+
const _fetchMap$1 = new Map();
|
|
2484
2556
|
|
|
2485
2557
|
/**
|
|
2486
2558
|
* A callback to parse Response body.
|
|
@@ -2498,15 +2570,15 @@ const _fetchMap = new Map();
|
|
|
2498
2570
|
* @param {ResponseParser} [options.responseParser=(response) => response.text()]
|
|
2499
2571
|
* @returns {Promise}
|
|
2500
2572
|
*/
|
|
2501
|
-
const cacheFetch = (uri, options = {}) => {
|
|
2573
|
+
const cacheFetch$1 = (uri, options = {}) => {
|
|
2502
2574
|
const responseParser = options.responseParser || ((response) => response.text());
|
|
2503
|
-
if (!_fetchMap.has(uri)) {
|
|
2504
|
-
_fetchMap.set(uri, fetch(uri).then(responseParser));
|
|
2575
|
+
if (!_fetchMap$1.has(uri)) {
|
|
2576
|
+
_fetchMap$1.set(uri, fetch(uri).then(responseParser));
|
|
2505
2577
|
}
|
|
2506
|
-
return _fetchMap.get(uri);
|
|
2578
|
+
return _fetchMap$1.get(uri);
|
|
2507
2579
|
};
|
|
2508
2580
|
|
|
2509
|
-
var styleCss$
|
|
2581
|
+
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}`;
|
|
2510
2582
|
|
|
2511
2583
|
// Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
2512
2584
|
// See LICENSE in the project root for license information.
|
|
@@ -2519,7 +2591,7 @@ var styleCss$2 = i$3`*,*:before,*:after{box-sizing:border-box}@media(prefers-red
|
|
|
2519
2591
|
*/
|
|
2520
2592
|
|
|
2521
2593
|
// build the component class
|
|
2522
|
-
class BaseIcon extends AuroElement {
|
|
2594
|
+
let BaseIcon$1 = class BaseIcon extends AuroElement$1 {
|
|
2523
2595
|
constructor() {
|
|
2524
2596
|
super();
|
|
2525
2597
|
this.onDark = false;
|
|
@@ -2545,8 +2617,8 @@ class BaseIcon extends AuroElement {
|
|
|
2545
2617
|
}
|
|
2546
2618
|
|
|
2547
2619
|
static get styles() {
|
|
2548
|
-
return i$
|
|
2549
|
-
${styleCss$
|
|
2620
|
+
return i$7`
|
|
2621
|
+
${styleCss$3$1}
|
|
2550
2622
|
`;
|
|
2551
2623
|
}
|
|
2552
2624
|
|
|
@@ -2561,9 +2633,9 @@ class BaseIcon extends AuroElement {
|
|
|
2561
2633
|
let iconHTML = '';
|
|
2562
2634
|
|
|
2563
2635
|
if (category === 'logos') {
|
|
2564
|
-
iconHTML = await cacheFetch(`${this.uri}/${category}/${name}.svg`);
|
|
2636
|
+
iconHTML = await cacheFetch$1(`${this.uri}/${category}/${name}.svg`);
|
|
2565
2637
|
} else {
|
|
2566
|
-
iconHTML = await cacheFetch(`${this.uri}/icons/${category}/${name}.svg`);
|
|
2638
|
+
iconHTML = await cacheFetch$1(`${this.uri}/icons/${category}/${name}.svg`);
|
|
2567
2639
|
}
|
|
2568
2640
|
|
|
2569
2641
|
const dom = new DOMParser().parseFromString(iconHTML, 'text/html');
|
|
@@ -2579,17 +2651,17 @@ class BaseIcon extends AuroElement {
|
|
|
2579
2651
|
if (svg) {
|
|
2580
2652
|
this.svg = svg;
|
|
2581
2653
|
} else if (!svg) {
|
|
2582
|
-
const penDOM = new DOMParser().parseFromString(error.svg, 'text/html');
|
|
2654
|
+
const penDOM = new DOMParser().parseFromString(error$1.svg, 'text/html');
|
|
2583
2655
|
|
|
2584
2656
|
this.svg = penDOM.body.firstChild;
|
|
2585
2657
|
}
|
|
2586
2658
|
}
|
|
2587
2659
|
}
|
|
2588
|
-
}
|
|
2660
|
+
};
|
|
2589
2661
|
|
|
2590
|
-
var tokensCss$1 = i$
|
|
2662
|
+
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)}`;
|
|
2591
2663
|
|
|
2592
|
-
var colorCss$
|
|
2664
|
+
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)}`;
|
|
2593
2665
|
|
|
2594
2666
|
// Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
2595
2667
|
// See LICENSE in the project root for license information.
|
|
@@ -2622,7 +2694,7 @@ var colorCss$2 = i$3`:host{color:var(--ds-auro-icon-color)}:host([customColor]){
|
|
|
2622
2694
|
*/
|
|
2623
2695
|
|
|
2624
2696
|
// build the component class
|
|
2625
|
-
class AuroIcon extends BaseIcon {
|
|
2697
|
+
let AuroIcon$1 = class AuroIcon extends BaseIcon$1 {
|
|
2626
2698
|
constructor() {
|
|
2627
2699
|
super();
|
|
2628
2700
|
|
|
@@ -2651,7 +2723,7 @@ class AuroIcon extends BaseIcon {
|
|
|
2651
2723
|
this.success = false;
|
|
2652
2724
|
this.tertiary = false;
|
|
2653
2725
|
this.warning = false;
|
|
2654
|
-
this.runtimeUtils = new AuroLibraryRuntimeUtils();
|
|
2726
|
+
this.runtimeUtils = new AuroLibraryRuntimeUtils$1();
|
|
2655
2727
|
}
|
|
2656
2728
|
|
|
2657
2729
|
// function to define props used within the scope of this component
|
|
@@ -2733,9 +2805,9 @@ class AuroIcon extends BaseIcon {
|
|
|
2733
2805
|
static get styles() {
|
|
2734
2806
|
return [
|
|
2735
2807
|
super.styles,
|
|
2736
|
-
i$
|
|
2737
|
-
i$
|
|
2738
|
-
i$
|
|
2808
|
+
i$7`${tokensCss$2$1}`,
|
|
2809
|
+
i$7`${styleCss$3$1}`,
|
|
2810
|
+
i$7`${colorCss$3$1}`
|
|
2739
2811
|
];
|
|
2740
2812
|
}
|
|
2741
2813
|
|
|
@@ -2748,7 +2820,7 @@ class AuroIcon extends BaseIcon {
|
|
|
2748
2820
|
*
|
|
2749
2821
|
*/
|
|
2750
2822
|
static register(name = "auro-icon") {
|
|
2751
|
-
AuroLibraryRuntimeUtils.prototype.registerComponent(name, AuroIcon);
|
|
2823
|
+
AuroLibraryRuntimeUtils$1.prototype.registerComponent(name, AuroIcon);
|
|
2752
2824
|
}
|
|
2753
2825
|
|
|
2754
2826
|
connectedCallback() {
|
|
@@ -2777,149 +2849,366 @@ class AuroIcon extends BaseIcon {
|
|
|
2777
2849
|
'wrapper': true,
|
|
2778
2850
|
};
|
|
2779
2851
|
|
|
2780
|
-
return x`
|
|
2852
|
+
return x$1`
|
|
2781
2853
|
<div
|
|
2782
|
-
class="${e(classes)}"
|
|
2783
|
-
title="${o(this.title || undefined)}">
|
|
2784
|
-
<span aria-hidden="${o(this.ariaHidden ? this.ariaHidden : true)}" part="svg">
|
|
2785
|
-
${this.customSvg ? x`
|
|
2854
|
+
class="${e$3$1(classes)}"
|
|
2855
|
+
title="${o$3$1(this.title || undefined)}">
|
|
2856
|
+
<span aria-hidden="${o$3$1(this.ariaHidden ? this.ariaHidden : true)}" part="svg">
|
|
2857
|
+
${this.customSvg ? x$1`
|
|
2786
2858
|
<slot name="svg"></slot>
|
|
2787
|
-
` : x`
|
|
2859
|
+
` : x$1`
|
|
2788
2860
|
${this.svg}
|
|
2789
2861
|
`
|
|
2790
2862
|
}
|
|
2791
2863
|
</span>
|
|
2792
2864
|
|
|
2793
|
-
<div class="${e(a11y)}">
|
|
2865
|
+
<div class="${e$3$1(a11y)}">
|
|
2794
2866
|
<slot></slot>
|
|
2795
2867
|
</div>
|
|
2796
2868
|
</div>
|
|
2797
2869
|
`;
|
|
2798
2870
|
}
|
|
2799
|
-
}
|
|
2871
|
+
};
|
|
2800
2872
|
|
|
2801
|
-
var iconVersion = '6.1.2';
|
|
2873
|
+
var iconVersion$1 = '6.1.2';
|
|
2874
|
+
|
|
2875
|
+
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;border-width:1px;border-style:solid}@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)}`;
|
|
2876
|
+
|
|
2877
|
+
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)}.trigger:focus-within,.trigger:active{--ds-auro-dropdown-trigger-border-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);outline:1px solid 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)}`;
|
|
2802
2878
|
|
|
2803
|
-
var
|
|
2879
|
+
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-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)}`;
|
|
2880
|
+
|
|
2881
|
+
/**
|
|
2882
|
+
* @license
|
|
2883
|
+
* Copyright 2019 Google LLC
|
|
2884
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
2885
|
+
*/
|
|
2886
|
+
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;
|
|
2804
2887
|
|
|
2805
|
-
|
|
2888
|
+
/**
|
|
2889
|
+
* @license
|
|
2890
|
+
* Copyright 2017 Google LLC
|
|
2891
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
2892
|
+
*/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");
|
|
2806
2893
|
|
|
2807
|
-
|
|
2894
|
+
/**
|
|
2895
|
+
* @license
|
|
2896
|
+
* Copyright 2017 Google LLC
|
|
2897
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
2898
|
+
*/
|
|
2899
|
+
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};
|
|
2808
2900
|
|
|
2809
|
-
|
|
2901
|
+
/**
|
|
2902
|
+
* @license
|
|
2903
|
+
* Copyright 2017 Google LLC
|
|
2904
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
2905
|
+
*/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");
|
|
2810
2906
|
|
|
2811
|
-
var colorCss$
|
|
2907
|
+
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)}`;
|
|
2812
2908
|
|
|
2813
|
-
|
|
2909
|
+
var styleCss$1$1 = i$3$1`.helptext-wrapper{display:none;margin-top:var(--ds-size-50, 0.25rem);margin-bottom:0;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(p){margin-block:0}`;
|
|
2910
|
+
|
|
2911
|
+
var tokensCss$3 = i$3$1`:host{--ds-auro-helptext-color: var(--ds-color-text-tertiary-default, #6a717c)}`;
|
|
2912
|
+
|
|
2913
|
+
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
2814
2914
|
// See LICENSE in the project root for license information.
|
|
2815
2915
|
|
|
2916
|
+
// ---------------------------------------------------------------------
|
|
2816
2917
|
|
|
2918
|
+
/* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
|
|
2919
|
+
|
|
2920
|
+
let AuroLibraryRuntimeUtils$2 = class AuroLibraryRuntimeUtils {
|
|
2921
|
+
|
|
2922
|
+
/* eslint-disable jsdoc/require-param */
|
|
2923
|
+
|
|
2924
|
+
/**
|
|
2925
|
+
* This will register a new custom element with the browser.
|
|
2926
|
+
* @param {String} name - The name of the custom element.
|
|
2927
|
+
* @param {Object} componentClass - The class to register as a custom element.
|
|
2928
|
+
* @returns {void}
|
|
2929
|
+
*/
|
|
2930
|
+
registerComponent(name, componentClass) {
|
|
2931
|
+
if (!customElements.get(name)) {
|
|
2932
|
+
customElements.define(name, class extends componentClass {});
|
|
2933
|
+
}
|
|
2934
|
+
}
|
|
2935
|
+
|
|
2936
|
+
/**
|
|
2937
|
+
* Finds and returns the closest HTML Element based on a selector.
|
|
2938
|
+
* @returns {void}
|
|
2939
|
+
*/
|
|
2940
|
+
closestElement(
|
|
2941
|
+
selector, // selector like in .closest()
|
|
2942
|
+
base = this, // extra functionality to skip a parent
|
|
2943
|
+
__Closest = (el, found = el && el.closest(selector)) =>
|
|
2944
|
+
!el || el === document || el === window
|
|
2945
|
+
? null // standard .closest() returns null for non-found selectors also
|
|
2946
|
+
: found
|
|
2947
|
+
? found // found a selector INside this element
|
|
2948
|
+
: __Closest(el.getRootNode().host) // recursion!! break out to parent DOM
|
|
2949
|
+
) {
|
|
2950
|
+
return __Closest(base);
|
|
2951
|
+
}
|
|
2952
|
+
/* eslint-enable jsdoc/require-param */
|
|
2953
|
+
|
|
2954
|
+
/**
|
|
2955
|
+
* 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.
|
|
2956
|
+
* @param {Object} elem - The element to check.
|
|
2957
|
+
* @param {String} tagName - The name of the Auro component to check for or add as an attribute.
|
|
2958
|
+
* @returns {void}
|
|
2959
|
+
*/
|
|
2960
|
+
handleComponentTagRename(elem, tagName) {
|
|
2961
|
+
const tag = tagName.toLowerCase();
|
|
2962
|
+
const elemTag = elem.tagName.toLowerCase();
|
|
2963
|
+
|
|
2964
|
+
if (elemTag !== tag) {
|
|
2965
|
+
elem.setAttribute(tag, true);
|
|
2966
|
+
}
|
|
2967
|
+
}
|
|
2968
|
+
|
|
2969
|
+
/**
|
|
2970
|
+
* Validates if an element is a specific Auro component.
|
|
2971
|
+
* @param {Object} elem - The element to validate.
|
|
2972
|
+
* @param {String} tagName - The name of the Auro component to check against.
|
|
2973
|
+
* @returns {Boolean} - Returns true if the element is the specified Auro component.
|
|
2974
|
+
*/
|
|
2975
|
+
elementMatch(elem, tagName) {
|
|
2976
|
+
const tag = tagName.toLowerCase();
|
|
2977
|
+
const elemTag = elem.tagName.toLowerCase();
|
|
2978
|
+
|
|
2979
|
+
return elemTag === tag || elem.hasAttribute(tag);
|
|
2980
|
+
}
|
|
2981
|
+
};
|
|
2982
|
+
|
|
2983
|
+
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
2984
|
+
// See LICENSE in the project root for license information.
|
|
2817
2985
|
|
|
2818
|
-
const DESIGN_TOKEN_BREAKPOINT_PREFIX = '--ds-grid-breakpoint-';
|
|
2819
|
-
const DESIGN_TOKEN_BREAKPOINT_OPTIONS = [
|
|
2820
|
-
'lg',
|
|
2821
|
-
'md',
|
|
2822
|
-
'sm',
|
|
2823
|
-
'xs',
|
|
2824
|
-
];
|
|
2825
2986
|
|
|
2826
2987
|
/**
|
|
2827
|
-
*
|
|
2828
|
-
*
|
|
2829
|
-
* @attr { Boolean }
|
|
2830
|
-
* @prop { String } mobileFullscreenBreakpoint - 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.
|
|
2831
|
-
* @csspart bibContainer - Apply css to the bib container.
|
|
2988
|
+
* Displays help text or error messages within form elements - Internal Use Only.
|
|
2989
|
+
*
|
|
2990
|
+
* @attr { Boolean } large - If declared, make font-size to 1rem(16px).
|
|
2832
2991
|
*/
|
|
2833
|
-
|
|
2834
|
-
class AuroDropdownBib extends r {
|
|
2992
|
+
class AuroHelpText extends r$8 {
|
|
2835
2993
|
|
|
2836
2994
|
constructor() {
|
|
2837
2995
|
super();
|
|
2838
2996
|
|
|
2839
|
-
|
|
2840
|
-
|
|
2841
|
-
*/
|
|
2842
|
-
this._mobileBreakpointValue = undefined;
|
|
2997
|
+
this.error = false;
|
|
2998
|
+
this.hasTextContent = false;
|
|
2843
2999
|
}
|
|
2844
3000
|
|
|
2845
3001
|
static get styles() {
|
|
2846
3002
|
return [
|
|
2847
|
-
|
|
2848
|
-
|
|
2849
|
-
tokensCss$
|
|
3003
|
+
colorCss$1$1,
|
|
3004
|
+
styleCss$1$1,
|
|
3005
|
+
tokensCss$3
|
|
2850
3006
|
];
|
|
2851
3007
|
}
|
|
2852
3008
|
|
|
3009
|
+
// function to define props used within the scope of this component
|
|
2853
3010
|
static get properties() {
|
|
2854
3011
|
return {
|
|
2855
|
-
|
|
3012
|
+
|
|
3013
|
+
/**
|
|
3014
|
+
* @private
|
|
3015
|
+
*/
|
|
3016
|
+
slotNodes: {
|
|
2856
3017
|
type: Boolean,
|
|
2857
|
-
reflect: true
|
|
2858
3018
|
},
|
|
2859
|
-
|
|
3019
|
+
|
|
3020
|
+
/**
|
|
3021
|
+
* @private
|
|
3022
|
+
*/
|
|
3023
|
+
hasTextContent: {
|
|
2860
3024
|
type: Boolean,
|
|
2861
|
-
reflect: true
|
|
2862
3025
|
},
|
|
2863
|
-
|
|
3026
|
+
|
|
3027
|
+
/**
|
|
3028
|
+
* If declared, make font color red.
|
|
3029
|
+
*/
|
|
3030
|
+
error: {
|
|
2864
3031
|
type: Boolean,
|
|
2865
|
-
reflect: true
|
|
3032
|
+
reflect: true,
|
|
2866
3033
|
},
|
|
2867
3034
|
};
|
|
2868
3035
|
}
|
|
2869
3036
|
|
|
2870
|
-
|
|
2871
|
-
|
|
2872
|
-
|
|
2873
|
-
|
|
2874
|
-
|
|
2875
|
-
|
|
2876
|
-
|
|
2877
|
-
|
|
2878
|
-
|
|
3037
|
+
/**
|
|
3038
|
+
* This will register this element with the browser.
|
|
3039
|
+
* @param {string} [name="auro-helptext"] - The name of element that you want to register to.
|
|
3040
|
+
*
|
|
3041
|
+
* @example
|
|
3042
|
+
* AuroCheckbox.register("custom-helptext") // this will register this element to <custom-helptext/>
|
|
3043
|
+
*
|
|
3044
|
+
*/
|
|
3045
|
+
static register(name = "auro-helptext") {
|
|
3046
|
+
AuroLibraryRuntimeUtils$2.prototype.registerComponent(name, AuroHelpText);
|
|
3047
|
+
}
|
|
3048
|
+
|
|
3049
|
+
updated() {
|
|
3050
|
+
this.handleSlotChange();
|
|
3051
|
+
}
|
|
3052
|
+
|
|
3053
|
+
handleSlotChange(event) {
|
|
3054
|
+
if (event) {
|
|
3055
|
+
this.slotNodes = event.target.assignedNodes();
|
|
2879
3056
|
}
|
|
3057
|
+
|
|
3058
|
+
this.hasTextContent = this.checkSlotsForContent(this.slotNodes);
|
|
2880
3059
|
}
|
|
2881
3060
|
|
|
2882
|
-
|
|
2883
|
-
|
|
3061
|
+
/**
|
|
3062
|
+
* Checks if any of the provided nodes or their nested slot nodes contain non-empty text content.
|
|
3063
|
+
*
|
|
3064
|
+
* @param {NodeList|Array} nodes - The list of nodes to check for content.
|
|
3065
|
+
* @returns {boolean} - Returns true if any node or nested slot node contains non-empty text content, otherwise false.
|
|
3066
|
+
* @private
|
|
3067
|
+
*/
|
|
3068
|
+
checkSlotsForContent(nodes) {
|
|
3069
|
+
if (!nodes) {
|
|
3070
|
+
return false;
|
|
3071
|
+
}
|
|
3072
|
+
|
|
3073
|
+
return nodes.some((node) => {
|
|
3074
|
+
if (node.textContent.trim()) {
|
|
3075
|
+
return true;
|
|
3076
|
+
}
|
|
3077
|
+
|
|
3078
|
+
if (!node.querySelector) {
|
|
3079
|
+
return false;
|
|
3080
|
+
}
|
|
3081
|
+
|
|
3082
|
+
const nestedSlot = node.tagName === 'SLOT' ? node : node.querySelector('slot');
|
|
3083
|
+
if (!nestedSlot) {
|
|
3084
|
+
return false;
|
|
3085
|
+
}
|
|
3086
|
+
|
|
3087
|
+
const nestedSlotNodes = nestedSlot.assignedNodes();
|
|
3088
|
+
return this.checkSlotsForContent(nestedSlotNodes);
|
|
3089
|
+
});
|
|
2884
3090
|
}
|
|
2885
3091
|
|
|
2886
3092
|
// function that renders the HTML and CSS into the scope of the component
|
|
2887
3093
|
render() {
|
|
2888
|
-
return
|
|
2889
|
-
<div class="
|
|
2890
|
-
|
|
3094
|
+
return x$2`
|
|
3095
|
+
<div class="helptext-wrapper" ?visible="${this.hasTextContent}">
|
|
3096
|
+
<slot @slotchange=${this.handleSlotChange}></slot>
|
|
2891
3097
|
</div>
|
|
2892
3098
|
`;
|
|
2893
3099
|
}
|
|
2894
3100
|
}
|
|
2895
3101
|
|
|
2896
|
-
|
|
2897
|
-
|
|
2898
|
-
|
|
2899
|
-
|
|
3102
|
+
AuroHelpText.register();
|
|
3103
|
+
|
|
3104
|
+
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}`;
|
|
3105
|
+
|
|
3106
|
+
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)}`;
|
|
2900
3107
|
|
|
2901
3108
|
// Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
2902
3109
|
// See LICENSE in the project root for license information.
|
|
2903
3110
|
|
|
2904
3111
|
|
|
3112
|
+
|
|
3113
|
+
const DESIGN_TOKEN_BREAKPOINT_PREFIX = '--ds-grid-breakpoint-';
|
|
3114
|
+
const DESIGN_TOKEN_BREAKPOINT_OPTIONS = [
|
|
3115
|
+
'lg',
|
|
3116
|
+
'md',
|
|
3117
|
+
'sm',
|
|
3118
|
+
'xs',
|
|
3119
|
+
];
|
|
3120
|
+
|
|
2905
3121
|
/**
|
|
2906
|
-
* @
|
|
2907
|
-
* @
|
|
2908
|
-
|
|
2909
|
-
|
|
2910
|
-
|
|
2911
|
-
|
|
2912
|
-
|
|
2913
|
-
|
|
2914
|
-
|
|
2915
|
-
|
|
2916
|
-
|
|
2917
|
-
|
|
2918
|
-
|
|
2919
|
-
|
|
2920
|
-
|
|
2921
|
-
|
|
2922
|
-
|
|
3122
|
+
* @prop { String } mobileFullscreenBreakpoint - 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.
|
|
3123
|
+
* @csspart bibContainer - Apply css to the bib container.
|
|
3124
|
+
*/
|
|
3125
|
+
|
|
3126
|
+
class AuroDropdownBib extends r$4 {
|
|
3127
|
+
|
|
3128
|
+
constructor() {
|
|
3129
|
+
super();
|
|
3130
|
+
|
|
3131
|
+
/**
|
|
3132
|
+
* @private
|
|
3133
|
+
*/
|
|
3134
|
+
this._mobileBreakpointValue = undefined;
|
|
3135
|
+
}
|
|
3136
|
+
|
|
3137
|
+
static get styles() {
|
|
3138
|
+
return [
|
|
3139
|
+
styleCss$4,
|
|
3140
|
+
colorCss$4,
|
|
3141
|
+
tokensCss$1$1
|
|
3142
|
+
];
|
|
3143
|
+
}
|
|
3144
|
+
|
|
3145
|
+
static get properties() {
|
|
3146
|
+
return {
|
|
3147
|
+
|
|
3148
|
+
/**
|
|
3149
|
+
* If declared, will apply all styles for the common theme.
|
|
3150
|
+
*/
|
|
3151
|
+
common: {
|
|
3152
|
+
type: Boolean,
|
|
3153
|
+
reflect: true
|
|
3154
|
+
},
|
|
3155
|
+
|
|
3156
|
+
/**
|
|
3157
|
+
* If declared, will apply extra padding to bib content.
|
|
3158
|
+
*/
|
|
3159
|
+
inset: {
|
|
3160
|
+
type: Boolean,
|
|
3161
|
+
reflect: true
|
|
3162
|
+
},
|
|
3163
|
+
|
|
3164
|
+
/**
|
|
3165
|
+
* If declared, will apply border-radius to the bib.
|
|
3166
|
+
*/
|
|
3167
|
+
rounded: {
|
|
3168
|
+
type: Boolean,
|
|
3169
|
+
reflect: true
|
|
3170
|
+
},
|
|
3171
|
+
};
|
|
3172
|
+
}
|
|
3173
|
+
|
|
3174
|
+
set mobileFullscreenBreakpoint(value) {
|
|
3175
|
+
// verify the defined breakpoint is valid and exit out if not
|
|
3176
|
+
const validatedValue = DESIGN_TOKEN_BREAKPOINT_OPTIONS.includes(value) ? value : undefined;
|
|
3177
|
+
if (!validatedValue) {
|
|
3178
|
+
this._mobileBreakpointValue = undefined;
|
|
3179
|
+
} else {
|
|
3180
|
+
// get the pixel value for the defined breakpoint
|
|
3181
|
+
const docStyle = getComputedStyle(document.documentElement);
|
|
3182
|
+
this._mobileBreakpointValue = docStyle.getPropertyValue(DESIGN_TOKEN_BREAKPOINT_PREFIX + value);
|
|
3183
|
+
}
|
|
3184
|
+
}
|
|
3185
|
+
|
|
3186
|
+
get mobileFullscreenBreakpoint() {
|
|
3187
|
+
return this._mobileBreakpointValue;
|
|
3188
|
+
}
|
|
3189
|
+
|
|
3190
|
+
// function that renders the HTML and CSS into the scope of the component
|
|
3191
|
+
render() {
|
|
3192
|
+
return u$3`
|
|
3193
|
+
<div class="container" part="bibContainer">
|
|
3194
|
+
<slot></slot>
|
|
3195
|
+
</div>
|
|
3196
|
+
`;
|
|
3197
|
+
}
|
|
3198
|
+
}
|
|
3199
|
+
|
|
3200
|
+
// default internal definition
|
|
3201
|
+
if (!customElements.get("auro-dropdownbib")) {
|
|
3202
|
+
customElements.define("auro-dropdownbib", AuroDropdownBib);
|
|
3203
|
+
}
|
|
3204
|
+
|
|
3205
|
+
// Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
3206
|
+
// See LICENSE in the project root for license information.
|
|
3207
|
+
|
|
3208
|
+
|
|
3209
|
+
/**
|
|
3210
|
+
* @attr { Boolean } disableEventShow - If declared, the dropdown will only show by calling the API .show() public method.
|
|
3211
|
+
* @slot - Default slot for the popover content.
|
|
2923
3212
|
* @slot label - Defines the content of the label.
|
|
2924
3213
|
* @slot helpText - Defines the content of the helpText.
|
|
2925
3214
|
* @slot trigger - Defines the content of the trigger.
|
|
@@ -2930,7 +3219,7 @@ if (!customElements.get("auro-dropdownbib")) {
|
|
|
2930
3219
|
* @event auroDropdown-triggerClick - Notifies that the trigger has been clicked.
|
|
2931
3220
|
* @event auroDropdown-toggled - Notifies that the visibility of the dropdown bib has changed.
|
|
2932
3221
|
*/
|
|
2933
|
-
class AuroDropdown extends r {
|
|
3222
|
+
class AuroDropdown extends r$4 {
|
|
2934
3223
|
constructor() {
|
|
2935
3224
|
super();
|
|
2936
3225
|
|
|
@@ -2959,7 +3248,17 @@ class AuroDropdown extends r {
|
|
|
2959
3248
|
/**
|
|
2960
3249
|
* @private
|
|
2961
3250
|
*/
|
|
2962
|
-
this.
|
|
3251
|
+
this.hasTriggerContent = false;
|
|
3252
|
+
|
|
3253
|
+
/**
|
|
3254
|
+
* @private
|
|
3255
|
+
*/
|
|
3256
|
+
this.triggerContentSlot = undefined;
|
|
3257
|
+
|
|
3258
|
+
/**
|
|
3259
|
+
* @private
|
|
3260
|
+
*/
|
|
3261
|
+
this.runtimeUtils = new AuroLibraryRuntimeUtils$1();
|
|
2963
3262
|
|
|
2964
3263
|
/**
|
|
2965
3264
|
* @private
|
|
@@ -2979,8 +3278,8 @@ class AuroDropdown extends r {
|
|
|
2979
3278
|
/**
|
|
2980
3279
|
* Generate unique names for dependency components.
|
|
2981
3280
|
*/
|
|
2982
|
-
const versioning = new AuroDependencyVersioning();
|
|
2983
|
-
this.iconTag = versioning.generateTag('auro-icon', iconVersion, AuroIcon);
|
|
3281
|
+
const versioning = new AuroDependencyVersioning$1();
|
|
3282
|
+
this.iconTag = versioning.generateTag('auro-icon', iconVersion$1, AuroIcon$1);
|
|
2984
3283
|
}
|
|
2985
3284
|
|
|
2986
3285
|
/**
|
|
@@ -3002,82 +3301,1798 @@ class AuroDropdown extends r {
|
|
|
3002
3301
|
// function to define props used within the scope of this component
|
|
3003
3302
|
static get properties() {
|
|
3004
3303
|
return {
|
|
3304
|
+
|
|
3305
|
+
/**
|
|
3306
|
+
* If declared, applies a border around the trigger slot.
|
|
3307
|
+
*/
|
|
3005
3308
|
bordered: {
|
|
3006
3309
|
type: Boolean,
|
|
3007
3310
|
reflect: true
|
|
3008
3311
|
},
|
|
3312
|
+
|
|
3313
|
+
/**
|
|
3314
|
+
* If declared, the dropdown displays a chevron on the right.
|
|
3315
|
+
* @attr {Boolean} chevron
|
|
3316
|
+
*/
|
|
3009
3317
|
chevron: {
|
|
3010
3318
|
type: Boolean,
|
|
3011
3319
|
reflect: true
|
|
3012
3320
|
},
|
|
3013
|
-
|
|
3321
|
+
|
|
3322
|
+
/**
|
|
3323
|
+
* If declared, the dropdown will be styled with the common theme.
|
|
3324
|
+
*/
|
|
3325
|
+
common: {
|
|
3014
3326
|
type: Boolean,
|
|
3015
3327
|
reflect: true
|
|
3016
3328
|
},
|
|
3017
|
-
|
|
3329
|
+
|
|
3330
|
+
/**
|
|
3331
|
+
* If declared, the dropdown is not interactive.
|
|
3332
|
+
*/
|
|
3333
|
+
disabled: {
|
|
3018
3334
|
type: Boolean,
|
|
3019
3335
|
reflect: true
|
|
3020
3336
|
},
|
|
3021
|
-
|
|
3337
|
+
|
|
3338
|
+
/**
|
|
3339
|
+
* @private
|
|
3340
|
+
*/
|
|
3341
|
+
dropdownWidth: {
|
|
3342
|
+
type: Number
|
|
3343
|
+
},
|
|
3344
|
+
|
|
3345
|
+
/**
|
|
3346
|
+
* If declared in combination with `bordered` property or `helpText` slot content, will apply red color to both.
|
|
3347
|
+
*/
|
|
3348
|
+
error: {
|
|
3022
3349
|
type: Boolean,
|
|
3023
|
-
reflect: true
|
|
3350
|
+
reflect: true
|
|
3024
3351
|
},
|
|
3352
|
+
|
|
3353
|
+
/**
|
|
3354
|
+
* If declared, the bib will display when focus is applied to the trigger.
|
|
3355
|
+
*/
|
|
3025
3356
|
focusShow: {
|
|
3026
3357
|
type: Boolean,
|
|
3027
3358
|
reflect: true
|
|
3028
3359
|
},
|
|
3029
|
-
|
|
3360
|
+
|
|
3361
|
+
/**
|
|
3362
|
+
* Makes the trigger to be full width of its parent container.
|
|
3363
|
+
*/
|
|
3364
|
+
fluid: {
|
|
3030
3365
|
type: Boolean,
|
|
3031
3366
|
reflect: true
|
|
3032
3367
|
},
|
|
3368
|
+
|
|
3369
|
+
/**
|
|
3370
|
+
* If declared, will apply padding around trigger slot content.
|
|
3371
|
+
*/
|
|
3033
3372
|
inset: {
|
|
3034
3373
|
type: Boolean,
|
|
3035
3374
|
reflect: true
|
|
3036
3375
|
},
|
|
3037
|
-
|
|
3376
|
+
|
|
3377
|
+
/**
|
|
3378
|
+
* If true, the dropdown bib is displayed.
|
|
3379
|
+
*/
|
|
3380
|
+
isPopoverVisible: {
|
|
3381
|
+
type: Boolean
|
|
3382
|
+
},
|
|
3383
|
+
|
|
3384
|
+
/**
|
|
3385
|
+
* If declared, the trigger will toggle the dropdown on mouseover/mouseout.
|
|
3386
|
+
*/
|
|
3387
|
+
hoverToggle: {
|
|
3038
3388
|
type: Boolean,
|
|
3039
3389
|
reflect: true
|
|
3040
3390
|
},
|
|
3041
|
-
|
|
3042
|
-
|
|
3391
|
+
|
|
3392
|
+
/**
|
|
3393
|
+
* @private
|
|
3394
|
+
*/
|
|
3395
|
+
hasTriggerContent: {
|
|
3396
|
+
type: Boolean
|
|
3397
|
+
},
|
|
3398
|
+
|
|
3399
|
+
/**
|
|
3400
|
+
* 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.
|
|
3401
|
+
*/
|
|
3402
|
+
mobileFullscreenBreakpoint: {
|
|
3403
|
+
type: String,
|
|
3043
3404
|
reflect: true
|
|
3044
3405
|
},
|
|
3045
|
-
|
|
3406
|
+
|
|
3407
|
+
/**
|
|
3408
|
+
* If declared, the popover and trigger will be set to the same width.
|
|
3409
|
+
*/
|
|
3410
|
+
matchWidth: {
|
|
3046
3411
|
type: Boolean,
|
|
3047
3412
|
reflect: true
|
|
3048
3413
|
},
|
|
3049
|
-
|
|
3414
|
+
|
|
3415
|
+
/**
|
|
3416
|
+
* If declared, the dropdown will not hide when moving focus outside the element.
|
|
3417
|
+
*/
|
|
3418
|
+
noHideOnThisFocusLoss: {
|
|
3050
3419
|
type: Boolean,
|
|
3051
3420
|
reflect: true
|
|
3052
3421
|
},
|
|
3053
|
-
|
|
3422
|
+
|
|
3423
|
+
/**
|
|
3424
|
+
* If declared, the trigger will only show the dropdown bib.
|
|
3425
|
+
*/
|
|
3426
|
+
noToggle: {
|
|
3054
3427
|
type: Boolean,
|
|
3055
3428
|
reflect: true
|
|
3056
3429
|
},
|
|
3057
|
-
|
|
3430
|
+
|
|
3058
3431
|
onSlotChange: {
|
|
3059
3432
|
type: Function,
|
|
3060
3433
|
reflect: false
|
|
3061
3434
|
},
|
|
3062
|
-
|
|
3063
|
-
|
|
3064
|
-
|
|
3435
|
+
|
|
3436
|
+
/**
|
|
3437
|
+
* @private
|
|
3438
|
+
*/
|
|
3439
|
+
placement: {
|
|
3440
|
+
type: String
|
|
3441
|
+
},
|
|
3442
|
+
|
|
3443
|
+
/**
|
|
3444
|
+
* If declared, will apply border-radius to trigger and default slots.
|
|
3445
|
+
*/
|
|
3446
|
+
rounded: {
|
|
3447
|
+
type: Boolean,
|
|
3448
|
+
reflect: true
|
|
3449
|
+
},
|
|
3450
|
+
|
|
3451
|
+
/**
|
|
3452
|
+
* @private
|
|
3453
|
+
*/
|
|
3454
|
+
tabIndex: {
|
|
3455
|
+
type: Number
|
|
3456
|
+
}
|
|
3457
|
+
};
|
|
3458
|
+
}
|
|
3459
|
+
|
|
3460
|
+
static get styles() {
|
|
3461
|
+
return [
|
|
3462
|
+
colorCss$2$1,
|
|
3463
|
+
styleCss$2$1,
|
|
3464
|
+
tokensCss$1$1
|
|
3465
|
+
];
|
|
3466
|
+
}
|
|
3467
|
+
|
|
3468
|
+
/**
|
|
3469
|
+
* This will register this element with the browser.
|
|
3470
|
+
* @param {string} [name="auro-dropdown"] - The name of element that you want to register to.
|
|
3471
|
+
*
|
|
3472
|
+
* @example
|
|
3473
|
+
* AuroDropdown.register("custom-dropdown") // this will register this element to <custom-dropdown/>
|
|
3474
|
+
*
|
|
3475
|
+
*/
|
|
3476
|
+
static register(name = "auro-dropdown") {
|
|
3477
|
+
AuroLibraryRuntimeUtils$1.prototype.registerComponent(name, AuroDropdown);
|
|
3478
|
+
}
|
|
3479
|
+
|
|
3480
|
+
connectedCallback() {
|
|
3481
|
+
super.connectedCallback();
|
|
3482
|
+
}
|
|
3483
|
+
|
|
3484
|
+
disconnectedCallback() {
|
|
3485
|
+
super.disconnectedCallback();
|
|
3486
|
+
}
|
|
3487
|
+
|
|
3488
|
+
updated(changedProperties) {
|
|
3489
|
+
this.floater.handleUpdate(changedProperties);
|
|
3490
|
+
|
|
3491
|
+
if (changedProperties.has('mobileFullscreenBreakpoint')) {
|
|
3492
|
+
this.bibContent.mobileFullscreenBreakpoint = this.mobileFullscreenBreakpoint;
|
|
3493
|
+
}
|
|
3494
|
+
|
|
3495
|
+
// when trigger's content is changed without any attribute or node change,
|
|
3496
|
+
// `requestUpdate` needs to be called to update hasTriggerContnet
|
|
3497
|
+
if (changedProperties.size === 0 || changedProperties.has('isPopoverVisible')) {
|
|
3498
|
+
this.handleTriggerContentSlotChange();
|
|
3499
|
+
}
|
|
3500
|
+
}
|
|
3501
|
+
|
|
3502
|
+
firstUpdated() {
|
|
3503
|
+
this.floater.configure(this, 'auroDropdown');
|
|
3504
|
+
this.bibContent = this.floater.element.bib;
|
|
3505
|
+
|
|
3506
|
+
// Add the tag name as an attribute if it is different than the component name
|
|
3507
|
+
this.runtimeUtils.handleComponentTagRename(this, 'auro-dropdown');
|
|
3508
|
+
}
|
|
3509
|
+
|
|
3510
|
+
/**
|
|
3511
|
+
* Exposes CSS parts for styling from parent components.
|
|
3512
|
+
* @private
|
|
3513
|
+
* @returns {void}
|
|
3514
|
+
*/
|
|
3515
|
+
exposeCssParts() {
|
|
3516
|
+
this.setAttribute('exportparts', 'trigger:dropdownTrigger, chevron:dropdownChevron, helpText:dropdownHelpText, size:dropdownSize');
|
|
3517
|
+
}
|
|
3518
|
+
|
|
3519
|
+
/**
|
|
3520
|
+
* Determines if content is within a custom slot.
|
|
3521
|
+
* @private
|
|
3522
|
+
* @param {HTMLElement} element - The element to check.
|
|
3523
|
+
* @returns {Boolean}
|
|
3524
|
+
*/
|
|
3525
|
+
isCustomSlotContent(element) {
|
|
3526
|
+
let currentElement = element;
|
|
3527
|
+
|
|
3528
|
+
let inCustomSlot = false;
|
|
3529
|
+
|
|
3530
|
+
while (currentElement) {
|
|
3531
|
+
currentElement = currentElement.parentElement;
|
|
3532
|
+
|
|
3533
|
+
if (currentElement && currentElement.hasAttribute('slot')) {
|
|
3534
|
+
inCustomSlot = true;
|
|
3535
|
+
break;
|
|
3536
|
+
}
|
|
3537
|
+
}
|
|
3538
|
+
|
|
3539
|
+
return inCustomSlot;
|
|
3540
|
+
}
|
|
3541
|
+
|
|
3542
|
+
/**
|
|
3543
|
+
* Handles changes to the trigger content slot and updates related properties.
|
|
3544
|
+
*
|
|
3545
|
+
* It first updates the floater settings
|
|
3546
|
+
* Then, it retrieves the assigned nodes from the event target and checks if any of
|
|
3547
|
+
* the nodes contain non-empty text content, updating the `hasTriggerContent` property accordingly.
|
|
3548
|
+
*
|
|
3549
|
+
* @private
|
|
3550
|
+
* @method handleTriggerContentSlotChange
|
|
3551
|
+
* @param {Event} event - native slotchange event
|
|
3552
|
+
* @returns {void}
|
|
3553
|
+
*/
|
|
3554
|
+
handleTriggerContentSlotChange(event) {
|
|
3555
|
+
this.floater.handleTriggerTabIndex();
|
|
3556
|
+
|
|
3557
|
+
if (event) {
|
|
3558
|
+
this.triggerNode = event.target;
|
|
3559
|
+
this.triggerContentSlot = event.target.assignedNodes();
|
|
3560
|
+
}
|
|
3561
|
+
|
|
3562
|
+
if (this.triggerContentSlot) {
|
|
3563
|
+
this.hasTriggerContent = this.triggerContentSlot.some((slot) => {
|
|
3564
|
+
if (slot.textContent.trim()) {
|
|
3565
|
+
return true;
|
|
3566
|
+
}
|
|
3567
|
+
const slotInSlot = slot.querySelector('slot');
|
|
3568
|
+
if (!slotInSlot) {
|
|
3569
|
+
return false;
|
|
3570
|
+
}
|
|
3571
|
+
const slotsInSlotNodes = slotInSlot.assignedNodes();
|
|
3572
|
+
return slotsInSlotNodes.some((ss) => Boolean(ss.textContent.trim()));
|
|
3573
|
+
});
|
|
3574
|
+
} else {
|
|
3575
|
+
this.hasTriggerContent = false;
|
|
3576
|
+
}
|
|
3577
|
+
}
|
|
3578
|
+
|
|
3579
|
+
/**
|
|
3580
|
+
* Handles the default slot change event and updates the content.
|
|
3581
|
+
*
|
|
3582
|
+
* This method retrieves all nodes assigned to the default slot of the event target and appends them
|
|
3583
|
+
* to the `bibContent` element. If a callback function `onSlotChange` is defined, it is invoked to
|
|
3584
|
+
* notify about the slot change.
|
|
3585
|
+
*
|
|
3586
|
+
* @private
|
|
3587
|
+
* @method handleDefaultSlot
|
|
3588
|
+
* @param {Event} event - The event object representing the slot change.
|
|
3589
|
+
* @fires Function#onSlotChange - Optional callback invoked when the slot content changes.
|
|
3590
|
+
*/
|
|
3591
|
+
handleDefaultSlot(event) {
|
|
3592
|
+
[...event.target.assignedNodes()].forEach((node) => this.bibContent.append(node));
|
|
3593
|
+
|
|
3594
|
+
if (this.onSlotChange) {
|
|
3595
|
+
this.onSlotChange();
|
|
3596
|
+
}
|
|
3597
|
+
}
|
|
3598
|
+
|
|
3599
|
+
// function that renders the HTML and CSS into the scope of the component
|
|
3600
|
+
render() {
|
|
3601
|
+
return u$3`
|
|
3602
|
+
<div>
|
|
3603
|
+
<div
|
|
3604
|
+
id="trigger"
|
|
3605
|
+
class="trigger"
|
|
3606
|
+
part="trigger"
|
|
3607
|
+
role="button"
|
|
3608
|
+
aria-labelledby="triggerLabel"
|
|
3609
|
+
aria-controls="popover"
|
|
3610
|
+
tabindex="${this.tabIndex}"
|
|
3611
|
+
>
|
|
3612
|
+
<div class="triggerContentWrapper">
|
|
3613
|
+
<label class="label" id="triggerLabel" hasTrigger=${this.hasTriggerContent}>
|
|
3614
|
+
<slot name="label"></slot>
|
|
3615
|
+
</label>
|
|
3616
|
+
<div class="triggerContent">
|
|
3617
|
+
<slot
|
|
3618
|
+
name="trigger"
|
|
3619
|
+
@slotchange="${this.handleTriggerContentSlotChange}"></slot>
|
|
3620
|
+
</div>
|
|
3621
|
+
</div>
|
|
3622
|
+
${this.chevron || this.common ? u$3`
|
|
3623
|
+
<div
|
|
3624
|
+
id="showStateIcon"
|
|
3625
|
+
part="chevron">
|
|
3626
|
+
<${this.iconTag}
|
|
3627
|
+
category="interface"
|
|
3628
|
+
name="chevron-down"
|
|
3629
|
+
customColor
|
|
3630
|
+
?disabled=${this.disabled}
|
|
3631
|
+
>
|
|
3632
|
+
</${this.iconTag}>
|
|
3633
|
+
</div>
|
|
3634
|
+
` : undefined }
|
|
3635
|
+
</div>
|
|
3636
|
+
<auro-helptext part="helpText" ?error="${this.error}">
|
|
3637
|
+
<slot name="helpText"></slot>
|
|
3638
|
+
</auro-helptext>
|
|
3639
|
+
<div class="slotContent">
|
|
3640
|
+
<slot @slotchange="${this.handleDefaultSlot}"></slot>
|
|
3641
|
+
</div>
|
|
3642
|
+
<div id="bibSizer" part="size"></div>
|
|
3643
|
+
<auro-dropdownbib
|
|
3644
|
+
id="bib"
|
|
3645
|
+
role="tooltip"
|
|
3646
|
+
?common="${this.common}"
|
|
3647
|
+
?rounded="${this.common || this.rounded}"
|
|
3648
|
+
?inset="${this.common || this.inset}">
|
|
3649
|
+
</auro-dropdownbib>
|
|
3650
|
+
</div>
|
|
3651
|
+
`;
|
|
3652
|
+
}
|
|
3653
|
+
}
|
|
3654
|
+
|
|
3655
|
+
AuroDropdown.register();
|
|
3656
|
+
|
|
3657
|
+
var dropdownVersion = '3.0.0';
|
|
3658
|
+
|
|
3659
|
+
/**
|
|
3660
|
+
* @license
|
|
3661
|
+
* Copyright 2019 Google LLC
|
|
3662
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
3663
|
+
*/
|
|
3664
|
+
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;
|
|
3665
|
+
|
|
3666
|
+
/**
|
|
3667
|
+
* @license
|
|
3668
|
+
* Copyright 2017 Google LLC
|
|
3669
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
3670
|
+
*/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");
|
|
3671
|
+
|
|
3672
|
+
/**
|
|
3673
|
+
* @license
|
|
3674
|
+
* Copyright 2017 Google LLC
|
|
3675
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
3676
|
+
*/
|
|
3677
|
+
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};
|
|
3678
|
+
|
|
3679
|
+
/**
|
|
3680
|
+
* @license
|
|
3681
|
+
* Copyright 2017 Google LLC
|
|
3682
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
3683
|
+
*/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");
|
|
3684
|
+
|
|
3685
|
+
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)}`;
|
|
3686
|
+
|
|
3687
|
+
var colorCss$2 = i$5`:host ::slotted(hr){border-top-color:var(--ds-auro-menu-divider-color) !important}`;
|
|
3688
|
+
|
|
3689
|
+
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)}`;
|
|
3690
|
+
|
|
3691
|
+
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
3692
|
+
// See LICENSE in the project root for license information.
|
|
3693
|
+
|
|
3694
|
+
// ---------------------------------------------------------------------
|
|
3695
|
+
|
|
3696
|
+
/* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
|
|
3697
|
+
|
|
3698
|
+
class AuroLibraryRuntimeUtils {
|
|
3699
|
+
|
|
3700
|
+
/* eslint-disable jsdoc/require-param */
|
|
3701
|
+
|
|
3702
|
+
/**
|
|
3703
|
+
* This will register a new custom element with the browser.
|
|
3704
|
+
* @param {String} name - The name of the custom element.
|
|
3705
|
+
* @param {Object} componentClass - The class to register as a custom element.
|
|
3706
|
+
* @returns {void}
|
|
3707
|
+
*/
|
|
3708
|
+
registerComponent(name, componentClass) {
|
|
3709
|
+
if (!customElements.get(name)) {
|
|
3710
|
+
customElements.define(name, class extends componentClass {});
|
|
3711
|
+
}
|
|
3712
|
+
}
|
|
3713
|
+
|
|
3714
|
+
/**
|
|
3715
|
+
* Finds and returns the closest HTML Element based on a selector.
|
|
3716
|
+
* @returns {void}
|
|
3717
|
+
*/
|
|
3718
|
+
closestElement(
|
|
3719
|
+
selector, // selector like in .closest()
|
|
3720
|
+
base = this, // extra functionality to skip a parent
|
|
3721
|
+
__Closest = (el, found = el && el.closest(selector)) =>
|
|
3722
|
+
!el || el === document || el === window
|
|
3723
|
+
? null // standard .closest() returns null for non-found selectors also
|
|
3724
|
+
: found
|
|
3725
|
+
? found // found a selector INside this element
|
|
3726
|
+
: __Closest(el.getRootNode().host) // recursion!! break out to parent DOM
|
|
3727
|
+
) {
|
|
3728
|
+
return __Closest(base);
|
|
3729
|
+
}
|
|
3730
|
+
/* eslint-enable jsdoc/require-param */
|
|
3731
|
+
|
|
3732
|
+
/**
|
|
3733
|
+
* 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.
|
|
3734
|
+
* @param {Object} elem - The element to check.
|
|
3735
|
+
* @param {String} tagName - The name of the Auro component to check for or add as an attribute.
|
|
3736
|
+
* @returns {void}
|
|
3737
|
+
*/
|
|
3738
|
+
handleComponentTagRename(elem, tagName) {
|
|
3739
|
+
const tag = tagName.toLowerCase();
|
|
3740
|
+
const elemTag = elem.tagName.toLowerCase();
|
|
3741
|
+
|
|
3742
|
+
if (elemTag !== tag) {
|
|
3743
|
+
elem.setAttribute(tag, true);
|
|
3744
|
+
}
|
|
3745
|
+
}
|
|
3746
|
+
|
|
3747
|
+
/**
|
|
3748
|
+
* Validates if an element is a specific Auro component.
|
|
3749
|
+
* @param {Object} elem - The element to validate.
|
|
3750
|
+
* @param {String} tagName - The name of the Auro component to check against.
|
|
3751
|
+
* @returns {Boolean} - Returns true if the element is the specified Auro component.
|
|
3752
|
+
*/
|
|
3753
|
+
elementMatch(elem, tagName) {
|
|
3754
|
+
const tag = tagName.toLowerCase();
|
|
3755
|
+
const elemTag = elem.tagName.toLowerCase();
|
|
3756
|
+
|
|
3757
|
+
return elemTag === tag || elem.hasAttribute(tag);
|
|
3758
|
+
}
|
|
3759
|
+
}
|
|
3760
|
+
|
|
3761
|
+
// Copyright (c) 2021 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
3762
|
+
// See LICENSE in the project root for license information.
|
|
3763
|
+
|
|
3764
|
+
// ---------------------------------------------------------------------
|
|
3765
|
+
|
|
3766
|
+
/**
|
|
3767
|
+
* Converts value to an array.
|
|
3768
|
+
* If the value is a JSON string representing an array, it will be parsed.
|
|
3769
|
+
* If the value is already an array, it is returned.
|
|
3770
|
+
* If the value is undefined, it returns undefined.
|
|
3771
|
+
* @private
|
|
3772
|
+
* @param {any} value - The value to be converted. Can be a string, array, or undefined.
|
|
3773
|
+
* @returns {Array|undefined} - The converted array or undefined.
|
|
3774
|
+
* @throws {Error} - Throws an error if the value is not an array, undefined,
|
|
3775
|
+
* or if the value cannot be parsed into an array from a JSON string.
|
|
3776
|
+
*/
|
|
3777
|
+
function arrayConverter(value) {
|
|
3778
|
+
// Allow undefined
|
|
3779
|
+
if (value === undefined) {
|
|
3780
|
+
return undefined;
|
|
3781
|
+
}
|
|
3782
|
+
|
|
3783
|
+
// Return the value if it is already an array
|
|
3784
|
+
if (Array.isArray(value)) {
|
|
3785
|
+
return value;
|
|
3786
|
+
}
|
|
3787
|
+
|
|
3788
|
+
try {
|
|
3789
|
+
// If value is a JSON string, parse it
|
|
3790
|
+
const parsed = typeof value === 'string' ? JSON.parse(value) : value;
|
|
3791
|
+
|
|
3792
|
+
// Check if the parsed value is an array
|
|
3793
|
+
if (Array.isArray(parsed)) {
|
|
3794
|
+
return parsed;
|
|
3795
|
+
}
|
|
3796
|
+
} catch (error) {
|
|
3797
|
+
// If JSON parsing fails, continue to throw an error below
|
|
3798
|
+
/* eslint-disable no-console */
|
|
3799
|
+
console.error('JSON parsing failed:', error);
|
|
3800
|
+
}
|
|
3801
|
+
|
|
3802
|
+
// Throw error if the input is not an array or undefined
|
|
3803
|
+
throw new Error('Invalid value: Input must be an array or undefined');
|
|
3804
|
+
}
|
|
3805
|
+
|
|
3806
|
+
/**
|
|
3807
|
+
* Compare two arrays for equality.
|
|
3808
|
+
* @private
|
|
3809
|
+
* @param {Array} arr1 - First array to compare.
|
|
3810
|
+
* @param {Array} arr2 - Second array to compare.
|
|
3811
|
+
* @returns {boolean} True if arrays are equal.
|
|
3812
|
+
*/
|
|
3813
|
+
function arraysAreEqual(arr1, arr2) {
|
|
3814
|
+
// If both arrays undefined, they are equal (true)
|
|
3815
|
+
if (arr1 === undefined || arr2 === undefined) {
|
|
3816
|
+
return arr1 === arr2;
|
|
3817
|
+
}
|
|
3818
|
+
|
|
3819
|
+
// If arrays have different lengths, they are not equal
|
|
3820
|
+
if (arr1.length !== arr2.length) {
|
|
3821
|
+
return false;
|
|
3822
|
+
}
|
|
3823
|
+
|
|
3824
|
+
// If every item at each index is the same, return true
|
|
3825
|
+
for (let index = 0; index < arr1.length; index += 1) {
|
|
3826
|
+
if (arr1[index] !== arr2[index]) {
|
|
3827
|
+
return false;
|
|
3828
|
+
}
|
|
3829
|
+
}
|
|
3830
|
+
return true;
|
|
3831
|
+
}
|
|
3832
|
+
|
|
3833
|
+
/**
|
|
3834
|
+
* Compares array for changes.
|
|
3835
|
+
* @private
|
|
3836
|
+
* @param {Array|any} newVal - New value to compare.
|
|
3837
|
+
* @param {Array|any} oldVal - Old value to compare.
|
|
3838
|
+
* @returns {boolean} True if arrays have changed.
|
|
3839
|
+
*/
|
|
3840
|
+
function arrayOrUndefinedHasChanged(newVal, oldVal) {
|
|
3841
|
+
try {
|
|
3842
|
+
// Check if values are undefined or arrays
|
|
3843
|
+
const isArrayOrUndefined = (val) => val === undefined || Array.isArray(val);
|
|
3844
|
+
|
|
3845
|
+
// If non-array or non-undefined, throw error
|
|
3846
|
+
if (!isArrayOrUndefined(newVal) || !isArrayOrUndefined(oldVal)) {
|
|
3847
|
+
const invalidValue = isArrayOrUndefined(newVal) ? oldVal : newVal;
|
|
3848
|
+
throw new Error(`Value must be an array or undefined, received ${typeof invalidValue}`);
|
|
3849
|
+
}
|
|
3850
|
+
|
|
3851
|
+
// Return true if arrays have changed, false if they are the same
|
|
3852
|
+
return !arraysAreEqual(newVal, oldVal);
|
|
3853
|
+
} catch (error) {
|
|
3854
|
+
/* eslint-disable no-console */
|
|
3855
|
+
console.error(error);
|
|
3856
|
+
// If validation fails, it has changed
|
|
3857
|
+
return true;
|
|
3858
|
+
}
|
|
3859
|
+
}
|
|
3860
|
+
|
|
3861
|
+
/**
|
|
3862
|
+
* Validates if an option can be interacted with.
|
|
3863
|
+
* @private
|
|
3864
|
+
* @param {HTMLElement} option - The option to check.
|
|
3865
|
+
* @returns {boolean} True if option is interactive.
|
|
3866
|
+
*/
|
|
3867
|
+
function isOptionInteractive(option) {
|
|
3868
|
+
return !option.hasAttribute('hidden') &&
|
|
3869
|
+
!option.hasAttribute('disabled') &&
|
|
3870
|
+
!option.hasAttribute('static');
|
|
3871
|
+
}
|
|
3872
|
+
|
|
3873
|
+
/**
|
|
3874
|
+
* Helper method to dispatch custom events.
|
|
3875
|
+
* @param {HTMLElement} element - Element to dispatch event from.
|
|
3876
|
+
* @param {string} eventName - Name of the event to dispatch.
|
|
3877
|
+
* @param {Object} [detail] - Optional detail object to include with the event.
|
|
3878
|
+
*/
|
|
3879
|
+
function dispatchMenuEvent(element, eventName, detail = null) {
|
|
3880
|
+
const eventConfig = {
|
|
3881
|
+
bubbles: true,
|
|
3882
|
+
cancelable: false,
|
|
3883
|
+
composed: true
|
|
3884
|
+
};
|
|
3885
|
+
|
|
3886
|
+
if (detail !== null) {
|
|
3887
|
+
eventConfig.detail = detail;
|
|
3888
|
+
}
|
|
3889
|
+
|
|
3890
|
+
element.dispatchEvent(new CustomEvent(eventName, eventConfig));
|
|
3891
|
+
}
|
|
3892
|
+
|
|
3893
|
+
// Copyright (c) 2021 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
3894
|
+
// See LICENSE in the project root for license information.
|
|
3895
|
+
|
|
3896
|
+
|
|
3897
|
+
|
|
3898
|
+
// See https://git.io/JJ6SJ for "How to document your components using JSDoc"
|
|
3899
|
+
/**
|
|
3900
|
+
* The auro-menu element provides users a way to select from a list of options.
|
|
3901
|
+
* @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.
|
|
3902
|
+
* @attr {object} optionactive - Specifies the current active menuOption.
|
|
3903
|
+
* @attr {string} matchword - Specifies a string used to highlight matched string parts in options.
|
|
3904
|
+
* @attr {boolean} disabled - When true, the entire menu and all options are disabled;
|
|
3905
|
+
* @attr {boolean} nocheckmark - When true, selected option will not show the checkmark.
|
|
3906
|
+
* @attr {boolean} loading - When true, displays a loading state using the loadingIcon and loadingText slots if provided.
|
|
3907
|
+
* @attr {boolean} multiselect - When true, the selected option can be multiple options.
|
|
3908
|
+
* @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.
|
|
3909
|
+
* @prop {boolean} hasLoadingPlaceholder - Indicates whether the menu has a loadingIcon or loadingText to render when in a loading state.
|
|
3910
|
+
* @event {CustomEvent<Element>} auroMenu-activatedOption - Notifies that a menuoption has been made `active`.
|
|
3911
|
+
* @event {CustomEvent<any>} auroMenu-customEventFired - Notifies that a custom event has been fired.
|
|
3912
|
+
* @event {CustomEvent<{ loading: boolean; hasLoadingPlaceholder: boolean; }>} auroMenu-loadingChange - Notifies when the loading attribute is changed.
|
|
3913
|
+
* @event {CustomEvent<any>} auroMenu-selectValueFailure - Notifies that an attempt to select a menuoption by matching a value has failed.
|
|
3914
|
+
* @event {CustomEvent<any>} auroMenu-selectValueReset - Notifies that the component value has been reset.
|
|
3915
|
+
* @event {CustomEvent<any>} auroMenu-selectedOption - Notifies that a new menuoption selection has been made.
|
|
3916
|
+
* @slot loadingText - Text to show while loading attribute is set
|
|
3917
|
+
* @slot loadingIcon - Icon to show while loading attribute is set
|
|
3918
|
+
* @slot - Slot for insertion of menu options.
|
|
3919
|
+
*/
|
|
3920
|
+
|
|
3921
|
+
/* eslint-disable no-magic-numbers, max-lines */
|
|
3922
|
+
|
|
3923
|
+
class AuroMenu extends r {
|
|
3924
|
+
constructor() {
|
|
3925
|
+
super();
|
|
3926
|
+
|
|
3927
|
+
// State properties (reactive)
|
|
3928
|
+
|
|
3929
|
+
// Value of the selected options
|
|
3930
|
+
this.value = undefined;
|
|
3931
|
+
// Currently selected option
|
|
3932
|
+
this.optionSelected = undefined;
|
|
3933
|
+
// String used for highlighting/filtering
|
|
3934
|
+
this.matchWord = undefined;
|
|
3935
|
+
// Hide the checkmark icon on selected options
|
|
3936
|
+
this.noCheckmark = false;
|
|
3937
|
+
// Currently active option
|
|
3938
|
+
this.optionActive = undefined;
|
|
3939
|
+
// Loading state
|
|
3940
|
+
this.loading = false;
|
|
3941
|
+
// Multi-select mode
|
|
3942
|
+
this.multiSelect = false;
|
|
3943
|
+
|
|
3944
|
+
// Event Bindings
|
|
3945
|
+
|
|
3946
|
+
/**
|
|
3947
|
+
* @private
|
|
3948
|
+
*/
|
|
3949
|
+
this.handleKeyDown = this.handleKeyDown.bind(this);
|
|
3950
|
+
|
|
3951
|
+
/**
|
|
3952
|
+
* @private
|
|
3953
|
+
*/
|
|
3954
|
+
this.handleMouseSelect = this.handleMouseSelect.bind(this);
|
|
3955
|
+
|
|
3956
|
+
/**
|
|
3957
|
+
* @private
|
|
3958
|
+
*/
|
|
3959
|
+
this.handleOptionHover = this.handleOptionHover.bind(this);
|
|
3960
|
+
|
|
3961
|
+
/**
|
|
3962
|
+
* @private
|
|
3963
|
+
*/
|
|
3964
|
+
this.handleSlotChange = this.handleSlotChange.bind(this);
|
|
3965
|
+
|
|
3966
|
+
// Instance properties (non-reactive)
|
|
3967
|
+
|
|
3968
|
+
/**
|
|
3969
|
+
* @private
|
|
3970
|
+
*/
|
|
3971
|
+
Object.assign(this, {
|
|
3972
|
+
// Root-level menu (true) or a nested submenu (false)
|
|
3973
|
+
rootMenu: true,
|
|
3974
|
+
// Currently focused/active menu item index
|
|
3975
|
+
index: -1,
|
|
3976
|
+
// Nested menu spacer
|
|
3977
|
+
nestingSpacer: '<span class="nestingSpacer"></span>',
|
|
3978
|
+
// Loading indicator for slot elements
|
|
3979
|
+
loadingSlots: null,
|
|
3980
|
+
// Store for menu items
|
|
3981
|
+
items: [],
|
|
3982
|
+
});
|
|
3983
|
+
}
|
|
3984
|
+
|
|
3985
|
+
static get properties() {
|
|
3986
|
+
return {
|
|
3987
|
+
noCheckmark: {
|
|
3988
|
+
type: Boolean,
|
|
3989
|
+
reflect: true,
|
|
3990
|
+
attribute: 'nocheckmark'
|
|
3991
|
+
},
|
|
3992
|
+
disabled: {
|
|
3993
|
+
type: Boolean,
|
|
3994
|
+
reflect: true
|
|
3995
|
+
},
|
|
3996
|
+
loading: {
|
|
3997
|
+
type: Boolean,
|
|
3998
|
+
reflect: true
|
|
3999
|
+
},
|
|
4000
|
+
optionSelected: {
|
|
4001
|
+
// Allow HTMLElement[] arrays and undefined
|
|
4002
|
+
converter: arrayConverter,
|
|
4003
|
+
hasChanged: arrayOrUndefinedHasChanged
|
|
4004
|
+
},
|
|
4005
|
+
optionActive: {
|
|
4006
|
+
type: Object,
|
|
4007
|
+
attribute: 'optionactive'
|
|
4008
|
+
},
|
|
4009
|
+
matchWord: {
|
|
4010
|
+
type: String,
|
|
4011
|
+
attribute: 'matchword'
|
|
4012
|
+
},
|
|
4013
|
+
multiSelect: {
|
|
4014
|
+
type: Boolean,
|
|
4015
|
+
reflect: true,
|
|
4016
|
+
attribute: 'multiselect'
|
|
4017
|
+
},
|
|
4018
|
+
value: {
|
|
4019
|
+
// Allow string[] arrays and undefined
|
|
4020
|
+
type: Object,
|
|
4021
|
+
converter: arrayConverter,
|
|
4022
|
+
hasChanged: arrayOrUndefinedHasChanged
|
|
4023
|
+
}
|
|
4024
|
+
};
|
|
4025
|
+
}
|
|
4026
|
+
|
|
4027
|
+
static get styles() {
|
|
4028
|
+
return [
|
|
4029
|
+
styleCss$2,
|
|
4030
|
+
colorCss$2,
|
|
4031
|
+
tokensCss$1
|
|
4032
|
+
];
|
|
4033
|
+
}
|
|
4034
|
+
|
|
4035
|
+
/**
|
|
4036
|
+
* This will register this element with the browser.
|
|
4037
|
+
* @param {string} [name="auro-menu"] - The name of element that you want to register to.
|
|
4038
|
+
*
|
|
4039
|
+
* @example
|
|
4040
|
+
* AuroMenu.register("custom-menu") // this will register this element to <custom-menu/>
|
|
4041
|
+
*
|
|
4042
|
+
*/
|
|
4043
|
+
static register(name = "auro-menu") {
|
|
4044
|
+
AuroLibraryRuntimeUtils.prototype.registerComponent(name, AuroMenu);
|
|
4045
|
+
}
|
|
4046
|
+
|
|
4047
|
+
// Lifecycle Methods
|
|
4048
|
+
|
|
4049
|
+
connectedCallback() {
|
|
4050
|
+
super.connectedCallback();
|
|
4051
|
+
|
|
4052
|
+
this.addEventListener('keydown', this.handleKeyDown);
|
|
4053
|
+
this.addEventListener('mousedown', this.handleMouseSelect);
|
|
4054
|
+
this.addEventListener('auroMenuOption-mouseover', this.handleOptionHover);
|
|
4055
|
+
this.addEventListener('slotchange', this.handleSlotChange);
|
|
4056
|
+
}
|
|
4057
|
+
|
|
4058
|
+
disconnectedCallback() {
|
|
4059
|
+
this.removeEventListener('keydown', this.handleKeyDown);
|
|
4060
|
+
this.removeEventListener('mousedown', this.handleMouseSelect);
|
|
4061
|
+
this.removeEventListener('auroMenuOption-mouseover', this.handleOptionHover);
|
|
4062
|
+
this.removeEventListener('slotchange', this.handleSlotChange);
|
|
4063
|
+
|
|
4064
|
+
super.disconnectedCallback();
|
|
4065
|
+
}
|
|
4066
|
+
|
|
4067
|
+
firstUpdated() {
|
|
4068
|
+
AuroLibraryRuntimeUtils.prototype.handleComponentTagRename(this, 'auro-menu');
|
|
4069
|
+
|
|
4070
|
+
this.loadingSlots = this.querySelectorAll("[slot='loadingText'], [slot='loadingIcon']");
|
|
4071
|
+
this.initializeMenu();
|
|
4072
|
+
}
|
|
4073
|
+
|
|
4074
|
+
updated(changedProperties) {
|
|
4075
|
+
if (changedProperties.has('value')) {
|
|
4076
|
+
// Handle null/undefined case
|
|
4077
|
+
if (this.value === undefined || this.value === null) {
|
|
4078
|
+
this.optionSelected = undefined;
|
|
4079
|
+
// Reset index tracking
|
|
4080
|
+
this.index = -1;
|
|
4081
|
+
} else {
|
|
4082
|
+
// Convert single values to arrays
|
|
4083
|
+
const valueArray = Array.isArray(this.value) ? this.value : [this.value];
|
|
4084
|
+
|
|
4085
|
+
// Find all matching options
|
|
4086
|
+
const matchingOptions = this.items.filter((item) => valueArray.includes(item.value));
|
|
4087
|
+
|
|
4088
|
+
if (matchingOptions.length > 0) {
|
|
4089
|
+
if (this.multiSelect) {
|
|
4090
|
+
// For multiselect, keep all matching options
|
|
4091
|
+
this.optionSelected = matchingOptions;
|
|
4092
|
+
} else {
|
|
4093
|
+
// For single select, only use the first match
|
|
4094
|
+
this.optionSelected = [matchingOptions[0]];
|
|
4095
|
+
this.index = this.items.indexOf(matchingOptions[0]);
|
|
4096
|
+
}
|
|
4097
|
+
} else {
|
|
4098
|
+
// No matches found - trigger failure event
|
|
4099
|
+
dispatchMenuEvent(this, 'auroMenu-selectValueFailure');
|
|
4100
|
+
this.optionSelected = undefined;
|
|
4101
|
+
this.index = -1;
|
|
4102
|
+
}
|
|
4103
|
+
}
|
|
4104
|
+
|
|
4105
|
+
// Update UI state
|
|
4106
|
+
this.updateItemsState(new Map([
|
|
4107
|
+
[
|
|
4108
|
+
'optionSelected',
|
|
4109
|
+
true
|
|
4110
|
+
]
|
|
4111
|
+
]));
|
|
4112
|
+
|
|
4113
|
+
// Notify of changes
|
|
4114
|
+
if (this.optionSelected !== undefined) {
|
|
4115
|
+
this.notifySelectionChange();
|
|
4116
|
+
}
|
|
4117
|
+
}
|
|
4118
|
+
|
|
4119
|
+
// Process all other UI updates
|
|
4120
|
+
this.updateItemsState(changedProperties);
|
|
4121
|
+
}
|
|
4122
|
+
|
|
4123
|
+
/**
|
|
4124
|
+
* Updates the UI state and appearance of menu items based on changed properties.
|
|
4125
|
+
* @private
|
|
4126
|
+
* @param {Map<string, boolean>} changedProperties - LitElement's changed properties map.
|
|
4127
|
+
*/
|
|
4128
|
+
updateItemsState(changedProperties) {
|
|
4129
|
+
if (!this.items) {
|
|
4130
|
+
return;
|
|
4131
|
+
}
|
|
4132
|
+
|
|
4133
|
+
// Handle noCheckmark propagation to all menus and options
|
|
4134
|
+
if (changedProperties.has('noCheckmark') && this.noCheckmark) {
|
|
4135
|
+
// Update both menus and options
|
|
4136
|
+
this.querySelectorAll('auro-menu, [auro-menu], auro-menuoption, [auro-menuoption]').forEach((element) => element.setAttribute('noCheckmark', ''));
|
|
4137
|
+
}
|
|
4138
|
+
|
|
4139
|
+
// Regex for matchWord if needed
|
|
4140
|
+
let regexWord = null;
|
|
4141
|
+
|
|
4142
|
+
if (changedProperties.has('matchWord') && this.matchWord && this.matchWord.length) {
|
|
4143
|
+
const escapedWord = this.matchWord.replace(/[.*+?^${}()|[\]\\]/gu, '\\$&');
|
|
4144
|
+
regexWord = new RegExp(escapedWord, 'giu');
|
|
4145
|
+
}
|
|
4146
|
+
|
|
4147
|
+
// Handle direct item updates
|
|
4148
|
+
this.items.forEach((option) => {
|
|
4149
|
+
// Update selection if option or value changed
|
|
4150
|
+
if (changedProperties.has('optionSelected') || changedProperties.has('value')) {
|
|
4151
|
+
const isSelected = this.isOptionSelected(option);
|
|
4152
|
+
option.setAttribute('aria-selected', isSelected ? 'true' : 'false');
|
|
4153
|
+
|
|
4154
|
+
// Add/remove selected attribute based on state
|
|
4155
|
+
if (isSelected) {
|
|
4156
|
+
option.setAttribute('selected', '');
|
|
4157
|
+
} else {
|
|
4158
|
+
option.removeAttribute('selected');
|
|
4159
|
+
}
|
|
4160
|
+
}
|
|
4161
|
+
|
|
4162
|
+
// Update text highlighting if matchWord changed
|
|
4163
|
+
if (changedProperties.has('matchWord') && regexWord &&
|
|
4164
|
+
isOptionInteractive(option) && !option.hasAttribute('persistent')) {
|
|
4165
|
+
const nested = option.querySelectorAll('.nestingSpacer');
|
|
4166
|
+
// Create nested spacers
|
|
4167
|
+
const nestingSpacerBundle = [...nested].map(() => this.nestingSpacer).join('');
|
|
4168
|
+
|
|
4169
|
+
// Update with spacers and matchWord
|
|
4170
|
+
option.innerHTML = nestingSpacerBundle +
|
|
4171
|
+
option.textContent.replace(
|
|
4172
|
+
regexWord,
|
|
4173
|
+
(match) => `<strong>${match}</strong>`
|
|
4174
|
+
);
|
|
4175
|
+
}
|
|
4176
|
+
|
|
4177
|
+
// Update disabled state
|
|
4178
|
+
if (changedProperties.has('disabled')) {
|
|
4179
|
+
option.disabled = this.disabled;
|
|
4180
|
+
}
|
|
4181
|
+
});
|
|
4182
|
+
|
|
4183
|
+
// Handle loading state changes
|
|
4184
|
+
if (changedProperties.has('loading')) {
|
|
4185
|
+
this.setAttribute("aria-busy", this.loading);
|
|
4186
|
+
dispatchMenuEvent(this, "auroMenu-loadingChange", {
|
|
4187
|
+
loading: this.loading,
|
|
4188
|
+
hasLoadingPlaceholder: this.hasLoadingPlaceholder
|
|
4189
|
+
});
|
|
4190
|
+
}
|
|
4191
|
+
}
|
|
4192
|
+
|
|
4193
|
+
// Init Methods
|
|
4194
|
+
|
|
4195
|
+
/**
|
|
4196
|
+
* Initializes the menu's state and structure.
|
|
4197
|
+
* @private
|
|
4198
|
+
*/
|
|
4199
|
+
initializeMenu() {
|
|
4200
|
+
this.initItems();
|
|
4201
|
+
if (this.rootMenu) {
|
|
4202
|
+
this.setAttribute('role', 'listbox');
|
|
4203
|
+
this.setAttribute('root', '');
|
|
4204
|
+
this.handleNestedMenus(this);
|
|
4205
|
+
}
|
|
4206
|
+
}
|
|
4207
|
+
|
|
4208
|
+
/**
|
|
4209
|
+
* Initializes menu items and their attributes.
|
|
4210
|
+
* @private
|
|
4211
|
+
*/
|
|
4212
|
+
initItems() {
|
|
4213
|
+
this.items = Array.from(this.querySelectorAll('auro-menuoption, [auro-menuoption]'));
|
|
4214
|
+
if (this.noCheckmark) {
|
|
4215
|
+
this.updateItemsState(new Map([
|
|
4216
|
+
[
|
|
4217
|
+
'noCheckmark',
|
|
4218
|
+
true
|
|
4219
|
+
]
|
|
4220
|
+
]));
|
|
4221
|
+
}
|
|
4222
|
+
}
|
|
4223
|
+
|
|
4224
|
+
// Logic Methods
|
|
4225
|
+
|
|
4226
|
+
/**
|
|
4227
|
+
* Updates menu state when an option is selected.
|
|
4228
|
+
* @private
|
|
4229
|
+
* @param {HTMLElement} option - The option element to select.
|
|
4230
|
+
*/
|
|
4231
|
+
handleSelectState(option) {
|
|
4232
|
+
if (this.multiSelect) {
|
|
4233
|
+
const currentValue = this.value || [];
|
|
4234
|
+
const currentSelected = this.optionSelected || [];
|
|
4235
|
+
|
|
4236
|
+
if (!currentValue.includes(option.value)) {
|
|
4237
|
+
this.value = [
|
|
4238
|
+
...currentValue,
|
|
4239
|
+
option.value
|
|
4240
|
+
];
|
|
4241
|
+
}
|
|
4242
|
+
if (!currentSelected.includes(option)) {
|
|
4243
|
+
this.optionSelected = [
|
|
4244
|
+
...currentSelected,
|
|
4245
|
+
option
|
|
4246
|
+
];
|
|
4247
|
+
}
|
|
4248
|
+
} else {
|
|
4249
|
+
// Single select - use arrays with single values
|
|
4250
|
+
this.value = [option.value];
|
|
4251
|
+
this.optionSelected = [option];
|
|
4252
|
+
}
|
|
4253
|
+
|
|
4254
|
+
this.index = this.items.indexOf(option);
|
|
4255
|
+
}
|
|
4256
|
+
|
|
4257
|
+
/**
|
|
4258
|
+
* Deselects a menu option and updates related state.
|
|
4259
|
+
* @private
|
|
4260
|
+
* @param {HTMLElement} option - The menuoption to be deselected.
|
|
4261
|
+
*/
|
|
4262
|
+
handleDeselectState(option) {
|
|
4263
|
+
if (this.multiSelect && Array.isArray(this.value)) {
|
|
4264
|
+
// Remove this option from array
|
|
4265
|
+
this.value = this.value.filter((val) => val !== option.value);
|
|
4266
|
+
|
|
4267
|
+
// If array is empty after removal, set back to undefined
|
|
4268
|
+
if (this.value.length === 0) {
|
|
4269
|
+
this.value = undefined;
|
|
4270
|
+
}
|
|
4271
|
+
|
|
4272
|
+
this.optionSelected = this.optionSelected.filter((val) => val !== option);
|
|
4273
|
+
if (this.optionSelected.length === 0) {
|
|
4274
|
+
this.optionSelected = undefined;
|
|
4275
|
+
}
|
|
4276
|
+
} else {
|
|
4277
|
+
// For single-select: Back to undefined when deselected
|
|
4278
|
+
this.value = undefined;
|
|
4279
|
+
this.optionSelected = undefined;
|
|
4280
|
+
}
|
|
4281
|
+
|
|
4282
|
+
// Update the index tracking
|
|
4283
|
+
this.index = this.items.indexOf(option);
|
|
4284
|
+
|
|
4285
|
+
// Update UI to reflect changes
|
|
4286
|
+
this.updateItemsState(new Map([
|
|
4287
|
+
[
|
|
4288
|
+
'optionSelected',
|
|
4289
|
+
true
|
|
4290
|
+
]
|
|
4291
|
+
]));
|
|
4292
|
+
|
|
4293
|
+
// Notify of selection change
|
|
4294
|
+
this.notifySelectionChange();
|
|
4295
|
+
}
|
|
4296
|
+
|
|
4297
|
+
/**
|
|
4298
|
+
* Resets all options to their default state.
|
|
4299
|
+
* @private
|
|
4300
|
+
*/
|
|
4301
|
+
clearSelection() {
|
|
4302
|
+
this.optionSelected = undefined;
|
|
4303
|
+
this.value = undefined;
|
|
4304
|
+
}
|
|
4305
|
+
|
|
4306
|
+
/**
|
|
4307
|
+
* Resets the menu to its initial state.
|
|
4308
|
+
* This is the only way to return value to undefined.
|
|
4309
|
+
* @public
|
|
4310
|
+
*/
|
|
4311
|
+
reset() {
|
|
4312
|
+
// Reset to undefined - initial state
|
|
4313
|
+
this.value = undefined;
|
|
4314
|
+
this.optionSelected = undefined;
|
|
4315
|
+
this.index = -1;
|
|
4316
|
+
|
|
4317
|
+
// Reset UI state
|
|
4318
|
+
this.updateItemsState(new Map([
|
|
4319
|
+
[
|
|
4320
|
+
'optionSelected',
|
|
4321
|
+
true
|
|
4322
|
+
]
|
|
4323
|
+
]));
|
|
4324
|
+
|
|
4325
|
+
// Dispatch reset event
|
|
4326
|
+
dispatchMenuEvent(this, 'auroMenu-selectValueReset');
|
|
4327
|
+
}
|
|
4328
|
+
|
|
4329
|
+
/**
|
|
4330
|
+
* Handles nested menu structure.
|
|
4331
|
+
* @private
|
|
4332
|
+
* @param {HTMLElement} menu - Root menu element.
|
|
4333
|
+
*/
|
|
4334
|
+
handleNestedMenus(menu) {
|
|
4335
|
+
const nestedMenus = menu.querySelectorAll('auro-menu, [auro-menu]');
|
|
4336
|
+
|
|
4337
|
+
nestedMenus.forEach((nestedMenu) => {
|
|
4338
|
+
// role="listbox" only allows "role=group" for children.
|
|
4339
|
+
nestedMenu.setAttribute('role', 'group');
|
|
4340
|
+
if (!nestedMenu.hasAttribute('aria-label')) {
|
|
4341
|
+
nestedMenu.setAttribute('aria-label', 'submenu');
|
|
4342
|
+
}
|
|
4343
|
+
|
|
4344
|
+
const options = nestedMenu.querySelectorAll(':scope > auro-menuoption, :scope > [auro-menuoption]');
|
|
4345
|
+
options.forEach((option) => {
|
|
4346
|
+
option.innerHTML = this.nestingSpacer + option.innerHTML;
|
|
4347
|
+
});
|
|
4348
|
+
|
|
4349
|
+
this.handleNestedMenus(nestedMenu);
|
|
4350
|
+
});
|
|
4351
|
+
}
|
|
4352
|
+
|
|
4353
|
+
// Event Handlers
|
|
4354
|
+
|
|
4355
|
+
/**
|
|
4356
|
+
* Handles keyboard navigation.
|
|
4357
|
+
* @private
|
|
4358
|
+
* @param {KeyboardEvent} event - Event object from the browser.
|
|
4359
|
+
*/
|
|
4360
|
+
handleKeyDown(event) {
|
|
4361
|
+
event.preventDefault();
|
|
4362
|
+
switch (event.key) {
|
|
4363
|
+
case "ArrowDown":
|
|
4364
|
+
this.navigateOptions('down');
|
|
4365
|
+
break;
|
|
4366
|
+
case "ArrowUp":
|
|
4367
|
+
this.navigateOptions('up');
|
|
4368
|
+
break;
|
|
4369
|
+
case "Enter":
|
|
4370
|
+
this.makeSelection();
|
|
4371
|
+
break;
|
|
4372
|
+
}
|
|
4373
|
+
}
|
|
4374
|
+
|
|
4375
|
+
/**
|
|
4376
|
+
* Makes a selection based on the current index or clicked option.
|
|
4377
|
+
* @private
|
|
4378
|
+
*/
|
|
4379
|
+
makeSelection() {
|
|
4380
|
+
if (!this.items) {
|
|
4381
|
+
this.initItems();
|
|
4382
|
+
}
|
|
4383
|
+
|
|
4384
|
+
// Get currently selected menu option based on index
|
|
4385
|
+
const option = this.items[this.index];
|
|
4386
|
+
|
|
4387
|
+
// Return early if option is not interactive
|
|
4388
|
+
if (!option || !isOptionInteractive(option)) {
|
|
4389
|
+
return;
|
|
4390
|
+
}
|
|
4391
|
+
|
|
4392
|
+
// Handle custom events first
|
|
4393
|
+
if (option.hasAttribute('event')) {
|
|
4394
|
+
this.handleCustomEvent(option);
|
|
4395
|
+
return;
|
|
4396
|
+
}
|
|
4397
|
+
|
|
4398
|
+
if (this.multiSelect) {
|
|
4399
|
+
// In multiselect, toggle individual selections
|
|
4400
|
+
this.toggleOption(option);
|
|
4401
|
+
// In single select, only handle selection of new options
|
|
4402
|
+
} else if (!this.isOptionSelected(option)) {
|
|
4403
|
+
this.clearSelection();
|
|
4404
|
+
this.handleSelectState(option);
|
|
4405
|
+
}
|
|
4406
|
+
|
|
4407
|
+
this.notifySelectionChange();
|
|
4408
|
+
}
|
|
4409
|
+
|
|
4410
|
+
/**
|
|
4411
|
+
* Toggle the selection state of the menuoption.
|
|
4412
|
+
* @private
|
|
4413
|
+
* @param {HTMLElement} option - The menuoption to toggle.
|
|
4414
|
+
*/
|
|
4415
|
+
toggleOption(option) {
|
|
4416
|
+
const isCurrentlySelected = this.isOptionSelected(option);
|
|
4417
|
+
|
|
4418
|
+
if (isCurrentlySelected) {
|
|
4419
|
+
this.handleDeselectState(option);
|
|
4420
|
+
} else if (option.value === undefined || option.value === '') {
|
|
4421
|
+
dispatchMenuEvent(this, 'auroMenu-selectValueFailure');
|
|
4422
|
+
} else {
|
|
4423
|
+
this.handleSelectState(option);
|
|
4424
|
+
}
|
|
4425
|
+
}
|
|
4426
|
+
|
|
4427
|
+
/**
|
|
4428
|
+
* Handles option selection via mouse.
|
|
4429
|
+
* @private
|
|
4430
|
+
* @param {MouseEvent} event - Event object from the browser.
|
|
4431
|
+
*/
|
|
4432
|
+
handleMouseSelect(event) {
|
|
4433
|
+
if (event.target === this) {
|
|
4434
|
+
return;
|
|
4435
|
+
}
|
|
4436
|
+
|
|
4437
|
+
const option = event.target.closest('auro-menuoption, [auro-menuoption]');
|
|
4438
|
+
if (option) {
|
|
4439
|
+
this.index = this.items.indexOf(option);
|
|
4440
|
+
this.makeSelection();
|
|
4441
|
+
}
|
|
4442
|
+
}
|
|
4443
|
+
|
|
4444
|
+
/**
|
|
4445
|
+
* Handles option hover events.
|
|
4446
|
+
* @private
|
|
4447
|
+
* @param {CustomEvent} event - Event object from the browser.
|
|
4448
|
+
*/
|
|
4449
|
+
handleOptionHover(event) {
|
|
4450
|
+
const option = event.target;
|
|
4451
|
+
this.index = this.items.indexOf(option);
|
|
4452
|
+
this.updateActiveOption(this.index);
|
|
4453
|
+
}
|
|
4454
|
+
|
|
4455
|
+
/**
|
|
4456
|
+
* Handles slot change events.
|
|
4457
|
+
* @private
|
|
4458
|
+
*/
|
|
4459
|
+
handleSlotChange() {
|
|
4460
|
+
if (this.parentElement && this.parentElement.closest('auro-menu, [auro-menu]')) {
|
|
4461
|
+
this.rootMenu = false;
|
|
4462
|
+
}
|
|
4463
|
+
|
|
4464
|
+
if (this.rootMenu) {
|
|
4465
|
+
this.initializeMenu();
|
|
4466
|
+
} else if (this.noCheckmark) {
|
|
4467
|
+
this.updateItemsState(new Map([
|
|
4468
|
+
[
|
|
4469
|
+
'noCheckmark',
|
|
4470
|
+
true
|
|
4471
|
+
]
|
|
4472
|
+
]));
|
|
4473
|
+
}
|
|
4474
|
+
}
|
|
4475
|
+
|
|
4476
|
+
/**
|
|
4477
|
+
* Navigates through options using keyboard.
|
|
4478
|
+
* @private
|
|
4479
|
+
* @param {string} direction - 'up' or 'down'.
|
|
4480
|
+
*/
|
|
4481
|
+
navigateOptions(direction) {
|
|
4482
|
+
// Return early if no items exist
|
|
4483
|
+
if (!this.items || !this.items.length) {
|
|
4484
|
+
return;
|
|
4485
|
+
}
|
|
4486
|
+
|
|
4487
|
+
let newIndex = this.index;
|
|
4488
|
+
const increment = direction === 'down' ? 1 : -1;
|
|
4489
|
+
const maxIterations = this.items.length;
|
|
4490
|
+
let iterations = 0;
|
|
4491
|
+
let foundInteractiveOption = false;
|
|
4492
|
+
|
|
4493
|
+
do {
|
|
4494
|
+
newIndex = (newIndex + increment + this.items.length) % this.items.length;
|
|
4495
|
+
iterations += 1;
|
|
4496
|
+
|
|
4497
|
+
// Check if current option is interactive
|
|
4498
|
+
const currentOption = this.items[newIndex];
|
|
4499
|
+
if (isOptionInteractive(currentOption)) {
|
|
4500
|
+
foundInteractiveOption = true;
|
|
4501
|
+
break;
|
|
4502
|
+
}
|
|
4503
|
+
|
|
4504
|
+
// Break if all options were checked
|
|
4505
|
+
if (iterations >= maxIterations) {
|
|
4506
|
+
break;
|
|
4507
|
+
}
|
|
4508
|
+
} while (iterations < maxIterations);
|
|
4509
|
+
|
|
4510
|
+
// Handle the results of the search
|
|
4511
|
+
if (foundInteractiveOption) {
|
|
4512
|
+
// Update only if an interactive option was found
|
|
4513
|
+
this.index = newIndex;
|
|
4514
|
+
this.updateActiveOption(this.index);
|
|
4515
|
+
} else {
|
|
4516
|
+
// All options are disabled or non-interactive
|
|
4517
|
+
// Keep the current index unchanged
|
|
4518
|
+
dispatchMenuEvent(this, 'auroMenu-navigateFailure', {
|
|
4519
|
+
reason: 'No interactive options available',
|
|
4520
|
+
direction,
|
|
4521
|
+
currentIndex: this.index
|
|
4522
|
+
});
|
|
4523
|
+
}
|
|
4524
|
+
}
|
|
4525
|
+
|
|
4526
|
+
/**
|
|
4527
|
+
* Updates the active option state and dispatches events.
|
|
4528
|
+
* @private
|
|
4529
|
+
* @param {number} index - Index of the option to make active.
|
|
4530
|
+
*/
|
|
4531
|
+
updateActiveOption(index) {
|
|
4532
|
+
if (!this.items || !this.items[index]) {
|
|
4533
|
+
return;
|
|
4534
|
+
}
|
|
4535
|
+
|
|
4536
|
+
this.items.forEach((item) => item.classList.remove('active'));
|
|
4537
|
+
this.items[index].classList.add('active');
|
|
4538
|
+
this.optionActive = this.items[index];
|
|
4539
|
+
|
|
4540
|
+
dispatchMenuEvent(this, 'auroMenu-activatedOption', this.items[index]);
|
|
4541
|
+
}
|
|
4542
|
+
|
|
4543
|
+
/**
|
|
4544
|
+
* Handles custom events defined on options.
|
|
4545
|
+
* @private
|
|
4546
|
+
* @param {HTMLElement} option - Option with custom event.
|
|
4547
|
+
*/
|
|
4548
|
+
handleCustomEvent(option) {
|
|
4549
|
+
const eventName = option.getAttribute('event');
|
|
4550
|
+
dispatchMenuEvent(this, eventName);
|
|
4551
|
+
dispatchMenuEvent(this, 'auroMenu-customEventFired');
|
|
4552
|
+
}
|
|
4553
|
+
|
|
4554
|
+
/**
|
|
4555
|
+
* Notifies selection change to parent components.
|
|
4556
|
+
* @private
|
|
4557
|
+
*/
|
|
4558
|
+
notifySelectionChange() {
|
|
4559
|
+
dispatchMenuEvent(this, 'auroMenu-selectedOption');
|
|
4560
|
+
}
|
|
4561
|
+
|
|
4562
|
+
/**
|
|
4563
|
+
* Checks if an option is currently selected.
|
|
4564
|
+
* @private
|
|
4565
|
+
* @param {HTMLElement} option - The option to check.
|
|
4566
|
+
* @returns {boolean}
|
|
4567
|
+
*/
|
|
4568
|
+
isOptionSelected(option) {
|
|
4569
|
+
if (!this.optionSelected) {
|
|
4570
|
+
return false;
|
|
4571
|
+
}
|
|
4572
|
+
// Always treat as array for both single and multi-select
|
|
4573
|
+
return Array.isArray(this.optionSelected) && this.optionSelected.includes(option);
|
|
4574
|
+
}
|
|
4575
|
+
|
|
4576
|
+
/**
|
|
4577
|
+
* Getter for loading placeholder state.
|
|
4578
|
+
* @returns {boolean} - True if loading slots are present and non-empty.
|
|
4579
|
+
*/
|
|
4580
|
+
get hasLoadingPlaceholder() {
|
|
4581
|
+
return this.loadingSlots && this.loadingSlots.length > 0;
|
|
4582
|
+
}
|
|
4583
|
+
|
|
4584
|
+
/**
|
|
4585
|
+
* Renders the component.
|
|
4586
|
+
* @returns {boolean} - True if loading slots are present and non-empty.
|
|
4587
|
+
*/
|
|
4588
|
+
render() {
|
|
4589
|
+
if (this.loading) {
|
|
4590
|
+
return x`
|
|
4591
|
+
<auro-menuoption disabled loadingplaceholder class="${this.hasLoadingPlaceholder ? '' : 'empty'}">
|
|
4592
|
+
<div>
|
|
4593
|
+
<slot name="loadingIcon"></slot>
|
|
4594
|
+
<slot name="loadingText"></slot>
|
|
4595
|
+
</div>
|
|
4596
|
+
</auro-menuoption>
|
|
4597
|
+
`;
|
|
4598
|
+
}
|
|
4599
|
+
|
|
4600
|
+
return x`<slot @slotchange=${this.handleSlotChange}></slot>`;
|
|
4601
|
+
}
|
|
4602
|
+
}
|
|
4603
|
+
|
|
4604
|
+
/**
|
|
4605
|
+
* @license
|
|
4606
|
+
* Copyright 2020 Google LLC
|
|
4607
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
4608
|
+
*/
|
|
4609
|
+
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);
|
|
4610
|
+
|
|
4611
|
+
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}`;
|
|
4612
|
+
|
|
4613
|
+
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)}`;
|
|
4614
|
+
|
|
4615
|
+
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
4616
|
+
// See LICENSE in the project root for license information.
|
|
4617
|
+
|
|
4618
|
+
|
|
4619
|
+
class AuroDependencyVersioning {
|
|
4620
|
+
|
|
4621
|
+
/**
|
|
4622
|
+
* Generates a unique string to be used for child auro element naming.
|
|
4623
|
+
* @private
|
|
4624
|
+
* @param {string} baseName - Defines the first part of the unique element name.
|
|
4625
|
+
* @param {string} version - Version of the component that will be appended to the baseName.
|
|
4626
|
+
* @returns {string} - Unique string to be used for naming.
|
|
4627
|
+
*/
|
|
4628
|
+
generateElementName(baseName, version) {
|
|
4629
|
+
let result = baseName;
|
|
4630
|
+
|
|
4631
|
+
result += '-';
|
|
4632
|
+
result += version.replace(/[.]/g, '_');
|
|
4633
|
+
|
|
4634
|
+
return result;
|
|
4635
|
+
}
|
|
4636
|
+
|
|
4637
|
+
/**
|
|
4638
|
+
* Generates a unique string to be used for child auro element naming.
|
|
4639
|
+
* @param {string} baseName - Defines the first part of the unique element name.
|
|
4640
|
+
* @param {string} version - Version of the component that will be appended to the baseName.
|
|
4641
|
+
* @returns {string} - Unique string to be used for naming.
|
|
4642
|
+
*/
|
|
4643
|
+
generateTag(baseName, version, tagClass) {
|
|
4644
|
+
const elementName = this.generateElementName(baseName, version);
|
|
4645
|
+
const tag = i$1`${s(elementName)}`;
|
|
4646
|
+
|
|
4647
|
+
if (!customElements.get(elementName)) {
|
|
4648
|
+
customElements.define(elementName, class extends tagClass {});
|
|
4649
|
+
}
|
|
4650
|
+
|
|
4651
|
+
return tag;
|
|
4652
|
+
}
|
|
4653
|
+
}
|
|
4654
|
+
|
|
4655
|
+
/**
|
|
4656
|
+
* @license
|
|
4657
|
+
* Copyright 2017 Google LLC
|
|
4658
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
4659
|
+
*/
|
|
4660
|
+
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)}}
|
|
4661
|
+
|
|
4662
|
+
/**
|
|
4663
|
+
* @license
|
|
4664
|
+
* Copyright 2018 Google LLC
|
|
4665
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
4666
|
+
*/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}});
|
|
4667
|
+
|
|
4668
|
+
/**
|
|
4669
|
+
* @license
|
|
4670
|
+
* Copyright 2018 Google LLC
|
|
4671
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
4672
|
+
*/const o=o=>o??E;
|
|
4673
|
+
|
|
4674
|
+
// Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
4675
|
+
// See LICENSE in the project root for license information.
|
|
4676
|
+
|
|
4677
|
+
|
|
4678
|
+
/**
|
|
4679
|
+
* @attr {Boolean} hidden - If present, the component will be hidden both visually and from screen readers
|
|
4680
|
+
* @attr {Boolean} hiddenVisually - If present, the component will be hidden visually, but still read by screen readers
|
|
4681
|
+
* @attr {Boolean} hiddenAudible - If present, the component will be hidden from screen readers, but seen visually
|
|
4682
|
+
*/
|
|
4683
|
+
|
|
4684
|
+
class AuroElement extends r {
|
|
4685
|
+
|
|
4686
|
+
// function to define props used within the scope of this component
|
|
4687
|
+
static get properties() {
|
|
4688
|
+
return {
|
|
4689
|
+
hidden: { type: Boolean,
|
|
4690
|
+
reflect: true },
|
|
4691
|
+
hiddenVisually: { type: Boolean,
|
|
4692
|
+
reflect: true },
|
|
4693
|
+
hiddenAudible: { type: Boolean,
|
|
4694
|
+
reflect: true },
|
|
4695
|
+
};
|
|
4696
|
+
}
|
|
4697
|
+
|
|
4698
|
+
/**
|
|
4699
|
+
* @private Function that determines state of aria-hidden
|
|
4700
|
+
*/
|
|
4701
|
+
hideAudible(value) {
|
|
4702
|
+
if (value) {
|
|
4703
|
+
return 'true'
|
|
4704
|
+
}
|
|
4705
|
+
|
|
4706
|
+
return 'false'
|
|
4707
|
+
}
|
|
4708
|
+
}
|
|
4709
|
+
|
|
4710
|
+
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>"};
|
|
4711
|
+
|
|
4712
|
+
/* eslint-disable no-underscore-dangle, jsdoc/no-undefined-types, jsdoc/require-param-description */
|
|
4713
|
+
|
|
4714
|
+
const _fetchMap = new Map();
|
|
4715
|
+
|
|
4716
|
+
/**
|
|
4717
|
+
* A callback to parse Response body.
|
|
4718
|
+
*
|
|
4719
|
+
* @callback ResponseParser
|
|
4720
|
+
* @param {Fetch.Response} response
|
|
4721
|
+
* @returns {Promise}
|
|
4722
|
+
*/
|
|
4723
|
+
|
|
4724
|
+
/**
|
|
4725
|
+
* A minimal in-memory map to de-duplicate Fetch API media requests.
|
|
4726
|
+
*
|
|
4727
|
+
* @param {String} uri
|
|
4728
|
+
* @param {Object} [options={}]
|
|
4729
|
+
* @param {ResponseParser} [options.responseParser=(response) => response.text()]
|
|
4730
|
+
* @returns {Promise}
|
|
4731
|
+
*/
|
|
4732
|
+
const cacheFetch = (uri, options = {}) => {
|
|
4733
|
+
const responseParser = options.responseParser || ((response) => response.text());
|
|
4734
|
+
if (!_fetchMap.has(uri)) {
|
|
4735
|
+
_fetchMap.set(uri, fetch(uri).then(responseParser));
|
|
4736
|
+
}
|
|
4737
|
+
return _fetchMap.get(uri);
|
|
4738
|
+
};
|
|
4739
|
+
|
|
4740
|
+
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}`;
|
|
4741
|
+
|
|
4742
|
+
// Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
4743
|
+
// See LICENSE in the project root for license information.
|
|
4744
|
+
|
|
4745
|
+
|
|
4746
|
+
// See https://git.io/JJ6SJ for "How to document your components using JSDoc"
|
|
4747
|
+
/**
|
|
4748
|
+
* @attr {Boolean} onDark - Set value for on-dark version of auro-icon
|
|
4749
|
+
* @slot - Hidden from visibility, used for a11y if icon description is needed
|
|
4750
|
+
*/
|
|
4751
|
+
|
|
4752
|
+
// build the component class
|
|
4753
|
+
class BaseIcon extends AuroElement {
|
|
4754
|
+
constructor() {
|
|
4755
|
+
super();
|
|
4756
|
+
this.onDark = false;
|
|
4757
|
+
}
|
|
4758
|
+
|
|
4759
|
+
// function to define props used within the scope of this component
|
|
4760
|
+
static get properties() {
|
|
4761
|
+
return {
|
|
4762
|
+
...super.properties,
|
|
4763
|
+
onDark: {
|
|
4764
|
+
type: Boolean,
|
|
4765
|
+
reflect: true
|
|
4766
|
+
},
|
|
4767
|
+
|
|
4768
|
+
/**
|
|
4769
|
+
* @private
|
|
4770
|
+
*/
|
|
4771
|
+
svg: {
|
|
4772
|
+
attribute: false,
|
|
4773
|
+
reflect: true
|
|
4774
|
+
}
|
|
4775
|
+
};
|
|
4776
|
+
}
|
|
4777
|
+
|
|
4778
|
+
static get styles() {
|
|
4779
|
+
return i$5`
|
|
4780
|
+
${styleCss$3}
|
|
4781
|
+
`;
|
|
4782
|
+
}
|
|
4783
|
+
|
|
4784
|
+
/**
|
|
4785
|
+
* Async function to fetch requested icon from npm CDN.
|
|
4786
|
+
* @private
|
|
4787
|
+
* @param {string} category - Icon category.
|
|
4788
|
+
* @param {string} name - Icon name.
|
|
4789
|
+
* @returns {SVGElement} DOM - Ready HTML to be appended.
|
|
4790
|
+
*/
|
|
4791
|
+
async fetchIcon(category, name) {
|
|
4792
|
+
let iconHTML = '';
|
|
4793
|
+
|
|
4794
|
+
if (category === 'logos') {
|
|
4795
|
+
iconHTML = await cacheFetch(`${this.uri}/${category}/${name}.svg`);
|
|
4796
|
+
} else {
|
|
4797
|
+
iconHTML = await cacheFetch(`${this.uri}/icons/${category}/${name}.svg`);
|
|
4798
|
+
}
|
|
4799
|
+
|
|
4800
|
+
const dom = new DOMParser().parseFromString(iconHTML, 'text/html');
|
|
4801
|
+
|
|
4802
|
+
return dom.body.querySelector('svg');
|
|
4803
|
+
}
|
|
4804
|
+
|
|
4805
|
+
// lifecycle function
|
|
4806
|
+
async firstUpdated() {
|
|
4807
|
+
if (!this.customSvg) {
|
|
4808
|
+
const svg = await this.fetchIcon(this.category, this.name);
|
|
4809
|
+
|
|
4810
|
+
if (svg) {
|
|
4811
|
+
this.svg = svg;
|
|
4812
|
+
} else if (!svg) {
|
|
4813
|
+
const penDOM = new DOMParser().parseFromString(error.svg, 'text/html');
|
|
4814
|
+
|
|
4815
|
+
this.svg = penDOM.body.firstChild;
|
|
4816
|
+
}
|
|
4817
|
+
}
|
|
4818
|
+
}
|
|
4819
|
+
}
|
|
4820
|
+
|
|
4821
|
+
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)}`;
|
|
4822
|
+
|
|
4823
|
+
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)}`;
|
|
4824
|
+
|
|
4825
|
+
// Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
4826
|
+
// See LICENSE in the project root for license information.
|
|
4827
|
+
|
|
4828
|
+
|
|
4829
|
+
// See https://git.io/JJ6SJ for "How to document your components using JSDoc"
|
|
4830
|
+
/**
|
|
4831
|
+
* auro-icon provides users a way to use the Auro Icons by simply passing in the category and name.
|
|
4832
|
+
*
|
|
4833
|
+
* @attr {String} category - The category of the icon you are looking for. See https://auro.alaskaair.com/icons/usage.
|
|
4834
|
+
* @attr {String} name - The name of the icon you are looking for without the file extension. See https://auro.alaskaair.com/icons/usage
|
|
4835
|
+
* @attr {Boolean} customColor - Removes primary selector.
|
|
4836
|
+
* @attr {Boolean} customSvg - When true, auro-icon will render a custom SVG inside the default slot.
|
|
4837
|
+
* @attr {Boolean} label - Exposes content in slot as icon label.
|
|
4838
|
+
* @attr {Boolean} primary - DEPRECATED: Sets the icon to use the baseline primary icon style.
|
|
4839
|
+
* @attr {Boolean} accent - Sets the icon to use the accent style.
|
|
4840
|
+
* @attr {Boolean} emphasis - Sets the icon to use the emphasis style.
|
|
4841
|
+
* @attr {Boolean} disabled - Sets the icon to use the disabled style.
|
|
4842
|
+
* @attr {Boolean} error - Sets the icon to use the error style.
|
|
4843
|
+
* @attr {Boolean} info - Sets the icon to use the info style.
|
|
4844
|
+
* @attr {Boolean} secondary - Sets the icon to use the secondary style.
|
|
4845
|
+
* @attr {Boolean} tertiary - Sets the icon to use the tertiary style.
|
|
4846
|
+
* @attr {Boolean} subtle - Sets the icon to use the subtle style.
|
|
4847
|
+
* @attr {Boolean} success - Sets the icon to use the success style.
|
|
4848
|
+
* @attr {Boolean} warning - Sets the icon to use the warning style.
|
|
4849
|
+
* @attr {String} ariaHidden - Set aria-hidden value. Default is `true`. Option is `false`.
|
|
4850
|
+
* @attr {String} uri - Set the uri for CDN used when fetching icons
|
|
4851
|
+
* @slot - Hidden from visibility, used for a11y if icon description is needed.
|
|
4852
|
+
* @slot svg - Used for custom SVG content.
|
|
4853
|
+
*/
|
|
4854
|
+
|
|
4855
|
+
// build the component class
|
|
4856
|
+
class AuroIcon extends BaseIcon {
|
|
4857
|
+
constructor() {
|
|
4858
|
+
super();
|
|
4859
|
+
|
|
4860
|
+
this.uri = 'https://cdn.jsdelivr.net/npm/@alaskaairux/icons@latest/dist';
|
|
4861
|
+
|
|
4862
|
+
this.privateDefaults();
|
|
4863
|
+
}
|
|
4864
|
+
|
|
4865
|
+
/**
|
|
4866
|
+
* Internal Defaults.
|
|
4867
|
+
* @private
|
|
4868
|
+
* @returns {void}
|
|
4869
|
+
*/
|
|
4870
|
+
privateDefaults() {
|
|
4871
|
+
this.accent = false;
|
|
4872
|
+
this.customColor = false;
|
|
4873
|
+
this.customSvg = false;
|
|
4874
|
+
this.disabled = false;
|
|
4875
|
+
this.emphasis = false;
|
|
4876
|
+
this.error = false;
|
|
4877
|
+
this.info = false;
|
|
4878
|
+
this.label = false;
|
|
4879
|
+
this.primary = false;
|
|
4880
|
+
this.secondary = false;
|
|
4881
|
+
this.subtle = false;
|
|
4882
|
+
this.success = false;
|
|
4883
|
+
this.tertiary = false;
|
|
4884
|
+
this.warning = false;
|
|
4885
|
+
this.runtimeUtils = new AuroLibraryRuntimeUtils();
|
|
4886
|
+
}
|
|
4887
|
+
|
|
4888
|
+
// function to define props used within the scope of this component
|
|
4889
|
+
static get properties() {
|
|
4890
|
+
return {
|
|
4891
|
+
...super.properties,
|
|
4892
|
+
accent: {
|
|
4893
|
+
type: Boolean,
|
|
4894
|
+
reflect: true
|
|
4895
|
+
},
|
|
4896
|
+
ariaHidden: {
|
|
4897
|
+
type: String,
|
|
4898
|
+
reflect: true
|
|
4899
|
+
},
|
|
4900
|
+
category: {
|
|
4901
|
+
type: String,
|
|
4902
|
+
reflect: true
|
|
4903
|
+
},
|
|
4904
|
+
customColor: {
|
|
4905
|
+
type: Boolean
|
|
4906
|
+
},
|
|
4907
|
+
customSvg: {
|
|
4908
|
+
type: Boolean
|
|
4909
|
+
},
|
|
4910
|
+
disabled: {
|
|
4911
|
+
type: Boolean,
|
|
4912
|
+
reflect: true
|
|
4913
|
+
},
|
|
4914
|
+
emphasis: {
|
|
4915
|
+
type: Boolean,
|
|
4916
|
+
reflect: true
|
|
4917
|
+
},
|
|
4918
|
+
error: {
|
|
4919
|
+
type: Boolean,
|
|
4920
|
+
reflect: true
|
|
4921
|
+
},
|
|
4922
|
+
info: {
|
|
4923
|
+
type: Boolean,
|
|
4924
|
+
reflect: true
|
|
4925
|
+
},
|
|
4926
|
+
label: {
|
|
4927
|
+
type: Boolean,
|
|
4928
|
+
reflect: true
|
|
4929
|
+
},
|
|
4930
|
+
name: {
|
|
4931
|
+
type: String,
|
|
4932
|
+
reflect: true
|
|
4933
|
+
},
|
|
4934
|
+
primary: {
|
|
4935
|
+
type: Boolean,
|
|
4936
|
+
reflect: true
|
|
4937
|
+
},
|
|
4938
|
+
secondary: {
|
|
4939
|
+
type: Boolean,
|
|
4940
|
+
reflect: true
|
|
4941
|
+
},
|
|
4942
|
+
subtle: {
|
|
4943
|
+
type: Boolean,
|
|
4944
|
+
reflect: true
|
|
4945
|
+
},
|
|
4946
|
+
success: {
|
|
4947
|
+
type: Boolean,
|
|
4948
|
+
reflect: true
|
|
4949
|
+
},
|
|
4950
|
+
tertiary: {
|
|
4951
|
+
type: Boolean,
|
|
4952
|
+
reflect: true
|
|
4953
|
+
},
|
|
4954
|
+
uri: {
|
|
4955
|
+
type: String
|
|
4956
|
+
},
|
|
4957
|
+
warning: {
|
|
4958
|
+
type: Boolean,
|
|
4959
|
+
reflect: true
|
|
4960
|
+
}
|
|
4961
|
+
};
|
|
4962
|
+
}
|
|
4963
|
+
|
|
4964
|
+
static get styles() {
|
|
4965
|
+
return [
|
|
4966
|
+
super.styles,
|
|
4967
|
+
i$5`${tokensCss$2}`,
|
|
4968
|
+
i$5`${styleCss$3}`,
|
|
4969
|
+
i$5`${colorCss$3}`
|
|
4970
|
+
];
|
|
4971
|
+
}
|
|
4972
|
+
|
|
4973
|
+
/**
|
|
4974
|
+
* This will register this element with the browser.
|
|
4975
|
+
* @param {string} [name="auro-icon"] - The name of element that you want to register to.
|
|
4976
|
+
*
|
|
4977
|
+
* @example
|
|
4978
|
+
* AuroIcon.register("custom-icon") // this will register this element to <custom-icon/>
|
|
4979
|
+
*
|
|
4980
|
+
*/
|
|
4981
|
+
static register(name = "auro-icon") {
|
|
4982
|
+
AuroLibraryRuntimeUtils.prototype.registerComponent(name, AuroIcon);
|
|
4983
|
+
}
|
|
4984
|
+
|
|
4985
|
+
connectedCallback() {
|
|
4986
|
+
super.connectedCallback();
|
|
4987
|
+
|
|
4988
|
+
// Add the tag name as an attribute if it is different than the component name
|
|
4989
|
+
this.runtimeUtils.handleComponentTagRename(this, 'auro-icon');
|
|
4990
|
+
}
|
|
4991
|
+
|
|
4992
|
+
/**
|
|
4993
|
+
* @returns {void} Exposes CSS parts for styling from parent components.
|
|
4994
|
+
*/
|
|
4995
|
+
exposeCssParts() {
|
|
4996
|
+
this.setAttribute('exportparts', 'svg:iconSvg');
|
|
4997
|
+
}
|
|
4998
|
+
|
|
4999
|
+
// function that renders the HTML and CSS into the scope of the component
|
|
5000
|
+
render() {
|
|
5001
|
+
const a11y = {
|
|
5002
|
+
'labelContainer': true,
|
|
5003
|
+
'util_displayHiddenVisually': !this.label
|
|
5004
|
+
};
|
|
5005
|
+
|
|
5006
|
+
const classes = {
|
|
5007
|
+
'label': this.label,
|
|
5008
|
+
'wrapper': true,
|
|
5009
|
+
};
|
|
5010
|
+
|
|
5011
|
+
return x`
|
|
5012
|
+
<div
|
|
5013
|
+
class="${e(classes)}"
|
|
5014
|
+
title="${o(this.title || undefined)}">
|
|
5015
|
+
<span aria-hidden="${o(this.ariaHidden ? this.ariaHidden : true)}" part="svg">
|
|
5016
|
+
${this.customSvg ? x`
|
|
5017
|
+
<slot name="svg"></slot>
|
|
5018
|
+
` : x`
|
|
5019
|
+
${this.svg}
|
|
5020
|
+
`
|
|
5021
|
+
}
|
|
5022
|
+
</span>
|
|
5023
|
+
|
|
5024
|
+
<div class="${e(a11y)}">
|
|
5025
|
+
<slot></slot>
|
|
5026
|
+
</div>
|
|
5027
|
+
</div>
|
|
5028
|
+
`;
|
|
5029
|
+
}
|
|
5030
|
+
}
|
|
5031
|
+
|
|
5032
|
+
var iconVersion = '6.1.2';
|
|
5033
|
+
|
|
5034
|
+
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>"};
|
|
5035
|
+
|
|
5036
|
+
// Copyright (c) 2021 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
5037
|
+
// See LICENSE in the project root for license information.
|
|
5038
|
+
|
|
5039
|
+
|
|
5040
|
+
/**
|
|
5041
|
+
* The auro-menu element provides users a way to define a menu option.
|
|
5042
|
+
*
|
|
5043
|
+
* @attr {String} value - Specifies the value to be sent to a server.
|
|
5044
|
+
* @attr {String} noCheckmark - When true, selected option will not show the checkmark.
|
|
5045
|
+
* @attr {Boolean} disabled - When true specifies that the menuoption is disabled.
|
|
5046
|
+
* @attr {Boolean} selected - Specifies that an option is selected.
|
|
5047
|
+
* @event auroMenuOption-mouseover - Notifies that this option has been hovered over.
|
|
5048
|
+
* @slot - Specifies text for an option, but is not the value.
|
|
5049
|
+
*/
|
|
5050
|
+
class AuroMenuOption extends r {
|
|
5051
|
+
constructor() {
|
|
5052
|
+
super();
|
|
5053
|
+
|
|
5054
|
+
/**
|
|
5055
|
+
* Generate unique names for dependency components.
|
|
5056
|
+
*/
|
|
5057
|
+
const versioning = new AuroDependencyVersioning();
|
|
5058
|
+
this.iconTag = versioning.generateTag('auro-icon', iconVersion, AuroIcon);
|
|
5059
|
+
|
|
5060
|
+
this.selected = false;
|
|
5061
|
+
this.nocheckmark = false;
|
|
5062
|
+
this.disabled = false;
|
|
5063
|
+
|
|
5064
|
+
/**
|
|
5065
|
+
* @private
|
|
5066
|
+
*/
|
|
5067
|
+
this.tabIndex = -1;
|
|
5068
|
+
|
|
5069
|
+
/**
|
|
5070
|
+
* @private
|
|
5071
|
+
*/
|
|
5072
|
+
this.runtimeUtils = new AuroLibraryRuntimeUtils();
|
|
5073
|
+
}
|
|
5074
|
+
|
|
5075
|
+
static get properties() {
|
|
5076
|
+
return {
|
|
5077
|
+
nocheckmark: {
|
|
5078
|
+
type: Boolean,
|
|
5079
|
+
reflect: true
|
|
5080
|
+
},
|
|
5081
|
+
selected: {
|
|
5082
|
+
type: Boolean,
|
|
5083
|
+
reflect: true
|
|
5084
|
+
},
|
|
5085
|
+
disabled: {
|
|
5086
|
+
type: Boolean,
|
|
5087
|
+
reflect: true
|
|
5088
|
+
},
|
|
5089
|
+
value: {
|
|
5090
|
+
type: String
|
|
3065
5091
|
},
|
|
3066
|
-
|
|
3067
|
-
|
|
3068
|
-
|
|
3069
|
-
|
|
3070
|
-
dropdownWidth: { type: Number },
|
|
3071
|
-
|
|
3072
|
-
/**
|
|
3073
|
-
* @private
|
|
3074
|
-
*/
|
|
3075
|
-
placement: { type: String },
|
|
3076
|
-
|
|
3077
|
-
/**
|
|
3078
|
-
* @private
|
|
3079
|
-
*/
|
|
3080
|
-
tabIndex: { type: Number }
|
|
5092
|
+
tabIndex: {
|
|
5093
|
+
type: Number,
|
|
5094
|
+
reflect: true
|
|
5095
|
+
}
|
|
3081
5096
|
};
|
|
3082
5097
|
}
|
|
3083
5098
|
|
|
@@ -3085,165 +5100,78 @@ class AuroDropdown extends r {
|
|
|
3085
5100
|
return [
|
|
3086
5101
|
styleCss$1,
|
|
3087
5102
|
colorCss$1,
|
|
3088
|
-
tokensCss$
|
|
5103
|
+
tokensCss$1
|
|
3089
5104
|
];
|
|
3090
5105
|
}
|
|
3091
5106
|
|
|
3092
5107
|
/**
|
|
3093
5108
|
* This will register this element with the browser.
|
|
3094
|
-
* @param {string} [name="auro-
|
|
5109
|
+
* @param {string} [name="auro-menuoption"] - The name of element that you want to register to.
|
|
3095
5110
|
*
|
|
3096
5111
|
* @example
|
|
3097
|
-
*
|
|
5112
|
+
* AuroMenuOption.register("custom-menuoption") // this will register this element to <custom-menuoption/>
|
|
3098
5113
|
*
|
|
3099
5114
|
*/
|
|
3100
|
-
static register(name = "auro-
|
|
3101
|
-
AuroLibraryRuntimeUtils.prototype.registerComponent(name,
|
|
3102
|
-
}
|
|
3103
|
-
|
|
3104
|
-
connectedCallback() {
|
|
3105
|
-
super.connectedCallback();
|
|
3106
|
-
}
|
|
3107
|
-
|
|
3108
|
-
disconnectedCallback() {
|
|
3109
|
-
super.disconnectedCallback();
|
|
3110
|
-
}
|
|
3111
|
-
|
|
3112
|
-
updated(changedProperties) {
|
|
3113
|
-
this.floater.handleUpdate(changedProperties);
|
|
3114
|
-
|
|
3115
|
-
if (changedProperties.has('mobileFullscreenBreakpoint')) {
|
|
3116
|
-
this.bibContent.mobileFullscreenBreakpoint = this.mobileFullscreenBreakpoint;
|
|
3117
|
-
}
|
|
5115
|
+
static register(name = "auro-menuoption") {
|
|
5116
|
+
AuroLibraryRuntimeUtils.prototype.registerComponent(name, AuroMenuOption);
|
|
3118
5117
|
}
|
|
3119
5118
|
|
|
3120
5119
|
firstUpdated() {
|
|
3121
|
-
this.floater.configure(this, 'auroDropdown');
|
|
3122
|
-
this.bibContent = this.floater.element.bib;
|
|
3123
|
-
|
|
3124
5120
|
// Add the tag name as an attribute if it is different than the component name
|
|
3125
|
-
this.runtimeUtils.handleComponentTagRename(this, 'auro-
|
|
3126
|
-
}
|
|
3127
|
-
|
|
3128
|
-
/**
|
|
3129
|
-
* Exposes CSS parts for styling from parent components.
|
|
3130
|
-
* @private
|
|
3131
|
-
* @returns {void}
|
|
3132
|
-
*/
|
|
3133
|
-
exposeCssParts() {
|
|
3134
|
-
this.setAttribute('exportparts', 'trigger:dropdownTrigger, chevron:dropdownChevron, helpText:dropdownHelpText, size:dropdownSize');
|
|
3135
|
-
}
|
|
3136
|
-
|
|
3137
|
-
/**
|
|
3138
|
-
* Determines if content is within a custom slot.
|
|
3139
|
-
* @private
|
|
3140
|
-
* @param {HTMLElement} element - The element to check.
|
|
3141
|
-
* @returns {Boolean}
|
|
3142
|
-
*/
|
|
3143
|
-
isCustomSlotContent(element) {
|
|
3144
|
-
let currentElement = element;
|
|
5121
|
+
this.runtimeUtils.handleComponentTagRename(this, 'auro-menuoption');
|
|
3145
5122
|
|
|
3146
|
-
|
|
5123
|
+
this.setAttribute('role', 'option');
|
|
5124
|
+
this.setAttribute('aria-selected', 'false');
|
|
3147
5125
|
|
|
3148
|
-
|
|
3149
|
-
|
|
5126
|
+
this.addEventListener('mouseover', () => {
|
|
5127
|
+
this.dispatchEvent(new CustomEvent('auroMenuOption-mouseover', {
|
|
5128
|
+
bubbles: true,
|
|
5129
|
+
cancelable: false,
|
|
5130
|
+
composed: true,
|
|
5131
|
+
detail: this
|
|
5132
|
+
}));
|
|
5133
|
+
});
|
|
5134
|
+
}
|
|
3150
5135
|
|
|
3151
|
-
|
|
3152
|
-
|
|
3153
|
-
|
|
3154
|
-
|
|
5136
|
+
// observer for selected property changes
|
|
5137
|
+
updated(changedProperties) {
|
|
5138
|
+
if (changedProperties.has('selected')) {
|
|
5139
|
+
this.setAttribute('aria-selected', this.selected.toString());
|
|
3155
5140
|
}
|
|
3156
|
-
|
|
3157
|
-
return inCustomSlot;
|
|
3158
5141
|
}
|
|
3159
5142
|
|
|
3160
5143
|
/**
|
|
3161
|
-
*
|
|
3162
|
-
*
|
|
3163
|
-
* This method retrieves all nodes assigned to the default slot of the event target and appends them
|
|
3164
|
-
* to the `bibContent` element. If a callback function `onSlotChange` is defined, it is invoked to
|
|
3165
|
-
* notify about the slot change.
|
|
5144
|
+
* Generates an HTML element containing an SVG icon based on the provided `svgContent`.
|
|
3166
5145
|
*
|
|
3167
5146
|
* @private
|
|
3168
|
-
* @
|
|
3169
|
-
* @
|
|
3170
|
-
* @fires Function#onSlotChange - Optional callback invoked when the slot content changes.
|
|
5147
|
+
* @param {string} svgContent - The SVG content to be embedded.
|
|
5148
|
+
* @returns {Element} The HTML element containing the SVG icon.
|
|
3171
5149
|
*/
|
|
3172
|
-
|
|
3173
|
-
|
|
5150
|
+
generateIconHtml(svgContent) {
|
|
5151
|
+
const dom = new DOMParser().parseFromString(svgContent, 'text/html');
|
|
5152
|
+
const svg = dom.body.firstChild;
|
|
3174
5153
|
|
|
3175
|
-
|
|
3176
|
-
|
|
3177
|
-
}
|
|
5154
|
+
svg.setAttribute('slot', 'svg');
|
|
5155
|
+
|
|
5156
|
+
return u`<${this.iconTag} customColor customSvg slot="icon">${svg}</${this.iconTag}>`;
|
|
3178
5157
|
}
|
|
3179
5158
|
|
|
3180
|
-
// function that renders the HTML and CSS into the scope of the component
|
|
3181
5159
|
render() {
|
|
3182
|
-
return u
|
|
3183
|
-
|
|
3184
|
-
|
|
3185
|
-
id="trigger"
|
|
3186
|
-
class="trigger"
|
|
3187
|
-
part="trigger"
|
|
3188
|
-
role="button"
|
|
3189
|
-
aria-labelledby="triggerLabel"
|
|
3190
|
-
aria-controls="popover"
|
|
3191
|
-
tabindex="${this.tabIndex}"
|
|
3192
|
-
>
|
|
3193
|
-
<div class="triggerContentWrapper">
|
|
3194
|
-
<label class="label" id="triggerLabel">
|
|
3195
|
-
<slot name="label"></slot>
|
|
3196
|
-
</label>
|
|
3197
|
-
<div class="triggerContent">
|
|
3198
|
-
<slot
|
|
3199
|
-
name="trigger"
|
|
3200
|
-
@slotchange="${() => {this.floater.handleTriggerTabIndex(); }}"></slot>
|
|
3201
|
-
</div>
|
|
3202
|
-
</div>
|
|
3203
|
-
${this.chevron || this.common ? u$1`
|
|
3204
|
-
<div
|
|
3205
|
-
id="showStateIcon"
|
|
3206
|
-
part="chevron">
|
|
3207
|
-
<${this.iconTag}
|
|
3208
|
-
category="interface"
|
|
3209
|
-
name="chevron-down"
|
|
3210
|
-
customColor
|
|
3211
|
-
?disabled=${this.disabled}
|
|
3212
|
-
>
|
|
3213
|
-
</${this.iconTag}>
|
|
3214
|
-
</div>
|
|
3215
|
-
` : undefined }
|
|
3216
|
-
</div>
|
|
3217
|
-
<div
|
|
3218
|
-
class="helpText"
|
|
3219
|
-
part="helpText">
|
|
3220
|
-
<slot name="helpText"></slot>
|
|
3221
|
-
</div>
|
|
3222
|
-
<div class="slotContent">
|
|
3223
|
-
<slot @slotchange="${this.handleDefaultSlot}"></slot>
|
|
3224
|
-
</div>
|
|
3225
|
-
<div id="bibSizer" part="size"></div>
|
|
3226
|
-
<auro-dropdownbib
|
|
3227
|
-
id="bib"
|
|
3228
|
-
role="tooltip"
|
|
3229
|
-
?common="${this.common}"
|
|
3230
|
-
?rounded="${this.common || this.rounded}"
|
|
3231
|
-
?inset="${this.common || this.inset}">
|
|
3232
|
-
</auro-dropdownbib>
|
|
3233
|
-
</div>
|
|
5160
|
+
return u`
|
|
5161
|
+
${this.selected && !this.nocheckmark ? this.generateIconHtml(checkmarkIcon.svg) : undefined}
|
|
5162
|
+
<slot></slot>
|
|
3234
5163
|
`;
|
|
3235
5164
|
}
|
|
3236
5165
|
}
|
|
3237
5166
|
|
|
3238
|
-
|
|
3239
|
-
|
|
3240
|
-
var dropdownVersion = '3.0.0';
|
|
5167
|
+
AuroMenu.register();
|
|
5168
|
+
AuroMenuOption.register();
|
|
3241
5169
|
|
|
3242
|
-
var styleCss = i$
|
|
5170
|
+
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)}`;
|
|
3243
5171
|
|
|
3244
|
-
var colorCss = i$
|
|
5172
|
+
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)}`;
|
|
3245
5173
|
|
|
3246
|
-
var tokensCss = i$
|
|
5174
|
+
var tokensCss = i$g`:host{--ds-auro-select-placeholder-text-color: var(--ds-color-text-secondary-default, $ds-color-text-secondary-default)}`;
|
|
3247
5175
|
|
|
3248
5176
|
// Copyright (c) 2021 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
3249
5177
|
// See LICENSE in the project root for license information.
|
|
@@ -3253,35 +5181,22 @@ var tokensCss = i$a`:host{--ds-auro-select-placeholder-text-color: var(--ds-colo
|
|
|
3253
5181
|
/**
|
|
3254
5182
|
* The auro-select element is a wrapper for auro-dropdown and auro-menu to create a dropdown menu control.
|
|
3255
5183
|
*
|
|
3256
|
-
* @attr {String} validity - Specifies the `validityState` this element is in.
|
|
3257
|
-
* @attr {String} setCustomValidity - Sets a custom help text message to display for all validityStates.
|
|
3258
|
-
* @attr {String} setCustomValidityCustomError - Custom help text message to display when validity = `customError`.
|
|
3259
|
-
* @attr {String} setCustomValidityValueMissing - Custom help text message to display when validity = `valueMissing`.
|
|
3260
|
-
* @attr {String} error - When defined, sets persistent validity to `customError` and sets the validation message to the attribute value.
|
|
3261
|
-
* @attr {Boolean} noValidate - If set, disables auto-validation on blur.
|
|
3262
|
-
* @attr {Boolean} required - Populates the `required` attribute on the element. Used for client-side validation.
|
|
3263
|
-
* @attr {Boolean} flexMenuWidth - If set, makes dropdown bib width match the size of the content, rather than the width of the trigger.
|
|
3264
|
-
* @prop {String} placeholder - Define placeholder text to display before a value is manually selected.
|
|
3265
|
-
* @prop {String} value - Value selected for the component.
|
|
3266
|
-
* @prop {Boolean} disabled - When attribute is present element shows disabled state.
|
|
3267
|
-
* @prop {Boolean} noCheckmark - When true, checkmark on selected option will no longer be present.
|
|
3268
|
-
* @attr {Object} optionSelected - Specifies the current selected menuOption.
|
|
3269
5184
|
* @slot - Default slot for the menu content.
|
|
3270
5185
|
* @slot label - Defines the content of the label.
|
|
3271
5186
|
* @slot helpText - Defines the content of the helpText.
|
|
5187
|
+
* @slot placeholder - Defines the content of the placeholder to be shown when there is no value
|
|
3272
5188
|
* @event auroSelect-valueSet - Notifies that the component has a new value set.
|
|
3273
5189
|
* @event auroFormElement-validated - Notifies that the `validity` and `errorMessage` values have changed.
|
|
3274
5190
|
* @csspart helpText - Apply CSS to the help text.
|
|
3275
5191
|
*/
|
|
3276
5192
|
|
|
3277
5193
|
// build the component class
|
|
3278
|
-
class AuroSelect extends r$
|
|
5194
|
+
class AuroSelect extends r$9 {
|
|
3279
5195
|
constructor() {
|
|
3280
5196
|
super();
|
|
3281
5197
|
|
|
3282
|
-
this.placeholder = 'Please select option';
|
|
3283
5198
|
this.optionSelected = undefined;
|
|
3284
|
-
this.
|
|
5199
|
+
this.value = undefined;
|
|
3285
5200
|
|
|
3286
5201
|
const idLength = 36;
|
|
3287
5202
|
const idSubstrEnd = 8;
|
|
@@ -3302,12 +5217,12 @@ class AuroSelect extends r$4 {
|
|
|
3302
5217
|
/**
|
|
3303
5218
|
* @private
|
|
3304
5219
|
*/
|
|
3305
|
-
this.runtimeUtils = new AuroLibraryRuntimeUtils$
|
|
5220
|
+
this.runtimeUtils = new AuroLibraryRuntimeUtils$3();
|
|
3306
5221
|
|
|
3307
5222
|
/**
|
|
3308
5223
|
* Generate unique names for dependency components.
|
|
3309
5224
|
*/
|
|
3310
|
-
const versioning = new AuroDependencyVersioning$
|
|
5225
|
+
const versioning = new AuroDependencyVersioning$2();
|
|
3311
5226
|
|
|
3312
5227
|
/**
|
|
3313
5228
|
* @private
|
|
@@ -3334,68 +5249,131 @@ class AuroSelect extends r$4 {
|
|
|
3334
5249
|
// to understand how to use reflected attributes with your property settings.
|
|
3335
5250
|
static get properties() {
|
|
3336
5251
|
return {
|
|
3337
|
-
|
|
3338
|
-
|
|
3339
|
-
|
|
5252
|
+
|
|
5253
|
+
/**
|
|
5254
|
+
* When attribute is present, element shows disabled state.
|
|
5255
|
+
*/
|
|
5256
|
+
disabled: {
|
|
5257
|
+
type: Boolean,
|
|
5258
|
+
reflect: true
|
|
3340
5259
|
},
|
|
3341
|
-
|
|
3342
|
-
|
|
5260
|
+
|
|
5261
|
+
/**
|
|
5262
|
+
* If set, makes dropdown width match the size of the content, rather than the width of the trigger.
|
|
5263
|
+
*/
|
|
5264
|
+
flexMenuWidth: {
|
|
5265
|
+
type: Boolean,
|
|
5266
|
+
reflect: true
|
|
5267
|
+
},
|
|
5268
|
+
|
|
5269
|
+
/**
|
|
5270
|
+
* When true, checkmark on selected option will no longer be present.
|
|
5271
|
+
*/
|
|
5272
|
+
noCheckmark: {
|
|
5273
|
+
type: Boolean,
|
|
5274
|
+
reflect: true
|
|
3343
5275
|
},
|
|
5276
|
+
|
|
5277
|
+
/**
|
|
5278
|
+
* If set, disables auto-validation on blur.
|
|
5279
|
+
*/
|
|
3344
5280
|
noValidate: {
|
|
3345
5281
|
type: Boolean,
|
|
3346
5282
|
reflect: true
|
|
3347
5283
|
},
|
|
5284
|
+
|
|
5285
|
+
/**
|
|
5286
|
+
* @private
|
|
5287
|
+
*/
|
|
5288
|
+
optionActive: {
|
|
5289
|
+
type: Object
|
|
5290
|
+
},
|
|
5291
|
+
|
|
5292
|
+
/**
|
|
5293
|
+
* Specifies the current selected menuOption.
|
|
5294
|
+
*/
|
|
5295
|
+
optionSelected: {
|
|
5296
|
+
// Allow HTMLElement[] arrays and undefined
|
|
5297
|
+
converter: arrayConverter,
|
|
5298
|
+
hasChanged: arrayOrUndefinedHasChanged
|
|
5299
|
+
},
|
|
5300
|
+
|
|
5301
|
+
/**
|
|
5302
|
+
* @private
|
|
5303
|
+
*/
|
|
5304
|
+
options: {
|
|
5305
|
+
type: Array
|
|
5306
|
+
},
|
|
5307
|
+
|
|
5308
|
+
/**
|
|
5309
|
+
* Populates the `required` attribute on the element. Used for client-side validation.
|
|
5310
|
+
*/
|
|
3348
5311
|
required: {
|
|
3349
5312
|
type: Boolean,
|
|
3350
5313
|
reflect: true
|
|
3351
5314
|
},
|
|
5315
|
+
|
|
5316
|
+
/**
|
|
5317
|
+
* When defined, sets persistent validity to `customError` and sets `setCustomValidity` = attribute value.
|
|
5318
|
+
*/
|
|
3352
5319
|
error: {
|
|
3353
5320
|
type: String,
|
|
3354
5321
|
reflect: true
|
|
3355
5322
|
},
|
|
5323
|
+
|
|
5324
|
+
/**
|
|
5325
|
+
* Sets a custom help text message to display for all validityStates.
|
|
5326
|
+
*/
|
|
3356
5327
|
setCustomValidity: {
|
|
3357
5328
|
type: String
|
|
3358
5329
|
},
|
|
5330
|
+
|
|
5331
|
+
/**
|
|
5332
|
+
* Custom help text message to display when validity = `customError`.
|
|
5333
|
+
*/
|
|
3359
5334
|
setCustomValidityCustomError: {
|
|
3360
5335
|
type: String
|
|
3361
5336
|
},
|
|
5337
|
+
|
|
5338
|
+
/**
|
|
5339
|
+
* Custom help text message to display when validity = `valueMissing`.
|
|
5340
|
+
*/
|
|
3362
5341
|
setCustomValidityValueMissing: {
|
|
3363
5342
|
type: String
|
|
3364
5343
|
},
|
|
5344
|
+
|
|
5345
|
+
/**
|
|
5346
|
+
* Specifies the `validityState` this element is in.
|
|
5347
|
+
*/
|
|
3365
5348
|
validity: {
|
|
3366
5349
|
type: String,
|
|
3367
5350
|
reflect: true
|
|
3368
5351
|
},
|
|
3369
|
-
disabled: {
|
|
3370
|
-
type: Boolean,
|
|
3371
|
-
reflect: true
|
|
3372
|
-
},
|
|
3373
|
-
noCheckmark: {
|
|
3374
|
-
type: Boolean,
|
|
3375
|
-
reflect: true
|
|
3376
|
-
},
|
|
3377
|
-
flexMenuWidth: {
|
|
3378
|
-
type: Boolean,
|
|
3379
|
-
reflect: true
|
|
3380
|
-
},
|
|
3381
|
-
placeholder: { type: String },
|
|
3382
5352
|
|
|
3383
5353
|
/**
|
|
3384
|
-
*
|
|
5354
|
+
* Value selected for the component.
|
|
3385
5355
|
*/
|
|
3386
|
-
|
|
5356
|
+
value: {
|
|
5357
|
+
// Allow string[] arrays and undefined
|
|
5358
|
+
converter: arrayConverter,
|
|
5359
|
+
hasChanged: arrayOrUndefinedHasChanged
|
|
5360
|
+
},
|
|
3387
5361
|
|
|
3388
5362
|
/**
|
|
3389
|
-
*
|
|
5363
|
+
* Sets multi-select mode, allowing multiple options to be selected at once.
|
|
3390
5364
|
*/
|
|
3391
|
-
|
|
5365
|
+
multiSelect: {
|
|
5366
|
+
type: Boolean,
|
|
5367
|
+
reflect: true,
|
|
5368
|
+
attribute: 'multiselect'
|
|
5369
|
+
},
|
|
3392
5370
|
};
|
|
3393
5371
|
}
|
|
3394
5372
|
|
|
3395
5373
|
static get styles() {
|
|
3396
5374
|
return [
|
|
3397
|
-
styleCss,
|
|
3398
5375
|
colorCss,
|
|
5376
|
+
styleCss,
|
|
3399
5377
|
tokensCss
|
|
3400
5378
|
];
|
|
3401
5379
|
}
|
|
@@ -3426,40 +5404,35 @@ class AuroSelect extends r$4 {
|
|
|
3426
5404
|
*
|
|
3427
5405
|
*/
|
|
3428
5406
|
static register(name = "auro-select") {
|
|
3429
|
-
AuroLibraryRuntimeUtils$
|
|
5407
|
+
AuroLibraryRuntimeUtils$3.prototype.registerComponent(name, AuroSelect);
|
|
3430
5408
|
}
|
|
3431
5409
|
|
|
3432
5410
|
/**
|
|
3433
|
-
* Updates the displayed value in an Auro dropdown component based on
|
|
3434
|
-
* @param {string|HTMLElement} option - The option to display. If a string, a new span element with the value string is created. If an HTMLElement, the selected option is cloned and non-styling attributes are removed.
|
|
5411
|
+
* Updates the displayed value in an Auro dropdown component based on optionSelected.
|
|
3435
5412
|
* @private
|
|
3436
5413
|
* @returns {void}
|
|
3437
5414
|
*/
|
|
3438
|
-
updateDisplayedValue(
|
|
5415
|
+
updateDisplayedValue() {
|
|
3439
5416
|
const triggerContentEl = this.dropdown.querySelector('#triggerFocus');
|
|
3440
5417
|
|
|
3441
|
-
//
|
|
3442
|
-
triggerContentEl.
|
|
3443
|
-
|
|
3444
|
-
|
|
3445
|
-
|
|
3446
|
-
|
|
3447
|
-
// create a new span element with the value string
|
|
3448
|
-
const valueElem = document.createElement('span');
|
|
3449
|
-
valueElem.setAttribute('valuestr', true);
|
|
3450
|
-
valueElem.textContent = option;
|
|
5418
|
+
// Clear everything except placeholder
|
|
5419
|
+
const placeholder = triggerContentEl.querySelector('#placeholder');
|
|
5420
|
+
triggerContentEl.innerHTML = '';
|
|
5421
|
+
if (placeholder) {
|
|
5422
|
+
triggerContentEl.appendChild(placeholder);
|
|
5423
|
+
}
|
|
3451
5424
|
|
|
3452
|
-
|
|
3453
|
-
|
|
3454
|
-
|
|
3455
|
-
|
|
3456
|
-
const clone = option.cloneNode(true);
|
|
3457
|
-
clone.removeAttribute('selected');
|
|
3458
|
-
clone.removeAttribute('class');
|
|
5425
|
+
// Handle selected options
|
|
5426
|
+
if (this.optionSelected && this.optionSelected.length) {
|
|
5427
|
+
// Create display text from selected options
|
|
5428
|
+
const displayText = this.optionSelected.map((option) => option.textContent).join(', ');
|
|
3459
5429
|
|
|
3460
|
-
|
|
3461
|
-
|
|
5430
|
+
const span = document.createElement('span');
|
|
5431
|
+
span.textContent = displayText;
|
|
5432
|
+
triggerContentEl.appendChild(span);
|
|
3462
5433
|
}
|
|
5434
|
+
|
|
5435
|
+
this.dropdown.requestUpdate();
|
|
3463
5436
|
}
|
|
3464
5437
|
|
|
3465
5438
|
/**
|
|
@@ -3469,7 +5442,7 @@ class AuroSelect extends r$4 {
|
|
|
3469
5442
|
*/
|
|
3470
5443
|
configureMenu() {
|
|
3471
5444
|
this.menu = this.querySelector('auro-menu, [auro-menu]');
|
|
3472
|
-
|
|
5445
|
+
|
|
3473
5446
|
// racing condition on custom-select with custom-menu
|
|
3474
5447
|
if (!this.menu) {
|
|
3475
5448
|
setTimeout(() => {
|
|
@@ -3478,6 +5451,11 @@ class AuroSelect extends r$4 {
|
|
|
3478
5451
|
return;
|
|
3479
5452
|
}
|
|
3480
5453
|
|
|
5454
|
+
if (this.multiSelect) {
|
|
5455
|
+
this.menu.multiSelect = this.multiSelect;
|
|
5456
|
+
}
|
|
5457
|
+
|
|
5458
|
+
this.menu.addEventListener("auroMenu-loadingChange", (event) => this.handleMenuLoadingChange(event));
|
|
3481
5459
|
this.menu.setAttribute('aria-hidden', 'true');
|
|
3482
5460
|
|
|
3483
5461
|
this.generateOptionsArray();
|
|
@@ -3487,10 +5465,10 @@ class AuroSelect extends r$4 {
|
|
|
3487
5465
|
});
|
|
3488
5466
|
|
|
3489
5467
|
this.menu.addEventListener('auroMenu-selectedOption', () => {
|
|
5468
|
+
// Get array of selected options from menu
|
|
3490
5469
|
this.optionSelected = this.menu.optionSelected;
|
|
3491
|
-
|
|
3492
|
-
|
|
3493
|
-
this.updateDisplayedValue(this.optionSelected);
|
|
5470
|
+
// For single select, we still use arrays but only take first value
|
|
5471
|
+
this.value = this.menu.value;
|
|
3494
5472
|
|
|
3495
5473
|
if (this.dropdown.isPopoverVisible) {
|
|
3496
5474
|
this.dropdown.hide();
|
|
@@ -3505,8 +5483,12 @@ class AuroSelect extends r$4 {
|
|
|
3505
5483
|
* with `auro-select.value`.
|
|
3506
5484
|
*/
|
|
3507
5485
|
this.menu.addEventListener('auroMenu-selectValueFailure', () => {
|
|
3508
|
-
this.
|
|
3509
|
-
|
|
5486
|
+
this.menu.clearSelection();
|
|
5487
|
+
});
|
|
5488
|
+
|
|
5489
|
+
this.menu.addEventListener('auroMenu-selectValueReset', () => {
|
|
5490
|
+
this.optionSelected = this.menu.optionSelected;
|
|
5491
|
+
this.validation.validate(this);
|
|
3510
5492
|
});
|
|
3511
5493
|
}
|
|
3512
5494
|
|
|
@@ -3526,7 +5508,7 @@ class AuroSelect extends r$4 {
|
|
|
3526
5508
|
this.dropdown.show();
|
|
3527
5509
|
|
|
3528
5510
|
if (this.dropdown.isPopoverVisible) {
|
|
3529
|
-
this.menu.
|
|
5511
|
+
this.menu.navigateOptions('up');
|
|
3530
5512
|
}
|
|
3531
5513
|
}
|
|
3532
5514
|
|
|
@@ -3536,7 +5518,7 @@ class AuroSelect extends r$4 {
|
|
|
3536
5518
|
this.dropdown.show();
|
|
3537
5519
|
|
|
3538
5520
|
if (this.dropdown.isPopoverVisible) {
|
|
3539
|
-
this.menu.
|
|
5521
|
+
this.menu.navigateOptions('down');
|
|
3540
5522
|
}
|
|
3541
5523
|
}
|
|
3542
5524
|
|
|
@@ -3557,8 +5539,6 @@ class AuroSelect extends r$4 {
|
|
|
3557
5539
|
this.addEventListener('blur', () => {
|
|
3558
5540
|
this.validation.validate(this);
|
|
3559
5541
|
});
|
|
3560
|
-
|
|
3561
|
-
this.labelForSr();
|
|
3562
5542
|
}
|
|
3563
5543
|
|
|
3564
5544
|
/**
|
|
@@ -3601,7 +5581,7 @@ class AuroSelect extends r$4 {
|
|
|
3601
5581
|
* input as no longer in the initial state.
|
|
3602
5582
|
*/
|
|
3603
5583
|
if (this.value === undefined) {
|
|
3604
|
-
this.value =
|
|
5584
|
+
this.value = undefined;
|
|
3605
5585
|
this.removeEventListener('focusin', this.handleFocusin);
|
|
3606
5586
|
}
|
|
3607
5587
|
}
|
|
@@ -3659,11 +5639,15 @@ class AuroSelect extends r$4 {
|
|
|
3659
5639
|
}
|
|
3660
5640
|
}
|
|
3661
5641
|
|
|
3662
|
-
updated(changedProperties) {
|
|
3663
|
-
// After the component is ready, send direct value changes to auro-menu.
|
|
5642
|
+
async updated(changedProperties) {
|
|
3664
5643
|
if (changedProperties.has('value')) {
|
|
3665
5644
|
if (this.value) {
|
|
3666
5645
|
this.menu.value = this.value;
|
|
5646
|
+
|
|
5647
|
+
// Wait for menu to finish updating its value
|
|
5648
|
+
await this.menu.updateComplete;
|
|
5649
|
+
|
|
5650
|
+
this.optionSelected = this.menu.optionSelected;
|
|
3667
5651
|
} else {
|
|
3668
5652
|
this.menu.value = undefined;
|
|
3669
5653
|
}
|
|
@@ -3677,8 +5661,12 @@ class AuroSelect extends r$4 {
|
|
|
3677
5661
|
}));
|
|
3678
5662
|
}
|
|
3679
5663
|
|
|
5664
|
+
if (changedProperties.has('optionSelected')) {
|
|
5665
|
+
this.updateDisplayedValue();
|
|
5666
|
+
}
|
|
5667
|
+
|
|
3680
5668
|
if (changedProperties.has('error')) {
|
|
3681
|
-
this.
|
|
5669
|
+
this.validate(true);
|
|
3682
5670
|
}
|
|
3683
5671
|
}
|
|
3684
5672
|
|
|
@@ -3691,44 +5679,11 @@ class AuroSelect extends r$4 {
|
|
|
3691
5679
|
}
|
|
3692
5680
|
|
|
3693
5681
|
/**
|
|
3694
|
-
*
|
|
3695
|
-
* @
|
|
3696
|
-
* @returns {void}
|
|
5682
|
+
* Validates value.
|
|
5683
|
+
* @param {boolean} [force=false] - Whether to force validation.
|
|
3697
5684
|
*/
|
|
3698
|
-
|
|
3699
|
-
|
|
3700
|
-
const textId = "label";
|
|
3701
|
-
|
|
3702
|
-
placeholderLabel.setAttribute("id", textId);
|
|
3703
|
-
placeholderLabel.setAttribute("aria-live", "polite");
|
|
3704
|
-
|
|
3705
|
-
const styles = {
|
|
3706
|
-
position: 'absolute',
|
|
3707
|
-
overflow: 'hidden',
|
|
3708
|
-
clipPath: 'inset(1px, 1px, 1px, 1px)',
|
|
3709
|
-
width: '1px',
|
|
3710
|
-
height: '1px',
|
|
3711
|
-
padding: '0',
|
|
3712
|
-
border: '0'
|
|
3713
|
-
};
|
|
3714
|
-
|
|
3715
|
-
Object.assign(placeholderLabel.style, styles);
|
|
3716
|
-
|
|
3717
|
-
this.addEventListener('focus', () => {
|
|
3718
|
-
document.body.appendChild(placeholderLabel);
|
|
3719
|
-
|
|
3720
|
-
if (!this.optionSelected) {
|
|
3721
|
-
document.getElementById(textId).innerHTML = this.placeholder;
|
|
3722
|
-
} else {
|
|
3723
|
-
document.getElementById(textId).innerHTML = `${this.optionSelected.innerText}, ${this.placeholder}`;
|
|
3724
|
-
}
|
|
3725
|
-
});
|
|
3726
|
-
|
|
3727
|
-
this.addEventListener('blur', () => {
|
|
3728
|
-
if (document.contains(placeholderLabel)) {
|
|
3729
|
-
document.body.removeChild(placeholderLabel);
|
|
3730
|
-
}
|
|
3731
|
-
});
|
|
5685
|
+
validate(force = false) {
|
|
5686
|
+
this.validation.validate(this, force);
|
|
3732
5687
|
}
|
|
3733
5688
|
|
|
3734
5689
|
// When using auroElement, use the following attribute and function when hiding content from screen readers.
|
|
@@ -3736,18 +5691,22 @@ class AuroSelect extends r$4 {
|
|
|
3736
5691
|
|
|
3737
5692
|
// function that renders the HTML and CSS into the scope of the component
|
|
3738
5693
|
render() {
|
|
3739
|
-
|
|
5694
|
+
const placeholderClass = {
|
|
5695
|
+
hidden: this.value,
|
|
5696
|
+
};
|
|
5697
|
+
|
|
5698
|
+
return u$6`
|
|
3740
5699
|
<div class="outerWrapper">
|
|
3741
5700
|
<div aria-live="polite" class="util_displayHiddenVisually">
|
|
3742
5701
|
${this.optionActive && this.options.length > 0
|
|
3743
|
-
? u$
|
|
5702
|
+
? u$6`
|
|
3744
5703
|
${`${this.optionActive.innerText}, option ${this.options.indexOf(this.optionActive) + 1} of ${this.options.length}`}
|
|
3745
5704
|
`
|
|
3746
5705
|
: undefined
|
|
3747
5706
|
};
|
|
3748
5707
|
|
|
3749
5708
|
${this.optionSelected && this.options.length > 0
|
|
3750
|
-
? u$
|
|
5709
|
+
? u$6`
|
|
3751
5710
|
${`${this.optionSelected.innerText} selected`}
|
|
3752
5711
|
`
|
|
3753
5712
|
: undefined
|
|
@@ -3762,23 +5721,23 @@ class AuroSelect extends r$4 {
|
|
|
3762
5721
|
chevron
|
|
3763
5722
|
part="dropdown">
|
|
3764
5723
|
<span slot="trigger" aria-haspopup="true" id="triggerFocus">
|
|
3765
|
-
|
|
5724
|
+
<span id="placeholder" class="${e$9(placeholderClass)}"><slot name="placeholder"></slot></span>
|
|
3766
5725
|
</span>
|
|
3767
5726
|
<div class="menuWrapper">
|
|
3768
5727
|
</div>
|
|
3769
5728
|
<slot name="label" slot="label"></slot>
|
|
3770
|
-
<
|
|
5729
|
+
<p slot="helpText">
|
|
3771
5730
|
${!this.validity || this.validity === undefined || this.validity === 'valid'
|
|
3772
|
-
? u$
|
|
3773
|
-
<
|
|
5731
|
+
? u$6`
|
|
5732
|
+
<span id="${this.uniqueId}" part="helpText">
|
|
3774
5733
|
<slot name="helpText"></slot>
|
|
3775
|
-
</
|
|
3776
|
-
: u$
|
|
3777
|
-
<
|
|
5734
|
+
</span>`
|
|
5735
|
+
: u$6`
|
|
5736
|
+
<span id="${this.uniqueId}" role="alert" aria-live="assertive" part="helpText">
|
|
3778
5737
|
${this.errorMessage}
|
|
3779
|
-
</
|
|
5738
|
+
</span>`
|
|
3780
5739
|
}
|
|
3781
|
-
</
|
|
5740
|
+
</p>
|
|
3782
5741
|
</${this.dropdownTag}>
|
|
3783
5742
|
<!-- Help text and error message template -->
|
|
3784
5743
|
</div>
|