@aurodesignsystem/auro-formkit 2.0.0-beta.1 → 2.0.0-beta.11

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 (568) hide show
  1. package/.turbo/cache/0c8124a987c1cc05-meta.json +1 -0
  2. package/.turbo/cache/0c8124a987c1cc05.tar.zst +0 -0
  3. package/.turbo/cache/0cd512cdf86242c7-meta.json +1 -0
  4. package/.turbo/cache/0cd512cdf86242c7.tar.zst +0 -0
  5. package/.turbo/cache/123c83cd8727dff3-meta.json +1 -0
  6. package/.turbo/cache/123c83cd8727dff3.tar.zst +0 -0
  7. package/.turbo/cache/18129dba20f51b6b-meta.json +1 -0
  8. package/.turbo/cache/18129dba20f51b6b.tar.zst +0 -0
  9. package/.turbo/cache/253e861af7025ed4-meta.json +1 -0
  10. package/.turbo/cache/253e861af7025ed4.tar.zst +0 -0
  11. package/.turbo/cache/2787020e69f50af2-meta.json +1 -0
  12. package/.turbo/cache/2787020e69f50af2.tar.zst +0 -0
  13. package/.turbo/cache/2a5295c8f561ed84-meta.json +1 -0
  14. package/.turbo/cache/2a5295c8f561ed84.tar.zst +0 -0
  15. package/.turbo/cache/2c0d681132c153dd-meta.json +1 -0
  16. package/.turbo/cache/2c0d681132c153dd.tar.zst +0 -0
  17. package/.turbo/cache/4006a206400d5c7b-meta.json +1 -0
  18. package/.turbo/cache/4006a206400d5c7b.tar.zst +0 -0
  19. package/.turbo/cache/492dda333b8d15f1-meta.json +1 -0
  20. package/.turbo/cache/492dda333b8d15f1.tar.zst +0 -0
  21. package/.turbo/cache/4e3619d9dfc86809-meta.json +1 -0
  22. package/.turbo/cache/4e3619d9dfc86809.tar.zst +0 -0
  23. package/.turbo/cache/50993de942ec15a9-meta.json +1 -0
  24. package/.turbo/cache/50993de942ec15a9.tar.zst +0 -0
  25. package/.turbo/cache/50cd7dcfc9f820c5-meta.json +1 -0
  26. package/.turbo/cache/50cd7dcfc9f820c5.tar.zst +0 -0
  27. package/.turbo/cache/51eaa58d5c167de8-meta.json +1 -0
  28. package/.turbo/cache/51eaa58d5c167de8.tar.zst +0 -0
  29. package/.turbo/cache/5a0d3e26da304c62-meta.json +1 -0
  30. package/.turbo/cache/5a0d3e26da304c62.tar.zst +0 -0
  31. package/.turbo/cache/5c960af698582835-meta.json +1 -0
  32. package/.turbo/cache/5c960af698582835.tar.zst +0 -0
  33. package/.turbo/cache/5dbbb71dffc3f542-meta.json +1 -0
  34. package/.turbo/cache/5dbbb71dffc3f542.tar.zst +0 -0
  35. package/.turbo/cache/6081837e8943b62e-meta.json +1 -0
  36. package/.turbo/cache/6081837e8943b62e.tar.zst +0 -0
  37. package/.turbo/cache/60ad74320c682a2b-meta.json +1 -0
  38. package/.turbo/cache/60ad74320c682a2b.tar.zst +0 -0
  39. package/.turbo/cache/61e218aba69cff58-meta.json +1 -0
  40. package/.turbo/cache/61e218aba69cff58.tar.zst +0 -0
  41. package/.turbo/cache/77da375a012de9d0-meta.json +1 -0
  42. package/.turbo/cache/77da375a012de9d0.tar.zst +0 -0
  43. package/.turbo/cache/7964d1656e9e702a-meta.json +1 -0
  44. package/.turbo/cache/7964d1656e9e702a.tar.zst +0 -0
  45. package/.turbo/cache/7bf2b06a479d0b30-meta.json +1 -0
  46. package/.turbo/cache/7bf2b06a479d0b30.tar.zst +0 -0
  47. package/.turbo/cache/7c9ca6163e61285c-meta.json +1 -0
  48. package/.turbo/cache/7c9ca6163e61285c.tar.zst +0 -0
  49. package/.turbo/cache/80aca269cd346fb4-meta.json +1 -0
  50. package/.turbo/cache/80aca269cd346fb4.tar.zst +0 -0
  51. package/.turbo/cache/8602fc2bb737a5cf-meta.json +1 -0
  52. package/.turbo/cache/8602fc2bb737a5cf.tar.zst +0 -0
  53. package/.turbo/cache/89e0e7a6148e854f-meta.json +1 -0
  54. package/.turbo/cache/89e0e7a6148e854f.tar.zst +0 -0
  55. package/.turbo/cache/8bb856bd31b5b479-meta.json +1 -0
  56. package/.turbo/cache/8bb856bd31b5b479.tar.zst +0 -0
  57. package/.turbo/cache/93c887fb93a10daa-meta.json +1 -0
  58. package/.turbo/cache/93c887fb93a10daa.tar.zst +0 -0
  59. package/.turbo/cache/94dae2a64e9d8356-meta.json +1 -0
  60. package/.turbo/cache/94dae2a64e9d8356.tar.zst +0 -0
  61. package/.turbo/cache/97f6fe83b54acf09-meta.json +1 -0
  62. package/.turbo/cache/97f6fe83b54acf09.tar.zst +0 -0
  63. package/.turbo/cache/98317b0d14d94df7-meta.json +1 -0
  64. package/.turbo/cache/98317b0d14d94df7.tar.zst +0 -0
  65. package/.turbo/cache/9ae99e8e7bd83d06-meta.json +1 -0
  66. package/.turbo/cache/9ae99e8e7bd83d06.tar.zst +0 -0
  67. package/.turbo/cache/9cbcd13b1d031f63-meta.json +1 -0
  68. package/.turbo/cache/9cbcd13b1d031f63.tar.zst +0 -0
  69. package/.turbo/cache/afbbd49ed1a558b9-meta.json +1 -0
  70. package/.turbo/cache/afbbd49ed1a558b9.tar.zst +0 -0
  71. package/.turbo/cache/b353ce8f6da43dea-meta.json +1 -0
  72. package/.turbo/cache/b353ce8f6da43dea.tar.zst +0 -0
  73. package/.turbo/cache/b5e6dc7fb9ae1a2f-meta.json +1 -0
  74. package/.turbo/cache/b5e6dc7fb9ae1a2f.tar.zst +0 -0
  75. package/.turbo/cache/b6a202cc85cb61a0-meta.json +1 -0
  76. package/.turbo/cache/b6a202cc85cb61a0.tar.zst +0 -0
  77. package/.turbo/cache/b8db059a9b9ccb5d-meta.json +1 -0
  78. package/.turbo/cache/b8db059a9b9ccb5d.tar.zst +0 -0
  79. package/.turbo/cache/bc24a38aa1b1a102-meta.json +1 -0
  80. package/.turbo/cache/bc24a38aa1b1a102.tar.zst +0 -0
  81. package/.turbo/cache/be0b95293ea517cc-meta.json +1 -0
  82. package/.turbo/cache/be0b95293ea517cc.tar.zst +0 -0
  83. package/.turbo/cache/c3a4f7a3565d6706-meta.json +1 -0
  84. package/.turbo/cache/c3a4f7a3565d6706.tar.zst +0 -0
  85. package/.turbo/cache/c44efc9e4ddd8a0e-meta.json +1 -0
  86. package/.turbo/cache/c44efc9e4ddd8a0e.tar.zst +0 -0
  87. package/.turbo/cache/c6c6411199b68170-meta.json +1 -0
  88. package/.turbo/cache/c6c6411199b68170.tar.zst +0 -0
  89. package/.turbo/cache/c97b043e748e3580-meta.json +1 -0
  90. package/.turbo/cache/c97b043e748e3580.tar.zst +0 -0
  91. package/.turbo/cache/d5db503b2eaf239c-meta.json +1 -0
  92. package/.turbo/cache/d5db503b2eaf239c.tar.zst +0 -0
  93. package/.turbo/cache/d775555355d6b8fc-meta.json +1 -0
  94. package/.turbo/cache/d775555355d6b8fc.tar.zst +0 -0
  95. package/.turbo/cache/d7c3007be148d2a1-meta.json +1 -0
  96. package/.turbo/cache/d7c3007be148d2a1.tar.zst +0 -0
  97. package/.turbo/cache/dad3d78b33edd9e4-meta.json +1 -0
  98. package/.turbo/cache/dad3d78b33edd9e4.tar.zst +0 -0
  99. package/.turbo/cache/dc597b3ea4f61ec8-meta.json +1 -0
  100. package/.turbo/cache/dc597b3ea4f61ec8.tar.zst +0 -0
  101. package/.turbo/cache/df40b180126e5351-meta.json +1 -0
  102. package/.turbo/cache/df40b180126e5351.tar.zst +0 -0
  103. package/.turbo/cache/e5f217f77c32c93b-meta.json +1 -0
  104. package/.turbo/cache/e5f217f77c32c93b.tar.zst +0 -0
  105. package/.turbo/cache/e62cfee068e3ef36-meta.json +1 -0
  106. package/.turbo/cache/e62cfee068e3ef36.tar.zst +0 -0
  107. package/.turbo/cache/e9e36823f6c98f07-meta.json +1 -0
  108. package/.turbo/cache/e9e36823f6c98f07.tar.zst +0 -0
  109. package/.turbo/cache/ee1a3c1fe389da51-meta.json +1 -0
  110. package/.turbo/cache/ee1a3c1fe389da51.tar.zst +0 -0
  111. package/.turbo/cache/f3c7b40f2c6a4094-meta.json +1 -0
  112. package/.turbo/cache/f3c7b40f2c6a4094.tar.zst +0 -0
  113. package/.turbo/cache/f5958c3acb889631-meta.json +1 -0
  114. package/.turbo/cache/f5958c3acb889631.tar.zst +0 -0
  115. package/.turbo/cache/fb3809ac3f90e3b2-meta.json +1 -0
  116. package/.turbo/cache/fb3809ac3f90e3b2.tar.zst +0 -0
  117. package/.turbo/cache/fd5ddfa43ebd8e5c-meta.json +1 -0
  118. package/.turbo/cache/fd5ddfa43ebd8e5c.tar.zst +0 -0
  119. package/.vscode/settings.json +3 -0
  120. package/CHANGELOG.md +122 -0
  121. package/README.md +59 -59
  122. package/components/checkbox/.turbo/turbo-build$colon$sass.log +10 -10
  123. package/components/checkbox/.turbo/turbo-build.log +20 -21
  124. package/components/checkbox/.turbo/turbo-bundler.log +4 -4
  125. package/components/checkbox/.turbo/turbo-postCss$colon$component.log +1 -2
  126. package/components/checkbox/.turbo/turbo-sass$colon$render.log +6 -6
  127. package/components/checkbox/.turbo/turbo-types.log +1 -1
  128. package/components/checkbox/README.md +26 -34
  129. package/components/checkbox/demo/api.md +65 -65
  130. package/components/checkbox/demo/api.min.js +184 -84
  131. package/components/checkbox/demo/index.md +62 -62
  132. package/components/checkbox/demo/index.min.js +184 -84
  133. package/components/checkbox/dist/auro-checkbox-group.d.ts +35 -16
  134. package/components/checkbox/dist/auro-checkbox-group.d.ts.map +1 -1
  135. package/components/checkbox/dist/auro-checkbox.d.ts +20 -11
  136. package/components/checkbox/dist/auro-checkbox.d.ts.map +1 -1
  137. package/components/checkbox/dist/index.js +184 -84
  138. package/components/checkbox/package.json +1 -1
  139. package/components/checkbox/src/auro-checkbox-group.js +46 -17
  140. package/components/checkbox/src/auro-checkbox.js +29 -12
  141. package/components/combobox/.turbo/turbo-build$colon$sass.log +5 -5
  142. package/components/combobox/.turbo/turbo-build.log +22 -23
  143. package/components/combobox/.turbo/turbo-postCss$colon$component.log +1 -2
  144. package/components/combobox/.turbo/turbo-sass$colon$render.log +2 -2
  145. package/components/combobox/README.md +21 -26
  146. package/components/combobox/demo/api.md +24 -22
  147. package/components/combobox/demo/api.min.js +3156 -893
  148. package/components/combobox/demo/index.md +1 -1
  149. package/components/combobox/demo/index.min.js +3153 -890
  150. package/components/combobox/dist/auro-combobox.d.ts +20 -8
  151. package/components/combobox/dist/auro-combobox.d.ts.map +1 -1
  152. package/components/combobox/dist/dropdownVersion.d.ts +3 -0
  153. package/components/combobox/dist/dropdownVersion.d.ts.map +1 -0
  154. package/components/combobox/dist/index.js +2512 -564
  155. package/components/combobox/dist/inputVersion.d.ts +3 -0
  156. package/components/combobox/dist/inputVersion.d.ts.map +1 -0
  157. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/.husky/pre-commit +1 -0
  158. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/CHANGELOG.md +863 -0
  159. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/README.md +109 -0
  160. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/dist/auroElement/README.md +86 -0
  161. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/dist/auroElement/_auroElement.scss +45 -0
  162. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/dist/auroElement/auroElement.js +38 -0
  163. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/dist/auroElement/auroElement.mjs +38 -0
  164. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/dist/bundled/essentials+fv.css +110 -0
  165. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/dist/bundled/essentials.css +106 -0
  166. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/dist/demoWrapper.css +8 -0
  167. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/dist/elementDemoStyles.css +813 -0
  168. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/package.json +134 -0
  169. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/packageScripts/postinstall.mjs +39 -0
  170. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/_animation.scss +30 -0
  171. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/_blockquote.scss +46 -0
  172. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/_breakpoints.scss +155 -0
  173. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/_core.scss +25 -0
  174. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/_essentials.scss +267 -0
  175. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/_focus-visible.scss +36 -0
  176. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/_fonts.scss +50 -0
  177. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/_grids.scss +395 -0
  178. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/_headings.scss +255 -0
  179. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/_normalize.scss +663 -0
  180. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/_picture.scss +31 -0
  181. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/_utilityClasses.scss +22 -0
  182. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/bundled/essentials+fv.scss +19 -0
  183. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/bundled/essentials.scss +18 -0
  184. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/componentSupport/_anchor-roleButton.scss +32 -0
  185. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/componentSupport/_anchor-roleTab.scss +26 -0
  186. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/componentSupport/_containedButtons.scss +59 -0
  187. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/componentSupport/_table.scss +54 -0
  188. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/componentSupport/_tablist.scss +37 -0
  189. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/elementDemoStyles/README.md +5 -0
  190. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/elementDemoStyles/demoWrapper.scss +18 -0
  191. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/elementDemoStyles/elementDemoStyles.scss +123 -0
  192. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/libSupport/_deprecated.scss +16 -0
  193. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/libSupport/_manageScope.scss +42 -0
  194. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityClasses/_displayProperties.scss +142 -0
  195. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityClasses/_fontStyles.scss +151 -0
  196. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityClasses/_inset.scss +188 -0
  197. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityClasses/_layoutProperties.scss +75 -0
  198. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityClasses/_listProperties.scss +176 -0
  199. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityClasses/_responsive.scss +249 -0
  200. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityClasses/_typeProperties.scss +49 -0
  201. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityFunctions/_capitalize.scss +20 -0
  202. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityFunctions/_contains.scss +26 -0
  203. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityFunctions/_map-deep-get.scss +29 -0
  204. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityMixins/_anchor-roleButton.scss +76 -0
  205. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityMixins/_anchor-roleTab.scss +86 -0
  206. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityMixins/_insetUtility.scss +9 -0
  207. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityMixins/_layoutPropertiesGenerator.scss +75 -0
  208. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityMixins/_spacingUtility.scss +96 -0
  209. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityVariables/_important.scss +20 -0
  210. package/components/combobox/node_modules/@aurodesignsystem/webcorestylesheets/src/utilityVariables/_spacing-options.scss +13 -0
  211. package/components/combobox/node_modules/@rollup/plugin-node-resolve/README.md +293 -0
  212. package/components/combobox/node_modules/@rollup/plugin-node-resolve/dist/cjs/index.js +1377 -0
  213. package/components/combobox/node_modules/@rollup/plugin-node-resolve/dist/es/index.js +1370 -0
  214. package/components/combobox/node_modules/@rollup/plugin-node-resolve/dist/es/package.json +1 -0
  215. package/components/combobox/node_modules/@rollup/plugin-node-resolve/package.json +89 -0
  216. package/components/combobox/node_modules/@rollup/plugin-node-resolve/types/index.d.ts +115 -0
  217. package/components/combobox/node_modules/chalk/package.json +3 -3
  218. package/components/combobox/node_modules/chalk/readme.md +25 -53
  219. package/components/combobox/node_modules/chalk/source/index.d.ts +6 -1
  220. package/components/combobox/node_modules/chalk/source/vendor/supports-color/browser.js +6 -2
  221. package/components/combobox/node_modules/chalk/source/vendor/supports-color/index.js +2 -2
  222. package/components/combobox/package.json +8 -8
  223. package/components/combobox/src/auro-combobox.js +138 -95
  224. package/components/combobox/src/dropdownVersion.js +1 -0
  225. package/components/combobox/src/inputVersion.js +1 -0
  226. package/components/counter/.turbo/turbo-build$colon$sass.log +179 -7
  227. package/components/counter/.turbo/turbo-build$colon$version.log +10 -0
  228. package/components/counter/.turbo/turbo-build.log +288 -14
  229. package/components/counter/.turbo/turbo-bundler.log +4 -4
  230. package/components/counter/.turbo/turbo-postCss$colon$component.log +1 -2
  231. package/components/counter/.turbo/turbo-sass$colon$render.log +39 -3
  232. package/components/counter/.turbo/turbo-types.log +1 -1
  233. package/components/counter/README.md +188 -0
  234. package/components/counter/demo/api.md +98 -1016
  235. package/components/counter/demo/api.min.js +1670 -32
  236. package/components/counter/demo/index.js +2 -1
  237. package/components/counter/demo/index.md +194 -0
  238. package/components/counter/demo/index.min.js +1702 -19
  239. package/components/counter/dist/auro-counter-button.d.ts +13 -0
  240. package/components/counter/dist/auro-counter-button.d.ts.map +1 -0
  241. package/components/counter/dist/auro-counter-group.d.ts +77 -6
  242. package/components/counter/dist/auro-counter-group.d.ts.map +1 -1
  243. package/components/counter/dist/auro-counter.d.ts +78 -0
  244. package/components/counter/dist/auro-counter.d.ts.map +1 -1
  245. package/components/counter/dist/dropdownVersion.d.ts +3 -0
  246. package/components/counter/dist/dropdownVersion.d.ts.map +1 -0
  247. package/components/counter/dist/formkit/auro-dropdownVersion.d.ts +3 -0
  248. package/components/counter/dist/formkit/auro-dropdownVersion.d.ts.map +1 -0
  249. package/components/counter/dist/iconVersion.d.ts +3 -0
  250. package/components/counter/dist/iconVersion.d.ts.map +1 -0
  251. package/components/counter/dist/index.js +1670 -32
  252. package/components/counter/dist/styles/color-css.d.ts +3 -0
  253. package/components/counter/dist/styles/color-css.d.ts.map +1 -0
  254. package/components/counter/dist/styles/counter-button-color-css.d.ts +3 -0
  255. package/components/counter/dist/styles/counter-button-color-css.d.ts.map +1 -0
  256. package/components/counter/dist/styles/counter-button-css.d.ts +3 -0
  257. package/components/counter/dist/styles/counter-button-css.d.ts.map +1 -0
  258. package/components/counter/dist/styles/counter-button-tokens-css.d.ts +3 -0
  259. package/components/counter/dist/styles/counter-button-tokens-css.d.ts.map +1 -0
  260. package/components/counter/dist/styles/counter-group-color-css.d.ts +3 -0
  261. package/components/counter/dist/styles/counter-group-color-css.d.ts.map +1 -0
  262. package/components/counter/dist/styles/tokens-css.d.ts +3 -0
  263. package/components/counter/dist/styles/tokens-css.d.ts.map +1 -0
  264. package/components/counter/package.json +9 -3
  265. package/components/counter/src/auro-counter-button.js +42 -0
  266. package/components/counter/src/auro-counter-group.js +150 -21
  267. package/components/counter/src/auro-counter.js +272 -12
  268. package/components/counter/src/dropdownVersion.js +1 -0
  269. package/components/counter/src/formkit/auro-dropdownVersion.js +1 -0
  270. package/components/counter/src/iconVersion.js +1 -0
  271. package/components/counter/src/index.js +1 -1
  272. package/components/counter/src/styles/color-css.js +2 -0
  273. package/components/counter/src/styles/color.css +25 -0
  274. package/components/counter/src/styles/color.scss +44 -0
  275. package/components/counter/src/styles/counter-button-color-css.js +2 -0
  276. package/components/counter/src/styles/counter-button-color.css +14 -0
  277. package/components/counter/src/styles/counter-button-color.scss +29 -0
  278. package/components/counter/src/styles/counter-button-css.js +2 -0
  279. package/components/counter/src/styles/counter-button-tokens-css.js +2 -0
  280. package/components/counter/src/styles/counter-button-tokens.css +7 -0
  281. package/components/counter/src/styles/counter-button-tokens.scss +9 -0
  282. package/components/counter/src/styles/counter-button.css +187 -0
  283. package/components/counter/src/styles/counter-button.scss +83 -0
  284. package/components/counter/src/styles/counter-group-color-css.js +2 -0
  285. package/components/counter/src/styles/counter-group-color.css +4 -0
  286. package/components/counter/src/styles/counter-group-color.scss +19 -0
  287. package/components/counter/src/styles/counter-group-css.js +1 -1
  288. package/components/counter/src/styles/counter-group.css +13 -1
  289. package/components/counter/src/styles/counter-group.scss +14 -1
  290. package/components/counter/src/styles/style-css.js +1 -1
  291. package/components/counter/src/styles/style.css +43 -1
  292. package/components/counter/src/styles/style.scss +48 -2
  293. package/components/counter/src/styles/tokens-css.js +2 -0
  294. package/components/counter/src/styles/tokens.css +11 -0
  295. package/components/counter/src/styles/tokens.scss +24 -0
  296. package/components/datepicker/.turbo/turbo-build$colon$sass.log +34 -34
  297. package/components/datepicker/.turbo/turbo-build.log +58 -58
  298. package/components/datepicker/.turbo/turbo-postCss$colon$component.log +1 -2
  299. package/components/datepicker/.turbo/turbo-sass$colon$render.log +10 -10
  300. package/components/datepicker/README.md +21 -26
  301. package/components/datepicker/demo/api.md +177 -131
  302. package/components/datepicker/demo/api.min.js +995 -559
  303. package/components/datepicker/demo/index.md +1 -1
  304. package/components/datepicker/demo/index.min.js +995 -559
  305. package/components/datepicker/dist/auro-datepicker.d.ts +89 -78
  306. package/components/datepicker/dist/auro-datepicker.d.ts.map +1 -1
  307. package/components/datepicker/dist/dropdownVersion.d.ts +2 -0
  308. package/components/datepicker/dist/dropdownVersion.d.ts.map +1 -1
  309. package/components/datepicker/dist/index.js +995 -559
  310. package/components/datepicker/dist/inputVersion.d.ts +3 -0
  311. package/components/datepicker/dist/inputVersion.d.ts.map +1 -0
  312. package/components/datepicker/package.json +3 -3
  313. package/components/datepicker/src/auro-datepicker.js +142 -104
  314. package/components/datepicker/src/dropdownVersion.js +1 -0
  315. package/components/datepicker/src/inputVersion.js +1 -0
  316. package/components/datepicker/src/styles/color-cell-css.js +1 -1
  317. package/components/datepicker/src/styles/color-cell.css +1 -1
  318. package/components/datepicker/src/styles/color-cell.scss +1 -1
  319. package/components/dropdown/.turbo/turbo-build$colon$sass.log +8 -8
  320. package/components/dropdown/.turbo/turbo-build$colon$version.log +1 -1
  321. package/components/dropdown/.turbo/turbo-build.log +19 -20
  322. package/components/dropdown/.turbo/turbo-bundler.log +4 -4
  323. package/components/dropdown/.turbo/turbo-postCss$colon$component.log +1 -2
  324. package/components/dropdown/.turbo/turbo-sass$colon$render.log +6 -6
  325. package/components/dropdown/.turbo/turbo-types.log +1 -1
  326. package/components/dropdown/README.md +18 -26
  327. package/components/dropdown/demo/api.md +4 -4
  328. package/components/dropdown/demo/api.min.js +205 -81
  329. package/components/dropdown/demo/index.min.js +205 -81
  330. package/components/dropdown/dist/auro-dropdown.d.ts +93 -34
  331. package/components/dropdown/dist/auro-dropdown.d.ts.map +1 -1
  332. package/components/dropdown/dist/auro-dropdownBib.d.ts +9 -3
  333. package/components/dropdown/dist/auro-dropdownBib.d.ts.map +1 -1
  334. package/components/dropdown/dist/index.js +205 -81
  335. package/components/dropdown/package.json +1 -1
  336. package/components/dropdown/src/auro-dropdown.js +154 -39
  337. package/components/dropdown/src/auro-dropdownBib.js +12 -3
  338. package/components/dropdown/src/styles/style-css.js +1 -1
  339. package/components/dropdown/src/styles/style.css +4 -0
  340. package/components/dropdown/src/styles/style.scss +5 -0
  341. package/components/form/.turbo/turbo-build$colon$sass.log +6 -6
  342. package/components/form/.turbo/turbo-build$colon$version.log +1 -1
  343. package/components/form/.turbo/turbo-build.log +17 -18
  344. package/components/form/.turbo/turbo-bundler.log +4 -4
  345. package/components/form/.turbo/turbo-postCss$colon$component.log +1 -2
  346. package/components/form/.turbo/turbo-sass$colon$render.log +2 -2
  347. package/components/form/.turbo/turbo-types.log +1 -1
  348. package/components/form/README.md +18 -26
  349. package/components/form/demo/api.min.js +4 -4
  350. package/components/form/demo/index.min.js +4 -4
  351. package/components/form/dist/index.js +4 -4
  352. package/components/form/package.json +1 -1
  353. package/components/input/.turbo/turbo-build$colon$sass.log +66 -16
  354. package/components/input/.turbo/turbo-build$colon$version.log +1 -1
  355. package/components/input/.turbo/turbo-build.log +79 -32
  356. package/components/input/.turbo/turbo-bundler.log +4 -4
  357. package/components/input/.turbo/turbo-postCss$colon$component.log +1 -2
  358. package/components/input/.turbo/turbo-sass$colon$render.log +15 -9
  359. package/components/input/.turbo/turbo-types.log +1 -1
  360. package/components/input/README.md +18 -28
  361. package/components/input/demo/api.md +146 -311
  362. package/components/input/demo/api.min.js +365 -145
  363. package/components/input/demo/index.md +11 -61
  364. package/components/input/demo/index.min.js +365 -145
  365. package/components/input/dist/auro-input.d.ts.map +1 -1
  366. package/components/input/dist/base-input.d.ts +155 -84
  367. package/components/input/dist/base-input.d.ts.map +1 -1
  368. package/components/input/dist/index.js +365 -145
  369. package/components/input/dist/styles/mixins-css.d.ts +3 -0
  370. package/components/input/dist/styles/mixins-css.d.ts.map +1 -0
  371. package/components/input/package.json +1 -1
  372. package/components/input/src/auro-input.js +0 -1
  373. package/components/input/src/base-input.js +252 -85
  374. package/components/input/src/styles/borders.scss +3 -19
  375. package/components/input/src/styles/color.css +1 -2
  376. package/components/input/src/styles/color.scss +3 -10
  377. package/components/input/src/styles/input-css.js +1 -1
  378. package/components/input/src/styles/input.css +1 -1
  379. package/components/input/src/styles/input.scss +4 -1
  380. package/components/input/src/styles/label-css.js +1 -1
  381. package/components/input/src/styles/label.css +1 -1
  382. package/components/input/src/styles/label.scss +4 -7
  383. package/components/input/src/styles/mixins-css.js +2 -0
  384. package/components/input/src/styles/mixins.css +1 -0
  385. package/components/input/src/styles/mixins.scss +45 -0
  386. package/components/input/src/styles/notificationIcons-css.js +1 -1
  387. package/components/input/src/styles/notificationIcons.css +13 -12
  388. package/components/input/src/styles/notificationIcons.scss +17 -25
  389. package/components/input/src/styles/style-css.js +1 -1
  390. package/components/input/src/styles/style.css +15 -17
  391. package/components/input/src/styles/style.scss +0 -4
  392. package/components/menu/.turbo/turbo-build$colon$sass.log +9 -9
  393. package/components/menu/.turbo/turbo-build$colon$version.log +1 -1
  394. package/components/menu/.turbo/turbo-build.log +22 -21
  395. package/components/menu/.turbo/turbo-bundler.log +4 -4
  396. package/components/menu/.turbo/turbo-postCss$colon$component.log +1 -2
  397. package/components/menu/.turbo/turbo-sass$colon$render.log +6 -6
  398. package/components/menu/.turbo/turbo-types.log +1 -1
  399. package/components/menu/README.md +18 -26
  400. package/components/menu/demo/api.md +57 -20
  401. package/components/menu/demo/api.min.js +626 -311
  402. package/components/menu/demo/index.min.js +624 -309
  403. package/components/menu/dist/auro-menu-utils.d.ts +43 -0
  404. package/components/menu/dist/auro-menu-utils.d.ts.map +1 -0
  405. package/components/menu/dist/auro-menu.d.ts +97 -81
  406. package/components/menu/dist/auro-menu.d.ts.map +1 -1
  407. package/components/menu/dist/index.d.ts +1 -0
  408. package/components/menu/dist/index.js +625 -310
  409. package/components/menu/package.json +1 -1
  410. package/components/menu/src/auro-menu-utils.js +131 -0
  411. package/components/menu/src/auro-menu.js +493 -303
  412. package/components/menu/src/index.js +7 -0
  413. package/components/radio/.turbo/turbo-build$colon$sass.log +13 -13
  414. package/components/radio/.turbo/turbo-build.log +23 -24
  415. package/components/radio/.turbo/turbo-bundler.log +4 -4
  416. package/components/radio/.turbo/turbo-postCss$colon$component.log +1 -2
  417. package/components/radio/.turbo/turbo-sass$colon$render.log +6 -6
  418. package/components/radio/.turbo/turbo-types.log +1 -1
  419. package/components/radio/README.md +18 -26
  420. package/components/radio/demo/api.md +3 -1
  421. package/components/radio/demo/api.min.js +111 -57
  422. package/components/radio/demo/index.min.js +111 -57
  423. package/components/radio/dist/index.js +111 -57
  424. package/components/radio/package.json +1 -1
  425. package/components/radio/src/auro-radio-group.js +1 -1
  426. package/components/select/.turbo/turbo-build$colon$sass.log +12 -12
  427. package/components/select/.turbo/turbo-build.log +32 -33
  428. package/components/select/.turbo/turbo-postCss$colon$component.log +1 -2
  429. package/components/select/.turbo/turbo-sass$colon$render.log +4 -4
  430. package/components/select/README.md +21 -42
  431. package/components/select/demo/api.md +88 -118
  432. package/components/select/demo/api.min.js +2720 -714
  433. package/components/select/demo/index.md +101 -59
  434. package/components/select/demo/index.min.js +2719 -709
  435. package/components/select/dist/auro-select.d.ts +74 -50
  436. package/components/select/dist/auro-select.d.ts.map +1 -1
  437. package/components/select/dist/dropdownVersion.d.ts +3 -0
  438. package/components/select/dist/dropdownVersion.d.ts.map +1 -0
  439. package/components/select/dist/index.js +2078 -370
  440. package/components/select/package.json +3 -3
  441. package/components/select/src/auro-select.js +143 -132
  442. package/components/select/src/dropdownVersion.js +1 -0
  443. package/components/select/src/styles/style-css.js +1 -1
  444. package/components/select/src/styles/style.css +14 -0
  445. package/components/select/src/styles/style.scss +24 -1
  446. package/package.json +21 -21
  447. package/packages/build-tools/src/docProcessor.mjs +37 -8
  448. package/packages/form-validation/src/validation.js +104 -50
  449. package/packages/utils/package.json +12 -0
  450. package/packages/utils/src/iconUtil.js +25 -0
  451. package/packages/utils/src/index.js +1 -0
  452. package/turbo.json +8 -8
  453. package/.turbo/cache/013a48308b893dac-meta.json +0 -1
  454. package/.turbo/cache/013a48308b893dac.tar.zst +0 -0
  455. package/.turbo/cache/0663fcbb1d711029-meta.json +0 -1
  456. package/.turbo/cache/0663fcbb1d711029.tar.zst +0 -0
  457. package/.turbo/cache/07ca42419b9f050c-meta.json +0 -1
  458. package/.turbo/cache/07ca42419b9f050c.tar.zst +0 -0
  459. package/.turbo/cache/0a2b0a4df8a0443f-meta.json +0 -1
  460. package/.turbo/cache/0a2b0a4df8a0443f.tar.zst +0 -0
  461. package/.turbo/cache/0cea4c1f34f3683b-meta.json +0 -1
  462. package/.turbo/cache/0cea4c1f34f3683b.tar.zst +0 -0
  463. package/.turbo/cache/120c8e207aa1ba35-meta.json +0 -1
  464. package/.turbo/cache/120c8e207aa1ba35.tar.zst +0 -0
  465. package/.turbo/cache/141bb7d9a95e288b-meta.json +0 -1
  466. package/.turbo/cache/141bb7d9a95e288b.tar.zst +0 -0
  467. package/.turbo/cache/17259cf94d8f8925-meta.json +0 -1
  468. package/.turbo/cache/17259cf94d8f8925.tar.zst +0 -0
  469. package/.turbo/cache/17dd4bdef6550a07-meta.json +0 -1
  470. package/.turbo/cache/17dd4bdef6550a07.tar.zst +0 -0
  471. package/.turbo/cache/1c99a949ec63ab35-meta.json +0 -1
  472. package/.turbo/cache/1c99a949ec63ab35.tar.zst +0 -0
  473. package/.turbo/cache/1de15d89eed2d760-meta.json +0 -1
  474. package/.turbo/cache/1de15d89eed2d760.tar.zst +0 -0
  475. package/.turbo/cache/257a7a26ea72dbc5-meta.json +0 -1
  476. package/.turbo/cache/257a7a26ea72dbc5.tar.zst +0 -0
  477. package/.turbo/cache/2990aaa7ebc5b967-meta.json +0 -1
  478. package/.turbo/cache/2990aaa7ebc5b967.tar.zst +0 -0
  479. package/.turbo/cache/32c0b9995fb5f8dd-meta.json +0 -1
  480. package/.turbo/cache/32c0b9995fb5f8dd.tar.zst +0 -0
  481. package/.turbo/cache/3bf45120d0cc9bd8-meta.json +0 -1
  482. package/.turbo/cache/3bf45120d0cc9bd8.tar.zst +0 -0
  483. package/.turbo/cache/45035bf5c4147ccd-meta.json +0 -1
  484. package/.turbo/cache/45035bf5c4147ccd.tar.zst +0 -0
  485. package/.turbo/cache/4f92cea2d8c63de2-meta.json +0 -1
  486. package/.turbo/cache/4f92cea2d8c63de2.tar.zst +0 -0
  487. package/.turbo/cache/56cb35d4c7473a23-meta.json +0 -1
  488. package/.turbo/cache/56cb35d4c7473a23.tar.zst +0 -0
  489. package/.turbo/cache/5c16ce3cff5c9dff-meta.json +0 -1
  490. package/.turbo/cache/5c16ce3cff5c9dff.tar.zst +0 -0
  491. package/.turbo/cache/5f304c0f37ef25f3-meta.json +0 -1
  492. package/.turbo/cache/5f304c0f37ef25f3.tar.zst +0 -0
  493. package/.turbo/cache/626afdc67e0cb540-meta.json +0 -1
  494. package/.turbo/cache/626afdc67e0cb540.tar.zst +0 -0
  495. package/.turbo/cache/64de7a53e02db647-meta.json +0 -1
  496. package/.turbo/cache/64de7a53e02db647.tar.zst +0 -0
  497. package/.turbo/cache/691a74627ec57993-meta.json +0 -1
  498. package/.turbo/cache/691a74627ec57993.tar.zst +0 -0
  499. package/.turbo/cache/69aae513b7ec6c7d-meta.json +0 -1
  500. package/.turbo/cache/69aae513b7ec6c7d.tar.zst +0 -0
  501. package/.turbo/cache/6dd7058e6703cb35-meta.json +0 -1
  502. package/.turbo/cache/6dd7058e6703cb35.tar.zst +0 -0
  503. package/.turbo/cache/6ef81cf9a66f982a-meta.json +0 -1
  504. package/.turbo/cache/6ef81cf9a66f982a.tar.zst +0 -0
  505. package/.turbo/cache/73e9073a5274616d-meta.json +0 -1
  506. package/.turbo/cache/73e9073a5274616d.tar.zst +0 -0
  507. package/.turbo/cache/773edc0f83c8c5a5-meta.json +0 -1
  508. package/.turbo/cache/773edc0f83c8c5a5.tar.zst +0 -0
  509. package/.turbo/cache/784c03fe9fd5ac05-meta.json +0 -1
  510. package/.turbo/cache/784c03fe9fd5ac05.tar.zst +0 -0
  511. package/.turbo/cache/786a822763403879-meta.json +0 -1
  512. package/.turbo/cache/786a822763403879.tar.zst +0 -0
  513. package/.turbo/cache/80b5d974184a01df-meta.json +0 -1
  514. package/.turbo/cache/80b5d974184a01df.tar.zst +0 -0
  515. package/.turbo/cache/87219c41a4ace9cd-meta.json +0 -1
  516. package/.turbo/cache/87219c41a4ace9cd.tar.zst +0 -0
  517. package/.turbo/cache/8954c6073396fadd-meta.json +0 -1
  518. package/.turbo/cache/8954c6073396fadd.tar.zst +0 -0
  519. package/.turbo/cache/9154e8fe6ab767ea-meta.json +0 -1
  520. package/.turbo/cache/9154e8fe6ab767ea.tar.zst +0 -0
  521. package/.turbo/cache/92daa6d7c389d548-meta.json +0 -1
  522. package/.turbo/cache/92daa6d7c389d548.tar.zst +0 -0
  523. package/.turbo/cache/993dff2edb7b6766-meta.json +0 -1
  524. package/.turbo/cache/993dff2edb7b6766.tar.zst +0 -0
  525. package/.turbo/cache/9a097d6576dadd64-meta.json +0 -1
  526. package/.turbo/cache/9a097d6576dadd64.tar.zst +0 -0
  527. package/.turbo/cache/a49cc58242467fdc-meta.json +0 -1
  528. package/.turbo/cache/a49cc58242467fdc.tar.zst +0 -0
  529. package/.turbo/cache/a6a56bb802e1c20f-meta.json +0 -1
  530. package/.turbo/cache/a6a56bb802e1c20f.tar.zst +0 -0
  531. package/.turbo/cache/a77bc920ea508bb8-meta.json +0 -1
  532. package/.turbo/cache/a77bc920ea508bb8.tar.zst +0 -0
  533. package/.turbo/cache/af061e7a077a9ba5-meta.json +0 -1
  534. package/.turbo/cache/af061e7a077a9ba5.tar.zst +0 -0
  535. package/.turbo/cache/b50f1b283b4b81cd-meta.json +0 -1
  536. package/.turbo/cache/b50f1b283b4b81cd.tar.zst +0 -0
  537. package/.turbo/cache/b54fc4f664a7a5a0-meta.json +0 -1
  538. package/.turbo/cache/b54fc4f664a7a5a0.tar.zst +0 -0
  539. package/.turbo/cache/ba4418918621fbcd-meta.json +0 -1
  540. package/.turbo/cache/ba4418918621fbcd.tar.zst +0 -0
  541. package/.turbo/cache/bb8b41cd0ade3986-meta.json +0 -1
  542. package/.turbo/cache/bb8b41cd0ade3986.tar.zst +0 -0
  543. package/.turbo/cache/be7c23c37b8ec74b-meta.json +0 -1
  544. package/.turbo/cache/be7c23c37b8ec74b.tar.zst +0 -0
  545. package/.turbo/cache/bf85bc040b7e64db-meta.json +0 -1
  546. package/.turbo/cache/bf85bc040b7e64db.tar.zst +0 -0
  547. package/.turbo/cache/caa0b4ac8d2a04dd-meta.json +0 -1
  548. package/.turbo/cache/caa0b4ac8d2a04dd.tar.zst +0 -0
  549. package/.turbo/cache/cc81de9c0b452a7c-meta.json +0 -1
  550. package/.turbo/cache/cc81de9c0b452a7c.tar.zst +0 -0
  551. package/.turbo/cache/cd5f6987783fb56d-meta.json +0 -1
  552. package/.turbo/cache/cd5f6987783fb56d.tar.zst +0 -0
  553. package/.turbo/cache/cd845bb6102c589a-meta.json +0 -1
  554. package/.turbo/cache/cd845bb6102c589a.tar.zst +0 -0
  555. package/.turbo/cache/ce67b6522dd09e64-meta.json +0 -1
  556. package/.turbo/cache/ce67b6522dd09e64.tar.zst +0 -0
  557. package/.turbo/cache/d7a47b77deb3d9a4-meta.json +0 -1
  558. package/.turbo/cache/d7a47b77deb3d9a4.tar.zst +0 -0
  559. package/.turbo/cache/dad1301ac69bcb85-meta.json +0 -1
  560. package/.turbo/cache/dad1301ac69bcb85.tar.zst +0 -0
  561. package/.turbo/cache/e992dab20aeefbaf-meta.json +0 -1
  562. package/.turbo/cache/e992dab20aeefbaf.tar.zst +0 -0
  563. package/.turbo/cache/fa132b5b5f0e75f8-meta.json +0 -1
  564. package/.turbo/cache/fa132b5b5f0e75f8.tar.zst +0 -0
  565. package/.turbo/cache/fbbe2704bf9cb90b-meta.json +0 -1
  566. package/.turbo/cache/fbbe2704bf9cb90b.tar.zst +0 -0
  567. package/.turbo/cache/ff58f630c9d69af4-meta.json +0 -1
  568. package/.turbo/cache/ff58f630c9d69af4.tar.zst +0 -0
@@ -3,26 +3,26 @@
3
3
  * Copyright 2019 Google LLC
4
4
  * SPDX-License-Identifier: BSD-3-Clause
5
5
  */
6
- const t$2=globalThis,e$4=t$2.ShadowRoot&&(void 0===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$=!0,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&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o$4.get(s)),void 0===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+"",void 0,s$2),i$5=(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$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;void 0!==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;
6
+ 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;
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$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:!0,type:String,converter:u$2,reflect:!1,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=!1),this._$Ei(),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),r=this.getPropertyDescriptor(t,i,s);void 0!==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:!0,enumerable:!0}}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(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties);}static finalize(){if(this.hasOwnProperty(d$1("finalized")))return;if(this.finalized=!0,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(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$2(s));}else void 0!==s&&i.push(c$2(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$1(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$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(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$2;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$1)(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$1("elementProperties")]=new Map,b[d$1("finalized")]=new Map,p$1?.({ReactiveElement:b}),(a$2.reactiveElementVersions??=[]).push("2.0.4");
12
+ */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");
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$1=globalThis,i$3=t$1.trustedTypes,s$1=i$3?i$3.createPolicy("lit-html",{createHTML:t=>t}):void 0,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 void 0!==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: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,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):c===g||c===p?c=m:c===v||c===_?c=f:(c=m,r=void 0);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=void 0!==e?s._$Co?.[e]:s._$Cl;const o=c(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(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$1).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$1,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(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):void 0!==t._$litType$?this.$(t):void 0!==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):(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$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?.(!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(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?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(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(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(void 0===h){const t=s?.renderBefore??null;e._$litPart$=h=new R(i.insertBefore(l$1(),t),t,void 0,s??{});}return h._$AI(t),h};
19
+ 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};
20
20
 
21
21
  /**
22
22
  * @license
23
23
  * Copyright 2017 Google LLC
24
24
  * SPDX-License-Identifier: BSD-3-Clause
25
- */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$2=globalThis.litElementPolyfillSupport;i$2?.({LitElement:r});(globalThis.litElementVersions??=[]).push("4.1.1");
25
+ */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");
26
26
 
27
27
  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)}`;
28
28
 
@@ -103,23 +103,158 @@ class AuroLibraryRuntimeUtils {
103
103
  // Copyright (c) 2021 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
104
104
  // See LICENSE in the project root for license information.
105
105
 
106
+ // ---------------------------------------------------------------------
107
+
108
+ /**
109
+ * Converts value to an array.
110
+ * If the value is a JSON string representing an array, it will be parsed.
111
+ * If the value is already an array, it is returned.
112
+ * If the value is undefined, it returns undefined.
113
+ * @private
114
+ * @param {any} value - The value to be converted. Can be a string, array, or undefined.
115
+ * @returns {Array|undefined} - The converted array or undefined.
116
+ * @throws {Error} - Throws an error if the value is not an array, undefined,
117
+ * or if the value cannot be parsed into an array from a JSON string.
118
+ */
119
+ function arrayConverter(value) {
120
+ // Allow undefined
121
+ if (value === undefined) {
122
+ return undefined;
123
+ }
124
+
125
+ // Return the value if it is already an array
126
+ if (Array.isArray(value)) {
127
+ return value;
128
+ }
129
+
130
+ try {
131
+ // If value is a JSON string, parse it
132
+ const parsed = typeof value === 'string' ? JSON.parse(value) : value;
133
+
134
+ // Check if the parsed value is an array
135
+ if (Array.isArray(parsed)) {
136
+ return parsed;
137
+ }
138
+ } catch (error) {
139
+ // If JSON parsing fails, continue to throw an error below
140
+ /* eslint-disable no-console */
141
+ console.error('JSON parsing failed:', error);
142
+ }
143
+
144
+ // Throw error if the input is not an array or undefined
145
+ throw new Error('Invalid value: Input must be an array or undefined');
146
+ }
147
+
148
+ /**
149
+ * Compare two arrays for equality.
150
+ * @private
151
+ * @param {Array} arr1 - First array to compare.
152
+ * @param {Array} arr2 - Second array to compare.
153
+ * @returns {boolean} True if arrays are equal.
154
+ */
155
+ function arraysAreEqual(arr1, arr2) {
156
+ // If both arrays undefined, they are equal (true)
157
+ if (arr1 === undefined || arr2 === undefined) {
158
+ return arr1 === arr2;
159
+ }
160
+
161
+ // If arrays have different lengths, they are not equal
162
+ if (arr1.length !== arr2.length) {
163
+ return false;
164
+ }
165
+
166
+ // If every item at each index is the same, return true
167
+ for (let index = 0; index < arr1.length; index += 1) {
168
+ if (arr1[index] !== arr2[index]) {
169
+ return false;
170
+ }
171
+ }
172
+ return true;
173
+ }
174
+
175
+ /**
176
+ * Compares array for changes.
177
+ * @private
178
+ * @param {Array|any} newVal - New value to compare.
179
+ * @param {Array|any} oldVal - Old value to compare.
180
+ * @returns {boolean} True if arrays have changed.
181
+ */
182
+ function arrayOrUndefinedHasChanged(newVal, oldVal) {
183
+ try {
184
+ // Check if values are undefined or arrays
185
+ const isArrayOrUndefined = (val) => val === undefined || Array.isArray(val);
186
+
187
+ // If non-array or non-undefined, throw error
188
+ if (!isArrayOrUndefined(newVal) || !isArrayOrUndefined(oldVal)) {
189
+ const invalidValue = isArrayOrUndefined(newVal) ? oldVal : newVal;
190
+ throw new Error(`Value must be an array or undefined, received ${typeof invalidValue}`);
191
+ }
192
+
193
+ // Return true if arrays have changed, false if they are the same
194
+ return !arraysAreEqual(newVal, oldVal);
195
+ } catch (error) {
196
+ /* eslint-disable no-console */
197
+ console.error(error);
198
+ // If validation fails, it has changed
199
+ return true;
200
+ }
201
+ }
202
+
203
+ /**
204
+ * Validates if an option can be interacted with.
205
+ * @private
206
+ * @param {HTMLElement} option - The option to check.
207
+ * @returns {boolean} True if option is interactive.
208
+ */
209
+ function isOptionInteractive(option) {
210
+ return !option.hasAttribute('hidden') &&
211
+ !option.hasAttribute('disabled') &&
212
+ !option.hasAttribute('static');
213
+ }
214
+
215
+ /**
216
+ * Helper method to dispatch custom events.
217
+ * @param {HTMLElement} element - Element to dispatch event from.
218
+ * @param {string} eventName - Name of the event to dispatch.
219
+ * @param {Object} [detail] - Optional detail object to include with the event.
220
+ */
221
+ function dispatchMenuEvent(element, eventName, detail = null) {
222
+ const eventConfig = {
223
+ bubbles: true,
224
+ cancelable: false,
225
+ composed: true
226
+ };
227
+
228
+ if (detail !== null) {
229
+ eventConfig.detail = detail;
230
+ }
231
+
232
+ element.dispatchEvent(new CustomEvent(eventName, eventConfig));
233
+ }
234
+
235
+ // Copyright (c) 2021 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
236
+ // See LICENSE in the project root for license information.
237
+
238
+
106
239
 
107
240
  // See https://git.io/JJ6SJ for "How to document your components using JSDoc"
108
241
  /**
109
242
  * The auro-menu element provides users a way to select from a list of options.
110
- * @attr {Object} optionSelected - Specifies the current selected menuOption.
111
- * @attr {String} matchWord - Specifies a string used to highlight matched string parts in options.
112
- * @attr {Boolean} disabled - When true, the entire menu and all options are disabled;
113
- * @attr {Boolean} noCheckmark - When true, selected option will not show the checkmark.
114
- * @attr {Boolean} loading - When true, displays a loading state using the loadingIcon and loadingText slots if provided.
115
- * @attr {String} value - Value selected for the menu.
116
- * @prop {Boolean} hasLoadingPlaceholder - Indicates whether the menu has a loadingIcon or loadingText to render when in a loading state.
117
- * @event auroMenu-selectedOption - Notifies that a new menuoption selection has been made.
118
- * @event auroMenu-activatedOption - Notifies that a menuoption has been made `active`.
119
- * @event auroMenu-selectValueFailure - Notifies that a an attempt to select a menuoption by matching a value has failed.
120
- * @event auroMenu-customEventFired - Notifies that a custom event has been fired.
121
- * @event auroMenu-selectValueReset - Notifies that the component value has been reset.
122
- * @event auroMenu-loadingChange - Notifies when the loading attribute is changed.
243
+ * @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.
244
+ * @attr {object} optionactive - Specifies the current active menuOption.
245
+ * @attr {string} matchword - Specifies a string used to highlight matched string parts in options.
246
+ * @attr {boolean} disabled - When true, the entire menu and all options are disabled;
247
+ * @attr {boolean} nocheckmark - When true, selected option will not show the checkmark.
248
+ * @attr {boolean} loading - When true, displays a loading state using the loadingIcon and loadingText slots if provided.
249
+ * @attr {boolean} multiselect - When true, the selected option can be multiple options.
250
+ * @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.
251
+ * @prop {boolean} hasLoadingPlaceholder - Indicates whether the menu has a loadingIcon or loadingText to render when in a loading state.
252
+ * @event {CustomEvent<Element>} auroMenu-activatedOption - Notifies that a menuoption has been made `active`.
253
+ * @event {CustomEvent<any>} auroMenu-customEventFired - Notifies that a custom event has been fired.
254
+ * @event {CustomEvent<{ loading: boolean; hasLoadingPlaceholder: boolean; }>} auroMenu-loadingChange - Notifies when the loading attribute is changed.
255
+ * @event {CustomEvent<any>} auroMenu-selectValueFailure - Notifies that an attempt to select a menuoption by matching a value has failed.
256
+ * @event {CustomEvent<any>} auroMenu-selectValueReset - Notifies that the component value has been reset.
257
+ * @event {CustomEvent<any>} auroMenu-selectedOption - Notifies that a new menuoption selection has been made.
123
258
  * @slot loadingText - Text to show while loading attribute is set
124
259
  * @slot loadingIcon - Icon to show while loading attribute is set
125
260
  * @slot - Slot for insertion of menu options.
@@ -130,52 +265,104 @@ class AuroLibraryRuntimeUtils {
130
265
  class AuroMenu extends r {
131
266
  constructor() {
132
267
  super();
268
+
269
+ // State properties (reactive)
270
+
271
+ // Value of the selected options
133
272
  this.value = undefined;
273
+ // Currently selected option
134
274
  this.optionSelected = undefined;
275
+ // String used for highlighting/filtering
135
276
  this.matchWord = undefined;
277
+ // Hide the checkmark icon on selected options
136
278
  this.noCheckmark = false;
279
+ // Currently active option
137
280
  this.optionActive = undefined;
281
+ // Loading state
138
282
  this.loading = false;
283
+ // Multi-select mode
284
+ this.multiSelect = false;
285
+
286
+ // Event Bindings
139
287
 
140
288
  /**
141
289
  * @private
142
290
  */
143
- this.rootMenu = true;
291
+ this.handleKeyDown = this.handleKeyDown.bind(this);
144
292
 
145
293
  /**
146
294
  * @private
147
295
  */
148
- this.runtimeUtils = new AuroLibraryRuntimeUtils();
296
+ this.handleMouseSelect = this.handleMouseSelect.bind(this);
149
297
 
150
298
  /**
151
299
  * @private
152
300
  */
153
- this.nestingSpacer = '<span class="nestingSpacer"></span>';
301
+ this.handleOptionHover = this.handleOptionHover.bind(this);
154
302
 
155
303
  /**
156
304
  * @private
157
305
  */
158
- this.loadingSlots = null;
306
+ this.handleSlotChange = this.handleSlotChange.bind(this);
307
+
308
+ // Instance properties (non-reactive)
309
+
310
+ /**
311
+ * @private
312
+ */
313
+ Object.assign(this, {
314
+ // Root-level menu (true) or a nested submenu (false)
315
+ rootMenu: true,
316
+ // Currently focused/active menu item index
317
+ index: -1,
318
+ // Nested menu spacer
319
+ nestingSpacer: '<span class="nestingSpacer"></span>',
320
+ // Loading indicator for slot elements
321
+ loadingSlots: null,
322
+ // Store for menu items
323
+ items: [],
324
+ });
159
325
  }
160
326
 
161
327
  static get properties() {
162
328
  return {
163
- noCheckmark: {
329
+ noCheckmark: {
164
330
  type: Boolean,
165
- reflect: true
331
+ reflect: true,
332
+ attribute: 'nocheckmark'
166
333
  },
167
- disabled: {
334
+ disabled: {
168
335
  type: Boolean,
169
336
  reflect: true
170
337
  },
171
- loading: {
338
+ loading: {
172
339
  type: Boolean,
173
340
  reflect: true
174
341
  },
175
- optionSelected: { type: Object },
176
- optionActive: { type: Object },
177
- matchWord: { type: String },
178
- value: { type: String }
342
+ optionSelected: {
343
+ // Allow HTMLElement[] arrays and undefined
344
+ converter: arrayConverter,
345
+ hasChanged: arrayOrUndefinedHasChanged
346
+ },
347
+ optionActive: {
348
+ type: Object,
349
+ attribute: 'optionactive'
350
+ },
351
+ matchWord: {
352
+ type: String,
353
+ attribute: 'matchword'
354
+ },
355
+ multiSelect: {
356
+ type: Boolean,
357
+ reflect: true,
358
+ attribute: 'multiselect'
359
+ },
360
+ value: {
361
+ // Allow string[] arrays and undefined
362
+ type: Object,
363
+ converter: arrayConverter,
364
+ hasChanged: arrayOrUndefinedHasChanged
365
+ }
179
366
  };
180
367
  }
181
368
 
@@ -199,198 +386,329 @@ class AuroMenu extends r {
199
386
  AuroLibraryRuntimeUtils.prototype.registerComponent(name, AuroMenu);
200
387
  }
201
388
 
202
- /**
203
- * Passes the noCheckmark attribute to all nested auro-menuoptions.
204
- * @private
205
- * @returns {void}
206
- */
207
- handleNoCheckmarkAttr() {
208
- if (this.noCheckmark) {
209
- const menus = this.querySelectorAll('auro-menu, [auro-menu]');
389
+ // Lifecycle Methods
210
390
 
211
- menus.forEach((menu) => {
212
- menu.setAttribute('noCheckmark', '');
213
- });
391
+ connectedCallback() {
392
+ super.connectedCallback();
214
393
 
215
- const options = this.querySelectorAll('auro-menuoption, [auro-menuoption]');
394
+ this.addEventListener('keydown', this.handleKeyDown);
395
+ this.addEventListener('mousedown', this.handleMouseSelect);
396
+ this.addEventListener('auroMenuOption-mouseover', this.handleOptionHover);
397
+ this.addEventListener('slotchange', this.handleSlotChange);
398
+ }
216
399
 
217
- options.forEach((option) => {
218
- option.setAttribute('noCheckmark', '');
219
- });
220
- }
400
+ disconnectedCallback() {
401
+ this.removeEventListener('keydown', this.handleKeyDown);
402
+ this.removeEventListener('mousedown', this.handleMouseSelect);
403
+ this.removeEventListener('auroMenuOption-mouseover', this.handleOptionHover);
404
+ this.removeEventListener('slotchange', this.handleSlotChange);
405
+
406
+ super.disconnectedCallback();
221
407
  }
222
408
 
223
409
  firstUpdated() {
224
- // Add the tag name as an attribute if it is different than the component name
225
- this.runtimeUtils.handleComponentTagRename(this, 'auro-menu');
226
-
227
- this.addEventListener('keydown', this.handleKeyDown);
410
+ AuroLibraryRuntimeUtils.prototype.handleComponentTagRename(this, 'auro-menu');
228
411
 
229
412
  this.loadingSlots = this.querySelectorAll("[slot='loadingText'], [slot='loadingIcon']");
413
+ this.initializeMenu();
230
414
  }
231
415
 
232
416
  updated(changedProperties) {
233
- if (changedProperties.has('matchWord')) {
234
- this.markOptions();
417
+ if (changedProperties.has('value')) {
418
+ // Handle null/undefined case
419
+ if (this.value === undefined || this.value === null) {
420
+ this.optionSelected = undefined;
421
+ // Reset index tracking
422
+ this.index = -1;
423
+ } else {
424
+ // Convert single values to arrays
425
+ const valueArray = Array.isArray(this.value) ? this.value : [this.value];
426
+
427
+ // Find all matching options
428
+ const matchingOptions = this.items.filter((item) => valueArray.includes(item.value));
429
+
430
+ if (matchingOptions.length > 0) {
431
+ if (this.multiSelect) {
432
+ // For multiselect, keep all matching options
433
+ this.optionSelected = matchingOptions;
434
+ } else {
435
+ // For single select, only use the first match
436
+ this.optionSelected = [matchingOptions[0]];
437
+ this.index = this.items.indexOf(matchingOptions[0]);
438
+ }
439
+ } else {
440
+ // No matches found - trigger failure event
441
+ dispatchMenuEvent(this, 'auroMenu-selectValueFailure');
442
+ this.optionSelected = undefined;
443
+ this.index = -1;
444
+ }
445
+ }
446
+
447
+ // Update UI state
448
+ this.updateItemsState(new Map([
449
+ [
450
+ 'optionSelected',
451
+ true
452
+ ]
453
+ ]));
454
+
455
+ // Notify of changes
456
+ if (this.optionSelected !== undefined) {
457
+ this.notifySelectionChange();
458
+ }
235
459
  }
236
460
 
237
- if (changedProperties.has('value')) {
238
- this.selectByValue(this.value);
461
+ // Process all other UI updates
462
+ this.updateItemsState(changedProperties);
463
+ }
464
+
465
+ /**
466
+ * Updates the UI state and appearance of menu items based on changed properties.
467
+ * @private
468
+ * @param {Map<string, boolean>} changedProperties - LitElement's changed properties map.
469
+ */
470
+ updateItemsState(changedProperties) {
471
+ if (!this.items) {
472
+ return;
473
+ }
474
+
475
+ // Handle noCheckmark propagation to all menus and options
476
+ if (changedProperties.has('noCheckmark') && this.noCheckmark) {
477
+ // Update both menus and options
478
+ this.querySelectorAll('auro-menu, [auro-menu], auro-menuoption, [auro-menuoption]').forEach((element) => element.setAttribute('noCheckmark', ''));
239
479
  }
240
480
 
241
- if (changedProperties.has('disabled')) {
242
- const options = Array.from(this.querySelectorAll('auro-menuoption, [auro-menuoption]'));
481
+ // Regex for matchWord if needed
482
+ let regexWord = null;
243
483
 
244
- for (const element of options) {
245
- element.disabled = this.disabled;
246
- }
484
+ if (changedProperties.has('matchWord') && this.matchWord && this.matchWord.length) {
485
+ const escapedWord = this.matchWord.replace(/[.*+?^${}()|[\]\\]/gu, '\\$&');
486
+ regexWord = new RegExp(escapedWord, 'giu');
247
487
  }
248
488
 
249
- if (changedProperties.has('loading')) {
250
- const event = new CustomEvent("auroMenu-loadingChange", {
251
- detail: {
252
- loading: this.loading,
253
- hasLoadingPlaceholder:
254
- this.hasLoadingPlaceholder
489
+ // Handle direct item updates
490
+ this.items.forEach((option) => {
491
+ // Update selection if option or value changed
492
+ if (changedProperties.has('optionSelected') || changedProperties.has('value')) {
493
+ const isSelected = this.isOptionSelected(option);
494
+ option.classList.toggle('active', isSelected);
495
+ option.setAttribute('aria-selected', isSelected ? 'true' : 'false');
496
+
497
+ // Add/remove selected attribute based on state
498
+ if (isSelected) {
499
+ option.setAttribute('selected', '');
500
+ } else {
501
+ option.removeAttribute('selected');
255
502
  }
503
+ }
504
+
505
+ // Update text highlighting if matchWord changed
506
+ if (changedProperties.has('matchWord') && regexWord &&
507
+ isOptionInteractive(option) && !option.hasAttribute('persistent')) {
508
+ const nested = option.querySelectorAll('.nestingSpacer');
509
+ // Create nested spacers
510
+ const nestingSpacerBundle = [...nested].map(() => this.nestingSpacer).join('');
511
+
512
+ // Update with spacers and matchWord
513
+ option.innerHTML = nestingSpacerBundle +
514
+ option.textContent.replace(
515
+ regexWord,
516
+ (match) => `<strong>${match}</strong>`
517
+ );
518
+ }
519
+
520
+ // Update disabled state
521
+ if (changedProperties.has('disabled')) {
522
+ option.disabled = this.disabled;
523
+ }
524
+ });
525
+
526
+ // Handle loading state changes
527
+ if (changedProperties.has('loading')) {
528
+ this.setAttribute("aria-busy", this.loading);
529
+ dispatchMenuEvent(this, "auroMenu-loadingChange", {
530
+ loading: this.loading,
531
+ hasLoadingPlaceholder: this.hasLoadingPlaceholder
256
532
  });
257
- this.setAttribute("aria-busy", this.hasAttribute("loading"));
258
- this.dispatchEvent(event);
259
533
  }
260
534
  }
261
535
 
536
+ // Init Methods
537
+
262
538
  /**
539
+ * Initializes the menu's state and structure.
263
540
  * @private
264
- * @param {Object} option - The menuoption to check for interactive state.
265
- * @returns {Boolean} Returns true if the option is interactive.
266
541
  */
267
- optionInteractive(option) {
268
- return !option.hasAttribute('hidden') && !option.hasAttribute('disabled') && !option.hasAttribute('static');
542
+ initializeMenu() {
543
+ this.initItems();
544
+ if (this.rootMenu) {
545
+ this.setAttribute('role', 'listbox');
546
+ this.setAttribute('root', '');
547
+ this.handleNestedMenus(this);
548
+ }
269
549
  }
270
550
 
271
551
  /**
552
+ * Initializes menu items and their attributes.
272
553
  * @private
273
- * @returns {void} When called will update the DOM with visible suggest text matches.
274
554
  */
275
- markOptions() {
276
- if (this.items && this.items.length > 0 && (this.matchWord && this.matchWord.length > 0)) {
277
-
278
- // Escape special regex characters
279
- const escapedWord = this.matchWord.replace(/[.*+?^${}()|[\]\\]/gu, '\\$&');
280
-
281
- // Global, case-insensitive, unicode matching regex pattern
282
- const regexWord = new RegExp(escapedWord, 'giu');
283
-
284
- this.items.forEach((item) => {
285
- if (this.optionInteractive(item) && !item.hasAttribute('persistent')) {
286
- const nested = item.querySelectorAll('.nestingSpacer');
287
- const nestingSpacerBundle = [...nested].map(() => this.nestingSpacer).join('');
288
-
289
- item.innerHTML = nestingSpacerBundle + item.textContent.replace(regexWord, (match) => `<strong>${match}</strong>`);
290
- }
291
- });
555
+ initItems() {
556
+ this.items = Array.from(this.querySelectorAll('auro-menuoption, [auro-menuoption]'));
557
+ if (this.noCheckmark) {
558
+ this.updateItemsState(new Map([
559
+ [
560
+ 'noCheckmark',
561
+ true
562
+ ]
563
+ ]));
292
564
  }
293
565
  }
294
566
 
567
+ // Logic Methods
568
+
295
569
  /**
296
- * Reset the menu and all options.
570
+ * Updates menu state when an option is selected.
571
+ * @private
572
+ * @param {HTMLElement} option - The option element to select.
297
573
  */
298
- resetOptionsStates() {
299
- this.optionSelected = undefined;
300
- if (this.items) {
301
- this.items.forEach((item) => {
302
- item.classList.remove('active');
303
- item.removeAttribute('selected');
304
- });
574
+ handleSelectState(option) {
575
+ if (this.multiSelect) {
576
+ const currentValue = this.value || [];
577
+ const currentSelected = this.optionSelected || [];
578
+
579
+ if (!currentValue.includes(option.value)) {
580
+ this.value = [
581
+ ...currentValue,
582
+ option.value
583
+ ];
584
+ }
585
+ if (!currentSelected.includes(option)) {
586
+ this.optionSelected = [
587
+ ...currentSelected,
588
+ option
589
+ ];
590
+ }
591
+ } else {
592
+ // Single select - use arrays with single values
593
+ this.value = [option.value];
594
+ this.optionSelected = [option];
305
595
  }
596
+
597
+ this.index = this.items.indexOf(option);
306
598
  }
307
599
 
308
600
  /**
309
- * Set the attributes on the selected menuoption, the menu value and stored option.
310
- * @param {Object} option - The menuoption to be selected.
601
+ * Deselects a menu option and updates related state.
311
602
  * @private
603
+ * @param {HTMLElement} option - The menuoption to be deselected.
312
604
  */
313
- handleLocalSelectState(option) {
314
- option.setAttribute('selected', '');
315
- option.classList.add('active');
316
- option.ariaSelected = true;
605
+ handleDeselectState(option) {
606
+ if (this.multiSelect && Array.isArray(this.value)) {
607
+ // Remove this option from array
608
+ this.value = this.value.filter((val) => val !== option.value);
609
+
610
+ // If array is empty after removal, set back to undefined
611
+ if (this.value.length === 0) {
612
+ this.value = undefined;
613
+ }
317
614
 
318
- this.value = option.value;
319
- this.optionSelected = option;
615
+ this.optionSelected = this.optionSelected.filter((val) => val !== option);
616
+ if (this.optionSelected.length === 0) {
617
+ this.optionSelected = undefined;
618
+ }
619
+ } else {
620
+ // For single-select: Back to undefined when deselected
621
+ this.value = undefined;
622
+ this.optionSelected = undefined;
623
+ }
624
+
625
+ // Update the index tracking
320
626
  this.index = this.items.indexOf(option);
627
+
628
+ // Update UI to reflect changes
629
+ this.updateItemsState(new Map([
630
+ [
631
+ 'optionSelected',
632
+ true
633
+ ]
634
+ ]));
635
+
636
+ // Notify of selection change
637
+ this.notifySelectionChange();
321
638
  }
322
639
 
323
640
  /**
324
- * Notify selection change.
641
+ * Resets all options to their default state.
325
642
  * @private
326
- * @return {void}
327
643
  */
328
- notifySelectionChange() {
329
- this.dispatchEvent(new CustomEvent('auroMenu-selectedOption', {
330
- bubbles: true,
331
- cancelable: false,
332
- composed: true,
333
- }));
644
+ clearSelection() {
645
+ this.optionSelected = undefined;
646
+ this.value = undefined;
334
647
  }
335
648
 
336
649
  /**
337
- * Process actions for making making a menuoption selection.
650
+ * Resets the menu to its initial state.
651
+ * This is the only way to return value to undefined.
652
+ * @public
338
653
  */
339
- makeSelection() {
340
- if (!this.items) {
341
- this.initItems();
342
- }
654
+ reset() {
655
+ // Reset to undefined - initial state
656
+ this.value = undefined;
657
+ this.optionSelected = undefined;
658
+ this.index = -1;
659
+
660
+ // Reset UI state
661
+ this.updateItemsState(new Map([
662
+ [
663
+ 'optionSelected',
664
+ true
665
+ ]
666
+ ]));
667
+
668
+ // Dispatch reset event
669
+ dispatchMenuEvent(this, 'auroMenu-selectValueReset');
670
+ }
343
671
 
344
- if (this.items[this.index] && !this.items[this.index].hasAttribute('disabled')) {
345
- this.resetOptionsStates();
346
-
347
- if (this.index >= 0) {
348
- const option = this.items[this.index];
349
-
350
- // only handle options that are not disabled, hidden or static
351
- if (option && this.optionInteractive(option)) {
352
- // fire custom event if defined otherwise make selection
353
- if (option.hasAttribute('event')) {
354
- this.dispatchEvent(new CustomEvent(option.getAttribute('event'), {
355
- bubbles: true,
356
- cancelable: false,
357
- composed: true,
358
- }));
359
-
360
- this.dispatchEvent(new CustomEvent('auroMenu-customEventFired', {
361
- bubbles: true,
362
- cancelable: false,
363
- composed: true,
364
- }));
365
- } else {
366
- this.handleLocalSelectState(option);
367
- }
368
- }
672
+ /**
673
+ * Handles nested menu structure.
674
+ * @private
675
+ * @param {HTMLElement} menu - Root menu element.
676
+ */
677
+ handleNestedMenus(menu) {
678
+ const nestedMenus = menu.querySelectorAll('auro-menu, [auro-menu]');
679
+
680
+ nestedMenus.forEach((nestedMenu) => {
681
+ // role="listbox" only allows "role=group" for children.
682
+ nestedMenu.setAttribute('role', 'group');
683
+ if (!nestedMenu.hasAttribute('aria-label')) {
684
+ nestedMenu.setAttribute('aria-label', 'submenu');
369
685
  }
370
- }
371
686
 
372
- this.notifySelectionChange();
687
+ const options = nestedMenu.querySelectorAll(':scope > auro-menuoption, :scope > [auro-menuoption]');
688
+ options.forEach((option) => {
689
+ option.innerHTML = this.nestingSpacer + option.innerHTML;
690
+ });
691
+
692
+ this.handleNestedMenus(nestedMenu);
693
+ });
373
694
  }
374
695
 
696
+ // Event Handlers
697
+
375
698
  /**
376
- * Manage ArrowDown, ArrowUp and Enter keyboard events.
699
+ * Handles keyboard navigation.
377
700
  * @private
378
- * @param {Object} event - Event object from the browser.
701
+ * @param {KeyboardEvent} event - Event object from the browser.
379
702
  */
380
703
  handleKeyDown(event) {
381
704
  event.preventDefault();
382
-
383
- // With ArrowDown/ArrowUp events, pass new value to selectNextItem()
384
- // With Enter event, set value and apply attrs
385
705
  switch (event.key) {
386
706
  case "ArrowDown":
387
- this.selectNextItem('down');
707
+ this.navigateOptions('down');
388
708
  break;
389
-
390
709
  case "ArrowUp":
391
- this.selectNextItem('up');
710
+ this.navigateOptions('up');
392
711
  break;
393
-
394
712
  case "Enter":
395
713
  this.makeSelection();
396
714
  break;
@@ -398,222 +716,218 @@ class AuroMenu extends r {
398
716
  }
399
717
 
400
718
  /**
401
- * Initializes all menu options in the DOM. This must be re-run every time the options are changed.
719
+ * Makes a selection based on the current index or clicked option.
402
720
  * @private
403
721
  */
404
- initItems() {
405
- this.items = Array.from(this.querySelectorAll('auro-menuoption, [auro-menuoption]'));
406
- this.handleNoCheckmarkAttr();
722
+ makeSelection() {
723
+ if (!this.items) {
724
+ this.initItems();
725
+ }
726
+
727
+ // Get currently selected menu option based on index
728
+ const option = this.items[this.index];
729
+
730
+ // Return early if option is not interactive
731
+ if (!option || !isOptionInteractive(option)) {
732
+ return;
733
+ }
734
+
735
+ // Handle custom events first
736
+ if (option.hasAttribute('event')) {
737
+ this.handleCustomEvent(option);
738
+ return;
739
+ }
740
+
741
+ if (this.multiSelect) {
742
+ // In multiselect, toggle individual selections
743
+ this.toggleOption(option);
744
+ // In single select, only handle selection of new options
745
+ } else if (!this.isOptionSelected(option)) {
746
+ this.clearSelection();
747
+ this.handleSelectState(option);
748
+ }
749
+
750
+ this.notifySelectionChange();
407
751
  }
408
752
 
409
753
  /**
410
- * Sets the index value of the selected item or first non-disabled menuoption.
754
+ * Toggle the selection state of the menuoption.
411
755
  * @private
756
+ * @param {HTMLElement} option - The menuoption to toggle.
412
757
  */
413
- getSelectedIndex() {
414
- // find the first `selected` and not `disabled`, `hidden` or `static` option
415
- const index = this.items.findIndex((option) => option.hasAttribute('selected') && this.optionInteractive(option));
758
+ toggleOption(option) {
759
+ const isCurrentlySelected = this.isOptionSelected(option);
416
760
 
417
- if (index >= 0) {
418
- this.index = index;
419
- this.makeSelection();
761
+ if (isCurrentlySelected) {
762
+ this.handleDeselectState(option);
763
+ } else if (option.value === undefined || option.value === '') {
764
+ dispatchMenuEvent(this, 'auroMenu-selectValueFailure');
765
+ } else {
766
+ this.handleSelectState(option);
420
767
  }
421
768
  }
422
769
 
423
770
  /**
424
- * Using value of current this.index evaluates index
425
- * of next :focus to set based on array of this.items ignoring items
426
- * with disabled attr.
427
- *
428
- * The event.target is not used as the function needs to know where to go,
429
- * versus knowing where it is.
430
- * @param {String} moveDirection - Up or Down based on keyboard event.
771
+ * Handles option selection via mouse.
772
+ * @private
773
+ * @param {MouseEvent} event - Event object from the browser.
431
774
  */
432
- selectNextItem(moveDirection) {
433
- if (this.index >= 0) {
434
- this.items[this.index].classList.remove('active');
435
-
436
- // calculate which is the selection we should focus next
437
- let increment = 0;
438
-
439
- if (moveDirection === 'down') {
440
- increment = 1;
441
- } else if (moveDirection === 'up') {
442
- increment = -1;
443
- }
444
-
445
- this.index += increment;
446
-
447
- // keep looping inside the array of options
448
- if (this.index > this.items.length - 1) {
449
- this.index = 0;
450
- } else if (this.index < 0) {
451
- this.index = this.items.length - 1;
452
- }
453
-
454
- // check if new index is disabled, static or hidden, if so, execute again
455
- if (!this.optionInteractive(this.items[this.index])) {
456
- this.selectNextItem(moveDirection);
457
- } else {
458
- // apply focus to new index
459
- this.updateActiveOption(this.index);
460
- }
461
- } else {
462
- this.index = 0;
775
+ handleMouseSelect(event) {
776
+ if (event.target === this) {
777
+ return;
778
+ }
463
779
 
464
- if (this.items[this.index].hasAttribute('hidden') || this.items[this.index].hasAttribute('disabled')) {
465
- this.selectNextItem(moveDirection);
466
- } else {
467
- this.updateActiveOption(this.index);
468
- }
780
+ const option = event.target.closest('auro-menuoption, [auro-menuoption]');
781
+ if (option) {
782
+ this.index = this.items.indexOf(option);
783
+ this.makeSelection();
469
784
  }
470
785
  }
471
786
 
472
787
  /**
473
- * Used for applying indentation to each level of nested menu.
788
+ * Handles option hover events.
474
789
  * @private
475
- * @param {String} menu - Root level menu object.
790
+ * @param {CustomEvent} event - Event object from the browser.
476
791
  */
477
- handleNestedMenus(menu) {
478
- const nestedMenus = menu.querySelectorAll('auro-menu, [auro-menu');
792
+ handleOptionHover(event) {
793
+ const option = event.target;
794
+ this.index = this.items.indexOf(option);
795
+ this.updateActiveOption(this.index);
796
+ }
479
797
 
480
- if (nestedMenus.length === 0) {
481
- return;
798
+ /**
799
+ * Handles slot change events.
800
+ * @private
801
+ */
802
+ handleSlotChange() {
803
+ if (this.parentElement && this.parentElement.closest('auro-menu, [auro-menu]')) {
804
+ this.rootMenu = false;
482
805
  }
483
806
 
484
- nestedMenus.forEach((nestedMenu) => {
485
- const options = nestedMenu.querySelectorAll(':scope > auro-menuoption, :scope > [auro-menuoption');
486
-
487
- options.forEach((option) => {
488
- option.innerHTML = this.nestingSpacer + option.innerHTML;
489
- });
490
-
491
- this.handleNestedMenus(nestedMenu);
492
- });
807
+ if (this.rootMenu) {
808
+ this.initializeMenu();
809
+ } else if (this.noCheckmark) {
810
+ this.updateItemsState(new Map([
811
+ [
812
+ 'noCheckmark',
813
+ true
814
+ ]
815
+ ]));
816
+ }
493
817
  }
494
818
 
495
819
  /**
496
- * Method to apply `selected` attribute to `menuoption` via `value`.
820
+ * Navigates through options using keyboard.
497
821
  * @private
498
- * @param {String} value - Must match a unique `menuoption` value.
822
+ * @param {string} direction - 'up' or 'down'.
499
823
  */
500
- selectByValue(value) {
501
- let valueMatch = false;
502
- if (!this.items) {
503
- this.initItems();
824
+ navigateOptions(direction) {
825
+ // Return early if no items exist
826
+ if (!this.items || !this.items.length) {
827
+ return;
504
828
  }
505
829
 
506
- this.index = undefined;
830
+ let newIndex = this.index;
831
+ const increment = direction === 'down' ? 1 : -1;
832
+ const maxIterations = this.items.length;
833
+ let iterations = 0;
834
+ let foundInteractiveOption = false;
507
835
 
508
- if (this.value && this.value.length > 0) {
509
- for (let index = 0; index < this.items.length; index += 1) {
510
- if (this.items[index].value === value) {
511
- valueMatch = true;
512
- this.index = index;
513
- }
514
- }
836
+ do {
837
+ newIndex = (newIndex + increment + this.items.length) % this.items.length;
838
+ iterations += 1;
515
839
 
516
- if (!valueMatch) {
517
- // reset the menu to no selection
518
- this.index = undefined;
840
+ // Check if current option is interactive
841
+ const currentOption = this.items[newIndex];
842
+ if (isOptionInteractive(currentOption)) {
843
+ foundInteractiveOption = true;
844
+ break;
845
+ }
519
846
 
520
- this.dispatchEvent(new CustomEvent('auroMenu-selectValueFailure', {
521
- bubbles: true,
522
- cancelable: false,
523
- composed: true,
524
- }));
525
- } else {
526
- this.makeSelection();
847
+ // Break if all options were checked
848
+ if (iterations >= maxIterations) {
849
+ break;
527
850
  }
528
- } else {
529
- this.resetOptionsStates();
851
+ } while (iterations < maxIterations);
530
852
 
531
- this.dispatchEvent(new CustomEvent('auroMenu-selectValueReset', {
532
- bubbles: true,
533
- cancelable: false,
534
- composed: true,
535
- }));
853
+ // Handle the results of the search
854
+ if (foundInteractiveOption) {
855
+ // Update only if an interactive option was found
856
+ this.index = newIndex;
857
+ this.updateActiveOption(this.index);
858
+ } else {
859
+ // All options are disabled or non-interactive
860
+ // Keep the current index unchanged
861
+ dispatchMenuEvent(this, 'auroMenu-navigateFailure', {
862
+ reason: 'No interactive options available',
863
+ direction,
864
+ currentIndex: this.index
865
+ });
536
866
  }
537
867
  }
538
868
 
539
869
  /**
540
- * Used to make the active state for options follow mouseover.
541
- * @param {Number} index - Index of the menuoption that will be made active.
870
+ * Updates the active option state and dispatches events.
542
871
  * @private
872
+ * @param {number} index - Index of the option to make active.
543
873
  */
544
874
  updateActiveOption(index) {
545
- this.items.forEach((item) => {
546
- item.classList.remove('active');
547
- });
875
+ if (!this.items || !this.items[index]) {
876
+ return;
877
+ }
878
+
879
+ this.items.forEach((item) => item.classList.remove('active'));
548
880
  this.items[index].classList.add('active');
549
881
  this.optionActive = this.items[index];
550
882
 
551
- this.dispatchEvent(new CustomEvent('auroMenu-activatedOption', {
552
- bubbles: true,
553
- cancelable: false,
554
- composed: true,
555
- detail: this.items[index]
556
- }));
883
+ dispatchMenuEvent(this, 'auroMenu-activatedOption', this.items[index]);
557
884
  }
558
885
 
559
886
  /**
560
- * Used to only make a selection when a menuoption is receiving a mousedown event.
561
- * @param {Event} evt - Mousedown event.
887
+ * Handles custom events defined on options.
562
888
  * @private
889
+ * @param {HTMLElement} option - Option with custom event.
563
890
  */
564
- handleMenuMouseDown(evt) {
565
- if (evt.target !== this) {
566
- this.makeSelection();
567
- }
891
+ handleCustomEvent(option) {
892
+ const eventName = option.getAttribute('event');
893
+ dispatchMenuEvent(this, eventName);
894
+ dispatchMenuEvent(this, 'auroMenu-customEventFired');
568
895
  }
569
896
 
570
897
  /**
571
- * Checks if there are any loading placeholders in the component.
572
- *
573
- * This getter evaluates the `loadingSlots` collection to determine if it contains any items.
574
- * If the size of the collection is greater than zero, it indicates the presence of loading
575
- * placeholders, returning true; otherwise, it returns false.
576
- *
577
- * @getter hasLoadingPlaceholder
578
- * @type {boolean}
579
- * @returns {boolean} Returns true if loading placeholders exist; false otherwise.
898
+ * Notifies selection change to parent components.
899
+ * @private
580
900
  */
581
- get hasLoadingPlaceholder() {
582
- return this.loadingSlots.length > 0;
901
+ notifySelectionChange() {
902
+ dispatchMenuEvent(this, 'auroMenu-selectedOption');
583
903
  }
584
904
 
585
905
  /**
586
- * Used for @slotchange event on slotted element.
906
+ * Checks if an option is currently selected.
587
907
  * @private
908
+ * @param {HTMLElement} option - The option to check.
909
+ * @returns {boolean}
588
910
  */
589
- handleSlotItems() {
590
- // Determine if this is the root of the menu/submenu layout.
591
- if (this.parentElement && this.parentElement.closest('auro-menu, [auro-menu]')) {
592
- this.rootMenu = false;
911
+ isOptionSelected(option) {
912
+ if (!this.optionSelected) {
913
+ return false;
593
914
  }
915
+ // Always treat as array for both single and multi-select
916
+ return Array.isArray(this.optionSelected) && this.optionSelected.includes(option);
917
+ }
594
918
 
595
- // If this is the root menu (not a nested menu) handle events, states and styling.
596
- if (this.rootMenu) {
597
- this.initItems();
598
- this.setAttribute('role', 'listbox');
599
- this.setAttribute('root', '');
600
- this.handleNestedMenus(this);
601
- this.markOptions();
602
- this.index = -1;
603
- this.getSelectedIndex();
604
-
605
- this.addEventListener('keydown', this.handleKeyDown);
606
- this.addEventListener('mousedown', this.handleMenuMouseDown);
607
- this.addEventListener('auroMenuOption-mouseover', (evt) => {
608
- this.index = this.items.indexOf(evt.target);
609
- this.updateActiveOption(this.index);
610
- });
611
- } else {
612
- // make sure to update all menuoption noCheckmark attributes when the menu is dynamically changed
613
- this.handleNoCheckmarkAttr();
614
- }
919
+ /**
920
+ * Getter for loading placeholder state.
921
+ * @returns {boolean} - True if loading slots are present and non-empty.
922
+ */
923
+ get hasLoadingPlaceholder() {
924
+ return this.loadingSlots && this.loadingSlots.length > 0;
615
925
  }
616
926
 
927
+ /**
928
+ * Renders the component.
929
+ * @returns {boolean} - True if loading slots are present and non-empty.
930
+ */
617
931
  render() {
618
932
  if (this.loading) {
619
933
  return x`
@@ -625,7 +939,8 @@ class AuroMenu extends r {
625
939
  </auro-menuoption>
626
940
  `;
627
941
  }
628
- return x`<slot @slotchange=${this.handleSlotItems}></slot>`;
942
+
943
+ return x`<slot @slotchange=${this.handleSlotChange}></slot>`;
629
944
  }
630
945
  }
631
946
 
@@ -634,7 +949,7 @@ class AuroMenu extends r {
634
949
  * Copyright 2020 Google LLC
635
950
  * SPDX-License-Identifier: BSD-3-Clause
636
951
  */
637
- 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(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}),l=new Map,n=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$1(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.get(t))&&(n.raw=n,l.set(t,r=n)),e=u;}return t(r,...e)},u=n(x);
952
+ 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);
638
953
 
639
954
  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}`;
640
955
 
@@ -691,7 +1006,7 @@ const t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e
691
1006
  * @license
692
1007
  * Copyright 2018 Google LLC
693
1008
  * SPDX-License-Identifier: BSD-3-Clause
694
- */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}});
1009
+ */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}});
695
1010
 
696
1011
  /**
697
1012
  * @license