@aurodesignsystem/auro-formkit 2.0.0-beta.4 → 2.0.0-beta.40

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.
Files changed (637) hide show
  1. package/.turbo/cache/006be80261b993a5-meta.json +1 -0
  2. package/.turbo/cache/006be80261b993a5.tar.zst +0 -0
  3. package/.turbo/cache/03338963f2ae4c89-meta.json +1 -0
  4. package/.turbo/cache/03338963f2ae4c89.tar.zst +0 -0
  5. package/.turbo/cache/06dfc9c20aacd0fa-meta.json +1 -0
  6. package/.turbo/cache/06dfc9c20aacd0fa.tar.zst +0 -0
  7. package/.turbo/cache/075034ccdb82fbea-meta.json +1 -0
  8. package/.turbo/cache/075034ccdb82fbea.tar.zst +0 -0
  9. package/.turbo/cache/0ff927ad868537f6-meta.json +1 -0
  10. package/.turbo/cache/0ff927ad868537f6.tar.zst +0 -0
  11. package/.turbo/cache/10b8500a6b0c6655-meta.json +1 -0
  12. package/.turbo/cache/10b8500a6b0c6655.tar.zst +0 -0
  13. package/.turbo/cache/138466aaa06fa946-meta.json +1 -0
  14. package/.turbo/cache/138466aaa06fa946.tar.zst +0 -0
  15. package/.turbo/cache/1a8525cb6ad91e2a-meta.json +1 -0
  16. package/.turbo/cache/1a8525cb6ad91e2a.tar.zst +0 -0
  17. package/.turbo/cache/1c347bdf63624c8a-meta.json +1 -0
  18. package/.turbo/cache/1c347bdf63624c8a.tar.zst +0 -0
  19. package/.turbo/cache/1d4e8167ea8e924f-meta.json +1 -0
  20. package/.turbo/cache/1d4e8167ea8e924f.tar.zst +0 -0
  21. package/.turbo/cache/2289d12debb3c42c-meta.json +1 -0
  22. package/.turbo/cache/2289d12debb3c42c.tar.zst +0 -0
  23. package/.turbo/cache/22fc147c04804f70-meta.json +1 -0
  24. package/.turbo/cache/22fc147c04804f70.tar.zst +0 -0
  25. package/.turbo/cache/2d51091c22fc92f5-meta.json +1 -0
  26. package/.turbo/cache/2d51091c22fc92f5.tar.zst +0 -0
  27. package/.turbo/cache/3025cdff2ca7afbf-meta.json +1 -0
  28. package/.turbo/cache/3025cdff2ca7afbf.tar.zst +0 -0
  29. package/.turbo/cache/3082b3a86c0f9b94-meta.json +1 -0
  30. package/.turbo/cache/3082b3a86c0f9b94.tar.zst +0 -0
  31. package/.turbo/cache/366fc19b143f7957-meta.json +1 -0
  32. package/.turbo/cache/366fc19b143f7957.tar.zst +0 -0
  33. package/.turbo/cache/3dba2f8fdc7eb1d0-meta.json +1 -0
  34. package/.turbo/cache/3dba2f8fdc7eb1d0.tar.zst +0 -0
  35. package/.turbo/cache/43995f6c84a2de33-meta.json +1 -0
  36. package/.turbo/cache/43995f6c84a2de33.tar.zst +0 -0
  37. package/.turbo/cache/45d6aea680ecb5ec-meta.json +1 -0
  38. package/.turbo/cache/45d6aea680ecb5ec.tar.zst +0 -0
  39. package/.turbo/cache/45ecc27552696bd6-meta.json +1 -0
  40. package/.turbo/cache/45ecc27552696bd6.tar.zst +0 -0
  41. package/.turbo/cache/47d63056350252e5-meta.json +1 -0
  42. package/.turbo/cache/47d63056350252e5.tar.zst +0 -0
  43. package/.turbo/cache/4aadd7fe6b69cccf-meta.json +1 -0
  44. package/.turbo/cache/4aadd7fe6b69cccf.tar.zst +0 -0
  45. package/.turbo/cache/5b3bb164db4c477c-meta.json +1 -0
  46. package/.turbo/cache/5b3bb164db4c477c.tar.zst +0 -0
  47. package/.turbo/cache/6bfd7cffad1e6b8a-meta.json +1 -0
  48. package/.turbo/cache/6bfd7cffad1e6b8a.tar.zst +0 -0
  49. package/.turbo/cache/6d48e8dc24e08c8c-meta.json +1 -0
  50. package/.turbo/cache/6d48e8dc24e08c8c.tar.zst +0 -0
  51. package/.turbo/cache/70e65d2581c9de95-meta.json +1 -0
  52. package/.turbo/cache/70e65d2581c9de95.tar.zst +0 -0
  53. package/.turbo/cache/78629f56974cc5d7-meta.json +1 -0
  54. package/.turbo/cache/78629f56974cc5d7.tar.zst +0 -0
  55. package/.turbo/cache/7a2e937d0f5acb7c-meta.json +1 -0
  56. package/.turbo/cache/7a2e937d0f5acb7c.tar.zst +0 -0
  57. package/.turbo/cache/85f181c5a0ebfdc3-meta.json +1 -0
  58. package/.turbo/cache/85f181c5a0ebfdc3.tar.zst +0 -0
  59. package/.turbo/cache/8830b8b624914679-meta.json +1 -0
  60. package/.turbo/cache/8830b8b624914679.tar.zst +0 -0
  61. package/.turbo/cache/88d4c5b7339b081b-meta.json +1 -0
  62. package/.turbo/cache/88d4c5b7339b081b.tar.zst +0 -0
  63. package/.turbo/cache/8f20a1cd3533e2cb-meta.json +1 -0
  64. package/.turbo/cache/8f20a1cd3533e2cb.tar.zst +0 -0
  65. package/.turbo/cache/91de2098a36b6939-meta.json +1 -0
  66. package/.turbo/cache/91de2098a36b6939.tar.zst +0 -0
  67. package/.turbo/cache/96edc0764ed4ab77-meta.json +1 -0
  68. package/.turbo/cache/96edc0764ed4ab77.tar.zst +0 -0
  69. package/.turbo/cache/a776eb6f87cd7464-meta.json +1 -0
  70. package/.turbo/cache/a776eb6f87cd7464.tar.zst +0 -0
  71. package/.turbo/cache/aa2a6d9e7beff7fc-meta.json +1 -0
  72. package/.turbo/cache/aa2a6d9e7beff7fc.tar.zst +0 -0
  73. package/.turbo/cache/ac47b2df8381d990-meta.json +1 -0
  74. package/.turbo/cache/ac47b2df8381d990.tar.zst +0 -0
  75. package/.turbo/cache/ac98992ca27cd36e-meta.json +1 -0
  76. package/.turbo/cache/ac98992ca27cd36e.tar.zst +0 -0
  77. package/.turbo/cache/b323342fa340ccb5-meta.json +1 -0
  78. package/.turbo/cache/b323342fa340ccb5.tar.zst +0 -0
  79. package/.turbo/cache/b681d1652a7f2aca-meta.json +1 -0
  80. package/.turbo/cache/b681d1652a7f2aca.tar.zst +0 -0
  81. package/.turbo/cache/b99d21002170d86d-meta.json +1 -0
  82. package/.turbo/cache/b99d21002170d86d.tar.zst +0 -0
  83. package/.turbo/cache/bff34c0db361f414-meta.json +1 -0
  84. package/.turbo/cache/bff34c0db361f414.tar.zst +0 -0
  85. package/.turbo/cache/c1c7334875426ff3-meta.json +1 -0
  86. package/.turbo/cache/c1c7334875426ff3.tar.zst +0 -0
  87. package/.turbo/cache/cd12b66dd972aaf7-meta.json +1 -0
  88. package/.turbo/cache/cd12b66dd972aaf7.tar.zst +0 -0
  89. package/.turbo/cache/cf74604f39b00f11-meta.json +1 -0
  90. package/.turbo/cache/cf74604f39b00f11.tar.zst +0 -0
  91. package/.turbo/cache/d5dbe6fb31ae5667-meta.json +1 -0
  92. package/.turbo/cache/d5dbe6fb31ae5667.tar.zst +0 -0
  93. package/.turbo/cache/e2688cc026390fd6-meta.json +1 -0
  94. package/.turbo/cache/e2688cc026390fd6.tar.zst +0 -0
  95. package/.turbo/cache/e34579fa4cd85684-meta.json +1 -0
  96. package/.turbo/cache/e34579fa4cd85684.tar.zst +0 -0
  97. package/.turbo/cache/e64bd75c16c140f3-meta.json +1 -0
  98. package/.turbo/cache/e64bd75c16c140f3.tar.zst +0 -0
  99. package/.turbo/cache/ea92743dea3b7023-meta.json +1 -0
  100. package/.turbo/cache/ea92743dea3b7023.tar.zst +0 -0
  101. package/.turbo/cache/f1b0cb8241603223-meta.json +1 -0
  102. package/.turbo/cache/f1b0cb8241603223.tar.zst +0 -0
  103. package/.turbo/cache/f22dc2dd55715ba2-meta.json +1 -0
  104. package/.turbo/cache/f22dc2dd55715ba2.tar.zst +0 -0
  105. package/.turbo/cache/f8f7a8045f230b79-meta.json +1 -0
  106. package/.turbo/cache/f8f7a8045f230b79.tar.zst +0 -0
  107. package/.turbo/cache/f8f99ba69bff8f2c-meta.json +1 -0
  108. package/.turbo/cache/f8f99ba69bff8f2c.tar.zst +0 -0
  109. package/.turbo/cache/faafa5cc35d12e06-meta.json +1 -0
  110. package/.turbo/cache/faafa5cc35d12e06.tar.zst +0 -0
  111. package/.vscode/settings.json +3 -0
  112. package/CHANGELOG.md +360 -0
  113. package/README.md +59 -59
  114. package/components/checkbox/.turbo/turbo-build$colon$sass.log +10 -10
  115. package/components/checkbox/.turbo/turbo-build.log +20 -21
  116. package/components/checkbox/.turbo/turbo-postCss$colon$component.log +1 -2
  117. package/components/checkbox/.turbo/turbo-sass$colon$render.log +6 -6
  118. package/components/checkbox/README.md +27 -35
  119. package/components/checkbox/demo/api.md +67 -68
  120. package/components/checkbox/demo/api.min.js +429 -89
  121. package/components/checkbox/demo/index.md +62 -62
  122. package/components/checkbox/demo/index.min.js +429 -89
  123. package/components/checkbox/dist/auro-checkbox-group.d.ts +40 -16
  124. package/components/checkbox/dist/auro-checkbox-group.d.ts.map +1 -1
  125. package/components/checkbox/dist/auro-checkbox.d.ts +19 -6
  126. package/components/checkbox/dist/auro-checkbox.d.ts.map +1 -1
  127. package/components/checkbox/dist/index.js +429 -89
  128. package/components/checkbox/package.json +6 -5
  129. package/components/checkbox/src/auro-checkbox-group.js +62 -23
  130. package/components/checkbox/src/auro-checkbox.js +30 -9
  131. package/components/checkbox/src/styles/colorGroup-css.js +1 -1
  132. package/components/checkbox/src/styles/colorGroup.css +0 -8
  133. package/components/checkbox/src/styles/colorGroup.scss +0 -8
  134. package/components/checkbox/src/styles/tokens-css.js +1 -1
  135. package/components/checkbox/src/styles/tokens.css +0 -1
  136. package/components/checkbox/src/styles/tokens.scss +0 -1
  137. package/components/combobox/.turbo/turbo-build$colon$sass.log +5 -5
  138. package/components/combobox/.turbo/turbo-build.log +22 -23
  139. package/components/combobox/.turbo/turbo-postCss$colon$component.log +1 -2
  140. package/components/combobox/.turbo/turbo-sass$colon$render.log +2 -2
  141. package/components/combobox/README.md +23 -28
  142. package/components/combobox/demo/api.md +27 -25
  143. package/components/combobox/demo/api.min.js +3385 -848
  144. package/components/combobox/demo/index.md +1 -1
  145. package/components/combobox/demo/index.min.js +3382 -845
  146. package/components/combobox/dist/auro-combobox.d.ts +74 -79
  147. package/components/combobox/dist/auro-combobox.d.ts.map +1 -1
  148. package/components/combobox/dist/dropdownVersion.d.ts +3 -0
  149. package/components/combobox/dist/dropdownVersion.d.ts.map +1 -0
  150. package/components/combobox/dist/index.js +2733 -510
  151. package/components/combobox/dist/inputVersion.d.ts +3 -0
  152. package/components/combobox/dist/inputVersion.d.ts.map +1 -0
  153. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/.husky/pre-commit +1 -0
  154. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/CHANGELOG.md +863 -0
  155. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/README.md +109 -0
  156. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/dist/auroElement/README.md +86 -0
  157. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/dist/auroElement/_auroElement.scss +45 -0
  158. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/dist/auroElement/auroElement.js +38 -0
  159. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/dist/auroElement/auroElement.mjs +38 -0
  160. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/dist/bundled/essentials+fv.css +110 -0
  161. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/dist/bundled/essentials.css +106 -0
  162. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/dist/demoWrapper.css +8 -0
  163. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/dist/elementDemoStyles.css +813 -0
  164. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/package.json +134 -0
  165. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/packageScripts/postinstall.mjs +39 -0
  166. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/_animation.scss +30 -0
  167. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/_blockquote.scss +46 -0
  168. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/_breakpoints.scss +155 -0
  169. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/_core.scss +25 -0
  170. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/_essentials.scss +267 -0
  171. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/_focus-visible.scss +36 -0
  172. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/_fonts.scss +50 -0
  173. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/_grids.scss +395 -0
  174. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/_headings.scss +255 -0
  175. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/_normalize.scss +663 -0
  176. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/_picture.scss +31 -0
  177. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/_utilityClasses.scss +22 -0
  178. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/bundled/essentials+fv.scss +19 -0
  179. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/bundled/essentials.scss +18 -0
  180. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/componentSupport/_anchor-roleButton.scss +32 -0
  181. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/componentSupport/_anchor-roleTab.scss +26 -0
  182. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/componentSupport/_containedButtons.scss +59 -0
  183. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/componentSupport/_table.scss +54 -0
  184. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/componentSupport/_tablist.scss +37 -0
  185. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/elementDemoStyles/README.md +5 -0
  186. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/elementDemoStyles/demoWrapper.scss +18 -0
  187. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/elementDemoStyles/elementDemoStyles.scss +123 -0
  188. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/libSupport/_deprecated.scss +16 -0
  189. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/libSupport/_manageScope.scss +42 -0
  190. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityClasses/_displayProperties.scss +142 -0
  191. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityClasses/_fontStyles.scss +151 -0
  192. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityClasses/_inset.scss +188 -0
  193. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityClasses/_layoutProperties.scss +75 -0
  194. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityClasses/_listProperties.scss +176 -0
  195. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityClasses/_responsive.scss +249 -0
  196. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityClasses/_typeProperties.scss +49 -0
  197. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityFunctions/_capitalize.scss +20 -0
  198. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityFunctions/_contains.scss +26 -0
  199. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityFunctions/_map-deep-get.scss +29 -0
  200. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityMixins/_anchor-roleButton.scss +76 -0
  201. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityMixins/_anchor-roleTab.scss +86 -0
  202. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityMixins/_insetUtility.scss +9 -0
  203. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityMixins/_layoutPropertiesGenerator.scss +75 -0
  204. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityMixins/_spacingUtility.scss +96 -0
  205. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityVariables/_important.scss +20 -0
  206. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityVariables/_spacing-options.scss +13 -0
  207. package/components/combobox/node_modules/@rollup/plugin-node-resolve/README.md +293 -0
  208. package/components/combobox/node_modules/@rollup/plugin-node-resolve/dist/cjs/index.js +1377 -0
  209. package/components/combobox/node_modules/@rollup/plugin-node-resolve/dist/es/index.js +1370 -0
  210. package/components/combobox/node_modules/@rollup/plugin-node-resolve/dist/es/package.json +1 -0
  211. package/components/combobox/node_modules/@rollup/plugin-node-resolve/package.json +89 -0
  212. package/components/combobox/node_modules/@rollup/plugin-node-resolve/types/index.d.ts +115 -0
  213. package/components/combobox/node_modules/chalk/package.json +3 -3
  214. package/components/combobox/node_modules/chalk/readme.md +25 -53
  215. package/components/combobox/node_modules/chalk/source/index.d.ts +6 -1
  216. package/components/combobox/node_modules/chalk/source/vendor/supports-color/browser.js +6 -2
  217. package/components/combobox/node_modules/chalk/source/vendor/supports-color/index.js +2 -2
  218. package/components/combobox/package.json +12 -13
  219. package/components/combobox/src/auro-combobox.js +215 -163
  220. package/components/combobox/src/dropdownVersion.js +1 -0
  221. package/components/combobox/src/inputVersion.js +1 -0
  222. package/components/counter/.turbo/turbo-build$colon$sass.log +210 -7
  223. package/components/{input → counter}/.turbo/turbo-build$colon$version.log +5 -5
  224. package/components/counter/.turbo/turbo-build.log +329 -14
  225. package/components/counter/.turbo/turbo-bundler.log +13 -4
  226. package/components/counter/.turbo/turbo-postCss$colon$component.log +1 -2
  227. package/components/counter/.turbo/turbo-sass$colon$render.log +45 -3
  228. package/components/counter/.turbo/turbo-types.log +1 -1
  229. package/components/counter/README.md +188 -0
  230. package/components/counter/demo/api.md +107 -1014
  231. package/components/counter/demo/api.min.js +5203 -36
  232. package/components/counter/demo/index.js +2 -1
  233. package/components/counter/demo/index.md +292 -0
  234. package/components/counter/demo/index.min.js +5231 -19
  235. package/components/counter/dist/auro-counter-button.d.ts +13 -0
  236. package/components/counter/dist/auro-counter-button.d.ts.map +1 -0
  237. package/components/counter/dist/auro-counter-group.d.ts +127 -5
  238. package/components/counter/dist/auro-counter-group.d.ts.map +1 -1
  239. package/components/counter/dist/auro-counter-wrapper.d.ts +23 -0
  240. package/components/counter/dist/auro-counter-wrapper.d.ts.map +1 -0
  241. package/components/counter/dist/auro-counter.d.ts +91 -0
  242. package/components/counter/dist/auro-counter.d.ts.map +1 -1
  243. package/components/counter/dist/dropdownVersion.d.ts +3 -0
  244. package/components/counter/dist/dropdownVersion.d.ts.map +1 -0
  245. package/components/counter/dist/iconVersion.d.ts +3 -0
  246. package/components/counter/dist/iconVersion.d.ts.map +1 -0
  247. package/components/counter/dist/index.js +5203 -36
  248. package/components/{input/dist/styles/helpText-css.d.ts → counter/dist/styles/color-css.d.ts} +1 -1
  249. package/components/counter/dist/styles/color-css.d.ts.map +1 -0
  250. package/components/counter/dist/styles/counter-button-color-css.d.ts +3 -0
  251. package/components/counter/dist/styles/counter-button-color-css.d.ts.map +1 -0
  252. package/components/counter/dist/styles/counter-button-css.d.ts +3 -0
  253. package/components/counter/dist/styles/counter-button-css.d.ts.map +1 -0
  254. package/components/counter/dist/styles/counter-button-tokens-css.d.ts +3 -0
  255. package/components/counter/dist/styles/counter-button-tokens-css.d.ts.map +1 -0
  256. package/components/counter/dist/styles/counter-wrapper-color-css.d.ts +3 -0
  257. package/components/counter/dist/styles/counter-wrapper-color-css.d.ts.map +1 -0
  258. package/components/counter/dist/styles/counter-wrapper-css.d.ts +3 -0
  259. package/components/counter/dist/styles/counter-wrapper-css.d.ts.map +1 -0
  260. package/components/counter/dist/styles/tokens-css.d.ts +3 -0
  261. package/components/counter/dist/styles/tokens-css.d.ts.map +1 -0
  262. package/components/counter/package.json +14 -5
  263. package/components/counter/src/auro-counter-button.js +42 -0
  264. package/components/counter/src/auro-counter-group.js +305 -20
  265. package/components/counter/src/auro-counter-wrapper.js +54 -0
  266. package/components/counter/src/auro-counter.js +325 -12
  267. package/components/counter/src/dropdownVersion.js +1 -0
  268. package/components/counter/src/iconVersion.js +1 -0
  269. package/components/counter/src/index.js +1 -1
  270. package/components/counter/src/styles/color-css.js +2 -0
  271. package/components/counter/src/styles/color.css +29 -0
  272. package/components/counter/src/styles/color.scss +49 -0
  273. package/components/counter/src/styles/counter-button-color-css.js +2 -0
  274. package/components/counter/src/styles/counter-button-color.css +11 -0
  275. package/components/counter/src/styles/counter-button-color.scss +23 -0
  276. package/components/counter/src/styles/counter-button-css.js +2 -0
  277. package/components/counter/src/styles/counter-button-tokens-css.js +2 -0
  278. package/components/counter/src/styles/counter-button-tokens.css +6 -0
  279. package/components/counter/src/styles/counter-button-tokens.scss +8 -0
  280. package/components/counter/src/styles/counter-button.css +186 -0
  281. package/components/counter/src/styles/counter-button.scss +84 -0
  282. package/components/counter/src/styles/counter-group-css.js +1 -1
  283. package/components/counter/src/styles/counter-group.css +15 -1
  284. package/components/counter/src/styles/counter-group.scss +16 -1
  285. package/components/counter/src/styles/counter-wrapper-color-css.js +2 -0
  286. package/components/counter/src/styles/counter-wrapper-color.css +4 -0
  287. package/components/counter/src/styles/counter-wrapper-color.scss +19 -0
  288. package/components/counter/src/styles/counter-wrapper-css.js +2 -0
  289. package/components/counter/src/styles/counter-wrapper.css +15 -0
  290. package/components/counter/src/styles/counter-wrapper.scss +29 -0
  291. package/components/counter/src/styles/style-css.js +1 -1
  292. package/components/counter/src/styles/style.css +50 -1
  293. package/components/counter/src/styles/style.scss +58 -2
  294. package/components/counter/src/styles/tokens-css.js +2 -0
  295. package/components/counter/src/styles/tokens.css +12 -0
  296. package/components/counter/src/styles/tokens.scss +25 -0
  297. package/components/datepicker/.turbo/turbo-build$colon$sass.log +34 -34
  298. package/components/datepicker/.turbo/turbo-build.log +52 -53
  299. package/components/datepicker/.turbo/turbo-postCss$colon$component.log +1 -2
  300. package/components/datepicker/.turbo/turbo-sass$colon$render.log +10 -10
  301. package/components/datepicker/README.md +23 -28
  302. package/components/datepicker/demo/api.md +85 -57
  303. package/components/datepicker/demo/api.min.js +1304 -558
  304. package/components/datepicker/demo/index.md +1 -1
  305. package/components/datepicker/demo/index.min.js +1304 -558
  306. package/components/datepicker/dist/auro-calendar.d.ts +1 -1
  307. package/components/datepicker/dist/auro-datepicker.d.ts +101 -73
  308. package/components/datepicker/dist/auro-datepicker.d.ts.map +1 -1
  309. package/components/datepicker/dist/dropdownVersion.d.ts +2 -0
  310. package/components/datepicker/dist/dropdownVersion.d.ts.map +1 -1
  311. package/components/datepicker/dist/index.js +1304 -558
  312. package/components/datepicker/dist/inputVersion.d.ts +3 -0
  313. package/components/datepicker/dist/inputVersion.d.ts.map +1 -0
  314. package/components/datepicker/dist/utilitiesCalendarRender.d.ts +2 -2
  315. package/components/datepicker/package.json +8 -8
  316. package/components/datepicker/src/auro-calendar.js +1 -1
  317. package/components/datepicker/src/auro-datepicker.js +170 -89
  318. package/components/datepicker/src/dropdownVersion.js +1 -0
  319. package/components/datepicker/src/inputVersion.js +1 -0
  320. package/components/datepicker/src/styles/color-cell-css.js +1 -1
  321. package/components/datepicker/src/styles/color-cell.css +1 -1
  322. package/components/datepicker/src/styles/color-cell.scss +1 -1
  323. package/components/datepicker/src/styles/style-css.js +1 -1
  324. package/components/datepicker/src/styles/style.css +55 -35
  325. package/components/datepicker/src/styles/style.scss +45 -13
  326. package/components/datepicker/src/utilitiesCalendarRender.js +2 -2
  327. package/components/dropdown/.turbo/turbo-build$colon$sass.log +8 -8
  328. package/components/dropdown/.turbo/turbo-build.log +19 -20
  329. package/components/dropdown/.turbo/turbo-postCss$colon$component.log +1 -2
  330. package/components/dropdown/.turbo/turbo-sass$colon$render.log +6 -6
  331. package/components/dropdown/README.md +19 -27
  332. package/components/dropdown/demo/api.md +15 -3
  333. package/components/dropdown/demo/api.min.js +406 -88
  334. package/components/dropdown/demo/index.js +0 -3
  335. package/components/dropdown/demo/index.min.js +406 -91
  336. package/components/dropdown/dist/auro-dropdown.d.ts +16 -2
  337. package/components/dropdown/dist/auro-dropdown.d.ts.map +1 -1
  338. package/components/dropdown/dist/index.js +406 -88
  339. package/components/dropdown/package.json +6 -5
  340. package/components/dropdown/src/auro-dropdown.js +102 -11
  341. package/components/dropdown/src/styles/color-css.js +1 -1
  342. package/components/dropdown/src/styles/color.css +3 -6
  343. package/components/dropdown/src/styles/color.scss +3 -6
  344. package/components/dropdown/src/styles/style-css.js +1 -1
  345. package/components/dropdown/src/styles/style.css +5 -6
  346. package/components/dropdown/src/styles/style.scss +8 -8
  347. package/components/dropdown/src/styles/tokens-css.js +1 -1
  348. package/components/dropdown/src/styles/tokens.css +1 -1
  349. package/components/dropdown/src/styles/tokens.scss +1 -1
  350. package/components/form/.turbo/turbo-build$colon$sass.log +6 -6
  351. package/components/form/.turbo/turbo-build$colon$version.log +1 -1
  352. package/components/form/.turbo/turbo-build.log +17 -18
  353. package/components/form/.turbo/turbo-bundler.log +4 -4
  354. package/components/form/.turbo/turbo-postCss$colon$component.log +1 -2
  355. package/components/form/.turbo/turbo-sass$colon$render.log +2 -2
  356. package/components/form/.turbo/turbo-types.log +1 -1
  357. package/components/form/README.md +29 -35
  358. package/components/form/demo/api.min.js +447 -25
  359. package/components/form/demo/index.min.js +447 -25
  360. package/components/form/demo/registerDemoDeps.js +22 -0
  361. package/components/form/demo/working.html +117 -0
  362. package/components/form/dist/auro-form.d.ts +178 -2
  363. package/components/form/dist/auro-form.d.ts.map +1 -1
  364. package/components/form/dist/index.js +447 -25
  365. package/components/form/package.json +8 -6
  366. package/components/form/src/auro-form.js +444 -25
  367. package/components/form/src/styles/style.css +1 -1
  368. package/components/helptext/.stylelintrc.json +3 -0
  369. package/components/helptext/.turbo/turbo-build$colon$sass.log +34 -0
  370. package/components/helptext/.turbo/turbo-build.log +49 -0
  371. package/components/helptext/.turbo/turbo-bundler.log +7 -0
  372. package/components/helptext/.turbo/turbo-postCss$colon$component.log +4 -0
  373. package/components/helptext/.turbo/turbo-sass$colon$render.log +22 -0
  374. package/components/helptext/.turbo/turbo-types.log +4 -0
  375. package/components/helptext/dist/auro-helptext.d.ts +54 -0
  376. package/components/helptext/dist/auro-helptext.d.ts.map +1 -0
  377. package/components/helptext/dist/index.d.ts +3 -0
  378. package/components/helptext/dist/index.d.ts.map +1 -0
  379. package/components/helptext/dist/index.js +224 -0
  380. package/components/helptext/dist/styles/color-css.d.ts +3 -0
  381. package/components/helptext/dist/styles/color-css.d.ts.map +1 -0
  382. package/components/helptext/dist/styles/style-css.d.ts +3 -0
  383. package/components/helptext/dist/styles/style-css.d.ts.map +1 -0
  384. package/components/helptext/dist/styles/tokens-css.d.ts +3 -0
  385. package/components/helptext/dist/styles/tokens-css.d.ts.map +1 -0
  386. package/components/helptext/node_modules/chalk/package.json +83 -0
  387. package/components/helptext/node_modules/chalk/readme.md +297 -0
  388. package/components/helptext/node_modules/chalk/source/index.d.ts +325 -0
  389. package/components/helptext/node_modules/chalk/source/index.js +225 -0
  390. package/components/helptext/node_modules/chalk/source/utilities.js +33 -0
  391. package/components/helptext/node_modules/chalk/source/vendor/ansi-styles/index.d.ts +236 -0
  392. package/components/helptext/node_modules/chalk/source/vendor/ansi-styles/index.js +223 -0
  393. package/components/helptext/node_modules/chalk/source/vendor/supports-color/browser.d.ts +1 -0
  394. package/components/helptext/node_modules/chalk/source/vendor/supports-color/browser.js +34 -0
  395. package/components/helptext/node_modules/chalk/source/vendor/supports-color/index.d.ts +55 -0
  396. package/components/helptext/node_modules/chalk/source/vendor/supports-color/index.js +182 -0
  397. package/components/helptext/package.json +57 -0
  398. package/components/helptext/src/auro-helptext.js +127 -0
  399. package/components/helptext/src/index.js +6 -0
  400. package/components/helptext/src/styles/color-css.js +2 -0
  401. package/components/helptext/src/styles/color.css +8 -0
  402. package/components/helptext/src/styles/color.scss +11 -0
  403. package/components/helptext/src/styles/style-css.js +2 -0
  404. package/components/helptext/src/styles/style.css +23 -0
  405. package/components/helptext/src/styles/style.scss +33 -0
  406. package/components/helptext/src/styles/tokens-css.js +2 -0
  407. package/components/helptext/src/styles/tokens.css +3 -0
  408. package/components/helptext/src/styles/tokens.scss +5 -0
  409. package/components/input/.turbo/turbo-build$colon$sass.log +22 -32
  410. package/components/input/.turbo/turbo-build.log +33 -46
  411. package/components/input/.turbo/turbo-postCss$colon$component.log +1 -2
  412. package/components/input/.turbo/turbo-sass$colon$render.log +9 -15
  413. package/components/input/README.md +19 -29
  414. package/components/input/demo/api.md +85 -253
  415. package/components/input/demo/api.min.js +413 -125
  416. package/components/input/demo/index.md +9 -59
  417. package/components/input/demo/index.min.js +413 -125
  418. package/components/input/dist/auro-input.d.ts.map +1 -1
  419. package/components/input/dist/base-input.d.ts +3 -3
  420. package/components/input/dist/base-input.d.ts.map +1 -1
  421. package/components/input/dist/index.js +413 -125
  422. package/components/input/package.json +6 -5
  423. package/components/input/src/auro-input.js +18 -10
  424. package/components/input/src/base-input.js +5 -5
  425. package/components/input/src/styles/color-css.js +1 -1
  426. package/components/input/src/styles/color.css +0 -5
  427. package/components/input/src/styles/color.scss +0 -5
  428. package/components/input/src/styles/input-css.js +1 -1
  429. package/components/input/src/styles/input.css +2 -2
  430. package/components/input/src/styles/input.scss +2 -2
  431. package/components/input/src/styles/style-css.js +1 -1
  432. package/components/input/src/styles/style.css +2 -9
  433. package/components/input/src/styles/style.scss +0 -1
  434. package/components/input/src/styles/tokens-css.js +1 -1
  435. package/components/input/src/styles/tokens.css +0 -1
  436. package/components/input/src/styles/tokens.scss +0 -1
  437. package/components/menu/.turbo/turbo-build$colon$sass.log +9 -9
  438. package/components/menu/.turbo/turbo-build$colon$version.log +1 -1
  439. package/components/menu/.turbo/turbo-build.log +22 -21
  440. package/components/menu/.turbo/turbo-bundler.log +4 -4
  441. package/components/menu/.turbo/turbo-postCss$colon$component.log +1 -2
  442. package/components/menu/.turbo/turbo-sass$colon$render.log +6 -6
  443. package/components/menu/.turbo/turbo-types.log +1 -1
  444. package/components/menu/README.md +19 -27
  445. package/components/menu/demo/api.md +57 -20
  446. package/components/menu/demo/api.min.js +626 -312
  447. package/components/menu/demo/index.min.js +624 -310
  448. package/components/menu/dist/auro-menu-utils.d.ts +43 -0
  449. package/components/menu/dist/auro-menu-utils.d.ts.map +1 -0
  450. package/components/menu/dist/auro-menu.d.ts +97 -81
  451. package/components/menu/dist/auro-menu.d.ts.map +1 -1
  452. package/components/menu/dist/index.d.ts +1 -0
  453. package/components/menu/dist/index.js +625 -311
  454. package/components/menu/package.json +5 -5
  455. package/components/menu/src/auro-menu-utils.js +131 -0
  456. package/components/menu/src/auro-menu.js +492 -303
  457. package/components/menu/src/index.js +7 -0
  458. package/components/menu/src/styles/color-menuoption-css.js +1 -1
  459. package/components/menu/src/styles/color-menuoption.css +3 -0
  460. package/components/menu/src/styles/color-menuoption.scss +4 -0
  461. package/components/menu/src/styles/style-menu.css +1 -1
  462. package/components/radio/.turbo/turbo-build$colon$sass.log +13 -13
  463. package/components/radio/.turbo/turbo-build.log +23 -24
  464. package/components/radio/.turbo/turbo-postCss$colon$component.log +1 -2
  465. package/components/radio/.turbo/turbo-sass$colon$render.log +6 -6
  466. package/components/radio/README.md +19 -27
  467. package/components/radio/demo/api.md +9 -8
  468. package/components/radio/demo/api.min.js +360 -62
  469. package/components/radio/demo/index.min.js +360 -62
  470. package/components/radio/dist/auro-radio-group.d.ts +7 -1
  471. package/components/radio/dist/auro-radio-group.d.ts.map +1 -1
  472. package/components/radio/dist/index.js +360 -62
  473. package/components/radio/package.json +6 -6
  474. package/components/radio/src/auro-radio-group.js +24 -6
  475. package/components/radio/src/styles/groupColor-css.js +1 -1
  476. package/components/radio/src/styles/groupColor.css +0 -8
  477. package/components/radio/src/styles/groupColor.scss +0 -8
  478. package/components/radio/src/styles/tokens-css.js +1 -1
  479. package/components/radio/src/styles/tokens.css +0 -1
  480. package/components/radio/src/styles/tokens.scss +0 -1
  481. package/components/select/.turbo/turbo-build$colon$sass.log +12 -12
  482. package/components/select/.turbo/turbo-build.log +28 -27
  483. package/components/select/.turbo/turbo-postCss$colon$component.log +1 -2
  484. package/components/select/.turbo/turbo-sass$colon$render.log +4 -4
  485. package/components/select/README.md +22 -43
  486. package/components/select/demo/api.md +52 -15
  487. package/components/select/demo/api.min.js +2851 -609
  488. package/components/select/demo/index.md +1 -16
  489. package/components/select/demo/index.min.js +2849 -607
  490. package/components/select/dist/auro-select.d.ts +23 -6
  491. package/components/select/dist/auro-select.d.ts.map +1 -1
  492. package/components/select/dist/dropdownVersion.d.ts +3 -0
  493. package/components/select/dist/dropdownVersion.d.ts.map +1 -0
  494. package/components/select/dist/index.js +2313 -385
  495. package/components/select/package.json +7 -7
  496. package/components/select/src/auro-select.js +77 -32
  497. package/components/select/src/dropdownVersion.js +1 -0
  498. package/components/select/src/styles/style-css.js +1 -1
  499. package/components/select/src/styles/style.css +5 -4
  500. package/components/select/src/styles/style.scss +11 -4
  501. package/package.json +27 -23
  502. package/packages/build-tools/src/docProcessor.mjs +37 -8
  503. package/packages/build-tools/src/postinstall.mjs +8 -0
  504. package/packages/form-validation/src/validation.js +79 -20
  505. package/packages/utils/package.json +12 -0
  506. package/packages/utils/src/iconUtil.js +25 -0
  507. package/packages/utils/src/index.js +1 -0
  508. package/turbo.json +42 -9
  509. package/.turbo/cache/013a48308b893dac-meta.json +0 -1
  510. package/.turbo/cache/013a48308b893dac.tar.zst +0 -0
  511. package/.turbo/cache/02244170c798a2bd-meta.json +0 -1
  512. package/.turbo/cache/02244170c798a2bd.tar.zst +0 -0
  513. package/.turbo/cache/051ff97a20add0e2-meta.json +0 -1
  514. package/.turbo/cache/051ff97a20add0e2.tar.zst +0 -0
  515. package/.turbo/cache/07ca42419b9f050c-meta.json +0 -1
  516. package/.turbo/cache/07ca42419b9f050c.tar.zst +0 -0
  517. package/.turbo/cache/0cea4c1f34f3683b-meta.json +0 -1
  518. package/.turbo/cache/0cea4c1f34f3683b.tar.zst +0 -0
  519. package/.turbo/cache/0ea853339c064fa1-meta.json +0 -1
  520. package/.turbo/cache/0ea853339c064fa1.tar.zst +0 -0
  521. package/.turbo/cache/16658beec9f4a809-meta.json +0 -1
  522. package/.turbo/cache/16658beec9f4a809.tar.zst +0 -0
  523. package/.turbo/cache/17259cf94d8f8925-meta.json +0 -1
  524. package/.turbo/cache/17259cf94d8f8925.tar.zst +0 -0
  525. package/.turbo/cache/1b9818717e4bdf9f-meta.json +0 -1
  526. package/.turbo/cache/1b9818717e4bdf9f.tar.zst +0 -0
  527. package/.turbo/cache/1c0f580d37370ba2-meta.json +0 -1
  528. package/.turbo/cache/1c0f580d37370ba2.tar.zst +0 -0
  529. package/.turbo/cache/1c99a949ec63ab35-meta.json +0 -1
  530. package/.turbo/cache/1c99a949ec63ab35.tar.zst +0 -0
  531. package/.turbo/cache/1df4710eef8ed00d-meta.json +0 -1
  532. package/.turbo/cache/1df4710eef8ed00d.tar.zst +0 -0
  533. package/.turbo/cache/204b66d1b253e9cc-meta.json +0 -1
  534. package/.turbo/cache/204b66d1b253e9cc.tar.zst +0 -0
  535. package/.turbo/cache/257a7a26ea72dbc5-meta.json +0 -1
  536. package/.turbo/cache/257a7a26ea72dbc5.tar.zst +0 -0
  537. package/.turbo/cache/2a5d0939d6fc1052-meta.json +0 -1
  538. package/.turbo/cache/2a5d0939d6fc1052.tar.zst +0 -0
  539. package/.turbo/cache/2e3b829fcf75c836-meta.json +0 -1
  540. package/.turbo/cache/2e3b829fcf75c836.tar.zst +0 -0
  541. package/.turbo/cache/3bf45120d0cc9bd8-meta.json +0 -1
  542. package/.turbo/cache/3bf45120d0cc9bd8.tar.zst +0 -0
  543. package/.turbo/cache/3d380d0d40404cac-meta.json +0 -1
  544. package/.turbo/cache/3d380d0d40404cac.tar.zst +0 -0
  545. package/.turbo/cache/3e12285c614db539-meta.json +0 -1
  546. package/.turbo/cache/3e12285c614db539.tar.zst +0 -0
  547. package/.turbo/cache/45035bf5c4147ccd-meta.json +0 -1
  548. package/.turbo/cache/45035bf5c4147ccd.tar.zst +0 -0
  549. package/.turbo/cache/5bf2d3f7ba5891e0-meta.json +0 -1
  550. package/.turbo/cache/5bf2d3f7ba5891e0.tar.zst +0 -0
  551. package/.turbo/cache/5f304c0f37ef25f3-meta.json +0 -1
  552. package/.turbo/cache/5f304c0f37ef25f3.tar.zst +0 -0
  553. package/.turbo/cache/64de7a53e02db647-meta.json +0 -1
  554. package/.turbo/cache/64de7a53e02db647.tar.zst +0 -0
  555. package/.turbo/cache/691a74627ec57993-meta.json +0 -1
  556. package/.turbo/cache/691a74627ec57993.tar.zst +0 -0
  557. package/.turbo/cache/69aae513b7ec6c7d-meta.json +0 -1
  558. package/.turbo/cache/69aae513b7ec6c7d.tar.zst +0 -0
  559. package/.turbo/cache/6dd67d179191bda8-meta.json +0 -1
  560. package/.turbo/cache/6dd67d179191bda8.tar.zst +0 -0
  561. package/.turbo/cache/6dd7058e6703cb35-meta.json +0 -1
  562. package/.turbo/cache/6dd7058e6703cb35.tar.zst +0 -0
  563. package/.turbo/cache/73e9073a5274616d-meta.json +0 -1
  564. package/.turbo/cache/73e9073a5274616d.tar.zst +0 -0
  565. package/.turbo/cache/773edc0f83c8c5a5-meta.json +0 -1
  566. package/.turbo/cache/773edc0f83c8c5a5.tar.zst +0 -0
  567. package/.turbo/cache/786a822763403879-meta.json +0 -1
  568. package/.turbo/cache/786a822763403879.tar.zst +0 -0
  569. package/.turbo/cache/7e1043cffa69f327-meta.json +0 -1
  570. package/.turbo/cache/7e1043cffa69f327.tar.zst +0 -0
  571. package/.turbo/cache/7ffd501e81790676-meta.json +0 -1
  572. package/.turbo/cache/7ffd501e81790676.tar.zst +0 -0
  573. package/.turbo/cache/80a13352066a9801-meta.json +0 -1
  574. package/.turbo/cache/80a13352066a9801.tar.zst +0 -0
  575. package/.turbo/cache/80b5d974184a01df-meta.json +0 -1
  576. package/.turbo/cache/80b5d974184a01df.tar.zst +0 -0
  577. package/.turbo/cache/8954c6073396fadd-meta.json +0 -1
  578. package/.turbo/cache/8954c6073396fadd.tar.zst +0 -0
  579. package/.turbo/cache/8e79bd5c3a16a72e-meta.json +0 -1
  580. package/.turbo/cache/8e79bd5c3a16a72e.tar.zst +0 -0
  581. package/.turbo/cache/8e9ebc3df0e18de0-meta.json +0 -1
  582. package/.turbo/cache/8e9ebc3df0e18de0.tar.zst +0 -0
  583. package/.turbo/cache/92daa6d7c389d548-meta.json +0 -1
  584. package/.turbo/cache/92daa6d7c389d548.tar.zst +0 -0
  585. package/.turbo/cache/973d0eea26083f4b-meta.json +0 -1
  586. package/.turbo/cache/973d0eea26083f4b.tar.zst +0 -0
  587. package/.turbo/cache/9c6ad42729c7b2d8-meta.json +0 -1
  588. package/.turbo/cache/9c6ad42729c7b2d8.tar.zst +0 -0
  589. package/.turbo/cache/a77bc920ea508bb8-meta.json +0 -1
  590. package/.turbo/cache/a77bc920ea508bb8.tar.zst +0 -0
  591. package/.turbo/cache/a9a9d012c83882d8-meta.json +0 -1
  592. package/.turbo/cache/a9a9d012c83882d8.tar.zst +0 -0
  593. package/.turbo/cache/b54fc4f664a7a5a0-meta.json +0 -1
  594. package/.turbo/cache/b54fc4f664a7a5a0.tar.zst +0 -0
  595. package/.turbo/cache/ba4418918621fbcd-meta.json +0 -1
  596. package/.turbo/cache/ba4418918621fbcd.tar.zst +0 -0
  597. package/.turbo/cache/be7c23c37b8ec74b-meta.json +0 -1
  598. package/.turbo/cache/be7c23c37b8ec74b.tar.zst +0 -0
  599. package/.turbo/cache/bffc7582905c2a5e-meta.json +0 -1
  600. package/.turbo/cache/bffc7582905c2a5e.tar.zst +0 -0
  601. package/.turbo/cache/caa0b4ac8d2a04dd-meta.json +0 -1
  602. package/.turbo/cache/caa0b4ac8d2a04dd.tar.zst +0 -0
  603. package/.turbo/cache/cc81de9c0b452a7c-meta.json +0 -1
  604. package/.turbo/cache/cc81de9c0b452a7c.tar.zst +0 -0
  605. package/.turbo/cache/d572ebb3c833e8f4-meta.json +0 -1
  606. package/.turbo/cache/d572ebb3c833e8f4.tar.zst +0 -0
  607. package/.turbo/cache/d61543843c932504-meta.json +0 -1
  608. package/.turbo/cache/d61543843c932504.tar.zst +0 -0
  609. package/.turbo/cache/dad1301ac69bcb85-meta.json +0 -1
  610. package/.turbo/cache/dad1301ac69bcb85.tar.zst +0 -0
  611. package/.turbo/cache/db361cb6578dca84-meta.json +0 -1
  612. package/.turbo/cache/db361cb6578dca84.tar.zst +0 -0
  613. package/.turbo/cache/dea5945f55c6aba5-meta.json +0 -1
  614. package/.turbo/cache/dea5945f55c6aba5.tar.zst +0 -0
  615. package/.turbo/cache/e992dab20aeefbaf-meta.json +0 -1
  616. package/.turbo/cache/e992dab20aeefbaf.tar.zst +0 -0
  617. package/.turbo/cache/f3ff9040a2196834-meta.json +0 -1
  618. package/.turbo/cache/f3ff9040a2196834.tar.zst +0 -0
  619. package/.turbo/cache/f817d89688cefca8-meta.json +0 -1
  620. package/.turbo/cache/f817d89688cefca8.tar.zst +0 -0
  621. package/.turbo/cache/fa132b5b5f0e75f8-meta.json +0 -1
  622. package/.turbo/cache/fa132b5b5f0e75f8.tar.zst +0 -0
  623. package/.turbo/cache/fc57c17867dcac3d-meta.json +0 -1
  624. package/.turbo/cache/fc57c17867dcac3d.tar.zst +0 -0
  625. package/components/checkbox/.turbo/turbo-bundler.log +0 -13
  626. package/components/checkbox/.turbo/turbo-types.log +0 -4
  627. package/components/dropdown/.turbo/turbo-build$colon$version.log +0 -7
  628. package/components/dropdown/.turbo/turbo-bundler.log +0 -13
  629. package/components/dropdown/.turbo/turbo-types.log +0 -4
  630. package/components/input/.turbo/turbo-bundler.log +0 -13
  631. package/components/input/.turbo/turbo-types.log +0 -4
  632. package/components/input/dist/styles/helpText-css.d.ts.map +0 -1
  633. package/components/input/src/styles/helpText-css.js +0 -2
  634. package/components/input/src/styles/helpText.css +0 -6
  635. package/components/input/src/styles/helpText.scss +0 -9
  636. package/components/radio/.turbo/turbo-bundler.log +0 -13
  637. package/components/radio/.turbo/turbo-types.log +0 -4
@@ -3,46 +3,46 @@
3
3
  * Copyright 2019 Google LLC
4
4
  * SPDX-License-Identifier: BSD-3-Clause
5
5
  */
6
- const t$5=globalThis,e$9=t$5.ShadowRoot&&(void 0===t$5.ShadyCSS||t$5.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,s$5=Symbol(),o$8=new WeakMap;let n$7 = class n{constructor(t,e,o){if(this._$cssResult$=!0,o!==s$5)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$9&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o$8.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o$8.set(s,t));}return t}toString(){return this.cssText}};const r$7=t=>new n$7("string"==typeof t?t:t+"",void 0,s$5),i$b=(t,...e)=>{const o=1===t.length?t[0]:e.reduce(((e,s,o)=>e+(t=>{if(!0===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$7(o,t,s$5)},S$3=(s,o)=>{if(e$9)s.adoptedStyleSheets=o.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of o){const o=document.createElement("style"),n=t$5.litNonce;void 0!==n&&o.setAttribute("nonce",n),o.textContent=e.cssText,s.appendChild(o);}},c$5=e$9?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const s of t.cssRules)e+=s.cssText;return r$7(e)})(t):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$a,defineProperty:e$8,getOwnPropertyDescriptor:r$6,getOwnPropertyNames:h$3,getOwnPropertySymbols:o$7,getPrototypeOf:n$6}=Object,a$5=globalThis,c$4=a$5.trustedTypes,l$5=c$4?c$4.emptyScript:"",p$3=a$5.reactiveElementPolyfillSupport,d$3=(t,s)=>t,u$5={toAttribute(t,s){switch(s){case Boolean:t=t?l$5: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$3=(t,s)=>!i$a(t,s),y$3={attribute:!0,type:String,converter:u$5,reflect:!1,hasChanged:f$3};Symbol.metadata??=Symbol("metadata"),a$5.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$3){if(s.state&&(s.attribute=!1),this._$Ei(),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),r=this.getPropertyDescriptor(t,i,s);void 0!==r&&e$8(this.prototype,t,r);}}static getPropertyDescriptor(t,s,i){const{get:e,set:h}=r$6(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:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??y$3}static _$Ei(){if(this.hasOwnProperty(d$3("elementProperties")))return;const t=n$6(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties);}static finalize(){if(this.hasOwnProperty(d$3("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(d$3("properties"))){const t=this.properties,s=[...h$3(t),...o$7(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(void 0!==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);void 0!==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$5(s));}else void 0!==s&&i.push(c$5(s));return i}static _$Eu(t,s){const i=s.attribute;return !1===i?void 0:"string"==typeof i?i:"string"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,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),void 0!==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$3(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),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(void 0!==e&&!0===i.reflect){const r=(void 0!==i.converter?.toAttribute?i.converter:u$5).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(void 0!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),r="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u$5;this._$Em=e,this[e]=r.fromAttribute(s,t.type),this._$Em=null;}}requestUpdate(t,s,i){if(void 0!==t){if(i??=this.constructor.getPropertyOptions(t),!(i.hasChanged??f$3)(this[t],s))return;this.P(t,s,i);}!1===this.isUpdatePending&&(this._$ES=this._$ET());}P(t,s,i){this._$AL.has(t)||this._$AL.set(t,s),!0===i.reflect&&this._$Em!==t&&(this._$Ej??=new Set).add(t);}async _$ET(){this.isUpdatePending=!0;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=void 0;}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t)!0!==i.wrapped||this._$AL.has(s)||void 0===this[s]||this.P(s,this[s],i);}let t=!1;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=!1,this._$EU(),s}t&&this._$AE(s);}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t);}_$EU(){this._$AL=new Map,this.isUpdatePending=!1;}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return !0}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$3("elementProperties")]=new Map,b$1[d$3("finalized")]=new Map,p$3?.({ReactiveElement:b$1}),(a$5.reactiveElementVersions??=[]).push("2.0.4");
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$4=globalThis,i$9=t$4.trustedTypes,s$4=i$9?i$9.createPolicy("lit-html",{createHTML:t=>t}):void 0,e$7="$lit$",h$2=`lit$${Math.random().toFixed(9).slice(2)}$`,o$6="?"+h$2,n$5=`<${o$6}>`,r$5=document,l$4=()=>r$5.createComment(""),c$3=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$2="[ \t\n\f\r]",f$2=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,v$1=/-->/g,_$1=/>/g,m$1=RegExp(`>|${d$2}(?:([^\\s"'>=/]+)(${d$2}*=${d$2}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),p$2=/'/g,g$1=/"/g,$$1=/^(?:script|style|textarea|title)$/i,y$2=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x$1=y$2(1),T$1=Symbol.for("lit-noChange"),E$1=Symbol.for("lit-nothing"),A$1=new WeakMap,C$1=r$5.createTreeWalker(r$5,129);function P$1(t,i){if(!a$4(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==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$2;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$2?"!--"===u[1]?c=v$1:void 0!==u[1]?c=_$1:void 0!==u[2]?($$1.test(u[2])&&(r=RegExp("</"+u[2],"g")),c=m$1):void 0!==u[3]&&(c=m$1):c===m$1?">"===u[0]?(c=r??f$2,d=-1):void 0===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=void 0===u[3]?m$1:'"'===u[3]?g$1:p$2):c===g$1||c===p$2?c=m$1:c===v$1||c===_$1?c=f$2:(c=m$1,r=void 0);const x=c===m$1&&t[i+1].startsWith("/>")?" ":"";l+=c===f$2?s+n$5:d>=0?(o.push(a),s.slice(0,d)+e$7+s.slice(d)+h$2+x):s+h$2+(-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$2),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$2)&&(d.push({type:6,index:c}),r.removeAttribute(t));if($$1.test(r.tagName)){const t=r.textContent.split(h$2),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$6)d.push({type:2,index:c});else {let t=-1;for(;-1!==(t=r.data.indexOf(h$2,t+1));)d.push({type:7,index:c}),t+=h$2.length-1;}c++;}}static createElement(t,i){const s=r$5.createElement("template");return s.innerHTML=t,s}};function S$2(t,i,s=t,e){if(i===T$1)return i;let h=void 0!==e?s._$Co?.[e]:s._$Cl;const o=c$3(i)?void 0:i._$litDirective$;return h?.constructor!==o&&(h?._$AO?.(!1),void 0===o?h=void 0:(h=new o(t),h._$AT(t,s,e)),void 0!==e?(s._$Co??=[])[e]=h:s._$Cl=h),void 0!==h&&(i=S$2(t,h._$AS(t,i.values),h,e)),i}let M$1 = class M{constructor(t,i){this._$AV=[],this._$AN=void 0,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$5).importNode(i,!0);C$1.currentNode=e;let h=C$1.nextNode(),o=0,n=0,l=s[0];for(;void 0!==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$5,e}p(t){let i=0;for(const s of this._$AV)void 0!==s&&(void 0!==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=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cv=e?.isConnected??!0;}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===t?.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=S$2(this,t,i),c$3(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):void 0!==t._$litType$?this.$(t):void 0!==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$3(this._$AH)?this._$AA.nextSibling.data=t:this.T(r$5.createTextNode(t)),this._$AH=t;}$(t){const{values:i,_$litType$:s}=t,e="number"==typeof s?this._$AC(t):(void 0===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 void 0===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?.(!1,!0,i);t&&t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i;}}setConnected(t){void 0===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=void 0,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=!1;if(void 0===h)t=S$2(this,t,i,0),o=!c$3(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$2(this,e[s+n],i,n),r===T$1&&(r=this._$AH[n]),o||=!c$3(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?void 0: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$2(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=void 0,this._$AM=i,this.options=s;}get _$AU(){return this._$AM._$AU}_$AI(t){S$2(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(void 0===h){const t=s?.renderBefore??null;e._$litPart$=h=new R$1(i.insertBefore(l$4(),t),t,void 0,s??{});}return h._$AI(t),h};
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$4 = class r extends b$1{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0;}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(!0);}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1);}render(){return T$1}};r$4._$litElement$=!0,r$4["finalized"]=!0,globalThis.litElementHydrateSupport?.({LitElement:r$4});const i$8=globalThis.litElementPolyfillSupport;i$8?.({LitElement:r$4});(globalThis.litElementVersions??=[]).push("4.1.1");
25
+ */let r$9 = class r extends b$3{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=undefined;}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const s=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=B$3(s,this.renderRoot,this.renderOptions);}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(true);}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(false);}render(){return T$3}};r$9._$litElement$=true,r$9["finalized"]=true,globalThis.litElementHydrateSupport?.({LitElement:r$9});const i$d=globalThis.litElementPolyfillSupport;i$d?.({LitElement:r$9});(globalThis.litElementVersions??=[]).push("4.1.1");
26
26
 
27
27
  /**
28
28
  * @license
29
29
  * Copyright 2017 Google LLC
30
30
  * SPDX-License-Identifier: BSD-3-Clause
31
31
  */
32
- const t$3={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e$6=t=>(...e)=>({_$litDirective$:t,values:e});let i$7 = 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)}};
32
+ const t$6={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e$a=t=>(...e)=>({_$litDirective$:t,values:e});let i$c = class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i;}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}};
33
33
 
34
34
  /**
35
35
  * @license
36
36
  * Copyright 2018 Google LLC
37
37
  * SPDX-License-Identifier: BSD-3-Clause
38
- */const e$5=e$6(class extends i$7{constructor(t){if(super(t),t.type!==t$3.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(void 0===this.st){this.st=new Set,void 0!==s.strings&&(this.nt=new Set(s.strings.join(" ").split(/\s/).filter((t=>""!==t))));for(const t in i)i[t]&&!this.nt?.has(t)&&this.st.add(t);return this.render(i)}const r=s.element.classList;for(const t of this.st)t in i||(r.remove(t),this.st.delete(t));for(const t in i){const s=!!i[t];s===this.st.has(t)||this.nt?.has(t)||(s?(r.add(t),this.st.add(t)):(r.remove(t),this.st.delete(t)));}return T$1}});
38
+ */const e$9=e$a(class extends i$c{constructor(t){if(super(t),t.type!==t$6.ATTRIBUTE||"class"!==t.name||t.strings?.length>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(t){return " "+Object.keys(t).filter((s=>t[s])).join(" ")+" "}update(s,[i]){if(undefined===this.st){this.st=new Set,undefined!==s.strings&&(this.nt=new Set(s.strings.join(" ").split(/\s/).filter((t=>""!==t))));for(const t in i)i[t]&&!this.nt?.has(t)&&this.st.add(t);return this.render(i)}const r=s.element.classList;for(const t of this.st)t in i||(r.remove(t),this.st.delete(t));for(const t in i){const s=!!i[t];s===this.st.has(t)||this.nt?.has(t)||(s?(r.add(t),this.st.add(t)):(r.remove(t),this.st.delete(t)));}return T$3}});
39
39
 
40
40
  /**
41
41
  * @license
42
42
  * Copyright 2020 Google LLC
43
43
  * SPDX-License-Identifier: BSD-3-Clause
44
44
  */
45
- const a$3=Symbol.for(""),o$5=t=>{if(t?.r===a$3)return t?._$litStatic$},s$3=t=>({_$litStatic$:t,r:a$3}),i$6=(t,...r)=>({_$litStatic$:r.reduce(((r,e,a)=>r+(t=>{if(void 0!==t._$litStatic$)return t._$litStatic$;throw Error(`Value passed to 'literal' function must be a 'literal' result: ${t}. Use 'unsafeStatic' to pass non-literal values, but\n take care to ensure page security.`)})(e)+t[a+1]),t[0]),r:a$3}),l$3=new Map,n$4=t=>(r,...e)=>{const a=e.length;let s,i;const n=[],u=[];let c,$=0,f=!1;for(;$<a;){for(c=r[$];$<a&&void 0!==(i=e[$],s=o$5(i));)c+=s+r[++$],f=!0;$!==a&&u.push(i),n.push(c),$++;}if($===a&&n.push(r[a]),f){const t=n.join("$$lit$$");void 0===(r=l$3.get(t))&&(n.raw=n,l$3.set(t,r=n)),e=u;}return t(r,...e)},u$3=n$4(x$1);
45
+ const a$6=Symbol.for(""),o$9=t=>{if(t?.r===a$6)return t?._$litStatic$},s$6=t=>({_$litStatic$:t,r:a$6}),i$b=(t,...r)=>({_$litStatic$:r.reduce(((r,e,a)=>r+(t=>{if(undefined!==t._$litStatic$)return t._$litStatic$;throw Error(`Value passed to 'literal' function must be a 'literal' result: ${t}. Use 'unsafeStatic' to pass non-literal values, but\n take care to ensure page security.`)})(e)+t[a+1]),t[0]),r:a$6}),l$6=new Map,n$8=t=>(r,...e)=>{const a=e.length;let s,i;const n=[],u=[];let c,$=0,f=false;for(;$<a;){for(c=r[$];$<a&&undefined!==(i=e[$],s=o$9(i));)c+=s+r[++$],f=true;$!==a&&u.push(i),n.push(c),$++;}if($===a&&n.push(r[a]),f){const t=n.join("$$lit$$");undefined===(r=l$6.get(t))&&(n.raw=n,l$6.set(t,r=n)),e=u;}return t(r,...e)},u$6=n$8(x$3);
46
46
 
47
47
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
48
48
  // See LICENSE in the project root for license information.
@@ -51,7 +51,7 @@ const a$3=Symbol.for(""),o$5=t=>{if(t?.r===a$3)return t?._$litStatic$},s$3=t=>({
51
51
 
52
52
  /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
53
53
 
54
- let AuroLibraryRuntimeUtils$1 = class AuroLibraryRuntimeUtils {
54
+ let AuroLibraryRuntimeUtils$3 = class AuroLibraryRuntimeUtils {
55
55
 
56
56
  /* eslint-disable jsdoc/require-param */
57
57
 
@@ -120,7 +120,7 @@ let AuroLibraryRuntimeUtils$1 = class AuroLibraryRuntimeUtils {
120
120
 
121
121
  class AuroFormValidation {
122
122
  constructor() {
123
- this.runtimeUtils = new AuroLibraryRuntimeUtils$1();
123
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$3();
124
124
  }
125
125
 
126
126
  /**
@@ -148,30 +148,87 @@ class AuroFormValidation {
148
148
  }
149
149
 
150
150
  /**
151
- * Determines the validity state of the element based on the common attribute restrictions (pattern).
152
- * @private
153
- * @param {object} elem - HTML element to validate.
151
+ * Validates the attributes of a given element based on predefined validation rules.
152
+ *
153
+ * @param {HTMLElement} elem - The element to be validated.
154
154
  * @returns {void}
155
+ *
156
+ * @example
157
+ * // Assuming `inputElement` is a reference to an input element in the DOM
158
+ * validateElementAttributes(inputElement);
159
+ *
160
+ * The function checks the element's attributes against the validation rules defined for 'input' and 'counter' types.
161
+ * If a validation rule is violated, it sets the element's validity state and error message accordingly.
162
+ *
163
+ * Validation rules:
164
+ * - input:
165
+ * - length:
166
+ * - tooShort: Checks if the value length is less than the minimum length.
167
+ * - tooLong: Checks if the value length exceeds the maximum length.
168
+ * - pattern:
169
+ * - patternMismatch: Checks if the value does not match the specified pattern.
170
+ * - counter:
171
+ * - range:
172
+ * - rangeOverflow: Checks if the value exceeds the maximum value.
173
+ * - rangeUnderflow: Checks if the value is less than the minimum value.
155
174
  */
156
- validateAttributes(elem) {
157
- if (elem.pattern) {
158
- const pattern = new RegExp(`^${elem.pattern}$`, 'u');
159
-
160
- if (!pattern.test(elem.value)) {
161
- elem.validity = 'patternMismatch';
162
- elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || '';
175
+ validateElementAttributes(elem) {
176
+ const validationRules = {
177
+ input: {
178
+ length: [
179
+ {
180
+ check: (e) => e.value?.length > 0 && e.value?.length < e.minLength,
181
+ validity: 'tooShort',
182
+ message: e => e.setCustomValidityTooShort || e.setCustomValidity || ''
183
+ },
184
+ {
185
+ check: (e) => e.value?.length > e.maxLength,
186
+ validity: 'tooLong',
187
+ message: e => e.setCustomValidityTooLong || e.setCustomValidity || ''
188
+ }
189
+ ],
190
+ pattern: [
191
+ {
192
+ check: (e) => e.pattern && !new RegExp(`^${e.pattern}$`, 'u').test(e.value),
193
+ validity: 'patternMismatch',
194
+ message: e => e.setCustomValidityPatternMismatch || e.setCustomValidity || ''
195
+ }
196
+ ]
197
+ },
198
+ counter: {
199
+ range: [
200
+ {
201
+ check: (e) => e.max !== undefined && Number(e.max) < Number(e.value),
202
+ validity: 'rangeOverflow',
203
+ message: e => e.getAttribute('setCustomValidityRangeOverflow') || ''
204
+ },
205
+ {
206
+ check: (e) => e.min !== undefined && Number(e.min) > Number(e.value),
207
+ validity: 'rangeUnderflow',
208
+ message: e => e.getAttribute('setCustomValidityRangeUnderflow') || ''
209
+ }
210
+ ]
163
211
  }
212
+ };
213
+
214
+ let elementType;
215
+ if (this.runtimeUtils.elementMatch(elem, 'auro-input')) {
216
+ elementType = 'input';
217
+ } else if (this.runtimeUtils.elementMatch(elem, 'auro-counter') || this.runtimeUtils.elementMatch(elem, 'auro-counter-group')) {
218
+ elementType = 'counter';
164
219
  }
165
-
166
- // Length > 0 is required to prevent the error message from showing when the input is empty
167
- if (elem.value?.length > 0 && elem.value?.length < elem.minLength) {
168
- elem.validity = 'tooShort';
169
- elem.errorMessage = elem.setCustomValidityTooShort || elem.setCustomValidity || '';
170
- }
171
220
 
172
- if (elem.value?.length > elem.maxLength) {
173
- elem.validity = 'tooLong';
174
- elem.errorMessage = elem.setCustomValidityTooLong || elem.setCustomValidity || '';
221
+ if (elementType) {
222
+ const rules = validationRules[elementType];
223
+
224
+ if (rules) {
225
+ Object.values(rules).flat().forEach(rule => {
226
+ if (rule.check(elem)) {
227
+ elem.validity = rule.validity;
228
+ elem.errorMessage = rule.message(elem);
229
+ }
230
+ });
231
+ }
175
232
  }
176
233
  }
177
234
 
@@ -281,7 +338,9 @@ class AuroFormValidation {
281
338
  elem.errorMessage = elem.setCustomValidityValueMissing || elem.setCustomValidity || '';
282
339
  } else if (this.runtimeUtils.elementMatch(elem, 'auro-input')) {
283
340
  this.validateType(elem);
284
- this.validateAttributes(elem);
341
+ this.validateElementAttributes(elem);
342
+ } else if (this.runtimeUtils.elementMatch(elem, 'auro-counter') || this.runtimeUtils.elementMatch(elem, 'auro-counter-group')) {
343
+ this.validateElementAttributes(elem);
285
344
  }
286
345
  }
287
346
 
@@ -373,7 +432,7 @@ class AuroFormValidation {
373
432
  // See LICENSE in the project root for license information.
374
433
 
375
434
 
376
- let AuroDependencyVersioning$1 = class AuroDependencyVersioning {
435
+ let AuroDependencyVersioning$2 = class AuroDependencyVersioning {
377
436
 
378
437
  /**
379
438
  * Generates a unique string to be used for child auro element naming.
@@ -399,7 +458,7 @@ let AuroDependencyVersioning$1 = class AuroDependencyVersioning {
399
458
  */
400
459
  generateTag(baseName, version, tagClass) {
401
460
  const elementName = this.generateElementName(baseName, version);
402
- const tag = i$6`${s$3(elementName)}`;
461
+ const tag = i$b`${s$6(elementName)}`;
403
462
 
404
463
  if (!customElements.get(elementName)) {
405
464
  customElements.define(elementName, class extends tagClass {});
@@ -414,33 +473,33 @@ let AuroDependencyVersioning$1 = class AuroDependencyVersioning {
414
473
  * Copyright 2017 Google LLC
415
474
  * SPDX-License-Identifier: BSD-3-Clause
416
475
  */
417
- const t$2=globalThis,i$5=t$2.trustedTypes,s$2=i$5?i$5.createPolicy("lit-html",{createHTML:t=>t}):void 0,e$4="$lit$",h$1=`lit$${Math.random().toFixed(9).slice(2)}$`,o$4="?"+h$1,n$3=`<${o$4}>`,r$3=document,l$2=()=>r$3.createComment(""),c$2=t=>null===t||"object"!=typeof t&&"function"!=typeof t,a$2=Array.isArray,u$2=t=>a$2(t)||"function"==typeof t?.[Symbol.iterator],d$1="[ \t\n\f\r]",f$1=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,v=/-->/g,_=/>/g,m=RegExp(`>|${d$1}(?:([^\\s"'>=/]+)(${d$1}*=${d$1}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),p$1=/'/g,g=/"/g,$=/^(?:script|style|textarea|title)$/i,y$1=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x=y$1(1),T=Symbol.for("lit-noChange"),E=Symbol.for("lit-nothing"),A=new WeakMap,C=r$3.createTreeWalker(r$3,129);function P(t,i){if(!a$2(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==s$2?s$2.createHTML(i):i}const V=(t,i)=>{const s=t.length-1,o=[];let r,l=2===i?"<svg>":3===i?"<math>":"",c=f$1;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$1?"!--"===u[1]?c=v:void 0!==u[1]?c=_:void 0!==u[2]?($.test(u[2])&&(r=RegExp("</"+u[2],"g")),c=m):void 0!==u[3]&&(c=m):c===m?">"===u[0]?(c=r??f$1,d=-1):void 0===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=void 0===u[3]?m:'"'===u[3]?g:p$1):c===g||c===p$1?c=m:c===v||c===_?c=f$1:(c=m,r=void 0);const x=c===m&&t[i+1].startsWith("/>")?" ":"";l+=c===f$1?s+n$3:d>=0?(o.push(a),s.slice(0,d)+e$4+s.slice(d)+h$1+x):s+h$1+(-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$4)){const i=v[a++],s=r.getAttribute(t).split(h$1),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$1)&&(d.push({type:6,index:c}),r.removeAttribute(t));if($.test(r.tagName)){const t=r.textContent.split(h$1),s=t.length-1;if(s>0){r.textContent=i$5?i$5.emptyScript:"";for(let i=0;i<s;i++)r.append(t[i],l$2()),C.nextNode(),d.push({type:2,index:++c});r.append(t[s],l$2());}}}else if(8===r.nodeType)if(r.data===o$4)d.push({type:2,index:c});else {let t=-1;for(;-1!==(t=r.data.indexOf(h$1,t+1));)d.push({type:7,index:c}),t+=h$1.length-1;}c++;}}static createElement(t,i){const s=r$3.createElement("template");return s.innerHTML=t,s}}function S$1(t,i,s=t,e){if(i===T)return i;let h=void 0!==e?s._$Co?.[e]:s._$Cl;const o=c$2(i)?void 0:i._$litDirective$;return h?.constructor!==o&&(h?._$AO?.(!1),void 0===o?h=void 0:(h=new o(t),h._$AT(t,s,e)),void 0!==e?(s._$Co??=[])[e]=h:s._$Cl=h),void 0!==h&&(i=S$1(t,h._$AS(t,i.values),h,e)),i}class M{constructor(t,i){this._$AV=[],this._$AN=void 0,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$3).importNode(i,!0);C.currentNode=e;let h=C.nextNode(),o=0,n=0,l=s[0];for(;void 0!==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$3,e}p(t){let i=0;for(const s of this._$AV)void 0!==s&&(void 0!==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=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cv=e?.isConnected??!0;}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===t?.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=S$1(this,t,i),c$2(t)?t===E||null==t||""===t?(this._$AH!==E&&this._$AR(),this._$AH=E):t!==this._$AH&&t!==T&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):u$2(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$2(this._$AH)?this._$AA.nextSibling.data=t:this.T(r$3.createTextNode(t)),this._$AH=t;}$(t){const{values:i,_$litType$:s}=t,e="number"==typeof s?this._$AC(t):(void 0===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 void 0===i&&A.set(t.strings,i=new N(t)),i}k(t){a$2(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$2()),this.O(l$2()),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?.(!1,!0,i);t&&t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i;}}setConnected(t){void 0===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=void 0,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=!1;if(void 0===h)t=S$1(this,t,i,0),o=!c$2(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$1(this,e[s+n],i,n),r===T&&(r=this._$AH[n]),o||=!c$2(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?void 0: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$1(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=void 0,this._$AM=i,this.options=s;}get _$AU(){return this._$AM._$AU}_$AI(t){S$1(this,t);}}const j=t$2.litHtmlPolyfillSupport;j?.(N,R),(t$2.litHtmlVersions??=[]).push("3.2.1");const B=(t,i,s)=>{const e=s?.renderBefore??i;let h=e._$litPart$;if(void 0===h){const t=s?.renderBefore??null;e._$litPart$=h=new R(i.insertBefore(l$2(),t),t,void 0,s??{});}return h._$AI(t),h};
476
+ const t$4=globalThis,i$9=t$4.trustedTypes,s$4=i$9?i$9.createPolicy("lit-html",{createHTML:t=>t}):undefined,e$7="$lit$",h$3=`lit$${Math.random().toFixed(9).slice(2)}$`,o$7="?"+h$3,n$6=`<${o$7}>`,r$7=document,l$4=()=>r$7.createComment(""),c$5=t=>null===t||"object"!=typeof t&&"function"!=typeof t,a$4=Array.isArray,u$4=t=>a$4(t)||"function"==typeof t?.[Symbol.iterator],d$3="[ \t\n\f\r]",f$3=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,v$1=/-->/g,_$1=/>/g,m$1=RegExp(`>|${d$3}(?:([^\\s"'>=/]+)(${d$3}*=${d$3}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),p$3=/'/g,g$1=/"/g,$$1=/^(?:script|style|textarea|title)$/i,y$3=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x$1=y$3(1),T$1=Symbol.for("lit-noChange"),E$1=Symbol.for("lit-nothing"),A$1=new WeakMap,C$1=r$7.createTreeWalker(r$7,129);function P$1(t,i){if(!a$4(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return undefined!==s$4?s$4.createHTML(i):i}const V$1=(t,i)=>{const s=t.length-1,o=[];let r,l=2===i?"<svg>":3===i?"<math>":"",c=f$3;for(let i=0;i<s;i++){const s=t[i];let a,u,d=-1,y=0;for(;y<s.length&&(c.lastIndex=y,u=c.exec(s),null!==u);)y=c.lastIndex,c===f$3?"!--"===u[1]?c=v$1:undefined!==u[1]?c=_$1:undefined!==u[2]?($$1.test(u[2])&&(r=RegExp("</"+u[2],"g")),c=m$1):undefined!==u[3]&&(c=m$1):c===m$1?">"===u[0]?(c=r??f$3,d=-1):undefined===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=undefined===u[3]?m$1:'"'===u[3]?g$1:p$3):c===g$1||c===p$3?c=m$1:c===v$1||c===_$1?c=f$3:(c=m$1,r=undefined);const x=c===m$1&&t[i+1].startsWith("/>")?" ":"";l+=c===f$3?s+n$6:d>=0?(o.push(a),s.slice(0,d)+e$7+s.slice(d)+h$3+x):s+h$3+(-2===d?i:x);}return [P$1(t,l+(t[s]||"<?>")+(2===i?"</svg>":3===i?"</math>":"")),o]};let N$1 = class N{constructor({strings:t,_$litType$:s},n){let r;this.parts=[];let c=0,a=0;const u=t.length-1,d=this.parts,[f,v]=V$1(t,s);if(this.el=N.createElement(f,n),C$1.currentNode=this.el.content,2===s||3===s){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes);}for(;null!==(r=C$1.nextNode())&&d.length<u;){if(1===r.nodeType){if(r.hasAttributes())for(const t of r.getAttributeNames())if(t.endsWith(e$7)){const i=v[a++],s=r.getAttribute(t).split(h$3),e=/([.?@])?(.*)/.exec(i);d.push({type:1,index:c,name:e[2],strings:s,ctor:"."===e[1]?H$1:"?"===e[1]?I$1:"@"===e[1]?L$1:k$1}),r.removeAttribute(t);}else t.startsWith(h$3)&&(d.push({type:6,index:c}),r.removeAttribute(t));if($$1.test(r.tagName)){const t=r.textContent.split(h$3),s=t.length-1;if(s>0){r.textContent=i$9?i$9.emptyScript:"";for(let i=0;i<s;i++)r.append(t[i],l$4()),C$1.nextNode(),d.push({type:2,index:++c});r.append(t[s],l$4());}}}else if(8===r.nodeType)if(r.data===o$7)d.push({type:2,index:c});else {let t=-1;for(;-1!==(t=r.data.indexOf(h$3,t+1));)d.push({type:7,index:c}),t+=h$3.length-1;}c++;}}static createElement(t,i){const s=r$7.createElement("template");return s.innerHTML=t,s}};function S$3(t,i,s=t,e){if(i===T$1)return i;let h=undefined!==e?s._$Co?.[e]:s._$Cl;const o=c$5(i)?undefined:i._$litDirective$;return h?.constructor!==o&&(h?._$AO?.(false),undefined===o?h=undefined:(h=new o(t),h._$AT(t,s,e)),undefined!==e?(s._$Co??=[])[e]=h:s._$Cl=h),undefined!==h&&(i=S$3(t,h._$AS(t,i.values),h,e)),i}let M$1 = class M{constructor(t,i){this._$AV=[],this._$AN=undefined,this._$AD=t,this._$AM=i;}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:i},parts:s}=this._$AD,e=(t?.creationScope??r$7).importNode(i,true);C$1.currentNode=e;let h=C$1.nextNode(),o=0,n=0,l=s[0];for(;undefined!==l;){if(o===l.index){let i;2===l.type?i=new R$1(h,h.nextSibling,this,t):1===l.type?i=new l.ctor(h,l.name,l.strings,this,t):6===l.type&&(i=new z$1(h,this,t)),this._$AV.push(i),l=s[++n];}o!==l?.index&&(h=C$1.nextNode(),o++);}return C$1.currentNode=r$7,e}p(t){let i=0;for(const s of this._$AV) undefined!==s&&(undefined!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++;}};let R$1 = class R{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,i,s,e){this.type=2,this._$AH=E$1,this._$AN=undefined,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cv=e?.isConnected??true;}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return undefined!==i&&11===t?.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=S$3(this,t,i),c$5(t)?t===E$1||null==t||""===t?(this._$AH!==E$1&&this._$AR(),this._$AH=E$1):t!==this._$AH&&t!==T$1&&this._(t):undefined!==t._$litType$?this.$(t):undefined!==t.nodeType?this.T(t):u$4(t)?this.k(t):this._(t);}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t));}_(t){this._$AH!==E$1&&c$5(this._$AH)?this._$AA.nextSibling.data=t:this.T(r$7.createTextNode(t)),this._$AH=t;}$(t){const{values:i,_$litType$:s}=t,e="number"==typeof s?this._$AC(t):(undefined===s.el&&(s.el=N$1.createElement(P$1(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===e)this._$AH.p(i);else {const t=new M$1(e,this),s=t.u(this.options);t.p(i),this.T(s),this._$AH=t;}}_$AC(t){let i=A$1.get(t.strings);return undefined===i&&A$1.set(t.strings,i=new N$1(t)),i}k(t){a$4(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const h of t)e===i.length?i.push(s=new R(this.O(l$4()),this.O(l$4()),this,this.options)):s=i[e],s._$AI(h),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e);}_$AR(t=this._$AA.nextSibling,i){for(this._$AP?.(false,true,i);t&&t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i;}}setConnected(t){ undefined===this._$AM&&(this._$Cv=t,this._$AP?.(t));}};let k$1 = class k{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,i,s,e,h){this.type=1,this._$AH=E$1,this._$AN=undefined,this.element=t,this.name=i,this._$AM=e,this.options=h,s.length>2||""!==s[0]||""!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=E$1;}_$AI(t,i=this,s,e){const h=this.strings;let o=false;if(undefined===h)t=S$3(this,t,i,0),o=!c$5(t)||t!==this._$AH&&t!==T$1,o&&(this._$AH=t);else {const e=t;let n,r;for(t=h[0],n=0;n<h.length-1;n++)r=S$3(this,e[s+n],i,n),r===T$1&&(r=this._$AH[n]),o||=!c$5(r)||r!==this._$AH[n],r===E$1?t=E$1:t!==E$1&&(t+=(r??"")+h[n+1]),this._$AH[n]=r;}o&&!e&&this.j(t);}j(t){t===E$1?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"");}};let H$1 = class H extends k$1{constructor(){super(...arguments),this.type=3;}j(t){this.element[this.name]=t===E$1?undefined:t;}};let I$1 = class I extends k$1{constructor(){super(...arguments),this.type=4;}j(t){this.element.toggleAttribute(this.name,!!t&&t!==E$1);}};let L$1 = class L extends k$1{constructor(t,i,s,e,h){super(t,i,s,e,h),this.type=5;}_$AI(t,i=this){if((t=S$3(this,t,i,0)??E$1)===T$1)return;const s=this._$AH,e=t===E$1&&s!==E$1||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,h=t!==E$1&&(s===E$1||e);e&&this.element.removeEventListener(this.name,this,s),h&&this.element.addEventListener(this.name,this,t),this._$AH=t;}handleEvent(t){"function"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t);}};let z$1 = class z{constructor(t,i,s){this.element=t,this.type=6,this._$AN=undefined,this._$AM=i,this.options=s;}get _$AU(){return this._$AM._$AU}_$AI(t){S$3(this,t);}};const j$1=t$4.litHtmlPolyfillSupport;j$1?.(N$1,R$1),(t$4.litHtmlVersions??=[]).push("3.2.1");const B$1=(t,i,s)=>{const e=s?.renderBefore??i;let h=e._$litPart$;if(undefined===h){const t=s?.renderBefore??null;e._$litPart$=h=new R$1(i.insertBefore(l$4(),t),t,undefined,s??{});}return h._$AI(t),h};
418
477
 
419
478
  /**
420
479
  * @license
421
480
  * Copyright 2020 Google LLC
422
481
  * SPDX-License-Identifier: BSD-3-Clause
423
482
  */
424
- const a$1=Symbol.for(""),o$3=t=>{if(t?.r===a$1)return t?._$litStatic$},s$1=t=>({_$litStatic$:t,r:a$1}),i$4=(t,...r)=>({_$litStatic$:r.reduce(((r,e,a)=>r+(t=>{if(void 0!==t._$litStatic$)return t._$litStatic$;throw Error(`Value passed to 'literal' function must be a 'literal' result: ${t}. Use 'unsafeStatic' to pass non-literal values, but\n take care to ensure page security.`)})(e)+t[a+1]),t[0]),r:a$1}),l$1=new Map,n$2=t=>(r,...e)=>{const a=e.length;let s,i;const n=[],u=[];let c,$=0,f=!1;for(;$<a;){for(c=r[$];$<a&&void 0!==(i=e[$],s=o$3(i));)c+=s+r[++$],f=!0;$!==a&&u.push(i),n.push(c),$++;}if($===a&&n.push(r[a]),f){const t=n.join("$$lit$$");void 0===(r=l$1.get(t))&&(n.raw=n,l$1.set(t,r=n)),e=u;}return t(r,...e)},u$1=n$2(x);
483
+ const a$3=Symbol.for(""),o$6=t=>{if(t?.r===a$3)return t?._$litStatic$},s$3=t=>({_$litStatic$:t,r:a$3}),i$8=(t,...r)=>({_$litStatic$:r.reduce(((r,e,a)=>r+(t=>{if(undefined!==t._$litStatic$)return t._$litStatic$;throw Error(`Value passed to 'literal' function must be a 'literal' result: ${t}. Use 'unsafeStatic' to pass non-literal values, but\n take care to ensure page security.`)})(e)+t[a+1]),t[0]),r:a$3}),l$3=new Map,n$5=t=>(r,...e)=>{const a=e.length;let s,i;const n=[],u=[];let c,$=0,f=false;for(;$<a;){for(c=r[$];$<a&&undefined!==(i=e[$],s=o$6(i));)c+=s+r[++$],f=true;$!==a&&u.push(i),n.push(c),$++;}if($===a&&n.push(r[a]),f){const t=n.join("$$lit$$");undefined===(r=l$3.get(t))&&(n.raw=n,l$3.set(t,r=n)),e=u;}return t(r,...e)},u$3=n$5(x$1);
425
484
 
426
485
  /**
427
486
  * @license
428
487
  * Copyright 2019 Google LLC
429
488
  * SPDX-License-Identifier: BSD-3-Clause
430
489
  */
431
- const t$1=globalThis,e$3=t$1.ShadowRoot&&(void 0===t$1.ShadyCSS||t$1.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,s=Symbol(),o$2=new WeakMap;let n$1 = class n{constructor(t,e,o){if(this._$cssResult$=!0,o!==s)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$3&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o$2.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o$2.set(s,t));}return t}toString(){return this.cssText}};const r$2=t=>new n$1("string"==typeof t?t:t+"",void 0,s),i$3=(t,...e)=>{const o=1===t.length?t[0]:e.reduce(((e,s,o)=>e+(t=>{if(!0===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$1(o,t,s)},S=(s,o)=>{if(e$3)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.litNonce;void 0!==n&&o.setAttribute("nonce",n),o.textContent=e.cssText,s.appendChild(o);}},c$1=e$3?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const s of t.cssRules)e+=s.cssText;return r$2(e)})(t):t;
490
+ const t$3=globalThis,e$6=t$3.ShadowRoot&&(undefined===t$3.ShadyCSS||t$3.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,s$2$1=Symbol(),o$5=new WeakMap;let n$4 = class n{constructor(t,e,o){if(this._$cssResult$=true,o!==s$2$1)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e;}get styleSheet(){let t=this.o;const s=this.t;if(e$6&&undefined===t){const e=undefined!==s&&1===s.length;e&&(t=o$5.get(s)),undefined===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o$5.set(s,t));}return t}toString(){return this.cssText}};const r$6=t=>new n$4("string"==typeof t?t:t+"",undefined,s$2$1),i$7=(t,...e)=>{const o=1===t.length?t[0]:e.reduce(((e,s,o)=>e+(t=>{if(true===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(s)+t[o+1]),t[0]);return new n$4(o,t,s$2$1)},S$2=(s,o)=>{if(e$6)s.adoptedStyleSheets=o.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of o){const o=document.createElement("style"),n=t$3.litNonce;undefined!==n&&o.setAttribute("nonce",n),o.textContent=e.cssText,s.appendChild(o);}},c$4=e$6?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const s of t.cssRules)e+=s.cssText;return r$6(e)})(t):t;
432
491
 
433
492
  /**
434
493
  * @license
435
494
  * Copyright 2017 Google LLC
436
495
  * SPDX-License-Identifier: BSD-3-Clause
437
- */const{is:i$2,defineProperty:e$2,getOwnPropertyDescriptor:r$1,getOwnPropertyNames:h,getOwnPropertySymbols:o$1,getPrototypeOf:n}=Object,a=globalThis,c=a.trustedTypes,l=c?c.emptyScript:"",p=a.reactiveElementPolyfillSupport,d=(t,s)=>t,u={toAttribute(t,s){switch(s){case Boolean:t=t?l: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=(t,s)=>!i$2(t,s),y={attribute:!0,type:String,converter:u,reflect:!1,hasChanged:f};Symbol.metadata??=Symbol("metadata"),a.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){if(s.state&&(s.attribute=!1),this._$Ei(),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),r=this.getPropertyDescriptor(t,i,s);void 0!==r&&e$2(this.prototype,t,r);}}static getPropertyDescriptor(t,s,i){const{get:e,set:h}=r$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:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??y}static _$Ei(){if(this.hasOwnProperty(d("elementProperties")))return;const t=n(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties);}static finalize(){if(this.hasOwnProperty(d("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(d("properties"))){const t=this.properties,s=[...h(t),...o$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(void 0!==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);void 0!==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$1(s));}else void 0!==s&&i.push(c$1(s));return i}static _$Eu(t,s){const i=s.attribute;return !1===i?void 0:"string"==typeof i?i:"string"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,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),void 0!==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(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),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(void 0!==e&&!0===i.reflect){const r=(void 0!==i.converter?.toAttribute?i.converter:u).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(void 0!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),r="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u;this._$Em=e,this[e]=r.fromAttribute(s,t.type),this._$Em=null;}}requestUpdate(t,s,i){if(void 0!==t){if(i??=this.constructor.getPropertyOptions(t),!(i.hasChanged??f)(this[t],s))return;this.P(t,s,i);}!1===this.isUpdatePending&&(this._$ES=this._$ET());}P(t,s,i){this._$AL.has(t)||this._$AL.set(t,s),!0===i.reflect&&this._$Em!==t&&(this._$Ej??=new Set).add(t);}async _$ET(){this.isUpdatePending=!0;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=void 0;}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t)!0!==i.wrapped||this._$AL.has(s)||void 0===this[s]||this.P(s,this[s],i);}let t=!1;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=!1,this._$EU(),s}t&&this._$AE(s);}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t);}_$EU(){this._$AL=new Map,this.isUpdatePending=!1;}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return !0}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("elementProperties")]=new Map,b[d("finalized")]=new Map,p?.({ReactiveElement:b}),(a.reactiveElementVersions??=[]).push("2.0.4");
496
+ */const{is:i$6,defineProperty:e$5,getOwnPropertyDescriptor:r$5,getOwnPropertyNames:h$2,getOwnPropertySymbols:o$4$1,getPrototypeOf:n$3$1}=Object,a$2$1=globalThis,c$3=a$2$1.trustedTypes,l$2$1=c$3?c$3.emptyScript:"",p$2=a$2$1.reactiveElementPolyfillSupport,d$2=(t,s)=>t,u$2$1={toAttribute(t,s){switch(s){case Boolean:t=t?l$2$1:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t);}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t);}catch(t){i=null;}}return i}},f$2=(t,s)=>!i$6(t,s),y$2={attribute:true,type:String,converter:u$2$1,reflect:false,hasChanged:f$2};Symbol.metadata??=Symbol("metadata"),a$2$1.litPropertyMetadata??=new WeakMap;let b$1 = class b extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t);}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=y$2){if(s.state&&(s.attribute=false),this._$Ei(),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),r=this.getPropertyDescriptor(t,i,s);undefined!==r&&e$5(this.prototype,t,r);}}static getPropertyDescriptor(t,s,i){const{get:e,set:h}=r$5(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t;}};return {get(){return e?.call(this)},set(s){const r=e?.call(this);h.call(this,s),this.requestUpdate(t,r,i);},configurable:true,enumerable:true}}static getPropertyOptions(t){return this.elementProperties.get(t)??y$2}static _$Ei(){if(this.hasOwnProperty(d$2("elementProperties")))return;const t=n$3$1(this);t.finalize(),undefined!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties);}static finalize(){if(this.hasOwnProperty(d$2("finalized")))return;if(this.finalized=true,this._$Ei(),this.hasOwnProperty(d$2("properties"))){const t=this.properties,s=[...h$2(t),...o$4$1(t)];for(const i of s)this.createProperty(i,t[i]);}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(undefined!==s)for(const[t,i]of s)this.elementProperties.set(t,i);}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);undefined!==i&&this._$Eh.set(i,t);}this.elementStyles=this.finalizeStyles(this.styles);}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(c$4(s));}else undefined!==s&&i.push(c$4(s));return i}static _$Eu(t,s){const i=s.attribute;return false===i?undefined:"string"==typeof i?i:"string"==typeof t?t.toLowerCase():undefined}constructor(){super(),this._$Ep=undefined,this.isUpdatePending=false,this.hasUpdated=false,this._$Em=null,this._$Ev();}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)));}addController(t){(this._$EO??=new Set).add(t),undefined!==this.renderRoot&&this.isConnected&&t.hostConnected?.();}removeController(t){this._$EO?.delete(t);}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t);}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return S$2(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(true),this._$EO?.forEach((t=>t.hostConnected?.()));}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()));}attributeChangedCallback(t,s,i){this._$AK(t,i);}_$EC(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(undefined!==e&&true===i.reflect){const r=(undefined!==i.converter?.toAttribute?i.converter:u$2$1).toAttribute(s,i.type);this._$Em=t,null==r?this.removeAttribute(e):this.setAttribute(e,r),this._$Em=null;}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(undefined!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),r="function"==typeof t.converter?{fromAttribute:t.converter}:undefined!==t.converter?.fromAttribute?t.converter:u$2$1;this._$Em=e,this[e]=r.fromAttribute(s,t.type),this._$Em=null;}}requestUpdate(t,s,i){if(undefined!==t){if(i??=this.constructor.getPropertyOptions(t),!(i.hasChanged??f$2)(this[t],s))return;this.P(t,s,i);} false===this.isUpdatePending&&(this._$ES=this._$ET());}P(t,s,i){this._$AL.has(t)||this._$AL.set(t,s),true===i.reflect&&this._$Em!==t&&(this._$Ej??=new Set).add(t);}async _$ET(){this.isUpdatePending=true;try{await this._$ES;}catch(t){Promise.reject(t);}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=undefined;}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t) true!==i.wrapped||this._$AL.has(s)||undefined===this[s]||this.P(s,this[s],i);}let t=false;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$EO?.forEach((t=>t.hostUpdate?.())),this.update(s)):this._$EU();}catch(s){throw t=false,this._$EU(),s}t&&this._$AE(s);}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=true,this.firstUpdated(t)),this.updated(t);}_$EU(){this._$AL=new Map,this.isUpdatePending=false;}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return true}update(t){this._$Ej&&=this._$Ej.forEach((t=>this._$EC(t,this[t]))),this._$EU();}updated(t){}firstUpdated(t){}};b$1.elementStyles=[],b$1.shadowRootOptions={mode:"open"},b$1[d$2("elementProperties")]=new Map,b$1[d$2("finalized")]=new Map,p$2?.({ReactiveElement:b$1}),(a$2$1.reactiveElementVersions??=[]).push("2.0.4");
438
497
 
439
498
  /**
440
499
  * @license
441
500
  * Copyright 2017 Google LLC
442
501
  * SPDX-License-Identifier: BSD-3-Clause
443
- */class r extends b{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0;}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(!0);}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1);}render(){return T}}r._$litElement$=!0,r["finalized"]=!0,globalThis.litElementHydrateSupport?.({LitElement:r});const i$1=globalThis.litElementPolyfillSupport;i$1?.({LitElement:r});(globalThis.litElementVersions??=[]).push("4.1.1");
502
+ */let r$4 = class r extends b$1{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=undefined;}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const s=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=B$1(s,this.renderRoot,this.renderOptions);}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(true);}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(false);}render(){return T$1}};r$4._$litElement$=true,r$4["finalized"]=true,globalThis.litElementHydrateSupport?.({LitElement:r$4});const i$5$1=globalThis.litElementPolyfillSupport;i$5$1?.({LitElement:r$4});(globalThis.litElementVersions??=[]).push("4.1.1");
444
503
 
445
504
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
446
505
  // See LICENSE in the project root for license information.
@@ -449,7 +508,7 @@ const t$1=globalThis,e$3=t$1.ShadowRoot&&(void 0===t$1.ShadyCSS||t$1.ShadyCSS.na
449
508
 
450
509
  /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
451
510
 
452
- class AuroLibraryRuntimeUtils {
511
+ let AuroLibraryRuntimeUtils$1 = class AuroLibraryRuntimeUtils {
453
512
 
454
513
  /* eslint-disable jsdoc/require-param */
455
514
 
@@ -510,7 +569,7 @@ class AuroLibraryRuntimeUtils {
510
569
 
511
570
  return elemTag === tag || elem.hasAttribute(tag);
512
571
  }
513
- }
572
+ };
514
573
 
515
574
  /**
516
575
  * Custom positioning reference element.
@@ -560,7 +619,7 @@ function getAlignmentAxis(placement) {
560
619
  return getOppositeAxis(getSideAxis(placement));
561
620
  }
562
621
  function getAlignmentSides(placement, rects, rtl) {
563
- if (rtl === void 0) {
622
+ if (rtl === undefined) {
564
623
  rtl = false;
565
624
  }
566
625
  const alignment = getAlignment(placement);
@@ -717,7 +776,7 @@ const computePosition$1 = async (reference, floating, config) => {
717
776
  platform
718
777
  } = config;
719
778
  const validMiddleware = middleware.filter(Boolean);
720
- const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));
779
+ const rtl = await (platform.isRTL == null ? undefined : platform.isRTL(floating));
721
780
  let rects = await platform.getElementRects({
722
781
  reference,
723
782
  floating,
@@ -803,7 +862,7 @@ const computePosition$1 = async (reference, floating, config) => {
803
862
  */
804
863
  async function detectOverflow(state, options) {
805
864
  var _await$platform$isEle;
806
- if (options === void 0) {
865
+ if (options === undefined) {
807
866
  options = {};
808
867
  }
809
868
  const {
@@ -825,7 +884,7 @@ async function detectOverflow(state, options) {
825
884
  const altContext = elementContext === 'floating' ? 'reference' : 'floating';
826
885
  const element = elements[altBoundary ? altContext : elementContext];
827
886
  const clippingClientRect = rectToClientRect(await platform.getClippingRect({
828
- element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),
887
+ element: ((_await$platform$isEle = await (platform.isElement == null ? undefined : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? undefined : platform.getDocumentElement(elements.floating))),
829
888
  boundary,
830
889
  rootBoundary,
831
890
  strategy
@@ -836,8 +895,8 @@ async function detectOverflow(state, options) {
836
895
  width: rects.floating.width,
837
896
  height: rects.floating.height
838
897
  } : rects.reference;
839
- const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));
840
- const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {
898
+ const offsetParent = await (platform.getOffsetParent == null ? undefined : platform.getOffsetParent(elements.floating));
899
+ const offsetScale = (await (platform.isElement == null ? undefined : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? undefined : platform.getScale(offsetParent))) || {
841
900
  x: 1,
842
901
  y: 1
843
902
  } : {
@@ -874,7 +933,7 @@ function getPlacementList(alignment, autoAlignment, allowedPlacements) {
874
933
  * @see https://floating-ui.com/docs/autoPlacement
875
934
  */
876
935
  const autoPlacement$1 = function (options) {
877
- if (options === void 0) {
936
+ if (options === undefined) {
878
937
  options = {};
879
938
  }
880
939
  return {
@@ -898,12 +957,12 @@ const autoPlacement$1 = function (options) {
898
957
  } = evaluate(options, state);
899
958
  const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;
900
959
  const overflow = await detectOverflow(state, detectOverflowOptions);
901
- const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;
960
+ const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? undefined : _middlewareData$autoP.index) || 0;
902
961
  const currentPlacement = placements$1[currentIndex];
903
962
  if (currentPlacement == null) {
904
963
  return {};
905
964
  }
906
- const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));
965
+ const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? undefined : platform.isRTL(elements.floating)));
907
966
 
908
967
  // Make `computeCoords` start from the right place.
909
968
  if (placement !== currentPlacement) {
@@ -914,7 +973,7 @@ const autoPlacement$1 = function (options) {
914
973
  };
915
974
  }
916
975
  const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];
917
- const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {
976
+ const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? undefined : _middlewareData$autoP2.overflows) || []), {
918
977
  placement: currentPlacement,
919
978
  overflows: currentOverflows
920
979
  }];
@@ -944,7 +1003,7 @@ const autoPlacement$1 = function (options) {
944
1003
  // Aligned placements should not check their opposite crossAxis
945
1004
  // side.
946
1005
  getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));
947
- const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];
1006
+ const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? undefined : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];
948
1007
  if (resetPlacement !== placement) {
949
1008
  return {
950
1009
  data: {
@@ -968,7 +1027,7 @@ const autoPlacement$1 = function (options) {
968
1027
  * @see https://floating-ui.com/docs/flip
969
1028
  */
970
1029
  const flip$1 = function (options) {
971
- if (options === void 0) {
1030
+ if (options === undefined) {
972
1031
  options = {};
973
1032
  }
974
1033
  return {
@@ -1004,7 +1063,7 @@ const flip$1 = function (options) {
1004
1063
  const side = getSide(placement);
1005
1064
  const initialSideAxis = getSideAxis(initialPlacement);
1006
1065
  const isBasePlacement = getSide(initialPlacement) === initialPlacement;
1007
- const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));
1066
+ const rtl = await (platform.isRTL == null ? undefined : platform.isRTL(elements.floating));
1008
1067
  const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));
1009
1068
  const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';
1010
1069
  if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {
@@ -1013,7 +1072,7 @@ const flip$1 = function (options) {
1013
1072
  const placements = [initialPlacement, ...fallbackPlacements];
1014
1073
  const overflow = await detectOverflow(state, detectOverflowOptions);
1015
1074
  const overflows = [];
1016
- let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];
1075
+ let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? undefined : _middlewareData$flip.overflows) || [];
1017
1076
  if (checkMainAxis) {
1018
1077
  overflows.push(overflow[side]);
1019
1078
  }
@@ -1029,7 +1088,7 @@ const flip$1 = function (options) {
1029
1088
  // One or more sides is overflowing.
1030
1089
  if (!overflows.every(side => side <= 0)) {
1031
1090
  var _middlewareData$flip2, _overflowsData$filter;
1032
- const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;
1091
+ const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? undefined : _middlewareData$flip2.index) || 0) + 1;
1033
1092
  const nextPlacement = placements[nextIndex];
1034
1093
  if (nextPlacement) {
1035
1094
  // Try next placement and re-run the lifecycle.
@@ -1046,7 +1105,7 @@ const flip$1 = function (options) {
1046
1105
 
1047
1106
  // First, find the candidates that fit on the mainAxis side of overflow,
1048
1107
  // then find the placement that fits the best on the main crossAxis side.
1049
- let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;
1108
+ let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? undefined : _overflowsData$filter.placement;
1050
1109
 
1051
1110
  // Otherwise fallback.
1052
1111
  if (!resetPlacement) {
@@ -1063,7 +1122,7 @@ const flip$1 = function (options) {
1063
1122
  currentSideAxis === 'y';
1064
1123
  }
1065
1124
  return true;
1066
- }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];
1125
+ }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? undefined : _overflowsData$filter2[0];
1067
1126
  if (placement) {
1068
1127
  resetPlacement = placement;
1069
1128
  }
@@ -1096,7 +1155,7 @@ async function convertValueToCoords(state, options) {
1096
1155
  platform,
1097
1156
  elements
1098
1157
  } = state;
1099
- const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));
1158
+ const rtl = await (platform.isRTL == null ? undefined : platform.isRTL(elements.floating));
1100
1159
  const side = getSide(placement);
1101
1160
  const alignment = getAlignment(placement);
1102
1161
  const isVertical = getSideAxis(placement) === 'y';
@@ -1138,7 +1197,7 @@ async function convertValueToCoords(state, options) {
1138
1197
  * @see https://floating-ui.com/docs/offset
1139
1198
  */
1140
1199
  const offset$1 = function (options) {
1141
- if (options === void 0) {
1200
+ if (options === undefined) {
1142
1201
  options = 0;
1143
1202
  }
1144
1203
  return {
@@ -1156,7 +1215,7 @@ const offset$1 = function (options) {
1156
1215
 
1157
1216
  // If the placement is the same and the arrow caused an alignment offset
1158
1217
  // then we don't need to change the positioning coordinates.
1159
- if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {
1218
+ if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? undefined : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {
1160
1219
  return {};
1161
1220
  }
1162
1221
  return {
@@ -1185,11 +1244,11 @@ function getNodeName(node) {
1185
1244
  }
1186
1245
  function getWindow(node) {
1187
1246
  var _node$ownerDocument;
1188
- return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;
1247
+ return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? undefined : _node$ownerDocument.defaultView) || window;
1189
1248
  }
1190
1249
  function getDocumentElement(node) {
1191
1250
  var _ref;
1192
- return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;
1251
+ return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? undefined : _ref.documentElement;
1193
1252
  }
1194
1253
  function isNode(value) {
1195
1254
  if (!hasWindow()) {
@@ -1304,14 +1363,14 @@ function getNearestOverflowAncestor(node) {
1304
1363
  }
1305
1364
  function getOverflowAncestors(node, list, traverseIframes) {
1306
1365
  var _node$ownerDocument2;
1307
- if (list === void 0) {
1366
+ if (list === undefined) {
1308
1367
  list = [];
1309
1368
  }
1310
- if (traverseIframes === void 0) {
1369
+ if (traverseIframes === undefined) {
1311
1370
  traverseIframes = true;
1312
1371
  }
1313
1372
  const scrollableAncestor = getNearestOverflowAncestor(node);
1314
- const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);
1373
+ const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? undefined : _node$ownerDocument2.body);
1315
1374
  const win = getWindow(scrollableAncestor);
1316
1375
  if (isBody) {
1317
1376
  const frameElement = getFrameElement(win);
@@ -1388,7 +1447,7 @@ function getVisualOffsets(element) {
1388
1447
  };
1389
1448
  }
1390
1449
  function shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {
1391
- if (isFixed === void 0) {
1450
+ if (isFixed === undefined) {
1392
1451
  isFixed = false;
1393
1452
  }
1394
1453
  if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {
@@ -1398,10 +1457,10 @@ function shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {
1398
1457
  }
1399
1458
 
1400
1459
  function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {
1401
- if (includeScale === void 0) {
1460
+ if (includeScale === undefined) {
1402
1461
  includeScale = false;
1403
1462
  }
1404
- if (isFixedStrategy === void 0) {
1463
+ if (isFixedStrategy === undefined) {
1405
1464
  isFixedStrategy = false;
1406
1465
  }
1407
1466
  const clientRect = element.getBoundingClientRect();
@@ -1461,7 +1520,7 @@ function getWindowScrollBarX(element, rect) {
1461
1520
  }
1462
1521
 
1463
1522
  function getHTMLOffset(documentElement, scroll, ignoreScrollbarX) {
1464
- if (ignoreScrollbarX === void 0) {
1523
+ if (ignoreScrollbarX === undefined) {
1465
1524
  ignoreScrollbarX = false;
1466
1525
  }
1467
1526
  const htmlRect = documentElement.getBoundingClientRect();
@@ -1811,10 +1870,10 @@ function observeMove(element, onMove) {
1811
1870
  io = null;
1812
1871
  }
1813
1872
  function refresh(skip, threshold) {
1814
- if (skip === void 0) {
1873
+ if (skip === undefined) {
1815
1874
  skip = false;
1816
1875
  }
1817
- if (threshold === void 0) {
1876
+ if (threshold === undefined) {
1818
1877
  threshold = 1;
1819
1878
  }
1820
1879
  cleanup();
@@ -1885,7 +1944,7 @@ function observeMove(element, onMove) {
1885
1944
  * @see https://floating-ui.com/docs/autoUpdate
1886
1945
  */
1887
1946
  function autoUpdate(reference, floating, update, options) {
1888
- if (options === void 0) {
1947
+ if (options === undefined) {
1889
1948
  options = {};
1890
1949
  }
1891
1950
  const {
@@ -2101,7 +2160,7 @@ class AuroFloatingUI {
2101
2160
  // Compute the position of the bib
2102
2161
  computePosition(this.element.trigger, this.element.bib, {
2103
2162
  placement: this.element.floaterConfig.placement || 'bottom',
2104
- middleware: middleware || []
2163
+ middleware: middleware
2105
2164
  }).then(({x, y}) => { // eslint-disable-line id-length
2106
2165
  Object.assign(this.element.bib.style, {
2107
2166
  left: `${x}px`,
@@ -2134,7 +2193,11 @@ class AuroFloatingUI {
2134
2193
 
2135
2194
  updateState() {
2136
2195
  const isVisible = this.element.isPopoverVisible;
2137
- this.element.trigger.setAttribute('aria-expanded', isVisible);
2196
+
2197
+ // Refactor this to apply attribute to correct focusable element
2198
+ // Reference Issue: https://github.com/AlaskaAirlines/auro-library/issues/105
2199
+ //
2200
+ // this.element.trigger.setAttribute('aria-expanded', isVisible);
2138
2201
 
2139
2202
  if (isVisible) {
2140
2203
  this.element.bib.setAttribute('data-show', true);
@@ -2398,7 +2461,7 @@ class AuroFloatingUI {
2398
2461
  // See LICENSE in the project root for license information.
2399
2462
 
2400
2463
 
2401
- class AuroDependencyVersioning {
2464
+ let AuroDependencyVersioning$1 = class AuroDependencyVersioning {
2402
2465
 
2403
2466
  /**
2404
2467
  * Generates a unique string to be used for child auro element naming.
@@ -2424,7 +2487,7 @@ class AuroDependencyVersioning {
2424
2487
  */
2425
2488
  generateTag(baseName, version, tagClass) {
2426
2489
  const elementName = this.generateElementName(baseName, version);
2427
- const tag = i$4`${s$1(elementName)}`;
2490
+ const tag = i$8`${s$3(elementName)}`;
2428
2491
 
2429
2492
  if (!customElements.get(elementName)) {
2430
2493
  customElements.define(elementName, class extends tagClass {});
@@ -2432,26 +2495,26 @@ class AuroDependencyVersioning {
2432
2495
 
2433
2496
  return tag;
2434
2497
  }
2435
- }
2498
+ };
2436
2499
 
2437
2500
  /**
2438
2501
  * @license
2439
2502
  * Copyright 2017 Google LLC
2440
2503
  * SPDX-License-Identifier: BSD-3-Clause
2441
2504
  */
2442
- const t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e$1=t=>(...e)=>({_$litDirective$:t,values:e});class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i;}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}
2505
+ const t$2$1={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e$4$1=t=>(...e)=>({_$litDirective$:t,values:e});let i$4$1 = class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i;}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}};
2443
2506
 
2444
2507
  /**
2445
2508
  * @license
2446
2509
  * Copyright 2018 Google LLC
2447
2510
  * SPDX-License-Identifier: BSD-3-Clause
2448
- */const e=e$1(class extends i{constructor(t$1){if(super(t$1),t$1.type!==t.ATTRIBUTE||"class"!==t$1.name||t$1.strings?.length>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(t){return " "+Object.keys(t).filter((s=>t[s])).join(" ")+" "}update(s,[i]){if(void 0===this.st){this.st=new Set,void 0!==s.strings&&(this.nt=new Set(s.strings.join(" ").split(/\s/).filter((t=>""!==t))));for(const t in i)i[t]&&!this.nt?.has(t)&&this.st.add(t);return this.render(i)}const r=s.element.classList;for(const t of this.st)t in i||(r.remove(t),this.st.delete(t));for(const t in i){const s=!!i[t];s===this.st.has(t)||this.nt?.has(t)||(s?(r.add(t),this.st.add(t)):(r.remove(t),this.st.delete(t)));}return T}});
2511
+ */const e$3$1=e$4$1(class extends i$4$1{constructor(t){if(super(t),t.type!==t$2$1.ATTRIBUTE||"class"!==t.name||t.strings?.length>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(t){return " "+Object.keys(t).filter((s=>t[s])).join(" ")+" "}update(s,[i]){if(undefined===this.st){this.st=new Set,undefined!==s.strings&&(this.nt=new Set(s.strings.join(" ").split(/\s/).filter((t=>""!==t))));for(const t in i)i[t]&&!this.nt?.has(t)&&this.st.add(t);return this.render(i)}const r=s.element.classList;for(const t of this.st)t in i||(r.remove(t),this.st.delete(t));for(const t in i){const s=!!i[t];s===this.st.has(t)||this.nt?.has(t)||(s?(r.add(t),this.st.add(t)):(r.remove(t),this.st.delete(t)));}return T$1}});
2449
2512
 
2450
2513
  /**
2451
2514
  * @license
2452
2515
  * Copyright 2018 Google LLC
2453
2516
  * SPDX-License-Identifier: BSD-3-Clause
2454
- */const o=o=>o??E;
2517
+ */const o$3$1=o=>o??E$1;
2455
2518
 
2456
2519
  // Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
2457
2520
  // See LICENSE in the project root for license information.
@@ -2463,7 +2526,7 @@ const t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e
2463
2526
  * @attr {Boolean} hiddenAudible - If present, the component will be hidden from screen readers, but seen visually
2464
2527
  */
2465
2528
 
2466
- class AuroElement extends r {
2529
+ let AuroElement$1 = class AuroElement extends r$4 {
2467
2530
 
2468
2531
  // function to define props used within the scope of this component
2469
2532
  static get properties() {
@@ -2487,13 +2550,13 @@ class AuroElement extends r {
2487
2550
 
2488
2551
  return 'false'
2489
2552
  }
2490
- }
2553
+ };
2491
2554
 
2492
- var error = {"role":"img","color":"currentColor","title":"","desc":"Error alert indicator.","width":"var(--auro-size-lg, var(--ds-size-300, 1.5rem))","height":"var(--auro-size-lg, var(--ds-size-300, 1.5rem))","xmlns":"http://www.w3.org/2000/svg","xmlns_xlink":"http://www.w3.org/1999/xlink","viewBox":"0 0 24 24","path":"/icons","style":"ico_squareLarge","type":"icon","name":"error","category":"alert","deprecated":true,"svg":"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" aria-labelledby=\"error__desc\" class=\"ico_squareLarge\" data-deprecated=\"true\" role=\"img\" style=\"min-width:var(--auro-size-lg, var(--ds-size-300, 1.5rem));height:var(--auro-size-lg, var(--ds-size-300, 1.5rem));fill:currentColor\" viewBox=\"0 0 24 24\" part=\"svg\"><title/><desc id=\"error__desc\">Error alert indicator.</desc><path d=\"m13.047 5.599 6.786 11.586A1.207 1.207 0 0 1 18.786 19H5.214a1.207 1.207 0 0 1-1.047-1.815l6.786-11.586a1.214 1.214 0 0 1 2.094 0m-1.165.87a.23.23 0 0 0-.085.085L5.419 17.442a.232.232 0 0 0 .203.35h12.756a.234.234 0 0 0 .203-.35L12.203 6.554a.236.236 0 0 0-.321-.084M12 15.5a.75.75 0 1 1 0 1.5.75.75 0 0 1 0-1.5m-.024-6.22c.325 0 .589.261.589.583v4.434a.586.586 0 0 1-.589.583.586.586 0 0 1-.588-.583V9.863c0-.322.264-.583.588-.583\"/></svg>"};
2555
+ var error$1 = {"role":"img","color":"currentColor","title":"","desc":"Error alert indicator.","width":"var(--auro-size-lg, var(--ds-size-300, 1.5rem))","height":"var(--auro-size-lg, var(--ds-size-300, 1.5rem))","xmlns":"http://www.w3.org/2000/svg","xmlns_xlink":"http://www.w3.org/1999/xlink","viewBox":"0 0 24 24","path":"/icons","style":"ico_squareLarge","type":"icon","name":"error","category":"alert","deprecated":true,"svg":"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" aria-labelledby=\"error__desc\" class=\"ico_squareLarge\" data-deprecated=\"true\" role=\"img\" style=\"min-width:var(--auro-size-lg, var(--ds-size-300, 1.5rem));height:var(--auro-size-lg, var(--ds-size-300, 1.5rem));fill:currentColor\" viewBox=\"0 0 24 24\" part=\"svg\"><title/><desc id=\"error__desc\">Error alert indicator.</desc><path d=\"m13.047 5.599 6.786 11.586A1.207 1.207 0 0 1 18.786 19H5.214a1.207 1.207 0 0 1-1.047-1.815l6.786-11.586a1.214 1.214 0 0 1 2.094 0m-1.165.87a.23.23 0 0 0-.085.085L5.419 17.442a.232.232 0 0 0 .203.35h12.756a.234.234 0 0 0 .203-.35L12.203 6.554a.236.236 0 0 0-.321-.084M12 15.5a.75.75 0 1 1 0 1.5.75.75 0 0 1 0-1.5m-.024-6.22c.325 0 .589.261.589.583v4.434a.586.586 0 0 1-.589.583.586.586 0 0 1-.588-.583V9.863c0-.322.264-.583.588-.583\"/></svg>"};
2493
2556
 
2494
2557
  /* eslint-disable no-underscore-dangle, jsdoc/no-undefined-types, jsdoc/require-param-description */
2495
2558
 
2496
- const _fetchMap = new Map();
2559
+ const _fetchMap$1 = new Map();
2497
2560
 
2498
2561
  /**
2499
2562
  * A callback to parse Response body.
@@ -2511,15 +2574,15 @@ const _fetchMap = new Map();
2511
2574
  * @param {ResponseParser} [options.responseParser=(response) => response.text()]
2512
2575
  * @returns {Promise}
2513
2576
  */
2514
- const cacheFetch = (uri, options = {}) => {
2577
+ const cacheFetch$1 = (uri, options = {}) => {
2515
2578
  const responseParser = options.responseParser || ((response) => response.text());
2516
- if (!_fetchMap.has(uri)) {
2517
- _fetchMap.set(uri, fetch(uri).then(responseParser));
2579
+ if (!_fetchMap$1.has(uri)) {
2580
+ _fetchMap$1.set(uri, fetch(uri).then(responseParser));
2518
2581
  }
2519
- return _fetchMap.get(uri);
2582
+ return _fetchMap$1.get(uri);
2520
2583
  };
2521
2584
 
2522
- var styleCss$2 = i$3`*,*: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}`;
2585
+ var styleCss$3$1 = i$7`*,*:before,*:after{box-sizing:border-box}@media(prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}}*:focus-visible{outline:0}*:focus-visible{outline:0}:focus:not(:focus-visible){outline:3px solid transparent}.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock,:host{display:block}.util_displayFlex{display:flex}.util_displayHidden,:host([hidden]:not(:focus):not(:active)){display:none}.util_displayHiddenVisually,:host([hiddenVisually]:not(:focus):not(:active)){position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}.ico_squareLarge{fill:currentColor;height:var(--auro-size-lg, var(--ds-size-300, 1.5rem))}.ico_squareSmall{fill:currentColor;height:.6rem}.ico_squareMed{fill:currentColor;height:var(--auro-size-md, var(--ds-size-200, 1rem))}.ico_squareSml{fill:currentColor;height:var(--auro-size-sm, var(--ds-size-150, 0.75rem))}:host{color:currentColor;vertical-align:middle;line-height:1;display:inline-block}:host .logo{color:var(--ds-color-brand-midnight-400, #01426a)}svg{min-width:var(--ds-auro-icon-size, 1.5rem) !important;width:var(--ds-auro-icon-size, 1.5rem) !important;height:var(--ds-auro-icon-size, 1.5rem) !important}.label{display:flex;align-items:flex-start}.label svg{margin:0 var(--ds-size-50, 0.25rem)}.wrapper{height:var(--ds-auro-icon-size);width:var(--ds-auro-icon-size)}.labelContainer{line-height:1.8}`;
2523
2586
 
2524
2587
  // Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
2525
2588
  // See LICENSE in the project root for license information.
@@ -2532,7 +2595,7 @@ var styleCss$2 = i$3`*,*:before,*:after{box-sizing:border-box}@media(prefers-red
2532
2595
  */
2533
2596
 
2534
2597
  // build the component class
2535
- class BaseIcon extends AuroElement {
2598
+ let BaseIcon$1 = class BaseIcon extends AuroElement$1 {
2536
2599
  constructor() {
2537
2600
  super();
2538
2601
  this.onDark = false;
@@ -2558,8 +2621,8 @@ class BaseIcon extends AuroElement {
2558
2621
  }
2559
2622
 
2560
2623
  static get styles() {
2561
- return i$3`
2562
- ${styleCss$2}
2624
+ return i$7`
2625
+ ${styleCss$3$1}
2563
2626
  `;
2564
2627
  }
2565
2628
 
@@ -2574,9 +2637,9 @@ class BaseIcon extends AuroElement {
2574
2637
  let iconHTML = '';
2575
2638
 
2576
2639
  if (category === 'logos') {
2577
- iconHTML = await cacheFetch(`${this.uri}/${category}/${name}.svg`);
2640
+ iconHTML = await cacheFetch$1(`${this.uri}/${category}/${name}.svg`);
2578
2641
  } else {
2579
- iconHTML = await cacheFetch(`${this.uri}/icons/${category}/${name}.svg`);
2642
+ iconHTML = await cacheFetch$1(`${this.uri}/icons/${category}/${name}.svg`);
2580
2643
  }
2581
2644
 
2582
2645
  const dom = new DOMParser().parseFromString(iconHTML, 'text/html');
@@ -2592,17 +2655,17 @@ class BaseIcon extends AuroElement {
2592
2655
  if (svg) {
2593
2656
  this.svg = svg;
2594
2657
  } else if (!svg) {
2595
- const penDOM = new DOMParser().parseFromString(error.svg, 'text/html');
2658
+ const penDOM = new DOMParser().parseFromString(error$1.svg, 'text/html');
2596
2659
 
2597
2660
  this.svg = penDOM.body.firstChild;
2598
2661
  }
2599
2662
  }
2600
2663
  }
2601
- }
2664
+ };
2602
2665
 
2603
- var tokensCss$1 = i$3`: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)}`;
2666
+ var tokensCss$2$1 = i$7`:host{--ds-auro-icon-color: var(--ds-color-icon-primary-default, $ds-color-icon-primary-default);--ds-auro-icon-size: var(--ds-size-300, $ds-size-300)}`;
2604
2667
 
2605
- var colorCss$2 = i$3`: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)}`;
2668
+ var colorCss$3$1 = i$7`:host{color:var(--ds-auro-icon-color)}:host([customColor]){color:inherit}:host(:not([onDark])[accent]){--ds-auro-icon-color: var(--ds-color-icon-accent-default, #a2c270)}:host(:not([onDark])[disabled]){--ds-auro-icon-color: var(--ds-color-icon-ui-primary-disabled-default, #adadad)}:host(:not([onDark])[emphasis]){--ds-auro-icon-color: var(--ds-color-icon-emphasis-default, #2a2a2a)}:host(:not([onDark])[error]){--ds-auro-icon-color: var(--ds-color-icon-error-default, #cc1816)}:host(:not([onDark])[info]){--ds-auro-icon-color: var(--ds-color-icon-info-default, #326aa5)}:host(:not([onDark])[secondary]){--ds-auro-icon-color: var(--ds-color-icon-secondary-default, #7e8894)}:host(:not([onDark])[subtle]){--ds-auro-icon-color: var(--ds-color-icon-subtle-default, #a0c9f1)}:host(:not([onDark])[success]){--ds-auro-icon-color: var(--ds-color-icon-success-default, #40a080)}:host(:not([onDark])[tertiary]){--ds-auro-icon-color: var(--ds-color-icon-tertiary-default, #afb9c6)}:host(:not([onDark])[warning]){--ds-auro-icon-color: var(--ds-color-icon-warning-default, #c49432)}:host([onDark]){--ds-auro-icon-color: var(--ds-color-icon-primary-inverse, #f7f7f7)}:host([onDark][accent]){--ds-auro-icon-color: var(--ds-color-icon-accent-inverse, #badd81)}:host([onDark][disabled]){--ds-auro-icon-color: var(--ds-color-icon-ui-primary-disabled-inverse, #7e7e7e)}:host([onDark][emphasis]){--ds-auro-icon-color: var(--ds-color-icon-emphasis-inverse, #ffffff)}:host([onDark][error]){--ds-auro-icon-color: var(--ds-color-icon-error-inverse, #f9aca6)}:host([onDark][info]){--ds-auro-icon-color: var(--ds-color-icon-info-inverse, #89b2d4)}:host([onDark][secondary]){--ds-auro-icon-color: var(--ds-color-icon-secondary-inverse, #ccd2db)}:host([onDark][subtle]){--ds-auro-icon-color: var(--ds-color-icon-subtle-inverse, #326aa5)}:host([onDark][success]){--ds-auro-icon-color: var(--ds-color-icon-success-inverse, #8eceb9)}:host([onDark][tertiary]){--ds-auro-icon-color: var(--ds-color-icon-tertiary-inverse, #939fad)}:host([onDark][warning]){--ds-auro-icon-color: var(--ds-color-icon-warning-inverse, #f2c153)}`;
2606
2669
 
2607
2670
  // Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
2608
2671
  // See LICENSE in the project root for license information.
@@ -2635,7 +2698,7 @@ var colorCss$2 = i$3`:host{color:var(--ds-auro-icon-color)}:host([customColor]){
2635
2698
  */
2636
2699
 
2637
2700
  // build the component class
2638
- class AuroIcon extends BaseIcon {
2701
+ let AuroIcon$1 = class AuroIcon extends BaseIcon$1 {
2639
2702
  constructor() {
2640
2703
  super();
2641
2704
 
@@ -2664,7 +2727,7 @@ class AuroIcon extends BaseIcon {
2664
2727
  this.success = false;
2665
2728
  this.tertiary = false;
2666
2729
  this.warning = false;
2667
- this.runtimeUtils = new AuroLibraryRuntimeUtils();
2730
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$1();
2668
2731
  }
2669
2732
 
2670
2733
  // function to define props used within the scope of this component
@@ -2746,9 +2809,9 @@ class AuroIcon extends BaseIcon {
2746
2809
  static get styles() {
2747
2810
  return [
2748
2811
  super.styles,
2749
- i$3`${tokensCss$1}`,
2750
- i$3`${styleCss$2}`,
2751
- i$3`${colorCss$2}`
2812
+ i$7`${tokensCss$2$1}`,
2813
+ i$7`${styleCss$3$1}`,
2814
+ i$7`${colorCss$3$1}`
2752
2815
  ];
2753
2816
  }
2754
2817
 
@@ -2761,7 +2824,7 @@ class AuroIcon extends BaseIcon {
2761
2824
  *
2762
2825
  */
2763
2826
  static register(name = "auro-icon") {
2764
- AuroLibraryRuntimeUtils.prototype.registerComponent(name, AuroIcon);
2827
+ AuroLibraryRuntimeUtils$1.prototype.registerComponent(name, AuroIcon);
2765
2828
  }
2766
2829
 
2767
2830
  connectedCallback() {
@@ -2790,38 +2853,261 @@ class AuroIcon extends BaseIcon {
2790
2853
  'wrapper': true,
2791
2854
  };
2792
2855
 
2793
- return x`
2856
+ return x$1`
2794
2857
  <div
2795
- class="${e(classes)}"
2796
- title="${o(this.title || undefined)}">
2797
- <span aria-hidden="${o(this.ariaHidden ? this.ariaHidden : true)}" part="svg">
2798
- ${this.customSvg ? x`
2858
+ class="${e$3$1(classes)}"
2859
+ title="${o$3$1(this.title || undefined)}">
2860
+ <span aria-hidden="${o$3$1(this.ariaHidden ? this.ariaHidden : true)}" part="svg">
2861
+ ${this.customSvg ? x$1`
2799
2862
  <slot name="svg"></slot>
2800
- ` : x`
2863
+ ` : x$1`
2801
2864
  ${this.svg}
2802
2865
  `
2803
2866
  }
2804
2867
  </span>
2805
2868
 
2806
- <div class="${e(a11y)}">
2869
+ <div class="${e$3$1(a11y)}">
2807
2870
  <slot></slot>
2808
2871
  </div>
2809
2872
  </div>
2810
2873
  `;
2811
2874
  }
2812
- }
2875
+ };
2813
2876
 
2814
- var iconVersion = '6.1.2';
2877
+ var iconVersion$1 = '6.1.2';
2878
+
2879
+ var styleCss$2$1 = i$7`:host{position:relative;display:inline-block;max-width:100%}:host([fluid]){display:block}#bibSizer{position:absolute;z-index:-1;opacity:0;pointer-events:none}.label{font-size:var(--ds-text-body-size-xs, 0.75rem);line-height:var(--ds-text-body-size-default, 1rem);transition:font-size .3s cubic-bezier(0.215, 0.61, 0.355, 1);white-space:normal}.label[hasTrigger=false]{font-size:var(--ds-text-body-size-default, 1rem)}.trigger{position:relative;display:flex;align-items:center}.trigger[showBorder]{border-width:1px;border-style:solid;cursor:pointer;outline-style:solid;outline-width:1px}@media(hover: hover){.trigger:hover{cursor:pointer}}.triggerContentWrapper{overflow:hidden;flex:1;text-overflow:ellipsis;white-space:nowrap}#showStateIcon{display:flex;overflow:hidden;height:100%;align-items:center;margin-left:var(--ds-size-100, 0.5rem)}#showStateIcon [auro-icon]{height:var(--ds-size-300, 1.5rem);line-height:var(--ds-size-300, 1.5rem)}#showStateIcon[data-expanded=true] [auro-icon]{transform:rotate(-180deg)}:host([matchwidth]) #bibSizer{width:100%}:host([disabled]){pointer-events:none}:host([inset]) .trigger{padding:var(--ds-size-150, 0.75rem) var(--ds-size-200, 1rem)}:host([common]) .trigger,:host([inset][bordered]) .trigger{padding:var(--ds-size-200, 1rem) var(--ds-size-150, 0.75rem)}:host([common]) .trigger,:host([rounded]) .trigger{border-radius:var(--ds-border-radius, 0.375rem)}`;
2880
+
2881
+ var colorCss$2$1 = i$7`.label{color:var(--ds-auro-dropdown-label-text-color)}.trigger{border-color:var(--ds-auro-dropdown-trigger-border-color);background-color:var(--ds-auro-dropdown-trigger-container-color);color:var(--ds-auro-dropdown-trigger-text-color);outline-color:var(--ds-auro-dropdown-trigger-outline-color)}.trigger:focus-within,.trigger:active{--ds-auro-dropdown-trigger-border-color: var(--ds-color-border-active-default, #0074c8);--ds-auro-dropdown-trigger-outline-color: var(--ds-color-border-active-default, #0074c8)}.trigger:focus-within:not(:active){--ds-auro-dropdown-trigger-border-color: var(--ds-color-border-ui-focus-default, #2c67b5);--ds-auro-dropdown-trigger-outline-color: var(--ds-color-border-ui-focus-default, #2c67b5)}.trigger:hover{--ds-auro-dropdown-trigger-container-color: var(--ds-color-container-ui-secondary-hover-default, rgba(0, 0, 0, 0.03))}:host([disabled]){--ds-auro-dropdown-trigger-text-color: var(--ds-color-text-ui-disabled-default, #adadad);--ds-auro-dropdown-label-text-color: var(--ds-color-text-ui-disabled-default, #adadad)}:host([common]),:host([bordered]){--ds-auro-dropdown-trigger-border-color: var(--ds-color-border-primary-default, #585e67)}:host([common]) .trigger:active,:host([common]) .trigger:focus-within,:host([bordered]) .trigger:active,:host([bordered]) .trigger:focus-within{--ds-auro-dropdown-trigger-border-color: var(--ds-color-border-ui-focus-default, #2c67b5)}:host([error]){--ds-auro-dropdown-trigger-border-color: var(--ds-color-border-error-default, #cc1816)}:host([error]) .trigger{outline:solid 1px var(--ds-auro-dropdown-trigger-border-color)}:host([error]) .trigger:focus-within,:host([error]) .trigger:active{--ds-auro-dropdown-trigger-border-color: var(--ds-color-border-active-default, #0074c8)}:host([error]) .trigger:active{box-shadow:none;outline:none}:host([disabled][common]),:host([disabled][bordered]){--ds-auro-dropdown-trigger-border-color: var(--ds-color-border-ui-disabled-default, #adadad)}`;
2882
+
2883
+ var tokensCss$1$1 = i$7`:host{--ds-auro-dropdown-label-text-color: var(--ds-color-text-secondary-default, #525252);--ds-auro-dropdown-popover-container-color: var(--ds-color-container-primary-default, #ffffff);--ds-auro-dropdown-popover-border-color: transparent;--ds-auro-dropdown-popover-text-color: var(--ds-color-text-primary-default, #2a2a2a);--ds-auro-dropdown-trigger-container-color: var(--ds-color-container-primary-default, #ffffff);--ds-auro-dropdown-trigger-border-color: transparent;--ds-auro-dropdown-trigger-outline-color: transparent;--ds-auro-dropdown-trigger-text-color: var(--ds-color-text-primary-default, #2a2a2a);--ds-auro-dropdownbib-boxshadow-color: var(--ds-elevation-200, 0px 0px 10px rgba(0, 0, 0, 0.15));--ds-auro-dropdownbib-container-color: var(--ds-color-container-primary-default, #ffffff);--ds-auro-dropdownbib-text-color: var(--ds-color-text-primary-default, #2a2a2a)}`;
2884
+
2885
+ /**
2886
+ * @license
2887
+ * Copyright 2019 Google LLC
2888
+ * SPDX-License-Identifier: BSD-3-Clause
2889
+ */
2890
+ const t$1$1=globalThis,e$2$1=t$1$1.ShadowRoot&&(undefined===t$1$1.ShadyCSS||t$1$1.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,s$1$1=Symbol(),o$2$1=new WeakMap;let n$2$1 = class n{constructor(t,e,o){if(this._$cssResult$=true,o!==s$1$1)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e;}get styleSheet(){let t=this.o;const s=this.t;if(e$2$1&&undefined===t){const e=undefined!==s&&1===s.length;e&&(t=o$2$1.get(s)),undefined===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o$2$1.set(s,t));}return t}toString(){return this.cssText}};const r$3$1=t=>new n$2$1("string"==typeof t?t:t+"",undefined,s$1$1),i$3$1=(t,...e)=>{const o=1===t.length?t[0]:e.reduce(((e,s,o)=>e+(t=>{if(true===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(s)+t[o+1]),t[0]);return new n$2$1(o,t,s$1$1)},S$1$1=(s,o)=>{if(e$2$1)s.adoptedStyleSheets=o.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of o){const o=document.createElement("style"),n=t$1$1.litNonce;undefined!==n&&o.setAttribute("nonce",n),o.textContent=e.cssText,s.appendChild(o);}},c$2$1=e$2$1?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const s of t.cssRules)e+=s.cssText;return r$3$1(e)})(t):t;
2891
+
2892
+ /**
2893
+ * @license
2894
+ * Copyright 2017 Google LLC
2895
+ * SPDX-License-Identifier: BSD-3-Clause
2896
+ */const{is:i$2$1,defineProperty:e$1$1,getOwnPropertyDescriptor:r$2$1,getOwnPropertyNames:h$1$1,getOwnPropertySymbols:o$1$1,getPrototypeOf:n$1$1}=Object,a$1$1=globalThis,c$1$1=a$1$1.trustedTypes,l$1$1=c$1$1?c$1$1.emptyScript:"",p$1$1=a$1$1.reactiveElementPolyfillSupport,d$1$1=(t,s)=>t,u$1$1={toAttribute(t,s){switch(s){case Boolean:t=t?l$1$1:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t);}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t);}catch(t){i=null;}}return i}},f$1$1=(t,s)=>!i$2$1(t,s),y$1$1={attribute:true,type:String,converter:u$1$1,reflect:false,hasChanged:f$1$1};Symbol.metadata??=Symbol("metadata"),a$1$1.litPropertyMetadata??=new WeakMap;let b$2 = class b extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t);}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=y$1$1){if(s.state&&(s.attribute=false),this._$Ei(),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),r=this.getPropertyDescriptor(t,i,s);undefined!==r&&e$1$1(this.prototype,t,r);}}static getPropertyDescriptor(t,s,i){const{get:e,set:h}=r$2$1(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t;}};return {get(){return e?.call(this)},set(s){const r=e?.call(this);h.call(this,s),this.requestUpdate(t,r,i);},configurable:true,enumerable:true}}static getPropertyOptions(t){return this.elementProperties.get(t)??y$1$1}static _$Ei(){if(this.hasOwnProperty(d$1$1("elementProperties")))return;const t=n$1$1(this);t.finalize(),undefined!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties);}static finalize(){if(this.hasOwnProperty(d$1$1("finalized")))return;if(this.finalized=true,this._$Ei(),this.hasOwnProperty(d$1$1("properties"))){const t=this.properties,s=[...h$1$1(t),...o$1$1(t)];for(const i of s)this.createProperty(i,t[i]);}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(undefined!==s)for(const[t,i]of s)this.elementProperties.set(t,i);}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);undefined!==i&&this._$Eh.set(i,t);}this.elementStyles=this.finalizeStyles(this.styles);}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(c$2$1(s));}else undefined!==s&&i.push(c$2$1(s));return i}static _$Eu(t,s){const i=s.attribute;return false===i?undefined:"string"==typeof i?i:"string"==typeof t?t.toLowerCase():undefined}constructor(){super(),this._$Ep=undefined,this.isUpdatePending=false,this.hasUpdated=false,this._$Em=null,this._$Ev();}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)));}addController(t){(this._$EO??=new Set).add(t),undefined!==this.renderRoot&&this.isConnected&&t.hostConnected?.();}removeController(t){this._$EO?.delete(t);}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t);}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return S$1$1(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(true),this._$EO?.forEach((t=>t.hostConnected?.()));}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()));}attributeChangedCallback(t,s,i){this._$AK(t,i);}_$EC(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(undefined!==e&&true===i.reflect){const r=(undefined!==i.converter?.toAttribute?i.converter:u$1$1).toAttribute(s,i.type);this._$Em=t,null==r?this.removeAttribute(e):this.setAttribute(e,r),this._$Em=null;}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(undefined!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),r="function"==typeof t.converter?{fromAttribute:t.converter}:undefined!==t.converter?.fromAttribute?t.converter:u$1$1;this._$Em=e,this[e]=r.fromAttribute(s,t.type),this._$Em=null;}}requestUpdate(t,s,i){if(undefined!==t){if(i??=this.constructor.getPropertyOptions(t),!(i.hasChanged??f$1$1)(this[t],s))return;this.P(t,s,i);} false===this.isUpdatePending&&(this._$ES=this._$ET());}P(t,s,i){this._$AL.has(t)||this._$AL.set(t,s),true===i.reflect&&this._$Em!==t&&(this._$Ej??=new Set).add(t);}async _$ET(){this.isUpdatePending=true;try{await this._$ES;}catch(t){Promise.reject(t);}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=undefined;}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t) true!==i.wrapped||this._$AL.has(s)||undefined===this[s]||this.P(s,this[s],i);}let t=false;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$EO?.forEach((t=>t.hostUpdate?.())),this.update(s)):this._$EU();}catch(s){throw t=false,this._$EU(),s}t&&this._$AE(s);}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=true,this.firstUpdated(t)),this.updated(t);}_$EU(){this._$AL=new Map,this.isUpdatePending=false;}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return true}update(t){this._$Ej&&=this._$Ej.forEach((t=>this._$EC(t,this[t]))),this._$EU();}updated(t){}firstUpdated(t){}};b$2.elementStyles=[],b$2.shadowRootOptions={mode:"open"},b$2[d$1$1("elementProperties")]=new Map,b$2[d$1$1("finalized")]=new Map,p$1$1?.({ReactiveElement:b$2}),(a$1$1.reactiveElementVersions??=[]).push("2.0.4");
2897
+
2898
+ /**
2899
+ * @license
2900
+ * Copyright 2017 Google LLC
2901
+ * SPDX-License-Identifier: BSD-3-Clause
2902
+ */
2903
+ const t$5=globalThis,i$1$1=t$5.trustedTypes,s$5=i$1$1?i$1$1.createPolicy("lit-html",{createHTML:t=>t}):undefined,e$8="$lit$",h$4=`lit$${Math.random().toFixed(9).slice(2)}$`,o$8="?"+h$4,n$7=`<${o$8}>`,r$1$1=document,l$5=()=>r$1$1.createComment(""),c$6=t=>null===t||"object"!=typeof t&&"function"!=typeof t,a$5=Array.isArray,u$5=t=>a$5(t)||"function"==typeof t?.[Symbol.iterator],d$4="[ \t\n\f\r]",f$4=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,v$2=/-->/g,_$2=/>/g,m$2=RegExp(`>|${d$4}(?:([^\\s"'>=/]+)(${d$4}*=${d$4}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),p$4=/'/g,g$2=/"/g,$$2=/^(?:script|style|textarea|title)$/i,y$4=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x$2=y$4(1),T$2=Symbol.for("lit-noChange"),E$2=Symbol.for("lit-nothing"),A$2=new WeakMap,C$2=r$1$1.createTreeWalker(r$1$1,129);function P$2(t,i){if(!a$5(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return undefined!==s$5?s$5.createHTML(i):i}const V$2=(t,i)=>{const s=t.length-1,o=[];let r,l=2===i?"<svg>":3===i?"<math>":"",c=f$4;for(let i=0;i<s;i++){const s=t[i];let a,u,d=-1,y=0;for(;y<s.length&&(c.lastIndex=y,u=c.exec(s),null!==u);)y=c.lastIndex,c===f$4?"!--"===u[1]?c=v$2:undefined!==u[1]?c=_$2:undefined!==u[2]?($$2.test(u[2])&&(r=RegExp("</"+u[2],"g")),c=m$2):undefined!==u[3]&&(c=m$2):c===m$2?">"===u[0]?(c=r??f$4,d=-1):undefined===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=undefined===u[3]?m$2:'"'===u[3]?g$2:p$4):c===g$2||c===p$4?c=m$2:c===v$2||c===_$2?c=f$4:(c=m$2,r=undefined);const x=c===m$2&&t[i+1].startsWith("/>")?" ":"";l+=c===f$4?s+n$7:d>=0?(o.push(a),s.slice(0,d)+e$8+s.slice(d)+h$4+x):s+h$4+(-2===d?i:x);}return [P$2(t,l+(t[s]||"<?>")+(2===i?"</svg>":3===i?"</math>":"")),o]};let N$2 = class N{constructor({strings:t,_$litType$:s},n){let r;this.parts=[];let c=0,a=0;const u=t.length-1,d=this.parts,[f,v]=V$2(t,s);if(this.el=N.createElement(f,n),C$2.currentNode=this.el.content,2===s||3===s){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes);}for(;null!==(r=C$2.nextNode())&&d.length<u;){if(1===r.nodeType){if(r.hasAttributes())for(const t of r.getAttributeNames())if(t.endsWith(e$8)){const i=v[a++],s=r.getAttribute(t).split(h$4),e=/([.?@])?(.*)/.exec(i);d.push({type:1,index:c,name:e[2],strings:s,ctor:"."===e[1]?H$2:"?"===e[1]?I$2:"@"===e[1]?L$2:k$2}),r.removeAttribute(t);}else t.startsWith(h$4)&&(d.push({type:6,index:c}),r.removeAttribute(t));if($$2.test(r.tagName)){const t=r.textContent.split(h$4),s=t.length-1;if(s>0){r.textContent=i$1$1?i$1$1.emptyScript:"";for(let i=0;i<s;i++)r.append(t[i],l$5()),C$2.nextNode(),d.push({type:2,index:++c});r.append(t[s],l$5());}}}else if(8===r.nodeType)if(r.data===o$8)d.push({type:2,index:c});else {let t=-1;for(;-1!==(t=r.data.indexOf(h$4,t+1));)d.push({type:7,index:c}),t+=h$4.length-1;}c++;}}static createElement(t,i){const s=r$1$1.createElement("template");return s.innerHTML=t,s}};function S$4(t,i,s=t,e){if(i===T$2)return i;let h=undefined!==e?s._$Co?.[e]:s._$Cl;const o=c$6(i)?undefined:i._$litDirective$;return h?.constructor!==o&&(h?._$AO?.(false),undefined===o?h=undefined:(h=new o(t),h._$AT(t,s,e)),undefined!==e?(s._$Co??=[])[e]=h:s._$Cl=h),undefined!==h&&(i=S$4(t,h._$AS(t,i.values),h,e)),i}let M$2 = class M{constructor(t,i){this._$AV=[],this._$AN=undefined,this._$AD=t,this._$AM=i;}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:i},parts:s}=this._$AD,e=(t?.creationScope??r$1$1).importNode(i,true);C$2.currentNode=e;let h=C$2.nextNode(),o=0,n=0,l=s[0];for(;undefined!==l;){if(o===l.index){let i;2===l.type?i=new R$2(h,h.nextSibling,this,t):1===l.type?i=new l.ctor(h,l.name,l.strings,this,t):6===l.type&&(i=new z$2(h,this,t)),this._$AV.push(i),l=s[++n];}o!==l?.index&&(h=C$2.nextNode(),o++);}return C$2.currentNode=r$1$1,e}p(t){let i=0;for(const s of this._$AV) undefined!==s&&(undefined!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++;}};let R$2 = class R{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,i,s,e){this.type=2,this._$AH=E$2,this._$AN=undefined,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cv=e?.isConnected??true;}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return undefined!==i&&11===t?.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=S$4(this,t,i),c$6(t)?t===E$2||null==t||""===t?(this._$AH!==E$2&&this._$AR(),this._$AH=E$2):t!==this._$AH&&t!==T$2&&this._(t):undefined!==t._$litType$?this.$(t):undefined!==t.nodeType?this.T(t):u$5(t)?this.k(t):this._(t);}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t));}_(t){this._$AH!==E$2&&c$6(this._$AH)?this._$AA.nextSibling.data=t:this.T(r$1$1.createTextNode(t)),this._$AH=t;}$(t){const{values:i,_$litType$:s}=t,e="number"==typeof s?this._$AC(t):(undefined===s.el&&(s.el=N$2.createElement(P$2(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===e)this._$AH.p(i);else {const t=new M$2(e,this),s=t.u(this.options);t.p(i),this.T(s),this._$AH=t;}}_$AC(t){let i=A$2.get(t.strings);return undefined===i&&A$2.set(t.strings,i=new N$2(t)),i}k(t){a$5(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const h of t)e===i.length?i.push(s=new R(this.O(l$5()),this.O(l$5()),this,this.options)):s=i[e],s._$AI(h),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e);}_$AR(t=this._$AA.nextSibling,i){for(this._$AP?.(false,true,i);t&&t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i;}}setConnected(t){ undefined===this._$AM&&(this._$Cv=t,this._$AP?.(t));}};let k$2 = class k{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,i,s,e,h){this.type=1,this._$AH=E$2,this._$AN=undefined,this.element=t,this.name=i,this._$AM=e,this.options=h,s.length>2||""!==s[0]||""!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=E$2;}_$AI(t,i=this,s,e){const h=this.strings;let o=false;if(undefined===h)t=S$4(this,t,i,0),o=!c$6(t)||t!==this._$AH&&t!==T$2,o&&(this._$AH=t);else {const e=t;let n,r;for(t=h[0],n=0;n<h.length-1;n++)r=S$4(this,e[s+n],i,n),r===T$2&&(r=this._$AH[n]),o||=!c$6(r)||r!==this._$AH[n],r===E$2?t=E$2:t!==E$2&&(t+=(r??"")+h[n+1]),this._$AH[n]=r;}o&&!e&&this.j(t);}j(t){t===E$2?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"");}};let H$2 = class H extends k$2{constructor(){super(...arguments),this.type=3;}j(t){this.element[this.name]=t===E$2?undefined:t;}};let I$2 = class I extends k$2{constructor(){super(...arguments),this.type=4;}j(t){this.element.toggleAttribute(this.name,!!t&&t!==E$2);}};let L$2 = class L extends k$2{constructor(t,i,s,e,h){super(t,i,s,e,h),this.type=5;}_$AI(t,i=this){if((t=S$4(this,t,i,0)??E$2)===T$2)return;const s=this._$AH,e=t===E$2&&s!==E$2||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,h=t!==E$2&&(s===E$2||e);e&&this.element.removeEventListener(this.name,this,s),h&&this.element.addEventListener(this.name,this,t),this._$AH=t;}handleEvent(t){"function"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t);}};let z$2 = class z{constructor(t,i,s){this.element=t,this.type=6,this._$AN=undefined,this._$AM=i,this.options=s;}get _$AU(){return this._$AM._$AU}_$AI(t){S$4(this,t);}};const j$2=t$5.litHtmlPolyfillSupport;j$2?.(N$2,R$2),(t$5.litHtmlVersions??=[]).push("3.2.1");const B$2=(t,i,s)=>{const e=s?.renderBefore??i;let h=e._$litPart$;if(undefined===h){const t=s?.renderBefore??null;e._$litPart$=h=new R$2(i.insertBefore(l$5(),t),t,undefined,s??{});}return h._$AI(t),h};
2904
+
2905
+ /**
2906
+ * @license
2907
+ * Copyright 2017 Google LLC
2908
+ * SPDX-License-Identifier: BSD-3-Clause
2909
+ */let r$8 = class r extends b$2{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=undefined;}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const s=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=B$2(s,this.renderRoot,this.renderOptions);}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(true);}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(false);}render(){return T$2}};r$8._$litElement$=true,r$8["finalized"]=true,globalThis.litElementHydrateSupport?.({LitElement:r$8});const i$a=globalThis.litElementPolyfillSupport;i$a?.({LitElement:r$8});(globalThis.litElementVersions??=[]).push("4.1.1");
2910
+
2911
+ var colorCss$1$1 = i$3$1`:host([error]){--ds-auro-helptext-color: var(--ds-color-text-error-default, #cc1816)}.helptext-wrapper{color:var(--ds-auro-helptext-color)}`;
2912
+
2913
+ var styleCss$1$1 = i$3$1`.helptext-wrapper{display:none;font-size:var(--ds-text-body-size-xs, 0.75rem);line-height:var(--ds-size-200, 1rem)}:host([large]) .helptext-wrapper{font-size:var(--ds-text-body-size-default, 1rem)}.helptext-wrapper[visible]{display:block}::slotted(*:not(:empty)){margin-top:var(--ds-size-50, 0.25rem);margin-bottom:0}::slotted(p){margin-block:0}`;
2914
+
2915
+ var tokensCss$3 = i$3$1`:host{--ds-auro-helptext-color: var(--ds-color-text-tertiary-default, #6a717c)}`;
2916
+
2917
+ // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
2918
+ // See LICENSE in the project root for license information.
2919
+
2920
+ // ---------------------------------------------------------------------
2921
+
2922
+ /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
2923
+
2924
+ let AuroLibraryRuntimeUtils$2 = class AuroLibraryRuntimeUtils {
2925
+
2926
+ /* eslint-disable jsdoc/require-param */
2927
+
2928
+ /**
2929
+ * This will register a new custom element with the browser.
2930
+ * @param {String} name - The name of the custom element.
2931
+ * @param {Object} componentClass - The class to register as a custom element.
2932
+ * @returns {void}
2933
+ */
2934
+ registerComponent(name, componentClass) {
2935
+ if (!customElements.get(name)) {
2936
+ customElements.define(name, class extends componentClass {});
2937
+ }
2938
+ }
2939
+
2940
+ /**
2941
+ * Finds and returns the closest HTML Element based on a selector.
2942
+ * @returns {void}
2943
+ */
2944
+ closestElement(
2945
+ selector, // selector like in .closest()
2946
+ base = this, // extra functionality to skip a parent
2947
+ __Closest = (el, found = el && el.closest(selector)) =>
2948
+ !el || el === document || el === window
2949
+ ? null // standard .closest() returns null for non-found selectors also
2950
+ : found
2951
+ ? found // found a selector INside this element
2952
+ : __Closest(el.getRootNode().host) // recursion!! break out to parent DOM
2953
+ ) {
2954
+ return __Closest(base);
2955
+ }
2956
+ /* eslint-enable jsdoc/require-param */
2957
+
2958
+ /**
2959
+ * If the element passed is registered with a different tag name than what is passed in, the tag name is added as an attribute to the element.
2960
+ * @param {Object} elem - The element to check.
2961
+ * @param {String} tagName - The name of the Auro component to check for or add as an attribute.
2962
+ * @returns {void}
2963
+ */
2964
+ handleComponentTagRename(elem, tagName) {
2965
+ const tag = tagName.toLowerCase();
2966
+ const elemTag = elem.tagName.toLowerCase();
2967
+
2968
+ if (elemTag !== tag) {
2969
+ elem.setAttribute(tag, true);
2970
+ }
2971
+ }
2972
+
2973
+ /**
2974
+ * Validates if an element is a specific Auro component.
2975
+ * @param {Object} elem - The element to validate.
2976
+ * @param {String} tagName - The name of the Auro component to check against.
2977
+ * @returns {Boolean} - Returns true if the element is the specified Auro component.
2978
+ */
2979
+ elementMatch(elem, tagName) {
2980
+ const tag = tagName.toLowerCase();
2981
+ const elemTag = elem.tagName.toLowerCase();
2982
+
2983
+ return elemTag === tag || elem.hasAttribute(tag);
2984
+ }
2985
+ };
2986
+
2987
+ // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
2988
+ // See LICENSE in the project root for license information.
2989
+
2990
+
2991
+ /**
2992
+ * Displays help text or error messages within form elements - Internal Use Only.
2993
+ *
2994
+ * @attr { Boolean } large - If declared, make font-size to 1rem(16px).
2995
+ */
2996
+ class AuroHelpText extends r$8 {
2997
+
2998
+ constructor() {
2999
+ super();
3000
+
3001
+ this.error = false;
3002
+ this.hasTextContent = false;
3003
+ }
3004
+
3005
+ static get styles() {
3006
+ return [
3007
+ colorCss$1$1,
3008
+ styleCss$1$1,
3009
+ tokensCss$3
3010
+ ];
3011
+ }
3012
+
3013
+ // function to define props used within the scope of this component
3014
+ static get properties() {
3015
+ return {
3016
+
3017
+ /**
3018
+ * @private
3019
+ */
3020
+ slotNodes: {
3021
+ type: Boolean,
3022
+ },
3023
+
3024
+ /**
3025
+ * @private
3026
+ */
3027
+ hasTextContent: {
3028
+ type: Boolean,
3029
+ },
3030
+
3031
+ /**
3032
+ * If declared, make font color red.
3033
+ */
3034
+ error: {
3035
+ type: Boolean,
3036
+ reflect: true,
3037
+ },
3038
+ };
3039
+ }
3040
+
3041
+ /**
3042
+ * This will register this element with the browser.
3043
+ * @param {string} [name="auro-helptext"] - The name of element that you want to register to.
3044
+ *
3045
+ * @example
3046
+ * AuroCheckbox.register("custom-helptext") // this will register this element to <custom-helptext/>
3047
+ *
3048
+ */
3049
+ static register(name = "auro-helptext") {
3050
+ AuroLibraryRuntimeUtils$2.prototype.registerComponent(name, AuroHelpText);
3051
+ }
3052
+
3053
+ updated() {
3054
+ this.handleSlotChange();
3055
+ }
3056
+
3057
+ handleSlotChange(event) {
3058
+ if (event) {
3059
+ this.slotNodes = event.target.assignedNodes();
3060
+ }
3061
+
3062
+ this.hasTextContent = this.checkSlotsForContent(this.slotNodes);
3063
+ }
3064
+
3065
+ /**
3066
+ * Checks if any of the provided nodes or their nested slot nodes contain non-empty text content.
3067
+ *
3068
+ * @param {NodeList|Array} nodes - The list of nodes to check for content.
3069
+ * @returns {boolean} - Returns true if any node or nested slot node contains non-empty text content, otherwise false.
3070
+ * @private
3071
+ */
3072
+ checkSlotsForContent(nodes) {
3073
+ if (!nodes) {
3074
+ return false;
3075
+ }
3076
+
3077
+ return nodes.some((node) => {
3078
+ if (node.textContent.trim()) {
3079
+ return true;
3080
+ }
3081
+
3082
+ if (!node.querySelector) {
3083
+ return false;
3084
+ }
3085
+
3086
+ const nestedSlot = node.tagName === 'SLOT' ? node : node.querySelector('slot');
3087
+ if (!nestedSlot) {
3088
+ return false;
3089
+ }
2815
3090
 
2816
- var styleCss$1 = i$3`: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)}.helpText{margin-top:var(--ds-size-50, 0.25rem);font-size:var(--ds-text-body-size-xs, 0.75rem);line-height:var(--ds-text-body-size-default, 1rem)}: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)}`;
3091
+ const nestedSlotNodes = nestedSlot.assignedNodes();
3092
+ return this.checkSlotsForContent(nestedSlotNodes);
3093
+ });
3094
+ }
2817
3095
 
2818
- var colorCss$1 = i$3`.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))}.helpText{color:var(--ds-auro-dropdown-help-text-color)}: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-help-text-color: var(--ds-color-text-error-default, #cc1816);--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)}`;
3096
+ // function that renders the HTML and CSS into the scope of the component
3097
+ render() {
3098
+ return x$2`
3099
+ <div class="helptext-wrapper" ?visible="${this.hasTextContent}">
3100
+ <slot @slotchange=${this.handleSlotChange}></slot>
3101
+ </div>
3102
+ `;
3103
+ }
3104
+ }
2819
3105
 
2820
- var tokensCss$2 = i$3`:host{--ds-auro-dropdown-help-text-color: var(--ds-color-text-secondary-default, #525252);--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)}`;
3106
+ AuroHelpText.register();
2821
3107
 
2822
- var styleCss$3 = i$3`: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}`;
3108
+ var styleCss$4 = i$7`:host{position:absolute;z-index:var(--depth-tooltip, 400);display:none}.container{display:inline-block;overflow:auto;box-sizing:border-box;margin:var(--ds-size-50, 0.25rem) 0}:host([isfullscreen]){position:fixed;top:0;left:0}:host([isfullscreen]) .container{width:100dvw;max-width:none;height:100dvh;max-height:none;border-radius:unset;margin-top:0;box-shadow:unset}:host([data-show]){display:flex}:host([common]:not([isfullscreen])) .container,:host([rounded]:not([isfullscreen])) .container{border-radius:var(--ds-border-radius, 0.375rem)}:host([common][isfullscreen]) .container,:host([rounded][isfullscreen]) .container{border-radius:unset;box-shadow:unset}`;
2823
3109
 
2824
- var colorCss$3 = i$3`.container{background-color:var(--ds-auro-dropdownbib-container-color);box-shadow:var(--ds-auro-dropdownbib-boxshadow-color);color:var(--ds-auro-dropdownbib-text-color)}`;
3110
+ var colorCss$4 = i$7`.container{background-color:var(--ds-auro-dropdownbib-container-color);box-shadow:var(--ds-auro-dropdownbib-boxshadow-color);color:var(--ds-auro-dropdownbib-text-color)}`;
2825
3111
 
2826
3112
  // Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
2827
3113
  // See LICENSE in the project root for license information.
@@ -2841,7 +3127,7 @@ const DESIGN_TOKEN_BREAKPOINT_OPTIONS = [
2841
3127
  * @csspart bibContainer - Apply css to the bib container.
2842
3128
  */
2843
3129
 
2844
- class AuroDropdownBib extends r {
3130
+ class AuroDropdownBib extends r$4 {
2845
3131
 
2846
3132
  constructor() {
2847
3133
  super();
@@ -2854,9 +3140,9 @@ class AuroDropdownBib extends r {
2854
3140
 
2855
3141
  static get styles() {
2856
3142
  return [
2857
- styleCss$3,
2858
- colorCss$3,
2859
- tokensCss$2
3143
+ styleCss$4,
3144
+ colorCss$4,
3145
+ tokensCss$1$1
2860
3146
  ];
2861
3147
  }
2862
3148
 
@@ -2907,7 +3193,7 @@ class AuroDropdownBib extends r {
2907
3193
 
2908
3194
  // function that renders the HTML and CSS into the scope of the component
2909
3195
  render() {
2910
- return u$1`
3196
+ return u$3`
2911
3197
  <div class="container" part="bibContainer">
2912
3198
  <slot></slot>
2913
3199
  </div>
@@ -2933,11 +3219,10 @@ if (!customElements.get("auro-dropdownbib")) {
2933
3219
  * @csspart trigger - The trigger content container.
2934
3220
  * @csspart chevron - The collapsed/expanded state icon container.
2935
3221
  * @csspart helpText - The helpText content container.
2936
- * @csspart popover - The bib content container.
2937
3222
  * @event auroDropdown-triggerClick - Notifies that the trigger has been clicked.
2938
3223
  * @event auroDropdown-toggled - Notifies that the visibility of the dropdown bib has changed.
2939
3224
  */
2940
- class AuroDropdown extends r {
3225
+ class AuroDropdown extends r$4 {
2941
3226
  constructor() {
2942
3227
  super();
2943
3228
 
@@ -2946,6 +3231,25 @@ class AuroDropdown extends r {
2946
3231
  this.noHideOnThisFocusLoss = false;
2947
3232
 
2948
3233
  this.privateDefaults();
3234
+
3235
+ /**
3236
+ * @private
3237
+ * @property {boolean} delegatesFocus - Whether the shadow root delegates focus.
3238
+ */
3239
+ this.constructor.shadowRootOptions = {
3240
+ ...r$4.shadowRootOptions,
3241
+ delegatesFocus: true,
3242
+ };
3243
+
3244
+ /**
3245
+ * @private
3246
+ */
3247
+ this.triggerContentFocusable = false;
3248
+
3249
+ /**
3250
+ * @private
3251
+ */
3252
+ this.showTriggerBorders = true;
2949
3253
  }
2950
3254
 
2951
3255
  /**
@@ -2976,7 +3280,7 @@ class AuroDropdown extends r {
2976
3280
  /**
2977
3281
  * @private
2978
3282
  */
2979
- this.runtimeUtils = new AuroLibraryRuntimeUtils();
3283
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$1();
2980
3284
 
2981
3285
  /**
2982
3286
  * @private
@@ -2996,8 +3300,8 @@ class AuroDropdown extends r {
2996
3300
  /**
2997
3301
  * Generate unique names for dependency components.
2998
3302
  */
2999
- const versioning = new AuroDependencyVersioning();
3000
- this.iconTag = versioning.generateTag('auro-icon', iconVersion, AuroIcon);
3303
+ const versioning = new AuroDependencyVersioning$1();
3304
+ this.iconTag = versioning.generateTag('auro-icon', iconVersion$1, AuroIcon$1);
3001
3305
  }
3002
3306
 
3003
3307
  /**
@@ -3107,280 +3411,1864 @@ class AuroDropdown extends r {
3107
3411
  reflect: true
3108
3412
  },
3109
3413
 
3110
- /**
3111
- * @private
3112
- */
3113
- hasTriggerContent: {
3114
- type: Boolean
3115
- },
3414
+ /**
3415
+ * @private
3416
+ */
3417
+ hasTriggerContent: {
3418
+ type: Boolean
3419
+ },
3420
+
3421
+ /**
3422
+ * Defines the screen size breakpoint (`lg`, `md`, `sm`, or `xs`) at which the dropdown switches to fullscreen mode on mobile. When expanded, the dropdown will automatically display in fullscreen mode if the screen size is equal to or smaller than the selected breakpoint.
3423
+ */
3424
+ mobileFullscreenBreakpoint: {
3425
+ type: String,
3426
+ reflect: true
3427
+ },
3428
+
3429
+ /**
3430
+ * If declared, the popover and trigger will be set to the same width.
3431
+ */
3432
+ matchWidth: {
3433
+ type: Boolean,
3434
+ reflect: true
3435
+ },
3436
+
3437
+ /**
3438
+ * If declared, the dropdown will not hide when moving focus outside the element.
3439
+ */
3440
+ noHideOnThisFocusLoss: {
3441
+ type: Boolean,
3442
+ reflect: true
3443
+ },
3444
+
3445
+ /**
3446
+ * If declared, the trigger will only show the dropdown bib.
3447
+ */
3448
+ noToggle: {
3449
+ type: Boolean,
3450
+ reflect: true
3451
+ },
3452
+
3453
+ onSlotChange: {
3454
+ type: Function,
3455
+ reflect: false
3456
+ },
3457
+
3458
+ /**
3459
+ * @private
3460
+ */
3461
+ placement: {
3462
+ type: String
3463
+ },
3464
+
3465
+ /**
3466
+ * If declared, will apply border-radius to trigger and default slots.
3467
+ */
3468
+ rounded: {
3469
+ type: Boolean,
3470
+ reflect: true
3471
+ },
3472
+
3473
+ /**
3474
+ * @private
3475
+ */
3476
+ tabIndex: {
3477
+ type: Number
3478
+ }
3479
+ };
3480
+ }
3481
+
3482
+ static get styles() {
3483
+ return [
3484
+ colorCss$2$1,
3485
+ styleCss$2$1,
3486
+ tokensCss$1$1
3487
+ ];
3488
+ }
3489
+
3490
+ /**
3491
+ * This will register this element with the browser.
3492
+ * @param {string} [name="auro-dropdown"] - The name of element that you want to register to.
3493
+ *
3494
+ * @example
3495
+ * AuroDropdown.register("custom-dropdown") // this will register this element to <custom-dropdown/>
3496
+ *
3497
+ */
3498
+ static register(name = "auro-dropdown") {
3499
+ AuroLibraryRuntimeUtils$1.prototype.registerComponent(name, AuroDropdown);
3500
+ }
3501
+
3502
+ connectedCallback() {
3503
+ super.connectedCallback();
3504
+ }
3505
+
3506
+ disconnectedCallback() {
3507
+ super.disconnectedCallback();
3508
+ }
3509
+
3510
+ updated(changedProperties) {
3511
+ this.floater.handleUpdate(changedProperties);
3512
+
3513
+ if (changedProperties.has('mobileFullscreenBreakpoint')) {
3514
+ this.bibContent.mobileFullscreenBreakpoint = this.mobileFullscreenBreakpoint;
3515
+ }
3516
+
3517
+ // when trigger's content is changed without any attribute or node change,
3518
+ // `requestUpdate` needs to be called to update hasTriggerContnet
3519
+ if (changedProperties.size === 0 || changedProperties.has('isPopoverVisible')) {
3520
+ this.handleTriggerContentSlotChange();
3521
+ }
3522
+ }
3523
+
3524
+ firstUpdated() {
3525
+ this.floater.configure(this, 'auroDropdown');
3526
+ this.bibContent = this.floater.element.bib;
3527
+
3528
+ // Add the tag name as an attribute if it is different than the component name
3529
+ this.runtimeUtils.handleComponentTagRename(this, 'auro-dropdown');
3530
+ }
3531
+
3532
+ /**
3533
+ * Exposes CSS parts for styling from parent components.
3534
+ * @private
3535
+ * @returns {void}
3536
+ */
3537
+ exposeCssParts() {
3538
+ this.setAttribute('exportparts', 'trigger:dropdownTrigger, chevron:dropdownChevron, helpText:dropdownHelpText, size:dropdownSize');
3539
+ }
3540
+
3541
+ /**
3542
+ * Determines if content is within a custom slot.
3543
+ * @private
3544
+ * @param {HTMLElement} element - The element to check.
3545
+ * @returns {Boolean}
3546
+ */
3547
+ isCustomSlotContent(element) {
3548
+ let currentElement = element;
3549
+
3550
+ let inCustomSlot = false;
3551
+
3552
+ while (currentElement) {
3553
+ currentElement = currentElement.parentElement;
3554
+
3555
+ if (currentElement && currentElement.hasAttribute('slot')) {
3556
+ inCustomSlot = true;
3557
+ break;
3558
+ }
3559
+ }
3560
+
3561
+ return inCustomSlot;
3562
+ }
3563
+
3564
+ /**
3565
+ * Determines if the element or any children are focusable.
3566
+ * @private
3567
+ * @param {HTMLElement} element - Element to check.
3568
+ * @returns {Boolean} - True if the element or any children are focusable.
3569
+ */
3570
+ containsFocusableElement(element) {
3571
+ this.showTriggerBorders = true;
3572
+
3573
+ const nodes = [
3574
+ element,
3575
+ ...element.children
3576
+ ];
3577
+
3578
+ const focusableElements = [
3579
+ 'a',
3580
+ 'auro-hyperlink',
3581
+ 'button',
3582
+ 'auro-button',
3583
+ 'input',
3584
+ 'auro-input',
3585
+ ];
3586
+
3587
+ const focusableElementsThatNeedBorders = ['auro-input'];
3588
+
3589
+ const result = nodes.some((node) => {
3590
+ const tagName = node.tagName.toLowerCase();
3591
+
3592
+ if (node.tabIndex > -1) {
3593
+ return true;
3594
+ }
3595
+
3596
+ if (focusableElements.includes(tagName)) {
3597
+ if ((tagName === 'a' || tagName === 'auro-hyperlink' || node.hasAttribute('auro-hyperlink')) && node.hasAttribute('href')) {
3598
+ return true;
3599
+ }
3600
+ if (!node.hasAttribute('disabled')) {
3601
+ return true;
3602
+ }
3603
+ }
3604
+
3605
+ if (focusableElements.some((focusableElement) => focusableElement.startsWith('auro-') && (focusableElement === tagName || node.hasAttribute(focusableElement)))) {
3606
+ return true;
3607
+ }
3608
+
3609
+ return false;
3610
+ });
3611
+
3612
+ if (result) {
3613
+ this.showTriggerBorders = !nodes.some((node) => {
3614
+ const tagName = node.tagName.toLowerCase();
3615
+ return focusableElements.includes(tagName) && !focusableElementsThatNeedBorders.includes(tagName);
3616
+ });
3617
+ }
3618
+
3619
+ return result;
3620
+ }
3621
+
3622
+ /**
3623
+ * Handles changes to the trigger content slot and updates related properties.
3624
+ *
3625
+ * It first updates the floater settings
3626
+ * Then, it retrieves the assigned nodes from the event target and checks if any of
3627
+ * the nodes contain non-empty text content, updating the `hasTriggerContent` property accordingly.
3628
+ *
3629
+ * @private
3630
+ * @method handleTriggerContentSlotChange
3631
+ * @param {Event} event - Native slotchange event.
3632
+ * @returns {void}
3633
+ */
3634
+ handleTriggerContentSlotChange(event) {
3635
+ this.floater.handleTriggerTabIndex();
3636
+
3637
+ const triggerContentNodes = this.shadowRoot.querySelector('.triggerContent slot').assignedNodes();
3638
+
3639
+ triggerContentNodes.forEach((node) => {
3640
+ if (!this.triggerContentFocusable) {
3641
+ this.triggerContentFocusable = this.containsFocusableElement(node);
3642
+ }
3643
+ });
3644
+
3645
+ const trigger = this.shadowRoot.querySelector('#trigger');
3646
+
3647
+ if (!this.triggerContentFocusable) {
3648
+ trigger.setAttribute('tabindex', '0');
3649
+ trigger.setAttribute('role', 'button');
3650
+ } else {
3651
+ trigger.removeAttribute('tabindex');
3652
+ trigger.removeAttribute('role');
3653
+ }
3654
+
3655
+ if (event) {
3656
+ this.triggerNode = event.target;
3657
+ this.triggerContentSlot = event.target.assignedNodes();
3658
+ }
3659
+
3660
+ if (this.triggerContentSlot) {
3661
+ this.hasTriggerContent = this.triggerContentSlot.some((slot) => {
3662
+ if (slot.textContent.trim()) {
3663
+ return true;
3664
+ }
3665
+ const slotInSlot = slot.querySelector('slot');
3666
+ if (!slotInSlot) {
3667
+ return false;
3668
+ }
3669
+ const slotsInSlotNodes = slotInSlot.assignedNodes();
3670
+ return slotsInSlotNodes.some((ss) => Boolean(ss.textContent.trim()));
3671
+ });
3672
+ } else {
3673
+ this.hasTriggerContent = false;
3674
+ }
3675
+ }
3676
+
3677
+ /**
3678
+ * Handles the default slot change event and updates the content.
3679
+ *
3680
+ * This method retrieves all nodes assigned to the default slot of the event target and appends them
3681
+ * to the `bibContent` element. If a callback function `onSlotChange` is defined, it is invoked to
3682
+ * notify about the slot change.
3683
+ *
3684
+ * @private
3685
+ * @method handleDefaultSlot
3686
+ * @param {Event} event - The event object representing the slot change.
3687
+ * @fires Function#onSlotChange - Optional callback invoked when the slot content changes.
3688
+ */
3689
+ handleDefaultSlot(event) {
3690
+ [...event.target.assignedNodes()].forEach((node) => this.bibContent.append(node));
3691
+
3692
+ if (this.onSlotChange) {
3693
+ this.onSlotChange();
3694
+ }
3695
+ }
3696
+
3697
+ // function that renders the HTML and CSS into the scope of the component
3698
+ render() {
3699
+ return u$3`
3700
+ <div>
3701
+ <div
3702
+ id="trigger"
3703
+ class="trigger"
3704
+ part="trigger"
3705
+ aria-labelledby="triggerLabel"
3706
+ tabindex="${this.tabIndex}"
3707
+ ?showBorder="${this.showTriggerBorders}"
3708
+ >
3709
+ <div class="triggerContentWrapper">
3710
+ <label class="label" id="triggerLabel" hasTrigger=${this.hasTriggerContent}>
3711
+ <slot name="label"></slot>
3712
+ </label>
3713
+ <div class="triggerContent">
3714
+ <slot
3715
+ name="trigger"
3716
+ @slotchange="${this.handleTriggerContentSlotChange}"></slot>
3717
+ </div>
3718
+ </div>
3719
+ ${this.chevron || this.common ? u$3`
3720
+ <div
3721
+ id="showStateIcon"
3722
+ part="chevron">
3723
+ <${this.iconTag}
3724
+ category="interface"
3725
+ name="chevron-down"
3726
+ customColor
3727
+ ?disabled=${this.disabled}
3728
+ >
3729
+ </${this.iconTag}>
3730
+ </div>
3731
+ ` : undefined }
3732
+ </div>
3733
+ <auro-helptext part="helpText" ?error="${this.error}">
3734
+ <slot name="helpText"></slot>
3735
+ </auro-helptext>
3736
+ <div class="slotContent">
3737
+ <slot @slotchange="${this.handleDefaultSlot}"></slot>
3738
+ </div>
3739
+ <div id="bibSizer" part="size"></div>
3740
+ <auro-dropdownbib
3741
+ id="bib"
3742
+ role="tooltip"
3743
+ ?common="${this.common}"
3744
+ ?rounded="${this.common || this.rounded}"
3745
+ ?inset="${this.common || this.inset}">
3746
+ </auro-dropdownbib>
3747
+ </div>
3748
+ `;
3749
+ }
3750
+ }
3751
+
3752
+ AuroDropdown.register();
3753
+
3754
+ var dropdownVersion = '3.0.0';
3755
+
3756
+ /**
3757
+ * @license
3758
+ * Copyright 2019 Google LLC
3759
+ * SPDX-License-Identifier: BSD-3-Clause
3760
+ */
3761
+ const t$2=globalThis,e$4=t$2.ShadowRoot&&(undefined===t$2.ShadyCSS||t$2.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,s$2=Symbol(),o$4=new WeakMap;let n$3 = class n{constructor(t,e,o){if(this._$cssResult$=true,o!==s$2)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e;}get styleSheet(){let t=this.o;const s=this.t;if(e$4&&undefined===t){const e=undefined!==s&&1===s.length;e&&(t=o$4.get(s)),undefined===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o$4.set(s,t));}return t}toString(){return this.cssText}};const r$3=t=>new n$3("string"==typeof t?t:t+"",undefined,s$2),i$5=(t,...e)=>{const o=1===t.length?t[0]:e.reduce(((e,s,o)=>e+(t=>{if(true===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(s)+t[o+1]),t[0]);return new n$3(o,t,s$2)},S$1=(s,o)=>{if(e$4)s.adoptedStyleSheets=o.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of o){const o=document.createElement("style"),n=t$2.litNonce;undefined!==n&&o.setAttribute("nonce",n),o.textContent=e.cssText,s.appendChild(o);}},c$2=e$4?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const s of t.cssRules)e+=s.cssText;return r$3(e)})(t):t;
3762
+
3763
+ /**
3764
+ * @license
3765
+ * Copyright 2017 Google LLC
3766
+ * SPDX-License-Identifier: BSD-3-Clause
3767
+ */const{is:i$4,defineProperty:e$3,getOwnPropertyDescriptor:r$2,getOwnPropertyNames:h$1,getOwnPropertySymbols:o$3,getPrototypeOf:n$2}=Object,a$2=globalThis,c$1=a$2.trustedTypes,l$2=c$1?c$1.emptyScript:"",p$1=a$2.reactiveElementPolyfillSupport,d$1=(t,s)=>t,u$2={toAttribute(t,s){switch(s){case Boolean:t=t?l$2:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t);}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t);}catch(t){i=null;}}return i}},f$1=(t,s)=>!i$4(t,s),y$1={attribute:true,type:String,converter:u$2,reflect:false,hasChanged:f$1};Symbol.metadata??=Symbol("metadata"),a$2.litPropertyMetadata??=new WeakMap;class b extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t);}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=y$1){if(s.state&&(s.attribute=false),this._$Ei(),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),r=this.getPropertyDescriptor(t,i,s);undefined!==r&&e$3(this.prototype,t,r);}}static getPropertyDescriptor(t,s,i){const{get:e,set:h}=r$2(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t;}};return {get(){return e?.call(this)},set(s){const r=e?.call(this);h.call(this,s),this.requestUpdate(t,r,i);},configurable:true,enumerable:true}}static getPropertyOptions(t){return this.elementProperties.get(t)??y$1}static _$Ei(){if(this.hasOwnProperty(d$1("elementProperties")))return;const t=n$2(this);t.finalize(),undefined!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties);}static finalize(){if(this.hasOwnProperty(d$1("finalized")))return;if(this.finalized=true,this._$Ei(),this.hasOwnProperty(d$1("properties"))){const t=this.properties,s=[...h$1(t),...o$3(t)];for(const i of s)this.createProperty(i,t[i]);}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(undefined!==s)for(const[t,i]of s)this.elementProperties.set(t,i);}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);undefined!==i&&this._$Eh.set(i,t);}this.elementStyles=this.finalizeStyles(this.styles);}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(c$2(s));}else undefined!==s&&i.push(c$2(s));return i}static _$Eu(t,s){const i=s.attribute;return false===i?undefined:"string"==typeof i?i:"string"==typeof t?t.toLowerCase():undefined}constructor(){super(),this._$Ep=undefined,this.isUpdatePending=false,this.hasUpdated=false,this._$Em=null,this._$Ev();}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)));}addController(t){(this._$EO??=new Set).add(t),undefined!==this.renderRoot&&this.isConnected&&t.hostConnected?.();}removeController(t){this._$EO?.delete(t);}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t);}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return S$1(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(true),this._$EO?.forEach((t=>t.hostConnected?.()));}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()));}attributeChangedCallback(t,s,i){this._$AK(t,i);}_$EC(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(undefined!==e&&true===i.reflect){const r=(undefined!==i.converter?.toAttribute?i.converter:u$2).toAttribute(s,i.type);this._$Em=t,null==r?this.removeAttribute(e):this.setAttribute(e,r),this._$Em=null;}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(undefined!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),r="function"==typeof t.converter?{fromAttribute:t.converter}:undefined!==t.converter?.fromAttribute?t.converter:u$2;this._$Em=e,this[e]=r.fromAttribute(s,t.type),this._$Em=null;}}requestUpdate(t,s,i){if(undefined!==t){if(i??=this.constructor.getPropertyOptions(t),!(i.hasChanged??f$1)(this[t],s))return;this.P(t,s,i);} false===this.isUpdatePending&&(this._$ES=this._$ET());}P(t,s,i){this._$AL.has(t)||this._$AL.set(t,s),true===i.reflect&&this._$Em!==t&&(this._$Ej??=new Set).add(t);}async _$ET(){this.isUpdatePending=true;try{await this._$ES;}catch(t){Promise.reject(t);}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=undefined;}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t) true!==i.wrapped||this._$AL.has(s)||undefined===this[s]||this.P(s,this[s],i);}let t=false;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$EO?.forEach((t=>t.hostUpdate?.())),this.update(s)):this._$EU();}catch(s){throw t=false,this._$EU(),s}t&&this._$AE(s);}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=true,this.firstUpdated(t)),this.updated(t);}_$EU(){this._$AL=new Map,this.isUpdatePending=false;}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return true}update(t){this._$Ej&&=this._$Ej.forEach((t=>this._$EC(t,this[t]))),this._$EU();}updated(t){}firstUpdated(t){}}b.elementStyles=[],b.shadowRootOptions={mode:"open"},b[d$1("elementProperties")]=new Map,b[d$1("finalized")]=new Map,p$1?.({ReactiveElement:b}),(a$2.reactiveElementVersions??=[]).push("2.0.4");
3768
+
3769
+ /**
3770
+ * @license
3771
+ * Copyright 2017 Google LLC
3772
+ * SPDX-License-Identifier: BSD-3-Clause
3773
+ */
3774
+ const t$1=globalThis,i$3=t$1.trustedTypes,s$1=i$3?i$3.createPolicy("lit-html",{createHTML:t=>t}):undefined,e$2="$lit$",h=`lit$${Math.random().toFixed(9).slice(2)}$`,o$2="?"+h,n$1=`<${o$2}>`,r$1=document,l$1=()=>r$1.createComment(""),c=t=>null===t||"object"!=typeof t&&"function"!=typeof t,a$1=Array.isArray,u$1=t=>a$1(t)||"function"==typeof t?.[Symbol.iterator],d="[ \t\n\f\r]",f=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,v=/-->/g,_=/>/g,m=RegExp(`>|${d}(?:([^\\s"'>=/]+)(${d}*=${d}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),p=/'/g,g=/"/g,$=/^(?:script|style|textarea|title)$/i,y=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x=y(1),T=Symbol.for("lit-noChange"),E=Symbol.for("lit-nothing"),A=new WeakMap,C=r$1.createTreeWalker(r$1,129);function P(t,i){if(!a$1(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return undefined!==s$1?s$1.createHTML(i):i}const V=(t,i)=>{const s=t.length-1,o=[];let r,l=2===i?"<svg>":3===i?"<math>":"",c=f;for(let i=0;i<s;i++){const s=t[i];let a,u,d=-1,y=0;for(;y<s.length&&(c.lastIndex=y,u=c.exec(s),null!==u);)y=c.lastIndex,c===f?"!--"===u[1]?c=v:undefined!==u[1]?c=_:undefined!==u[2]?($.test(u[2])&&(r=RegExp("</"+u[2],"g")),c=m):undefined!==u[3]&&(c=m):c===m?">"===u[0]?(c=r??f,d=-1):undefined===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=undefined===u[3]?m:'"'===u[3]?g:p):c===g||c===p?c=m:c===v||c===_?c=f:(c=m,r=undefined);const x=c===m&&t[i+1].startsWith("/>")?" ":"";l+=c===f?s+n$1:d>=0?(o.push(a),s.slice(0,d)+e$2+s.slice(d)+h+x):s+h+(-2===d?i:x);}return [P(t,l+(t[s]||"<?>")+(2===i?"</svg>":3===i?"</math>":"")),o]};class N{constructor({strings:t,_$litType$:s},n){let r;this.parts=[];let c=0,a=0;const u=t.length-1,d=this.parts,[f,v]=V(t,s);if(this.el=N.createElement(f,n),C.currentNode=this.el.content,2===s||3===s){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes);}for(;null!==(r=C.nextNode())&&d.length<u;){if(1===r.nodeType){if(r.hasAttributes())for(const t of r.getAttributeNames())if(t.endsWith(e$2)){const i=v[a++],s=r.getAttribute(t).split(h),e=/([.?@])?(.*)/.exec(i);d.push({type:1,index:c,name:e[2],strings:s,ctor:"."===e[1]?H:"?"===e[1]?I:"@"===e[1]?L:k}),r.removeAttribute(t);}else t.startsWith(h)&&(d.push({type:6,index:c}),r.removeAttribute(t));if($.test(r.tagName)){const t=r.textContent.split(h),s=t.length-1;if(s>0){r.textContent=i$3?i$3.emptyScript:"";for(let i=0;i<s;i++)r.append(t[i],l$1()),C.nextNode(),d.push({type:2,index:++c});r.append(t[s],l$1());}}}else if(8===r.nodeType)if(r.data===o$2)d.push({type:2,index:c});else {let t=-1;for(;-1!==(t=r.data.indexOf(h,t+1));)d.push({type:7,index:c}),t+=h.length-1;}c++;}}static createElement(t,i){const s=r$1.createElement("template");return s.innerHTML=t,s}}function S(t,i,s=t,e){if(i===T)return i;let h=undefined!==e?s._$Co?.[e]:s._$Cl;const o=c(i)?undefined:i._$litDirective$;return h?.constructor!==o&&(h?._$AO?.(false),undefined===o?h=undefined:(h=new o(t),h._$AT(t,s,e)),undefined!==e?(s._$Co??=[])[e]=h:s._$Cl=h),undefined!==h&&(i=S(t,h._$AS(t,i.values),h,e)),i}class M{constructor(t,i){this._$AV=[],this._$AN=undefined,this._$AD=t,this._$AM=i;}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:i},parts:s}=this._$AD,e=(t?.creationScope??r$1).importNode(i,true);C.currentNode=e;let h=C.nextNode(),o=0,n=0,l=s[0];for(;undefined!==l;){if(o===l.index){let i;2===l.type?i=new R(h,h.nextSibling,this,t):1===l.type?i=new l.ctor(h,l.name,l.strings,this,t):6===l.type&&(i=new z(h,this,t)),this._$AV.push(i),l=s[++n];}o!==l?.index&&(h=C.nextNode(),o++);}return C.currentNode=r$1,e}p(t){let i=0;for(const s of this._$AV) undefined!==s&&(undefined!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++;}}class R{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,i,s,e){this.type=2,this._$AH=E,this._$AN=undefined,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cv=e?.isConnected??true;}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return undefined!==i&&11===t?.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=S(this,t,i),c(t)?t===E||null==t||""===t?(this._$AH!==E&&this._$AR(),this._$AH=E):t!==this._$AH&&t!==T&&this._(t):undefined!==t._$litType$?this.$(t):undefined!==t.nodeType?this.T(t):u$1(t)?this.k(t):this._(t);}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t));}_(t){this._$AH!==E&&c(this._$AH)?this._$AA.nextSibling.data=t:this.T(r$1.createTextNode(t)),this._$AH=t;}$(t){const{values:i,_$litType$:s}=t,e="number"==typeof s?this._$AC(t):(undefined===s.el&&(s.el=N.createElement(P(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===e)this._$AH.p(i);else {const t=new M(e,this),s=t.u(this.options);t.p(i),this.T(s),this._$AH=t;}}_$AC(t){let i=A.get(t.strings);return undefined===i&&A.set(t.strings,i=new N(t)),i}k(t){a$1(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const h of t)e===i.length?i.push(s=new R(this.O(l$1()),this.O(l$1()),this,this.options)):s=i[e],s._$AI(h),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e);}_$AR(t=this._$AA.nextSibling,i){for(this._$AP?.(false,true,i);t&&t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i;}}setConnected(t){ undefined===this._$AM&&(this._$Cv=t,this._$AP?.(t));}}class k{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,i,s,e,h){this.type=1,this._$AH=E,this._$AN=undefined,this.element=t,this.name=i,this._$AM=e,this.options=h,s.length>2||""!==s[0]||""!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=E;}_$AI(t,i=this,s,e){const h=this.strings;let o=false;if(undefined===h)t=S(this,t,i,0),o=!c(t)||t!==this._$AH&&t!==T,o&&(this._$AH=t);else {const e=t;let n,r;for(t=h[0],n=0;n<h.length-1;n++)r=S(this,e[s+n],i,n),r===T&&(r=this._$AH[n]),o||=!c(r)||r!==this._$AH[n],r===E?t=E:t!==E&&(t+=(r??"")+h[n+1]),this._$AH[n]=r;}o&&!e&&this.j(t);}j(t){t===E?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"");}}class H extends k{constructor(){super(...arguments),this.type=3;}j(t){this.element[this.name]=t===E?undefined:t;}}class I extends k{constructor(){super(...arguments),this.type=4;}j(t){this.element.toggleAttribute(this.name,!!t&&t!==E);}}class L extends k{constructor(t,i,s,e,h){super(t,i,s,e,h),this.type=5;}_$AI(t,i=this){if((t=S(this,t,i,0)??E)===T)return;const s=this._$AH,e=t===E&&s!==E||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,h=t!==E&&(s===E||e);e&&this.element.removeEventListener(this.name,this,s),h&&this.element.addEventListener(this.name,this,t),this._$AH=t;}handleEvent(t){"function"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t);}}class z{constructor(t,i,s){this.element=t,this.type=6,this._$AN=undefined,this._$AM=i,this.options=s;}get _$AU(){return this._$AM._$AU}_$AI(t){S(this,t);}}const j=t$1.litHtmlPolyfillSupport;j?.(N,R),(t$1.litHtmlVersions??=[]).push("3.2.1");const B=(t,i,s)=>{const e=s?.renderBefore??i;let h=e._$litPart$;if(undefined===h){const t=s?.renderBefore??null;e._$litPart$=h=new R(i.insertBefore(l$1(),t),t,undefined,s??{});}return h._$AI(t),h};
3775
+
3776
+ /**
3777
+ * @license
3778
+ * Copyright 2017 Google LLC
3779
+ * SPDX-License-Identifier: BSD-3-Clause
3780
+ */class r extends b{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=undefined;}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const s=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=B(s,this.renderRoot,this.renderOptions);}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(true);}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(false);}render(){return T}}r._$litElement$=true,r["finalized"]=true,globalThis.litElementHydrateSupport?.({LitElement:r});const i$2=globalThis.litElementPolyfillSupport;i$2?.({LitElement:r});(globalThis.litElementVersions??=[]).push("4.1.1");
3781
+
3782
+ var styleCss$2 = i$5`:root{--ds-asset-font-circular-family-name: "AS Circular";--ds-asset-font-circular-filename: "ASCircularWeb";--ds-asset-font-circular-weight-light: "-Light";--ds-asset-font-circular-weight-medium: "-Medium";--ds-asset-font-circular-weight-book: "-Book";--ds-border-radius: 0.375rem;--ds-size-25: 0.125rem;--ds-size-50: 0.25rem;--ds-size-75: 0.375rem;--ds-size-100: 0.5rem;--ds-size-150: 0.75rem;--ds-size-200: 1rem;--ds-size-250: 1.25rem;--ds-size-300: 1.5rem;--ds-size-400: 2rem;--ds-size-500: 2.5rem;--ds-size-600: 3rem;--ds-size-700: 3.5rem;--ds-size-800: 4rem;--ds-size-900: 4.5rem;--ds-size-1000: 5rem;--ds-unitless-scale-20: 0.25;--ds-unitless-scale-50: 0.5;--ds-unitless-scale-100: 1;--ds-unitless-scale-140: 1.4;--ds-unitless-scale-150: 1.5;--ds-unitless-scale-200: 2;--ds-unitless-scale-300: 3;--ds-unitless-scale-350: 3.5;--ds-animation-default-property: all;--ds-animation-default-duration: 0.3s;--ds-animation-default-timing: ease-out;--ds-depth-overlay: 200;--ds-depth-modal: 300;--ds-depth-tooltip: 400;--ds-elevation-100: 0px 0px 5px rgba(0, 0, 0, 0.15);--ds-elevation-200: 0px 0px 10px rgba(0, 0, 0, 0.15);--ds-elevation-300: 0px 0px 15px rgba(0, 0, 0, 0.2);--ds-grid-breakpoint-xs: 320px;--ds-grid-breakpoint-sm: 576px;--ds-grid-breakpoint-md: 768px;--ds-grid-breakpoint-lg: 1024px;--ds-grid-breakpoint-xl: 1232px;--ds-grid-column-xs: 6;--ds-grid-column-sm: 12;--ds-grid-column-md: 12;--ds-grid-column-lg: 12;--ds-grid-column-xl: 12;--ds-grid-gutter-xs: 0.5rem;--ds-grid-gutter-sm: 1rem;--ds-grid-gutter-md: 1.5rem;--ds-grid-gutter-lg: 1.5rem;--ds-grid-gutter-xl: 2rem;--ds-grid-margin-xs: 1rem;--ds-grid-margin-sm: 1rem;--ds-grid-margin-md: 1.5rem;--ds-grid-margin-lg: 2rem;--ds-grid-margin-xl: 2rem;--ds-font-family-default: "AS Circular", Helvetica Neue, Arial, sans-serif;--ds-font-family-mono: Menlo, Monaco, Consolas, "Courier New", monospace;--ds-text-heading-300-weight: 300;--ds-text-heading-300-px: 18px;--ds-text-heading-300-size: 1.125rem;--ds-text-heading-300-height: 1.625rem;--ds-text-heading-300-height-px: 26px;--ds-text-heading-400-weight: 300;--ds-text-heading-400-px: 20px;--ds-text-heading-400-size: 1.25rem;--ds-text-heading-400-height: 1.625rem;--ds-text-heading-400-height-px: 26px;--ds-text-heading-500-weight: 300;--ds-text-heading-500-px-breakpoint-sm: 22px;--ds-text-heading-500-px-breakpoint-md: 24px;--ds-text-heading-500-px-breakpoint-lg: 24px;--ds-text-heading-500-size-breakpoint-sm: 1.375rem;--ds-text-heading-500-size-breakpoint-md: 1.5rem;--ds-text-heading-500-size-breakpoint-lg: 1.5rem;--ds-text-heading-500-height-breakpoint-sm: 1.625rem;--ds-text-heading-500-height-breakpoint-px-sm: 26px;--ds-text-heading-500-height-breakpoint-md: 1.875rem;--ds-text-heading-500-height-breakpoint-px-md: 30px;--ds-text-heading-500-height-breakpoint-lg: 2rem;--ds-text-heading-500-height-breakpoint-px-lg: 32px;--ds-text-heading-600-weight: 300;--ds-text-heading-600-px-breakpoint-sm: 26px;--ds-text-heading-600-px-breakpoint-md: 28px;--ds-text-heading-600-px-breakpoint-lg: 28px;--ds-text-heading-600-size-breakpoint-sm: 1.625rem;--ds-text-heading-600-size-breakpoint-md: 1.75rem;--ds-text-heading-600-size-breakpoint-lg: 1.75rem;--ds-text-heading-600-height-breakpoint-sm: 1.875rem;--ds-text-heading-600-height-breakpoint-px-sm: 30px;--ds-text-heading-600-height-breakpoint-md: 2.125rem;--ds-text-heading-600-height-breakpoint-px-md: 34px;--ds-text-heading-600-height-breakpoint-lg: 2.25rem;--ds-text-heading-600-height-breakpoint-px-lg: 36px;--ds-text-heading-700-weight: 500;--ds-text-heading-700-px-breakpoint-sm: 28px;--ds-text-heading-700-px-breakpoint-md: 32px;--ds-text-heading-700-px-breakpoint-lg: 36px;--ds-text-heading-700-size-breakpoint-sm: 1.75rem;--ds-text-heading-700-size-breakpoint-md: 2rem;--ds-text-heading-700-size-breakpoint-lg: 2.25rem;--ds-text-heading-700-height-breakpoint-sm: 2.125rem;--ds-text-heading-700-height-breakpoint-px-sm: 34px;--ds-text-heading-700-height-breakpoint-md: 2.375rem;--ds-text-heading-700-height-breakpoint-px-md: 38px;--ds-text-heading-700-height-breakpoint-lg: 2.75rem;--ds-text-heading-700-height-breakpoint-px-lg: 44px;--ds-text-heading-800-weight: 500;--ds-text-heading-800-px-breakpoint-sm: 32px;--ds-text-heading-800-px-breakpoint-md: 36px;--ds-text-heading-800-px-breakpoint-lg: 40px;--ds-text-heading-800-size-breakpoint-sm: 2rem;--ds-text-heading-800-size-breakpoint-md: 2.25rem;--ds-text-heading-800-size-breakpoint-lg: 2.5rem;--ds-text-heading-800-height-breakpoint-sm: 2.375rem;--ds-text-heading-800-height-breakpoint-px-sm: 38px;--ds-text-heading-800-height-breakpoint-md: 2.625rem;--ds-text-heading-800-height-breakpoint-px-md: 42px;--ds-text-heading-800-height-breakpoint-lg: 3rem;--ds-text-heading-800-height-breakpoint-px-lg: 48px;--ds-text-heading-default-weight: 500;--ds-text-heading-default-margin: 0;--ds-text-heading-default-spacing: -0.2px;--ds-text-heading-medium-weight: 300;--ds-text-heading-display-weight: 100;--ds-text-heading-display-px-breakpoint-sm: 44px;--ds-text-heading-display-px-breakpoint-md: 48px;--ds-text-heading-display-px-breakpoint-lg: 56px;--ds-text-heading-display-size-breakpoint-sm: 2.75rem;--ds-text-heading-display-size-breakpoint-md: 3rem;--ds-text-heading-display-size-breakpoint-lg: 3.5rem;--ds-text-heading-display-height-breakpoint-sm: 3.375rem;--ds-text-heading-display-height-breakpoint-px-sm: 54px;--ds-text-heading-display-height-breakpoint-md: 3.75rem;--ds-text-heading-display-height-breakpoint-px-md: 60px;--ds-text-heading-display-height-breakpoint-lg: 4.25rem;--ds-text-heading-display-height-breakpoint-px-lg: 68px;--ds-text-body-default-weight: 500;--ds-text-body-size-xxs: 0.625rem;--ds-text-body-size-xs: 0.75rem;--ds-text-body-size-sm: 0.875rem;--ds-text-body-size-default: 1rem;--ds-text-body-size-lg: 1.125rem;--ds-text-body-height-xs: 1rem;--ds-text-body-height-sm: 1.25rem;--ds-text-body-height-default: 1.5rem;--ds-text-body-height-lg: 1.625rem;--ds-color-alert-notification-default: #0074c8;--ds-color-alert-warning-default: #de750c;--ds-color-alert-error-default: #df0b37;--ds-color-alert-success-default: #00805d;--ds-color-alert-advisory-default: #fff0cd;--ds-color-alert-bkg-success-default: #ddf6e8;--ds-color-alert-bkg-error-default: #ffedf1;--ds-color-background-primary-100-default: #ffffff;--ds-color-background-primary-100-inverse: #0e2b4f;--ds-color-background-primary-200-default: #f7f7f7;--ds-color-background-primary-200-inverse: #194069;--ds-color-background-primary-300-default: #e4e8ec;--ds-color-background-primary-300-inverse: #265688;--ds-color-background-primary-400-default: #dddddd;--ds-color-background-primary-400-inverse: #326aa5;--ds-color-background-success-default: #eef8f5;--ds-color-background-success-inverse: #173c30;--ds-color-background-error-default: #fff4f4;--ds-color-background-error-inverse: #74110e;--ds-color-background-warning-default: #fef8e9;--ds-color-background-warning-inverse: #5d4514;--ds-color-background-info-default: #f0f7fd;--ds-color-background-info-inverse: #193d73;--ds-color-background-subtle-default: #f7f8fa;--ds-color-background-subtle-inverse: #2a2a2a;--ds-color-background-accent-default: #ebfafd;--ds-color-background-accent-inverse: #275b72;--ds-color-background-emphasis-default: #c9e0f7;--ds-color-background-emphasis-inverse: #225296;--ds-color-background-scrimmed-default: rgba(0, 0, 0, 0.5);--ds-color-background-lightest: #ffffff;--ds-color-background-lighter: #f7f7f7;--ds-color-background-darker: #01426a;--ds-color-background-darkest: #00274a;--ds-color-background-gradient-default: linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.5));--ds-color-base-white: #ffffff;--ds-color-base-white-100: rgba(255, 255, 255, 0.03);--ds-color-base-white-200: rgba(255, 255, 255, 0.06);--ds-color-base-white-300: rgba(255, 255, 255, 0.12);--ds-color-base-white-400: rgba(255, 255, 255, 0.25);--ds-color-base-white-500: rgba(255, 255, 255, 0.5);--ds-color-base-white-opacity-50: rgba(255, 255, 255, 0.5);--ds-color-base-white-opacity-40: rgba(255, 255, 255, 0.4);--ds-color-base-white-opacity-0: rgba(255, 255, 255, 0);--ds-color-base-black: #000000;--ds-color-base-black-100: rgba(0, 0, 0, 0.03);--ds-color-base-black-200: rgba(0, 0, 0, 0.06);--ds-color-base-black-300: rgba(0, 0, 0, 0.12);--ds-color-base-black-400: rgba(0, 0, 0, 0.25);--ds-color-base-black-500: rgba(0, 0, 0, 0.5);--ds-color-base-black-opacity-15: rgba(0, 0, 0, 0.15);--ds-color-base-blue-100: #f0f7fd;--ds-color-base-blue-200: #c9e0f7;--ds-color-base-blue-300: #a0c9f1;--ds-color-base-blue-400: #79b2ec;--ds-color-base-blue-500: #5398e6;--ds-color-base-blue-600: #3b7fd2;--ds-color-base-blue-700: #2c67b5;--ds-color-base-blue-800: #225296;--ds-color-base-blue-900: #193d73;--ds-color-base-blue-1000: #102a51;--ds-color-base-cyan-100: #ebfafd;--ds-color-base-cyan-200: #a8e9f7;--ds-color-base-cyan-300: #6ad5ef;--ds-color-base-cyan-400: #56bbde;--ds-color-base-cyan-500: #4aa2c7;--ds-color-base-cyan-600: #3e89aa;--ds-color-base-cyan-700: #32718e;--ds-color-base-cyan-800: #275b72;--ds-color-base-cyan-900: #1d4658;--ds-color-base-cyan-1000: #12303d;--ds-color-base-error-100: #fff4f4;--ds-color-base-error-200: #f9aca6;--ds-color-base-error-300: #f16359;--ds-color-base-error-400: #cc1816;--ds-color-base-error-500: #74110e;--ds-color-base-gray-100: #f7f7f7;--ds-color-base-gray-200: #d4d4d4;--ds-color-base-gray-300: #c5c5c5;--ds-color-base-gray-400: #adadad;--ds-color-base-gray-500: #959595;--ds-color-base-gray-600: #7e7e7e;--ds-color-base-gray-700: #676767;--ds-color-base-gray-800: #525252;--ds-color-base-gray-900: #3d3d3d;--ds-color-base-gray-1000: #2a2a2a;--ds-color-base-green-100: #f3faf7;--ds-color-base-green-200: #000000;--ds-color-base-green-300: #addbca;--ds-color-base-green-400: #7ec6ac;--ds-color-base-green-500: #51ae8c;--ds-color-base-green-600: #459578;--ds-color-base-green-700: #3a7d64;--ds-color-base-green-800: #306854;--ds-color-base-green-900: #285545;--ds-color-base-green-1000: #1f4436;--ds-color-base-lime-100: #f5fbeb;--ds-color-base-lime-200: #d8efb4;--ds-color-base-lime-300: #badd81;--ds-color-base-lime-400: #a2c270;--ds-color-base-lime-500: #8ca761;--ds-color-base-lime-600: #778f53;--ds-color-base-lime-700: #647845;--ds-color-base-lime-800: #53643a;--ds-color-base-lime-900: #44522f;--ds-color-base-lime-1000: #364126;--ds-color-base-navy-100: #f2f7fb;--ds-color-base-navy-200: #cfe0ef;--ds-color-base-navy-300: #acc9e2;--ds-color-base-navy-400: #89b2d4;--ds-color-base-navy-500: #6899c6;--ds-color-base-navy-600: #4a82b7;--ds-color-base-navy-700: #326aa5;--ds-color-base-navy-800: #265688;--ds-color-base-navy-900: #194069;--ds-color-base-navy-1000: #0e2b4f;--ds-color-base-neutral-100: #f7f8fa;--ds-color-base-neutral-200: #e4e8ec;--ds-color-base-neutral-300: #ccd2db;--ds-color-base-neutral-400: #afb9c6;--ds-color-base-neutral-500: #939fad;--ds-color-base-neutral-600: #7e8894;--ds-color-base-neutral-700: #6a717c;--ds-color-base-neutral-800: #585e67;--ds-color-base-neutral-900: #484d55;--ds-color-base-neutral-1000: #393d43;--ds-color-base-pink-100: #fff7f8;--ds-color-base-pink-200: #fde0e6;--ds-color-base-pink-300: #fcc2ce;--ds-color-base-pink-400: #fa9db0;--ds-color-base-pink-500: #f7738e;--ds-color-base-pink-600: #e45472;--ds-color-base-pink-700: #bf475f;--ds-color-base-pink-800: #a03b50;--ds-color-base-pink-900: #833142;--ds-color-base-pink-1000: #692734;--ds-color-base-purple-100: #fbf8fe;--ds-color-base-purple-200: #ede3fd;--ds-color-base-purple-300: #ddc9fb;--ds-color-base-purple-400: #c9a9f8;--ds-color-base-purple-500: #b588f5;--ds-color-base-purple-600: #a268f3;--ds-color-base-purple-700: #8d47f0;--ds-color-base-purple-800: #7633d7;--ds-color-base-purple-900: #622ab2;--ds-color-base-purple-1000: #4e228d;--ds-color-base-red-100: #fef7f5;--ds-color-base-red-200: #fae2da;--ds-color-base-red-300: #f5c7b8;--ds-color-base-red-400: #f0a68d;--ds-color-base-red-500: #e9815e;--ds-color-base-red-600: #e35c2f;--ds-color-base-red-700: #d03a08;--ds-color-base-red-800: #ae3007;--ds-color-base-red-900: #902806;--ds-color-base-red-1000: #732005;--ds-color-base-success-100: #eef8f5;--ds-color-base-success-200: #8eceb9;--ds-color-base-success-300: #40a080;--ds-color-base-success-400: #0b6f4d;--ds-color-base-success-500: #173c30;--ds-color-base-turquoise-100: #f7fafa;--ds-color-base-turquoise-200: #dfe9ea;--ds-color-base-turquoise-300: #c2d5d6;--ds-color-base-turquoise-400: #9fbdbe;--ds-color-base-turquoise-500: #7ba5a6;--ds-color-base-turquoise-600: #5c8f91;--ds-color-base-turquoise-700: #3d7a7d;--ds-color-base-turquoise-800: #21686a;--ds-color-base-turquoise-900: #085659;--ds-color-base-turquoise-1000: #004447;--ds-color-base-yellow-100: #fff9df;--ds-color-base-yellow-200: #ffe87e;--ds-color-base-yellow-300: #f9ce06;--ds-color-base-yellow-400: #d6b622;--ds-color-base-yellow-500: #b49d35;--ds-color-base-yellow-600: #96873e;--ds-color-base-yellow-700: #7c7140;--ds-color-base-yellow-800: #665e3d;--ds-color-base-yellow-900: #524e38;--ds-color-base-yellow-1000: #403d30;--ds-color-base-warning-100: #fef8e9;--ds-color-base-warning-200: #f2c153;--ds-color-base-warning-300: #c49432;--ds-color-base-warning-400: #8e6b22;--ds-color-base-warning-500: #5d4514;--ds-color-state-error-100: #ff999b;--ds-color-state-error-500: #df0b37;--ds-color-state-success-100: #69cf96;--ds-color-state-success-500: #00805d;--ds-color-state-warning-500: #de750c;--ds-color-border-primary-default: #585e67;--ds-color-border-primary-inverse: #afb9c6;--ds-color-border-secondary-default: #939fad;--ds-color-border-secondary-inverse: #7e8894;--ds-color-border-tertiary-default: #dddddd;--ds-color-border-tertiary-inverse: #676767;--ds-color-border-error-default: #cc1816;--ds-color-border-error-inverse: #f9aca6;--ds-color-border-divider-default: rgba(0, 0, 0, 0.12);--ds-color-border-divider-inverse: rgba(255, 255, 255, 0.25);--ds-color-border-subtle-default: #f0f7fd;--ds-color-border-subtle-inverse: #326aa5;--ds-color-border-emphasis-default: #194069;--ds-color-border-emphasis-inverse: #f2f7fb;--ds-color-border-accent-default: #badd81;--ds-color-border-accent-inverse: #a2c270;--ds-color-border-success-default: #0b6f4d;--ds-color-border-success-inverse: #8eceb9;--ds-color-border-warning-default: #c49432;--ds-color-border-warning-inverse: #f2c153;--ds-color-border-info-default: #326aa5;--ds-color-border-info-inverse: #89b2d4;--ds-color-border-ui-default-default: #2c67b5;--ds-color-border-ui-default-inverse: #56bbde;--ds-color-border-ui-hover-default: #193d73;--ds-color-border-ui-hover-inverse: #a8e9f7;--ds-color-border-ui-active-default: #225296;--ds-color-border-ui-active-inverse: #6ad5ef;--ds-color-border-ui-focus-default: #2c67b5;--ds-color-border-ui-focus-inverse: #56bbde;--ds-color-border-ui-disabled-default: #adadad;--ds-color-border-ui-disabled-inverse: #7e7e7e;--ds-color-border-active-default: #0074c8;--ds-color-border-active-inverse: #00cff0;--ds-color-border-disabled-default: #d4d4d4;--ds-color-border-focus-default: #959595;--ds-color-brand-neutral-100: #f7f8fa;--ds-color-brand-neutral-200: #e4e8ec;--ds-color-brand-neutral-300: #ccd2db;--ds-color-brand-neutral-400: #afb9c6;--ds-color-brand-neutral-500: #939fad;--ds-color-brand-neutral-600: #7e8894;--ds-color-brand-neutral-700: #6a717c;--ds-color-brand-neutral-800: #585e67;--ds-color-brand-neutral-900: #484d55;--ds-color-brand-neutral-1000: #393d43;--ds-color-brand-gray-100: #f7f7f7;--ds-color-brand-gray-200: #dddddd;--ds-color-brand-gray-300: #c5c5c5;--ds-color-brand-gray-400: #adadad;--ds-color-brand-gray-500: #959595;--ds-color-brand-gray-600: #7e7e7e;--ds-color-brand-gray-700: #676767;--ds-color-brand-gray-800: #525252;--ds-color-brand-gray-900: #3d3d3d;--ds-color-brand-gray-1000: #2a2a2a;--ds-color-brand-red-100: #fef7f5;--ds-color-brand-red-200: #fae2da;--ds-color-brand-red-300: #f5c7b8;--ds-color-brand-red-400: #f0a68d;--ds-color-brand-red-500: #e9815e;--ds-color-brand-red-600: #e35c2f;--ds-color-brand-red-700: #d03a08;--ds-color-brand-red-800: #ae3007;--ds-color-brand-red-900: #902806;--ds-color-brand-red-1000: #732005;--ds-color-brand-yellow-100: #fff9df;--ds-color-brand-yellow-200: #ffe87e;--ds-color-brand-yellow-300: #f9ce06;--ds-color-brand-yellow-400: #d6b622;--ds-color-brand-yellow-500: #b49d35;--ds-color-brand-yellow-600: #96873e;--ds-color-brand-yellow-700: #7c7140;--ds-color-brand-yellow-800: #665e3d;--ds-color-brand-yellow-900: #524e38;--ds-color-brand-yellow-1000: #403d30;--ds-color-brand-lime-100: #f5fbeb;--ds-color-brand-lime-200: #d8efb4;--ds-color-brand-lime-300: #badd81;--ds-color-brand-lime-400: #a2c270;--ds-color-brand-lime-500: #8ca761;--ds-color-brand-lime-600: #778f53;--ds-color-brand-lime-700: #647845;--ds-color-brand-lime-800: #53643a;--ds-color-brand-lime-900: #44522f;--ds-color-brand-lime-1000: #364126;--ds-color-brand-green-100: #f3faf7;--ds-color-brand-green-200: #d4ece4;--ds-color-brand-green-300: #addbca;--ds-color-brand-green-400: #7ec6ac;--ds-color-brand-green-500: #51ae8c;--ds-color-brand-green-600: #459578;--ds-color-brand-green-700: #3a7d64;--ds-color-brand-green-800: #306854;--ds-color-brand-green-900: #285545;--ds-color-brand-green-1000: #1f4436;--ds-color-brand-turquoise-100: #f7fafa;--ds-color-brand-turquoise-200: #dfe9ea;--ds-color-brand-turquoise-300: #c2d5d6;--ds-color-brand-turquoise-400: #9fbdbe;--ds-color-brand-turquoise-500: #7ba5a6;--ds-color-brand-turquoise-600: #5c8f91;--ds-color-brand-turquoise-700: #3d7a7d;--ds-color-brand-turquoise-800: #21686a;--ds-color-brand-turquoise-900: #085659;--ds-color-brand-turquoise-1000: #004447;--ds-color-brand-cyan-100: #ebfafd;--ds-color-brand-cyan-200: #a8e9f7;--ds-color-brand-cyan-300: #6ad5ef;--ds-color-brand-cyan-400: #56bbde;--ds-color-brand-cyan-500: #4aa2c7;--ds-color-brand-cyan-600: #3e89aa;--ds-color-brand-cyan-700: #32718e;--ds-color-brand-cyan-800: #275b72;--ds-color-brand-cyan-900: #1d4658;--ds-color-brand-cyan-1000: #12303d;--ds-color-brand-blue-100: #f0f7fd;--ds-color-brand-blue-200: #c9e0f7;--ds-color-brand-blue-300: #a0c9f1;--ds-color-brand-blue-400: #79b2ec;--ds-color-brand-blue-500: #5398e6;--ds-color-brand-blue-600: #3b7fd2;--ds-color-brand-blue-700: #2c67b5;--ds-color-brand-blue-800: #225296;--ds-color-brand-blue-900: #193d73;--ds-color-brand-blue-1000: #102a51;--ds-color-brand-navy-100: #f2f7fb;--ds-color-brand-navy-200: #cfe0ef;--ds-color-brand-navy-300: #acc9e2;--ds-color-brand-navy-400: #89b2d4;--ds-color-brand-navy-500: #6899c6;--ds-color-brand-navy-600: #4a82b7;--ds-color-brand-navy-700: #326aa5;--ds-color-brand-navy-800: #265688;--ds-color-brand-navy-900: #194069;--ds-color-brand-navy-1000: #0e2b4f;--ds-color-brand-purple-100: #fbf8fe;--ds-color-brand-purple-200: #ede3fd;--ds-color-brand-purple-300: #ddc9fb;--ds-color-brand-purple-400: #c9a9f8;--ds-color-brand-purple-500: #b588f5;--ds-color-brand-purple-600: #a268f3;--ds-color-brand-purple-700: #8d47f0;--ds-color-brand-purple-800: #7633d7;--ds-color-brand-purple-900: #622ab2;--ds-color-brand-purple-1000: #4e228d;--ds-color-brand-pink-100: #fff7f8;--ds-color-brand-pink-200: #fde0e6;--ds-color-brand-pink-300: #fcc2ce;--ds-color-brand-pink-400: #fa9db0;--ds-color-brand-pink-500: #f7738e;--ds-color-brand-pink-600: #e45472;--ds-color-brand-pink-700: #bf475f;--ds-color-brand-pink-800: #a03b50;--ds-color-brand-pink-900: #833142;--ds-color-brand-pink-1000: #692734;--ds-color-brand-midnight-100: #c1daf0;--ds-color-brand-midnight-200: #569ed7;--ds-color-brand-midnight-300: #156fad;--ds-color-brand-midnight-400: #01426a;--ds-color-brand-midnight-500: #00274a;--ds-color-brand-atlas-100: #cde6ff;--ds-color-brand-atlas-200: #6bb7fb;--ds-color-brand-atlas-300: #2492eb;--ds-color-brand-atlas-400: #0074c8;--ds-color-brand-atlas-500: #054687;--ds-color-brand-atlas-400-opacity-20: rgba(0, 116, 200, 0.2);--ds-color-brand-breeze-100: #c0f7ff;--ds-color-brand-breeze-200: #5de3f7;--ds-color-brand-breeze-300: #00cff0;--ds-color-brand-breeze-400: #099dc5;--ds-color-brand-breeze-500: #0b5575;--ds-color-brand-breeze-300-opacity-30: rgba(0, 207, 240, 0.3);--ds-color-brand-tropical-100: #e2ffcd;--ds-color-brand-tropical-200: #d0fba6;--ds-color-brand-tropical-300: #c0e585;--ds-color-brand-tropical-400: #91be62;--ds-color-brand-tropical-500: #5e8741;--ds-color-brand-alpine-100: #bcaae6;--ds-color-brand-alpine-200: #9e73ea;--ds-color-brand-alpine-300: #8439ef;--ds-color-brand-alpine-400: #631db8;--ds-color-brand-alpine-500: #39115c;--ds-color-brand-flamingo-100: #ffebee;--ds-color-brand-flamingo-200: #ffc0ca;--ds-color-brand-flamingo-300: #ff94a7;--ds-color-brand-flamingo-400: #f65b7b;--ds-color-brand-flamingo-500: #b82b47;--ds-color-brand-canyon-100: #ffcab6;--ds-color-brand-canyon-200: #f99574;--ds-color-brand-canyon-300: #f26135;--ds-color-brand-canyon-400: #de3e09;--ds-color-brand-canyon-500: #b83302;--ds-color-brand-goldcoast-100: #fff0cd;--ds-color-brand-goldcoast-200: #ffdb67;--ds-color-brand-goldcoast-300: #ffd200;--ds-color-brand-goldcoast-400: #e5ad07;--ds-color-brand-goldcoast-500: #b88624;--ds-color-brand-goldgray-100: #c5c1bf;--ds-color-brand-goldgray-200: #726e6c;--ds-color-brand-gold-100: #ccbc94;--ds-color-brand-gold-200: #7f682e;--ds-color-brand-emerald: #139142;--ds-color-brand-sapphire: #015daa;--ds-color-brand-ruby: #a41d4a;--ds-color-brand-lounge: #01426a;--ds-color-brand-loungeplus: #53b390;--ds-color-container-accent-default: #f5fbeb;--ds-color-container-accent-inverse: #badd81;--ds-color-container-emphasis-default: #ebfafd;--ds-color-container-emphasis-inverse: #6ad5ef;--ds-color-container-error-default: #fff4f4;--ds-color-container-error-inverse: #74110e;--ds-color-container-info-default: #f0f7fd;--ds-color-container-info-inverse: #193d73;--ds-color-container-primary-default: #ffffff;--ds-color-container-primary-inverse: #0e2b4f;--ds-color-container-secondary-default: #f7f7f7;--ds-color-container-secondary-inverse: #194069;--ds-color-container-subtle-default: #f7f8fa;--ds-color-container-subtle-inverse: #393d43;--ds-color-container-success-default: #eef8f5;--ds-color-container-success-inverse: #173c30;--ds-color-container-tertiary-default: rgba(0, 0, 0, 0.03);--ds-color-container-tertiary-inverse: rgba(255, 255, 255, 0.06);--ds-color-container-warning-default: #fef8e9;--ds-color-container-warning-inverse: #5d4514;--ds-color-container-ui-primary-active-default: #225296;--ds-color-container-ui-primary-active-inverse: #6ad5ef;--ds-color-container-ui-primary-default-default: #2c67b5;--ds-color-container-ui-primary-default-inverse: #56bbde;--ds-color-container-ui-primary-disabled-default: #a0c9f1;--ds-color-container-ui-primary-disabled-inverse: #275b72;--ds-color-container-ui-primary-focus-default: #2c67b5;--ds-color-container-ui-primary-focus-inverse: #56bbde;--ds-color-container-ui-primary-hover-default: #193d73;--ds-color-container-ui-primary-hover-inverse: #a8e9f7;--ds-color-container-ui-secondary-active-default: #f0f7fd;--ds-color-container-ui-secondary-active-inverse: rgba(255, 255, 255, 0.06);--ds-color-container-ui-secondary-default-default: #ffffff;--ds-color-container-ui-secondary-default-inverse: rgba(255, 255, 255, 0.03);--ds-color-container-ui-secondary-disabled-default: #f7f7f7;--ds-color-container-ui-secondary-disabled-inverse: rgba(255, 255, 255, 0.12);--ds-color-container-ui-secondary-focus-default: #ffffff;--ds-color-container-ui-secondary-focus-inverse: rgba(255, 255, 255, 0.03);--ds-color-container-ui-secondary-hover-default: rgba(0, 0, 0, 0.03);--ds-color-container-ui-secondary-hover-inverse: rgba(255, 255, 255, 0.12);--ds-color-container-ui-tertiary-active-default: rgba(0, 0, 0, 0.06);--ds-color-container-ui-tertiary-active-inverse: rgba(255, 255, 255, 0.06);--ds-color-container-ui-tertiary-default-default: rgba(0, 0, 0, 0.03);--ds-color-container-ui-tertiary-default-inverse: rgba(255, 255, 255, 0.12);--ds-color-container-ui-tertiary-disabled-default: rgba(0, 0, 0, 0.03);--ds-color-container-ui-tertiary-disabled-inverse: rgba(255, 255, 255, 0.25);--ds-color-container-ui-tertiary-focus-default: rgba(0, 0, 0, 0.03);--ds-color-container-ui-tertiary-focus-inverse: rgba(255, 255, 255, 0.12);--ds-color-container-ui-tertiary-hover-default: rgba(0, 0, 0, 0.12);--ds-color-container-ui-tertiary-hover-inverse: rgba(255, 255, 255, 0.25);--ds-color-icon-primary-default: #676767;--ds-color-icon-primary-inverse: #f7f7f7;--ds-color-icon-secondary-default: #7e8894;--ds-color-icon-secondary-inverse: #ccd2db;--ds-color-icon-tertiary-default: #afb9c6;--ds-color-icon-tertiary-inverse: #939fad;--ds-color-icon-emphasis-default: #2a2a2a;--ds-color-icon-emphasis-inverse: #ffffff;--ds-color-icon-accent-default: #a2c270;--ds-color-icon-accent-inverse: #badd81;--ds-color-icon-info-default: #326aa5;--ds-color-icon-info-inverse: #89b2d4;--ds-color-icon-error-default: #cc1816;--ds-color-icon-error-inverse: #f9aca6;--ds-color-icon-warning-default: #c49432;--ds-color-icon-warning-inverse: #f2c153;--ds-color-icon-success-default: #40a080;--ds-color-icon-success-inverse: #8eceb9;--ds-color-icon-subtle-default: #a0c9f1;--ds-color-icon-subtle-inverse: #326aa5;--ds-color-icon-ui-primary-default-default: #2c67b5;--ds-color-icon-ui-primary-default-inverse: #56bbde;--ds-color-icon-ui-primary-hover-default: #193d73;--ds-color-icon-ui-primary-hover-inverse: #a8e9f7;--ds-color-icon-ui-primary-active-default: #225296;--ds-color-icon-ui-primary-active-inverse: #6ad5ef;--ds-color-icon-ui-primary-disabled-default: #adadad;--ds-color-icon-ui-primary-disabled-inverse: #7e7e7e;--ds-color-icon-ui-primary-focus-default: #2c67b5;--ds-color-icon-ui-primary-focus-inverse: #56bbde;--ds-color-icon-ui-secondary-active-default: #676767;--ds-color-icon-ui-secondary-active-inverse: #c5c5c5;--ds-color-icon-ui-secondary-default-default: #7e7e7e;--ds-color-icon-ui-secondary-default-inverse: #adadad;--ds-color-icon-ui-secondary-disabled-default: #adadad;--ds-color-icon-ui-secondary-disabled-inverse: #7e7e7e;--ds-color-icon-ui-secondary-focus-default: #7e7e7e;--ds-color-icon-ui-secondary-focus-inverse: #adadad;--ds-color-icon-ui-secondary-hover-default: #525252;--ds-color-icon-ui-secondary-hover-inverse: #dddddd;--ds-color-icon-brand-red-default: #d03a08;--ds-color-icon-brand-red-inverse: #e9815e;--ds-color-icon-brand-yellow-default: #7c7140;--ds-color-icon-brand-yellow-inverse: #f9ce06;--ds-color-icon-brand-pink-default: #bf475f;--ds-color-icon-brand-pink-inverse: #f7738e;--ds-color-icon-brand-purple-default: #8d47f0;--ds-color-icon-brand-purple-inverse: #b588f5;--ds-color-icon-brand-lime-default: #647845;--ds-color-icon-brand-lime-inverse: #badd81;--ds-color-icon-brand-green-default: #3a7d64;--ds-color-icon-brand-green-inverse: #51ae8c;--ds-color-icon-brand-turquoise-default: #3d7a7d;--ds-color-icon-brand-turquoise-inverse: #7ba5a6;--ds-color-icon-brand-navy-default: #265688;--ds-color-icon-brand-navy-inverse: #6899c6;--ds-color-icon-brand-blue-default: #2c67b5;--ds-color-icon-brand-blue-inverse: #5398e6;--ds-color-icon-brand-cyan-default: #32718e;--ds-color-icon-brand-cyan-inverse: #6ad5ef;--ds-color-icon-brand-gray-default: #676767;--ds-color-icon-brand-gray-inverse: #c5c5c5;--ds-color-icon-brand-neutral-default: #6a717c;--ds-color-icon-brand-neutral-inverse: #afb9c6;--ds-color-icon-disabled-default: rgba(0, 0, 0, 0.15);--ds-color-text-primary-default: #2a2a2a;--ds-color-text-primary-inverse: #ffffff;--ds-color-text-secondary-default: #525252;--ds-color-text-secondary-inverse: #dddddd;--ds-color-text-tertiary-default: #6a717c;--ds-color-text-tertiary-inverse: #adadad;--ds-color-text-error-default: #cc1816;--ds-color-text-error-inverse: #f9aca6;--ds-color-text-emphasis-default: #265688;--ds-color-text-emphasis-inverse: #cfe0ef;--ds-color-text-accent-default: #647845;--ds-color-text-accent-inverse: #badd81;--ds-color-text-info-default: #326aa5;--ds-color-text-info-inverse: #acc9e2;--ds-color-text-subtle-default: #32718e;--ds-color-text-subtle-inverse: #56bbde;--ds-color-text-success-default: #0b6f4d;--ds-color-text-success-inverse: #8eceb9;--ds-color-text-ui-active-default: #225296;--ds-color-text-ui-active-inverse: #6ad5ef;--ds-color-text-ui-default-default: #2c67b5;--ds-color-text-ui-default-inverse: #56bbde;--ds-color-text-ui-disabled-default: #adadad;--ds-color-text-ui-disabled-inverse: #7e7e7e;--ds-color-text-ui-focus-default: #2c67b5;--ds-color-text-ui-focus-inverse: #56bbde;--ds-color-text-ui-hover-default: #193d73;--ds-color-text-ui-hover-inverse: #a8e9f7;--ds-color-text-link-default: #0074c8;--ds-color-text-link-inverse: #00cff0;--ds-color-tier-alaska-mvp-default: #726e6c;--ds-color-tier-alaska-mvp-inverse: #c5c1bf;--ds-color-tier-alaska-mvpgold-default: #7f682e;--ds-color-tier-alaska-mvpgold-inverse: #c5c1bf;--ds-color-tier-alaska-mvpgold75k-default: #7f682e;--ds-color-tier-alaska-mvpgold75k-inverse: #c5c1bf;--ds-color-tier-alaska-mvpgold100k-default: #7f682e;--ds-color-tier-alaska-mvpgold100k-inverse: #c5c1bf;--ds-color-tier-alaska-lounge: #01426a;--ds-color-tier-alaska-loungeplus: #53b390;--ds-color-tier-fare-business-default: #005154;--ds-color-tier-fare-business-inverse: #9fbdbe;--ds-color-tier-fare-economy-default: #2c67b5;--ds-color-tier-fare-economy-inverse: #a0c9f1;--ds-color-tier-fare-first-class-default: #002c4e;--ds-color-tier-fare-first-class-inverse: #89b2d4;--ds-color-tier-fare-saver-default: #4aa2c7;--ds-color-tier-fare-saver-inverse: #a8e9f7;--ds-color-tier-oneworld-emerald: #139142;--ds-color-tier-oneworld-sapphire: #015daa;--ds-color-tier-oneworld-ruby: #a41d4a;--ds-color-ui-default-default: #0074c8;--ds-color-ui-default-inverse: #00cff0;--ds-color-ui-hover-default: #054687;--ds-color-ui-hover-inverse: #5de3f7;--ds-color-ui-active-default: #054687;--ds-color-ui-active-inverse: #5de3f7;--ds-color-ui-disabled-default: rgba(0, 116, 200, 0.2);--ds-color-ui-bkg-default-default: rgba(0, 0, 0, 0.03);--ds-color-ui-bkg-default-inverse: rgba(255, 255, 255, 0.03);--ds-color-ui-bkg-hover-default: rgba(0, 0, 0, 0.06);--ds-color-ui-bkg-hover-inverse: rgba(255, 255, 255, 0.06);--ds-color-utility-blue-default: #79b2ec;--ds-color-utility-blue-inverse: #c9e0f7;--ds-color-utility-cyan-default: #6ad5ef;--ds-color-utility-cyan-inverse: #a8e9f7;--ds-color-utility-green-default: #7ec6ac;--ds-color-utility-green-inverse: #addbca;--ds-color-utility-gray-default: #adadad;--ds-color-utility-gray-inverse: #dddddd;--ds-color-utility-lime-default: #badd81;--ds-color-utility-lime-inverse: #d8efb4;--ds-color-utility-navy-default: #265688;--ds-color-utility-navy-inverse: #acc9e2;--ds-color-utility-neutral-default: #7e8894;--ds-color-utility-neutral-inverse: #ccd2db;--ds-color-utility-pink-default: #f7738e;--ds-color-utility-pink-inverse: #fcc2ce;--ds-color-utility-purple-default: #8d47f0;--ds-color-utility-purple-inverse: #ddc9fb;--ds-color-utility-red-default: #e35c2f;--ds-color-utility-red-inverse: #f0a68d;--ds-color-utility-turquoise-default: #5c8f91;--ds-color-utility-turquoise-inverse: #9fbdbe;--ds-color-utility-yellow-default: #f9ce06;--ds-color-utility-yellow-inverse: #ffe87e;--ds-color-utility-error-default: #cc1816;--ds-color-utility-error-inverse: #f9aca6;--ds-color-utility-warning-default: #f2c153;--ds-color-utility-warning-inverse: #f2c153;--ds-color-utility-success-default: #0b6f4d;--ds-color-utility-success-inverse: #8eceb9}*,*:before,*:after{box-sizing:border-box}@media(prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}}*:focus-visible{outline:0}*:focus-visible{outline:0}:focus:not(:focus-visible){outline:3px solid transparent}:host{display:inline-block;width:100%;margin:0;padding:0;vertical-align:middle}:host ::slotted(auro-menuoption),:host ::slotted([auro-menuoption]),:host auro-menuoption[loadingplaceholder]{padding-left:calc(var(--ds-size-150, 0.75rem) + 24px + var(--ds-size-100, 0.5rem))}:host ::slotted([selected]){padding-left:0}:host ::slotted(hr){box-sizing:content-box !important;height:0 !important;overflow:visible !important;margin:var(--ds-size-100, 0.5rem) 0 !important;border-width:0 !important;border-top-width:1px !important;border-top-style:solid !important}:host([nocheckmark]) ::slotted(auro-menuoption),:host([nocheckmark]) auro-menuoption[loadingplaceholder]{padding-left:var(--ds-size-200, 1rem)}:host([root]){overflow-y:auto}[loadingplaceholder]{color:var(--ds-color-text-secondary-default, #525252)}[loadingplaceholder].empty{opacity:0;position:absolute}[loadingplaceholder] slot[name=loadingIcon]{vertical-align:middle;line-height:1;display:inline-block}[loadingplaceholder] slot[name=loadingIcon]::slotted(*){margin-right:var(--ds-size-150, 0.75rem)}`;
3783
+
3784
+ var colorCss$2 = i$5`:host ::slotted(hr){border-top-color:var(--ds-auro-menu-divider-color) !important}`;
3785
+
3786
+ var tokensCss$1 = i$5`:host{--ds-auro-menu-divider-color: var(--ds-color-border-divider-default, $ds-color-border-divider-default);--ds-auro-menuoption-container-color: transparent;--ds-auro-menuoption-icon-color: transparent;--ds-auro-menuoption-text-color: var(--ds-color-text-primary-default, $ds-color-text-primary-default)}`;
3787
+
3788
+ // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
3789
+ // See LICENSE in the project root for license information.
3790
+
3791
+ // ---------------------------------------------------------------------
3792
+
3793
+ /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
3794
+
3795
+ class AuroLibraryRuntimeUtils {
3796
+
3797
+ /* eslint-disable jsdoc/require-param */
3798
+
3799
+ /**
3800
+ * This will register a new custom element with the browser.
3801
+ * @param {String} name - The name of the custom element.
3802
+ * @param {Object} componentClass - The class to register as a custom element.
3803
+ * @returns {void}
3804
+ */
3805
+ registerComponent(name, componentClass) {
3806
+ if (!customElements.get(name)) {
3807
+ customElements.define(name, class extends componentClass {});
3808
+ }
3809
+ }
3810
+
3811
+ /**
3812
+ * Finds and returns the closest HTML Element based on a selector.
3813
+ * @returns {void}
3814
+ */
3815
+ closestElement(
3816
+ selector, // selector like in .closest()
3817
+ base = this, // extra functionality to skip a parent
3818
+ __Closest = (el, found = el && el.closest(selector)) =>
3819
+ !el || el === document || el === window
3820
+ ? null // standard .closest() returns null for non-found selectors also
3821
+ : found
3822
+ ? found // found a selector INside this element
3823
+ : __Closest(el.getRootNode().host) // recursion!! break out to parent DOM
3824
+ ) {
3825
+ return __Closest(base);
3826
+ }
3827
+ /* eslint-enable jsdoc/require-param */
3828
+
3829
+ /**
3830
+ * If the element passed is registered with a different tag name than what is passed in, the tag name is added as an attribute to the element.
3831
+ * @param {Object} elem - The element to check.
3832
+ * @param {String} tagName - The name of the Auro component to check for or add as an attribute.
3833
+ * @returns {void}
3834
+ */
3835
+ handleComponentTagRename(elem, tagName) {
3836
+ const tag = tagName.toLowerCase();
3837
+ const elemTag = elem.tagName.toLowerCase();
3838
+
3839
+ if (elemTag !== tag) {
3840
+ elem.setAttribute(tag, true);
3841
+ }
3842
+ }
3843
+
3844
+ /**
3845
+ * Validates if an element is a specific Auro component.
3846
+ * @param {Object} elem - The element to validate.
3847
+ * @param {String} tagName - The name of the Auro component to check against.
3848
+ * @returns {Boolean} - Returns true if the element is the specified Auro component.
3849
+ */
3850
+ elementMatch(elem, tagName) {
3851
+ const tag = tagName.toLowerCase();
3852
+ const elemTag = elem.tagName.toLowerCase();
3853
+
3854
+ return elemTag === tag || elem.hasAttribute(tag);
3855
+ }
3856
+ }
3857
+
3858
+ // Copyright (c) 2021 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
3859
+ // See LICENSE in the project root for license information.
3860
+
3861
+ // ---------------------------------------------------------------------
3862
+
3863
+ /**
3864
+ * Converts value to an array.
3865
+ * If the value is a JSON string representing an array, it will be parsed.
3866
+ * If the value is already an array, it is returned.
3867
+ * If the value is undefined, it returns undefined.
3868
+ * @private
3869
+ * @param {any} value - The value to be converted. Can be a string, array, or undefined.
3870
+ * @returns {Array|undefined} - The converted array or undefined.
3871
+ * @throws {Error} - Throws an error if the value is not an array, undefined,
3872
+ * or if the value cannot be parsed into an array from a JSON string.
3873
+ */
3874
+ function arrayConverter(value) {
3875
+ // Allow undefined
3876
+ if (value === undefined) {
3877
+ return undefined;
3878
+ }
3879
+
3880
+ // Return the value if it is already an array
3881
+ if (Array.isArray(value)) {
3882
+ return value;
3883
+ }
3884
+
3885
+ try {
3886
+ // If value is a JSON string, parse it
3887
+ const parsed = typeof value === 'string' ? JSON.parse(value) : value;
3888
+
3889
+ // Check if the parsed value is an array
3890
+ if (Array.isArray(parsed)) {
3891
+ return parsed;
3892
+ }
3893
+ } catch (error) {
3894
+ // If JSON parsing fails, continue to throw an error below
3895
+ /* eslint-disable no-console */
3896
+ console.error('JSON parsing failed:', error);
3897
+ }
3898
+
3899
+ // Throw error if the input is not an array or undefined
3900
+ throw new Error('Invalid value: Input must be an array or undefined');
3901
+ }
3902
+
3903
+ /**
3904
+ * Compare two arrays for equality.
3905
+ * @private
3906
+ * @param {Array} arr1 - First array to compare.
3907
+ * @param {Array} arr2 - Second array to compare.
3908
+ * @returns {boolean} True if arrays are equal.
3909
+ */
3910
+ function arraysAreEqual(arr1, arr2) {
3911
+ // If both arrays undefined, they are equal (true)
3912
+ if (arr1 === undefined || arr2 === undefined) {
3913
+ return arr1 === arr2;
3914
+ }
3915
+
3916
+ // If arrays have different lengths, they are not equal
3917
+ if (arr1.length !== arr2.length) {
3918
+ return false;
3919
+ }
3920
+
3921
+ // If every item at each index is the same, return true
3922
+ for (let index = 0; index < arr1.length; index += 1) {
3923
+ if (arr1[index] !== arr2[index]) {
3924
+ return false;
3925
+ }
3926
+ }
3927
+ return true;
3928
+ }
3929
+
3930
+ /**
3931
+ * Compares array for changes.
3932
+ * @private
3933
+ * @param {Array|any} newVal - New value to compare.
3934
+ * @param {Array|any} oldVal - Old value to compare.
3935
+ * @returns {boolean} True if arrays have changed.
3936
+ */
3937
+ function arrayOrUndefinedHasChanged(newVal, oldVal) {
3938
+ try {
3939
+ // Check if values are undefined or arrays
3940
+ const isArrayOrUndefined = (val) => val === undefined || Array.isArray(val);
3941
+
3942
+ // If non-array or non-undefined, throw error
3943
+ if (!isArrayOrUndefined(newVal) || !isArrayOrUndefined(oldVal)) {
3944
+ const invalidValue = isArrayOrUndefined(newVal) ? oldVal : newVal;
3945
+ throw new Error(`Value must be an array or undefined, received ${typeof invalidValue}`);
3946
+ }
3947
+
3948
+ // Return true if arrays have changed, false if they are the same
3949
+ return !arraysAreEqual(newVal, oldVal);
3950
+ } catch (error) {
3951
+ /* eslint-disable no-console */
3952
+ console.error(error);
3953
+ // If validation fails, it has changed
3954
+ return true;
3955
+ }
3956
+ }
3957
+
3958
+ /**
3959
+ * Validates if an option can be interacted with.
3960
+ * @private
3961
+ * @param {HTMLElement} option - The option to check.
3962
+ * @returns {boolean} True if option is interactive.
3963
+ */
3964
+ function isOptionInteractive(option) {
3965
+ return !option.hasAttribute('hidden') &&
3966
+ !option.hasAttribute('disabled') &&
3967
+ !option.hasAttribute('static');
3968
+ }
3969
+
3970
+ /**
3971
+ * Helper method to dispatch custom events.
3972
+ * @param {HTMLElement} element - Element to dispatch event from.
3973
+ * @param {string} eventName - Name of the event to dispatch.
3974
+ * @param {Object} [detail] - Optional detail object to include with the event.
3975
+ */
3976
+ function dispatchMenuEvent(element, eventName, detail = null) {
3977
+ const eventConfig = {
3978
+ bubbles: true,
3979
+ cancelable: false,
3980
+ composed: true
3981
+ };
3982
+
3983
+ if (detail !== null) {
3984
+ eventConfig.detail = detail;
3985
+ }
3986
+
3987
+ element.dispatchEvent(new CustomEvent(eventName, eventConfig));
3988
+ }
3989
+
3990
+ // Copyright (c) 2021 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
3991
+ // See LICENSE in the project root for license information.
3992
+
3993
+
3994
+
3995
+ // See https://git.io/JJ6SJ for "How to document your components using JSDoc"
3996
+ /**
3997
+ * The auro-menu element provides users a way to select from a list of options.
3998
+ * @attr {Array<HTMLElement>|undefined} optionselected - An array of currently selected menu options. In single-select mode, the array will contain only one HTMLElement. `undefined` when no options are selected.
3999
+ * @attr {object} optionactive - Specifies the current active menuOption.
4000
+ * @attr {string} matchword - Specifies a string used to highlight matched string parts in options.
4001
+ * @attr {boolean} disabled - When true, the entire menu and all options are disabled;
4002
+ * @attr {boolean} nocheckmark - When true, selected option will not show the checkmark.
4003
+ * @attr {boolean} loading - When true, displays a loading state using the loadingIcon and loadingText slots if provided.
4004
+ * @attr {boolean} multiselect - When true, the selected option can be multiple options.
4005
+ * @attr {Array<string>|undefined} value - Value selected for the menu. `undefined` when no selection has been made, otherwise an array of strings. In single-select mode, the array will contain only one value.
4006
+ * @prop {boolean} hasLoadingPlaceholder - Indicates whether the menu has a loadingIcon or loadingText to render when in a loading state.
4007
+ * @event {CustomEvent<Element>} auroMenu-activatedOption - Notifies that a menuoption has been made `active`.
4008
+ * @event {CustomEvent<any>} auroMenu-customEventFired - Notifies that a custom event has been fired.
4009
+ * @event {CustomEvent<{ loading: boolean; hasLoadingPlaceholder: boolean; }>} auroMenu-loadingChange - Notifies when the loading attribute is changed.
4010
+ * @event {CustomEvent<any>} auroMenu-selectValueFailure - Notifies that an attempt to select a menuoption by matching a value has failed.
4011
+ * @event {CustomEvent<any>} auroMenu-selectValueReset - Notifies that the component value has been reset.
4012
+ * @event {CustomEvent<any>} auroMenu-selectedOption - Notifies that a new menuoption selection has been made.
4013
+ * @slot loadingText - Text to show while loading attribute is set
4014
+ * @slot loadingIcon - Icon to show while loading attribute is set
4015
+ * @slot - Slot for insertion of menu options.
4016
+ */
4017
+
4018
+ /* eslint-disable no-magic-numbers, max-lines */
4019
+
4020
+ class AuroMenu extends r {
4021
+ constructor() {
4022
+ super();
4023
+
4024
+ // State properties (reactive)
4025
+
4026
+ // Value of the selected options
4027
+ this.value = undefined;
4028
+ // Currently selected option
4029
+ this.optionSelected = undefined;
4030
+ // String used for highlighting/filtering
4031
+ this.matchWord = undefined;
4032
+ // Hide the checkmark icon on selected options
4033
+ this.noCheckmark = false;
4034
+ // Currently active option
4035
+ this.optionActive = undefined;
4036
+ // Loading state
4037
+ this.loading = false;
4038
+ // Multi-select mode
4039
+ this.multiSelect = false;
4040
+
4041
+ // Event Bindings
4042
+
4043
+ /**
4044
+ * @private
4045
+ */
4046
+ this.handleKeyDown = this.handleKeyDown.bind(this);
4047
+
4048
+ /**
4049
+ * @private
4050
+ */
4051
+ this.handleMouseSelect = this.handleMouseSelect.bind(this);
4052
+
4053
+ /**
4054
+ * @private
4055
+ */
4056
+ this.handleOptionHover = this.handleOptionHover.bind(this);
4057
+
4058
+ /**
4059
+ * @private
4060
+ */
4061
+ this.handleSlotChange = this.handleSlotChange.bind(this);
4062
+
4063
+ // Instance properties (non-reactive)
4064
+
4065
+ /**
4066
+ * @private
4067
+ */
4068
+ Object.assign(this, {
4069
+ // Root-level menu (true) or a nested submenu (false)
4070
+ rootMenu: true,
4071
+ // Currently focused/active menu item index
4072
+ index: -1,
4073
+ // Nested menu spacer
4074
+ nestingSpacer: '<span class="nestingSpacer"></span>',
4075
+ // Loading indicator for slot elements
4076
+ loadingSlots: null,
4077
+ // Store for menu items
4078
+ items: [],
4079
+ });
4080
+ }
4081
+
4082
+ static get properties() {
4083
+ return {
4084
+ noCheckmark: {
4085
+ type: Boolean,
4086
+ reflect: true,
4087
+ attribute: 'nocheckmark'
4088
+ },
4089
+ disabled: {
4090
+ type: Boolean,
4091
+ reflect: true
4092
+ },
4093
+ loading: {
4094
+ type: Boolean,
4095
+ reflect: true
4096
+ },
4097
+ optionSelected: {
4098
+ // Allow HTMLElement[] arrays and undefined
4099
+ converter: arrayConverter,
4100
+ hasChanged: arrayOrUndefinedHasChanged
4101
+ },
4102
+ optionActive: {
4103
+ type: Object,
4104
+ attribute: 'optionactive'
4105
+ },
4106
+ matchWord: {
4107
+ type: String,
4108
+ attribute: 'matchword'
4109
+ },
4110
+ multiSelect: {
4111
+ type: Boolean,
4112
+ reflect: true,
4113
+ attribute: 'multiselect'
4114
+ },
4115
+ value: {
4116
+ // Allow string[] arrays and undefined
4117
+ type: Object,
4118
+ converter: arrayConverter,
4119
+ hasChanged: arrayOrUndefinedHasChanged
4120
+ }
4121
+ };
4122
+ }
4123
+
4124
+ static get styles() {
4125
+ return [
4126
+ styleCss$2,
4127
+ colorCss$2,
4128
+ tokensCss$1
4129
+ ];
4130
+ }
4131
+
4132
+ /**
4133
+ * This will register this element with the browser.
4134
+ * @param {string} [name="auro-menu"] - The name of element that you want to register to.
4135
+ *
4136
+ * @example
4137
+ * AuroMenu.register("custom-menu") // this will register this element to <custom-menu/>
4138
+ *
4139
+ */
4140
+ static register(name = "auro-menu") {
4141
+ AuroLibraryRuntimeUtils.prototype.registerComponent(name, AuroMenu);
4142
+ }
4143
+
4144
+ // Lifecycle Methods
4145
+
4146
+ connectedCallback() {
4147
+ super.connectedCallback();
4148
+
4149
+ this.addEventListener('keydown', this.handleKeyDown);
4150
+ this.addEventListener('mousedown', this.handleMouseSelect);
4151
+ this.addEventListener('auroMenuOption-mouseover', this.handleOptionHover);
4152
+ this.addEventListener('slotchange', this.handleSlotChange);
4153
+ }
4154
+
4155
+ disconnectedCallback() {
4156
+ this.removeEventListener('keydown', this.handleKeyDown);
4157
+ this.removeEventListener('mousedown', this.handleMouseSelect);
4158
+ this.removeEventListener('auroMenuOption-mouseover', this.handleOptionHover);
4159
+ this.removeEventListener('slotchange', this.handleSlotChange);
4160
+
4161
+ super.disconnectedCallback();
4162
+ }
4163
+
4164
+ firstUpdated() {
4165
+ AuroLibraryRuntimeUtils.prototype.handleComponentTagRename(this, 'auro-menu');
4166
+
4167
+ this.loadingSlots = this.querySelectorAll("[slot='loadingText'], [slot='loadingIcon']");
4168
+ this.initializeMenu();
4169
+ }
4170
+
4171
+ updated(changedProperties) {
4172
+ if (changedProperties.has('value')) {
4173
+ // Handle null/undefined case
4174
+ if (this.value === undefined || this.value === null) {
4175
+ this.optionSelected = undefined;
4176
+ // Reset index tracking
4177
+ this.index = -1;
4178
+ } else {
4179
+ // Convert single values to arrays
4180
+ const valueArray = Array.isArray(this.value) ? this.value : [this.value];
4181
+
4182
+ // Find all matching options
4183
+ const matchingOptions = this.items.filter((item) => valueArray.includes(item.value));
4184
+
4185
+ if (matchingOptions.length > 0) {
4186
+ if (this.multiSelect) {
4187
+ // For multiselect, keep all matching options
4188
+ this.optionSelected = matchingOptions;
4189
+ } else {
4190
+ // For single select, only use the first match
4191
+ this.optionSelected = [matchingOptions[0]];
4192
+ this.index = this.items.indexOf(matchingOptions[0]);
4193
+ }
4194
+ } else {
4195
+ // No matches found - trigger failure event
4196
+ dispatchMenuEvent(this, 'auroMenu-selectValueFailure');
4197
+ this.optionSelected = undefined;
4198
+ this.index = -1;
4199
+ }
4200
+ }
4201
+
4202
+ // Update UI state
4203
+ this.updateItemsState(new Map([
4204
+ [
4205
+ 'optionSelected',
4206
+ true
4207
+ ]
4208
+ ]));
4209
+
4210
+ // Notify of changes
4211
+ if (this.optionSelected !== undefined) {
4212
+ this.notifySelectionChange();
4213
+ }
4214
+ }
4215
+
4216
+ // Process all other UI updates
4217
+ this.updateItemsState(changedProperties);
4218
+ }
4219
+
4220
+ /**
4221
+ * Updates the UI state and appearance of menu items based on changed properties.
4222
+ * @private
4223
+ * @param {Map<string, boolean>} changedProperties - LitElement's changed properties map.
4224
+ */
4225
+ updateItemsState(changedProperties) {
4226
+ if (!this.items) {
4227
+ return;
4228
+ }
4229
+
4230
+ // Handle noCheckmark propagation to all menus and options
4231
+ if (changedProperties.has('noCheckmark') && this.noCheckmark) {
4232
+ // Update both menus and options
4233
+ this.querySelectorAll('auro-menu, [auro-menu], auro-menuoption, [auro-menuoption]').forEach((element) => element.setAttribute('noCheckmark', ''));
4234
+ }
4235
+
4236
+ // Regex for matchWord if needed
4237
+ let regexWord = null;
4238
+
4239
+ if (changedProperties.has('matchWord') && this.matchWord && this.matchWord.length) {
4240
+ const escapedWord = this.matchWord.replace(/[.*+?^${}()|[\]\\]/gu, '\\$&');
4241
+ regexWord = new RegExp(escapedWord, 'giu');
4242
+ }
4243
+
4244
+ // Handle direct item updates
4245
+ this.items.forEach((option) => {
4246
+ // Update selection if option or value changed
4247
+ if (changedProperties.has('optionSelected') || changedProperties.has('value')) {
4248
+ const isSelected = this.isOptionSelected(option);
4249
+ option.setAttribute('aria-selected', isSelected ? 'true' : 'false');
4250
+
4251
+ // Add/remove selected attribute based on state
4252
+ if (isSelected) {
4253
+ option.setAttribute('selected', '');
4254
+ } else {
4255
+ option.removeAttribute('selected');
4256
+ }
4257
+ }
4258
+
4259
+ // Update text highlighting if matchWord changed
4260
+ if (changedProperties.has('matchWord') && regexWord &&
4261
+ isOptionInteractive(option) && !option.hasAttribute('persistent')) {
4262
+ const nested = option.querySelectorAll('.nestingSpacer');
4263
+ // Create nested spacers
4264
+ const nestingSpacerBundle = [...nested].map(() => this.nestingSpacer).join('');
4265
+
4266
+ // Update with spacers and matchWord
4267
+ option.innerHTML = nestingSpacerBundle +
4268
+ option.textContent.replace(
4269
+ regexWord,
4270
+ (match) => `<strong>${match}</strong>`
4271
+ );
4272
+ }
4273
+
4274
+ // Update disabled state
4275
+ if (changedProperties.has('disabled')) {
4276
+ option.disabled = this.disabled;
4277
+ }
4278
+ });
4279
+
4280
+ // Handle loading state changes
4281
+ if (changedProperties.has('loading')) {
4282
+ this.setAttribute("aria-busy", this.loading);
4283
+ dispatchMenuEvent(this, "auroMenu-loadingChange", {
4284
+ loading: this.loading,
4285
+ hasLoadingPlaceholder: this.hasLoadingPlaceholder
4286
+ });
4287
+ }
4288
+ }
4289
+
4290
+ // Init Methods
4291
+
4292
+ /**
4293
+ * Initializes the menu's state and structure.
4294
+ * @private
4295
+ */
4296
+ initializeMenu() {
4297
+ this.initItems();
4298
+ if (this.rootMenu) {
4299
+ this.setAttribute('role', 'listbox');
4300
+ this.setAttribute('root', '');
4301
+ this.handleNestedMenus(this);
4302
+ }
4303
+ }
4304
+
4305
+ /**
4306
+ * Initializes menu items and their attributes.
4307
+ * @private
4308
+ */
4309
+ initItems() {
4310
+ this.items = Array.from(this.querySelectorAll('auro-menuoption, [auro-menuoption]'));
4311
+ if (this.noCheckmark) {
4312
+ this.updateItemsState(new Map([
4313
+ [
4314
+ 'noCheckmark',
4315
+ true
4316
+ ]
4317
+ ]));
4318
+ }
4319
+ }
4320
+
4321
+ // Logic Methods
4322
+
4323
+ /**
4324
+ * Updates menu state when an option is selected.
4325
+ * @private
4326
+ * @param {HTMLElement} option - The option element to select.
4327
+ */
4328
+ handleSelectState(option) {
4329
+ if (this.multiSelect) {
4330
+ const currentValue = this.value || [];
4331
+ const currentSelected = this.optionSelected || [];
4332
+
4333
+ if (!currentValue.includes(option.value)) {
4334
+ this.value = [
4335
+ ...currentValue,
4336
+ option.value
4337
+ ];
4338
+ }
4339
+ if (!currentSelected.includes(option)) {
4340
+ this.optionSelected = [
4341
+ ...currentSelected,
4342
+ option
4343
+ ];
4344
+ }
4345
+ } else {
4346
+ // Single select - use arrays with single values
4347
+ this.value = [option.value];
4348
+ this.optionSelected = [option];
4349
+ }
4350
+
4351
+ this.index = this.items.indexOf(option);
4352
+ }
4353
+
4354
+ /**
4355
+ * Deselects a menu option and updates related state.
4356
+ * @private
4357
+ * @param {HTMLElement} option - The menuoption to be deselected.
4358
+ */
4359
+ handleDeselectState(option) {
4360
+ if (this.multiSelect && Array.isArray(this.value)) {
4361
+ // Remove this option from array
4362
+ this.value = this.value.filter((val) => val !== option.value);
4363
+
4364
+ // If array is empty after removal, set back to undefined
4365
+ if (this.value.length === 0) {
4366
+ this.value = undefined;
4367
+ }
4368
+
4369
+ this.optionSelected = this.optionSelected.filter((val) => val !== option);
4370
+ if (this.optionSelected.length === 0) {
4371
+ this.optionSelected = undefined;
4372
+ }
4373
+ } else {
4374
+ // For single-select: Back to undefined when deselected
4375
+ this.value = undefined;
4376
+ this.optionSelected = undefined;
4377
+ }
4378
+
4379
+ // Update the index tracking
4380
+ this.index = this.items.indexOf(option);
4381
+
4382
+ // Update UI to reflect changes
4383
+ this.updateItemsState(new Map([
4384
+ [
4385
+ 'optionSelected',
4386
+ true
4387
+ ]
4388
+ ]));
4389
+
4390
+ // Notify of selection change
4391
+ this.notifySelectionChange();
4392
+ }
4393
+
4394
+ /**
4395
+ * Resets all options to their default state.
4396
+ * @private
4397
+ */
4398
+ clearSelection() {
4399
+ this.optionSelected = undefined;
4400
+ this.value = undefined;
4401
+ }
4402
+
4403
+ /**
4404
+ * Resets the menu to its initial state.
4405
+ * This is the only way to return value to undefined.
4406
+ * @public
4407
+ */
4408
+ reset() {
4409
+ // Reset to undefined - initial state
4410
+ this.value = undefined;
4411
+ this.optionSelected = undefined;
4412
+ this.index = -1;
4413
+
4414
+ // Reset UI state
4415
+ this.updateItemsState(new Map([
4416
+ [
4417
+ 'optionSelected',
4418
+ true
4419
+ ]
4420
+ ]));
4421
+
4422
+ // Dispatch reset event
4423
+ dispatchMenuEvent(this, 'auroMenu-selectValueReset');
4424
+ }
4425
+
4426
+ /**
4427
+ * Handles nested menu structure.
4428
+ * @private
4429
+ * @param {HTMLElement} menu - Root menu element.
4430
+ */
4431
+ handleNestedMenus(menu) {
4432
+ const nestedMenus = menu.querySelectorAll('auro-menu, [auro-menu]');
4433
+
4434
+ nestedMenus.forEach((nestedMenu) => {
4435
+ // role="listbox" only allows "role=group" for children.
4436
+ nestedMenu.setAttribute('role', 'group');
4437
+ if (!nestedMenu.hasAttribute('aria-label')) {
4438
+ nestedMenu.setAttribute('aria-label', 'submenu');
4439
+ }
4440
+
4441
+ const options = nestedMenu.querySelectorAll(':scope > auro-menuoption, :scope > [auro-menuoption]');
4442
+ options.forEach((option) => {
4443
+ option.innerHTML = this.nestingSpacer + option.innerHTML;
4444
+ });
4445
+
4446
+ this.handleNestedMenus(nestedMenu);
4447
+ });
4448
+ }
4449
+
4450
+ // Event Handlers
4451
+
4452
+ /**
4453
+ * Handles keyboard navigation.
4454
+ * @private
4455
+ * @param {KeyboardEvent} event - Event object from the browser.
4456
+ */
4457
+ handleKeyDown(event) {
4458
+ event.preventDefault();
4459
+ switch (event.key) {
4460
+ case "ArrowDown":
4461
+ this.navigateOptions('down');
4462
+ break;
4463
+ case "ArrowUp":
4464
+ this.navigateOptions('up');
4465
+ break;
4466
+ case "Enter":
4467
+ this.makeSelection();
4468
+ break;
4469
+ }
4470
+ }
4471
+
4472
+ /**
4473
+ * Makes a selection based on the current index or clicked option.
4474
+ * @private
4475
+ */
4476
+ makeSelection() {
4477
+ if (!this.items) {
4478
+ this.initItems();
4479
+ }
4480
+
4481
+ // Get currently selected menu option based on index
4482
+ const option = this.items[this.index];
4483
+
4484
+ // Return early if option is not interactive
4485
+ if (!option || !isOptionInteractive(option)) {
4486
+ return;
4487
+ }
4488
+
4489
+ // Handle custom events first
4490
+ if (option.hasAttribute('event')) {
4491
+ this.handleCustomEvent(option);
4492
+ return;
4493
+ }
4494
+
4495
+ if (this.multiSelect) {
4496
+ // In multiselect, toggle individual selections
4497
+ this.toggleOption(option);
4498
+ // In single select, only handle selection of new options
4499
+ } else if (!this.isOptionSelected(option)) {
4500
+ this.clearSelection();
4501
+ this.handleSelectState(option);
4502
+ }
4503
+
4504
+ this.notifySelectionChange();
4505
+ }
4506
+
4507
+ /**
4508
+ * Toggle the selection state of the menuoption.
4509
+ * @private
4510
+ * @param {HTMLElement} option - The menuoption to toggle.
4511
+ */
4512
+ toggleOption(option) {
4513
+ const isCurrentlySelected = this.isOptionSelected(option);
4514
+
4515
+ if (isCurrentlySelected) {
4516
+ this.handleDeselectState(option);
4517
+ } else if (option.value === undefined || option.value === '') {
4518
+ dispatchMenuEvent(this, 'auroMenu-selectValueFailure');
4519
+ } else {
4520
+ this.handleSelectState(option);
4521
+ }
4522
+ }
4523
+
4524
+ /**
4525
+ * Handles option selection via mouse.
4526
+ * @private
4527
+ * @param {MouseEvent} event - Event object from the browser.
4528
+ */
4529
+ handleMouseSelect(event) {
4530
+ if (event.target === this) {
4531
+ return;
4532
+ }
4533
+
4534
+ const option = event.target.closest('auro-menuoption, [auro-menuoption]');
4535
+ if (option) {
4536
+ this.index = this.items.indexOf(option);
4537
+ this.makeSelection();
4538
+ }
4539
+ }
4540
+
4541
+ /**
4542
+ * Handles option hover events.
4543
+ * @private
4544
+ * @param {CustomEvent} event - Event object from the browser.
4545
+ */
4546
+ handleOptionHover(event) {
4547
+ const option = event.target;
4548
+ this.index = this.items.indexOf(option);
4549
+ this.updateActiveOption(this.index);
4550
+ }
4551
+
4552
+ /**
4553
+ * Handles slot change events.
4554
+ * @private
4555
+ */
4556
+ handleSlotChange() {
4557
+ if (this.parentElement && this.parentElement.closest('auro-menu, [auro-menu]')) {
4558
+ this.rootMenu = false;
4559
+ }
4560
+
4561
+ if (this.rootMenu) {
4562
+ this.initializeMenu();
4563
+ } else if (this.noCheckmark) {
4564
+ this.updateItemsState(new Map([
4565
+ [
4566
+ 'noCheckmark',
4567
+ true
4568
+ ]
4569
+ ]));
4570
+ }
4571
+ }
4572
+
4573
+ /**
4574
+ * Navigates through options using keyboard.
4575
+ * @private
4576
+ * @param {string} direction - 'up' or 'down'.
4577
+ */
4578
+ navigateOptions(direction) {
4579
+ // Return early if no items exist
4580
+ if (!this.items || !this.items.length) {
4581
+ return;
4582
+ }
4583
+
4584
+ let newIndex = this.index;
4585
+ const increment = direction === 'down' ? 1 : -1;
4586
+ const maxIterations = this.items.length;
4587
+ let iterations = 0;
4588
+ let foundInteractiveOption = false;
4589
+
4590
+ do {
4591
+ newIndex = (newIndex + increment + this.items.length) % this.items.length;
4592
+ iterations += 1;
4593
+
4594
+ // Check if current option is interactive
4595
+ const currentOption = this.items[newIndex];
4596
+ if (isOptionInteractive(currentOption)) {
4597
+ foundInteractiveOption = true;
4598
+ break;
4599
+ }
4600
+
4601
+ // Break if all options were checked
4602
+ if (iterations >= maxIterations) {
4603
+ break;
4604
+ }
4605
+ } while (iterations < maxIterations);
4606
+
4607
+ // Handle the results of the search
4608
+ if (foundInteractiveOption) {
4609
+ // Update only if an interactive option was found
4610
+ this.index = newIndex;
4611
+ this.updateActiveOption(this.index);
4612
+ } else {
4613
+ // All options are disabled or non-interactive
4614
+ // Keep the current index unchanged
4615
+ dispatchMenuEvent(this, 'auroMenu-navigateFailure', {
4616
+ reason: 'No interactive options available',
4617
+ direction,
4618
+ currentIndex: this.index
4619
+ });
4620
+ }
4621
+ }
4622
+
4623
+ /**
4624
+ * Updates the active option state and dispatches events.
4625
+ * @private
4626
+ * @param {number} index - Index of the option to make active.
4627
+ */
4628
+ updateActiveOption(index) {
4629
+ if (!this.items || !this.items[index]) {
4630
+ return;
4631
+ }
4632
+
4633
+ this.items.forEach((item) => item.classList.remove('active'));
4634
+ this.items[index].classList.add('active');
4635
+ this.optionActive = this.items[index];
4636
+
4637
+ dispatchMenuEvent(this, 'auroMenu-activatedOption', this.items[index]);
4638
+ }
4639
+
4640
+ /**
4641
+ * Handles custom events defined on options.
4642
+ * @private
4643
+ * @param {HTMLElement} option - Option with custom event.
4644
+ */
4645
+ handleCustomEvent(option) {
4646
+ const eventName = option.getAttribute('event');
4647
+ dispatchMenuEvent(this, eventName);
4648
+ dispatchMenuEvent(this, 'auroMenu-customEventFired');
4649
+ }
4650
+
4651
+ /**
4652
+ * Notifies selection change to parent components.
4653
+ * @private
4654
+ */
4655
+ notifySelectionChange() {
4656
+ dispatchMenuEvent(this, 'auroMenu-selectedOption');
4657
+ }
4658
+
4659
+ /**
4660
+ * Checks if an option is currently selected.
4661
+ * @private
4662
+ * @param {HTMLElement} option - The option to check.
4663
+ * @returns {boolean}
4664
+ */
4665
+ isOptionSelected(option) {
4666
+ if (!this.optionSelected) {
4667
+ return false;
4668
+ }
4669
+ // Always treat as array for both single and multi-select
4670
+ return Array.isArray(this.optionSelected) && this.optionSelected.includes(option);
4671
+ }
4672
+
4673
+ /**
4674
+ * Getter for loading placeholder state.
4675
+ * @returns {boolean} - True if loading slots are present and non-empty.
4676
+ */
4677
+ get hasLoadingPlaceholder() {
4678
+ return this.loadingSlots && this.loadingSlots.length > 0;
4679
+ }
4680
+
4681
+ /**
4682
+ * Renders the component.
4683
+ * @returns {boolean} - True if loading slots are present and non-empty.
4684
+ */
4685
+ render() {
4686
+ if (this.loading) {
4687
+ return x`
4688
+ <auro-menuoption disabled loadingplaceholder class="${this.hasLoadingPlaceholder ? '' : 'empty'}">
4689
+ <div>
4690
+ <slot name="loadingIcon"></slot>
4691
+ <slot name="loadingText"></slot>
4692
+ </div>
4693
+ </auro-menuoption>
4694
+ `;
4695
+ }
4696
+
4697
+ return x`<slot @slotchange=${this.handleSlotChange}></slot>`;
4698
+ }
4699
+ }
4700
+
4701
+ /**
4702
+ * @license
4703
+ * Copyright 2020 Google LLC
4704
+ * SPDX-License-Identifier: BSD-3-Clause
4705
+ */
4706
+ const a=Symbol.for(""),o$1=t=>{if(t?.r===a)return t?._$litStatic$},s=t=>({_$litStatic$:t,r:a}),i$1=(t,...r)=>({_$litStatic$:r.reduce(((r,e,a)=>r+(t=>{if(undefined!==t._$litStatic$)return t._$litStatic$;throw Error(`Value passed to 'literal' function must be a 'literal' result: ${t}. Use 'unsafeStatic' to pass non-literal values, but\n take care to ensure page security.`)})(e)+t[a+1]),t[0]),r:a}),l=new Map,n=t=>(r,...e)=>{const a=e.length;let s,i;const n=[],u=[];let c,$=0,f=false;for(;$<a;){for(c=r[$];$<a&&undefined!==(i=e[$],s=o$1(i));)c+=s+r[++$],f=true;$!==a&&u.push(i),n.push(c),$++;}if($===a&&n.push(r[a]),f){const t=n.join("$$lit$$");undefined===(r=l.get(t))&&(n.raw=n,l.set(t,r=n)),e=u;}return t(r,...e)},u=n(x);
4707
+
4708
+ var styleCss$1 = i$5`:host{display:flex;align-items:center;padding:var(--ds-size-50, 0.25rem) var(--ds-size-200, 1rem) var(--ds-size-50, 0.25rem) 0;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent}:host slot{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}:host [auro-icon]{--ds-auro-icon-size: var(--ds-size-300, 1.5rem);margin-right:var(--ds-size-150, 0.75rem);margin-left:var(--ds-size-100, 0.5rem)}:host ::slotted(.nestingSpacer){display:inline-block;width:var(--ds-size-300, 1.5rem)}:host ::slotted(strong){font-weight:700}:host([hidden]){display:none}:host([static]){pointer-events:none}:host([disabled]:hover){cursor:auto}:host([disabled]){user-select:none;pointer-events:none}`;
4709
+
4710
+ var colorCss$1 = i$5`:host{background-color:var(--ds-auro-menuoption-container-color);color:var(--ds-auro-menuoption-text-color)}:host svg{fill:var(--ds-auro-menuoption-icon-color) !important}:host([disabled]){--ds-auro-menuoption-text-color: var(--ds-color-text-ui-disabled-default, #adadad)}:host(:hover),:host(.active){--ds-auro-menuoption-container-color: var(--ds-color-container-ui-secondary-hover-default, rgba(0, 0, 0, 0.03))}:host([selected]){--ds-auro-menuoption-container-color: var(--ds-color-container-ui-primary-default-default, #2c67b5);--ds-auro-menuoption-text-color: var(--ds-color-text-primary-inverse, #ffffff);--ds-auro-menuoption-icon-color: var(--ds-color-icon-emphasis-inverse, #ffffff)}:host([selected]):host(.active){--ds-auro-menuoption-container-color: var(--ds-color-container-ui-primary-active-default, #225296)}`;
4711
+
4712
+ // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
4713
+ // See LICENSE in the project root for license information.
4714
+
4715
+
4716
+ class AuroDependencyVersioning {
4717
+
4718
+ /**
4719
+ * Generates a unique string to be used for child auro element naming.
4720
+ * @private
4721
+ * @param {string} baseName - Defines the first part of the unique element name.
4722
+ * @param {string} version - Version of the component that will be appended to the baseName.
4723
+ * @returns {string} - Unique string to be used for naming.
4724
+ */
4725
+ generateElementName(baseName, version) {
4726
+ let result = baseName;
4727
+
4728
+ result += '-';
4729
+ result += version.replace(/[.]/g, '_');
4730
+
4731
+ return result;
4732
+ }
4733
+
4734
+ /**
4735
+ * Generates a unique string to be used for child auro element naming.
4736
+ * @param {string} baseName - Defines the first part of the unique element name.
4737
+ * @param {string} version - Version of the component that will be appended to the baseName.
4738
+ * @returns {string} - Unique string to be used for naming.
4739
+ */
4740
+ generateTag(baseName, version, tagClass) {
4741
+ const elementName = this.generateElementName(baseName, version);
4742
+ const tag = i$1`${s(elementName)}`;
4743
+
4744
+ if (!customElements.get(elementName)) {
4745
+ customElements.define(elementName, class extends tagClass {});
4746
+ }
4747
+
4748
+ return tag;
4749
+ }
4750
+ }
4751
+
4752
+ /**
4753
+ * @license
4754
+ * Copyright 2017 Google LLC
4755
+ * SPDX-License-Identifier: BSD-3-Clause
4756
+ */
4757
+ const t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e$1=t=>(...e)=>({_$litDirective$:t,values:e});class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i;}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}
4758
+
4759
+ /**
4760
+ * @license
4761
+ * Copyright 2018 Google LLC
4762
+ * SPDX-License-Identifier: BSD-3-Clause
4763
+ */const e=e$1(class extends i{constructor(t$1){if(super(t$1),t$1.type!==t.ATTRIBUTE||"class"!==t$1.name||t$1.strings?.length>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(t){return " "+Object.keys(t).filter((s=>t[s])).join(" ")+" "}update(s,[i]){if(undefined===this.st){this.st=new Set,undefined!==s.strings&&(this.nt=new Set(s.strings.join(" ").split(/\s/).filter((t=>""!==t))));for(const t in i)i[t]&&!this.nt?.has(t)&&this.st.add(t);return this.render(i)}const r=s.element.classList;for(const t of this.st)t in i||(r.remove(t),this.st.delete(t));for(const t in i){const s=!!i[t];s===this.st.has(t)||this.nt?.has(t)||(s?(r.add(t),this.st.add(t)):(r.remove(t),this.st.delete(t)));}return T}});
4764
+
4765
+ /**
4766
+ * @license
4767
+ * Copyright 2018 Google LLC
4768
+ * SPDX-License-Identifier: BSD-3-Clause
4769
+ */const o=o=>o??E;
4770
+
4771
+ // Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
4772
+ // See LICENSE in the project root for license information.
4773
+
4774
+
4775
+ /**
4776
+ * @attr {Boolean} hidden - If present, the component will be hidden both visually and from screen readers
4777
+ * @attr {Boolean} hiddenVisually - If present, the component will be hidden visually, but still read by screen readers
4778
+ * @attr {Boolean} hiddenAudible - If present, the component will be hidden from screen readers, but seen visually
4779
+ */
4780
+
4781
+ class AuroElement extends r {
4782
+
4783
+ // function to define props used within the scope of this component
4784
+ static get properties() {
4785
+ return {
4786
+ hidden: { type: Boolean,
4787
+ reflect: true },
4788
+ hiddenVisually: { type: Boolean,
4789
+ reflect: true },
4790
+ hiddenAudible: { type: Boolean,
4791
+ reflect: true },
4792
+ };
4793
+ }
4794
+
4795
+ /**
4796
+ * @private Function that determines state of aria-hidden
4797
+ */
4798
+ hideAudible(value) {
4799
+ if (value) {
4800
+ return 'true'
4801
+ }
4802
+
4803
+ return 'false'
4804
+ }
4805
+ }
4806
+
4807
+ var error = {"role":"img","color":"currentColor","title":"","desc":"Error alert indicator.","width":"var(--auro-size-lg, var(--ds-size-300, 1.5rem))","height":"var(--auro-size-lg, var(--ds-size-300, 1.5rem))","xmlns":"http://www.w3.org/2000/svg","xmlns_xlink":"http://www.w3.org/1999/xlink","viewBox":"0 0 24 24","path":"/icons","style":"ico_squareLarge","type":"icon","name":"error","category":"alert","deprecated":true,"svg":"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" aria-labelledby=\"error__desc\" class=\"ico_squareLarge\" data-deprecated=\"true\" role=\"img\" style=\"min-width:var(--auro-size-lg, var(--ds-size-300, 1.5rem));height:var(--auro-size-lg, var(--ds-size-300, 1.5rem));fill:currentColor\" viewBox=\"0 0 24 24\" part=\"svg\"><title/><desc id=\"error__desc\">Error alert indicator.</desc><path d=\"m13.047 5.599 6.786 11.586A1.207 1.207 0 0 1 18.786 19H5.214a1.207 1.207 0 0 1-1.047-1.815l6.786-11.586a1.214 1.214 0 0 1 2.094 0m-1.165.87a.23.23 0 0 0-.085.085L5.419 17.442a.232.232 0 0 0 .203.35h12.756a.234.234 0 0 0 .203-.35L12.203 6.554a.236.236 0 0 0-.321-.084M12 15.5a.75.75 0 1 1 0 1.5.75.75 0 0 1 0-1.5m-.024-6.22c.325 0 .589.261.589.583v4.434a.586.586 0 0 1-.589.583.586.586 0 0 1-.588-.583V9.863c0-.322.264-.583.588-.583\"/></svg>"};
4808
+
4809
+ /* eslint-disable no-underscore-dangle, jsdoc/no-undefined-types, jsdoc/require-param-description */
4810
+
4811
+ const _fetchMap = new Map();
4812
+
4813
+ /**
4814
+ * A callback to parse Response body.
4815
+ *
4816
+ * @callback ResponseParser
4817
+ * @param {Fetch.Response} response
4818
+ * @returns {Promise}
4819
+ */
4820
+
4821
+ /**
4822
+ * A minimal in-memory map to de-duplicate Fetch API media requests.
4823
+ *
4824
+ * @param {String} uri
4825
+ * @param {Object} [options={}]
4826
+ * @param {ResponseParser} [options.responseParser=(response) => response.text()]
4827
+ * @returns {Promise}
4828
+ */
4829
+ const cacheFetch = (uri, options = {}) => {
4830
+ const responseParser = options.responseParser || ((response) => response.text());
4831
+ if (!_fetchMap.has(uri)) {
4832
+ _fetchMap.set(uri, fetch(uri).then(responseParser));
4833
+ }
4834
+ return _fetchMap.get(uri);
4835
+ };
4836
+
4837
+ var styleCss$3 = i$5`*,*:before,*:after{box-sizing:border-box}@media(prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}}*:focus-visible{outline:0}*:focus-visible{outline:0}:focus:not(:focus-visible){outline:3px solid transparent}.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock,:host{display:block}.util_displayFlex{display:flex}.util_displayHidden,:host([hidden]:not(:focus):not(:active)){display:none}.util_displayHiddenVisually,:host([hiddenVisually]:not(:focus):not(:active)){position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}.ico_squareLarge{fill:currentColor;height:var(--auro-size-lg, var(--ds-size-300, 1.5rem))}.ico_squareSmall{fill:currentColor;height:.6rem}.ico_squareMed{fill:currentColor;height:var(--auro-size-md, var(--ds-size-200, 1rem))}.ico_squareSml{fill:currentColor;height:var(--auro-size-sm, var(--ds-size-150, 0.75rem))}:host{color:currentColor;vertical-align:middle;line-height:1;display:inline-block}:host .logo{color:var(--ds-color-brand-midnight-400, #01426a)}svg{min-width:var(--ds-auro-icon-size, 1.5rem) !important;width:var(--ds-auro-icon-size, 1.5rem) !important;height:var(--ds-auro-icon-size, 1.5rem) !important}.label{display:flex;align-items:flex-start}.label svg{margin:0 var(--ds-size-50, 0.25rem)}.wrapper{height:var(--ds-auro-icon-size);width:var(--ds-auro-icon-size)}.labelContainer{line-height:1.8}`;
4838
+
4839
+ // Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
4840
+ // See LICENSE in the project root for license information.
4841
+
4842
+
4843
+ // See https://git.io/JJ6SJ for "How to document your components using JSDoc"
4844
+ /**
4845
+ * @attr {Boolean} onDark - Set value for on-dark version of auro-icon
4846
+ * @slot - Hidden from visibility, used for a11y if icon description is needed
4847
+ */
4848
+
4849
+ // build the component class
4850
+ class BaseIcon extends AuroElement {
4851
+ constructor() {
4852
+ super();
4853
+ this.onDark = false;
4854
+ }
4855
+
4856
+ // function to define props used within the scope of this component
4857
+ static get properties() {
4858
+ return {
4859
+ ...super.properties,
4860
+ onDark: {
4861
+ type: Boolean,
4862
+ reflect: true
4863
+ },
4864
+
4865
+ /**
4866
+ * @private
4867
+ */
4868
+ svg: {
4869
+ attribute: false,
4870
+ reflect: true
4871
+ }
4872
+ };
4873
+ }
4874
+
4875
+ static get styles() {
4876
+ return i$5`
4877
+ ${styleCss$3}
4878
+ `;
4879
+ }
4880
+
4881
+ /**
4882
+ * Async function to fetch requested icon from npm CDN.
4883
+ * @private
4884
+ * @param {string} category - Icon category.
4885
+ * @param {string} name - Icon name.
4886
+ * @returns {SVGElement} DOM - Ready HTML to be appended.
4887
+ */
4888
+ async fetchIcon(category, name) {
4889
+ let iconHTML = '';
4890
+
4891
+ if (category === 'logos') {
4892
+ iconHTML = await cacheFetch(`${this.uri}/${category}/${name}.svg`);
4893
+ } else {
4894
+ iconHTML = await cacheFetch(`${this.uri}/icons/${category}/${name}.svg`);
4895
+ }
4896
+
4897
+ const dom = new DOMParser().parseFromString(iconHTML, 'text/html');
4898
+
4899
+ return dom.body.querySelector('svg');
4900
+ }
4901
+
4902
+ // lifecycle function
4903
+ async firstUpdated() {
4904
+ if (!this.customSvg) {
4905
+ const svg = await this.fetchIcon(this.category, this.name);
4906
+
4907
+ if (svg) {
4908
+ this.svg = svg;
4909
+ } else if (!svg) {
4910
+ const penDOM = new DOMParser().parseFromString(error.svg, 'text/html');
4911
+
4912
+ this.svg = penDOM.body.firstChild;
4913
+ }
4914
+ }
4915
+ }
4916
+ }
4917
+
4918
+ var tokensCss$2 = i$5`:host{--ds-auro-icon-color: var(--ds-color-icon-primary-default, $ds-color-icon-primary-default);--ds-auro-icon-size: var(--ds-size-300, $ds-size-300)}`;
4919
+
4920
+ var colorCss$3 = i$5`:host{color:var(--ds-auro-icon-color)}:host([customColor]){color:inherit}:host(:not([onDark])[accent]){--ds-auro-icon-color: var(--ds-color-icon-accent-default, #a2c270)}:host(:not([onDark])[disabled]){--ds-auro-icon-color: var(--ds-color-icon-ui-primary-disabled-default, #adadad)}:host(:not([onDark])[emphasis]){--ds-auro-icon-color: var(--ds-color-icon-emphasis-default, #2a2a2a)}:host(:not([onDark])[error]){--ds-auro-icon-color: var(--ds-color-icon-error-default, #cc1816)}:host(:not([onDark])[info]){--ds-auro-icon-color: var(--ds-color-icon-info-default, #326aa5)}:host(:not([onDark])[secondary]){--ds-auro-icon-color: var(--ds-color-icon-secondary-default, #7e8894)}:host(:not([onDark])[subtle]){--ds-auro-icon-color: var(--ds-color-icon-subtle-default, #a0c9f1)}:host(:not([onDark])[success]){--ds-auro-icon-color: var(--ds-color-icon-success-default, #40a080)}:host(:not([onDark])[tertiary]){--ds-auro-icon-color: var(--ds-color-icon-tertiary-default, #afb9c6)}:host(:not([onDark])[warning]){--ds-auro-icon-color: var(--ds-color-icon-warning-default, #c49432)}:host([onDark]){--ds-auro-icon-color: var(--ds-color-icon-primary-inverse, #f7f7f7)}:host([onDark][accent]){--ds-auro-icon-color: var(--ds-color-icon-accent-inverse, #badd81)}:host([onDark][disabled]){--ds-auro-icon-color: var(--ds-color-icon-ui-primary-disabled-inverse, #7e7e7e)}:host([onDark][emphasis]){--ds-auro-icon-color: var(--ds-color-icon-emphasis-inverse, #ffffff)}:host([onDark][error]){--ds-auro-icon-color: var(--ds-color-icon-error-inverse, #f9aca6)}:host([onDark][info]){--ds-auro-icon-color: var(--ds-color-icon-info-inverse, #89b2d4)}:host([onDark][secondary]){--ds-auro-icon-color: var(--ds-color-icon-secondary-inverse, #ccd2db)}:host([onDark][subtle]){--ds-auro-icon-color: var(--ds-color-icon-subtle-inverse, #326aa5)}:host([onDark][success]){--ds-auro-icon-color: var(--ds-color-icon-success-inverse, #8eceb9)}:host([onDark][tertiary]){--ds-auro-icon-color: var(--ds-color-icon-tertiary-inverse, #939fad)}:host([onDark][warning]){--ds-auro-icon-color: var(--ds-color-icon-warning-inverse, #f2c153)}`;
4921
+
4922
+ // Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
4923
+ // See LICENSE in the project root for license information.
4924
+
4925
+
4926
+ // See https://git.io/JJ6SJ for "How to document your components using JSDoc"
4927
+ /**
4928
+ * auro-icon provides users a way to use the Auro Icons by simply passing in the category and name.
4929
+ *
4930
+ * @attr {String} category - The category of the icon you are looking for. See https://auro.alaskaair.com/icons/usage.
4931
+ * @attr {String} name - The name of the icon you are looking for without the file extension. See https://auro.alaskaair.com/icons/usage
4932
+ * @attr {Boolean} customColor - Removes primary selector.
4933
+ * @attr {Boolean} customSvg - When true, auro-icon will render a custom SVG inside the default slot.
4934
+ * @attr {Boolean} label - Exposes content in slot as icon label.
4935
+ * @attr {Boolean} primary - DEPRECATED: Sets the icon to use the baseline primary icon style.
4936
+ * @attr {Boolean} accent - Sets the icon to use the accent style.
4937
+ * @attr {Boolean} emphasis - Sets the icon to use the emphasis style.
4938
+ * @attr {Boolean} disabled - Sets the icon to use the disabled style.
4939
+ * @attr {Boolean} error - Sets the icon to use the error style.
4940
+ * @attr {Boolean} info - Sets the icon to use the info style.
4941
+ * @attr {Boolean} secondary - Sets the icon to use the secondary style.
4942
+ * @attr {Boolean} tertiary - Sets the icon to use the tertiary style.
4943
+ * @attr {Boolean} subtle - Sets the icon to use the subtle style.
4944
+ * @attr {Boolean} success - Sets the icon to use the success style.
4945
+ * @attr {Boolean} warning - Sets the icon to use the warning style.
4946
+ * @attr {String} ariaHidden - Set aria-hidden value. Default is `true`. Option is `false`.
4947
+ * @attr {String} uri - Set the uri for CDN used when fetching icons
4948
+ * @slot - Hidden from visibility, used for a11y if icon description is needed.
4949
+ * @slot svg - Used for custom SVG content.
4950
+ */
4951
+
4952
+ // build the component class
4953
+ class AuroIcon extends BaseIcon {
4954
+ constructor() {
4955
+ super();
4956
+
4957
+ this.uri = 'https://cdn.jsdelivr.net/npm/@alaskaairux/icons@latest/dist';
4958
+
4959
+ this.privateDefaults();
4960
+ }
4961
+
4962
+ /**
4963
+ * Internal Defaults.
4964
+ * @private
4965
+ * @returns {void}
4966
+ */
4967
+ privateDefaults() {
4968
+ this.accent = false;
4969
+ this.customColor = false;
4970
+ this.customSvg = false;
4971
+ this.disabled = false;
4972
+ this.emphasis = false;
4973
+ this.error = false;
4974
+ this.info = false;
4975
+ this.label = false;
4976
+ this.primary = false;
4977
+ this.secondary = false;
4978
+ this.subtle = false;
4979
+ this.success = false;
4980
+ this.tertiary = false;
4981
+ this.warning = false;
4982
+ this.runtimeUtils = new AuroLibraryRuntimeUtils();
4983
+ }
4984
+
4985
+ // function to define props used within the scope of this component
4986
+ static get properties() {
4987
+ return {
4988
+ ...super.properties,
4989
+ accent: {
4990
+ type: Boolean,
4991
+ reflect: true
4992
+ },
4993
+ ariaHidden: {
4994
+ type: String,
4995
+ reflect: true
4996
+ },
4997
+ category: {
4998
+ type: String,
4999
+ reflect: true
5000
+ },
5001
+ customColor: {
5002
+ type: Boolean
5003
+ },
5004
+ customSvg: {
5005
+ type: Boolean
5006
+ },
5007
+ disabled: {
5008
+ type: Boolean,
5009
+ reflect: true
5010
+ },
5011
+ emphasis: {
5012
+ type: Boolean,
5013
+ reflect: true
5014
+ },
5015
+ error: {
5016
+ type: Boolean,
5017
+ reflect: true
5018
+ },
5019
+ info: {
5020
+ type: Boolean,
5021
+ reflect: true
5022
+ },
5023
+ label: {
5024
+ type: Boolean,
5025
+ reflect: true
5026
+ },
5027
+ name: {
5028
+ type: String,
5029
+ reflect: true
5030
+ },
5031
+ primary: {
5032
+ type: Boolean,
5033
+ reflect: true
5034
+ },
5035
+ secondary: {
5036
+ type: Boolean,
5037
+ reflect: true
5038
+ },
5039
+ subtle: {
5040
+ type: Boolean,
5041
+ reflect: true
5042
+ },
5043
+ success: {
5044
+ type: Boolean,
5045
+ reflect: true
5046
+ },
5047
+ tertiary: {
5048
+ type: Boolean,
5049
+ reflect: true
5050
+ },
5051
+ uri: {
5052
+ type: String
5053
+ },
5054
+ warning: {
5055
+ type: Boolean,
5056
+ reflect: true
5057
+ }
5058
+ };
5059
+ }
5060
+
5061
+ static get styles() {
5062
+ return [
5063
+ super.styles,
5064
+ i$5`${tokensCss$2}`,
5065
+ i$5`${styleCss$3}`,
5066
+ i$5`${colorCss$3}`
5067
+ ];
5068
+ }
5069
+
5070
+ /**
5071
+ * This will register this element with the browser.
5072
+ * @param {string} [name="auro-icon"] - The name of element that you want to register to.
5073
+ *
5074
+ * @example
5075
+ * AuroIcon.register("custom-icon") // this will register this element to <custom-icon/>
5076
+ *
5077
+ */
5078
+ static register(name = "auro-icon") {
5079
+ AuroLibraryRuntimeUtils.prototype.registerComponent(name, AuroIcon);
5080
+ }
5081
+
5082
+ connectedCallback() {
5083
+ super.connectedCallback();
5084
+
5085
+ // Add the tag name as an attribute if it is different than the component name
5086
+ this.runtimeUtils.handleComponentTagRename(this, 'auro-icon');
5087
+ }
5088
+
5089
+ /**
5090
+ * @returns {void} Exposes CSS parts for styling from parent components.
5091
+ */
5092
+ exposeCssParts() {
5093
+ this.setAttribute('exportparts', 'svg:iconSvg');
5094
+ }
5095
+
5096
+ // function that renders the HTML and CSS into the scope of the component
5097
+ render() {
5098
+ const a11y = {
5099
+ 'labelContainer': true,
5100
+ 'util_displayHiddenVisually': !this.label
5101
+ };
5102
+
5103
+ const classes = {
5104
+ 'label': this.label,
5105
+ 'wrapper': true,
5106
+ };
5107
+
5108
+ return x`
5109
+ <div
5110
+ class="${e(classes)}"
5111
+ title="${o(this.title || undefined)}">
5112
+ <span aria-hidden="${o(this.ariaHidden ? this.ariaHidden : true)}" part="svg">
5113
+ ${this.customSvg ? x`
5114
+ <slot name="svg"></slot>
5115
+ ` : x`
5116
+ ${this.svg}
5117
+ `
5118
+ }
5119
+ </span>
5120
+
5121
+ <div class="${e(a11y)}">
5122
+ <slot></slot>
5123
+ </div>
5124
+ </div>
5125
+ `;
5126
+ }
5127
+ }
5128
+
5129
+ var iconVersion = '6.1.2';
5130
+
5131
+ var checkmarkIcon = {"role":"img","color":"currentColor","title":"","desc":"a small check mark.","width":"var(--auro-size-lg, var(--ds-size-300, 1.5rem))","height":"var(--auro-size-lg, var(--ds-size-300, 1.5rem))","xmlns":"http://www.w3.org/2000/svg","xmlns_xlink":"http://www.w3.org/1999/xlink","viewBox":"0 0 24 24","path":"/icons","style":"ico_squareLarge","type":"icon","name":"checkmark-sm","category":"interface","svg":"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" aria-labelledby=\"checkmark-sm__desc\" class=\"ico_squareLarge\" role=\"img\" style=\"min-width:var(--auro-size-lg, var(--ds-size-300, 1.5rem));height:var(--auro-size-lg, var(--ds-size-300, 1.5rem));fill:currentColor\" viewBox=\"0 0 24 24\" part=\"svg\"><title/><desc id=\"checkmark-sm__desc\">a small check mark.</desc><path d=\"M8.461 11.84a.625.625 0 1 0-.922.844l2.504 2.738c.247.27.674.27.922 0l5.496-6a.625.625 0 1 0-.922-.844l-5.035 5.496z\"/></svg>"};
5132
+
5133
+ // Copyright (c) 2021 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
5134
+ // See LICENSE in the project root for license information.
5135
+
5136
+
5137
+ /**
5138
+ * The auro-menu element provides users a way to define a menu option.
5139
+ *
5140
+ * @attr {String} value - Specifies the value to be sent to a server.
5141
+ * @attr {String} noCheckmark - When true, selected option will not show the checkmark.
5142
+ * @attr {Boolean} disabled - When true specifies that the menuoption is disabled.
5143
+ * @attr {Boolean} selected - Specifies that an option is selected.
5144
+ * @event auroMenuOption-mouseover - Notifies that this option has been hovered over.
5145
+ * @slot - Specifies text for an option, but is not the value.
5146
+ */
5147
+ class AuroMenuOption extends r {
5148
+ constructor() {
5149
+ super();
5150
+
5151
+ /**
5152
+ * Generate unique names for dependency components.
5153
+ */
5154
+ const versioning = new AuroDependencyVersioning();
5155
+ this.iconTag = versioning.generateTag('auro-icon', iconVersion, AuroIcon);
5156
+
5157
+ this.selected = false;
5158
+ this.nocheckmark = false;
5159
+ this.disabled = false;
3116
5160
 
3117
- /**
3118
- * 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.
3119
- */
3120
- mobileFullscreenBreakpoint: {
3121
- type: String,
3122
- reflect: true
3123
- },
5161
+ /**
5162
+ * @private
5163
+ */
5164
+ this.tabIndex = -1;
3124
5165
 
3125
- /**
3126
- * If declared, the popover and trigger will be set to the same width.
3127
- */
3128
- matchWidth: {
5166
+ /**
5167
+ * @private
5168
+ */
5169
+ this.runtimeUtils = new AuroLibraryRuntimeUtils();
5170
+ }
5171
+
5172
+ static get properties() {
5173
+ return {
5174
+ nocheckmark: {
3129
5175
  type: Boolean,
3130
5176
  reflect: true
3131
5177
  },
3132
-
3133
- /**
3134
- * If declared, the dropdown will not hide when moving focus outside the element.
3135
- */
3136
- noHideOnThisFocusLoss: {
5178
+ selected: {
3137
5179
  type: Boolean,
3138
5180
  reflect: true
3139
5181
  },
3140
-
3141
- /**
3142
- * If declared, the trigger will only show the dropdown bib.
3143
- */
3144
- noToggle: {
5182
+ disabled: {
3145
5183
  type: Boolean,
3146
5184
  reflect: true
3147
5185
  },
3148
-
3149
- onSlotChange: {
3150
- type: Function,
3151
- reflect: false
3152
- },
3153
-
3154
- /**
3155
- * @private
3156
- */
3157
- placement: {
5186
+ value: {
3158
5187
  type: String
3159
5188
  },
3160
-
3161
- /**
3162
- * If declared, will apply border-radius to trigger and default slots.
3163
- */
3164
- rounded: {
3165
- type: Boolean,
3166
- reflect: true
3167
- },
3168
-
3169
- /**
3170
- * @private
3171
- */
3172
5189
  tabIndex: {
3173
- type: Number
5190
+ type: Number,
5191
+ reflect: true
3174
5192
  }
3175
5193
  };
3176
5194
  }
3177
5195
 
3178
5196
  static get styles() {
3179
5197
  return [
3180
- colorCss$1,
3181
5198
  styleCss$1,
3182
- tokensCss$2
5199
+ colorCss$1,
5200
+ tokensCss$1
3183
5201
  ];
3184
5202
  }
3185
5203
 
3186
5204
  /**
3187
5205
  * This will register this element with the browser.
3188
- * @param {string} [name="auro-dropdown"] - The name of element that you want to register to.
5206
+ * @param {string} [name="auro-menuoption"] - The name of element that you want to register to.
3189
5207
  *
3190
5208
  * @example
3191
- * AuroDropdown.register("custom-dropdown") // this will register this element to <custom-dropdown/>
5209
+ * AuroMenuOption.register("custom-menuoption") // this will register this element to <custom-menuoption/>
3192
5210
  *
3193
5211
  */
3194
- static register(name = "auro-dropdown") {
3195
- AuroLibraryRuntimeUtils.prototype.registerComponent(name, AuroDropdown);
3196
- }
3197
-
3198
- connectedCallback() {
3199
- super.connectedCallback();
3200
- }
3201
-
3202
- disconnectedCallback() {
3203
- super.disconnectedCallback();
3204
- }
3205
-
3206
- updated(changedProperties) {
3207
- this.floater.handleUpdate(changedProperties);
3208
-
3209
- if (changedProperties.has('mobileFullscreenBreakpoint')) {
3210
- this.bibContent.mobileFullscreenBreakpoint = this.mobileFullscreenBreakpoint;
3211
- }
3212
-
3213
- // when trigger's content is changed without any attribute or node change,
3214
- // `requestUpdate` needs to be called to update hasTriggerContnet
3215
- if (changedProperties.size === 0 || changedProperties.has('isPopoverVisible')) {
3216
- this.handleTriggerContentSlotChange();
3217
- }
5212
+ static register(name = "auro-menuoption") {
5213
+ AuroLibraryRuntimeUtils.prototype.registerComponent(name, AuroMenuOption);
3218
5214
  }
3219
5215
 
3220
5216
  firstUpdated() {
3221
- this.floater.configure(this, 'auroDropdown');
3222
- this.bibContent = this.floater.element.bib;
3223
-
3224
5217
  // Add the tag name as an attribute if it is different than the component name
3225
- this.runtimeUtils.handleComponentTagRename(this, 'auro-dropdown');
3226
- }
3227
-
3228
- /**
3229
- * Exposes CSS parts for styling from parent components.
3230
- * @private
3231
- * @returns {void}
3232
- */
3233
- exposeCssParts() {
3234
- this.setAttribute('exportparts', 'trigger:dropdownTrigger, chevron:dropdownChevron, helpText:dropdownHelpText, size:dropdownSize');
3235
- }
3236
-
3237
- /**
3238
- * Determines if content is within a custom slot.
3239
- * @private
3240
- * @param {HTMLElement} element - The element to check.
3241
- * @returns {Boolean}
3242
- */
3243
- isCustomSlotContent(element) {
3244
- let currentElement = element;
3245
-
3246
- let inCustomSlot = false;
3247
-
3248
- while (currentElement) {
3249
- currentElement = currentElement.parentElement;
5218
+ this.runtimeUtils.handleComponentTagRename(this, 'auro-menuoption');
3250
5219
 
3251
- if (currentElement && currentElement.hasAttribute('slot')) {
3252
- inCustomSlot = true;
3253
- break;
3254
- }
3255
- }
5220
+ this.setAttribute('role', 'option');
5221
+ this.setAttribute('aria-selected', 'false');
3256
5222
 
3257
- return inCustomSlot;
5223
+ this.addEventListener('mouseover', () => {
5224
+ this.dispatchEvent(new CustomEvent('auroMenuOption-mouseover', {
5225
+ bubbles: true,
5226
+ cancelable: false,
5227
+ composed: true,
5228
+ detail: this
5229
+ }));
5230
+ });
3258
5231
  }
3259
5232
 
3260
- /**
3261
- * Handles changes to the trigger content slot and updates related properties.
3262
- *
3263
- * It first updates the floater settings
3264
- * Then, it retrieves the assigned nodes from the event target and checks if any of
3265
- * the nodes contain non-empty text content, updating the `hasTriggerContent` property accordingly.
3266
- *
3267
- * @private
3268
- * @method handleTriggerContentSlotChange
3269
- * @param {Event} event - native slotchange event
3270
- * @returns {void}
3271
- */
3272
- handleTriggerContentSlotChange(event) {
3273
- this.floater.handleTriggerTabIndex();
3274
-
3275
- if (event) {
3276
- this.triggerNode = event.target;
3277
- this.triggerContentSlot = event.target.assignedNodes();
3278
- }
3279
-
3280
- if (this.triggerContentSlot) {
3281
- this.hasTriggerContent = this.triggerContentSlot.some((slot) => {
3282
- if (slot.textContent.trim()) {
3283
- return true;
3284
- }
3285
- const slotInSlot = slot.querySelector('slot');
3286
- if (!slotInSlot) {
3287
- return false;
3288
- }
3289
- const slotsInSlotNodes = slotInSlot.assignedNodes();
3290
- return slotsInSlotNodes.some((ss) => Boolean(ss.textContent.trim()));
3291
- });
3292
- } else {
3293
- this.hasTriggerContent = false;
5233
+ // observer for selected property changes
5234
+ updated(changedProperties) {
5235
+ if (changedProperties.has('selected')) {
5236
+ this.setAttribute('aria-selected', this.selected.toString());
3294
5237
  }
3295
5238
  }
3296
5239
 
3297
5240
  /**
3298
- * Handles the default slot change event and updates the content.
3299
- *
3300
- * This method retrieves all nodes assigned to the default slot of the event target and appends them
3301
- * to the `bibContent` element. If a callback function `onSlotChange` is defined, it is invoked to
3302
- * notify about the slot change.
5241
+ * Generates an HTML element containing an SVG icon based on the provided `svgContent`.
3303
5242
  *
3304
5243
  * @private
3305
- * @method handleDefaultSlot
3306
- * @param {Event} event - The event object representing the slot change.
3307
- * @fires Function#onSlotChange - Optional callback invoked when the slot content changes.
5244
+ * @param {string} svgContent - The SVG content to be embedded.
5245
+ * @returns {Element} The HTML element containing the SVG icon.
3308
5246
  */
3309
- handleDefaultSlot(event) {
3310
- [...event.target.assignedNodes()].forEach((node) => this.bibContent.append(node));
5247
+ generateIconHtml(svgContent) {
5248
+ const dom = new DOMParser().parseFromString(svgContent, 'text/html');
5249
+ const svg = dom.body.firstChild;
3311
5250
 
3312
- if (this.onSlotChange) {
3313
- this.onSlotChange();
3314
- }
5251
+ svg.setAttribute('slot', 'svg');
5252
+
5253
+ return u`<${this.iconTag} customColor customSvg slot="icon">${svg}</${this.iconTag}>`;
3315
5254
  }
3316
5255
 
3317
- // function that renders the HTML and CSS into the scope of the component
3318
5256
  render() {
3319
- return u$1`
3320
- <div>
3321
- <div
3322
- id="trigger"
3323
- class="trigger"
3324
- part="trigger"
3325
- role="button"
3326
- aria-labelledby="triggerLabel"
3327
- aria-controls="popover"
3328
- tabindex="${this.tabIndex}"
3329
- >
3330
- <div class="triggerContentWrapper">
3331
- <label class="label" id="triggerLabel" hasTrigger=${this.hasTriggerContent}>
3332
- <slot name="label"></slot>
3333
- </label>
3334
- <div class="triggerContent">
3335
- <slot
3336
- name="trigger"
3337
- @slotchange="${(event) => this.handleTriggerContentSlotChange(event)}"></slot>
3338
- </div>
3339
- </div>
3340
- ${this.chevron || this.common ? u$1`
3341
- <div
3342
- id="showStateIcon"
3343
- part="chevron">
3344
- <${this.iconTag}
3345
- category="interface"
3346
- name="chevron-down"
3347
- customColor
3348
- ?disabled=${this.disabled}
3349
- >
3350
- </${this.iconTag}>
3351
- </div>
3352
- ` : undefined }
3353
- </div>
3354
- <div
3355
- class="helpText"
3356
- part="helpText">
3357
- <slot name="helpText"></slot>
3358
- </div>
3359
- <div class="slotContent">
3360
- <slot @slotchange="${this.handleDefaultSlot}"></slot>
3361
- </div>
3362
- <div id="bibSizer" part="size"></div>
3363
- <auro-dropdownbib
3364
- id="bib"
3365
- role="tooltip"
3366
- ?common="${this.common}"
3367
- ?rounded="${this.common || this.rounded}"
3368
- ?inset="${this.common || this.inset}">
3369
- </auro-dropdownbib>
3370
- </div>
5257
+ return u`
5258
+ ${this.selected && !this.nocheckmark ? this.generateIconHtml(checkmarkIcon.svg) : undefined}
5259
+ <slot></slot>
3371
5260
  `;
3372
5261
  }
3373
5262
  }
3374
5263
 
3375
- AuroDropdown.register();
3376
-
3377
- var dropdownVersion = '3.0.0';
5264
+ AuroMenu.register();
5265
+ AuroMenuOption.register();
3378
5266
 
3379
- var styleCss = i$b`*,*:before,*:after{box-sizing:border-box}@media(prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}}*:focus-visible{outline:0}*:focus-visible{outline:0}:focus:not(:focus-visible){outline:3px solid transparent}.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{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}.selectElement-helpText{margin:var(--ds-size-50, 0.25rem) 0;font-size:var(--ds-text-body-size-xs, 0.75rem);line-height:1rem}`;
5267
+ var styleCss = i$g`*,*:before,*:after{box-sizing:border-box}@media(prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}}*:focus-visible{outline:0}*:focus-visible{outline:0}:focus:not(:focus-visible){outline:3px solid transparent}.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}[slot=trigger]{width:100%;padding:0;border:0;cursor:pointer;font-family:inherit;font-size:inherit;text-align:left}[slot=trigger] .nestingSpacer{display:none}[slot=trigger] #placeholder.hidden{position:absolute;z-index:-1;opacity:0;pointer-events:none}:host [auro-dropdown]{position:relative}:host [auro-dropdown]::part(trigger){max-height:var(--ds-size-300, 1.5rem)}:host [auro-dropdown]::part(popover){max-width:-webkit-fill-available;overflow-y:scroll}:host([disabled]) *{user-select:none}.outerWrapper{position:relative}auro-menuoption{padding:0;pointer-events:none}.menuWrapper{padding:var(--ds-size-50, 0.25rem) 0}:host([multiselect]) [slot=trigger]{display:flex}:host([multiselect]) auro-menuoption:not(:first-child){margin-left:var(--ds-size-100)}`;
3380
5268
 
3381
- var colorCss = i$b`*,*:before,*:after{box-sizing:border-box}@media(prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}}*:focus-visible{outline:0}*:focus-visible{outline:0}:focus:not(:focus-visible){outline:3px solid transparent}.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{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)}`;
5269
+ var colorCss = i$g`*,*:before,*:after{box-sizing:border-box}@media(prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}}*:focus-visible{outline:0}*:focus-visible{outline:0}:focus:not(:focus-visible){outline:3px solid transparent}.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}:host [auro-dropdown]::part(trigger):hover{--ds-auro-dropdown-trigger-container-color: rgba(0 0 0 / 0.06)}:host([disabled]) *{color:var(--ds-color-text-ui-disabled-default, #adadad)}.placeholder{color:var(--ds-auro-select-placeholder-text-color)}`;
3382
5270
 
3383
- var tokensCss = i$b`:host{--ds-auro-select-placeholder-text-color: var(--ds-color-text-secondary-default, $ds-color-text-secondary-default)}`;
5271
+ var tokensCss = i$g`:host{--ds-auro-select-placeholder-text-color: var(--ds-color-text-secondary-default, $ds-color-text-secondary-default)}`;
3384
5272
 
3385
5273
  // Copyright (c) 2021 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
3386
5274
  // See LICENSE in the project root for license information.
@@ -3395,17 +5283,18 @@ var tokensCss = i$b`:host{--ds-auro-select-placeholder-text-color: var(--ds-colo
3395
5283
  * @slot helpText - Defines the content of the helpText.
3396
5284
  * @slot placeholder - Defines the content of the placeholder to be shown when there is no value
3397
5285
  * @event auroSelect-valueSet - Notifies that the component has a new value set.
5286
+ * @event input - Notifies every time the value prop of the element is changed.
3398
5287
  * @event auroFormElement-validated - Notifies that the `validity` and `errorMessage` values have changed.
3399
5288
  * @csspart helpText - Apply CSS to the help text.
3400
5289
  */
3401
5290
 
3402
5291
  // build the component class
3403
- class AuroSelect extends r$4 {
5292
+ class AuroSelect extends r$9 {
3404
5293
  constructor() {
3405
5294
  super();
3406
5295
 
3407
5296
  this.optionSelected = undefined;
3408
- this.validity = undefined;
5297
+ this.value = undefined;
3409
5298
 
3410
5299
  const idLength = 36;
3411
5300
  const idSubstrEnd = 8;
@@ -3426,12 +5315,12 @@ class AuroSelect extends r$4 {
3426
5315
  /**
3427
5316
  * @private
3428
5317
  */
3429
- this.runtimeUtils = new AuroLibraryRuntimeUtils$1();
5318
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$3();
3430
5319
 
3431
5320
  /**
3432
5321
  * Generate unique names for dependency components.
3433
5322
  */
3434
- const versioning = new AuroDependencyVersioning$1();
5323
+ const versioning = new AuroDependencyVersioning$2();
3435
5324
 
3436
5325
  /**
3437
5326
  * @private
@@ -3502,7 +5391,9 @@ class AuroSelect extends r$4 {
3502
5391
  * Specifies the current selected menuOption.
3503
5392
  */
3504
5393
  optionSelected: {
3505
- type: Object
5394
+ // Allow HTMLElement[] arrays and undefined
5395
+ converter: arrayConverter,
5396
+ hasChanged: arrayOrUndefinedHasChanged
3506
5397
  },
3507
5398
 
3508
5399
  /**
@@ -3561,8 +5452,19 @@ class AuroSelect extends r$4 {
3561
5452
  * Value selected for the component.
3562
5453
  */
3563
5454
  value: {
3564
- type: String
3565
- }
5455
+ // Allow string[] arrays and undefined
5456
+ converter: arrayConverter,
5457
+ hasChanged: arrayOrUndefinedHasChanged
5458
+ },
5459
+
5460
+ /**
5461
+ * Sets multi-select mode, allowing multiple options to be selected at once.
5462
+ */
5463
+ multiSelect: {
5464
+ type: Boolean,
5465
+ reflect: true,
5466
+ attribute: 'multiselect'
5467
+ },
3566
5468
  };
3567
5469
  }
3568
5470
 
@@ -3600,33 +5502,34 @@ class AuroSelect extends r$4 {
3600
5502
  *
3601
5503
  */
3602
5504
  static register(name = "auro-select") {
3603
- AuroLibraryRuntimeUtils$1.prototype.registerComponent(name, AuroSelect);
5505
+ AuroLibraryRuntimeUtils$3.prototype.registerComponent(name, AuroSelect);
3604
5506
  }
3605
5507
 
3606
5508
  /**
3607
- * Updates the displayed value in an Auro dropdown component based on optionSelected
5509
+ * Updates the displayed value in an Auro dropdown component based on optionSelected.
3608
5510
  * @private
3609
5511
  * @returns {void}
3610
5512
  */
3611
5513
  updateDisplayedValue() {
3612
5514
  const triggerContentEl = this.dropdown.querySelector('#triggerFocus');
3613
5515
 
3614
- // remove all existing rendered value(s)
3615
- triggerContentEl.querySelectorAll('auro-menuoption, [auro-menuoption]').forEach((elm) => {
3616
- elm.remove();
3617
- });
5516
+ // Clear everything except placeholder
5517
+ const placeholder = triggerContentEl.querySelector('#placeholder');
5518
+ triggerContentEl.innerHTML = '';
5519
+ if (placeholder) {
5520
+ triggerContentEl.appendChild(placeholder);
5521
+ }
3618
5522
 
3619
- if (this.optionSelected) {
3620
- // clone the selected option and remove attributes that style it
3621
- const clone = this.optionSelected.cloneNode(true);
3622
- clone.removeAttribute('selected');
3623
- clone.removeAttribute('class');
5523
+ // Handle selected options
5524
+ if (this.optionSelected && this.optionSelected.length) {
5525
+ // Create display text from selected options
5526
+ const displayText = this.optionSelected.map((option) => option.textContent).join(', ');
3624
5527
 
3625
- // insert the non-styled clone into the trigger
3626
- triggerContentEl.appendChild(clone);
5528
+ const span = document.createElement('span');
5529
+ span.textContent = displayText;
5530
+ triggerContentEl.appendChild(span);
3627
5531
  }
3628
5532
 
3629
- // notify dropdown as trigger content is changed
3630
5533
  this.dropdown.requestUpdate();
3631
5534
  }
3632
5535
 
@@ -3646,6 +5549,10 @@ class AuroSelect extends r$4 {
3646
5549
  return;
3647
5550
  }
3648
5551
 
5552
+ if (this.multiSelect) {
5553
+ this.menu.multiSelect = this.multiSelect;
5554
+ }
5555
+
3649
5556
  this.menu.addEventListener("auroMenu-loadingChange", (event) => this.handleMenuLoadingChange(event));
3650
5557
  this.menu.setAttribute('aria-hidden', 'true');
3651
5558
 
@@ -3656,8 +5563,10 @@ class AuroSelect extends r$4 {
3656
5563
  });
3657
5564
 
3658
5565
  this.menu.addEventListener('auroMenu-selectedOption', () => {
5566
+ // Get array of selected options from menu
3659
5567
  this.optionSelected = this.menu.optionSelected;
3660
- this.value = this.optionSelected.value;
5568
+ // For single select, we still use arrays but only take first value
5569
+ this.value = this.menu.value;
3661
5570
 
3662
5571
  if (this.dropdown.isPopoverVisible) {
3663
5572
  this.dropdown.hide();
@@ -3672,7 +5581,7 @@ class AuroSelect extends r$4 {
3672
5581
  * with `auro-select.value`.
3673
5582
  */
3674
5583
  this.menu.addEventListener('auroMenu-selectValueFailure', () => {
3675
- this.reset();
5584
+ this.menu.clearSelection();
3676
5585
  });
3677
5586
 
3678
5587
  this.menu.addEventListener('auroMenu-selectValueReset', () => {
@@ -3697,7 +5606,7 @@ class AuroSelect extends r$4 {
3697
5606
  this.dropdown.show();
3698
5607
 
3699
5608
  if (this.dropdown.isPopoverVisible) {
3700
- this.menu.selectNextItem('up');
5609
+ this.menu.navigateOptions('up');
3701
5610
  }
3702
5611
  }
3703
5612
 
@@ -3707,7 +5616,7 @@ class AuroSelect extends r$4 {
3707
5616
  this.dropdown.show();
3708
5617
 
3709
5618
  if (this.dropdown.isPopoverVisible) {
3710
- this.menu.selectNextItem('down');
5619
+ this.menu.navigateOptions('down');
3711
5620
  }
3712
5621
  }
3713
5622
 
@@ -3770,7 +5679,7 @@ class AuroSelect extends r$4 {
3770
5679
  * input as no longer in the initial state.
3771
5680
  */
3772
5681
  if (this.value === undefined) {
3773
- this.value = '';
5682
+ this.value = undefined;
3774
5683
  this.removeEventListener('focusin', this.handleFocusin);
3775
5684
  }
3776
5685
  }
@@ -3828,22 +5737,33 @@ class AuroSelect extends r$4 {
3828
5737
  }
3829
5738
  }
3830
5739
 
3831
- updated(changedProperties) {
3832
- // After the component is ready, send direct value changes to auro-menu.
5740
+ async updated(changedProperties) {
3833
5741
  if (changedProperties.has('value')) {
3834
5742
  if (this.value) {
3835
5743
  this.menu.value = this.value;
5744
+
5745
+ // Wait for menu to finish updating its value
5746
+ await this.menu.updateComplete;
5747
+
5748
+ this.optionSelected = this.menu.optionSelected;
3836
5749
  } else {
3837
5750
  this.menu.value = undefined;
3838
5751
  }
3839
5752
 
3840
5753
  this.validation.validate(this);
3841
5754
 
5755
+ // LEGACY EVENT
3842
5756
  this.dispatchEvent(new CustomEvent('auroSelect-valueSet', {
3843
5757
  bubbles: true,
3844
5758
  cancelable: false,
3845
5759
  composed: true,
3846
5760
  }));
5761
+
5762
+ this.dispatchEvent(new CustomEvent('input', {
5763
+ bubbles: true,
5764
+ cancelable: true,
5765
+ composed: true,
5766
+ }));
3847
5767
  }
3848
5768
 
3849
5769
  if (changedProperties.has('optionSelected')) {
@@ -3851,7 +5771,7 @@ class AuroSelect extends r$4 {
3851
5771
  }
3852
5772
 
3853
5773
  if (changedProperties.has('error')) {
3854
- this.validation.validate(this, true);
5774
+ this.validate(true);
3855
5775
  }
3856
5776
  }
3857
5777
 
@@ -3863,6 +5783,14 @@ class AuroSelect extends r$4 {
3863
5783
  this.validation.reset(this);
3864
5784
  }
3865
5785
 
5786
+ /**
5787
+ * Validates value.
5788
+ * @param {boolean} [force=false] - Whether to force validation.
5789
+ */
5790
+ validate(force = false) {
5791
+ this.validation.validate(this, force);
5792
+ }
5793
+
3866
5794
  // When using auroElement, use the following attribute and function when hiding content from screen readers.
3867
5795
  // aria-hidden="${this.hideAudible(this.hiddenAudible)}"
3868
5796
 
@@ -3872,18 +5800,18 @@ class AuroSelect extends r$4 {
3872
5800
  hidden: this.value,
3873
5801
  };
3874
5802
 
3875
- return u$3`
5803
+ return u$6`
3876
5804
  <div class="outerWrapper">
3877
5805
  <div aria-live="polite" class="util_displayHiddenVisually">
3878
5806
  ${this.optionActive && this.options.length > 0
3879
- ? u$3`
5807
+ ? u$6`
3880
5808
  ${`${this.optionActive.innerText}, option ${this.options.indexOf(this.optionActive) + 1} of ${this.options.length}`}
3881
5809
  `
3882
5810
  : undefined
3883
5811
  };
3884
5812
 
3885
5813
  ${this.optionSelected && this.options.length > 0
3886
- ? u$3`
5814
+ ? u$6`
3887
5815
  ${`${this.optionSelected.innerText} selected`}
3888
5816
  `
3889
5817
  : undefined
@@ -3898,23 +5826,23 @@ class AuroSelect extends r$4 {
3898
5826
  chevron
3899
5827
  part="dropdown">
3900
5828
  <span slot="trigger" aria-haspopup="true" id="triggerFocus">
3901
- <span id="placeholder" class="${e$5(placeholderClass)}"><slot name="placeholder"></slot></span>
5829
+ <span id="placeholder" class="${e$9(placeholderClass)}"><slot name="placeholder"></slot></span>
3902
5830
  </span>
3903
5831
  <div class="menuWrapper">
3904
5832
  </div>
3905
5833
  <slot name="label" slot="label"></slot>
3906
- <span slot="helpText">
5834
+ <p slot="helpText">
3907
5835
  ${!this.validity || this.validity === undefined || this.validity === 'valid'
3908
- ? u$3`
3909
- <p class="selectElement-helpText" id="${this.uniqueId}" part="helpText">
5836
+ ? u$6`
5837
+ <span id="${this.uniqueId}" part="helpText">
3910
5838
  <slot name="helpText"></slot>
3911
- </p>`
3912
- : u$3`
3913
- <p class="selectElement-helpText" id="${this.uniqueId}" role="alert" aria-live="assertive" part="helpText">
5839
+ </span>`
5840
+ : u$6`
5841
+ <span id="${this.uniqueId}" role="alert" aria-live="assertive" part="helpText">
3914
5842
  ${this.errorMessage}
3915
- </p>`
5843
+ </span>`
3916
5844
  }
3917
- </span>
5845
+ </p>
3918
5846
  </${this.dropdownTag}>
3919
5847
  <!-- Help text and error message template -->
3920
5848
  </div>