@aurodesignsystem/auro-formkit 1.6.0-beta.6 → 1.6.0-beta.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (248) hide show
  1. package/.turbo/cache/0008b92c8752bf75-meta.json +1 -0
  2. package/.turbo/cache/{2ca214d032893e74.tar.zst → 0008b92c8752bf75.tar.zst} +0 -0
  3. package/.turbo/cache/00cb38bef1105dac-meta.json +1 -0
  4. package/.turbo/cache/0157ec8abdaf2a9c-meta.json +1 -0
  5. package/.turbo/cache/0636e9cedc83238b-meta.json +1 -0
  6. package/.turbo/cache/06f476671015e973-meta.json +1 -0
  7. package/.turbo/cache/06f476671015e973.tar.zst +0 -0
  8. package/.turbo/cache/09df74d672102662-meta.json +1 -0
  9. package/.turbo/cache/0cd109fb3183c2e6-meta.json +1 -0
  10. package/.turbo/cache/0cd109fb3183c2e6.tar.zst +0 -0
  11. package/.turbo/cache/17c429ade621ffcb-meta.json +1 -0
  12. package/.turbo/cache/1c47128a0e12fcfa-meta.json +1 -0
  13. package/.turbo/cache/1db02f756ce85784-meta.json +1 -0
  14. package/.turbo/cache/21705fa179d5f820-meta.json +1 -0
  15. package/.turbo/cache/21705fa179d5f820.tar.zst +0 -0
  16. package/.turbo/cache/249d9ba3ee6aa1cb-meta.json +1 -0
  17. package/.turbo/cache/2666b96bfcf4e9cd-meta.json +1 -0
  18. package/.turbo/cache/2778d5e895240cd1-meta.json +1 -0
  19. package/.turbo/cache/300b59df2de12b46-meta.json +1 -0
  20. package/.turbo/cache/31729e74fccaafb0-meta.json +1 -0
  21. package/.turbo/cache/32702694d62a08ac-meta.json +1 -0
  22. package/.turbo/cache/32702694d62a08ac.tar.zst +0 -0
  23. package/.turbo/cache/3482a3cba9a51c2d-meta.json +1 -0
  24. package/.turbo/cache/3482a3cba9a51c2d.tar.zst +0 -0
  25. package/.turbo/cache/3a9d73752f23a40a-meta.json +1 -0
  26. package/.turbo/cache/3a9d73752f23a40a.tar.zst +0 -0
  27. package/.turbo/cache/3afe2e6f714a4fcb-meta.json +1 -0
  28. package/.turbo/cache/3afe2e6f714a4fcb.tar.zst +0 -0
  29. package/.turbo/cache/408ea1754276298c-meta.json +1 -0
  30. package/.turbo/cache/408ea1754276298c.tar.zst +0 -0
  31. package/.turbo/cache/42066c793c3816f3-meta.json +1 -0
  32. package/.turbo/cache/4bec46ffff6fd2e8-meta.json +1 -0
  33. package/.turbo/cache/50b275350abe14dd-meta.json +1 -0
  34. package/.turbo/cache/51078a087b52c65e-meta.json +1 -0
  35. package/.turbo/cache/593ddf689673e305-meta.json +1 -0
  36. package/.turbo/cache/593ddf689673e305.tar.zst +0 -0
  37. package/.turbo/cache/64e4f18395bd4461-meta.json +1 -0
  38. package/.turbo/cache/64e4f18395bd4461.tar.zst +0 -0
  39. package/.turbo/cache/7419ef01dc18b433-meta.json +1 -0
  40. package/.turbo/cache/7419ef01dc18b433.tar.zst +0 -0
  41. package/.turbo/cache/748faca09d14fea7-meta.json +1 -0
  42. package/.turbo/cache/75495b0bbd6c06a7-meta.json +1 -0
  43. package/.turbo/cache/7a6a8af4392c4b05-meta.json +1 -0
  44. package/.turbo/cache/7a6a8af4392c4b05.tar.zst +0 -0
  45. package/.turbo/cache/7e81141e0140dd3a-meta.json +1 -0
  46. package/.turbo/cache/7e81141e0140dd3a.tar.zst +0 -0
  47. package/.turbo/cache/7eb50d96639e6dd4-meta.json +1 -0
  48. package/.turbo/cache/83bb78fec13808d0-meta.json +1 -0
  49. package/.turbo/cache/8605f60efb7d3957-meta.json +1 -0
  50. package/.turbo/cache/8605f60efb7d3957.tar.zst +0 -0
  51. package/.turbo/cache/892a90b62716ded5-meta.json +1 -0
  52. package/.turbo/cache/8cac06ca809bd2b1-meta.json +1 -0
  53. package/.turbo/cache/9a908bf8f82c84a6-meta.json +1 -0
  54. package/.turbo/cache/9ed3089ffd7d0c00-meta.json +1 -0
  55. package/.turbo/cache/a3a879aea25debf8-meta.json +1 -0
  56. package/.turbo/cache/a8dbafaf6177f677-meta.json +1 -0
  57. package/.turbo/cache/a8dbafaf6177f677.tar.zst +0 -0
  58. package/.turbo/cache/a8f6418b830ef0ba-meta.json +1 -0
  59. package/.turbo/cache/afd81e4f9d4bb74d-meta.json +1 -0
  60. package/.turbo/cache/afd81e4f9d4bb74d.tar.zst +0 -0
  61. package/.turbo/cache/b37b0eb5597e160f-meta.json +1 -0
  62. package/.turbo/cache/b7e7a8c425673f7c-meta.json +1 -0
  63. package/.turbo/cache/bc8eed3d7216f5b7-meta.json +1 -0
  64. package/.turbo/cache/bde11c3029373459-meta.json +1 -0
  65. package/.turbo/cache/c8e5fe6aec4479f5-meta.json +1 -0
  66. package/.turbo/cache/{754a6b5c5ce1ed00.tar.zst → c8e5fe6aec4479f5.tar.zst} +0 -0
  67. package/.turbo/cache/d0e874a9a71c9468-meta.json +1 -0
  68. package/.turbo/cache/d61b4e1bde4c0a12-meta.json +1 -0
  69. package/.turbo/cache/db6dedc0e7a12575-meta.json +1 -0
  70. package/.turbo/cache/db6dedc0e7a12575.tar.zst +0 -0
  71. package/.turbo/cache/de9737607345ec54-meta.json +1 -0
  72. package/.turbo/cache/de9737607345ec54.tar.zst +0 -0
  73. package/.turbo/cache/e234aa902b2c5b30-meta.json +1 -0
  74. package/.turbo/cache/e234aa902b2c5b30.tar.zst +0 -0
  75. package/.turbo/cache/e541225f46f7cf86-meta.json +1 -0
  76. package/.turbo/cache/e67ac30b07d9e800-meta.json +1 -0
  77. package/.turbo/cache/e67ac30b07d9e800.tar.zst +0 -0
  78. package/.turbo/cache/e7244fdd3397eba7-meta.json +1 -0
  79. package/.turbo/cache/e7cf2cc625bd92b3-meta.json +1 -0
  80. package/.turbo/cache/e89a401ebdda3fc2-meta.json +1 -0
  81. package/CHANGELOG.md +27 -0
  82. package/components/checkbox/.turbo/turbo-build.log +3 -3
  83. package/components/checkbox/.turbo/turbo-bundler.log +3 -3
  84. package/components/combobox/.turbo/turbo-build.log +6 -3
  85. package/components/combobox/demo/api.html +1 -0
  86. package/components/combobox/demo/api.js +2 -0
  87. package/components/combobox/demo/api.md +73 -0
  88. package/components/combobox/demo/api.min.js +962 -835
  89. package/components/combobox/demo/index.min.js +920 -832
  90. package/components/combobox/dist/auro-combobox.d.ts +20 -0
  91. package/components/combobox/dist/auro-combobox.d.ts.map +1 -1
  92. package/components/combobox/dist/index.js +58 -22
  93. package/components/combobox/src/auro-combobox.js +58 -22
  94. package/components/counter/.turbo/turbo-build.log +3 -3
  95. package/components/counter/.turbo/turbo-bundler.log +3 -3
  96. package/components/datepicker/.turbo/turbo-build.log +3 -3
  97. package/components/dropdown/.turbo/turbo-build.log +3 -3
  98. package/components/dropdown/.turbo/turbo-bundler.log +3 -3
  99. package/components/form/.turbo/turbo-build.log +3 -3
  100. package/components/form/.turbo/turbo-bundler.log +3 -3
  101. package/components/input/.turbo/turbo-build.log +3 -3
  102. package/components/input/.turbo/turbo-bundler.log +3 -3
  103. package/components/menu/.turbo/turbo-build.log +6 -3
  104. package/components/menu/.turbo/turbo-bundler.log +3 -3
  105. package/components/menu/demo/api.html +2 -0
  106. package/components/menu/demo/api.js +2 -0
  107. package/components/menu/demo/api.md +164 -22
  108. package/components/menu/demo/api.min.js +912 -853
  109. package/components/menu/demo/index.min.js +905 -853
  110. package/components/menu/dist/auro-menu.d.ts +28 -2
  111. package/components/menu/dist/auro-menu.d.ts.map +1 -1
  112. package/components/menu/dist/auro-menuoption.d.ts +1 -1
  113. package/components/menu/dist/index.js +905 -853
  114. package/components/menu/src/auro-menu.js +57 -7
  115. package/components/menu/src/auro-menuoption.js +1 -1
  116. package/components/menu/src/styles/style-menu-css.js +1 -1
  117. package/components/menu/src/styles/style-menu.css +21 -3
  118. package/components/menu/src/styles/style-menu.scss +25 -3
  119. package/components/radio/.turbo/turbo-build.log +3 -3
  120. package/components/radio/.turbo/turbo-bundler.log +3 -3
  121. package/components/select/.turbo/turbo-build.log +6 -3
  122. package/components/select/demo/api.html +1 -0
  123. package/components/select/demo/api.js +2 -0
  124. package/components/select/demo/api.md +66 -0
  125. package/components/select/demo/api.min.js +927 -811
  126. package/components/select/demo/index.min.js +895 -811
  127. package/components/select/dist/auro-select.d.ts +19 -0
  128. package/components/select/dist/auro-select.d.ts.map +1 -1
  129. package/components/select/dist/index.js +32 -0
  130. package/components/select/src/auro-select.js +32 -0
  131. package/package.json +3 -3
  132. package/packages/build-tools/src/docProcessor.mjs +4 -4
  133. package/packages/build-tools/src/kitDocProcessor.mjs +4 -4
  134. package/packages/typescript/package.json +1 -1
  135. package/.turbo/cache/05be1236a4cd5e72-meta.json +0 -1
  136. package/.turbo/cache/05be1236a4cd5e72.tar.zst +0 -0
  137. package/.turbo/cache/10feda0f037804bb-meta.json +0 -1
  138. package/.turbo/cache/11079d2746265545-meta.json +0 -1
  139. package/.turbo/cache/11079d2746265545.tar.zst +0 -0
  140. package/.turbo/cache/144e8e78657bf800-meta.json +0 -1
  141. package/.turbo/cache/18939b2c7c83b163-meta.json +0 -1
  142. package/.turbo/cache/1de685df0eaa39c8-meta.json +0 -1
  143. package/.turbo/cache/1ec139dcf090d547-meta.json +0 -1
  144. package/.turbo/cache/1f53ce3a28c56cdf-meta.json +0 -1
  145. package/.turbo/cache/23bf100310bd9f5a-meta.json +0 -1
  146. package/.turbo/cache/2900e7ec28e1488f-meta.json +0 -1
  147. package/.turbo/cache/296074aadfa2f8c9-meta.json +0 -1
  148. package/.turbo/cache/296074aadfa2f8c9.tar.zst +0 -0
  149. package/.turbo/cache/29e29355bf6fb4fd-meta.json +0 -1
  150. package/.turbo/cache/2ca214d032893e74-meta.json +0 -1
  151. package/.turbo/cache/2f6c898fbb51e995-meta.json +0 -1
  152. package/.turbo/cache/2f6c898fbb51e995.tar.zst +0 -0
  153. package/.turbo/cache/3073b96f6e4d867c-meta.json +0 -1
  154. package/.turbo/cache/33466ea2930c3714-meta.json +0 -1
  155. package/.turbo/cache/3792d285b464b3e6-meta.json +0 -1
  156. package/.turbo/cache/3792d285b464b3e6.tar.zst +0 -0
  157. package/.turbo/cache/3ac4a22a21bdc2be-meta.json +0 -1
  158. package/.turbo/cache/3ac4a22a21bdc2be.tar.zst +0 -0
  159. package/.turbo/cache/3f41d958c755a6f0-meta.json +0 -1
  160. package/.turbo/cache/3f41d958c755a6f0.tar.zst +0 -0
  161. package/.turbo/cache/451e562c76f74ec6-meta.json +0 -1
  162. package/.turbo/cache/4520919609c97850-meta.json +0 -1
  163. package/.turbo/cache/452908d0b0b676bc-meta.json +0 -1
  164. package/.turbo/cache/48c197e39ed31fd2-meta.json +0 -1
  165. package/.turbo/cache/48c197e39ed31fd2.tar.zst +0 -0
  166. package/.turbo/cache/5058ecc7f1e34496-meta.json +0 -1
  167. package/.turbo/cache/5a66a99aa1344401-meta.json +0 -1
  168. package/.turbo/cache/5b66ce21630716cc-meta.json +0 -1
  169. package/.turbo/cache/5d064e768a262314-meta.json +0 -1
  170. package/.turbo/cache/5d064e768a262314.tar.zst +0 -0
  171. package/.turbo/cache/6646f884a18a970a-meta.json +0 -1
  172. package/.turbo/cache/6646f884a18a970a.tar.zst +0 -0
  173. package/.turbo/cache/70d7b72f15ee97a4-meta.json +0 -1
  174. package/.turbo/cache/71212615220331ea-meta.json +0 -1
  175. package/.turbo/cache/71212615220331ea.tar.zst +0 -0
  176. package/.turbo/cache/754a6b5c5ce1ed00-meta.json +0 -1
  177. package/.turbo/cache/77bf3068f493ef24-meta.json +0 -1
  178. package/.turbo/cache/77bf3068f493ef24.tar.zst +0 -0
  179. package/.turbo/cache/7ddb7ace73fe6ec2-meta.json +0 -1
  180. package/.turbo/cache/7ddb7ace73fe6ec2.tar.zst +0 -0
  181. package/.turbo/cache/897b0d8a0c301207-meta.json +0 -1
  182. package/.turbo/cache/8b7cdb9a0d4c3112-meta.json +0 -1
  183. package/.turbo/cache/8e1f402b247ebed6-meta.json +0 -1
  184. package/.turbo/cache/8e1f402b247ebed6.tar.zst +0 -0
  185. package/.turbo/cache/90b8d9ccef5e09aa-meta.json +0 -1
  186. package/.turbo/cache/9135f474c69d1b3c-meta.json +0 -1
  187. package/.turbo/cache/9135f474c69d1b3c.tar.zst +0 -0
  188. package/.turbo/cache/936bccb44ade3650-meta.json +0 -1
  189. package/.turbo/cache/94bcc4c6536ada9d-meta.json +0 -1
  190. package/.turbo/cache/9a7ab914e08ce75f-meta.json +0 -1
  191. package/.turbo/cache/9a7ab914e08ce75f.tar.zst +0 -0
  192. package/.turbo/cache/a532f4b8302ca13e-meta.json +0 -1
  193. package/.turbo/cache/a7bf477bbdabc7bc-meta.json +0 -1
  194. package/.turbo/cache/a90aa34f427a2f62-meta.json +0 -1
  195. package/.turbo/cache/aa68cd3545395c90-meta.json +0 -1
  196. package/.turbo/cache/aa68cd3545395c90.tar.zst +0 -0
  197. package/.turbo/cache/aedda428051043c4-meta.json +0 -1
  198. package/.turbo/cache/b61416daf63fbaad-meta.json +0 -1
  199. package/.turbo/cache/b9463532618cdc61-meta.json +0 -1
  200. package/.turbo/cache/bb3afea40c91e8ba-meta.json +0 -1
  201. package/.turbo/cache/c63dc7b6157da70b-meta.json +0 -1
  202. package/.turbo/cache/c8b63b6e8a190eb9-meta.json +0 -1
  203. package/.turbo/cache/d35b1eee9f2881af-meta.json +0 -1
  204. package/.turbo/cache/d5188c0fbe45d578-meta.json +0 -1
  205. package/.turbo/cache/dce6f67be2b63c18-meta.json +0 -1
  206. package/.turbo/cache/dce6f67be2b63c18.tar.zst +0 -0
  207. package/.turbo/cache/e28ee527154c4cb2-meta.json +0 -1
  208. package/.turbo/cache/e28ee527154c4cb2.tar.zst +0 -0
  209. package/.turbo/cache/e4b3ec56d4ae56ba-meta.json +0 -1
  210. package/.turbo/cache/e6f030eddf6fbf4e-meta.json +0 -1
  211. package/.turbo/cache/ff7e6d09efd93145-meta.json +0 -1
  212. package/.turbo/cache/ff7e6d09efd93145.tar.zst +0 -0
  213. /package/.turbo/cache/{e6f030eddf6fbf4e.tar.zst → 00cb38bef1105dac.tar.zst} +0 -0
  214. /package/.turbo/cache/{1f53ce3a28c56cdf.tar.zst → 0157ec8abdaf2a9c.tar.zst} +0 -0
  215. /package/.turbo/cache/{94bcc4c6536ada9d.tar.zst → 0636e9cedc83238b.tar.zst} +0 -0
  216. /package/.turbo/cache/{90b8d9ccef5e09aa.tar.zst → 09df74d672102662.tar.zst} +0 -0
  217. /package/.turbo/cache/{a90aa34f427a2f62.tar.zst → 17c429ade621ffcb.tar.zst} +0 -0
  218. /package/.turbo/cache/{936bccb44ade3650.tar.zst → 1c47128a0e12fcfa.tar.zst} +0 -0
  219. /package/.turbo/cache/{18939b2c7c83b163.tar.zst → 1db02f756ce85784.tar.zst} +0 -0
  220. /package/.turbo/cache/{10feda0f037804bb.tar.zst → 249d9ba3ee6aa1cb.tar.zst} +0 -0
  221. /package/.turbo/cache/{a7bf477bbdabc7bc.tar.zst → 2666b96bfcf4e9cd.tar.zst} +0 -0
  222. /package/.turbo/cache/{70d7b72f15ee97a4.tar.zst → 2778d5e895240cd1.tar.zst} +0 -0
  223. /package/.turbo/cache/{5b66ce21630716cc.tar.zst → 300b59df2de12b46.tar.zst} +0 -0
  224. /package/.turbo/cache/{5058ecc7f1e34496.tar.zst → 31729e74fccaafb0.tar.zst} +0 -0
  225. /package/.turbo/cache/{aedda428051043c4.tar.zst → 42066c793c3816f3.tar.zst} +0 -0
  226. /package/.turbo/cache/{bb3afea40c91e8ba.tar.zst → 4bec46ffff6fd2e8.tar.zst} +0 -0
  227. /package/.turbo/cache/{452908d0b0b676bc.tar.zst → 50b275350abe14dd.tar.zst} +0 -0
  228. /package/.turbo/cache/{23bf100310bd9f5a.tar.zst → 51078a087b52c65e.tar.zst} +0 -0
  229. /package/.turbo/cache/{1ec139dcf090d547.tar.zst → 748faca09d14fea7.tar.zst} +0 -0
  230. /package/.turbo/cache/{5a66a99aa1344401.tar.zst → 75495b0bbd6c06a7.tar.zst} +0 -0
  231. /package/.turbo/cache/{a532f4b8302ca13e.tar.zst → 7eb50d96639e6dd4.tar.zst} +0 -0
  232. /package/.turbo/cache/{1de685df0eaa39c8.tar.zst → 83bb78fec13808d0.tar.zst} +0 -0
  233. /package/.turbo/cache/{2900e7ec28e1488f.tar.zst → 892a90b62716ded5.tar.zst} +0 -0
  234. /package/.turbo/cache/{d5188c0fbe45d578.tar.zst → 8cac06ca809bd2b1.tar.zst} +0 -0
  235. /package/.turbo/cache/{451e562c76f74ec6.tar.zst → 9a908bf8f82c84a6.tar.zst} +0 -0
  236. /package/.turbo/cache/{144e8e78657bf800.tar.zst → 9ed3089ffd7d0c00.tar.zst} +0 -0
  237. /package/.turbo/cache/{4520919609c97850.tar.zst → a3a879aea25debf8.tar.zst} +0 -0
  238. /package/.turbo/cache/{33466ea2930c3714.tar.zst → a8f6418b830ef0ba.tar.zst} +0 -0
  239. /package/.turbo/cache/{b61416daf63fbaad.tar.zst → b37b0eb5597e160f.tar.zst} +0 -0
  240. /package/.turbo/cache/{29e29355bf6fb4fd.tar.zst → b7e7a8c425673f7c.tar.zst} +0 -0
  241. /package/.turbo/cache/{3073b96f6e4d867c.tar.zst → bc8eed3d7216f5b7.tar.zst} +0 -0
  242. /package/.turbo/cache/{d35b1eee9f2881af.tar.zst → bde11c3029373459.tar.zst} +0 -0
  243. /package/.turbo/cache/{e4b3ec56d4ae56ba.tar.zst → d0e874a9a71c9468.tar.zst} +0 -0
  244. /package/.turbo/cache/{8b7cdb9a0d4c3112.tar.zst → d61b4e1bde4c0a12.tar.zst} +0 -0
  245. /package/.turbo/cache/{b9463532618cdc61.tar.zst → e541225f46f7cf86.tar.zst} +0 -0
  246. /package/.turbo/cache/{897b0d8a0c301207.tar.zst → e7244fdd3397eba7.tar.zst} +0 -0
  247. /package/.turbo/cache/{c63dc7b6157da70b.tar.zst → e7cf2cc625bd92b3.tar.zst} +0 -0
  248. /package/.turbo/cache/{c8b63b6e8a190eb9.tar.zst → e89a401ebdda3fc2.tar.zst} +0 -0
@@ -3281,6 +3281,11 @@ class AuroSelect extends r$4 {
3281
3281
  * @private
3282
3282
  */
3283
3283
  this.dropdownTag = versioning.generateTag('auro-dropdown', dropdownVersion, AuroDropdown);
3284
+
3285
+ /**
3286
+ * @private
3287
+ */
3288
+ this.isHiddenWhileLoading = false;
3284
3289
  }
3285
3290
 
3286
3291
  /**
@@ -3433,6 +3438,7 @@ class AuroSelect extends r$4 {
3433
3438
  */
3434
3439
  configureMenu() {
3435
3440
  this.menu = this.querySelector('auro-menu, [auro-menu]');
3441
+ this.menu.addEventListener("auroMenu-loadingChange", (event) => this.handleMenuLoadingChange(event));
3436
3442
  // racing condition on custom-select with custom-menu
3437
3443
  if (!this.menu) {
3438
3444
  setTimeout(() => {
@@ -3542,6 +3548,32 @@ class AuroSelect extends r$4 {
3542
3548
  this.labelForSr();
3543
3549
  }
3544
3550
 
3551
+ /**
3552
+ * Manages the visibility of the dropdown based on loading state changes.
3553
+ *
3554
+ * This method listens for loading state changes and adjusts the visibility of the dropdown accordingly.
3555
+ * If the dropdown is visible and loading is true without any loading placeholders, it hides the dropdown
3556
+ * and sets a flag to indicate it is hidden while loading. If loading is false and the dropdown was previously
3557
+ * hidden, it checks if the active element is within the dropdown and shows it again if true.
3558
+ *
3559
+ * @private
3560
+ * @param {CustomEvent} event - The event object containing details about the loading state change.
3561
+ * @param {boolean} event.detail.loading - Indicates whether the menu is currently loading.
3562
+ * @param {boolean} event.detail.hasLoadingPlaceholder - Indicates if there are loading placeholders present.
3563
+ * @returns {void}
3564
+ */
3565
+ handleMenuLoadingChange(event) {
3566
+ if (this.dropdown.isPopoverVisible && event.detail.loading && !event.detail.hasLoadingPlaceholder) {
3567
+ this.isHiddenWhileLoading = true;
3568
+ this.dropdown.hide();
3569
+ } else if (!event.detail.loading && this.isHiddenWhileLoading) {
3570
+ if (this.contains(document.activeElement)) {
3571
+ this.dropdown.show();
3572
+ }
3573
+ this.isHiddenWhileLoading = false;
3574
+ }
3575
+ }
3576
+
3545
3577
  /**
3546
3578
  * Function to support @focusin event.
3547
3579
  * @private
@@ -3733,1033 +3765,1085 @@ class AuroSelect extends r$4 {
3733
3765
  }
3734
3766
  }
3735
3767
 
3736
- var styleCss$2 = i$b`:root{--ds-asset-font-circular-family-name: "AS Circular";--ds-asset-font-circular-filename: "ASCircularWeb";--ds-asset-font-circular-weight-light: "-Light";--ds-asset-font-circular-weight-medium: "-Medium";--ds-asset-font-circular-weight-book: "-Book";--ds-border-radius: 0.375rem;--ds-size-25: 0.125rem;--ds-size-50: 0.25rem;--ds-size-75: 0.375rem;--ds-size-100: 0.5rem;--ds-size-150: 0.75rem;--ds-size-200: 1rem;--ds-size-250: 1.25rem;--ds-size-300: 1.5rem;--ds-size-400: 2rem;--ds-size-500: 2.5rem;--ds-size-600: 3rem;--ds-size-700: 3.5rem;--ds-size-800: 4rem;--ds-size-900: 4.5rem;--ds-size-1000: 5rem;--ds-unitless-scale-20: 0.25;--ds-unitless-scale-50: 0.5;--ds-unitless-scale-100: 1;--ds-unitless-scale-140: 1.4;--ds-unitless-scale-150: 1.5;--ds-unitless-scale-200: 2;--ds-unitless-scale-300: 3;--ds-unitless-scale-350: 3.5;--ds-animation-default-property: all;--ds-animation-default-duration: 0.3s;--ds-animation-default-timing: ease-out;--ds-depth-overlay: 200;--ds-depth-modal: 300;--ds-depth-tooltip: 400;--ds-elevation-100: 0px 0px 5px rgba(0, 0, 0, 0.15);--ds-elevation-200: 0px 0px 10px rgba(0, 0, 0, 0.15);--ds-elevation-300: 0px 0px 15px rgba(0, 0, 0, 0.2);--ds-grid-breakpoint-xs: 320px;--ds-grid-breakpoint-sm: 576px;--ds-grid-breakpoint-md: 768px;--ds-grid-breakpoint-lg: 1024px;--ds-grid-breakpoint-xl: 1232px;--ds-grid-column-xs: 6;--ds-grid-column-sm: 12;--ds-grid-column-md: 12;--ds-grid-column-lg: 12;--ds-grid-column-xl: 12;--ds-grid-gutter-xs: 0.5rem;--ds-grid-gutter-sm: 1rem;--ds-grid-gutter-md: 1.5rem;--ds-grid-gutter-lg: 1.5rem;--ds-grid-gutter-xl: 2rem;--ds-grid-margin-xs: 1rem;--ds-grid-margin-sm: 1rem;--ds-grid-margin-md: 1.5rem;--ds-grid-margin-lg: 2rem;--ds-grid-margin-xl: 2rem;--ds-font-family-default: "AS Circular", Helvetica Neue, Arial, sans-serif;--ds-font-family-mono: Menlo, Monaco, Consolas, "Courier New", monospace;--ds-text-heading-300-weight: 300;--ds-text-heading-300-px: 18px;--ds-text-heading-300-size: 1.125rem;--ds-text-heading-300-height: 1.625rem;--ds-text-heading-300-height-px: 26px;--ds-text-heading-400-weight: 300;--ds-text-heading-400-px: 20px;--ds-text-heading-400-size: 1.25rem;--ds-text-heading-400-height: 1.625rem;--ds-text-heading-400-height-px: 26px;--ds-text-heading-500-weight: 300;--ds-text-heading-500-px-breakpoint-sm: 22px;--ds-text-heading-500-px-breakpoint-md: 24px;--ds-text-heading-500-px-breakpoint-lg: 24px;--ds-text-heading-500-size-breakpoint-sm: 1.375rem;--ds-text-heading-500-size-breakpoint-md: 1.5rem;--ds-text-heading-500-size-breakpoint-lg: 1.5rem;--ds-text-heading-500-height-breakpoint-sm: 1.625rem;--ds-text-heading-500-height-breakpoint-px-sm: 26px;--ds-text-heading-500-height-breakpoint-md: 1.875rem;--ds-text-heading-500-height-breakpoint-px-md: 30px;--ds-text-heading-500-height-breakpoint-lg: 2rem;--ds-text-heading-500-height-breakpoint-px-lg: 32px;--ds-text-heading-600-weight: 300;--ds-text-heading-600-px-breakpoint-sm: 26px;--ds-text-heading-600-px-breakpoint-md: 28px;--ds-text-heading-600-px-breakpoint-lg: 28px;--ds-text-heading-600-size-breakpoint-sm: 1.625rem;--ds-text-heading-600-size-breakpoint-md: 1.75rem;--ds-text-heading-600-size-breakpoint-lg: 1.75rem;--ds-text-heading-600-height-breakpoint-sm: 1.875rem;--ds-text-heading-600-height-breakpoint-px-sm: 30px;--ds-text-heading-600-height-breakpoint-md: 2.125rem;--ds-text-heading-600-height-breakpoint-px-md: 34px;--ds-text-heading-600-height-breakpoint-lg: 2.25rem;--ds-text-heading-600-height-breakpoint-px-lg: 36px;--ds-text-heading-700-weight: 500;--ds-text-heading-700-px-breakpoint-sm: 28px;--ds-text-heading-700-px-breakpoint-md: 32px;--ds-text-heading-700-px-breakpoint-lg: 36px;--ds-text-heading-700-size-breakpoint-sm: 1.75rem;--ds-text-heading-700-size-breakpoint-md: 2rem;--ds-text-heading-700-size-breakpoint-lg: 2.25rem;--ds-text-heading-700-height-breakpoint-sm: 2.125rem;--ds-text-heading-700-height-breakpoint-px-sm: 34px;--ds-text-heading-700-height-breakpoint-md: 2.375rem;--ds-text-heading-700-height-breakpoint-px-md: 38px;--ds-text-heading-700-height-breakpoint-lg: 2.75rem;--ds-text-heading-700-height-breakpoint-px-lg: 44px;--ds-text-heading-800-weight: 500;--ds-text-heading-800-px-breakpoint-sm: 32px;--ds-text-heading-800-px-breakpoint-md: 36px;--ds-text-heading-800-px-breakpoint-lg: 40px;--ds-text-heading-800-size-breakpoint-sm: 2rem;--ds-text-heading-800-size-breakpoint-md: 2.25rem;--ds-text-heading-800-size-breakpoint-lg: 2.5rem;--ds-text-heading-800-height-breakpoint-sm: 2.375rem;--ds-text-heading-800-height-breakpoint-px-sm: 38px;--ds-text-heading-800-height-breakpoint-md: 2.625rem;--ds-text-heading-800-height-breakpoint-px-md: 42px;--ds-text-heading-800-height-breakpoint-lg: 3rem;--ds-text-heading-800-height-breakpoint-px-lg: 48px;--ds-text-heading-default-weight: 500;--ds-text-heading-default-margin: 0;--ds-text-heading-default-spacing: -0.2px;--ds-text-heading-medium-weight: 300;--ds-text-heading-display-weight: 100;--ds-text-heading-display-px-breakpoint-sm: 44px;--ds-text-heading-display-px-breakpoint-md: 48px;--ds-text-heading-display-px-breakpoint-lg: 56px;--ds-text-heading-display-size-breakpoint-sm: 2.75rem;--ds-text-heading-display-size-breakpoint-md: 3rem;--ds-text-heading-display-size-breakpoint-lg: 3.5rem;--ds-text-heading-display-height-breakpoint-sm: 3.375rem;--ds-text-heading-display-height-breakpoint-px-sm: 54px;--ds-text-heading-display-height-breakpoint-md: 3.75rem;--ds-text-heading-display-height-breakpoint-px-md: 60px;--ds-text-heading-display-height-breakpoint-lg: 4.25rem;--ds-text-heading-display-height-breakpoint-px-lg: 68px;--ds-text-body-default-weight: 500;--ds-text-body-size-xxs: 0.625rem;--ds-text-body-size-xs: 0.75rem;--ds-text-body-size-sm: 0.875rem;--ds-text-body-size-default: 1rem;--ds-text-body-size-lg: 1.125rem;--ds-text-body-height-xs: 1rem;--ds-text-body-height-sm: 1.25rem;--ds-text-body-height-default: 1.5rem;--ds-text-body-height-lg: 1.625rem;--ds-color-alert-notification-default: #0074c8;--ds-color-alert-warning-default: #de750c;--ds-color-alert-error-default: #df0b37;--ds-color-alert-success-default: #00805d;--ds-color-alert-advisory-default: #fff0cd;--ds-color-alert-bkg-success-default: #ddf6e8;--ds-color-alert-bkg-error-default: #ffedf1;--ds-color-background-primary-100-default: #ffffff;--ds-color-background-primary-100-inverse: #0e2b4f;--ds-color-background-primary-200-default: #f7f7f7;--ds-color-background-primary-200-inverse: #194069;--ds-color-background-primary-300-default: #e4e8ec;--ds-color-background-primary-300-inverse: #265688;--ds-color-background-primary-400-default: #dddddd;--ds-color-background-primary-400-inverse: #326aa5;--ds-color-background-success-default: #eef8f5;--ds-color-background-success-inverse: #173c30;--ds-color-background-error-default: #fff4f4;--ds-color-background-error-inverse: #74110e;--ds-color-background-warning-default: #fef8e9;--ds-color-background-warning-inverse: #5d4514;--ds-color-background-info-default: #f0f7fd;--ds-color-background-info-inverse: #193d73;--ds-color-background-subtle-default: #f7f8fa;--ds-color-background-subtle-inverse: #2a2a2a;--ds-color-background-accent-default: #ebfafd;--ds-color-background-accent-inverse: #275b72;--ds-color-background-emphasis-default: #c9e0f7;--ds-color-background-emphasis-inverse: #225296;--ds-color-background-scrimmed-default: rgba(0, 0, 0, 0.5);--ds-color-background-lightest: #ffffff;--ds-color-background-lighter: #f7f7f7;--ds-color-background-darker: #01426a;--ds-color-background-darkest: #00274a;--ds-color-background-gradient-default: linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.5));--ds-color-base-white: #ffffff;--ds-color-base-white-100: rgba(255, 255, 255, 0.03);--ds-color-base-white-200: rgba(255, 255, 255, 0.06);--ds-color-base-white-300: rgba(255, 255, 255, 0.12);--ds-color-base-white-400: rgba(255, 255, 255, 0.25);--ds-color-base-white-500: rgba(255, 255, 255, 0.5);--ds-color-base-white-opacity-50: rgba(255, 255, 255, 0.5);--ds-color-base-white-opacity-40: rgba(255, 255, 255, 0.4);--ds-color-base-white-opacity-0: rgba(255, 255, 255, 0);--ds-color-base-black: #000000;--ds-color-base-black-100: rgba(0, 0, 0, 0.03);--ds-color-base-black-200: rgba(0, 0, 0, 0.06);--ds-color-base-black-300: rgba(0, 0, 0, 0.12);--ds-color-base-black-400: rgba(0, 0, 0, 0.25);--ds-color-base-black-500: rgba(0, 0, 0, 0.5);--ds-color-base-black-opacity-15: rgba(0, 0, 0, 0.15);--ds-color-base-blue-100: #f0f7fd;--ds-color-base-blue-200: #c9e0f7;--ds-color-base-blue-300: #a0c9f1;--ds-color-base-blue-400: #79b2ec;--ds-color-base-blue-500: #5398e6;--ds-color-base-blue-600: #3b7fd2;--ds-color-base-blue-700: #2c67b5;--ds-color-base-blue-800: #225296;--ds-color-base-blue-900: #193d73;--ds-color-base-blue-1000: #102a51;--ds-color-base-cyan-100: #ebfafd;--ds-color-base-cyan-200: #a8e9f7;--ds-color-base-cyan-300: #6ad5ef;--ds-color-base-cyan-400: #56bbde;--ds-color-base-cyan-500: #4aa2c7;--ds-color-base-cyan-600: #3e89aa;--ds-color-base-cyan-700: #32718e;--ds-color-base-cyan-800: #275b72;--ds-color-base-cyan-900: #1d4658;--ds-color-base-cyan-1000: #12303d;--ds-color-base-error-100: #fff4f4;--ds-color-base-error-200: #f9aca6;--ds-color-base-error-300: #f16359;--ds-color-base-error-400: #cc1816;--ds-color-base-error-500: #74110e;--ds-color-base-gray-100: #f7f7f7;--ds-color-base-gray-200: #d4d4d4;--ds-color-base-gray-300: #c5c5c5;--ds-color-base-gray-400: #adadad;--ds-color-base-gray-500: #959595;--ds-color-base-gray-600: #7e7e7e;--ds-color-base-gray-700: #676767;--ds-color-base-gray-800: #525252;--ds-color-base-gray-900: #3d3d3d;--ds-color-base-gray-1000: #2a2a2a;--ds-color-base-green-100: #f3faf7;--ds-color-base-green-200: #000000;--ds-color-base-green-300: #addbca;--ds-color-base-green-400: #7ec6ac;--ds-color-base-green-500: #51ae8c;--ds-color-base-green-600: #459578;--ds-color-base-green-700: #3a7d64;--ds-color-base-green-800: #306854;--ds-color-base-green-900: #285545;--ds-color-base-green-1000: #1f4436;--ds-color-base-lime-100: #f5fbeb;--ds-color-base-lime-200: #d8efb4;--ds-color-base-lime-300: #badd81;--ds-color-base-lime-400: #a2c270;--ds-color-base-lime-500: #8ca761;--ds-color-base-lime-600: #778f53;--ds-color-base-lime-700: #647845;--ds-color-base-lime-800: #53643a;--ds-color-base-lime-900: #44522f;--ds-color-base-lime-1000: #364126;--ds-color-base-navy-100: #f2f7fb;--ds-color-base-navy-200: #cfe0ef;--ds-color-base-navy-300: #acc9e2;--ds-color-base-navy-400: #89b2d4;--ds-color-base-navy-500: #6899c6;--ds-color-base-navy-600: #4a82b7;--ds-color-base-navy-700: #326aa5;--ds-color-base-navy-800: #265688;--ds-color-base-navy-900: #194069;--ds-color-base-navy-1000: #0e2b4f;--ds-color-base-neutral-100: #f7f8fa;--ds-color-base-neutral-200: #e4e8ec;--ds-color-base-neutral-300: #ccd2db;--ds-color-base-neutral-400: #afb9c6;--ds-color-base-neutral-500: #939fad;--ds-color-base-neutral-600: #7e8894;--ds-color-base-neutral-700: #6a717c;--ds-color-base-neutral-800: #585e67;--ds-color-base-neutral-900: #484d55;--ds-color-base-neutral-1000: #393d43;--ds-color-base-pink-100: #fff7f8;--ds-color-base-pink-200: #fde0e6;--ds-color-base-pink-300: #fcc2ce;--ds-color-base-pink-400: #fa9db0;--ds-color-base-pink-500: #f7738e;--ds-color-base-pink-600: #e45472;--ds-color-base-pink-700: #bf475f;--ds-color-base-pink-800: #a03b50;--ds-color-base-pink-900: #833142;--ds-color-base-pink-1000: #692734;--ds-color-base-purple-100: #fbf8fe;--ds-color-base-purple-200: #ede3fd;--ds-color-base-purple-300: #ddc9fb;--ds-color-base-purple-400: #c9a9f8;--ds-color-base-purple-500: #b588f5;--ds-color-base-purple-600: #a268f3;--ds-color-base-purple-700: #8d47f0;--ds-color-base-purple-800: #7633d7;--ds-color-base-purple-900: #622ab2;--ds-color-base-purple-1000: #4e228d;--ds-color-base-red-100: #fef7f5;--ds-color-base-red-200: #fae2da;--ds-color-base-red-300: #f5c7b8;--ds-color-base-red-400: #f0a68d;--ds-color-base-red-500: #e9815e;--ds-color-base-red-600: #e35c2f;--ds-color-base-red-700: #d03a08;--ds-color-base-red-800: #ae3007;--ds-color-base-red-900: #902806;--ds-color-base-red-1000: #732005;--ds-color-base-success-100: #eef8f5;--ds-color-base-success-200: #8eceb9;--ds-color-base-success-300: #40a080;--ds-color-base-success-400: #0b6f4d;--ds-color-base-success-500: #173c30;--ds-color-base-turquoise-100: #f7fafa;--ds-color-base-turquoise-200: #dfe9ea;--ds-color-base-turquoise-300: #c2d5d6;--ds-color-base-turquoise-400: #9fbdbe;--ds-color-base-turquoise-500: #7ba5a6;--ds-color-base-turquoise-600: #5c8f91;--ds-color-base-turquoise-700: #3d7a7d;--ds-color-base-turquoise-800: #21686a;--ds-color-base-turquoise-900: #085659;--ds-color-base-turquoise-1000: #004447;--ds-color-base-yellow-100: #fff9df;--ds-color-base-yellow-200: #ffe87e;--ds-color-base-yellow-300: #f9ce06;--ds-color-base-yellow-400: #d6b622;--ds-color-base-yellow-500: #b49d35;--ds-color-base-yellow-600: #96873e;--ds-color-base-yellow-700: #7c7140;--ds-color-base-yellow-800: #665e3d;--ds-color-base-yellow-900: #524e38;--ds-color-base-yellow-1000: #403d30;--ds-color-base-warning-100: #fef8e9;--ds-color-base-warning-200: #f2c153;--ds-color-base-warning-300: #c49432;--ds-color-base-warning-400: #8e6b22;--ds-color-base-warning-500: #5d4514;--ds-color-state-error-100: #ff999b;--ds-color-state-error-500: #df0b37;--ds-color-state-success-100: #69cf96;--ds-color-state-success-500: #00805d;--ds-color-state-warning-500: #de750c;--ds-color-border-primary-default: #585e67;--ds-color-border-primary-inverse: #afb9c6;--ds-color-border-secondary-default: #939fad;--ds-color-border-secondary-inverse: #7e8894;--ds-color-border-tertiary-default: #dddddd;--ds-color-border-tertiary-inverse: #676767;--ds-color-border-error-default: #cc1816;--ds-color-border-error-inverse: #f9aca6;--ds-color-border-divider-default: rgba(0, 0, 0, 0.12);--ds-color-border-divider-inverse: rgba(255, 255, 255, 0.25);--ds-color-border-subtle-default: #f0f7fd;--ds-color-border-subtle-inverse: #326aa5;--ds-color-border-emphasis-default: #194069;--ds-color-border-emphasis-inverse: #f2f7fb;--ds-color-border-accent-default: #badd81;--ds-color-border-accent-inverse: #a2c270;--ds-color-border-success-default: #0b6f4d;--ds-color-border-success-inverse: #8eceb9;--ds-color-border-warning-default: #c49432;--ds-color-border-warning-inverse: #f2c153;--ds-color-border-info-default: #326aa5;--ds-color-border-info-inverse: #89b2d4;--ds-color-border-ui-default-default: #2c67b5;--ds-color-border-ui-default-inverse: #56bbde;--ds-color-border-ui-hover-default: #193d73;--ds-color-border-ui-hover-inverse: #a8e9f7;--ds-color-border-ui-active-default: #225296;--ds-color-border-ui-active-inverse: #6ad5ef;--ds-color-border-ui-focus-default: #2c67b5;--ds-color-border-ui-focus-inverse: #56bbde;--ds-color-border-ui-disabled-default: #adadad;--ds-color-border-ui-disabled-inverse: #7e7e7e;--ds-color-border-active-default: #0074c8;--ds-color-border-active-inverse: #00cff0;--ds-color-border-disabled-default: #d4d4d4;--ds-color-border-focus-default: #959595;--ds-color-brand-neutral-100: #f7f8fa;--ds-color-brand-neutral-200: #e4e8ec;--ds-color-brand-neutral-300: #ccd2db;--ds-color-brand-neutral-400: #afb9c6;--ds-color-brand-neutral-500: #939fad;--ds-color-brand-neutral-600: #7e8894;--ds-color-brand-neutral-700: #6a717c;--ds-color-brand-neutral-800: #585e67;--ds-color-brand-neutral-900: #484d55;--ds-color-brand-neutral-1000: #393d43;--ds-color-brand-gray-100: #f7f7f7;--ds-color-brand-gray-200: #dddddd;--ds-color-brand-gray-300: #c5c5c5;--ds-color-brand-gray-400: #adadad;--ds-color-brand-gray-500: #959595;--ds-color-brand-gray-600: #7e7e7e;--ds-color-brand-gray-700: #676767;--ds-color-brand-gray-800: #525252;--ds-color-brand-gray-900: #3d3d3d;--ds-color-brand-gray-1000: #2a2a2a;--ds-color-brand-red-100: #fef7f5;--ds-color-brand-red-200: #fae2da;--ds-color-brand-red-300: #f5c7b8;--ds-color-brand-red-400: #f0a68d;--ds-color-brand-red-500: #e9815e;--ds-color-brand-red-600: #e35c2f;--ds-color-brand-red-700: #d03a08;--ds-color-brand-red-800: #ae3007;--ds-color-brand-red-900: #902806;--ds-color-brand-red-1000: #732005;--ds-color-brand-yellow-100: #fff9df;--ds-color-brand-yellow-200: #ffe87e;--ds-color-brand-yellow-300: #f9ce06;--ds-color-brand-yellow-400: #d6b622;--ds-color-brand-yellow-500: #b49d35;--ds-color-brand-yellow-600: #96873e;--ds-color-brand-yellow-700: #7c7140;--ds-color-brand-yellow-800: #665e3d;--ds-color-brand-yellow-900: #524e38;--ds-color-brand-yellow-1000: #403d30;--ds-color-brand-lime-100: #f5fbeb;--ds-color-brand-lime-200: #d8efb4;--ds-color-brand-lime-300: #badd81;--ds-color-brand-lime-400: #a2c270;--ds-color-brand-lime-500: #8ca761;--ds-color-brand-lime-600: #778f53;--ds-color-brand-lime-700: #647845;--ds-color-brand-lime-800: #53643a;--ds-color-brand-lime-900: #44522f;--ds-color-brand-lime-1000: #364126;--ds-color-brand-green-100: #f3faf7;--ds-color-brand-green-200: #d4ece4;--ds-color-brand-green-300: #addbca;--ds-color-brand-green-400: #7ec6ac;--ds-color-brand-green-500: #51ae8c;--ds-color-brand-green-600: #459578;--ds-color-brand-green-700: #3a7d64;--ds-color-brand-green-800: #306854;--ds-color-brand-green-900: #285545;--ds-color-brand-green-1000: #1f4436;--ds-color-brand-turquoise-100: #f7fafa;--ds-color-brand-turquoise-200: #dfe9ea;--ds-color-brand-turquoise-300: #c2d5d6;--ds-color-brand-turquoise-400: #9fbdbe;--ds-color-brand-turquoise-500: #7ba5a6;--ds-color-brand-turquoise-600: #5c8f91;--ds-color-brand-turquoise-700: #3d7a7d;--ds-color-brand-turquoise-800: #21686a;--ds-color-brand-turquoise-900: #085659;--ds-color-brand-turquoise-1000: #004447;--ds-color-brand-cyan-100: #ebfafd;--ds-color-brand-cyan-200: #a8e9f7;--ds-color-brand-cyan-300: #6ad5ef;--ds-color-brand-cyan-400: #56bbde;--ds-color-brand-cyan-500: #4aa2c7;--ds-color-brand-cyan-600: #3e89aa;--ds-color-brand-cyan-700: #32718e;--ds-color-brand-cyan-800: #275b72;--ds-color-brand-cyan-900: #1d4658;--ds-color-brand-cyan-1000: #12303d;--ds-color-brand-blue-100: #f0f7fd;--ds-color-brand-blue-200: #c9e0f7;--ds-color-brand-blue-300: #a0c9f1;--ds-color-brand-blue-400: #79b2ec;--ds-color-brand-blue-500: #5398e6;--ds-color-brand-blue-600: #3b7fd2;--ds-color-brand-blue-700: #2c67b5;--ds-color-brand-blue-800: #225296;--ds-color-brand-blue-900: #193d73;--ds-color-brand-blue-1000: #102a51;--ds-color-brand-navy-100: #f2f7fb;--ds-color-brand-navy-200: #cfe0ef;--ds-color-brand-navy-300: #acc9e2;--ds-color-brand-navy-400: #89b2d4;--ds-color-brand-navy-500: #6899c6;--ds-color-brand-navy-600: #4a82b7;--ds-color-brand-navy-700: #326aa5;--ds-color-brand-navy-800: #265688;--ds-color-brand-navy-900: #194069;--ds-color-brand-navy-1000: #0e2b4f;--ds-color-brand-purple-100: #fbf8fe;--ds-color-brand-purple-200: #ede3fd;--ds-color-brand-purple-300: #ddc9fb;--ds-color-brand-purple-400: #c9a9f8;--ds-color-brand-purple-500: #b588f5;--ds-color-brand-purple-600: #a268f3;--ds-color-brand-purple-700: #8d47f0;--ds-color-brand-purple-800: #7633d7;--ds-color-brand-purple-900: #622ab2;--ds-color-brand-purple-1000: #4e228d;--ds-color-brand-pink-100: #fff7f8;--ds-color-brand-pink-200: #fde0e6;--ds-color-brand-pink-300: #fcc2ce;--ds-color-brand-pink-400: #fa9db0;--ds-color-brand-pink-500: #f7738e;--ds-color-brand-pink-600: #e45472;--ds-color-brand-pink-700: #bf475f;--ds-color-brand-pink-800: #a03b50;--ds-color-brand-pink-900: #833142;--ds-color-brand-pink-1000: #692734;--ds-color-brand-midnight-100: #c1daf0;--ds-color-brand-midnight-200: #569ed7;--ds-color-brand-midnight-300: #156fad;--ds-color-brand-midnight-400: #01426a;--ds-color-brand-midnight-500: #00274a;--ds-color-brand-atlas-100: #cde6ff;--ds-color-brand-atlas-200: #6bb7fb;--ds-color-brand-atlas-300: #2492eb;--ds-color-brand-atlas-400: #0074c8;--ds-color-brand-atlas-500: #054687;--ds-color-brand-atlas-400-opacity-20: rgba(0, 116, 200, 0.2);--ds-color-brand-breeze-100: #c0f7ff;--ds-color-brand-breeze-200: #5de3f7;--ds-color-brand-breeze-300: #00cff0;--ds-color-brand-breeze-400: #099dc5;--ds-color-brand-breeze-500: #0b5575;--ds-color-brand-breeze-300-opacity-30: rgba(0, 207, 240, 0.3);--ds-color-brand-tropical-100: #e2ffcd;--ds-color-brand-tropical-200: #d0fba6;--ds-color-brand-tropical-300: #c0e585;--ds-color-brand-tropical-400: #91be62;--ds-color-brand-tropical-500: #5e8741;--ds-color-brand-alpine-100: #bcaae6;--ds-color-brand-alpine-200: #9e73ea;--ds-color-brand-alpine-300: #8439ef;--ds-color-brand-alpine-400: #631db8;--ds-color-brand-alpine-500: #39115c;--ds-color-brand-flamingo-100: #ffebee;--ds-color-brand-flamingo-200: #ffc0ca;--ds-color-brand-flamingo-300: #ff94a7;--ds-color-brand-flamingo-400: #f65b7b;--ds-color-brand-flamingo-500: #b82b47;--ds-color-brand-canyon-100: #ffcab6;--ds-color-brand-canyon-200: #f99574;--ds-color-brand-canyon-300: #f26135;--ds-color-brand-canyon-400: #de3e09;--ds-color-brand-canyon-500: #b83302;--ds-color-brand-goldcoast-100: #fff0cd;--ds-color-brand-goldcoast-200: #ffdb67;--ds-color-brand-goldcoast-300: #ffd200;--ds-color-brand-goldcoast-400: #e5ad07;--ds-color-brand-goldcoast-500: #b88624;--ds-color-brand-goldgray-100: #c5c1bf;--ds-color-brand-goldgray-200: #726e6c;--ds-color-brand-gold-100: #ccbc94;--ds-color-brand-gold-200: #7f682e;--ds-color-brand-emerald: #139142;--ds-color-brand-sapphire: #015daa;--ds-color-brand-ruby: #a41d4a;--ds-color-brand-lounge: #01426a;--ds-color-brand-loungeplus: #53b390;--ds-color-container-accent-default: #f5fbeb;--ds-color-container-accent-inverse: #badd81;--ds-color-container-emphasis-default: #ebfafd;--ds-color-container-emphasis-inverse: #6ad5ef;--ds-color-container-error-default: #fff4f4;--ds-color-container-error-inverse: #74110e;--ds-color-container-info-default: #f0f7fd;--ds-color-container-info-inverse: #193d73;--ds-color-container-primary-default: #ffffff;--ds-color-container-primary-inverse: #0e2b4f;--ds-color-container-secondary-default: #f7f7f7;--ds-color-container-secondary-inverse: #194069;--ds-color-container-subtle-default: #f7f8fa;--ds-color-container-subtle-inverse: #393d43;--ds-color-container-success-default: #eef8f5;--ds-color-container-success-inverse: #173c30;--ds-color-container-tertiary-default: rgba(0, 0, 0, 0.03);--ds-color-container-tertiary-inverse: rgba(255, 255, 255, 0.06);--ds-color-container-warning-default: #fef8e9;--ds-color-container-warning-inverse: #5d4514;--ds-color-container-ui-primary-active-default: #225296;--ds-color-container-ui-primary-active-inverse: #6ad5ef;--ds-color-container-ui-primary-default-default: #2c67b5;--ds-color-container-ui-primary-default-inverse: #56bbde;--ds-color-container-ui-primary-disabled-default: #a0c9f1;--ds-color-container-ui-primary-disabled-inverse: #275b72;--ds-color-container-ui-primary-focus-default: #2c67b5;--ds-color-container-ui-primary-focus-inverse: #56bbde;--ds-color-container-ui-primary-hover-default: #193d73;--ds-color-container-ui-primary-hover-inverse: #a8e9f7;--ds-color-container-ui-secondary-active-default: #f0f7fd;--ds-color-container-ui-secondary-active-inverse: rgba(255, 255, 255, 0.06);--ds-color-container-ui-secondary-default-default: #ffffff;--ds-color-container-ui-secondary-default-inverse: rgba(255, 255, 255, 0.03);--ds-color-container-ui-secondary-disabled-default: #f7f7f7;--ds-color-container-ui-secondary-disabled-inverse: rgba(255, 255, 255, 0.12);--ds-color-container-ui-secondary-focus-default: #ffffff;--ds-color-container-ui-secondary-focus-inverse: rgba(255, 255, 255, 0.03);--ds-color-container-ui-secondary-hover-default: rgba(0, 0, 0, 0.03);--ds-color-container-ui-secondary-hover-inverse: rgba(255, 255, 255, 0.12);--ds-color-container-ui-tertiary-active-default: rgba(0, 0, 0, 0.06);--ds-color-container-ui-tertiary-active-inverse: rgba(255, 255, 255, 0.06);--ds-color-container-ui-tertiary-default-default: rgba(0, 0, 0, 0.03);--ds-color-container-ui-tertiary-default-inverse: rgba(255, 255, 255, 0.12);--ds-color-container-ui-tertiary-disabled-default: rgba(0, 0, 0, 0.03);--ds-color-container-ui-tertiary-disabled-inverse: rgba(255, 255, 255, 0.25);--ds-color-container-ui-tertiary-focus-default: rgba(0, 0, 0, 0.03);--ds-color-container-ui-tertiary-focus-inverse: rgba(255, 255, 255, 0.12);--ds-color-container-ui-tertiary-hover-default: rgba(0, 0, 0, 0.12);--ds-color-container-ui-tertiary-hover-inverse: rgba(255, 255, 255, 0.25);--ds-color-icon-primary-default: #676767;--ds-color-icon-primary-inverse: #f7f7f7;--ds-color-icon-secondary-default: #7e8894;--ds-color-icon-secondary-inverse: #ccd2db;--ds-color-icon-tertiary-default: #afb9c6;--ds-color-icon-tertiary-inverse: #939fad;--ds-color-icon-emphasis-default: #2a2a2a;--ds-color-icon-emphasis-inverse: #ffffff;--ds-color-icon-accent-default: #a2c270;--ds-color-icon-accent-inverse: #badd81;--ds-color-icon-info-default: #326aa5;--ds-color-icon-info-inverse: #89b2d4;--ds-color-icon-error-default: #cc1816;--ds-color-icon-error-inverse: #f9aca6;--ds-color-icon-warning-default: #c49432;--ds-color-icon-warning-inverse: #f2c153;--ds-color-icon-success-default: #40a080;--ds-color-icon-success-inverse: #8eceb9;--ds-color-icon-subtle-default: #a0c9f1;--ds-color-icon-subtle-inverse: #326aa5;--ds-color-icon-ui-primary-default-default: #2c67b5;--ds-color-icon-ui-primary-default-inverse: #56bbde;--ds-color-icon-ui-primary-hover-default: #193d73;--ds-color-icon-ui-primary-hover-inverse: #a8e9f7;--ds-color-icon-ui-primary-active-default: #225296;--ds-color-icon-ui-primary-active-inverse: #6ad5ef;--ds-color-icon-ui-primary-disabled-default: #adadad;--ds-color-icon-ui-primary-disabled-inverse: #7e7e7e;--ds-color-icon-ui-primary-focus-default: #2c67b5;--ds-color-icon-ui-primary-focus-inverse: #56bbde;--ds-color-icon-ui-secondary-active-default: #676767;--ds-color-icon-ui-secondary-active-inverse: #c5c5c5;--ds-color-icon-ui-secondary-default-default: #7e7e7e;--ds-color-icon-ui-secondary-default-inverse: #adadad;--ds-color-icon-ui-secondary-disabled-default: #adadad;--ds-color-icon-ui-secondary-disabled-inverse: #7e7e7e;--ds-color-icon-ui-secondary-focus-default: #7e7e7e;--ds-color-icon-ui-secondary-focus-inverse: #adadad;--ds-color-icon-ui-secondary-hover-default: #525252;--ds-color-icon-ui-secondary-hover-inverse: #dddddd;--ds-color-icon-brand-red-default: #d03a08;--ds-color-icon-brand-red-inverse: #e9815e;--ds-color-icon-brand-yellow-default: #7c7140;--ds-color-icon-brand-yellow-inverse: #f9ce06;--ds-color-icon-brand-pink-default: #bf475f;--ds-color-icon-brand-pink-inverse: #f7738e;--ds-color-icon-brand-purple-default: #8d47f0;--ds-color-icon-brand-purple-inverse: #b588f5;--ds-color-icon-brand-lime-default: #647845;--ds-color-icon-brand-lime-inverse: #badd81;--ds-color-icon-brand-green-default: #3a7d64;--ds-color-icon-brand-green-inverse: #51ae8c;--ds-color-icon-brand-turquoise-default: #3d7a7d;--ds-color-icon-brand-turquoise-inverse: #7ba5a6;--ds-color-icon-brand-navy-default: #265688;--ds-color-icon-brand-navy-inverse: #6899c6;--ds-color-icon-brand-blue-default: #2c67b5;--ds-color-icon-brand-blue-inverse: #5398e6;--ds-color-icon-brand-cyan-default: #32718e;--ds-color-icon-brand-cyan-inverse: #6ad5ef;--ds-color-icon-brand-gray-default: #676767;--ds-color-icon-brand-gray-inverse: #c5c5c5;--ds-color-icon-brand-neutral-default: #6a717c;--ds-color-icon-brand-neutral-inverse: #afb9c6;--ds-color-icon-disabled-default: rgba(0, 0, 0, 0.15);--ds-color-text-primary-default: #2a2a2a;--ds-color-text-primary-inverse: #ffffff;--ds-color-text-secondary-default: #525252;--ds-color-text-secondary-inverse: #dddddd;--ds-color-text-tertiary-default: #6a717c;--ds-color-text-tertiary-inverse: #adadad;--ds-color-text-error-default: #cc1816;--ds-color-text-error-inverse: #f9aca6;--ds-color-text-emphasis-default: #265688;--ds-color-text-emphasis-inverse: #cfe0ef;--ds-color-text-accent-default: #647845;--ds-color-text-accent-inverse: #badd81;--ds-color-text-info-default: #326aa5;--ds-color-text-info-inverse: #acc9e2;--ds-color-text-subtle-default: #32718e;--ds-color-text-subtle-inverse: #56bbde;--ds-color-text-success-default: #0b6f4d;--ds-color-text-success-inverse: #8eceb9;--ds-color-text-ui-active-default: #225296;--ds-color-text-ui-active-inverse: #6ad5ef;--ds-color-text-ui-default-default: #2c67b5;--ds-color-text-ui-default-inverse: #56bbde;--ds-color-text-ui-disabled-default: #adadad;--ds-color-text-ui-disabled-inverse: #7e7e7e;--ds-color-text-ui-focus-default: #2c67b5;--ds-color-text-ui-focus-inverse: #56bbde;--ds-color-text-ui-hover-default: #193d73;--ds-color-text-ui-hover-inverse: #a8e9f7;--ds-color-text-link-default: #0074c8;--ds-color-text-link-inverse: #00cff0;--ds-color-tier-alaska-mvp-default: #726e6c;--ds-color-tier-alaska-mvp-inverse: #c5c1bf;--ds-color-tier-alaska-mvpgold-default: #7f682e;--ds-color-tier-alaska-mvpgold-inverse: #c5c1bf;--ds-color-tier-alaska-mvpgold75k-default: #7f682e;--ds-color-tier-alaska-mvpgold75k-inverse: #c5c1bf;--ds-color-tier-alaska-mvpgold100k-default: #7f682e;--ds-color-tier-alaska-mvpgold100k-inverse: #c5c1bf;--ds-color-tier-alaska-lounge: #01426a;--ds-color-tier-alaska-loungeplus: #53b390;--ds-color-tier-fare-business-default: #005154;--ds-color-tier-fare-business-inverse: #9fbdbe;--ds-color-tier-fare-economy-default: #2c67b5;--ds-color-tier-fare-economy-inverse: #a0c9f1;--ds-color-tier-fare-first-class-default: #002c4e;--ds-color-tier-fare-first-class-inverse: #89b2d4;--ds-color-tier-fare-saver-default: #4aa2c7;--ds-color-tier-fare-saver-inverse: #a8e9f7;--ds-color-tier-oneworld-emerald: #139142;--ds-color-tier-oneworld-sapphire: #015daa;--ds-color-tier-oneworld-ruby: #a41d4a;--ds-color-ui-default-default: #0074c8;--ds-color-ui-default-inverse: #00cff0;--ds-color-ui-hover-default: #054687;--ds-color-ui-hover-inverse: #5de3f7;--ds-color-ui-active-default: #054687;--ds-color-ui-active-inverse: #5de3f7;--ds-color-ui-disabled-default: rgba(0, 116, 200, 0.2);--ds-color-ui-bkg-default-default: rgba(0, 0, 0, 0.03);--ds-color-ui-bkg-default-inverse: rgba(255, 255, 255, 0.03);--ds-color-ui-bkg-hover-default: rgba(0, 0, 0, 0.06);--ds-color-ui-bkg-hover-inverse: rgba(255, 255, 255, 0.06);--ds-color-utility-blue-default: #79b2ec;--ds-color-utility-blue-inverse: #c9e0f7;--ds-color-utility-cyan-default: #6ad5ef;--ds-color-utility-cyan-inverse: #a8e9f7;--ds-color-utility-green-default: #7ec6ac;--ds-color-utility-green-inverse: #addbca;--ds-color-utility-gray-default: #adadad;--ds-color-utility-gray-inverse: #dddddd;--ds-color-utility-lime-default: #badd81;--ds-color-utility-lime-inverse: #d8efb4;--ds-color-utility-navy-default: #265688;--ds-color-utility-navy-inverse: #acc9e2;--ds-color-utility-neutral-default: #7e8894;--ds-color-utility-neutral-inverse: #ccd2db;--ds-color-utility-pink-default: #f7738e;--ds-color-utility-pink-inverse: #fcc2ce;--ds-color-utility-purple-default: #8d47f0;--ds-color-utility-purple-inverse: #ddc9fb;--ds-color-utility-red-default: #e35c2f;--ds-color-utility-red-inverse: #f0a68d;--ds-color-utility-turquoise-default: #5c8f91;--ds-color-utility-turquoise-inverse: #9fbdbe;--ds-color-utility-yellow-default: #f9ce06;--ds-color-utility-yellow-inverse: #ffe87e;--ds-color-utility-error-default: #cc1816;--ds-color-utility-error-inverse: #f9aca6;--ds-color-utility-warning-default: #f2c153;--ds-color-utility-warning-inverse: #f2c153;--ds-color-utility-success-default: #0b6f4d;--ds-color-utility-success-inverse: #8eceb9}*,*:before,*:after{box-sizing:border-box}@media(prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}}*:focus-visible{outline:0}*:focus-visible{outline:0}:focus:not(:focus-visible){outline:3px solid transparent}:host{display:inline-block;width:100%;margin:0;padding:0;vertical-align:middle}:host ::slotted(auro-menuoption),:host ::slotted([auro-menuoption]){padding-left:calc(var(--ds-size-150, 0.75rem) + 24px + var(--ds-size-100, 0.5rem))}:host ::slotted([selected]){padding-left:0}:host ::slotted(hr){box-sizing:content-box !important;height:0 !important;overflow:visible !important;margin:var(--ds-size-100, 0.5rem) 0 !important;border-width:0 !important;border-top-width:1px !important;border-top-style:solid !important}:host([nocheckmark]) ::slotted(auro-menuoption){padding-left:var(--ds-size-200, 1rem)}:host([root]){overflow-y:auto}`;
3768
+ var styleCss$2 = i$b`:root{--ds-asset-font-circular-family-name: "AS Circular";--ds-asset-font-circular-filename: "ASCircularWeb";--ds-asset-font-circular-weight-light: "-Light";--ds-asset-font-circular-weight-medium: "-Medium";--ds-asset-font-circular-weight-book: "-Book";--ds-border-radius: 0.375rem;--ds-size-25: 0.125rem;--ds-size-50: 0.25rem;--ds-size-75: 0.375rem;--ds-size-100: 0.5rem;--ds-size-150: 0.75rem;--ds-size-200: 1rem;--ds-size-250: 1.25rem;--ds-size-300: 1.5rem;--ds-size-400: 2rem;--ds-size-500: 2.5rem;--ds-size-600: 3rem;--ds-size-700: 3.5rem;--ds-size-800: 4rem;--ds-size-900: 4.5rem;--ds-size-1000: 5rem;--ds-unitless-scale-20: 0.25;--ds-unitless-scale-50: 0.5;--ds-unitless-scale-100: 1;--ds-unitless-scale-140: 1.4;--ds-unitless-scale-150: 1.5;--ds-unitless-scale-200: 2;--ds-unitless-scale-300: 3;--ds-unitless-scale-350: 3.5;--ds-animation-default-property: all;--ds-animation-default-duration: 0.3s;--ds-animation-default-timing: ease-out;--ds-depth-overlay: 200;--ds-depth-modal: 300;--ds-depth-tooltip: 400;--ds-elevation-100: 0px 0px 5px rgba(0, 0, 0, 0.15);--ds-elevation-200: 0px 0px 10px rgba(0, 0, 0, 0.15);--ds-elevation-300: 0px 0px 15px rgba(0, 0, 0, 0.2);--ds-grid-breakpoint-xs: 320px;--ds-grid-breakpoint-sm: 576px;--ds-grid-breakpoint-md: 768px;--ds-grid-breakpoint-lg: 1024px;--ds-grid-breakpoint-xl: 1232px;--ds-grid-column-xs: 6;--ds-grid-column-sm: 12;--ds-grid-column-md: 12;--ds-grid-column-lg: 12;--ds-grid-column-xl: 12;--ds-grid-gutter-xs: 0.5rem;--ds-grid-gutter-sm: 1rem;--ds-grid-gutter-md: 1.5rem;--ds-grid-gutter-lg: 1.5rem;--ds-grid-gutter-xl: 2rem;--ds-grid-margin-xs: 1rem;--ds-grid-margin-sm: 1rem;--ds-grid-margin-md: 1.5rem;--ds-grid-margin-lg: 2rem;--ds-grid-margin-xl: 2rem;--ds-font-family-default: "AS Circular", Helvetica Neue, Arial, sans-serif;--ds-font-family-mono: Menlo, Monaco, Consolas, "Courier New", monospace;--ds-text-heading-300-weight: 300;--ds-text-heading-300-px: 18px;--ds-text-heading-300-size: 1.125rem;--ds-text-heading-300-height: 1.625rem;--ds-text-heading-300-height-px: 26px;--ds-text-heading-400-weight: 300;--ds-text-heading-400-px: 20px;--ds-text-heading-400-size: 1.25rem;--ds-text-heading-400-height: 1.625rem;--ds-text-heading-400-height-px: 26px;--ds-text-heading-500-weight: 300;--ds-text-heading-500-px-breakpoint-sm: 22px;--ds-text-heading-500-px-breakpoint-md: 24px;--ds-text-heading-500-px-breakpoint-lg: 24px;--ds-text-heading-500-size-breakpoint-sm: 1.375rem;--ds-text-heading-500-size-breakpoint-md: 1.5rem;--ds-text-heading-500-size-breakpoint-lg: 1.5rem;--ds-text-heading-500-height-breakpoint-sm: 1.625rem;--ds-text-heading-500-height-breakpoint-px-sm: 26px;--ds-text-heading-500-height-breakpoint-md: 1.875rem;--ds-text-heading-500-height-breakpoint-px-md: 30px;--ds-text-heading-500-height-breakpoint-lg: 2rem;--ds-text-heading-500-height-breakpoint-px-lg: 32px;--ds-text-heading-600-weight: 300;--ds-text-heading-600-px-breakpoint-sm: 26px;--ds-text-heading-600-px-breakpoint-md: 28px;--ds-text-heading-600-px-breakpoint-lg: 28px;--ds-text-heading-600-size-breakpoint-sm: 1.625rem;--ds-text-heading-600-size-breakpoint-md: 1.75rem;--ds-text-heading-600-size-breakpoint-lg: 1.75rem;--ds-text-heading-600-height-breakpoint-sm: 1.875rem;--ds-text-heading-600-height-breakpoint-px-sm: 30px;--ds-text-heading-600-height-breakpoint-md: 2.125rem;--ds-text-heading-600-height-breakpoint-px-md: 34px;--ds-text-heading-600-height-breakpoint-lg: 2.25rem;--ds-text-heading-600-height-breakpoint-px-lg: 36px;--ds-text-heading-700-weight: 500;--ds-text-heading-700-px-breakpoint-sm: 28px;--ds-text-heading-700-px-breakpoint-md: 32px;--ds-text-heading-700-px-breakpoint-lg: 36px;--ds-text-heading-700-size-breakpoint-sm: 1.75rem;--ds-text-heading-700-size-breakpoint-md: 2rem;--ds-text-heading-700-size-breakpoint-lg: 2.25rem;--ds-text-heading-700-height-breakpoint-sm: 2.125rem;--ds-text-heading-700-height-breakpoint-px-sm: 34px;--ds-text-heading-700-height-breakpoint-md: 2.375rem;--ds-text-heading-700-height-breakpoint-px-md: 38px;--ds-text-heading-700-height-breakpoint-lg: 2.75rem;--ds-text-heading-700-height-breakpoint-px-lg: 44px;--ds-text-heading-800-weight: 500;--ds-text-heading-800-px-breakpoint-sm: 32px;--ds-text-heading-800-px-breakpoint-md: 36px;--ds-text-heading-800-px-breakpoint-lg: 40px;--ds-text-heading-800-size-breakpoint-sm: 2rem;--ds-text-heading-800-size-breakpoint-md: 2.25rem;--ds-text-heading-800-size-breakpoint-lg: 2.5rem;--ds-text-heading-800-height-breakpoint-sm: 2.375rem;--ds-text-heading-800-height-breakpoint-px-sm: 38px;--ds-text-heading-800-height-breakpoint-md: 2.625rem;--ds-text-heading-800-height-breakpoint-px-md: 42px;--ds-text-heading-800-height-breakpoint-lg: 3rem;--ds-text-heading-800-height-breakpoint-px-lg: 48px;--ds-text-heading-default-weight: 500;--ds-text-heading-default-margin: 0;--ds-text-heading-default-spacing: -0.2px;--ds-text-heading-medium-weight: 300;--ds-text-heading-display-weight: 100;--ds-text-heading-display-px-breakpoint-sm: 44px;--ds-text-heading-display-px-breakpoint-md: 48px;--ds-text-heading-display-px-breakpoint-lg: 56px;--ds-text-heading-display-size-breakpoint-sm: 2.75rem;--ds-text-heading-display-size-breakpoint-md: 3rem;--ds-text-heading-display-size-breakpoint-lg: 3.5rem;--ds-text-heading-display-height-breakpoint-sm: 3.375rem;--ds-text-heading-display-height-breakpoint-px-sm: 54px;--ds-text-heading-display-height-breakpoint-md: 3.75rem;--ds-text-heading-display-height-breakpoint-px-md: 60px;--ds-text-heading-display-height-breakpoint-lg: 4.25rem;--ds-text-heading-display-height-breakpoint-px-lg: 68px;--ds-text-body-default-weight: 500;--ds-text-body-size-xxs: 0.625rem;--ds-text-body-size-xs: 0.75rem;--ds-text-body-size-sm: 0.875rem;--ds-text-body-size-default: 1rem;--ds-text-body-size-lg: 1.125rem;--ds-text-body-height-xs: 1rem;--ds-text-body-height-sm: 1.25rem;--ds-text-body-height-default: 1.5rem;--ds-text-body-height-lg: 1.625rem;--ds-color-alert-notification-default: #0074c8;--ds-color-alert-warning-default: #de750c;--ds-color-alert-error-default: #df0b37;--ds-color-alert-success-default: #00805d;--ds-color-alert-advisory-default: #fff0cd;--ds-color-alert-bkg-success-default: #ddf6e8;--ds-color-alert-bkg-error-default: #ffedf1;--ds-color-background-primary-100-default: #ffffff;--ds-color-background-primary-100-inverse: #0e2b4f;--ds-color-background-primary-200-default: #f7f7f7;--ds-color-background-primary-200-inverse: #194069;--ds-color-background-primary-300-default: #e4e8ec;--ds-color-background-primary-300-inverse: #265688;--ds-color-background-primary-400-default: #dddddd;--ds-color-background-primary-400-inverse: #326aa5;--ds-color-background-success-default: #eef8f5;--ds-color-background-success-inverse: #173c30;--ds-color-background-error-default: #fff4f4;--ds-color-background-error-inverse: #74110e;--ds-color-background-warning-default: #fef8e9;--ds-color-background-warning-inverse: #5d4514;--ds-color-background-info-default: #f0f7fd;--ds-color-background-info-inverse: #193d73;--ds-color-background-subtle-default: #f7f8fa;--ds-color-background-subtle-inverse: #2a2a2a;--ds-color-background-accent-default: #ebfafd;--ds-color-background-accent-inverse: #275b72;--ds-color-background-emphasis-default: #c9e0f7;--ds-color-background-emphasis-inverse: #225296;--ds-color-background-scrimmed-default: rgba(0, 0, 0, 0.5);--ds-color-background-lightest: #ffffff;--ds-color-background-lighter: #f7f7f7;--ds-color-background-darker: #01426a;--ds-color-background-darkest: #00274a;--ds-color-background-gradient-default: linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.5));--ds-color-base-white: #ffffff;--ds-color-base-white-100: rgba(255, 255, 255, 0.03);--ds-color-base-white-200: rgba(255, 255, 255, 0.06);--ds-color-base-white-300: rgba(255, 255, 255, 0.12);--ds-color-base-white-400: rgba(255, 255, 255, 0.25);--ds-color-base-white-500: rgba(255, 255, 255, 0.5);--ds-color-base-white-opacity-50: rgba(255, 255, 255, 0.5);--ds-color-base-white-opacity-40: rgba(255, 255, 255, 0.4);--ds-color-base-white-opacity-0: rgba(255, 255, 255, 0);--ds-color-base-black: #000000;--ds-color-base-black-100: rgba(0, 0, 0, 0.03);--ds-color-base-black-200: rgba(0, 0, 0, 0.06);--ds-color-base-black-300: rgba(0, 0, 0, 0.12);--ds-color-base-black-400: rgba(0, 0, 0, 0.25);--ds-color-base-black-500: rgba(0, 0, 0, 0.5);--ds-color-base-black-opacity-15: rgba(0, 0, 0, 0.15);--ds-color-base-blue-100: #f0f7fd;--ds-color-base-blue-200: #c9e0f7;--ds-color-base-blue-300: #a0c9f1;--ds-color-base-blue-400: #79b2ec;--ds-color-base-blue-500: #5398e6;--ds-color-base-blue-600: #3b7fd2;--ds-color-base-blue-700: #2c67b5;--ds-color-base-blue-800: #225296;--ds-color-base-blue-900: #193d73;--ds-color-base-blue-1000: #102a51;--ds-color-base-cyan-100: #ebfafd;--ds-color-base-cyan-200: #a8e9f7;--ds-color-base-cyan-300: #6ad5ef;--ds-color-base-cyan-400: #56bbde;--ds-color-base-cyan-500: #4aa2c7;--ds-color-base-cyan-600: #3e89aa;--ds-color-base-cyan-700: #32718e;--ds-color-base-cyan-800: #275b72;--ds-color-base-cyan-900: #1d4658;--ds-color-base-cyan-1000: #12303d;--ds-color-base-error-100: #fff4f4;--ds-color-base-error-200: #f9aca6;--ds-color-base-error-300: #f16359;--ds-color-base-error-400: #cc1816;--ds-color-base-error-500: #74110e;--ds-color-base-gray-100: #f7f7f7;--ds-color-base-gray-200: #d4d4d4;--ds-color-base-gray-300: #c5c5c5;--ds-color-base-gray-400: #adadad;--ds-color-base-gray-500: #959595;--ds-color-base-gray-600: #7e7e7e;--ds-color-base-gray-700: #676767;--ds-color-base-gray-800: #525252;--ds-color-base-gray-900: #3d3d3d;--ds-color-base-gray-1000: #2a2a2a;--ds-color-base-green-100: #f3faf7;--ds-color-base-green-200: #000000;--ds-color-base-green-300: #addbca;--ds-color-base-green-400: #7ec6ac;--ds-color-base-green-500: #51ae8c;--ds-color-base-green-600: #459578;--ds-color-base-green-700: #3a7d64;--ds-color-base-green-800: #306854;--ds-color-base-green-900: #285545;--ds-color-base-green-1000: #1f4436;--ds-color-base-lime-100: #f5fbeb;--ds-color-base-lime-200: #d8efb4;--ds-color-base-lime-300: #badd81;--ds-color-base-lime-400: #a2c270;--ds-color-base-lime-500: #8ca761;--ds-color-base-lime-600: #778f53;--ds-color-base-lime-700: #647845;--ds-color-base-lime-800: #53643a;--ds-color-base-lime-900: #44522f;--ds-color-base-lime-1000: #364126;--ds-color-base-navy-100: #f2f7fb;--ds-color-base-navy-200: #cfe0ef;--ds-color-base-navy-300: #acc9e2;--ds-color-base-navy-400: #89b2d4;--ds-color-base-navy-500: #6899c6;--ds-color-base-navy-600: #4a82b7;--ds-color-base-navy-700: #326aa5;--ds-color-base-navy-800: #265688;--ds-color-base-navy-900: #194069;--ds-color-base-navy-1000: #0e2b4f;--ds-color-base-neutral-100: #f7f8fa;--ds-color-base-neutral-200: #e4e8ec;--ds-color-base-neutral-300: #ccd2db;--ds-color-base-neutral-400: #afb9c6;--ds-color-base-neutral-500: #939fad;--ds-color-base-neutral-600: #7e8894;--ds-color-base-neutral-700: #6a717c;--ds-color-base-neutral-800: #585e67;--ds-color-base-neutral-900: #484d55;--ds-color-base-neutral-1000: #393d43;--ds-color-base-pink-100: #fff7f8;--ds-color-base-pink-200: #fde0e6;--ds-color-base-pink-300: #fcc2ce;--ds-color-base-pink-400: #fa9db0;--ds-color-base-pink-500: #f7738e;--ds-color-base-pink-600: #e45472;--ds-color-base-pink-700: #bf475f;--ds-color-base-pink-800: #a03b50;--ds-color-base-pink-900: #833142;--ds-color-base-pink-1000: #692734;--ds-color-base-purple-100: #fbf8fe;--ds-color-base-purple-200: #ede3fd;--ds-color-base-purple-300: #ddc9fb;--ds-color-base-purple-400: #c9a9f8;--ds-color-base-purple-500: #b588f5;--ds-color-base-purple-600: #a268f3;--ds-color-base-purple-700: #8d47f0;--ds-color-base-purple-800: #7633d7;--ds-color-base-purple-900: #622ab2;--ds-color-base-purple-1000: #4e228d;--ds-color-base-red-100: #fef7f5;--ds-color-base-red-200: #fae2da;--ds-color-base-red-300: #f5c7b8;--ds-color-base-red-400: #f0a68d;--ds-color-base-red-500: #e9815e;--ds-color-base-red-600: #e35c2f;--ds-color-base-red-700: #d03a08;--ds-color-base-red-800: #ae3007;--ds-color-base-red-900: #902806;--ds-color-base-red-1000: #732005;--ds-color-base-success-100: #eef8f5;--ds-color-base-success-200: #8eceb9;--ds-color-base-success-300: #40a080;--ds-color-base-success-400: #0b6f4d;--ds-color-base-success-500: #173c30;--ds-color-base-turquoise-100: #f7fafa;--ds-color-base-turquoise-200: #dfe9ea;--ds-color-base-turquoise-300: #c2d5d6;--ds-color-base-turquoise-400: #9fbdbe;--ds-color-base-turquoise-500: #7ba5a6;--ds-color-base-turquoise-600: #5c8f91;--ds-color-base-turquoise-700: #3d7a7d;--ds-color-base-turquoise-800: #21686a;--ds-color-base-turquoise-900: #085659;--ds-color-base-turquoise-1000: #004447;--ds-color-base-yellow-100: #fff9df;--ds-color-base-yellow-200: #ffe87e;--ds-color-base-yellow-300: #f9ce06;--ds-color-base-yellow-400: #d6b622;--ds-color-base-yellow-500: #b49d35;--ds-color-base-yellow-600: #96873e;--ds-color-base-yellow-700: #7c7140;--ds-color-base-yellow-800: #665e3d;--ds-color-base-yellow-900: #524e38;--ds-color-base-yellow-1000: #403d30;--ds-color-base-warning-100: #fef8e9;--ds-color-base-warning-200: #f2c153;--ds-color-base-warning-300: #c49432;--ds-color-base-warning-400: #8e6b22;--ds-color-base-warning-500: #5d4514;--ds-color-state-error-100: #ff999b;--ds-color-state-error-500: #df0b37;--ds-color-state-success-100: #69cf96;--ds-color-state-success-500: #00805d;--ds-color-state-warning-500: #de750c;--ds-color-border-primary-default: #585e67;--ds-color-border-primary-inverse: #afb9c6;--ds-color-border-secondary-default: #939fad;--ds-color-border-secondary-inverse: #7e8894;--ds-color-border-tertiary-default: #dddddd;--ds-color-border-tertiary-inverse: #676767;--ds-color-border-error-default: #cc1816;--ds-color-border-error-inverse: #f9aca6;--ds-color-border-divider-default: rgba(0, 0, 0, 0.12);--ds-color-border-divider-inverse: rgba(255, 255, 255, 0.25);--ds-color-border-subtle-default: #f0f7fd;--ds-color-border-subtle-inverse: #326aa5;--ds-color-border-emphasis-default: #194069;--ds-color-border-emphasis-inverse: #f2f7fb;--ds-color-border-accent-default: #badd81;--ds-color-border-accent-inverse: #a2c270;--ds-color-border-success-default: #0b6f4d;--ds-color-border-success-inverse: #8eceb9;--ds-color-border-warning-default: #c49432;--ds-color-border-warning-inverse: #f2c153;--ds-color-border-info-default: #326aa5;--ds-color-border-info-inverse: #89b2d4;--ds-color-border-ui-default-default: #2c67b5;--ds-color-border-ui-default-inverse: #56bbde;--ds-color-border-ui-hover-default: #193d73;--ds-color-border-ui-hover-inverse: #a8e9f7;--ds-color-border-ui-active-default: #225296;--ds-color-border-ui-active-inverse: #6ad5ef;--ds-color-border-ui-focus-default: #2c67b5;--ds-color-border-ui-focus-inverse: #56bbde;--ds-color-border-ui-disabled-default: #adadad;--ds-color-border-ui-disabled-inverse: #7e7e7e;--ds-color-border-active-default: #0074c8;--ds-color-border-active-inverse: #00cff0;--ds-color-border-disabled-default: #d4d4d4;--ds-color-border-focus-default: #959595;--ds-color-brand-neutral-100: #f7f8fa;--ds-color-brand-neutral-200: #e4e8ec;--ds-color-brand-neutral-300: #ccd2db;--ds-color-brand-neutral-400: #afb9c6;--ds-color-brand-neutral-500: #939fad;--ds-color-brand-neutral-600: #7e8894;--ds-color-brand-neutral-700: #6a717c;--ds-color-brand-neutral-800: #585e67;--ds-color-brand-neutral-900: #484d55;--ds-color-brand-neutral-1000: #393d43;--ds-color-brand-gray-100: #f7f7f7;--ds-color-brand-gray-200: #dddddd;--ds-color-brand-gray-300: #c5c5c5;--ds-color-brand-gray-400: #adadad;--ds-color-brand-gray-500: #959595;--ds-color-brand-gray-600: #7e7e7e;--ds-color-brand-gray-700: #676767;--ds-color-brand-gray-800: #525252;--ds-color-brand-gray-900: #3d3d3d;--ds-color-brand-gray-1000: #2a2a2a;--ds-color-brand-red-100: #fef7f5;--ds-color-brand-red-200: #fae2da;--ds-color-brand-red-300: #f5c7b8;--ds-color-brand-red-400: #f0a68d;--ds-color-brand-red-500: #e9815e;--ds-color-brand-red-600: #e35c2f;--ds-color-brand-red-700: #d03a08;--ds-color-brand-red-800: #ae3007;--ds-color-brand-red-900: #902806;--ds-color-brand-red-1000: #732005;--ds-color-brand-yellow-100: #fff9df;--ds-color-brand-yellow-200: #ffe87e;--ds-color-brand-yellow-300: #f9ce06;--ds-color-brand-yellow-400: #d6b622;--ds-color-brand-yellow-500: #b49d35;--ds-color-brand-yellow-600: #96873e;--ds-color-brand-yellow-700: #7c7140;--ds-color-brand-yellow-800: #665e3d;--ds-color-brand-yellow-900: #524e38;--ds-color-brand-yellow-1000: #403d30;--ds-color-brand-lime-100: #f5fbeb;--ds-color-brand-lime-200: #d8efb4;--ds-color-brand-lime-300: #badd81;--ds-color-brand-lime-400: #a2c270;--ds-color-brand-lime-500: #8ca761;--ds-color-brand-lime-600: #778f53;--ds-color-brand-lime-700: #647845;--ds-color-brand-lime-800: #53643a;--ds-color-brand-lime-900: #44522f;--ds-color-brand-lime-1000: #364126;--ds-color-brand-green-100: #f3faf7;--ds-color-brand-green-200: #d4ece4;--ds-color-brand-green-300: #addbca;--ds-color-brand-green-400: #7ec6ac;--ds-color-brand-green-500: #51ae8c;--ds-color-brand-green-600: #459578;--ds-color-brand-green-700: #3a7d64;--ds-color-brand-green-800: #306854;--ds-color-brand-green-900: #285545;--ds-color-brand-green-1000: #1f4436;--ds-color-brand-turquoise-100: #f7fafa;--ds-color-brand-turquoise-200: #dfe9ea;--ds-color-brand-turquoise-300: #c2d5d6;--ds-color-brand-turquoise-400: #9fbdbe;--ds-color-brand-turquoise-500: #7ba5a6;--ds-color-brand-turquoise-600: #5c8f91;--ds-color-brand-turquoise-700: #3d7a7d;--ds-color-brand-turquoise-800: #21686a;--ds-color-brand-turquoise-900: #085659;--ds-color-brand-turquoise-1000: #004447;--ds-color-brand-cyan-100: #ebfafd;--ds-color-brand-cyan-200: #a8e9f7;--ds-color-brand-cyan-300: #6ad5ef;--ds-color-brand-cyan-400: #56bbde;--ds-color-brand-cyan-500: #4aa2c7;--ds-color-brand-cyan-600: #3e89aa;--ds-color-brand-cyan-700: #32718e;--ds-color-brand-cyan-800: #275b72;--ds-color-brand-cyan-900: #1d4658;--ds-color-brand-cyan-1000: #12303d;--ds-color-brand-blue-100: #f0f7fd;--ds-color-brand-blue-200: #c9e0f7;--ds-color-brand-blue-300: #a0c9f1;--ds-color-brand-blue-400: #79b2ec;--ds-color-brand-blue-500: #5398e6;--ds-color-brand-blue-600: #3b7fd2;--ds-color-brand-blue-700: #2c67b5;--ds-color-brand-blue-800: #225296;--ds-color-brand-blue-900: #193d73;--ds-color-brand-blue-1000: #102a51;--ds-color-brand-navy-100: #f2f7fb;--ds-color-brand-navy-200: #cfe0ef;--ds-color-brand-navy-300: #acc9e2;--ds-color-brand-navy-400: #89b2d4;--ds-color-brand-navy-500: #6899c6;--ds-color-brand-navy-600: #4a82b7;--ds-color-brand-navy-700: #326aa5;--ds-color-brand-navy-800: #265688;--ds-color-brand-navy-900: #194069;--ds-color-brand-navy-1000: #0e2b4f;--ds-color-brand-purple-100: #fbf8fe;--ds-color-brand-purple-200: #ede3fd;--ds-color-brand-purple-300: #ddc9fb;--ds-color-brand-purple-400: #c9a9f8;--ds-color-brand-purple-500: #b588f5;--ds-color-brand-purple-600: #a268f3;--ds-color-brand-purple-700: #8d47f0;--ds-color-brand-purple-800: #7633d7;--ds-color-brand-purple-900: #622ab2;--ds-color-brand-purple-1000: #4e228d;--ds-color-brand-pink-100: #fff7f8;--ds-color-brand-pink-200: #fde0e6;--ds-color-brand-pink-300: #fcc2ce;--ds-color-brand-pink-400: #fa9db0;--ds-color-brand-pink-500: #f7738e;--ds-color-brand-pink-600: #e45472;--ds-color-brand-pink-700: #bf475f;--ds-color-brand-pink-800: #a03b50;--ds-color-brand-pink-900: #833142;--ds-color-brand-pink-1000: #692734;--ds-color-brand-midnight-100: #c1daf0;--ds-color-brand-midnight-200: #569ed7;--ds-color-brand-midnight-300: #156fad;--ds-color-brand-midnight-400: #01426a;--ds-color-brand-midnight-500: #00274a;--ds-color-brand-atlas-100: #cde6ff;--ds-color-brand-atlas-200: #6bb7fb;--ds-color-brand-atlas-300: #2492eb;--ds-color-brand-atlas-400: #0074c8;--ds-color-brand-atlas-500: #054687;--ds-color-brand-atlas-400-opacity-20: rgba(0, 116, 200, 0.2);--ds-color-brand-breeze-100: #c0f7ff;--ds-color-brand-breeze-200: #5de3f7;--ds-color-brand-breeze-300: #00cff0;--ds-color-brand-breeze-400: #099dc5;--ds-color-brand-breeze-500: #0b5575;--ds-color-brand-breeze-300-opacity-30: rgba(0, 207, 240, 0.3);--ds-color-brand-tropical-100: #e2ffcd;--ds-color-brand-tropical-200: #d0fba6;--ds-color-brand-tropical-300: #c0e585;--ds-color-brand-tropical-400: #91be62;--ds-color-brand-tropical-500: #5e8741;--ds-color-brand-alpine-100: #bcaae6;--ds-color-brand-alpine-200: #9e73ea;--ds-color-brand-alpine-300: #8439ef;--ds-color-brand-alpine-400: #631db8;--ds-color-brand-alpine-500: #39115c;--ds-color-brand-flamingo-100: #ffebee;--ds-color-brand-flamingo-200: #ffc0ca;--ds-color-brand-flamingo-300: #ff94a7;--ds-color-brand-flamingo-400: #f65b7b;--ds-color-brand-flamingo-500: #b82b47;--ds-color-brand-canyon-100: #ffcab6;--ds-color-brand-canyon-200: #f99574;--ds-color-brand-canyon-300: #f26135;--ds-color-brand-canyon-400: #de3e09;--ds-color-brand-canyon-500: #b83302;--ds-color-brand-goldcoast-100: #fff0cd;--ds-color-brand-goldcoast-200: #ffdb67;--ds-color-brand-goldcoast-300: #ffd200;--ds-color-brand-goldcoast-400: #e5ad07;--ds-color-brand-goldcoast-500: #b88624;--ds-color-brand-goldgray-100: #c5c1bf;--ds-color-brand-goldgray-200: #726e6c;--ds-color-brand-gold-100: #ccbc94;--ds-color-brand-gold-200: #7f682e;--ds-color-brand-emerald: #139142;--ds-color-brand-sapphire: #015daa;--ds-color-brand-ruby: #a41d4a;--ds-color-brand-lounge: #01426a;--ds-color-brand-loungeplus: #53b390;--ds-color-container-accent-default: #f5fbeb;--ds-color-container-accent-inverse: #badd81;--ds-color-container-emphasis-default: #ebfafd;--ds-color-container-emphasis-inverse: #6ad5ef;--ds-color-container-error-default: #fff4f4;--ds-color-container-error-inverse: #74110e;--ds-color-container-info-default: #f0f7fd;--ds-color-container-info-inverse: #193d73;--ds-color-container-primary-default: #ffffff;--ds-color-container-primary-inverse: #0e2b4f;--ds-color-container-secondary-default: #f7f7f7;--ds-color-container-secondary-inverse: #194069;--ds-color-container-subtle-default: #f7f8fa;--ds-color-container-subtle-inverse: #393d43;--ds-color-container-success-default: #eef8f5;--ds-color-container-success-inverse: #173c30;--ds-color-container-tertiary-default: rgba(0, 0, 0, 0.03);--ds-color-container-tertiary-inverse: rgba(255, 255, 255, 0.06);--ds-color-container-warning-default: #fef8e9;--ds-color-container-warning-inverse: #5d4514;--ds-color-container-ui-primary-active-default: #225296;--ds-color-container-ui-primary-active-inverse: #6ad5ef;--ds-color-container-ui-primary-default-default: #2c67b5;--ds-color-container-ui-primary-default-inverse: #56bbde;--ds-color-container-ui-primary-disabled-default: #a0c9f1;--ds-color-container-ui-primary-disabled-inverse: #275b72;--ds-color-container-ui-primary-focus-default: #2c67b5;--ds-color-container-ui-primary-focus-inverse: #56bbde;--ds-color-container-ui-primary-hover-default: #193d73;--ds-color-container-ui-primary-hover-inverse: #a8e9f7;--ds-color-container-ui-secondary-active-default: #f0f7fd;--ds-color-container-ui-secondary-active-inverse: rgba(255, 255, 255, 0.06);--ds-color-container-ui-secondary-default-default: #ffffff;--ds-color-container-ui-secondary-default-inverse: rgba(255, 255, 255, 0.03);--ds-color-container-ui-secondary-disabled-default: #f7f7f7;--ds-color-container-ui-secondary-disabled-inverse: rgba(255, 255, 255, 0.12);--ds-color-container-ui-secondary-focus-default: #ffffff;--ds-color-container-ui-secondary-focus-inverse: rgba(255, 255, 255, 0.03);--ds-color-container-ui-secondary-hover-default: rgba(0, 0, 0, 0.03);--ds-color-container-ui-secondary-hover-inverse: rgba(255, 255, 255, 0.12);--ds-color-container-ui-tertiary-active-default: rgba(0, 0, 0, 0.06);--ds-color-container-ui-tertiary-active-inverse: rgba(255, 255, 255, 0.06);--ds-color-container-ui-tertiary-default-default: rgba(0, 0, 0, 0.03);--ds-color-container-ui-tertiary-default-inverse: rgba(255, 255, 255, 0.12);--ds-color-container-ui-tertiary-disabled-default: rgba(0, 0, 0, 0.03);--ds-color-container-ui-tertiary-disabled-inverse: rgba(255, 255, 255, 0.25);--ds-color-container-ui-tertiary-focus-default: rgba(0, 0, 0, 0.03);--ds-color-container-ui-tertiary-focus-inverse: rgba(255, 255, 255, 0.12);--ds-color-container-ui-tertiary-hover-default: rgba(0, 0, 0, 0.12);--ds-color-container-ui-tertiary-hover-inverse: rgba(255, 255, 255, 0.25);--ds-color-icon-primary-default: #676767;--ds-color-icon-primary-inverse: #f7f7f7;--ds-color-icon-secondary-default: #7e8894;--ds-color-icon-secondary-inverse: #ccd2db;--ds-color-icon-tertiary-default: #afb9c6;--ds-color-icon-tertiary-inverse: #939fad;--ds-color-icon-emphasis-default: #2a2a2a;--ds-color-icon-emphasis-inverse: #ffffff;--ds-color-icon-accent-default: #a2c270;--ds-color-icon-accent-inverse: #badd81;--ds-color-icon-info-default: #326aa5;--ds-color-icon-info-inverse: #89b2d4;--ds-color-icon-error-default: #cc1816;--ds-color-icon-error-inverse: #f9aca6;--ds-color-icon-warning-default: #c49432;--ds-color-icon-warning-inverse: #f2c153;--ds-color-icon-success-default: #40a080;--ds-color-icon-success-inverse: #8eceb9;--ds-color-icon-subtle-default: #a0c9f1;--ds-color-icon-subtle-inverse: #326aa5;--ds-color-icon-ui-primary-default-default: #2c67b5;--ds-color-icon-ui-primary-default-inverse: #56bbde;--ds-color-icon-ui-primary-hover-default: #193d73;--ds-color-icon-ui-primary-hover-inverse: #a8e9f7;--ds-color-icon-ui-primary-active-default: #225296;--ds-color-icon-ui-primary-active-inverse: #6ad5ef;--ds-color-icon-ui-primary-disabled-default: #adadad;--ds-color-icon-ui-primary-disabled-inverse: #7e7e7e;--ds-color-icon-ui-primary-focus-default: #2c67b5;--ds-color-icon-ui-primary-focus-inverse: #56bbde;--ds-color-icon-ui-secondary-active-default: #676767;--ds-color-icon-ui-secondary-active-inverse: #c5c5c5;--ds-color-icon-ui-secondary-default-default: #7e7e7e;--ds-color-icon-ui-secondary-default-inverse: #adadad;--ds-color-icon-ui-secondary-disabled-default: #adadad;--ds-color-icon-ui-secondary-disabled-inverse: #7e7e7e;--ds-color-icon-ui-secondary-focus-default: #7e7e7e;--ds-color-icon-ui-secondary-focus-inverse: #adadad;--ds-color-icon-ui-secondary-hover-default: #525252;--ds-color-icon-ui-secondary-hover-inverse: #dddddd;--ds-color-icon-brand-red-default: #d03a08;--ds-color-icon-brand-red-inverse: #e9815e;--ds-color-icon-brand-yellow-default: #7c7140;--ds-color-icon-brand-yellow-inverse: #f9ce06;--ds-color-icon-brand-pink-default: #bf475f;--ds-color-icon-brand-pink-inverse: #f7738e;--ds-color-icon-brand-purple-default: #8d47f0;--ds-color-icon-brand-purple-inverse: #b588f5;--ds-color-icon-brand-lime-default: #647845;--ds-color-icon-brand-lime-inverse: #badd81;--ds-color-icon-brand-green-default: #3a7d64;--ds-color-icon-brand-green-inverse: #51ae8c;--ds-color-icon-brand-turquoise-default: #3d7a7d;--ds-color-icon-brand-turquoise-inverse: #7ba5a6;--ds-color-icon-brand-navy-default: #265688;--ds-color-icon-brand-navy-inverse: #6899c6;--ds-color-icon-brand-blue-default: #2c67b5;--ds-color-icon-brand-blue-inverse: #5398e6;--ds-color-icon-brand-cyan-default: #32718e;--ds-color-icon-brand-cyan-inverse: #6ad5ef;--ds-color-icon-brand-gray-default: #676767;--ds-color-icon-brand-gray-inverse: #c5c5c5;--ds-color-icon-brand-neutral-default: #6a717c;--ds-color-icon-brand-neutral-inverse: #afb9c6;--ds-color-icon-disabled-default: rgba(0, 0, 0, 0.15);--ds-color-text-primary-default: #2a2a2a;--ds-color-text-primary-inverse: #ffffff;--ds-color-text-secondary-default: #525252;--ds-color-text-secondary-inverse: #dddddd;--ds-color-text-tertiary-default: #6a717c;--ds-color-text-tertiary-inverse: #adadad;--ds-color-text-error-default: #cc1816;--ds-color-text-error-inverse: #f9aca6;--ds-color-text-emphasis-default: #265688;--ds-color-text-emphasis-inverse: #cfe0ef;--ds-color-text-accent-default: #647845;--ds-color-text-accent-inverse: #badd81;--ds-color-text-info-default: #326aa5;--ds-color-text-info-inverse: #acc9e2;--ds-color-text-subtle-default: #32718e;--ds-color-text-subtle-inverse: #56bbde;--ds-color-text-success-default: #0b6f4d;--ds-color-text-success-inverse: #8eceb9;--ds-color-text-ui-active-default: #225296;--ds-color-text-ui-active-inverse: #6ad5ef;--ds-color-text-ui-default-default: #2c67b5;--ds-color-text-ui-default-inverse: #56bbde;--ds-color-text-ui-disabled-default: #adadad;--ds-color-text-ui-disabled-inverse: #7e7e7e;--ds-color-text-ui-focus-default: #2c67b5;--ds-color-text-ui-focus-inverse: #56bbde;--ds-color-text-ui-hover-default: #193d73;--ds-color-text-ui-hover-inverse: #a8e9f7;--ds-color-text-link-default: #0074c8;--ds-color-text-link-inverse: #00cff0;--ds-color-tier-alaska-mvp-default: #726e6c;--ds-color-tier-alaska-mvp-inverse: #c5c1bf;--ds-color-tier-alaska-mvpgold-default: #7f682e;--ds-color-tier-alaska-mvpgold-inverse: #c5c1bf;--ds-color-tier-alaska-mvpgold75k-default: #7f682e;--ds-color-tier-alaska-mvpgold75k-inverse: #c5c1bf;--ds-color-tier-alaska-mvpgold100k-default: #7f682e;--ds-color-tier-alaska-mvpgold100k-inverse: #c5c1bf;--ds-color-tier-alaska-lounge: #01426a;--ds-color-tier-alaska-loungeplus: #53b390;--ds-color-tier-fare-business-default: #005154;--ds-color-tier-fare-business-inverse: #9fbdbe;--ds-color-tier-fare-economy-default: #2c67b5;--ds-color-tier-fare-economy-inverse: #a0c9f1;--ds-color-tier-fare-first-class-default: #002c4e;--ds-color-tier-fare-first-class-inverse: #89b2d4;--ds-color-tier-fare-saver-default: #4aa2c7;--ds-color-tier-fare-saver-inverse: #a8e9f7;--ds-color-tier-oneworld-emerald: #139142;--ds-color-tier-oneworld-sapphire: #015daa;--ds-color-tier-oneworld-ruby: #a41d4a;--ds-color-ui-default-default: #0074c8;--ds-color-ui-default-inverse: #00cff0;--ds-color-ui-hover-default: #054687;--ds-color-ui-hover-inverse: #5de3f7;--ds-color-ui-active-default: #054687;--ds-color-ui-active-inverse: #5de3f7;--ds-color-ui-disabled-default: rgba(0, 116, 200, 0.2);--ds-color-ui-bkg-default-default: rgba(0, 0, 0, 0.03);--ds-color-ui-bkg-default-inverse: rgba(255, 255, 255, 0.03);--ds-color-ui-bkg-hover-default: rgba(0, 0, 0, 0.06);--ds-color-ui-bkg-hover-inverse: rgba(255, 255, 255, 0.06);--ds-color-utility-blue-default: #79b2ec;--ds-color-utility-blue-inverse: #c9e0f7;--ds-color-utility-cyan-default: #6ad5ef;--ds-color-utility-cyan-inverse: #a8e9f7;--ds-color-utility-green-default: #7ec6ac;--ds-color-utility-green-inverse: #addbca;--ds-color-utility-gray-default: #adadad;--ds-color-utility-gray-inverse: #dddddd;--ds-color-utility-lime-default: #badd81;--ds-color-utility-lime-inverse: #d8efb4;--ds-color-utility-navy-default: #265688;--ds-color-utility-navy-inverse: #acc9e2;--ds-color-utility-neutral-default: #7e8894;--ds-color-utility-neutral-inverse: #ccd2db;--ds-color-utility-pink-default: #f7738e;--ds-color-utility-pink-inverse: #fcc2ce;--ds-color-utility-purple-default: #8d47f0;--ds-color-utility-purple-inverse: #ddc9fb;--ds-color-utility-red-default: #e35c2f;--ds-color-utility-red-inverse: #f0a68d;--ds-color-utility-turquoise-default: #5c8f91;--ds-color-utility-turquoise-inverse: #9fbdbe;--ds-color-utility-yellow-default: #f9ce06;--ds-color-utility-yellow-inverse: #ffe87e;--ds-color-utility-error-default: #cc1816;--ds-color-utility-error-inverse: #f9aca6;--ds-color-utility-warning-default: #f2c153;--ds-color-utility-warning-inverse: #f2c153;--ds-color-utility-success-default: #0b6f4d;--ds-color-utility-success-inverse: #8eceb9}*,*:before,*:after{box-sizing:border-box}@media(prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}}*:focus-visible{outline:0}*:focus-visible{outline:0}:focus:not(:focus-visible){outline:3px solid transparent}:host{display:inline-block;width:100%;margin:0;padding:0;vertical-align:middle}:host ::slotted(auro-menuoption),:host ::slotted([auro-menuoption]),:host auro-menuoption[loadingplaceholder]{padding-left:calc(var(--ds-size-150, 0.75rem) + 24px + var(--ds-size-100, 0.5rem))}:host ::slotted([selected]){padding-left:0}:host ::slotted(hr){box-sizing:content-box !important;height:0 !important;overflow:visible !important;margin:var(--ds-size-100, 0.5rem) 0 !important;border-width:0 !important;border-top-width:1px !important;border-top-style:solid !important}:host([nocheckmark]) ::slotted(auro-menuoption),:host([nocheckmark]) auro-menuoption[loadingplaceholder]{padding-left:var(--ds-size-200, 1rem)}:host([root]){overflow-y:auto}[loadingplaceholder]{color:var(--ds-color-text-secondary-default, #525252)}[loadingplaceholder].empty{opacity:0;position:absolute}[loadingplaceholder] slot[name=loadingIcon]{vertical-align:middle;line-height:1;display:inline-block}[loadingplaceholder] slot[name=loadingIcon]::slotted(*){margin-right:var(--ds-size-150, 0.75rem)}`;
3737
3769
 
3738
3770
  var colorCss$2 = i$b`:host ::slotted(hr){border-top-color:var(--ds-auro-menu-divider-color) !important}`;
3739
3771
 
3740
3772
  var tokensCss$1 = i$b`:host{--ds-auro-menu-divider-color: var(--ds-color-border-divider-default, $ds-color-border-divider-default);--ds-auro-menuoption-container-color: transparent;--ds-auro-menuoption-icon-color: transparent;--ds-auro-menuoption-text-color: var(--ds-color-text-primary-default, $ds-color-text-primary-default)}`;
3741
3773
 
3742
- var styleCss$1 = i$b`:host{display:flex;align-items:center;padding:var(--ds-size-50, 0.25rem) var(--ds-size-200, 1rem) var(--ds-size-50, 0.25rem) 0;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent}:host slot{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}:host [auro-icon]{--ds-auro-icon-size: var(--ds-size-300, 1.5rem);margin-right:var(--ds-size-150, 0.75rem);margin-left:var(--ds-size-100, 0.5rem)}:host ::slotted(.nestingSpacer){display:inline-block;width:var(--ds-size-300, 1.5rem)}:host ::slotted(strong){font-weight:700}:host([hidden]){display:none}:host([static]){pointer-events:none}:host([disabled]:hover){cursor:auto}:host([disabled]){user-select:none;pointer-events:none}`;
3774
+ // Copyright (c) 2021 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
3775
+ // See LICENSE in the project root for license information.
3743
3776
 
3744
- var colorCss$1 = i$b`:host{background-color:var(--ds-auro-menuoption-container-color);color:var(--ds-auro-menuoption-text-color)}:host svg{fill:var(--ds-auro-menuoption-icon-color) !important}:host([disabled]){--ds-auro-menuoption-text-color: var(--ds-color-text-ui-disabled-default, #adadad)}:host(:hover),:host(.active){--ds-auro-menuoption-container-color: var(--ds-color-container-ui-secondary-hover-default, rgba(0, 0, 0, 0.03))}:host([selected]){--ds-auro-menuoption-container-color: var(--ds-color-container-ui-primary-default-default, #2c67b5);--ds-auro-menuoption-text-color: var(--ds-color-text-primary-inverse, #ffffff);--ds-auro-menuoption-icon-color: var(--ds-color-icon-emphasis-inverse, #ffffff)}`;
3745
3777
 
3778
+ // See https://git.io/JJ6SJ for "How to document your components using JSDoc"
3746
3779
  /**
3747
- * @license
3748
- * Copyright 2017 Google LLC
3749
- * SPDX-License-Identifier: BSD-3-Clause
3780
+ * The auro-menu element provides users a way to select from a list of options.
3781
+ * @attr {Object} optionSelected - Specifies the current selected menuOption.
3782
+ * @attr {String} matchWord - Specifies a string used to highlight matched string parts in options.
3783
+ * @attr {Boolean} disabled - When true, the entire menu and all options are disabled;
3784
+ * @attr {Boolean} noCheckmark - When true, selected option will not show the checkmark.
3785
+ * @attr {Boolean} loading - When true, displays a loading state using the loadingIcon and loadingText slots if provided.
3786
+ * @attr {String} value - Value selected for the menu.
3787
+ * @prop {Boolean} hasLoadingPlaceholder - Indicates whether the menu has a loadingIcon or loadingText to render when in a loading state.
3788
+ * @event auroMenu-selectedOption - Notifies that a new menuoption selection has been made.
3789
+ * @event selectedOption - (DEPRECATED) Notifies that a new menuoption selection has been made.
3790
+ * @event auroMenu-activatedOption - Notifies that a menuoption has been made `active`.
3791
+ * @event auroMenuActivatedOption - (DEPRECATED) Notifies that a menuoption has been made `active`.
3792
+ * @event auroMenu-selectValueFailure - Notifies that a an attempt to select a menuoption by matching a value has failed.
3793
+ * @event auroMenuSelectValueFailure - (DEPRECATED) Notifies that a an attempt to select a menuoption by matching a value has failed.
3794
+ * @event auroMenu-customEventFired - Notifies that a custom event has been fired.
3795
+ * @event auroMenuCustomEventFired - (DEPRECATED) Notifies that a custom event has been fired.
3796
+ * @event auroMenu-selectValueReset - Notifies that the component value has been reset.
3797
+ * @event auroMenu-loadingChange - Notifies when the loading attribute is changed.
3798
+ * @slot loadingText - Text to show while loading attribute is set
3799
+ * @slot loadingIcon - Icon to show while loading attribute is set
3800
+ * @slot - Slot for insertion of menu options.
3750
3801
  */
3751
- const t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e$1=t=>(...e)=>({_$litDirective$:t,values:e});class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i;}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}
3752
3802
 
3753
- /**
3754
- * @license
3755
- * Copyright 2018 Google LLC
3756
- * SPDX-License-Identifier: BSD-3-Clause
3757
- */const e=e$1(class extends i{constructor(t$1){if(super(t$1),t$1.type!==t.ATTRIBUTE||"class"!==t$1.name||t$1.strings?.length>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(t){return " "+Object.keys(t).filter((s=>t[s])).join(" ")+" "}update(s,[i]){if(void 0===this.st){this.st=new Set,void 0!==s.strings&&(this.nt=new Set(s.strings.join(" ").split(/\s/).filter((t=>""!==t))));for(const t in i)i[t]&&!this.nt?.has(t)&&this.st.add(t);return this.render(i)}const r=s.element.classList;for(const t of this.st)t in i||(r.remove(t),this.st.delete(t));for(const t in i){const s=!!i[t];s===this.st.has(t)||this.nt?.has(t)||(s?(r.add(t),this.st.add(t)):(r.remove(t),this.st.delete(t)));}return T$1}});
3803
+ /* eslint-disable no-magic-numbers, max-lines */
3758
3804
 
3759
- /**
3760
- * @license
3761
- * Copyright 2018 Google LLC
3762
- * SPDX-License-Identifier: BSD-3-Clause
3763
- */const o=o=>o??E$1;
3805
+ class AuroMenu extends r$4 {
3806
+ constructor() {
3807
+ super();
3808
+ this.value = undefined;
3809
+ this.optionSelected = undefined;
3810
+ this.matchWord = undefined;
3811
+ this.noCheckmark = false;
3812
+ this.optionActive = undefined;
3813
+ this.loading = false;
3764
3814
 
3765
- // Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
3766
- // See LICENSE in the project root for license information.
3815
+ /**
3816
+ * @private
3817
+ */
3818
+ this.rootMenu = true;
3767
3819
 
3820
+ /**
3821
+ * @private
3822
+ */
3823
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$1();
3768
3824
 
3769
- /**
3770
- * @attr {Boolean} hidden - If present, the component will be hidden both visually and from screen readers
3771
- * @attr {Boolean} hiddenVisually - If present, the component will be hidden visually, but still read by screen readers
3772
- * @attr {Boolean} hiddenAudible - If present, the component will be hidden from screen readers, but seen visually
3773
- */
3825
+ /**
3826
+ * @private
3827
+ */
3828
+ this.nestingSpacer = '<span class="nestingSpacer"></span>';
3774
3829
 
3775
- class AuroElement extends r$4 {
3830
+ /**
3831
+ * @private
3832
+ */
3833
+ this.loadingSlots = null;
3834
+ }
3776
3835
 
3777
- // function to define props used within the scope of this component
3778
3836
  static get properties() {
3779
3837
  return {
3780
- hidden: { type: Boolean,
3781
- reflect: true },
3782
- hiddenVisually: { type: Boolean,
3783
- reflect: true },
3784
- hiddenAudible: { type: Boolean,
3785
- reflect: true },
3838
+ noCheckmark: {
3839
+ type: Boolean,
3840
+ reflect: true
3841
+ },
3842
+ disabled: {
3843
+ type: Boolean,
3844
+ reflect: true
3845
+ },
3846
+ loading: {
3847
+ type: Boolean,
3848
+ reflect: true
3849
+ },
3850
+ optionSelected: { type: Object },
3851
+ optionActive: { type: Object },
3852
+ matchWord: { type: String },
3853
+ value: { type: String }
3786
3854
  };
3787
3855
  }
3788
3856
 
3857
+ static get styles() {
3858
+ return [
3859
+ styleCss$2,
3860
+ colorCss$2,
3861
+ tokensCss$1
3862
+ ];
3863
+ }
3864
+
3789
3865
  /**
3790
- * @private Function that determines state of aria-hidden
3866
+ * This will register this element with the browser.
3867
+ * @param {string} [name="auro-menu"] - The name of element that you want to register to.
3868
+ *
3869
+ * @example
3870
+ * AuroMenu.register("custom-menu") // this will register this element to <custom-menu/>
3871
+ *
3791
3872
  */
3792
- hideAudible(value) {
3793
- if (value) {
3794
- return 'true'
3795
- }
3796
-
3797
- return 'false'
3873
+ static register(name = "auro-menu") {
3874
+ AuroLibraryRuntimeUtils$1.prototype.registerComponent(name, AuroMenu);
3798
3875
  }
3799
- }
3800
-
3801
- var error = {"role":"img","color":"currentColor","title":"","desc":"Error alert indicator.","width":"var(--auro-size-lg, var(--ds-size-300, 1.5rem))","height":"var(--auro-size-lg, var(--ds-size-300, 1.5rem))","xmlns":"http://www.w3.org/2000/svg","xmlns_xlink":"http://www.w3.org/1999/xlink","viewBox":"0 0 24 24","path":"/icons","style":"ico_squareLarge","type":"icon","name":"error","category":"alert","deprecated":true,"svg":"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" aria-labelledby=\"error__desc\" class=\"ico_squareLarge\" data-deprecated=\"true\" role=\"img\" style=\"min-width:var(--auro-size-lg, var(--ds-size-300, 1.5rem));height:var(--auro-size-lg, var(--ds-size-300, 1.5rem));fill:currentColor\" viewBox=\"0 0 24 24\" part=\"svg\"><title/><desc id=\"error__desc\">Error alert indicator.</desc><path d=\"m13.047 5.599 6.786 11.586A1.207 1.207 0 0 1 18.786 19H5.214a1.207 1.207 0 0 1-1.047-1.815l6.786-11.586a1.214 1.214 0 0 1 2.094 0m-1.165.87a.23.23 0 0 0-.085.085L5.419 17.442a.232.232 0 0 0 .203.35h12.756a.234.234 0 0 0 .203-.35L12.203 6.554a.236.236 0 0 0-.321-.084M12 15.5a.75.75 0 1 1 0 1.5.75.75 0 0 1 0-1.5m-.024-6.22c.325 0 .589.261.589.583v4.434a.586.586 0 0 1-.589.583.586.586 0 0 1-.588-.583V9.863c0-.322.264-.583.588-.583\"/></svg>"};
3802
3876
 
3803
- /* eslint-disable no-underscore-dangle, jsdoc/no-undefined-types, jsdoc/require-param-description */
3877
+ /**
3878
+ * Passes the noCheckmark attribute to all nested auro-menuoptions.
3879
+ * @private
3880
+ * @returns {void}
3881
+ */
3882
+ handleNoCheckmarkAttr() {
3883
+ if (this.noCheckmark) {
3884
+ const menus = this.querySelectorAll('auro-menu, [auro-menu]');
3804
3885
 
3805
- const _fetchMap = new Map();
3886
+ menus.forEach((menu) => {
3887
+ menu.setAttribute('noCheckmark', '');
3888
+ });
3806
3889
 
3807
- /**
3808
- * A callback to parse Response body.
3809
- *
3810
- * @callback ResponseParser
3811
- * @param {Fetch.Response} response
3812
- * @returns {Promise}
3813
- */
3890
+ const options = this.querySelectorAll('auro-menuoption, [auro-menuoption]');
3814
3891
 
3815
- /**
3816
- * A minimal in-memory map to de-duplicate Fetch API media requests.
3817
- *
3818
- * @param {String} uri
3819
- * @param {Object} [options={}]
3820
- * @param {ResponseParser} [options.responseParser=(response) => response.text()]
3821
- * @returns {Promise}
3822
- */
3823
- const cacheFetch = (uri, options = {}) => {
3824
- const responseParser = options.responseParser || ((response) => response.text());
3825
- if (!_fetchMap.has(uri)) {
3826
- _fetchMap.set(uri, fetch(uri).then(responseParser));
3892
+ options.forEach((option) => {
3893
+ option.setAttribute('noCheckmark', '');
3894
+ });
3895
+ }
3827
3896
  }
3828
- return _fetchMap.get(uri);
3829
- };
3830
3897
 
3831
- var styleCss = i$b`*,*:before,*:after{box-sizing:border-box}@media(prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}}*:focus-visible{outline:0}*:focus-visible{outline:0}:focus:not(:focus-visible){outline:3px solid transparent}.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock,:host{display:block}.util_displayFlex{display:flex}.util_displayHidden,:host([hidden]:not(:focus):not(:active)){display:none}.util_displayHiddenVisually,:host([hiddenVisually]:not(:focus):not(:active)){position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}.ico_squareLarge{fill:currentColor;height:var(--auro-size-lg, var(--ds-size-300, 1.5rem))}.ico_squareSmall{fill:currentColor;height:.6rem}.ico_squareMed{fill:currentColor;height:var(--auro-size-md, var(--ds-size-200, 1rem))}.ico_squareSml{fill:currentColor;height:var(--auro-size-sm, var(--ds-size-150, 0.75rem))}:host{color:currentColor;vertical-align:middle;line-height:1;display:inline-block}:host .logo{color:var(--ds-color-brand-midnight-400, #01426a)}svg{min-width:var(--ds-auro-icon-size, 1.5rem) !important;width:var(--ds-auro-icon-size, 1.5rem) !important;height:var(--ds-auro-icon-size, 1.5rem) !important}.label{display:flex;align-items:flex-start}.label svg{margin:0 var(--ds-size-50, 0.25rem)}.labelContainer{line-height:1.8}`;
3898
+ firstUpdated() {
3899
+ // Add the tag name as an attribute if it is different than the component name
3900
+ this.runtimeUtils.handleComponentTagRename(this, 'auro-menu');
3832
3901
 
3833
- // Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
3834
- // See LICENSE in the project root for license information.
3902
+ this.addEventListener('keydown', this.handleKeyDown);
3835
3903
 
3904
+ this.loadingSlots = this.querySelectorAll("[slot='loadingText'], [slot='loadingIcon']");
3905
+ }
3836
3906
 
3837
- // See https://git.io/JJ6SJ for "How to document your components using JSDoc"
3838
- /**
3839
- * @attr {Boolean} onDark - Set value for on-dark version of auro-icon
3840
- * @slot - Hidden from visibility, used for a11y if icon description is needed
3841
- */
3907
+ updated(changedProperties) {
3908
+ if (changedProperties.has('matchWord')) {
3909
+ this.markOptions();
3910
+ }
3842
3911
 
3843
- // build the component class
3844
- class BaseIcon extends AuroElement {
3845
- constructor() {
3846
- super();
3847
- this.onDark = false;
3848
- }
3912
+ if (changedProperties.has('value')) {
3913
+ this.selectByValue(this.value);
3914
+ }
3849
3915
 
3850
- // function to define props used within the scope of this component
3851
- static get properties() {
3852
- return {
3853
- ...super.properties,
3854
- onDark: {
3855
- type: Boolean,
3856
- reflect: true
3857
- },
3916
+ if (changedProperties.has('disabled')) {
3917
+ const options = Array.from(this.querySelectorAll('auro-menuoption, [auro-menuoption]'));
3858
3918
 
3859
- /**
3860
- * @private
3861
- */
3862
- svg: {
3863
- attribute: false,
3864
- reflect: true
3919
+ for (const element of options) {
3920
+ element.disabled = this.disabled;
3865
3921
  }
3866
- };
3922
+ }
3923
+
3924
+ if (changedProperties.has('loading')) {
3925
+ const event = new CustomEvent("auroMenu-loadingChange", {
3926
+ detail: {
3927
+ loading: this.loading,
3928
+ hasLoadingPlaceholder:
3929
+ this.hasLoadingPlaceholder
3930
+ }
3931
+ });
3932
+ this.setAttribute("aria-busy", this.hasAttribute("loading"));
3933
+ this.dispatchEvent(event);
3934
+ }
3867
3935
  }
3868
3936
 
3869
- static get styles() {
3870
- return i$b`
3871
- ${styleCss}
3872
- `;
3937
+ /**
3938
+ * @private
3939
+ * @param {Object} option - The menuoption to check for interactive state.
3940
+ * @returns {Boolean} Returns true if the option is interactive.
3941
+ */
3942
+ optionInteractive(option) {
3943
+ return !option.hasAttribute('hidden') && !option.hasAttribute('disabled') && !option.hasAttribute('static');
3873
3944
  }
3874
3945
 
3875
3946
  /**
3876
- * Async function to fetch requested icon from npm CDN.
3877
3947
  * @private
3878
- * @param {string} category - Icon category.
3879
- * @param {string} name - Icon name.
3880
- * @returns {SVGElement} DOM - Ready HTML to be appended.
3948
+ * @returns {void} When called will update the DOM with visible suggest text matches.
3881
3949
  */
3882
- async fetchIcon(category, name) {
3883
- let iconHTML = '';
3950
+ markOptions() {
3951
+ if (this.items && this.items.length > 0 && (this.matchWord && this.matchWord.length > 0)) {
3884
3952
 
3885
- if (category === 'logos') {
3886
- iconHTML = await cacheFetch(`${this.uri}/${category}/${name}.svg`);
3887
- } else {
3888
- iconHTML = await cacheFetch(`${this.uri}/icons/${category}/${name}.svg`);
3889
- }
3953
+ // Escape special regex characters
3954
+ const escapedWord = this.matchWord.replace(/[.*+?^${}()|[\]\\]/gu, '\\$&');
3890
3955
 
3891
- const dom = new DOMParser().parseFromString(iconHTML, 'text/html');
3956
+ // Global, case-insensitive, unicode matching regex pattern
3957
+ const regexWord = new RegExp(escapedWord, 'giu');
3892
3958
 
3893
- return dom.body.querySelector('svg');
3894
- }
3959
+ this.items.forEach((item) => {
3960
+ if (this.optionInteractive(item) && !item.hasAttribute('persistent')) {
3961
+ const nested = item.querySelectorAll('.nestingSpacer');
3962
+ const nestingSpacerBundle = [...nested].map(() => this.nestingSpacer).join('');
3895
3963
 
3896
- // lifecycle function
3897
- async firstUpdated() {
3898
- if (!this.customSvg) {
3899
- const svg = await this.fetchIcon(this.category, this.name);
3900
-
3901
- if (svg) {
3902
- this.svg = svg;
3903
- } else if (!svg) {
3904
- const penDOM = new DOMParser().parseFromString(error.svg, 'text/html');
3905
-
3906
- this.svg = penDOM.body.firstChild;
3907
- }
3964
+ item.innerHTML = nestingSpacerBundle + item.textContent.replace(regexWord, (match) => `<strong>${match}</strong>`);
3965
+ }
3966
+ });
3908
3967
  }
3909
3968
  }
3910
- }
3911
-
3912
- var tokensCss = i$b`:host{--ds-auro-icon-color: var(--ds-color-icon-primary-default, $ds-color-icon-primary-default);--ds-auro-icon-size: var(--ds-size-300, $ds-size-300)}`;
3913
-
3914
- var colorCss = i$b`:host{color:var(--ds-auro-icon-color)}:host([customColor]){color:inherit}:host(:not([onDark])[accent]){--ds-auro-icon-color: var(--ds-color-icon-accent-default, #a2c270)}:host(:not([onDark])[disabled]){--ds-auro-icon-color: var(--ds-color-icon-ui-primary-disabled-default, #adadad)}:host(:not([onDark])[emphasis]){--ds-auro-icon-color: var(--ds-color-icon-emphasis-default, #2a2a2a)}:host(:not([onDark])[error]){--ds-auro-icon-color: var(--ds-color-icon-error-default, #cc1816)}:host(:not([onDark])[info]){--ds-auro-icon-color: var(--ds-color-icon-info-default, #326aa5)}:host(:not([onDark])[secondary]){--ds-auro-icon-color: var(--ds-color-icon-secondary-default, #7e8894)}:host(:not([onDark])[subtle]){--ds-auro-icon-color: var(--ds-color-icon-subtle-default, #a0c9f1)}:host(:not([onDark])[success]){--ds-auro-icon-color: var(--ds-color-icon-success-default, #40a080)}:host(:not([onDark])[tertiary]){--ds-auro-icon-color: var(--ds-color-icon-tertiary-default, #afb9c6)}:host(:not([onDark])[warning]){--ds-auro-icon-color: var(--ds-color-icon-warning-default, #c49432)}:host([onDark]){--ds-auro-icon-color: var(--ds-color-icon-primary-inverse, #f7f7f7)}:host([onDark][accent]){--ds-auro-icon-color: var(--ds-color-icon-accent-inverse, #badd81)}:host([onDark][disabled]){--ds-auro-icon-color: var(--ds-color-icon-ui-primary-disabled-inverse, #7e7e7e)}:host([onDark][emphasis]){--ds-auro-icon-color: var(--ds-color-icon-emphasis-inverse, #ffffff)}:host([onDark][error]){--ds-auro-icon-color: var(--ds-color-icon-error-inverse, #f9aca6)}:host([onDark][info]){--ds-auro-icon-color: var(--ds-color-icon-info-inverse, #89b2d4)}:host([onDark][secondary]){--ds-auro-icon-color: var(--ds-color-icon-secondary-inverse, #ccd2db)}:host([onDark][subtle]){--ds-auro-icon-color: var(--ds-color-icon-subtle-inverse, #326aa5)}:host([onDark][success]){--ds-auro-icon-color: var(--ds-color-icon-success-inverse, #8eceb9)}:host([onDark][tertiary]){--ds-auro-icon-color: var(--ds-color-icon-tertiary-inverse, #939fad)}:host([onDark][warning]){--ds-auro-icon-color: var(--ds-color-icon-warning-inverse, #f2c153)}`;
3915
-
3916
- // Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
3917
- // See LICENSE in the project root for license information.
3918
-
3919
-
3920
- // See https://git.io/JJ6SJ for "How to document your components using JSDoc"
3921
- /**
3922
- * auro-icon provides users a way to use the Auro Icons by simply passing in the category and name.
3923
- *
3924
- * @attr {String} category - The category of the icon you are looking for. See https://auro.alaskaair.com/icons/usage.
3925
- * @attr {String} name - The name of the icon you are looking for without the file extension. See https://auro.alaskaair.com/icons/usage
3926
- * @attr {Boolean} customColor - Removes primary selector.
3927
- * @attr {Boolean} customSvg - When true, auro-icon will render a custom SVG inside the default slot.
3928
- * @attr {Boolean} label - Exposes content in slot as icon label.
3929
- * @attr {Boolean} primary - DEPRECATED: Sets the icon to use the baseline primary icon style.
3930
- * @attr {Boolean} accent - Sets the icon to use the accent style.
3931
- * @attr {Boolean} emphasis - Sets the icon to use the emphasis style.
3932
- * @attr {Boolean} disabled - Sets the icon to use the disabled style.
3933
- * @attr {Boolean} error - Sets the icon to use the error style.
3934
- * @attr {Boolean} info - Sets the icon to use the info style.
3935
- * @attr {Boolean} secondary - Sets the icon to use the secondary style.
3936
- * @attr {Boolean} tertiary - Sets the icon to use the tertiary style.
3937
- * @attr {Boolean} subtle - Sets the icon to use the subtle style.
3938
- * @attr {Boolean} success - Sets the icon to use the success style.
3939
- * @attr {Boolean} warning - Sets the icon to use the warning style.
3940
- * @attr {String} ariaHidden - Set aria-hidden value. Default is `true`. Option is `false`.
3941
- * @attr {String} uri - Set the uri for CDN used when fetching icons
3942
- * @slot - Hidden from visibility, used for a11y if icon description is needed.
3943
- * @slot svg - Used for custom SVG content.
3944
- */
3945
-
3946
- // build the component class
3947
- class AuroIcon extends BaseIcon {
3948
- constructor() {
3949
- super();
3950
-
3951
- this.uri = 'https://cdn.jsdelivr.net/npm/@alaskaairux/icons@latest/dist';
3952
3969
 
3953
- this.privateDefaults();
3970
+ /**
3971
+ * Reset the menu and all options.
3972
+ */
3973
+ resetOptionsStates() {
3974
+ this.optionSelected = undefined;
3975
+ if (this.items) {
3976
+ this.items.forEach((item) => {
3977
+ item.classList.remove('active');
3978
+ item.removeAttribute('selected');
3979
+ });
3980
+ }
3954
3981
  }
3955
3982
 
3956
3983
  /**
3957
- * Internal Defaults.
3984
+ * Set the attributes on the selected menuoption, the menu value and stored option.
3985
+ * @param {Object} option - The menuoption to be selected.
3958
3986
  * @private
3959
- * @returns {void}
3960
3987
  */
3961
- privateDefaults() {
3962
- this.accent = false;
3963
- this.customColor = false;
3964
- this.customSvg = false;
3965
- this.disabled = false;
3966
- this.emphasis = false;
3967
- this.error = false;
3968
- this.info = false;
3969
- this.label = false;
3970
- this.primary = false;
3971
- this.secondary = false;
3972
- this.subtle = false;
3973
- this.success = false;
3974
- this.tertiary = false;
3975
- this.warning = false;
3976
- this.runtimeUtils = new AuroLibraryRuntimeUtils$1();
3977
- }
3978
-
3979
- // function to define props used within the scope of this component
3980
- static get properties() {
3981
- return {
3982
- ...super.properties,
3983
- accent: {
3984
- type: Boolean,
3985
- reflect: true
3986
- },
3987
- ariaHidden: {
3988
- type: String,
3989
- reflect: true
3990
- },
3991
- category: {
3992
- type: String,
3993
- reflect: true
3994
- },
3995
- customColor: {
3996
- type: Boolean
3997
- },
3998
- customSvg: {
3999
- type: Boolean
4000
- },
4001
- disabled: {
4002
- type: Boolean,
4003
- reflect: true
4004
- },
4005
- emphasis: {
4006
- type: Boolean,
4007
- reflect: true
4008
- },
4009
- error: {
4010
- type: Boolean,
4011
- reflect: true
4012
- },
4013
- info: {
4014
- type: Boolean,
4015
- reflect: true
4016
- },
4017
- label: {
4018
- type: Boolean,
4019
- reflect: true
4020
- },
4021
- name: {
4022
- type: String,
4023
- reflect: true
4024
- },
4025
- primary: {
4026
- type: Boolean,
4027
- reflect: true
4028
- },
4029
- secondary: {
4030
- type: Boolean,
4031
- reflect: true
4032
- },
4033
- subtle: {
4034
- type: Boolean,
4035
- reflect: true
4036
- },
4037
- success: {
4038
- type: Boolean,
4039
- reflect: true
4040
- },
4041
- tertiary: {
4042
- type: Boolean,
4043
- reflect: true
4044
- },
4045
- uri: {
4046
- type: String
4047
- },
4048
- warning: {
4049
- type: Boolean,
4050
- reflect: true
4051
- }
4052
- };
4053
- }
3988
+ handleLocalSelectState(option) {
3989
+ option.setAttribute('selected', '');
3990
+ option.classList.add('active');
3991
+ option.ariaSelected = true;
4054
3992
 
4055
- static get styles() {
4056
- return [
4057
- super.styles,
4058
- i$b`${tokensCss}`,
4059
- i$b`${styleCss}`,
4060
- i$b`${colorCss}`
4061
- ];
3993
+ this.value = option.value;
3994
+ this.optionSelected = option;
3995
+ this.index = this.items.indexOf(option);
4062
3996
  }
4063
3997
 
4064
3998
  /**
4065
- * This will register this element with the browser.
4066
- * @param {string} [name="auro-icon"] - The name of element that you want to register to.
4067
- *
4068
- * @example
4069
- * AuroIcon.register("custom-icon") // this will register this element to <custom-icon/>
4070
- *
3999
+ * Notify selection change.
4000
+ * @private
4001
+ * @return {void}
4071
4002
  */
4072
- static register(name = "auro-icon") {
4073
- AuroLibraryRuntimeUtils$1.prototype.registerComponent(name, AuroIcon);
4074
- }
4075
-
4076
- connectedCallback() {
4077
- super.connectedCallback();
4003
+ notifySelectionChange() {
4004
+ // this event needs to be removed after select and combobox are updated to use the new standard name
4005
+ this.dispatchEvent(new CustomEvent('selectedOption', {
4006
+ bubbles: true,
4007
+ cancelable: false,
4008
+ composed: true,
4009
+ }));
4078
4010
 
4079
- // Add the tag name as an attribute if it is different than the component name
4080
- this.runtimeUtils.handleComponentTagRename(this, 'auro-icon');
4011
+ this.dispatchEvent(new CustomEvent('auroMenu-selectedOption', {
4012
+ bubbles: true,
4013
+ cancelable: false,
4014
+ composed: true,
4015
+ }));
4081
4016
  }
4082
4017
 
4083
4018
  /**
4084
- * @returns {void} Exposes CSS parts for styling from parent components.
4019
+ * Process actions for making making a menuoption selection.
4085
4020
  */
4086
- exposeCssParts() {
4087
- this.setAttribute('exportparts', 'svg:iconSvg');
4088
- }
4089
-
4090
- // function that renders the HTML and CSS into the scope of the component
4091
- render() {
4092
- const a11y = {
4093
- 'labelContainer': true,
4094
- 'util_displayHiddenVisually': !this.label
4095
- };
4096
-
4097
- const classes = {
4098
- 'label': this.label
4099
- };
4100
-
4101
- return x$1`
4102
- <div
4103
- class="${e(classes)}"
4104
- title="${o(this.title || undefined)}">
4105
- <span aria-hidden="${o(this.ariaHidden ? this.ariaHidden : true)}" part="svg">
4106
- ${this.customSvg ? x$1`
4107
- <slot name="svg"></slot>
4108
- ` : x$1`
4109
- ${this.svg}
4110
- `
4111
- }
4112
- </span>
4021
+ makeSelection() {
4022
+ if (!this.items) {
4023
+ this.initItems();
4024
+ }
4113
4025
 
4114
- <div class="${e(a11y)}">
4115
- <slot></slot>
4116
- </div>
4117
- </div>
4118
- `;
4119
- }
4120
- }
4026
+ if (this.items[this.index] && !this.items[this.index].hasAttribute('disabled')) {
4027
+ this.resetOptionsStates();
4121
4028
 
4122
- var iconVersion = '6.1.1';
4029
+ if (this.index >= 0) {
4030
+ const option = this.items[this.index];
4123
4031
 
4124
- var checkmarkIcon = {"role":"img","color":"currentColor","title":"","desc":"a small check mark.","width":"var(--auro-size-lg, var(--ds-size-300, 1.5rem))","height":"var(--auro-size-lg, var(--ds-size-300, 1.5rem))","xmlns":"http://www.w3.org/2000/svg","xmlns_xlink":"http://www.w3.org/1999/xlink","viewBox":"0 0 24 24","path":"/icons","style":"ico_squareLarge","type":"icon","name":"checkmark-sm","category":"interface","svg":"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" aria-labelledby=\"checkmark-sm__desc\" class=\"ico_squareLarge\" role=\"img\" style=\"min-width:var(--auro-size-lg, var(--ds-size-300, 1.5rem));height:var(--auro-size-lg, var(--ds-size-300, 1.5rem));fill:currentColor\" viewBox=\"0 0 24 24\" part=\"svg\"><title/><desc id=\"checkmark-sm__desc\">a small check mark.</desc><path d=\"M8.461 11.84a.625.625 0 1 0-.922.844l2.504 2.738c.247.27.674.27.922 0l5.496-6a.625.625 0 1 0-.922-.844l-5.035 5.496z\"/></svg>"};
4032
+ // only handle options that are not disabled, hidden or static
4033
+ if (option && this.optionInteractive(option)) {
4034
+ // fire custom event if defined otherwise make selection
4035
+ if (option.hasAttribute('event')) {
4036
+ this.dispatchEvent(new CustomEvent(option.getAttribute('event'), {
4037
+ bubbles: true,
4038
+ cancelable: false,
4039
+ composed: true,
4040
+ }));
4125
4041
 
4126
- // Copyright (c) 2021 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
4127
- // See LICENSE in the project root for license information.
4042
+ // this event needs to be removed after select and combobox are updated to use the new standard name
4043
+ this.dispatchEvent(new CustomEvent('auroMenuCustomEventFired', {
4044
+ bubbles: true,
4045
+ cancelable: false,
4046
+ composed: true,
4047
+ }));
4128
4048
 
4049
+ this.dispatchEvent(new CustomEvent('auroMenu-customEventFired', {
4050
+ bubbles: true,
4051
+ cancelable: false,
4052
+ composed: true,
4053
+ }));
4054
+ } else {
4055
+ this.handleLocalSelectState(option);
4056
+ }
4057
+ }
4058
+ }
4059
+ }
4129
4060
 
4130
- /**
4131
- * The auro-menu element provides users a way to define a menu option.
4132
- *
4133
- * @attr {String} value - Specifies the value to be sent to a server.
4134
- * @attr {String} noCheckmark - When true, selected option will not show the checkmark.
4135
- * @attr {Boolean} disabled - When true specifies that the menuoption is disabled.
4136
- * @attr {Boolean} selected - Specifies that an option is selected.
4137
- * @event auroMenuOption-mouseover - Notifies that this option has been hovered over.
4138
- * @slot Specifies text for an option, but is not the value.
4139
- */
4140
- class AuroMenuOption extends r$4 {
4141
- constructor() {
4142
- super();
4061
+ this.notifySelectionChange();
4062
+ }
4143
4063
 
4144
- /**
4145
- * Generate unique names for dependency components.
4146
- */
4147
- const versioning = new AuroDependencyVersioning$1();
4148
- this.iconTag = versioning.generateTag('auro-icon', iconVersion, AuroIcon);
4064
+ /**
4065
+ * Manage ArrowDown, ArrowUp and Enter keyboard events.
4066
+ * @private
4067
+ * @param {Object} event - Event object from the browser.
4068
+ */
4069
+ handleKeyDown(event) {
4070
+ event.preventDefault();
4149
4071
 
4150
- this.selected = false;
4151
- this.nocheckmark = false;
4152
- this.disabled = false;
4072
+ // With ArrowDown/ArrowUp events, pass new value to selectNextItem()
4073
+ // With Enter event, set value and apply attrs
4074
+ switch (event.key) {
4075
+ case "ArrowDown":
4076
+ this.selectNextItem('down');
4077
+ break;
4153
4078
 
4154
- /**
4155
- * @private
4156
- */
4157
- this.tabIndex = -1;
4079
+ case "ArrowUp":
4080
+ this.selectNextItem('up');
4081
+ break;
4158
4082
 
4159
- /**
4160
- * @private
4161
- */
4162
- this.runtimeUtils = new AuroLibraryRuntimeUtils$1();
4083
+ case "Enter":
4084
+ this.makeSelection();
4085
+ break;
4086
+ }
4163
4087
  }
4164
4088
 
4165
- static get properties() {
4166
- return {
4167
- nocheckmark: {
4168
- type: Boolean,
4169
- reflect: true
4170
- },
4171
- selected: {
4172
- type: Boolean,
4173
- reflect: true
4174
- },
4175
- disabled: {
4176
- type: Boolean,
4177
- reflect: true
4178
- },
4179
- value: {
4180
- type: String,
4181
- reflect: true
4182
- },
4183
- tabIndex: {
4184
- type: Number,
4185
- reflect: true
4186
- }
4187
- };
4089
+ /**
4090
+ * Initializes all menu options in the DOM. This must be re-run every time the options are changed.
4091
+ * @private
4092
+ */
4093
+ initItems() {
4094
+ this.items = Array.from(this.querySelectorAll('auro-menuoption, [auro-menuoption]'));
4095
+ this.handleNoCheckmarkAttr();
4188
4096
  }
4189
4097
 
4190
- static get styles() {
4191
- return [
4192
- styleCss$1,
4193
- colorCss$1,
4194
- tokensCss$1
4195
- ];
4098
+ /**
4099
+ * Sets the index value of the selected item or first non-disabled menuoption.
4100
+ * @private
4101
+ */
4102
+ getSelectedIndex() {
4103
+ // find the first `selected` and not `disabled`, `hidden` or `static` option
4104
+ const index = this.items.findIndex((option) => option.hasAttribute('selected') && this.optionInteractive(option));
4105
+
4106
+ if (index >= 0) {
4107
+ this.index = index;
4108
+ this.makeSelection();
4109
+ }
4196
4110
  }
4197
4111
 
4198
4112
  /**
4199
- * This will register this element with the browser.
4200
- * @param {string} [name="auro-menuoption"] - The name of element that you want to register to.
4201
- *
4202
- * @example
4203
- * AuroMenuOption.register("custom-menuoption") // this will register this element to <custom-menuoption/>
4113
+ * Using value of current this.index evaluates index
4114
+ * of next :focus to set based on array of this.items ignoring items
4115
+ * with disabled attr.
4204
4116
  *
4117
+ * The event.target is not used as the function needs to know where to go,
4118
+ * versus knowing where it is.
4119
+ * @param {String} moveDirection - Up or Down based on keyboard event.
4205
4120
  */
4206
- static register(name = "auro-menuoption") {
4207
- AuroLibraryRuntimeUtils$1.prototype.registerComponent(name, AuroMenuOption);
4208
- }
4121
+ selectNextItem(moveDirection) {
4122
+ if (this.index >= 0) {
4123
+ this.items[this.index].classList.remove('active');
4209
4124
 
4210
- firstUpdated() {
4211
- // Add the tag name as an attribute if it is different than the component name
4212
- this.runtimeUtils.handleComponentTagRename(this, 'auro-menuoption');
4125
+ // calculate which is the selection we should focus next
4126
+ let increment = 0;
4213
4127
 
4214
- this.setAttribute('role', 'option');
4215
- this.setAttribute('aria-selected', 'false');
4128
+ if (moveDirection === 'down') {
4129
+ increment = 1;
4130
+ } else if (moveDirection === 'up') {
4131
+ increment = -1;
4132
+ }
4216
4133
 
4217
- this.addEventListener('mouseover', () => {
4218
- this.dispatchEvent(new CustomEvent('auroMenuOption-mouseover', {
4219
- bubbles: true,
4220
- cancelable: false,
4221
- composed: true,
4222
- detail: this
4223
- }));
4224
- });
4225
- }
4134
+ this.index += increment;
4226
4135
 
4227
- // observer for selected property changes
4228
- updated(changedProperties) {
4229
- if (changedProperties.has('selected')) {
4230
- this.setAttribute('aria-selected', this.selected.toString());
4136
+ // keep looping inside the array of options
4137
+ if (this.index > this.items.length - 1) {
4138
+ this.index = 0;
4139
+ } else if (this.index < 0) {
4140
+ this.index = this.items.length - 1;
4141
+ }
4142
+
4143
+ // check if new index is disabled, static or hidden, if so, execute again
4144
+ if (!this.optionInteractive(this.items[this.index])) {
4145
+ this.selectNextItem(moveDirection);
4146
+ } else {
4147
+ // apply focus to new index
4148
+ this.updateActiveOption(this.index);
4149
+ }
4150
+ } else {
4151
+ this.index = 0;
4152
+
4153
+ if (this.items[this.index].hasAttribute('hidden') || this.items[this.index].hasAttribute('disabled')) {
4154
+ this.selectNextItem(moveDirection);
4155
+ } else {
4156
+ this.updateActiveOption(this.index);
4157
+ }
4231
4158
  }
4232
4159
  }
4233
4160
 
4234
4161
  /**
4235
- * Generates an HTML element containing an SVG icon based on the provided `svgContent`.
4236
- *
4162
+ * Used for applying indentation to each level of nested menu.
4237
4163
  * @private
4238
- * @param {string} svgContent - The SVG content to be embedded.
4239
- * @returns {Element} The HTML element containing the SVG icon.
4164
+ * @param {String} menu - Root level menu object.
4240
4165
  */
4241
- generateIconHtml(svgContent) {
4242
- const dom = new DOMParser().parseFromString(svgContent, 'text/html');
4243
- const svg = dom.body.firstChild;
4166
+ handleNestedMenus(menu) {
4167
+ const nestedMenus = menu.querySelectorAll('auro-menu, [auro-menu');
4244
4168
 
4245
- svg.setAttribute('slot', 'svg');
4169
+ if (nestedMenus.length === 0) {
4170
+ return;
4171
+ }
4246
4172
 
4247
- return u$3`<${this.iconTag} customColor customSvg slot="icon">${svg}</${this.iconTag}>`;
4248
- }
4173
+ nestedMenus.forEach((nestedMenu) => {
4174
+ const options = nestedMenu.querySelectorAll(':scope > auro-menuoption, :scope > [auro-menuoption');
4249
4175
 
4250
- render() {
4251
- return u$3`
4252
- ${this.selected && !this.nocheckmark ? this.generateIconHtml(checkmarkIcon.svg) : undefined}
4253
- <slot></slot>
4254
- `;
4255
- }
4256
- }
4176
+ options.forEach((option) => {
4177
+ option.innerHTML = this.nestingSpacer + option.innerHTML;
4178
+ });
4257
4179
 
4258
- // Copyright (c) 2021 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
4259
- // See LICENSE in the project root for license information.
4180
+ this.handleNestedMenus(nestedMenu);
4181
+ });
4182
+ }
4260
4183
 
4184
+ /**
4185
+ * Method to apply `selected` attribute to `menuoption` via `value`.
4186
+ * @private
4187
+ * @param {String} value - Must match a unique `menuoption` value.
4188
+ */
4189
+ selectByValue(value) {
4190
+ let valueMatch = false;
4191
+ if (!this.items) {
4192
+ this.initItems();
4193
+ }
4261
4194
 
4262
- // See https://git.io/JJ6SJ for "How to document your components using JSDoc"
4263
- /**
4264
- * The auro-menu element provides users a way to select from a list of options.
4265
- * @attr {Object} optionSelected - Specifies the current selected menuOption.
4266
- * @attr {String} matchWord - Specifies the a string used to highlight matched string parts in options.
4267
- * @attr {Boolean} disabled - When true, the entire menu and all options are disabled;
4268
- * @attr {Boolean} noCheckmark - When true, selected option will not show the checkmark.
4269
- * @attr {String} value - Value selected for the menu.
4270
- * @event auroMenu-selectedOption - Notifies that a new menuoption selection has been made.
4271
- * @event selectedOption - (DEPRECATED) Notifies that a new menuoption selection has been made.
4272
- * @event auroMenu-activatedOption - Notifies that a menuoption has been made `active`.
4273
- * @event auroMenuActivatedOption - (DEPRECATED) Notifies that a menuoption has been made `active`.
4274
- * @event auroMenu-selectValueFailure - Notifies that a an attempt to select a menuoption by matching a value has failed.
4275
- * @event auroMenuSelectValueFailure - (DEPRECATED) Notifies that a an attempt to select a menuoption by matching a value has failed.
4276
- * @event auroMenu-customEventFired - Notifies that a custom event has been fired.
4277
- * @event auroMenuCustomEventFired - (DEPRECATED) Notifies that a custom event has been fired.
4278
- * @event auroMenu-selectValueReset - Notifies that the component value has been reset.
4279
- * @slot Slot for insertion of menu options.
4280
- */
4195
+ this.index = undefined;
4281
4196
 
4282
- /* eslint-disable no-magic-numbers, max-lines */
4197
+ if (this.value && this.value.length > 0) {
4198
+ for (let index = 0; index < this.items.length; index += 1) {
4199
+ if (this.items[index].value === value) {
4200
+ valueMatch = true;
4201
+ this.index = index;
4202
+ }
4203
+ }
4283
4204
 
4284
- class AuroMenu extends r$4 {
4285
- constructor() {
4286
- super();
4287
- this.value = undefined;
4288
- this.optionSelected = undefined;
4289
- this.matchWord = undefined;
4290
- this.noCheckmark = false;
4291
- this.optionActive = undefined;
4205
+ if (!valueMatch) {
4206
+ // reset the menu to no selection
4207
+ this.index = undefined;
4292
4208
 
4293
- /**
4294
- * @private
4295
- */
4296
- this.rootMenu = true;
4209
+ // this event needs to be removed after select and combobox are updated to use the new standard name
4210
+ this.dispatchEvent(new CustomEvent('auroMenuSelectValueFailure', {
4211
+ bubbles: true,
4212
+ cancelable: false,
4213
+ composed: true,
4214
+ }));
4297
4215
 
4298
- /**
4299
- * @private
4300
- */
4301
- this.runtimeUtils = new AuroLibraryRuntimeUtils$1();
4216
+ this.dispatchEvent(new CustomEvent('auroMenu-selectValueFailure', {
4217
+ bubbles: true,
4218
+ cancelable: false,
4219
+ composed: true,
4220
+ }));
4221
+ } else {
4222
+ this.makeSelection();
4223
+ }
4224
+ } else {
4225
+ this.resetOptionsStates();
4302
4226
 
4303
- /**
4304
- * @private
4305
- */
4306
- this.nestingSpacer = '<span class="nestingSpacer"></span>';
4227
+ this.dispatchEvent(new CustomEvent('auroMenu-selectValueReset', {
4228
+ bubbles: true,
4229
+ cancelable: false,
4230
+ composed: true,
4231
+ }));
4232
+ }
4307
4233
  }
4308
4234
 
4309
- static get properties() {
4310
- return {
4311
- noCheckmark: {
4312
- type: Boolean,
4313
- reflect: true
4314
- },
4315
- disabled: {
4316
- type: Boolean,
4317
- reflect: true
4318
- },
4319
- optionSelected: { type: Object },
4320
- optionActive: { type: Object },
4321
- matchWord: { type: String },
4322
- value: { type: String }
4323
- };
4235
+ /**
4236
+ * Used to make the active state for options follow mouseover.
4237
+ * @param {Number} index - Index of the menuoption that will be made active.
4238
+ * @private
4239
+ */
4240
+ updateActiveOption(index) {
4241
+ this.items.forEach((item) => {
4242
+ item.classList.remove('active');
4243
+ });
4244
+ this.items[index].classList.add('active');
4245
+ this.optionActive = this.items[index];
4246
+
4247
+ this.dispatchEvent(new CustomEvent('auroMenuActivatedOption', {
4248
+ bubbles: true,
4249
+ cancelable: false,
4250
+ composed: true,
4251
+ detail: this.items[index]
4252
+ }));
4253
+
4254
+ this.dispatchEvent(new CustomEvent('auroMenu-activatedOption', {
4255
+ bubbles: true,
4256
+ cancelable: false,
4257
+ composed: true,
4258
+ detail: this.items[index]
4259
+ }));
4324
4260
  }
4325
4261
 
4326
- static get styles() {
4327
- return [
4328
- styleCss$2,
4329
- colorCss$2,
4330
- tokensCss$1
4331
- ];
4262
+ /**
4263
+ * Used to only make a selection when a menuoption is receiving a mousedown event.
4264
+ * @param {Event} evt - Mousedown event.
4265
+ * @private
4266
+ */
4267
+ handleMenuMouseDown(evt) {
4268
+ if (evt.target !== this) {
4269
+ this.makeSelection();
4270
+ }
4332
4271
  }
4333
4272
 
4334
4273
  /**
4335
- * This will register this element with the browser.
4336
- * @param {string} [name="auro-menu"] - The name of element that you want to register to.
4274
+ * Checks if there are any loading placeholders in the component.
4337
4275
  *
4338
- * @example
4339
- * AuroMenu.register("custom-menu") // this will register this element to <custom-menu/>
4276
+ * This getter evaluates the `loadingSlots` collection to determine if it contains any items.
4277
+ * If the size of the collection is greater than zero, it indicates the presence of loading
4278
+ * placeholders, returning true; otherwise, it returns false.
4340
4279
  *
4341
- */
4342
- static register(name = "auro-menu") {
4343
- AuroLibraryRuntimeUtils$1.prototype.registerComponent(name, AuroMenu);
4280
+ * @getter hasLoadingPlaceholder
4281
+ * @type {boolean}
4282
+ * @returns {boolean} Returns true if loading placeholders exist; false otherwise.
4283
+ */
4284
+ get hasLoadingPlaceholder() {
4285
+ return this.loadingSlots.length > 0;
4344
4286
  }
4345
4287
 
4346
4288
  /**
4347
- * Passes the noCheckmark attribute to all nested auro-menuoptions.
4289
+ * Used for @slotchange event on slotted element.
4348
4290
  * @private
4349
- * @returns {void}
4350
4291
  */
4351
- handleNoCheckmarkAttr() {
4352
- if (this.noCheckmark) {
4353
- const menus = this.querySelectorAll('auro-menu, [auro-menu]');
4354
-
4355
- menus.forEach((menu) => {
4356
- menu.setAttribute('noCheckmark', '');
4357
- });
4292
+ handleSlotItems() {
4293
+ // Determine if this is the root of the menu/submenu layout.
4294
+ if (this.parentElement && this.parentElement.closest('auro-menu, [auro-menu]')) {
4295
+ this.rootMenu = false;
4296
+ }
4358
4297
 
4359
- const options = this.querySelectorAll('auro-menuoption, [auro-menuoption]');
4298
+ // If this is the root menu (not a nested menu) handle events, states and styling.
4299
+ if (this.rootMenu) {
4300
+ this.initItems();
4301
+ this.setAttribute('role', 'listbox');
4302
+ this.setAttribute('root', '');
4303
+ this.handleNestedMenus(this);
4304
+ this.markOptions();
4305
+ this.index = -1;
4306
+ this.getSelectedIndex();
4360
4307
 
4361
- options.forEach((option) => {
4362
- option.setAttribute('noCheckmark', '');
4308
+ this.addEventListener('keydown', this.handleKeyDown);
4309
+ this.addEventListener('mousedown', this.handleMenuMouseDown);
4310
+ this.addEventListener('auroMenuOption-mouseover', (evt) => {
4311
+ this.index = this.items.indexOf(evt.target);
4312
+ this.updateActiveOption(this.index);
4363
4313
  });
4314
+ } else {
4315
+ // make sure to update all menuoption noCheckmark attributes when the menu is dynamically changed
4316
+ this.handleNoCheckmarkAttr();
4364
4317
  }
4365
4318
  }
4366
4319
 
4367
- firstUpdated() {
4368
- // Add the tag name as an attribute if it is different than the component name
4369
- this.runtimeUtils.handleComponentTagRename(this, 'auro-menu');
4370
-
4371
- this.addEventListener('keydown', this.handleKeyDown);
4320
+ render() {
4321
+ if (this.loading) {
4322
+ return x$1`
4323
+ <auro-menuoption disabled loadingplaceholder class="${this.hasLoadingPlaceholder ? '' : 'empty'}">
4324
+ <div>
4325
+ <slot name="loadingIcon"></slot>
4326
+ <slot name="loadingText"></slot>
4327
+ </div>
4328
+ </auro-menuoption>
4329
+ `;
4330
+ }
4331
+ return x$1`<slot @slotchange=${this.handleSlotItems}></slot>`;
4372
4332
  }
4333
+ }
4373
4334
 
4374
- updated(changedProperties) {
4375
- if (changedProperties.has('matchWord')) {
4376
- this.markOptions();
4377
- }
4335
+ var styleCss$1 = i$b`:host{display:flex;align-items:center;padding:var(--ds-size-50, 0.25rem) var(--ds-size-200, 1rem) var(--ds-size-50, 0.25rem) 0;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent}:host slot{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}:host [auro-icon]{--ds-auro-icon-size: var(--ds-size-300, 1.5rem);margin-right:var(--ds-size-150, 0.75rem);margin-left:var(--ds-size-100, 0.5rem)}:host ::slotted(.nestingSpacer){display:inline-block;width:var(--ds-size-300, 1.5rem)}:host ::slotted(strong){font-weight:700}:host([hidden]){display:none}:host([static]){pointer-events:none}:host([disabled]:hover){cursor:auto}:host([disabled]){user-select:none;pointer-events:none}`;
4378
4336
 
4379
- if (changedProperties.has('value')) {
4380
- this.selectByValue(this.value);
4381
- }
4337
+ var colorCss$1 = i$b`:host{background-color:var(--ds-auro-menuoption-container-color);color:var(--ds-auro-menuoption-text-color)}:host svg{fill:var(--ds-auro-menuoption-icon-color) !important}:host([disabled]){--ds-auro-menuoption-text-color: var(--ds-color-text-ui-disabled-default, #adadad)}:host(:hover),:host(.active){--ds-auro-menuoption-container-color: var(--ds-color-container-ui-secondary-hover-default, rgba(0, 0, 0, 0.03))}:host([selected]){--ds-auro-menuoption-container-color: var(--ds-color-container-ui-primary-default-default, #2c67b5);--ds-auro-menuoption-text-color: var(--ds-color-text-primary-inverse, #ffffff);--ds-auro-menuoption-icon-color: var(--ds-color-icon-emphasis-inverse, #ffffff)}`;
4382
4338
 
4383
- if (changedProperties.has('disabled')) {
4384
- const options = Array.from(this.querySelectorAll('auro-menuoption, [auro-menuoption]'));
4339
+ /**
4340
+ * @license
4341
+ * Copyright 2017 Google LLC
4342
+ * SPDX-License-Identifier: BSD-3-Clause
4343
+ */
4344
+ const t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e$1=t=>(...e)=>({_$litDirective$:t,values:e});class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i;}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}
4385
4345
 
4386
- for (const element of options) {
4387
- element.disabled = this.disabled;
4388
- }
4389
- }
4390
- }
4346
+ /**
4347
+ * @license
4348
+ * Copyright 2018 Google LLC
4349
+ * SPDX-License-Identifier: BSD-3-Clause
4350
+ */const e=e$1(class extends i{constructor(t$1){if(super(t$1),t$1.type!==t.ATTRIBUTE||"class"!==t$1.name||t$1.strings?.length>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(t){return " "+Object.keys(t).filter((s=>t[s])).join(" ")+" "}update(s,[i]){if(void 0===this.st){this.st=new Set,void 0!==s.strings&&(this.nt=new Set(s.strings.join(" ").split(/\s/).filter((t=>""!==t))));for(const t in i)i[t]&&!this.nt?.has(t)&&this.st.add(t);return this.render(i)}const r=s.element.classList;for(const t of this.st)t in i||(r.remove(t),this.st.delete(t));for(const t in i){const s=!!i[t];s===this.st.has(t)||this.nt?.has(t)||(s?(r.add(t),this.st.add(t)):(r.remove(t),this.st.delete(t)));}return T$1}});
4391
4351
 
4392
- /**
4393
- * @private
4394
- * @param {Object} option - The menuoption to check for interactive state.
4395
- * @returns {Boolean} Returns true if the option is interactive.
4396
- */
4397
- optionInteractive(option) {
4398
- return !option.hasAttribute('hidden') && !option.hasAttribute('disabled') && !option.hasAttribute('static');
4399
- }
4352
+ /**
4353
+ * @license
4354
+ * Copyright 2018 Google LLC
4355
+ * SPDX-License-Identifier: BSD-3-Clause
4356
+ */const o=o=>o??E$1;
4400
4357
 
4401
- /**
4402
- * @private
4403
- * @returns {void} When called will update the DOM with visible suggest text matches.
4404
- */
4405
- markOptions() {
4406
- if (this.items && this.items.length > 0 && (this.matchWord && this.matchWord.length > 0)) {
4358
+ // Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
4359
+ // See LICENSE in the project root for license information.
4407
4360
 
4408
- // Escape special regex characters
4409
- const escapedWord = this.matchWord.replace(/[.*+?^${}()|[\]\\]/gu, '\\$&');
4410
4361
 
4411
- // Global, case-insensitive, unicode matching regex pattern
4412
- const regexWord = new RegExp(escapedWord, 'giu');
4362
+ /**
4363
+ * @attr {Boolean} hidden - If present, the component will be hidden both visually and from screen readers
4364
+ * @attr {Boolean} hiddenVisually - If present, the component will be hidden visually, but still read by screen readers
4365
+ * @attr {Boolean} hiddenAudible - If present, the component will be hidden from screen readers, but seen visually
4366
+ */
4413
4367
 
4414
- this.items.forEach((item) => {
4415
- if (this.optionInteractive(item) && !item.hasAttribute('persistent')) {
4416
- const nested = item.querySelectorAll('.nestingSpacer');
4417
- const nestingSpacerBundle = [...nested].map(() => this.nestingSpacer).join('');
4368
+ class AuroElement extends r$4 {
4418
4369
 
4419
- item.innerHTML = nestingSpacerBundle + item.textContent.replace(regexWord, (match) => `<strong>${match}</strong>`);
4420
- }
4421
- });
4422
- }
4370
+ // function to define props used within the scope of this component
4371
+ static get properties() {
4372
+ return {
4373
+ hidden: { type: Boolean,
4374
+ reflect: true },
4375
+ hiddenVisually: { type: Boolean,
4376
+ reflect: true },
4377
+ hiddenAudible: { type: Boolean,
4378
+ reflect: true },
4379
+ };
4423
4380
  }
4424
4381
 
4425
4382
  /**
4426
- * Reset the menu and all options.
4383
+ * @private Function that determines state of aria-hidden
4427
4384
  */
4428
- resetOptionsStates() {
4429
- this.optionSelected = undefined;
4430
- if (this.items) {
4431
- this.items.forEach((item) => {
4432
- item.classList.remove('active');
4433
- item.removeAttribute('selected');
4434
- });
4385
+ hideAudible(value) {
4386
+ if (value) {
4387
+ return 'true'
4435
4388
  }
4389
+
4390
+ return 'false'
4436
4391
  }
4392
+ }
4437
4393
 
4438
- /**
4439
- * Set the attributes on the selected menuoption, the menu value and stored option.
4440
- * @param {Object} option - The menuoption to be selected.
4441
- * @private
4442
- */
4443
- handleLocalSelectState(option) {
4444
- option.setAttribute('selected', '');
4445
- option.classList.add('active');
4446
- option.ariaSelected = true;
4394
+ var error = {"role":"img","color":"currentColor","title":"","desc":"Error alert indicator.","width":"var(--auro-size-lg, var(--ds-size-300, 1.5rem))","height":"var(--auro-size-lg, var(--ds-size-300, 1.5rem))","xmlns":"http://www.w3.org/2000/svg","xmlns_xlink":"http://www.w3.org/1999/xlink","viewBox":"0 0 24 24","path":"/icons","style":"ico_squareLarge","type":"icon","name":"error","category":"alert","deprecated":true,"svg":"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" aria-labelledby=\"error__desc\" class=\"ico_squareLarge\" data-deprecated=\"true\" role=\"img\" style=\"min-width:var(--auro-size-lg, var(--ds-size-300, 1.5rem));height:var(--auro-size-lg, var(--ds-size-300, 1.5rem));fill:currentColor\" viewBox=\"0 0 24 24\" part=\"svg\"><title/><desc id=\"error__desc\">Error alert indicator.</desc><path d=\"m13.047 5.599 6.786 11.586A1.207 1.207 0 0 1 18.786 19H5.214a1.207 1.207 0 0 1-1.047-1.815l6.786-11.586a1.214 1.214 0 0 1 2.094 0m-1.165.87a.23.23 0 0 0-.085.085L5.419 17.442a.232.232 0 0 0 .203.35h12.756a.234.234 0 0 0 .203-.35L12.203 6.554a.236.236 0 0 0-.321-.084M12 15.5a.75.75 0 1 1 0 1.5.75.75 0 0 1 0-1.5m-.024-6.22c.325 0 .589.261.589.583v4.434a.586.586 0 0 1-.589.583.586.586 0 0 1-.588-.583V9.863c0-.322.264-.583.588-.583\"/></svg>"};
4447
4395
 
4448
- this.value = option.value;
4449
- this.optionSelected = option;
4450
- this.index = this.items.indexOf(option);
4451
- }
4396
+ /* eslint-disable no-underscore-dangle, jsdoc/no-undefined-types, jsdoc/require-param-description */
4452
4397
 
4453
- /**
4454
- * Notify selection change.
4455
- * @private
4456
- * @return {void}
4457
- */
4458
- notifySelectionChange() {
4459
- // this event needs to be removed after select and combobox are updated to use the new standard name
4460
- this.dispatchEvent(new CustomEvent('selectedOption', {
4461
- bubbles: true,
4462
- cancelable: false,
4463
- composed: true,
4464
- }));
4398
+ const _fetchMap = new Map();
4465
4399
 
4466
- this.dispatchEvent(new CustomEvent('auroMenu-selectedOption', {
4467
- bubbles: true,
4468
- cancelable: false,
4469
- composed: true,
4470
- }));
4400
+ /**
4401
+ * A callback to parse Response body.
4402
+ *
4403
+ * @callback ResponseParser
4404
+ * @param {Fetch.Response} response
4405
+ * @returns {Promise}
4406
+ */
4407
+
4408
+ /**
4409
+ * A minimal in-memory map to de-duplicate Fetch API media requests.
4410
+ *
4411
+ * @param {String} uri
4412
+ * @param {Object} [options={}]
4413
+ * @param {ResponseParser} [options.responseParser=(response) => response.text()]
4414
+ * @returns {Promise}
4415
+ */
4416
+ const cacheFetch = (uri, options = {}) => {
4417
+ const responseParser = options.responseParser || ((response) => response.text());
4418
+ if (!_fetchMap.has(uri)) {
4419
+ _fetchMap.set(uri, fetch(uri).then(responseParser));
4471
4420
  }
4421
+ return _fetchMap.get(uri);
4422
+ };
4472
4423
 
4473
- /**
4474
- * Process actions for making making a menuoption selection.
4475
- */
4476
- makeSelection() {
4477
- if (!this.items) {
4478
- this.initItems();
4479
- }
4424
+ var styleCss = i$b`*,*:before,*:after{box-sizing:border-box}@media(prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}}*:focus-visible{outline:0}*:focus-visible{outline:0}:focus:not(:focus-visible){outline:3px solid transparent}.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock,:host{display:block}.util_displayFlex{display:flex}.util_displayHidden,:host([hidden]:not(:focus):not(:active)){display:none}.util_displayHiddenVisually,:host([hiddenVisually]:not(:focus):not(:active)){position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}.ico_squareLarge{fill:currentColor;height:var(--auro-size-lg, var(--ds-size-300, 1.5rem))}.ico_squareSmall{fill:currentColor;height:.6rem}.ico_squareMed{fill:currentColor;height:var(--auro-size-md, var(--ds-size-200, 1rem))}.ico_squareSml{fill:currentColor;height:var(--auro-size-sm, var(--ds-size-150, 0.75rem))}:host{color:currentColor;vertical-align:middle;line-height:1;display:inline-block}:host .logo{color:var(--ds-color-brand-midnight-400, #01426a)}svg{min-width:var(--ds-auro-icon-size, 1.5rem) !important;width:var(--ds-auro-icon-size, 1.5rem) !important;height:var(--ds-auro-icon-size, 1.5rem) !important}.label{display:flex;align-items:flex-start}.label svg{margin:0 var(--ds-size-50, 0.25rem)}.labelContainer{line-height:1.8}`;
4480
4425
 
4481
- if (this.items[this.index] && !this.items[this.index].hasAttribute('disabled')) {
4482
- this.resetOptionsStates();
4426
+ // Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
4427
+ // See LICENSE in the project root for license information.
4483
4428
 
4484
- if (this.index >= 0) {
4485
- const option = this.items[this.index];
4486
4429
 
4487
- // only handle options that are not disabled, hidden or static
4488
- if (option && this.optionInteractive(option)) {
4489
- // fire custom event if defined otherwise make selection
4490
- if (option.hasAttribute('event')) {
4491
- this.dispatchEvent(new CustomEvent(option.getAttribute('event'), {
4492
- bubbles: true,
4493
- cancelable: false,
4494
- composed: true,
4495
- }));
4430
+ // See https://git.io/JJ6SJ for "How to document your components using JSDoc"
4431
+ /**
4432
+ * @attr {Boolean} onDark - Set value for on-dark version of auro-icon
4433
+ * @slot - Hidden from visibility, used for a11y if icon description is needed
4434
+ */
4496
4435
 
4497
- // this event needs to be removed after select and combobox are updated to use the new standard name
4498
- this.dispatchEvent(new CustomEvent('auroMenuCustomEventFired', {
4499
- bubbles: true,
4500
- cancelable: false,
4501
- composed: true,
4502
- }));
4436
+ // build the component class
4437
+ class BaseIcon extends AuroElement {
4438
+ constructor() {
4439
+ super();
4440
+ this.onDark = false;
4441
+ }
4503
4442
 
4504
- this.dispatchEvent(new CustomEvent('auroMenu-customEventFired', {
4505
- bubbles: true,
4506
- cancelable: false,
4507
- composed: true,
4508
- }));
4509
- } else {
4510
- this.handleLocalSelectState(option);
4511
- }
4512
- }
4443
+ // function to define props used within the scope of this component
4444
+ static get properties() {
4445
+ return {
4446
+ ...super.properties,
4447
+ onDark: {
4448
+ type: Boolean,
4449
+ reflect: true
4450
+ },
4451
+
4452
+ /**
4453
+ * @private
4454
+ */
4455
+ svg: {
4456
+ attribute: false,
4457
+ reflect: true
4513
4458
  }
4514
- }
4459
+ };
4460
+ }
4515
4461
 
4516
- this.notifySelectionChange();
4462
+ static get styles() {
4463
+ return i$b`
4464
+ ${styleCss}
4465
+ `;
4517
4466
  }
4518
4467
 
4519
4468
  /**
4520
- * Manage ArrowDown, ArrowUp and Enter keyboard events.
4469
+ * Async function to fetch requested icon from npm CDN.
4521
4470
  * @private
4522
- * @param {Object} event - Event object from the browser.
4471
+ * @param {string} category - Icon category.
4472
+ * @param {string} name - Icon name.
4473
+ * @returns {SVGElement} DOM - Ready HTML to be appended.
4523
4474
  */
4524
- handleKeyDown(event) {
4525
- event.preventDefault();
4475
+ async fetchIcon(category, name) {
4476
+ let iconHTML = '';
4526
4477
 
4527
- // With ArrowDown/ArrowUp events, pass new value to selectNextItem()
4528
- // With Enter event, set value and apply attrs
4529
- switch (event.key) {
4530
- case "ArrowDown":
4531
- this.selectNextItem('down');
4532
- break;
4478
+ if (category === 'logos') {
4479
+ iconHTML = await cacheFetch(`${this.uri}/${category}/${name}.svg`);
4480
+ } else {
4481
+ iconHTML = await cacheFetch(`${this.uri}/icons/${category}/${name}.svg`);
4482
+ }
4533
4483
 
4534
- case "ArrowUp":
4535
- this.selectNextItem('up');
4536
- break;
4484
+ const dom = new DOMParser().parseFromString(iconHTML, 'text/html');
4537
4485
 
4538
- case "Enter":
4539
- this.makeSelection();
4540
- break;
4486
+ return dom.body.querySelector('svg');
4487
+ }
4488
+
4489
+ // lifecycle function
4490
+ async firstUpdated() {
4491
+ if (!this.customSvg) {
4492
+ const svg = await this.fetchIcon(this.category, this.name);
4493
+
4494
+ if (svg) {
4495
+ this.svg = svg;
4496
+ } else if (!svg) {
4497
+ const penDOM = new DOMParser().parseFromString(error.svg, 'text/html');
4498
+
4499
+ this.svg = penDOM.body.firstChild;
4500
+ }
4541
4501
  }
4542
4502
  }
4503
+ }
4543
4504
 
4544
- /**
4545
- * Initializes all menu options in the DOM. This must be re-run every time the options are changed.
4546
- * @private
4547
- */
4548
- initItems() {
4549
- this.items = Array.from(this.querySelectorAll('auro-menuoption, [auro-menuoption]'));
4550
- this.handleNoCheckmarkAttr();
4505
+ var tokensCss = i$b`:host{--ds-auro-icon-color: var(--ds-color-icon-primary-default, $ds-color-icon-primary-default);--ds-auro-icon-size: var(--ds-size-300, $ds-size-300)}`;
4506
+
4507
+ var colorCss = i$b`:host{color:var(--ds-auro-icon-color)}:host([customColor]){color:inherit}:host(:not([onDark])[accent]){--ds-auro-icon-color: var(--ds-color-icon-accent-default, #a2c270)}:host(:not([onDark])[disabled]){--ds-auro-icon-color: var(--ds-color-icon-ui-primary-disabled-default, #adadad)}:host(:not([onDark])[emphasis]){--ds-auro-icon-color: var(--ds-color-icon-emphasis-default, #2a2a2a)}:host(:not([onDark])[error]){--ds-auro-icon-color: var(--ds-color-icon-error-default, #cc1816)}:host(:not([onDark])[info]){--ds-auro-icon-color: var(--ds-color-icon-info-default, #326aa5)}:host(:not([onDark])[secondary]){--ds-auro-icon-color: var(--ds-color-icon-secondary-default, #7e8894)}:host(:not([onDark])[subtle]){--ds-auro-icon-color: var(--ds-color-icon-subtle-default, #a0c9f1)}:host(:not([onDark])[success]){--ds-auro-icon-color: var(--ds-color-icon-success-default, #40a080)}:host(:not([onDark])[tertiary]){--ds-auro-icon-color: var(--ds-color-icon-tertiary-default, #afb9c6)}:host(:not([onDark])[warning]){--ds-auro-icon-color: var(--ds-color-icon-warning-default, #c49432)}:host([onDark]){--ds-auro-icon-color: var(--ds-color-icon-primary-inverse, #f7f7f7)}:host([onDark][accent]){--ds-auro-icon-color: var(--ds-color-icon-accent-inverse, #badd81)}:host([onDark][disabled]){--ds-auro-icon-color: var(--ds-color-icon-ui-primary-disabled-inverse, #7e7e7e)}:host([onDark][emphasis]){--ds-auro-icon-color: var(--ds-color-icon-emphasis-inverse, #ffffff)}:host([onDark][error]){--ds-auro-icon-color: var(--ds-color-icon-error-inverse, #f9aca6)}:host([onDark][info]){--ds-auro-icon-color: var(--ds-color-icon-info-inverse, #89b2d4)}:host([onDark][secondary]){--ds-auro-icon-color: var(--ds-color-icon-secondary-inverse, #ccd2db)}:host([onDark][subtle]){--ds-auro-icon-color: var(--ds-color-icon-subtle-inverse, #326aa5)}:host([onDark][success]){--ds-auro-icon-color: var(--ds-color-icon-success-inverse, #8eceb9)}:host([onDark][tertiary]){--ds-auro-icon-color: var(--ds-color-icon-tertiary-inverse, #939fad)}:host([onDark][warning]){--ds-auro-icon-color: var(--ds-color-icon-warning-inverse, #f2c153)}`;
4508
+
4509
+ // Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
4510
+ // See LICENSE in the project root for license information.
4511
+
4512
+
4513
+ // See https://git.io/JJ6SJ for "How to document your components using JSDoc"
4514
+ /**
4515
+ * auro-icon provides users a way to use the Auro Icons by simply passing in the category and name.
4516
+ *
4517
+ * @attr {String} category - The category of the icon you are looking for. See https://auro.alaskaair.com/icons/usage.
4518
+ * @attr {String} name - The name of the icon you are looking for without the file extension. See https://auro.alaskaair.com/icons/usage
4519
+ * @attr {Boolean} customColor - Removes primary selector.
4520
+ * @attr {Boolean} customSvg - When true, auro-icon will render a custom SVG inside the default slot.
4521
+ * @attr {Boolean} label - Exposes content in slot as icon label.
4522
+ * @attr {Boolean} primary - DEPRECATED: Sets the icon to use the baseline primary icon style.
4523
+ * @attr {Boolean} accent - Sets the icon to use the accent style.
4524
+ * @attr {Boolean} emphasis - Sets the icon to use the emphasis style.
4525
+ * @attr {Boolean} disabled - Sets the icon to use the disabled style.
4526
+ * @attr {Boolean} error - Sets the icon to use the error style.
4527
+ * @attr {Boolean} info - Sets the icon to use the info style.
4528
+ * @attr {Boolean} secondary - Sets the icon to use the secondary style.
4529
+ * @attr {Boolean} tertiary - Sets the icon to use the tertiary style.
4530
+ * @attr {Boolean} subtle - Sets the icon to use the subtle style.
4531
+ * @attr {Boolean} success - Sets the icon to use the success style.
4532
+ * @attr {Boolean} warning - Sets the icon to use the warning style.
4533
+ * @attr {String} ariaHidden - Set aria-hidden value. Default is `true`. Option is `false`.
4534
+ * @attr {String} uri - Set the uri for CDN used when fetching icons
4535
+ * @slot - Hidden from visibility, used for a11y if icon description is needed.
4536
+ * @slot svg - Used for custom SVG content.
4537
+ */
4538
+
4539
+ // build the component class
4540
+ class AuroIcon extends BaseIcon {
4541
+ constructor() {
4542
+ super();
4543
+
4544
+ this.uri = 'https://cdn.jsdelivr.net/npm/@alaskaairux/icons@latest/dist';
4545
+
4546
+ this.privateDefaults();
4551
4547
  }
4552
4548
 
4553
4549
  /**
4554
- * Sets the index value of the selected item or first non-disabled menuoption.
4550
+ * Internal Defaults.
4555
4551
  * @private
4552
+ * @returns {void}
4556
4553
  */
4557
- getSelectedIndex() {
4558
- // find the first `selected` and not `disabled`, `hidden` or `static` option
4559
- const index = this.items.findIndex((option) => option.hasAttribute('selected') && this.optionInteractive(option));
4554
+ privateDefaults() {
4555
+ this.accent = false;
4556
+ this.customColor = false;
4557
+ this.customSvg = false;
4558
+ this.disabled = false;
4559
+ this.emphasis = false;
4560
+ this.error = false;
4561
+ this.info = false;
4562
+ this.label = false;
4563
+ this.primary = false;
4564
+ this.secondary = false;
4565
+ this.subtle = false;
4566
+ this.success = false;
4567
+ this.tertiary = false;
4568
+ this.warning = false;
4569
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$1();
4570
+ }
4560
4571
 
4561
- if (index >= 0) {
4562
- this.index = index;
4563
- this.makeSelection();
4564
- }
4572
+ // function to define props used within the scope of this component
4573
+ static get properties() {
4574
+ return {
4575
+ ...super.properties,
4576
+ accent: {
4577
+ type: Boolean,
4578
+ reflect: true
4579
+ },
4580
+ ariaHidden: {
4581
+ type: String,
4582
+ reflect: true
4583
+ },
4584
+ category: {
4585
+ type: String,
4586
+ reflect: true
4587
+ },
4588
+ customColor: {
4589
+ type: Boolean
4590
+ },
4591
+ customSvg: {
4592
+ type: Boolean
4593
+ },
4594
+ disabled: {
4595
+ type: Boolean,
4596
+ reflect: true
4597
+ },
4598
+ emphasis: {
4599
+ type: Boolean,
4600
+ reflect: true
4601
+ },
4602
+ error: {
4603
+ type: Boolean,
4604
+ reflect: true
4605
+ },
4606
+ info: {
4607
+ type: Boolean,
4608
+ reflect: true
4609
+ },
4610
+ label: {
4611
+ type: Boolean,
4612
+ reflect: true
4613
+ },
4614
+ name: {
4615
+ type: String,
4616
+ reflect: true
4617
+ },
4618
+ primary: {
4619
+ type: Boolean,
4620
+ reflect: true
4621
+ },
4622
+ secondary: {
4623
+ type: Boolean,
4624
+ reflect: true
4625
+ },
4626
+ subtle: {
4627
+ type: Boolean,
4628
+ reflect: true
4629
+ },
4630
+ success: {
4631
+ type: Boolean,
4632
+ reflect: true
4633
+ },
4634
+ tertiary: {
4635
+ type: Boolean,
4636
+ reflect: true
4637
+ },
4638
+ uri: {
4639
+ type: String
4640
+ },
4641
+ warning: {
4642
+ type: Boolean,
4643
+ reflect: true
4644
+ }
4645
+ };
4646
+ }
4647
+
4648
+ static get styles() {
4649
+ return [
4650
+ super.styles,
4651
+ i$b`${tokensCss}`,
4652
+ i$b`${styleCss}`,
4653
+ i$b`${colorCss}`
4654
+ ];
4565
4655
  }
4566
4656
 
4567
4657
  /**
4568
- * Using value of current this.index evaluates index
4569
- * of next :focus to set based on array of this.items ignoring items
4570
- * with disabled attr.
4658
+ * This will register this element with the browser.
4659
+ * @param {string} [name="auro-icon"] - The name of element that you want to register to.
4660
+ *
4661
+ * @example
4662
+ * AuroIcon.register("custom-icon") // this will register this element to <custom-icon/>
4571
4663
  *
4572
- * The event.target is not used as the function needs to know where to go,
4573
- * versus knowing where it is.
4574
- * @param {String} moveDirection - Up or Down based on keyboard event.
4575
4664
  */
4576
- selectNextItem(moveDirection) {
4577
- if (this.index >= 0) {
4578
- this.items[this.index].classList.remove('active');
4579
-
4580
- // calculate which is the selection we should focus next
4581
- let increment = 0;
4582
-
4583
- if (moveDirection === 'down') {
4584
- increment = 1;
4585
- } else if (moveDirection === 'up') {
4586
- increment = -1;
4587
- }
4588
-
4589
- this.index += increment;
4590
-
4591
- // keep looping inside the array of options
4592
- if (this.index > this.items.length - 1) {
4593
- this.index = 0;
4594
- } else if (this.index < 0) {
4595
- this.index = this.items.length - 1;
4596
- }
4665
+ static register(name = "auro-icon") {
4666
+ AuroLibraryRuntimeUtils$1.prototype.registerComponent(name, AuroIcon);
4667
+ }
4597
4668
 
4598
- // check if new index is disabled, static or hidden, if so, execute again
4599
- if (!this.optionInteractive(this.items[this.index])) {
4600
- this.selectNextItem(moveDirection);
4601
- } else {
4602
- // apply focus to new index
4603
- this.updateActiveOption(this.index);
4604
- }
4605
- } else {
4606
- this.index = 0;
4669
+ connectedCallback() {
4670
+ super.connectedCallback();
4607
4671
 
4608
- if (this.items[this.index].hasAttribute('hidden') || this.items[this.index].hasAttribute('disabled')) {
4609
- this.selectNextItem(moveDirection);
4610
- } else {
4611
- this.updateActiveOption(this.index);
4612
- }
4613
- }
4672
+ // Add the tag name as an attribute if it is different than the component name
4673
+ this.runtimeUtils.handleComponentTagRename(this, 'auro-icon');
4614
4674
  }
4615
4675
 
4616
4676
  /**
4617
- * Used for applying indentation to each level of nested menu.
4618
- * @private
4619
- * @param {String} menu - Root level menu object.
4677
+ * @returns {void} Exposes CSS parts for styling from parent components.
4620
4678
  */
4621
- handleNestedMenus(menu) {
4622
- const nestedMenus = menu.querySelectorAll('auro-menu, [auro-menu');
4679
+ exposeCssParts() {
4680
+ this.setAttribute('exportparts', 'svg:iconSvg');
4681
+ }
4623
4682
 
4624
- if (nestedMenus.length === 0) {
4625
- return;
4626
- }
4683
+ // function that renders the HTML and CSS into the scope of the component
4684
+ render() {
4685
+ const a11y = {
4686
+ 'labelContainer': true,
4687
+ 'util_displayHiddenVisually': !this.label
4688
+ };
4627
4689
 
4628
- nestedMenus.forEach((nestedMenu) => {
4629
- const options = nestedMenu.querySelectorAll(':scope > auro-menuoption, :scope > [auro-menuoption');
4690
+ const classes = {
4691
+ 'label': this.label
4692
+ };
4630
4693
 
4631
- options.forEach((option) => {
4632
- option.innerHTML = this.nestingSpacer + option.innerHTML;
4633
- });
4694
+ return x$1`
4695
+ <div
4696
+ class="${e(classes)}"
4697
+ title="${o(this.title || undefined)}">
4698
+ <span aria-hidden="${o(this.ariaHidden ? this.ariaHidden : true)}" part="svg">
4699
+ ${this.customSvg ? x$1`
4700
+ <slot name="svg"></slot>
4701
+ ` : x$1`
4702
+ ${this.svg}
4703
+ `
4704
+ }
4705
+ </span>
4634
4706
 
4635
- this.handleNestedMenus(nestedMenu);
4636
- });
4707
+ <div class="${e(a11y)}">
4708
+ <slot></slot>
4709
+ </div>
4710
+ </div>
4711
+ `;
4637
4712
  }
4713
+ }
4638
4714
 
4639
- /**
4640
- * Method to apply `selected` attribute to `menuoption` via `value`.
4641
- * @private
4642
- * @param {String} value - Must match a unique `menuoption` value.
4643
- */
4644
- selectByValue(value) {
4645
- let valueMatch = false;
4646
- if (!this.items) {
4647
- this.initItems();
4648
- }
4715
+ var iconVersion = '6.1.1';
4649
4716
 
4650
- this.index = undefined;
4717
+ var checkmarkIcon = {"role":"img","color":"currentColor","title":"","desc":"a small check mark.","width":"var(--auro-size-lg, var(--ds-size-300, 1.5rem))","height":"var(--auro-size-lg, var(--ds-size-300, 1.5rem))","xmlns":"http://www.w3.org/2000/svg","xmlns_xlink":"http://www.w3.org/1999/xlink","viewBox":"0 0 24 24","path":"/icons","style":"ico_squareLarge","type":"icon","name":"checkmark-sm","category":"interface","svg":"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" aria-labelledby=\"checkmark-sm__desc\" class=\"ico_squareLarge\" role=\"img\" style=\"min-width:var(--auro-size-lg, var(--ds-size-300, 1.5rem));height:var(--auro-size-lg, var(--ds-size-300, 1.5rem));fill:currentColor\" viewBox=\"0 0 24 24\" part=\"svg\"><title/><desc id=\"checkmark-sm__desc\">a small check mark.</desc><path d=\"M8.461 11.84a.625.625 0 1 0-.922.844l2.504 2.738c.247.27.674.27.922 0l5.496-6a.625.625 0 1 0-.922-.844l-5.035 5.496z\"/></svg>"};
4651
4718
 
4652
- if (this.value && this.value.length > 0) {
4653
- for (let index = 0; index < this.items.length; index += 1) {
4654
- if (this.items[index].value === value) {
4655
- valueMatch = true;
4656
- this.index = index;
4657
- }
4658
- }
4719
+ // Copyright (c) 2021 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
4720
+ // See LICENSE in the project root for license information.
4659
4721
 
4660
- if (!valueMatch) {
4661
- // reset the menu to no selection
4662
- this.index = undefined;
4663
4722
 
4664
- // this event needs to be removed after select and combobox are updated to use the new standard name
4665
- this.dispatchEvent(new CustomEvent('auroMenuSelectValueFailure', {
4666
- bubbles: true,
4667
- cancelable: false,
4668
- composed: true,
4669
- }));
4723
+ /**
4724
+ * The auro-menu element provides users a way to define a menu option.
4725
+ *
4726
+ * @attr {String} value - Specifies the value to be sent to a server.
4727
+ * @attr {String} noCheckmark - When true, selected option will not show the checkmark.
4728
+ * @attr {Boolean} disabled - When true specifies that the menuoption is disabled.
4729
+ * @attr {Boolean} selected - Specifies that an option is selected.
4730
+ * @event auroMenuOption-mouseover - Notifies that this option has been hovered over.
4731
+ * @slot - Specifies text for an option, but is not the value.
4732
+ */
4733
+ class AuroMenuOption extends r$4 {
4734
+ constructor() {
4735
+ super();
4670
4736
 
4671
- this.dispatchEvent(new CustomEvent('auroMenu-selectValueFailure', {
4672
- bubbles: true,
4673
- cancelable: false,
4674
- composed: true,
4675
- }));
4676
- } else {
4677
- this.makeSelection();
4737
+ /**
4738
+ * Generate unique names for dependency components.
4739
+ */
4740
+ const versioning = new AuroDependencyVersioning$1();
4741
+ this.iconTag = versioning.generateTag('auro-icon', iconVersion, AuroIcon);
4742
+
4743
+ this.selected = false;
4744
+ this.nocheckmark = false;
4745
+ this.disabled = false;
4746
+
4747
+ /**
4748
+ * @private
4749
+ */
4750
+ this.tabIndex = -1;
4751
+
4752
+ /**
4753
+ * @private
4754
+ */
4755
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$1();
4756
+ }
4757
+
4758
+ static get properties() {
4759
+ return {
4760
+ nocheckmark: {
4761
+ type: Boolean,
4762
+ reflect: true
4763
+ },
4764
+ selected: {
4765
+ type: Boolean,
4766
+ reflect: true
4767
+ },
4768
+ disabled: {
4769
+ type: Boolean,
4770
+ reflect: true
4771
+ },
4772
+ value: {
4773
+ type: String,
4774
+ reflect: true
4775
+ },
4776
+ tabIndex: {
4777
+ type: Number,
4778
+ reflect: true
4678
4779
  }
4679
- } else {
4680
- this.resetOptionsStates();
4780
+ };
4781
+ }
4681
4782
 
4682
- this.dispatchEvent(new CustomEvent('auroMenu-selectValueReset', {
4683
- bubbles: true,
4684
- cancelable: false,
4685
- composed: true,
4686
- }));
4687
- }
4783
+ static get styles() {
4784
+ return [
4785
+ styleCss$1,
4786
+ colorCss$1,
4787
+ tokensCss$1
4788
+ ];
4688
4789
  }
4689
4790
 
4690
4791
  /**
4691
- * Used to make the active state for options follow mouseover.
4692
- * @param {Number} index - Index of the menuoption that will be made active.
4693
- * @private
4792
+ * This will register this element with the browser.
4793
+ * @param {string} [name="auro-menuoption"] - The name of element that you want to register to.
4794
+ *
4795
+ * @example
4796
+ * AuroMenuOption.register("custom-menuoption") // this will register this element to <custom-menuoption/>
4797
+ *
4694
4798
  */
4695
- updateActiveOption(index) {
4696
- this.items.forEach((item) => {
4697
- item.classList.remove('active');
4698
- });
4699
- this.items[index].classList.add('active');
4700
- this.optionActive = this.items[index];
4799
+ static register(name = "auro-menuoption") {
4800
+ AuroLibraryRuntimeUtils$1.prototype.registerComponent(name, AuroMenuOption);
4801
+ }
4701
4802
 
4702
- this.dispatchEvent(new CustomEvent('auroMenuActivatedOption', {
4703
- bubbles: true,
4704
- cancelable: false,
4705
- composed: true,
4706
- detail: this.items[index]
4707
- }));
4803
+ firstUpdated() {
4804
+ // Add the tag name as an attribute if it is different than the component name
4805
+ this.runtimeUtils.handleComponentTagRename(this, 'auro-menuoption');
4708
4806
 
4709
- this.dispatchEvent(new CustomEvent('auroMenu-activatedOption', {
4710
- bubbles: true,
4711
- cancelable: false,
4712
- composed: true,
4713
- detail: this.items[index]
4714
- }));
4807
+ this.setAttribute('role', 'option');
4808
+ this.setAttribute('aria-selected', 'false');
4809
+
4810
+ this.addEventListener('mouseover', () => {
4811
+ this.dispatchEvent(new CustomEvent('auroMenuOption-mouseover', {
4812
+ bubbles: true,
4813
+ cancelable: false,
4814
+ composed: true,
4815
+ detail: this
4816
+ }));
4817
+ });
4715
4818
  }
4716
4819
 
4717
- /**
4718
- * Used to only make a selection when a menuoption is receiving a mousedown event.
4719
- * @param {Event} evt - Mousedown event.
4720
- * @private
4721
- */
4722
- handleMenuMouseDown(evt) {
4723
- if (evt.target !== this) {
4724
- this.makeSelection();
4820
+ // observer for selected property changes
4821
+ updated(changedProperties) {
4822
+ if (changedProperties.has('selected')) {
4823
+ this.setAttribute('aria-selected', this.selected.toString());
4725
4824
  }
4726
4825
  }
4727
4826
 
4728
4827
  /**
4729
- * Used for @slotchange event on slotted element.
4828
+ * Generates an HTML element containing an SVG icon based on the provided `svgContent`.
4829
+ *
4730
4830
  * @private
4831
+ * @param {string} svgContent - The SVG content to be embedded.
4832
+ * @returns {Element} The HTML element containing the SVG icon.
4731
4833
  */
4732
- handleSlotItems() {
4733
- // Determine if this is the root of the menu/submenu layout.
4734
- if (this.parentElement && this.parentElement.closest('auro-menu, [auro-menu]')) {
4735
- this.rootMenu = false;
4736
- }
4834
+ generateIconHtml(svgContent) {
4835
+ const dom = new DOMParser().parseFromString(svgContent, 'text/html');
4836
+ const svg = dom.body.firstChild;
4737
4837
 
4738
- // If this is the root menu (not a nested menu) handle events, states and styling.
4739
- if (this.rootMenu) {
4740
- this.initItems();
4741
- this.setAttribute('role', 'listbox');
4742
- this.setAttribute('root', '');
4743
- this.handleNestedMenus(this);
4744
- this.markOptions();
4745
- this.index = -1;
4746
- this.getSelectedIndex();
4838
+ svg.setAttribute('slot', 'svg');
4747
4839
 
4748
- this.addEventListener('keydown', this.handleKeyDown);
4749
- this.addEventListener('mousedown', this.handleMenuMouseDown);
4750
- this.addEventListener('auroMenuOption-mouseover', (evt) => {
4751
- this.index = this.items.indexOf(evt.target);
4752
- this.updateActiveOption(this.index);
4753
- });
4754
- } else {
4755
- // make sure to update all menuoption noCheckmark attributes when the menu is dynamically changed
4756
- this.handleNoCheckmarkAttr();
4757
- }
4840
+ return u$3`<${this.iconTag} customColor customSvg slot="icon">${svg}</${this.iconTag}>`;
4758
4841
  }
4759
4842
 
4760
4843
  render() {
4761
- return x$1`
4762
- <slot @slotchange=${this.handleSlotItems}></slot>
4844
+ return u$3`
4845
+ ${this.selected && !this.nocheckmark ? this.generateIconHtml(checkmarkIcon.svg) : undefined}
4846
+ <slot></slot>
4763
4847
  `;
4764
4848
  }
4765
4849
  }