@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
@@ -24,7 +24,7 @@ const t$1=globalThis,i$3=t$1.trustedTypes,s$1=i$3?i$3.createPolicy("lit-html",{c
24
24
  * SPDX-License-Identifier: BSD-3-Clause
25
25
  */class r extends b{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0;}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const s=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=B(s,this.renderRoot,this.renderOptions);}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0);}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1);}render(){return T}}r._$litElement$=!0,r["finalized"]=!0,globalThis.litElementHydrateSupport?.({LitElement:r});const i$2=globalThis.litElementPolyfillSupport;i$2?.({LitElement:r});(globalThis.litElementVersions??=[]).push("4.1.1");
26
26
 
27
- var styleCss$2 = i$5`:root{--ds-asset-font-circular-family-name: "AS Circular";--ds-asset-font-circular-filename: "ASCircularWeb";--ds-asset-font-circular-weight-light: "-Light";--ds-asset-font-circular-weight-medium: "-Medium";--ds-asset-font-circular-weight-book: "-Book";--ds-border-radius: 0.375rem;--ds-size-25: 0.125rem;--ds-size-50: 0.25rem;--ds-size-75: 0.375rem;--ds-size-100: 0.5rem;--ds-size-150: 0.75rem;--ds-size-200: 1rem;--ds-size-250: 1.25rem;--ds-size-300: 1.5rem;--ds-size-400: 2rem;--ds-size-500: 2.5rem;--ds-size-600: 3rem;--ds-size-700: 3.5rem;--ds-size-800: 4rem;--ds-size-900: 4.5rem;--ds-size-1000: 5rem;--ds-unitless-scale-20: 0.25;--ds-unitless-scale-50: 0.5;--ds-unitless-scale-100: 1;--ds-unitless-scale-140: 1.4;--ds-unitless-scale-150: 1.5;--ds-unitless-scale-200: 2;--ds-unitless-scale-300: 3;--ds-unitless-scale-350: 3.5;--ds-animation-default-property: all;--ds-animation-default-duration: 0.3s;--ds-animation-default-timing: ease-out;--ds-depth-overlay: 200;--ds-depth-modal: 300;--ds-depth-tooltip: 400;--ds-elevation-100: 0px 0px 5px rgba(0, 0, 0, 0.15);--ds-elevation-200: 0px 0px 10px rgba(0, 0, 0, 0.15);--ds-elevation-300: 0px 0px 15px rgba(0, 0, 0, 0.2);--ds-grid-breakpoint-xs: 320px;--ds-grid-breakpoint-sm: 576px;--ds-grid-breakpoint-md: 768px;--ds-grid-breakpoint-lg: 1024px;--ds-grid-breakpoint-xl: 1232px;--ds-grid-column-xs: 6;--ds-grid-column-sm: 12;--ds-grid-column-md: 12;--ds-grid-column-lg: 12;--ds-grid-column-xl: 12;--ds-grid-gutter-xs: 0.5rem;--ds-grid-gutter-sm: 1rem;--ds-grid-gutter-md: 1.5rem;--ds-grid-gutter-lg: 1.5rem;--ds-grid-gutter-xl: 2rem;--ds-grid-margin-xs: 1rem;--ds-grid-margin-sm: 1rem;--ds-grid-margin-md: 1.5rem;--ds-grid-margin-lg: 2rem;--ds-grid-margin-xl: 2rem;--ds-font-family-default: "AS Circular", Helvetica Neue, Arial, sans-serif;--ds-font-family-mono: Menlo, Monaco, Consolas, "Courier New", monospace;--ds-text-heading-300-weight: 300;--ds-text-heading-300-px: 18px;--ds-text-heading-300-size: 1.125rem;--ds-text-heading-300-height: 1.625rem;--ds-text-heading-300-height-px: 26px;--ds-text-heading-400-weight: 300;--ds-text-heading-400-px: 20px;--ds-text-heading-400-size: 1.25rem;--ds-text-heading-400-height: 1.625rem;--ds-text-heading-400-height-px: 26px;--ds-text-heading-500-weight: 300;--ds-text-heading-500-px-breakpoint-sm: 22px;--ds-text-heading-500-px-breakpoint-md: 24px;--ds-text-heading-500-px-breakpoint-lg: 24px;--ds-text-heading-500-size-breakpoint-sm: 1.375rem;--ds-text-heading-500-size-breakpoint-md: 1.5rem;--ds-text-heading-500-size-breakpoint-lg: 1.5rem;--ds-text-heading-500-height-breakpoint-sm: 1.625rem;--ds-text-heading-500-height-breakpoint-px-sm: 26px;--ds-text-heading-500-height-breakpoint-md: 1.875rem;--ds-text-heading-500-height-breakpoint-px-md: 30px;--ds-text-heading-500-height-breakpoint-lg: 2rem;--ds-text-heading-500-height-breakpoint-px-lg: 32px;--ds-text-heading-600-weight: 300;--ds-text-heading-600-px-breakpoint-sm: 26px;--ds-text-heading-600-px-breakpoint-md: 28px;--ds-text-heading-600-px-breakpoint-lg: 28px;--ds-text-heading-600-size-breakpoint-sm: 1.625rem;--ds-text-heading-600-size-breakpoint-md: 1.75rem;--ds-text-heading-600-size-breakpoint-lg: 1.75rem;--ds-text-heading-600-height-breakpoint-sm: 1.875rem;--ds-text-heading-600-height-breakpoint-px-sm: 30px;--ds-text-heading-600-height-breakpoint-md: 2.125rem;--ds-text-heading-600-height-breakpoint-px-md: 34px;--ds-text-heading-600-height-breakpoint-lg: 2.25rem;--ds-text-heading-600-height-breakpoint-px-lg: 36px;--ds-text-heading-700-weight: 500;--ds-text-heading-700-px-breakpoint-sm: 28px;--ds-text-heading-700-px-breakpoint-md: 32px;--ds-text-heading-700-px-breakpoint-lg: 36px;--ds-text-heading-700-size-breakpoint-sm: 1.75rem;--ds-text-heading-700-size-breakpoint-md: 2rem;--ds-text-heading-700-size-breakpoint-lg: 2.25rem;--ds-text-heading-700-height-breakpoint-sm: 2.125rem;--ds-text-heading-700-height-breakpoint-px-sm: 34px;--ds-text-heading-700-height-breakpoint-md: 2.375rem;--ds-text-heading-700-height-breakpoint-px-md: 38px;--ds-text-heading-700-height-breakpoint-lg: 2.75rem;--ds-text-heading-700-height-breakpoint-px-lg: 44px;--ds-text-heading-800-weight: 500;--ds-text-heading-800-px-breakpoint-sm: 32px;--ds-text-heading-800-px-breakpoint-md: 36px;--ds-text-heading-800-px-breakpoint-lg: 40px;--ds-text-heading-800-size-breakpoint-sm: 2rem;--ds-text-heading-800-size-breakpoint-md: 2.25rem;--ds-text-heading-800-size-breakpoint-lg: 2.5rem;--ds-text-heading-800-height-breakpoint-sm: 2.375rem;--ds-text-heading-800-height-breakpoint-px-sm: 38px;--ds-text-heading-800-height-breakpoint-md: 2.625rem;--ds-text-heading-800-height-breakpoint-px-md: 42px;--ds-text-heading-800-height-breakpoint-lg: 3rem;--ds-text-heading-800-height-breakpoint-px-lg: 48px;--ds-text-heading-default-weight: 500;--ds-text-heading-default-margin: 0;--ds-text-heading-default-spacing: -0.2px;--ds-text-heading-medium-weight: 300;--ds-text-heading-display-weight: 100;--ds-text-heading-display-px-breakpoint-sm: 44px;--ds-text-heading-display-px-breakpoint-md: 48px;--ds-text-heading-display-px-breakpoint-lg: 56px;--ds-text-heading-display-size-breakpoint-sm: 2.75rem;--ds-text-heading-display-size-breakpoint-md: 3rem;--ds-text-heading-display-size-breakpoint-lg: 3.5rem;--ds-text-heading-display-height-breakpoint-sm: 3.375rem;--ds-text-heading-display-height-breakpoint-px-sm: 54px;--ds-text-heading-display-height-breakpoint-md: 3.75rem;--ds-text-heading-display-height-breakpoint-px-md: 60px;--ds-text-heading-display-height-breakpoint-lg: 4.25rem;--ds-text-heading-display-height-breakpoint-px-lg: 68px;--ds-text-body-default-weight: 500;--ds-text-body-size-xxs: 0.625rem;--ds-text-body-size-xs: 0.75rem;--ds-text-body-size-sm: 0.875rem;--ds-text-body-size-default: 1rem;--ds-text-body-size-lg: 1.125rem;--ds-text-body-height-xs: 1rem;--ds-text-body-height-sm: 1.25rem;--ds-text-body-height-default: 1.5rem;--ds-text-body-height-lg: 1.625rem;--ds-color-alert-notification-default: #0074c8;--ds-color-alert-warning-default: #de750c;--ds-color-alert-error-default: #df0b37;--ds-color-alert-success-default: #00805d;--ds-color-alert-advisory-default: #fff0cd;--ds-color-alert-bkg-success-default: #ddf6e8;--ds-color-alert-bkg-error-default: #ffedf1;--ds-color-background-primary-100-default: #ffffff;--ds-color-background-primary-100-inverse: #0e2b4f;--ds-color-background-primary-200-default: #f7f7f7;--ds-color-background-primary-200-inverse: #194069;--ds-color-background-primary-300-default: #e4e8ec;--ds-color-background-primary-300-inverse: #265688;--ds-color-background-primary-400-default: #dddddd;--ds-color-background-primary-400-inverse: #326aa5;--ds-color-background-success-default: #eef8f5;--ds-color-background-success-inverse: #173c30;--ds-color-background-error-default: #fff4f4;--ds-color-background-error-inverse: #74110e;--ds-color-background-warning-default: #fef8e9;--ds-color-background-warning-inverse: #5d4514;--ds-color-background-info-default: #f0f7fd;--ds-color-background-info-inverse: #193d73;--ds-color-background-subtle-default: #f7f8fa;--ds-color-background-subtle-inverse: #2a2a2a;--ds-color-background-accent-default: #ebfafd;--ds-color-background-accent-inverse: #275b72;--ds-color-background-emphasis-default: #c9e0f7;--ds-color-background-emphasis-inverse: #225296;--ds-color-background-scrimmed-default: rgba(0, 0, 0, 0.5);--ds-color-background-lightest: #ffffff;--ds-color-background-lighter: #f7f7f7;--ds-color-background-darker: #01426a;--ds-color-background-darkest: #00274a;--ds-color-background-gradient-default: linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.5));--ds-color-base-white: #ffffff;--ds-color-base-white-100: rgba(255, 255, 255, 0.03);--ds-color-base-white-200: rgba(255, 255, 255, 0.06);--ds-color-base-white-300: rgba(255, 255, 255, 0.12);--ds-color-base-white-400: rgba(255, 255, 255, 0.25);--ds-color-base-white-500: rgba(255, 255, 255, 0.5);--ds-color-base-white-opacity-50: rgba(255, 255, 255, 0.5);--ds-color-base-white-opacity-40: rgba(255, 255, 255, 0.4);--ds-color-base-white-opacity-0: rgba(255, 255, 255, 0);--ds-color-base-black: #000000;--ds-color-base-black-100: rgba(0, 0, 0, 0.03);--ds-color-base-black-200: rgba(0, 0, 0, 0.06);--ds-color-base-black-300: rgba(0, 0, 0, 0.12);--ds-color-base-black-400: rgba(0, 0, 0, 0.25);--ds-color-base-black-500: rgba(0, 0, 0, 0.5);--ds-color-base-black-opacity-15: rgba(0, 0, 0, 0.15);--ds-color-base-blue-100: #f0f7fd;--ds-color-base-blue-200: #c9e0f7;--ds-color-base-blue-300: #a0c9f1;--ds-color-base-blue-400: #79b2ec;--ds-color-base-blue-500: #5398e6;--ds-color-base-blue-600: #3b7fd2;--ds-color-base-blue-700: #2c67b5;--ds-color-base-blue-800: #225296;--ds-color-base-blue-900: #193d73;--ds-color-base-blue-1000: #102a51;--ds-color-base-cyan-100: #ebfafd;--ds-color-base-cyan-200: #a8e9f7;--ds-color-base-cyan-300: #6ad5ef;--ds-color-base-cyan-400: #56bbde;--ds-color-base-cyan-500: #4aa2c7;--ds-color-base-cyan-600: #3e89aa;--ds-color-base-cyan-700: #32718e;--ds-color-base-cyan-800: #275b72;--ds-color-base-cyan-900: #1d4658;--ds-color-base-cyan-1000: #12303d;--ds-color-base-error-100: #fff4f4;--ds-color-base-error-200: #f9aca6;--ds-color-base-error-300: #f16359;--ds-color-base-error-400: #cc1816;--ds-color-base-error-500: #74110e;--ds-color-base-gray-100: #f7f7f7;--ds-color-base-gray-200: #d4d4d4;--ds-color-base-gray-300: #c5c5c5;--ds-color-base-gray-400: #adadad;--ds-color-base-gray-500: #959595;--ds-color-base-gray-600: #7e7e7e;--ds-color-base-gray-700: #676767;--ds-color-base-gray-800: #525252;--ds-color-base-gray-900: #3d3d3d;--ds-color-base-gray-1000: #2a2a2a;--ds-color-base-green-100: #f3faf7;--ds-color-base-green-200: #000000;--ds-color-base-green-300: #addbca;--ds-color-base-green-400: #7ec6ac;--ds-color-base-green-500: #51ae8c;--ds-color-base-green-600: #459578;--ds-color-base-green-700: #3a7d64;--ds-color-base-green-800: #306854;--ds-color-base-green-900: #285545;--ds-color-base-green-1000: #1f4436;--ds-color-base-lime-100: #f5fbeb;--ds-color-base-lime-200: #d8efb4;--ds-color-base-lime-300: #badd81;--ds-color-base-lime-400: #a2c270;--ds-color-base-lime-500: #8ca761;--ds-color-base-lime-600: #778f53;--ds-color-base-lime-700: #647845;--ds-color-base-lime-800: #53643a;--ds-color-base-lime-900: #44522f;--ds-color-base-lime-1000: #364126;--ds-color-base-navy-100: #f2f7fb;--ds-color-base-navy-200: #cfe0ef;--ds-color-base-navy-300: #acc9e2;--ds-color-base-navy-400: #89b2d4;--ds-color-base-navy-500: #6899c6;--ds-color-base-navy-600: #4a82b7;--ds-color-base-navy-700: #326aa5;--ds-color-base-navy-800: #265688;--ds-color-base-navy-900: #194069;--ds-color-base-navy-1000: #0e2b4f;--ds-color-base-neutral-100: #f7f8fa;--ds-color-base-neutral-200: #e4e8ec;--ds-color-base-neutral-300: #ccd2db;--ds-color-base-neutral-400: #afb9c6;--ds-color-base-neutral-500: #939fad;--ds-color-base-neutral-600: #7e8894;--ds-color-base-neutral-700: #6a717c;--ds-color-base-neutral-800: #585e67;--ds-color-base-neutral-900: #484d55;--ds-color-base-neutral-1000: #393d43;--ds-color-base-pink-100: #fff7f8;--ds-color-base-pink-200: #fde0e6;--ds-color-base-pink-300: #fcc2ce;--ds-color-base-pink-400: #fa9db0;--ds-color-base-pink-500: #f7738e;--ds-color-base-pink-600: #e45472;--ds-color-base-pink-700: #bf475f;--ds-color-base-pink-800: #a03b50;--ds-color-base-pink-900: #833142;--ds-color-base-pink-1000: #692734;--ds-color-base-purple-100: #fbf8fe;--ds-color-base-purple-200: #ede3fd;--ds-color-base-purple-300: #ddc9fb;--ds-color-base-purple-400: #c9a9f8;--ds-color-base-purple-500: #b588f5;--ds-color-base-purple-600: #a268f3;--ds-color-base-purple-700: #8d47f0;--ds-color-base-purple-800: #7633d7;--ds-color-base-purple-900: #622ab2;--ds-color-base-purple-1000: #4e228d;--ds-color-base-red-100: #fef7f5;--ds-color-base-red-200: #fae2da;--ds-color-base-red-300: #f5c7b8;--ds-color-base-red-400: #f0a68d;--ds-color-base-red-500: #e9815e;--ds-color-base-red-600: #e35c2f;--ds-color-base-red-700: #d03a08;--ds-color-base-red-800: #ae3007;--ds-color-base-red-900: #902806;--ds-color-base-red-1000: #732005;--ds-color-base-success-100: #eef8f5;--ds-color-base-success-200: #8eceb9;--ds-color-base-success-300: #40a080;--ds-color-base-success-400: #0b6f4d;--ds-color-base-success-500: #173c30;--ds-color-base-turquoise-100: #f7fafa;--ds-color-base-turquoise-200: #dfe9ea;--ds-color-base-turquoise-300: #c2d5d6;--ds-color-base-turquoise-400: #9fbdbe;--ds-color-base-turquoise-500: #7ba5a6;--ds-color-base-turquoise-600: #5c8f91;--ds-color-base-turquoise-700: #3d7a7d;--ds-color-base-turquoise-800: #21686a;--ds-color-base-turquoise-900: #085659;--ds-color-base-turquoise-1000: #004447;--ds-color-base-yellow-100: #fff9df;--ds-color-base-yellow-200: #ffe87e;--ds-color-base-yellow-300: #f9ce06;--ds-color-base-yellow-400: #d6b622;--ds-color-base-yellow-500: #b49d35;--ds-color-base-yellow-600: #96873e;--ds-color-base-yellow-700: #7c7140;--ds-color-base-yellow-800: #665e3d;--ds-color-base-yellow-900: #524e38;--ds-color-base-yellow-1000: #403d30;--ds-color-base-warning-100: #fef8e9;--ds-color-base-warning-200: #f2c153;--ds-color-base-warning-300: #c49432;--ds-color-base-warning-400: #8e6b22;--ds-color-base-warning-500: #5d4514;--ds-color-state-error-100: #ff999b;--ds-color-state-error-500: #df0b37;--ds-color-state-success-100: #69cf96;--ds-color-state-success-500: #00805d;--ds-color-state-warning-500: #de750c;--ds-color-border-primary-default: #585e67;--ds-color-border-primary-inverse: #afb9c6;--ds-color-border-secondary-default: #939fad;--ds-color-border-secondary-inverse: #7e8894;--ds-color-border-tertiary-default: #dddddd;--ds-color-border-tertiary-inverse: #676767;--ds-color-border-error-default: #cc1816;--ds-color-border-error-inverse: #f9aca6;--ds-color-border-divider-default: rgba(0, 0, 0, 0.12);--ds-color-border-divider-inverse: rgba(255, 255, 255, 0.25);--ds-color-border-subtle-default: #f0f7fd;--ds-color-border-subtle-inverse: #326aa5;--ds-color-border-emphasis-default: #194069;--ds-color-border-emphasis-inverse: #f2f7fb;--ds-color-border-accent-default: #badd81;--ds-color-border-accent-inverse: #a2c270;--ds-color-border-success-default: #0b6f4d;--ds-color-border-success-inverse: #8eceb9;--ds-color-border-warning-default: #c49432;--ds-color-border-warning-inverse: #f2c153;--ds-color-border-info-default: #326aa5;--ds-color-border-info-inverse: #89b2d4;--ds-color-border-ui-default-default: #2c67b5;--ds-color-border-ui-default-inverse: #56bbde;--ds-color-border-ui-hover-default: #193d73;--ds-color-border-ui-hover-inverse: #a8e9f7;--ds-color-border-ui-active-default: #225296;--ds-color-border-ui-active-inverse: #6ad5ef;--ds-color-border-ui-focus-default: #2c67b5;--ds-color-border-ui-focus-inverse: #56bbde;--ds-color-border-ui-disabled-default: #adadad;--ds-color-border-ui-disabled-inverse: #7e7e7e;--ds-color-border-active-default: #0074c8;--ds-color-border-active-inverse: #00cff0;--ds-color-border-disabled-default: #d4d4d4;--ds-color-border-focus-default: #959595;--ds-color-brand-neutral-100: #f7f8fa;--ds-color-brand-neutral-200: #e4e8ec;--ds-color-brand-neutral-300: #ccd2db;--ds-color-brand-neutral-400: #afb9c6;--ds-color-brand-neutral-500: #939fad;--ds-color-brand-neutral-600: #7e8894;--ds-color-brand-neutral-700: #6a717c;--ds-color-brand-neutral-800: #585e67;--ds-color-brand-neutral-900: #484d55;--ds-color-brand-neutral-1000: #393d43;--ds-color-brand-gray-100: #f7f7f7;--ds-color-brand-gray-200: #dddddd;--ds-color-brand-gray-300: #c5c5c5;--ds-color-brand-gray-400: #adadad;--ds-color-brand-gray-500: #959595;--ds-color-brand-gray-600: #7e7e7e;--ds-color-brand-gray-700: #676767;--ds-color-brand-gray-800: #525252;--ds-color-brand-gray-900: #3d3d3d;--ds-color-brand-gray-1000: #2a2a2a;--ds-color-brand-red-100: #fef7f5;--ds-color-brand-red-200: #fae2da;--ds-color-brand-red-300: #f5c7b8;--ds-color-brand-red-400: #f0a68d;--ds-color-brand-red-500: #e9815e;--ds-color-brand-red-600: #e35c2f;--ds-color-brand-red-700: #d03a08;--ds-color-brand-red-800: #ae3007;--ds-color-brand-red-900: #902806;--ds-color-brand-red-1000: #732005;--ds-color-brand-yellow-100: #fff9df;--ds-color-brand-yellow-200: #ffe87e;--ds-color-brand-yellow-300: #f9ce06;--ds-color-brand-yellow-400: #d6b622;--ds-color-brand-yellow-500: #b49d35;--ds-color-brand-yellow-600: #96873e;--ds-color-brand-yellow-700: #7c7140;--ds-color-brand-yellow-800: #665e3d;--ds-color-brand-yellow-900: #524e38;--ds-color-brand-yellow-1000: #403d30;--ds-color-brand-lime-100: #f5fbeb;--ds-color-brand-lime-200: #d8efb4;--ds-color-brand-lime-300: #badd81;--ds-color-brand-lime-400: #a2c270;--ds-color-brand-lime-500: #8ca761;--ds-color-brand-lime-600: #778f53;--ds-color-brand-lime-700: #647845;--ds-color-brand-lime-800: #53643a;--ds-color-brand-lime-900: #44522f;--ds-color-brand-lime-1000: #364126;--ds-color-brand-green-100: #f3faf7;--ds-color-brand-green-200: #d4ece4;--ds-color-brand-green-300: #addbca;--ds-color-brand-green-400: #7ec6ac;--ds-color-brand-green-500: #51ae8c;--ds-color-brand-green-600: #459578;--ds-color-brand-green-700: #3a7d64;--ds-color-brand-green-800: #306854;--ds-color-brand-green-900: #285545;--ds-color-brand-green-1000: #1f4436;--ds-color-brand-turquoise-100: #f7fafa;--ds-color-brand-turquoise-200: #dfe9ea;--ds-color-brand-turquoise-300: #c2d5d6;--ds-color-brand-turquoise-400: #9fbdbe;--ds-color-brand-turquoise-500: #7ba5a6;--ds-color-brand-turquoise-600: #5c8f91;--ds-color-brand-turquoise-700: #3d7a7d;--ds-color-brand-turquoise-800: #21686a;--ds-color-brand-turquoise-900: #085659;--ds-color-brand-turquoise-1000: #004447;--ds-color-brand-cyan-100: #ebfafd;--ds-color-brand-cyan-200: #a8e9f7;--ds-color-brand-cyan-300: #6ad5ef;--ds-color-brand-cyan-400: #56bbde;--ds-color-brand-cyan-500: #4aa2c7;--ds-color-brand-cyan-600: #3e89aa;--ds-color-brand-cyan-700: #32718e;--ds-color-brand-cyan-800: #275b72;--ds-color-brand-cyan-900: #1d4658;--ds-color-brand-cyan-1000: #12303d;--ds-color-brand-blue-100: #f0f7fd;--ds-color-brand-blue-200: #c9e0f7;--ds-color-brand-blue-300: #a0c9f1;--ds-color-brand-blue-400: #79b2ec;--ds-color-brand-blue-500: #5398e6;--ds-color-brand-blue-600: #3b7fd2;--ds-color-brand-blue-700: #2c67b5;--ds-color-brand-blue-800: #225296;--ds-color-brand-blue-900: #193d73;--ds-color-brand-blue-1000: #102a51;--ds-color-brand-navy-100: #f2f7fb;--ds-color-brand-navy-200: #cfe0ef;--ds-color-brand-navy-300: #acc9e2;--ds-color-brand-navy-400: #89b2d4;--ds-color-brand-navy-500: #6899c6;--ds-color-brand-navy-600: #4a82b7;--ds-color-brand-navy-700: #326aa5;--ds-color-brand-navy-800: #265688;--ds-color-brand-navy-900: #194069;--ds-color-brand-navy-1000: #0e2b4f;--ds-color-brand-purple-100: #fbf8fe;--ds-color-brand-purple-200: #ede3fd;--ds-color-brand-purple-300: #ddc9fb;--ds-color-brand-purple-400: #c9a9f8;--ds-color-brand-purple-500: #b588f5;--ds-color-brand-purple-600: #a268f3;--ds-color-brand-purple-700: #8d47f0;--ds-color-brand-purple-800: #7633d7;--ds-color-brand-purple-900: #622ab2;--ds-color-brand-purple-1000: #4e228d;--ds-color-brand-pink-100: #fff7f8;--ds-color-brand-pink-200: #fde0e6;--ds-color-brand-pink-300: #fcc2ce;--ds-color-brand-pink-400: #fa9db0;--ds-color-brand-pink-500: #f7738e;--ds-color-brand-pink-600: #e45472;--ds-color-brand-pink-700: #bf475f;--ds-color-brand-pink-800: #a03b50;--ds-color-brand-pink-900: #833142;--ds-color-brand-pink-1000: #692734;--ds-color-brand-midnight-100: #c1daf0;--ds-color-brand-midnight-200: #569ed7;--ds-color-brand-midnight-300: #156fad;--ds-color-brand-midnight-400: #01426a;--ds-color-brand-midnight-500: #00274a;--ds-color-brand-atlas-100: #cde6ff;--ds-color-brand-atlas-200: #6bb7fb;--ds-color-brand-atlas-300: #2492eb;--ds-color-brand-atlas-400: #0074c8;--ds-color-brand-atlas-500: #054687;--ds-color-brand-atlas-400-opacity-20: rgba(0, 116, 200, 0.2);--ds-color-brand-breeze-100: #c0f7ff;--ds-color-brand-breeze-200: #5de3f7;--ds-color-brand-breeze-300: #00cff0;--ds-color-brand-breeze-400: #099dc5;--ds-color-brand-breeze-500: #0b5575;--ds-color-brand-breeze-300-opacity-30: rgba(0, 207, 240, 0.3);--ds-color-brand-tropical-100: #e2ffcd;--ds-color-brand-tropical-200: #d0fba6;--ds-color-brand-tropical-300: #c0e585;--ds-color-brand-tropical-400: #91be62;--ds-color-brand-tropical-500: #5e8741;--ds-color-brand-alpine-100: #bcaae6;--ds-color-brand-alpine-200: #9e73ea;--ds-color-brand-alpine-300: #8439ef;--ds-color-brand-alpine-400: #631db8;--ds-color-brand-alpine-500: #39115c;--ds-color-brand-flamingo-100: #ffebee;--ds-color-brand-flamingo-200: #ffc0ca;--ds-color-brand-flamingo-300: #ff94a7;--ds-color-brand-flamingo-400: #f65b7b;--ds-color-brand-flamingo-500: #b82b47;--ds-color-brand-canyon-100: #ffcab6;--ds-color-brand-canyon-200: #f99574;--ds-color-brand-canyon-300: #f26135;--ds-color-brand-canyon-400: #de3e09;--ds-color-brand-canyon-500: #b83302;--ds-color-brand-goldcoast-100: #fff0cd;--ds-color-brand-goldcoast-200: #ffdb67;--ds-color-brand-goldcoast-300: #ffd200;--ds-color-brand-goldcoast-400: #e5ad07;--ds-color-brand-goldcoast-500: #b88624;--ds-color-brand-goldgray-100: #c5c1bf;--ds-color-brand-goldgray-200: #726e6c;--ds-color-brand-gold-100: #ccbc94;--ds-color-brand-gold-200: #7f682e;--ds-color-brand-emerald: #139142;--ds-color-brand-sapphire: #015daa;--ds-color-brand-ruby: #a41d4a;--ds-color-brand-lounge: #01426a;--ds-color-brand-loungeplus: #53b390;--ds-color-container-accent-default: #f5fbeb;--ds-color-container-accent-inverse: #badd81;--ds-color-container-emphasis-default: #ebfafd;--ds-color-container-emphasis-inverse: #6ad5ef;--ds-color-container-error-default: #fff4f4;--ds-color-container-error-inverse: #74110e;--ds-color-container-info-default: #f0f7fd;--ds-color-container-info-inverse: #193d73;--ds-color-container-primary-default: #ffffff;--ds-color-container-primary-inverse: #0e2b4f;--ds-color-container-secondary-default: #f7f7f7;--ds-color-container-secondary-inverse: #194069;--ds-color-container-subtle-default: #f7f8fa;--ds-color-container-subtle-inverse: #393d43;--ds-color-container-success-default: #eef8f5;--ds-color-container-success-inverse: #173c30;--ds-color-container-tertiary-default: rgba(0, 0, 0, 0.03);--ds-color-container-tertiary-inverse: rgba(255, 255, 255, 0.06);--ds-color-container-warning-default: #fef8e9;--ds-color-container-warning-inverse: #5d4514;--ds-color-container-ui-primary-active-default: #225296;--ds-color-container-ui-primary-active-inverse: #6ad5ef;--ds-color-container-ui-primary-default-default: #2c67b5;--ds-color-container-ui-primary-default-inverse: #56bbde;--ds-color-container-ui-primary-disabled-default: #a0c9f1;--ds-color-container-ui-primary-disabled-inverse: #275b72;--ds-color-container-ui-primary-focus-default: #2c67b5;--ds-color-container-ui-primary-focus-inverse: #56bbde;--ds-color-container-ui-primary-hover-default: #193d73;--ds-color-container-ui-primary-hover-inverse: #a8e9f7;--ds-color-container-ui-secondary-active-default: #f0f7fd;--ds-color-container-ui-secondary-active-inverse: rgba(255, 255, 255, 0.06);--ds-color-container-ui-secondary-default-default: #ffffff;--ds-color-container-ui-secondary-default-inverse: rgba(255, 255, 255, 0.03);--ds-color-container-ui-secondary-disabled-default: #f7f7f7;--ds-color-container-ui-secondary-disabled-inverse: rgba(255, 255, 255, 0.12);--ds-color-container-ui-secondary-focus-default: #ffffff;--ds-color-container-ui-secondary-focus-inverse: rgba(255, 255, 255, 0.03);--ds-color-container-ui-secondary-hover-default: rgba(0, 0, 0, 0.03);--ds-color-container-ui-secondary-hover-inverse: rgba(255, 255, 255, 0.12);--ds-color-container-ui-tertiary-active-default: rgba(0, 0, 0, 0.06);--ds-color-container-ui-tertiary-active-inverse: rgba(255, 255, 255, 0.06);--ds-color-container-ui-tertiary-default-default: rgba(0, 0, 0, 0.03);--ds-color-container-ui-tertiary-default-inverse: rgba(255, 255, 255, 0.12);--ds-color-container-ui-tertiary-disabled-default: rgba(0, 0, 0, 0.03);--ds-color-container-ui-tertiary-disabled-inverse: rgba(255, 255, 255, 0.25);--ds-color-container-ui-tertiary-focus-default: rgba(0, 0, 0, 0.03);--ds-color-container-ui-tertiary-focus-inverse: rgba(255, 255, 255, 0.12);--ds-color-container-ui-tertiary-hover-default: rgba(0, 0, 0, 0.12);--ds-color-container-ui-tertiary-hover-inverse: rgba(255, 255, 255, 0.25);--ds-color-icon-primary-default: #676767;--ds-color-icon-primary-inverse: #f7f7f7;--ds-color-icon-secondary-default: #7e8894;--ds-color-icon-secondary-inverse: #ccd2db;--ds-color-icon-tertiary-default: #afb9c6;--ds-color-icon-tertiary-inverse: #939fad;--ds-color-icon-emphasis-default: #2a2a2a;--ds-color-icon-emphasis-inverse: #ffffff;--ds-color-icon-accent-default: #a2c270;--ds-color-icon-accent-inverse: #badd81;--ds-color-icon-info-default: #326aa5;--ds-color-icon-info-inverse: #89b2d4;--ds-color-icon-error-default: #cc1816;--ds-color-icon-error-inverse: #f9aca6;--ds-color-icon-warning-default: #c49432;--ds-color-icon-warning-inverse: #f2c153;--ds-color-icon-success-default: #40a080;--ds-color-icon-success-inverse: #8eceb9;--ds-color-icon-subtle-default: #a0c9f1;--ds-color-icon-subtle-inverse: #326aa5;--ds-color-icon-ui-primary-default-default: #2c67b5;--ds-color-icon-ui-primary-default-inverse: #56bbde;--ds-color-icon-ui-primary-hover-default: #193d73;--ds-color-icon-ui-primary-hover-inverse: #a8e9f7;--ds-color-icon-ui-primary-active-default: #225296;--ds-color-icon-ui-primary-active-inverse: #6ad5ef;--ds-color-icon-ui-primary-disabled-default: #adadad;--ds-color-icon-ui-primary-disabled-inverse: #7e7e7e;--ds-color-icon-ui-primary-focus-default: #2c67b5;--ds-color-icon-ui-primary-focus-inverse: #56bbde;--ds-color-icon-ui-secondary-active-default: #676767;--ds-color-icon-ui-secondary-active-inverse: #c5c5c5;--ds-color-icon-ui-secondary-default-default: #7e7e7e;--ds-color-icon-ui-secondary-default-inverse: #adadad;--ds-color-icon-ui-secondary-disabled-default: #adadad;--ds-color-icon-ui-secondary-disabled-inverse: #7e7e7e;--ds-color-icon-ui-secondary-focus-default: #7e7e7e;--ds-color-icon-ui-secondary-focus-inverse: #adadad;--ds-color-icon-ui-secondary-hover-default: #525252;--ds-color-icon-ui-secondary-hover-inverse: #dddddd;--ds-color-icon-brand-red-default: #d03a08;--ds-color-icon-brand-red-inverse: #e9815e;--ds-color-icon-brand-yellow-default: #7c7140;--ds-color-icon-brand-yellow-inverse: #f9ce06;--ds-color-icon-brand-pink-default: #bf475f;--ds-color-icon-brand-pink-inverse: #f7738e;--ds-color-icon-brand-purple-default: #8d47f0;--ds-color-icon-brand-purple-inverse: #b588f5;--ds-color-icon-brand-lime-default: #647845;--ds-color-icon-brand-lime-inverse: #badd81;--ds-color-icon-brand-green-default: #3a7d64;--ds-color-icon-brand-green-inverse: #51ae8c;--ds-color-icon-brand-turquoise-default: #3d7a7d;--ds-color-icon-brand-turquoise-inverse: #7ba5a6;--ds-color-icon-brand-navy-default: #265688;--ds-color-icon-brand-navy-inverse: #6899c6;--ds-color-icon-brand-blue-default: #2c67b5;--ds-color-icon-brand-blue-inverse: #5398e6;--ds-color-icon-brand-cyan-default: #32718e;--ds-color-icon-brand-cyan-inverse: #6ad5ef;--ds-color-icon-brand-gray-default: #676767;--ds-color-icon-brand-gray-inverse: #c5c5c5;--ds-color-icon-brand-neutral-default: #6a717c;--ds-color-icon-brand-neutral-inverse: #afb9c6;--ds-color-icon-disabled-default: rgba(0, 0, 0, 0.15);--ds-color-text-primary-default: #2a2a2a;--ds-color-text-primary-inverse: #ffffff;--ds-color-text-secondary-default: #525252;--ds-color-text-secondary-inverse: #dddddd;--ds-color-text-tertiary-default: #6a717c;--ds-color-text-tertiary-inverse: #adadad;--ds-color-text-error-default: #cc1816;--ds-color-text-error-inverse: #f9aca6;--ds-color-text-emphasis-default: #265688;--ds-color-text-emphasis-inverse: #cfe0ef;--ds-color-text-accent-default: #647845;--ds-color-text-accent-inverse: #badd81;--ds-color-text-info-default: #326aa5;--ds-color-text-info-inverse: #acc9e2;--ds-color-text-subtle-default: #32718e;--ds-color-text-subtle-inverse: #56bbde;--ds-color-text-success-default: #0b6f4d;--ds-color-text-success-inverse: #8eceb9;--ds-color-text-ui-active-default: #225296;--ds-color-text-ui-active-inverse: #6ad5ef;--ds-color-text-ui-default-default: #2c67b5;--ds-color-text-ui-default-inverse: #56bbde;--ds-color-text-ui-disabled-default: #adadad;--ds-color-text-ui-disabled-inverse: #7e7e7e;--ds-color-text-ui-focus-default: #2c67b5;--ds-color-text-ui-focus-inverse: #56bbde;--ds-color-text-ui-hover-default: #193d73;--ds-color-text-ui-hover-inverse: #a8e9f7;--ds-color-text-link-default: #0074c8;--ds-color-text-link-inverse: #00cff0;--ds-color-tier-alaska-mvp-default: #726e6c;--ds-color-tier-alaska-mvp-inverse: #c5c1bf;--ds-color-tier-alaska-mvpgold-default: #7f682e;--ds-color-tier-alaska-mvpgold-inverse: #c5c1bf;--ds-color-tier-alaska-mvpgold75k-default: #7f682e;--ds-color-tier-alaska-mvpgold75k-inverse: #c5c1bf;--ds-color-tier-alaska-mvpgold100k-default: #7f682e;--ds-color-tier-alaska-mvpgold100k-inverse: #c5c1bf;--ds-color-tier-alaska-lounge: #01426a;--ds-color-tier-alaska-loungeplus: #53b390;--ds-color-tier-fare-business-default: #005154;--ds-color-tier-fare-business-inverse: #9fbdbe;--ds-color-tier-fare-economy-default: #2c67b5;--ds-color-tier-fare-economy-inverse: #a0c9f1;--ds-color-tier-fare-first-class-default: #002c4e;--ds-color-tier-fare-first-class-inverse: #89b2d4;--ds-color-tier-fare-saver-default: #4aa2c7;--ds-color-tier-fare-saver-inverse: #a8e9f7;--ds-color-tier-oneworld-emerald: #139142;--ds-color-tier-oneworld-sapphire: #015daa;--ds-color-tier-oneworld-ruby: #a41d4a;--ds-color-ui-default-default: #0074c8;--ds-color-ui-default-inverse: #00cff0;--ds-color-ui-hover-default: #054687;--ds-color-ui-hover-inverse: #5de3f7;--ds-color-ui-active-default: #054687;--ds-color-ui-active-inverse: #5de3f7;--ds-color-ui-disabled-default: rgba(0, 116, 200, 0.2);--ds-color-ui-bkg-default-default: rgba(0, 0, 0, 0.03);--ds-color-ui-bkg-default-inverse: rgba(255, 255, 255, 0.03);--ds-color-ui-bkg-hover-default: rgba(0, 0, 0, 0.06);--ds-color-ui-bkg-hover-inverse: rgba(255, 255, 255, 0.06);--ds-color-utility-blue-default: #79b2ec;--ds-color-utility-blue-inverse: #c9e0f7;--ds-color-utility-cyan-default: #6ad5ef;--ds-color-utility-cyan-inverse: #a8e9f7;--ds-color-utility-green-default: #7ec6ac;--ds-color-utility-green-inverse: #addbca;--ds-color-utility-gray-default: #adadad;--ds-color-utility-gray-inverse: #dddddd;--ds-color-utility-lime-default: #badd81;--ds-color-utility-lime-inverse: #d8efb4;--ds-color-utility-navy-default: #265688;--ds-color-utility-navy-inverse: #acc9e2;--ds-color-utility-neutral-default: #7e8894;--ds-color-utility-neutral-inverse: #ccd2db;--ds-color-utility-pink-default: #f7738e;--ds-color-utility-pink-inverse: #fcc2ce;--ds-color-utility-purple-default: #8d47f0;--ds-color-utility-purple-inverse: #ddc9fb;--ds-color-utility-red-default: #e35c2f;--ds-color-utility-red-inverse: #f0a68d;--ds-color-utility-turquoise-default: #5c8f91;--ds-color-utility-turquoise-inverse: #9fbdbe;--ds-color-utility-yellow-default: #f9ce06;--ds-color-utility-yellow-inverse: #ffe87e;--ds-color-utility-error-default: #cc1816;--ds-color-utility-error-inverse: #f9aca6;--ds-color-utility-warning-default: #f2c153;--ds-color-utility-warning-inverse: #f2c153;--ds-color-utility-success-default: #0b6f4d;--ds-color-utility-success-inverse: #8eceb9}*,*:before,*:after{box-sizing:border-box}@media(prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}}*:focus-visible{outline:0}*:focus-visible{outline:0}:focus:not(:focus-visible){outline:3px solid transparent}:host{display:inline-block;width:100%;margin:0;padding:0;vertical-align:middle}:host ::slotted(auro-menuoption),:host ::slotted([auro-menuoption]){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}`;
27
+ var styleCss$2 = i$5`:root{--ds-asset-font-circular-family-name: "AS Circular";--ds-asset-font-circular-filename: "ASCircularWeb";--ds-asset-font-circular-weight-light: "-Light";--ds-asset-font-circular-weight-medium: "-Medium";--ds-asset-font-circular-weight-book: "-Book";--ds-border-radius: 0.375rem;--ds-size-25: 0.125rem;--ds-size-50: 0.25rem;--ds-size-75: 0.375rem;--ds-size-100: 0.5rem;--ds-size-150: 0.75rem;--ds-size-200: 1rem;--ds-size-250: 1.25rem;--ds-size-300: 1.5rem;--ds-size-400: 2rem;--ds-size-500: 2.5rem;--ds-size-600: 3rem;--ds-size-700: 3.5rem;--ds-size-800: 4rem;--ds-size-900: 4.5rem;--ds-size-1000: 5rem;--ds-unitless-scale-20: 0.25;--ds-unitless-scale-50: 0.5;--ds-unitless-scale-100: 1;--ds-unitless-scale-140: 1.4;--ds-unitless-scale-150: 1.5;--ds-unitless-scale-200: 2;--ds-unitless-scale-300: 3;--ds-unitless-scale-350: 3.5;--ds-animation-default-property: all;--ds-animation-default-duration: 0.3s;--ds-animation-default-timing: ease-out;--ds-depth-overlay: 200;--ds-depth-modal: 300;--ds-depth-tooltip: 400;--ds-elevation-100: 0px 0px 5px rgba(0, 0, 0, 0.15);--ds-elevation-200: 0px 0px 10px rgba(0, 0, 0, 0.15);--ds-elevation-300: 0px 0px 15px rgba(0, 0, 0, 0.2);--ds-grid-breakpoint-xs: 320px;--ds-grid-breakpoint-sm: 576px;--ds-grid-breakpoint-md: 768px;--ds-grid-breakpoint-lg: 1024px;--ds-grid-breakpoint-xl: 1232px;--ds-grid-column-xs: 6;--ds-grid-column-sm: 12;--ds-grid-column-md: 12;--ds-grid-column-lg: 12;--ds-grid-column-xl: 12;--ds-grid-gutter-xs: 0.5rem;--ds-grid-gutter-sm: 1rem;--ds-grid-gutter-md: 1.5rem;--ds-grid-gutter-lg: 1.5rem;--ds-grid-gutter-xl: 2rem;--ds-grid-margin-xs: 1rem;--ds-grid-margin-sm: 1rem;--ds-grid-margin-md: 1.5rem;--ds-grid-margin-lg: 2rem;--ds-grid-margin-xl: 2rem;--ds-font-family-default: "AS Circular", Helvetica Neue, Arial, sans-serif;--ds-font-family-mono: Menlo, Monaco, Consolas, "Courier New", monospace;--ds-text-heading-300-weight: 300;--ds-text-heading-300-px: 18px;--ds-text-heading-300-size: 1.125rem;--ds-text-heading-300-height: 1.625rem;--ds-text-heading-300-height-px: 26px;--ds-text-heading-400-weight: 300;--ds-text-heading-400-px: 20px;--ds-text-heading-400-size: 1.25rem;--ds-text-heading-400-height: 1.625rem;--ds-text-heading-400-height-px: 26px;--ds-text-heading-500-weight: 300;--ds-text-heading-500-px-breakpoint-sm: 22px;--ds-text-heading-500-px-breakpoint-md: 24px;--ds-text-heading-500-px-breakpoint-lg: 24px;--ds-text-heading-500-size-breakpoint-sm: 1.375rem;--ds-text-heading-500-size-breakpoint-md: 1.5rem;--ds-text-heading-500-size-breakpoint-lg: 1.5rem;--ds-text-heading-500-height-breakpoint-sm: 1.625rem;--ds-text-heading-500-height-breakpoint-px-sm: 26px;--ds-text-heading-500-height-breakpoint-md: 1.875rem;--ds-text-heading-500-height-breakpoint-px-md: 30px;--ds-text-heading-500-height-breakpoint-lg: 2rem;--ds-text-heading-500-height-breakpoint-px-lg: 32px;--ds-text-heading-600-weight: 300;--ds-text-heading-600-px-breakpoint-sm: 26px;--ds-text-heading-600-px-breakpoint-md: 28px;--ds-text-heading-600-px-breakpoint-lg: 28px;--ds-text-heading-600-size-breakpoint-sm: 1.625rem;--ds-text-heading-600-size-breakpoint-md: 1.75rem;--ds-text-heading-600-size-breakpoint-lg: 1.75rem;--ds-text-heading-600-height-breakpoint-sm: 1.875rem;--ds-text-heading-600-height-breakpoint-px-sm: 30px;--ds-text-heading-600-height-breakpoint-md: 2.125rem;--ds-text-heading-600-height-breakpoint-px-md: 34px;--ds-text-heading-600-height-breakpoint-lg: 2.25rem;--ds-text-heading-600-height-breakpoint-px-lg: 36px;--ds-text-heading-700-weight: 500;--ds-text-heading-700-px-breakpoint-sm: 28px;--ds-text-heading-700-px-breakpoint-md: 32px;--ds-text-heading-700-px-breakpoint-lg: 36px;--ds-text-heading-700-size-breakpoint-sm: 1.75rem;--ds-text-heading-700-size-breakpoint-md: 2rem;--ds-text-heading-700-size-breakpoint-lg: 2.25rem;--ds-text-heading-700-height-breakpoint-sm: 2.125rem;--ds-text-heading-700-height-breakpoint-px-sm: 34px;--ds-text-heading-700-height-breakpoint-md: 2.375rem;--ds-text-heading-700-height-breakpoint-px-md: 38px;--ds-text-heading-700-height-breakpoint-lg: 2.75rem;--ds-text-heading-700-height-breakpoint-px-lg: 44px;--ds-text-heading-800-weight: 500;--ds-text-heading-800-px-breakpoint-sm: 32px;--ds-text-heading-800-px-breakpoint-md: 36px;--ds-text-heading-800-px-breakpoint-lg: 40px;--ds-text-heading-800-size-breakpoint-sm: 2rem;--ds-text-heading-800-size-breakpoint-md: 2.25rem;--ds-text-heading-800-size-breakpoint-lg: 2.5rem;--ds-text-heading-800-height-breakpoint-sm: 2.375rem;--ds-text-heading-800-height-breakpoint-px-sm: 38px;--ds-text-heading-800-height-breakpoint-md: 2.625rem;--ds-text-heading-800-height-breakpoint-px-md: 42px;--ds-text-heading-800-height-breakpoint-lg: 3rem;--ds-text-heading-800-height-breakpoint-px-lg: 48px;--ds-text-heading-default-weight: 500;--ds-text-heading-default-margin: 0;--ds-text-heading-default-spacing: -0.2px;--ds-text-heading-medium-weight: 300;--ds-text-heading-display-weight: 100;--ds-text-heading-display-px-breakpoint-sm: 44px;--ds-text-heading-display-px-breakpoint-md: 48px;--ds-text-heading-display-px-breakpoint-lg: 56px;--ds-text-heading-display-size-breakpoint-sm: 2.75rem;--ds-text-heading-display-size-breakpoint-md: 3rem;--ds-text-heading-display-size-breakpoint-lg: 3.5rem;--ds-text-heading-display-height-breakpoint-sm: 3.375rem;--ds-text-heading-display-height-breakpoint-px-sm: 54px;--ds-text-heading-display-height-breakpoint-md: 3.75rem;--ds-text-heading-display-height-breakpoint-px-md: 60px;--ds-text-heading-display-height-breakpoint-lg: 4.25rem;--ds-text-heading-display-height-breakpoint-px-lg: 68px;--ds-text-body-default-weight: 500;--ds-text-body-size-xxs: 0.625rem;--ds-text-body-size-xs: 0.75rem;--ds-text-body-size-sm: 0.875rem;--ds-text-body-size-default: 1rem;--ds-text-body-size-lg: 1.125rem;--ds-text-body-height-xs: 1rem;--ds-text-body-height-sm: 1.25rem;--ds-text-body-height-default: 1.5rem;--ds-text-body-height-lg: 1.625rem;--ds-color-alert-notification-default: #0074c8;--ds-color-alert-warning-default: #de750c;--ds-color-alert-error-default: #df0b37;--ds-color-alert-success-default: #00805d;--ds-color-alert-advisory-default: #fff0cd;--ds-color-alert-bkg-success-default: #ddf6e8;--ds-color-alert-bkg-error-default: #ffedf1;--ds-color-background-primary-100-default: #ffffff;--ds-color-background-primary-100-inverse: #0e2b4f;--ds-color-background-primary-200-default: #f7f7f7;--ds-color-background-primary-200-inverse: #194069;--ds-color-background-primary-300-default: #e4e8ec;--ds-color-background-primary-300-inverse: #265688;--ds-color-background-primary-400-default: #dddddd;--ds-color-background-primary-400-inverse: #326aa5;--ds-color-background-success-default: #eef8f5;--ds-color-background-success-inverse: #173c30;--ds-color-background-error-default: #fff4f4;--ds-color-background-error-inverse: #74110e;--ds-color-background-warning-default: #fef8e9;--ds-color-background-warning-inverse: #5d4514;--ds-color-background-info-default: #f0f7fd;--ds-color-background-info-inverse: #193d73;--ds-color-background-subtle-default: #f7f8fa;--ds-color-background-subtle-inverse: #2a2a2a;--ds-color-background-accent-default: #ebfafd;--ds-color-background-accent-inverse: #275b72;--ds-color-background-emphasis-default: #c9e0f7;--ds-color-background-emphasis-inverse: #225296;--ds-color-background-scrimmed-default: rgba(0, 0, 0, 0.5);--ds-color-background-lightest: #ffffff;--ds-color-background-lighter: #f7f7f7;--ds-color-background-darker: #01426a;--ds-color-background-darkest: #00274a;--ds-color-background-gradient-default: linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.5));--ds-color-base-white: #ffffff;--ds-color-base-white-100: rgba(255, 255, 255, 0.03);--ds-color-base-white-200: rgba(255, 255, 255, 0.06);--ds-color-base-white-300: rgba(255, 255, 255, 0.12);--ds-color-base-white-400: rgba(255, 255, 255, 0.25);--ds-color-base-white-500: rgba(255, 255, 255, 0.5);--ds-color-base-white-opacity-50: rgba(255, 255, 255, 0.5);--ds-color-base-white-opacity-40: rgba(255, 255, 255, 0.4);--ds-color-base-white-opacity-0: rgba(255, 255, 255, 0);--ds-color-base-black: #000000;--ds-color-base-black-100: rgba(0, 0, 0, 0.03);--ds-color-base-black-200: rgba(0, 0, 0, 0.06);--ds-color-base-black-300: rgba(0, 0, 0, 0.12);--ds-color-base-black-400: rgba(0, 0, 0, 0.25);--ds-color-base-black-500: rgba(0, 0, 0, 0.5);--ds-color-base-black-opacity-15: rgba(0, 0, 0, 0.15);--ds-color-base-blue-100: #f0f7fd;--ds-color-base-blue-200: #c9e0f7;--ds-color-base-blue-300: #a0c9f1;--ds-color-base-blue-400: #79b2ec;--ds-color-base-blue-500: #5398e6;--ds-color-base-blue-600: #3b7fd2;--ds-color-base-blue-700: #2c67b5;--ds-color-base-blue-800: #225296;--ds-color-base-blue-900: #193d73;--ds-color-base-blue-1000: #102a51;--ds-color-base-cyan-100: #ebfafd;--ds-color-base-cyan-200: #a8e9f7;--ds-color-base-cyan-300: #6ad5ef;--ds-color-base-cyan-400: #56bbde;--ds-color-base-cyan-500: #4aa2c7;--ds-color-base-cyan-600: #3e89aa;--ds-color-base-cyan-700: #32718e;--ds-color-base-cyan-800: #275b72;--ds-color-base-cyan-900: #1d4658;--ds-color-base-cyan-1000: #12303d;--ds-color-base-error-100: #fff4f4;--ds-color-base-error-200: #f9aca6;--ds-color-base-error-300: #f16359;--ds-color-base-error-400: #cc1816;--ds-color-base-error-500: #74110e;--ds-color-base-gray-100: #f7f7f7;--ds-color-base-gray-200: #d4d4d4;--ds-color-base-gray-300: #c5c5c5;--ds-color-base-gray-400: #adadad;--ds-color-base-gray-500: #959595;--ds-color-base-gray-600: #7e7e7e;--ds-color-base-gray-700: #676767;--ds-color-base-gray-800: #525252;--ds-color-base-gray-900: #3d3d3d;--ds-color-base-gray-1000: #2a2a2a;--ds-color-base-green-100: #f3faf7;--ds-color-base-green-200: #000000;--ds-color-base-green-300: #addbca;--ds-color-base-green-400: #7ec6ac;--ds-color-base-green-500: #51ae8c;--ds-color-base-green-600: #459578;--ds-color-base-green-700: #3a7d64;--ds-color-base-green-800: #306854;--ds-color-base-green-900: #285545;--ds-color-base-green-1000: #1f4436;--ds-color-base-lime-100: #f5fbeb;--ds-color-base-lime-200: #d8efb4;--ds-color-base-lime-300: #badd81;--ds-color-base-lime-400: #a2c270;--ds-color-base-lime-500: #8ca761;--ds-color-base-lime-600: #778f53;--ds-color-base-lime-700: #647845;--ds-color-base-lime-800: #53643a;--ds-color-base-lime-900: #44522f;--ds-color-base-lime-1000: #364126;--ds-color-base-navy-100: #f2f7fb;--ds-color-base-navy-200: #cfe0ef;--ds-color-base-navy-300: #acc9e2;--ds-color-base-navy-400: #89b2d4;--ds-color-base-navy-500: #6899c6;--ds-color-base-navy-600: #4a82b7;--ds-color-base-navy-700: #326aa5;--ds-color-base-navy-800: #265688;--ds-color-base-navy-900: #194069;--ds-color-base-navy-1000: #0e2b4f;--ds-color-base-neutral-100: #f7f8fa;--ds-color-base-neutral-200: #e4e8ec;--ds-color-base-neutral-300: #ccd2db;--ds-color-base-neutral-400: #afb9c6;--ds-color-base-neutral-500: #939fad;--ds-color-base-neutral-600: #7e8894;--ds-color-base-neutral-700: #6a717c;--ds-color-base-neutral-800: #585e67;--ds-color-base-neutral-900: #484d55;--ds-color-base-neutral-1000: #393d43;--ds-color-base-pink-100: #fff7f8;--ds-color-base-pink-200: #fde0e6;--ds-color-base-pink-300: #fcc2ce;--ds-color-base-pink-400: #fa9db0;--ds-color-base-pink-500: #f7738e;--ds-color-base-pink-600: #e45472;--ds-color-base-pink-700: #bf475f;--ds-color-base-pink-800: #a03b50;--ds-color-base-pink-900: #833142;--ds-color-base-pink-1000: #692734;--ds-color-base-purple-100: #fbf8fe;--ds-color-base-purple-200: #ede3fd;--ds-color-base-purple-300: #ddc9fb;--ds-color-base-purple-400: #c9a9f8;--ds-color-base-purple-500: #b588f5;--ds-color-base-purple-600: #a268f3;--ds-color-base-purple-700: #8d47f0;--ds-color-base-purple-800: #7633d7;--ds-color-base-purple-900: #622ab2;--ds-color-base-purple-1000: #4e228d;--ds-color-base-red-100: #fef7f5;--ds-color-base-red-200: #fae2da;--ds-color-base-red-300: #f5c7b8;--ds-color-base-red-400: #f0a68d;--ds-color-base-red-500: #e9815e;--ds-color-base-red-600: #e35c2f;--ds-color-base-red-700: #d03a08;--ds-color-base-red-800: #ae3007;--ds-color-base-red-900: #902806;--ds-color-base-red-1000: #732005;--ds-color-base-success-100: #eef8f5;--ds-color-base-success-200: #8eceb9;--ds-color-base-success-300: #40a080;--ds-color-base-success-400: #0b6f4d;--ds-color-base-success-500: #173c30;--ds-color-base-turquoise-100: #f7fafa;--ds-color-base-turquoise-200: #dfe9ea;--ds-color-base-turquoise-300: #c2d5d6;--ds-color-base-turquoise-400: #9fbdbe;--ds-color-base-turquoise-500: #7ba5a6;--ds-color-base-turquoise-600: #5c8f91;--ds-color-base-turquoise-700: #3d7a7d;--ds-color-base-turquoise-800: #21686a;--ds-color-base-turquoise-900: #085659;--ds-color-base-turquoise-1000: #004447;--ds-color-base-yellow-100: #fff9df;--ds-color-base-yellow-200: #ffe87e;--ds-color-base-yellow-300: #f9ce06;--ds-color-base-yellow-400: #d6b622;--ds-color-base-yellow-500: #b49d35;--ds-color-base-yellow-600: #96873e;--ds-color-base-yellow-700: #7c7140;--ds-color-base-yellow-800: #665e3d;--ds-color-base-yellow-900: #524e38;--ds-color-base-yellow-1000: #403d30;--ds-color-base-warning-100: #fef8e9;--ds-color-base-warning-200: #f2c153;--ds-color-base-warning-300: #c49432;--ds-color-base-warning-400: #8e6b22;--ds-color-base-warning-500: #5d4514;--ds-color-state-error-100: #ff999b;--ds-color-state-error-500: #df0b37;--ds-color-state-success-100: #69cf96;--ds-color-state-success-500: #00805d;--ds-color-state-warning-500: #de750c;--ds-color-border-primary-default: #585e67;--ds-color-border-primary-inverse: #afb9c6;--ds-color-border-secondary-default: #939fad;--ds-color-border-secondary-inverse: #7e8894;--ds-color-border-tertiary-default: #dddddd;--ds-color-border-tertiary-inverse: #676767;--ds-color-border-error-default: #cc1816;--ds-color-border-error-inverse: #f9aca6;--ds-color-border-divider-default: rgba(0, 0, 0, 0.12);--ds-color-border-divider-inverse: rgba(255, 255, 255, 0.25);--ds-color-border-subtle-default: #f0f7fd;--ds-color-border-subtle-inverse: #326aa5;--ds-color-border-emphasis-default: #194069;--ds-color-border-emphasis-inverse: #f2f7fb;--ds-color-border-accent-default: #badd81;--ds-color-border-accent-inverse: #a2c270;--ds-color-border-success-default: #0b6f4d;--ds-color-border-success-inverse: #8eceb9;--ds-color-border-warning-default: #c49432;--ds-color-border-warning-inverse: #f2c153;--ds-color-border-info-default: #326aa5;--ds-color-border-info-inverse: #89b2d4;--ds-color-border-ui-default-default: #2c67b5;--ds-color-border-ui-default-inverse: #56bbde;--ds-color-border-ui-hover-default: #193d73;--ds-color-border-ui-hover-inverse: #a8e9f7;--ds-color-border-ui-active-default: #225296;--ds-color-border-ui-active-inverse: #6ad5ef;--ds-color-border-ui-focus-default: #2c67b5;--ds-color-border-ui-focus-inverse: #56bbde;--ds-color-border-ui-disabled-default: #adadad;--ds-color-border-ui-disabled-inverse: #7e7e7e;--ds-color-border-active-default: #0074c8;--ds-color-border-active-inverse: #00cff0;--ds-color-border-disabled-default: #d4d4d4;--ds-color-border-focus-default: #959595;--ds-color-brand-neutral-100: #f7f8fa;--ds-color-brand-neutral-200: #e4e8ec;--ds-color-brand-neutral-300: #ccd2db;--ds-color-brand-neutral-400: #afb9c6;--ds-color-brand-neutral-500: #939fad;--ds-color-brand-neutral-600: #7e8894;--ds-color-brand-neutral-700: #6a717c;--ds-color-brand-neutral-800: #585e67;--ds-color-brand-neutral-900: #484d55;--ds-color-brand-neutral-1000: #393d43;--ds-color-brand-gray-100: #f7f7f7;--ds-color-brand-gray-200: #dddddd;--ds-color-brand-gray-300: #c5c5c5;--ds-color-brand-gray-400: #adadad;--ds-color-brand-gray-500: #959595;--ds-color-brand-gray-600: #7e7e7e;--ds-color-brand-gray-700: #676767;--ds-color-brand-gray-800: #525252;--ds-color-brand-gray-900: #3d3d3d;--ds-color-brand-gray-1000: #2a2a2a;--ds-color-brand-red-100: #fef7f5;--ds-color-brand-red-200: #fae2da;--ds-color-brand-red-300: #f5c7b8;--ds-color-brand-red-400: #f0a68d;--ds-color-brand-red-500: #e9815e;--ds-color-brand-red-600: #e35c2f;--ds-color-brand-red-700: #d03a08;--ds-color-brand-red-800: #ae3007;--ds-color-brand-red-900: #902806;--ds-color-brand-red-1000: #732005;--ds-color-brand-yellow-100: #fff9df;--ds-color-brand-yellow-200: #ffe87e;--ds-color-brand-yellow-300: #f9ce06;--ds-color-brand-yellow-400: #d6b622;--ds-color-brand-yellow-500: #b49d35;--ds-color-brand-yellow-600: #96873e;--ds-color-brand-yellow-700: #7c7140;--ds-color-brand-yellow-800: #665e3d;--ds-color-brand-yellow-900: #524e38;--ds-color-brand-yellow-1000: #403d30;--ds-color-brand-lime-100: #f5fbeb;--ds-color-brand-lime-200: #d8efb4;--ds-color-brand-lime-300: #badd81;--ds-color-brand-lime-400: #a2c270;--ds-color-brand-lime-500: #8ca761;--ds-color-brand-lime-600: #778f53;--ds-color-brand-lime-700: #647845;--ds-color-brand-lime-800: #53643a;--ds-color-brand-lime-900: #44522f;--ds-color-brand-lime-1000: #364126;--ds-color-brand-green-100: #f3faf7;--ds-color-brand-green-200: #d4ece4;--ds-color-brand-green-300: #addbca;--ds-color-brand-green-400: #7ec6ac;--ds-color-brand-green-500: #51ae8c;--ds-color-brand-green-600: #459578;--ds-color-brand-green-700: #3a7d64;--ds-color-brand-green-800: #306854;--ds-color-brand-green-900: #285545;--ds-color-brand-green-1000: #1f4436;--ds-color-brand-turquoise-100: #f7fafa;--ds-color-brand-turquoise-200: #dfe9ea;--ds-color-brand-turquoise-300: #c2d5d6;--ds-color-brand-turquoise-400: #9fbdbe;--ds-color-brand-turquoise-500: #7ba5a6;--ds-color-brand-turquoise-600: #5c8f91;--ds-color-brand-turquoise-700: #3d7a7d;--ds-color-brand-turquoise-800: #21686a;--ds-color-brand-turquoise-900: #085659;--ds-color-brand-turquoise-1000: #004447;--ds-color-brand-cyan-100: #ebfafd;--ds-color-brand-cyan-200: #a8e9f7;--ds-color-brand-cyan-300: #6ad5ef;--ds-color-brand-cyan-400: #56bbde;--ds-color-brand-cyan-500: #4aa2c7;--ds-color-brand-cyan-600: #3e89aa;--ds-color-brand-cyan-700: #32718e;--ds-color-brand-cyan-800: #275b72;--ds-color-brand-cyan-900: #1d4658;--ds-color-brand-cyan-1000: #12303d;--ds-color-brand-blue-100: #f0f7fd;--ds-color-brand-blue-200: #c9e0f7;--ds-color-brand-blue-300: #a0c9f1;--ds-color-brand-blue-400: #79b2ec;--ds-color-brand-blue-500: #5398e6;--ds-color-brand-blue-600: #3b7fd2;--ds-color-brand-blue-700: #2c67b5;--ds-color-brand-blue-800: #225296;--ds-color-brand-blue-900: #193d73;--ds-color-brand-blue-1000: #102a51;--ds-color-brand-navy-100: #f2f7fb;--ds-color-brand-navy-200: #cfe0ef;--ds-color-brand-navy-300: #acc9e2;--ds-color-brand-navy-400: #89b2d4;--ds-color-brand-navy-500: #6899c6;--ds-color-brand-navy-600: #4a82b7;--ds-color-brand-navy-700: #326aa5;--ds-color-brand-navy-800: #265688;--ds-color-brand-navy-900: #194069;--ds-color-brand-navy-1000: #0e2b4f;--ds-color-brand-purple-100: #fbf8fe;--ds-color-brand-purple-200: #ede3fd;--ds-color-brand-purple-300: #ddc9fb;--ds-color-brand-purple-400: #c9a9f8;--ds-color-brand-purple-500: #b588f5;--ds-color-brand-purple-600: #a268f3;--ds-color-brand-purple-700: #8d47f0;--ds-color-brand-purple-800: #7633d7;--ds-color-brand-purple-900: #622ab2;--ds-color-brand-purple-1000: #4e228d;--ds-color-brand-pink-100: #fff7f8;--ds-color-brand-pink-200: #fde0e6;--ds-color-brand-pink-300: #fcc2ce;--ds-color-brand-pink-400: #fa9db0;--ds-color-brand-pink-500: #f7738e;--ds-color-brand-pink-600: #e45472;--ds-color-brand-pink-700: #bf475f;--ds-color-brand-pink-800: #a03b50;--ds-color-brand-pink-900: #833142;--ds-color-brand-pink-1000: #692734;--ds-color-brand-midnight-100: #c1daf0;--ds-color-brand-midnight-200: #569ed7;--ds-color-brand-midnight-300: #156fad;--ds-color-brand-midnight-400: #01426a;--ds-color-brand-midnight-500: #00274a;--ds-color-brand-atlas-100: #cde6ff;--ds-color-brand-atlas-200: #6bb7fb;--ds-color-brand-atlas-300: #2492eb;--ds-color-brand-atlas-400: #0074c8;--ds-color-brand-atlas-500: #054687;--ds-color-brand-atlas-400-opacity-20: rgba(0, 116, 200, 0.2);--ds-color-brand-breeze-100: #c0f7ff;--ds-color-brand-breeze-200: #5de3f7;--ds-color-brand-breeze-300: #00cff0;--ds-color-brand-breeze-400: #099dc5;--ds-color-brand-breeze-500: #0b5575;--ds-color-brand-breeze-300-opacity-30: rgba(0, 207, 240, 0.3);--ds-color-brand-tropical-100: #e2ffcd;--ds-color-brand-tropical-200: #d0fba6;--ds-color-brand-tropical-300: #c0e585;--ds-color-brand-tropical-400: #91be62;--ds-color-brand-tropical-500: #5e8741;--ds-color-brand-alpine-100: #bcaae6;--ds-color-brand-alpine-200: #9e73ea;--ds-color-brand-alpine-300: #8439ef;--ds-color-brand-alpine-400: #631db8;--ds-color-brand-alpine-500: #39115c;--ds-color-brand-flamingo-100: #ffebee;--ds-color-brand-flamingo-200: #ffc0ca;--ds-color-brand-flamingo-300: #ff94a7;--ds-color-brand-flamingo-400: #f65b7b;--ds-color-brand-flamingo-500: #b82b47;--ds-color-brand-canyon-100: #ffcab6;--ds-color-brand-canyon-200: #f99574;--ds-color-brand-canyon-300: #f26135;--ds-color-brand-canyon-400: #de3e09;--ds-color-brand-canyon-500: #b83302;--ds-color-brand-goldcoast-100: #fff0cd;--ds-color-brand-goldcoast-200: #ffdb67;--ds-color-brand-goldcoast-300: #ffd200;--ds-color-brand-goldcoast-400: #e5ad07;--ds-color-brand-goldcoast-500: #b88624;--ds-color-brand-goldgray-100: #c5c1bf;--ds-color-brand-goldgray-200: #726e6c;--ds-color-brand-gold-100: #ccbc94;--ds-color-brand-gold-200: #7f682e;--ds-color-brand-emerald: #139142;--ds-color-brand-sapphire: #015daa;--ds-color-brand-ruby: #a41d4a;--ds-color-brand-lounge: #01426a;--ds-color-brand-loungeplus: #53b390;--ds-color-container-accent-default: #f5fbeb;--ds-color-container-accent-inverse: #badd81;--ds-color-container-emphasis-default: #ebfafd;--ds-color-container-emphasis-inverse: #6ad5ef;--ds-color-container-error-default: #fff4f4;--ds-color-container-error-inverse: #74110e;--ds-color-container-info-default: #f0f7fd;--ds-color-container-info-inverse: #193d73;--ds-color-container-primary-default: #ffffff;--ds-color-container-primary-inverse: #0e2b4f;--ds-color-container-secondary-default: #f7f7f7;--ds-color-container-secondary-inverse: #194069;--ds-color-container-subtle-default: #f7f8fa;--ds-color-container-subtle-inverse: #393d43;--ds-color-container-success-default: #eef8f5;--ds-color-container-success-inverse: #173c30;--ds-color-container-tertiary-default: rgba(0, 0, 0, 0.03);--ds-color-container-tertiary-inverse: rgba(255, 255, 255, 0.06);--ds-color-container-warning-default: #fef8e9;--ds-color-container-warning-inverse: #5d4514;--ds-color-container-ui-primary-active-default: #225296;--ds-color-container-ui-primary-active-inverse: #6ad5ef;--ds-color-container-ui-primary-default-default: #2c67b5;--ds-color-container-ui-primary-default-inverse: #56bbde;--ds-color-container-ui-primary-disabled-default: #a0c9f1;--ds-color-container-ui-primary-disabled-inverse: #275b72;--ds-color-container-ui-primary-focus-default: #2c67b5;--ds-color-container-ui-primary-focus-inverse: #56bbde;--ds-color-container-ui-primary-hover-default: #193d73;--ds-color-container-ui-primary-hover-inverse: #a8e9f7;--ds-color-container-ui-secondary-active-default: #f0f7fd;--ds-color-container-ui-secondary-active-inverse: rgba(255, 255, 255, 0.06);--ds-color-container-ui-secondary-default-default: #ffffff;--ds-color-container-ui-secondary-default-inverse: rgba(255, 255, 255, 0.03);--ds-color-container-ui-secondary-disabled-default: #f7f7f7;--ds-color-container-ui-secondary-disabled-inverse: rgba(255, 255, 255, 0.12);--ds-color-container-ui-secondary-focus-default: #ffffff;--ds-color-container-ui-secondary-focus-inverse: rgba(255, 255, 255, 0.03);--ds-color-container-ui-secondary-hover-default: rgba(0, 0, 0, 0.03);--ds-color-container-ui-secondary-hover-inverse: rgba(255, 255, 255, 0.12);--ds-color-container-ui-tertiary-active-default: rgba(0, 0, 0, 0.06);--ds-color-container-ui-tertiary-active-inverse: rgba(255, 255, 255, 0.06);--ds-color-container-ui-tertiary-default-default: rgba(0, 0, 0, 0.03);--ds-color-container-ui-tertiary-default-inverse: rgba(255, 255, 255, 0.12);--ds-color-container-ui-tertiary-disabled-default: rgba(0, 0, 0, 0.03);--ds-color-container-ui-tertiary-disabled-inverse: rgba(255, 255, 255, 0.25);--ds-color-container-ui-tertiary-focus-default: rgba(0, 0, 0, 0.03);--ds-color-container-ui-tertiary-focus-inverse: rgba(255, 255, 255, 0.12);--ds-color-container-ui-tertiary-hover-default: rgba(0, 0, 0, 0.12);--ds-color-container-ui-tertiary-hover-inverse: rgba(255, 255, 255, 0.25);--ds-color-icon-primary-default: #676767;--ds-color-icon-primary-inverse: #f7f7f7;--ds-color-icon-secondary-default: #7e8894;--ds-color-icon-secondary-inverse: #ccd2db;--ds-color-icon-tertiary-default: #afb9c6;--ds-color-icon-tertiary-inverse: #939fad;--ds-color-icon-emphasis-default: #2a2a2a;--ds-color-icon-emphasis-inverse: #ffffff;--ds-color-icon-accent-default: #a2c270;--ds-color-icon-accent-inverse: #badd81;--ds-color-icon-info-default: #326aa5;--ds-color-icon-info-inverse: #89b2d4;--ds-color-icon-error-default: #cc1816;--ds-color-icon-error-inverse: #f9aca6;--ds-color-icon-warning-default: #c49432;--ds-color-icon-warning-inverse: #f2c153;--ds-color-icon-success-default: #40a080;--ds-color-icon-success-inverse: #8eceb9;--ds-color-icon-subtle-default: #a0c9f1;--ds-color-icon-subtle-inverse: #326aa5;--ds-color-icon-ui-primary-default-default: #2c67b5;--ds-color-icon-ui-primary-default-inverse: #56bbde;--ds-color-icon-ui-primary-hover-default: #193d73;--ds-color-icon-ui-primary-hover-inverse: #a8e9f7;--ds-color-icon-ui-primary-active-default: #225296;--ds-color-icon-ui-primary-active-inverse: #6ad5ef;--ds-color-icon-ui-primary-disabled-default: #adadad;--ds-color-icon-ui-primary-disabled-inverse: #7e7e7e;--ds-color-icon-ui-primary-focus-default: #2c67b5;--ds-color-icon-ui-primary-focus-inverse: #56bbde;--ds-color-icon-ui-secondary-active-default: #676767;--ds-color-icon-ui-secondary-active-inverse: #c5c5c5;--ds-color-icon-ui-secondary-default-default: #7e7e7e;--ds-color-icon-ui-secondary-default-inverse: #adadad;--ds-color-icon-ui-secondary-disabled-default: #adadad;--ds-color-icon-ui-secondary-disabled-inverse: #7e7e7e;--ds-color-icon-ui-secondary-focus-default: #7e7e7e;--ds-color-icon-ui-secondary-focus-inverse: #adadad;--ds-color-icon-ui-secondary-hover-default: #525252;--ds-color-icon-ui-secondary-hover-inverse: #dddddd;--ds-color-icon-brand-red-default: #d03a08;--ds-color-icon-brand-red-inverse: #e9815e;--ds-color-icon-brand-yellow-default: #7c7140;--ds-color-icon-brand-yellow-inverse: #f9ce06;--ds-color-icon-brand-pink-default: #bf475f;--ds-color-icon-brand-pink-inverse: #f7738e;--ds-color-icon-brand-purple-default: #8d47f0;--ds-color-icon-brand-purple-inverse: #b588f5;--ds-color-icon-brand-lime-default: #647845;--ds-color-icon-brand-lime-inverse: #badd81;--ds-color-icon-brand-green-default: #3a7d64;--ds-color-icon-brand-green-inverse: #51ae8c;--ds-color-icon-brand-turquoise-default: #3d7a7d;--ds-color-icon-brand-turquoise-inverse: #7ba5a6;--ds-color-icon-brand-navy-default: #265688;--ds-color-icon-brand-navy-inverse: #6899c6;--ds-color-icon-brand-blue-default: #2c67b5;--ds-color-icon-brand-blue-inverse: #5398e6;--ds-color-icon-brand-cyan-default: #32718e;--ds-color-icon-brand-cyan-inverse: #6ad5ef;--ds-color-icon-brand-gray-default: #676767;--ds-color-icon-brand-gray-inverse: #c5c5c5;--ds-color-icon-brand-neutral-default: #6a717c;--ds-color-icon-brand-neutral-inverse: #afb9c6;--ds-color-icon-disabled-default: rgba(0, 0, 0, 0.15);--ds-color-text-primary-default: #2a2a2a;--ds-color-text-primary-inverse: #ffffff;--ds-color-text-secondary-default: #525252;--ds-color-text-secondary-inverse: #dddddd;--ds-color-text-tertiary-default: #6a717c;--ds-color-text-tertiary-inverse: #adadad;--ds-color-text-error-default: #cc1816;--ds-color-text-error-inverse: #f9aca6;--ds-color-text-emphasis-default: #265688;--ds-color-text-emphasis-inverse: #cfe0ef;--ds-color-text-accent-default: #647845;--ds-color-text-accent-inverse: #badd81;--ds-color-text-info-default: #326aa5;--ds-color-text-info-inverse: #acc9e2;--ds-color-text-subtle-default: #32718e;--ds-color-text-subtle-inverse: #56bbde;--ds-color-text-success-default: #0b6f4d;--ds-color-text-success-inverse: #8eceb9;--ds-color-text-ui-active-default: #225296;--ds-color-text-ui-active-inverse: #6ad5ef;--ds-color-text-ui-default-default: #2c67b5;--ds-color-text-ui-default-inverse: #56bbde;--ds-color-text-ui-disabled-default: #adadad;--ds-color-text-ui-disabled-inverse: #7e7e7e;--ds-color-text-ui-focus-default: #2c67b5;--ds-color-text-ui-focus-inverse: #56bbde;--ds-color-text-ui-hover-default: #193d73;--ds-color-text-ui-hover-inverse: #a8e9f7;--ds-color-text-link-default: #0074c8;--ds-color-text-link-inverse: #00cff0;--ds-color-tier-alaska-mvp-default: #726e6c;--ds-color-tier-alaska-mvp-inverse: #c5c1bf;--ds-color-tier-alaska-mvpgold-default: #7f682e;--ds-color-tier-alaska-mvpgold-inverse: #c5c1bf;--ds-color-tier-alaska-mvpgold75k-default: #7f682e;--ds-color-tier-alaska-mvpgold75k-inverse: #c5c1bf;--ds-color-tier-alaska-mvpgold100k-default: #7f682e;--ds-color-tier-alaska-mvpgold100k-inverse: #c5c1bf;--ds-color-tier-alaska-lounge: #01426a;--ds-color-tier-alaska-loungeplus: #53b390;--ds-color-tier-fare-business-default: #005154;--ds-color-tier-fare-business-inverse: #9fbdbe;--ds-color-tier-fare-economy-default: #2c67b5;--ds-color-tier-fare-economy-inverse: #a0c9f1;--ds-color-tier-fare-first-class-default: #002c4e;--ds-color-tier-fare-first-class-inverse: #89b2d4;--ds-color-tier-fare-saver-default: #4aa2c7;--ds-color-tier-fare-saver-inverse: #a8e9f7;--ds-color-tier-oneworld-emerald: #139142;--ds-color-tier-oneworld-sapphire: #015daa;--ds-color-tier-oneworld-ruby: #a41d4a;--ds-color-ui-default-default: #0074c8;--ds-color-ui-default-inverse: #00cff0;--ds-color-ui-hover-default: #054687;--ds-color-ui-hover-inverse: #5de3f7;--ds-color-ui-active-default: #054687;--ds-color-ui-active-inverse: #5de3f7;--ds-color-ui-disabled-default: rgba(0, 116, 200, 0.2);--ds-color-ui-bkg-default-default: rgba(0, 0, 0, 0.03);--ds-color-ui-bkg-default-inverse: rgba(255, 255, 255, 0.03);--ds-color-ui-bkg-hover-default: rgba(0, 0, 0, 0.06);--ds-color-ui-bkg-hover-inverse: rgba(255, 255, 255, 0.06);--ds-color-utility-blue-default: #79b2ec;--ds-color-utility-blue-inverse: #c9e0f7;--ds-color-utility-cyan-default: #6ad5ef;--ds-color-utility-cyan-inverse: #a8e9f7;--ds-color-utility-green-default: #7ec6ac;--ds-color-utility-green-inverse: #addbca;--ds-color-utility-gray-default: #adadad;--ds-color-utility-gray-inverse: #dddddd;--ds-color-utility-lime-default: #badd81;--ds-color-utility-lime-inverse: #d8efb4;--ds-color-utility-navy-default: #265688;--ds-color-utility-navy-inverse: #acc9e2;--ds-color-utility-neutral-default: #7e8894;--ds-color-utility-neutral-inverse: #ccd2db;--ds-color-utility-pink-default: #f7738e;--ds-color-utility-pink-inverse: #fcc2ce;--ds-color-utility-purple-default: #8d47f0;--ds-color-utility-purple-inverse: #ddc9fb;--ds-color-utility-red-default: #e35c2f;--ds-color-utility-red-inverse: #f0a68d;--ds-color-utility-turquoise-default: #5c8f91;--ds-color-utility-turquoise-inverse: #9fbdbe;--ds-color-utility-yellow-default: #f9ce06;--ds-color-utility-yellow-inverse: #ffe87e;--ds-color-utility-error-default: #cc1816;--ds-color-utility-error-inverse: #f9aca6;--ds-color-utility-warning-default: #f2c153;--ds-color-utility-warning-inverse: #f2c153;--ds-color-utility-success-default: #0b6f4d;--ds-color-utility-success-inverse: #8eceb9}*,*:before,*:after{box-sizing:border-box}@media(prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}}*:focus-visible{outline:0}*:focus-visible{outline:0}:focus:not(:focus-visible){outline:3px solid transparent}:host{display:inline-block;width:100%;margin:0;padding:0;vertical-align:middle}:host ::slotted(auro-menuoption),:host ::slotted([auro-menuoption]),:host auro-menuoption[loadingplaceholder]{padding-left:calc(var(--ds-size-150, 0.75rem) + 24px + var(--ds-size-100, 0.5rem))}:host ::slotted([selected]){padding-left:0}:host ::slotted(hr){box-sizing:content-box !important;height:0 !important;overflow:visible !important;margin:var(--ds-size-100, 0.5rem) 0 !important;border-width:0 !important;border-top-width:1px !important;border-top-style:solid !important}:host([nocheckmark]) ::slotted(auro-menuoption),:host([nocheckmark]) auro-menuoption[loadingplaceholder]{padding-left:var(--ds-size-200, 1rem)}:host([root]){overflow-y:auto}[loadingplaceholder]{color:var(--ds-color-text-secondary-default, #525252)}[loadingplaceholder].empty{opacity:0;position:absolute}[loadingplaceholder] slot[name=loadingIcon]{vertical-align:middle;line-height:1;display:inline-block}[loadingplaceholder] slot[name=loadingIcon]::slotted(*){margin-right:var(--ds-size-150, 0.75rem)}`;
28
28
 
29
29
  var colorCss$2 = i$5`:host ::slotted(hr){border-top-color:var(--ds-auro-menu-divider-color) !important}`;
30
30
 
@@ -100,1074 +100,1126 @@ class AuroLibraryRuntimeUtils {
100
100
  }
101
101
  }
102
102
 
103
- /**
104
- * @license
105
- * Copyright 2020 Google LLC
106
- * SPDX-License-Identifier: BSD-3-Clause
107
- */
108
- const a=Symbol.for(""),o$1=t=>{if(t?.r===a)return t?._$litStatic$},s=t=>({_$litStatic$:t,r:a}),i$1=(t,...r)=>({_$litStatic$:r.reduce(((r,e,a)=>r+(t=>{if(void 0!==t._$litStatic$)return t._$litStatic$;throw Error(`Value passed to 'literal' function must be a 'literal' result: ${t}. Use 'unsafeStatic' to pass non-literal values, but\n take care to ensure page security.`)})(e)+t[a+1]),t[0]),r:a}),l=new Map,n=t=>(r,...e)=>{const a=e.length;let s,i;const n=[],u=[];let c,$=0,f=!1;for(;$<a;){for(c=r[$];$<a&&void 0!==(i=e[$],s=o$1(i));)c+=s+r[++$],f=!0;$!==a&&u.push(i),n.push(c),$++;}if($===a&&n.push(r[a]),f){const t=n.join("$$lit$$");void 0===(r=l.get(t))&&(n.raw=n,l.set(t,r=n)),e=u;}return t(r,...e)},u=n(x);
109
-
110
- var styleCss$1 = i$5`:host{display:flex;align-items:center;padding:var(--ds-size-50, 0.25rem) var(--ds-size-200, 1rem) var(--ds-size-50, 0.25rem) 0;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent}:host slot{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}:host [auro-icon]{--ds-auro-icon-size: var(--ds-size-300, 1.5rem);margin-right:var(--ds-size-150, 0.75rem);margin-left:var(--ds-size-100, 0.5rem)}:host ::slotted(.nestingSpacer){display:inline-block;width:var(--ds-size-300, 1.5rem)}:host ::slotted(strong){font-weight:700}:host([hidden]){display:none}:host([static]){pointer-events:none}:host([disabled]:hover){cursor:auto}:host([disabled]){user-select:none;pointer-events:none}`;
111
-
112
- var colorCss$1 = i$5`:host{background-color:var(--ds-auro-menuoption-container-color);color:var(--ds-auro-menuoption-text-color)}:host svg{fill:var(--ds-auro-menuoption-icon-color) !important}:host([disabled]){--ds-auro-menuoption-text-color: var(--ds-color-text-ui-disabled-default, #adadad)}:host(:hover),:host(.active){--ds-auro-menuoption-container-color: var(--ds-color-container-ui-secondary-hover-default, rgba(0, 0, 0, 0.03))}:host([selected]){--ds-auro-menuoption-container-color: var(--ds-color-container-ui-primary-default-default, #2c67b5);--ds-auro-menuoption-text-color: var(--ds-color-text-primary-inverse, #ffffff);--ds-auro-menuoption-icon-color: var(--ds-color-icon-emphasis-inverse, #ffffff)}`;
113
-
114
- // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
103
+ // Copyright (c) 2021 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
115
104
  // See LICENSE in the project root for license information.
116
105
 
117
106
 
118
- class AuroDependencyVersioning {
119
-
120
- /**
121
- * Generates a unique string to be used for child auro element naming.
122
- * @private
123
- * @param {string} baseName - Defines the first part of the unique element name.
124
- * @param {string} version - Version of the component that will be appended to the baseName.
125
- * @returns {string} - Unique string to be used for naming.
126
- */
127
- generateElementName(baseName, version) {
128
- let result = baseName;
129
-
130
- result += '-';
131
- result += version.replace(/[.]/g, '_');
132
-
133
- return result;
134
- }
135
-
136
- /**
137
- * Generates a unique string to be used for child auro element naming.
138
- * @param {string} baseName - Defines the first part of the unique element name.
139
- * @param {string} version - Version of the component that will be appended to the baseName.
140
- * @returns {string} - Unique string to be used for naming.
141
- */
142
- generateTag(baseName, version, tagClass) {
143
- const elementName = this.generateElementName(baseName, version);
144
- const tag = i$1`${s(elementName)}`;
145
-
146
- if (!customElements.get(elementName)) {
147
- customElements.define(elementName, class extends tagClass {});
148
- }
149
-
150
- return tag;
151
- }
152
- }
153
-
107
+ // See https://git.io/JJ6SJ for "How to document your components using JSDoc"
154
108
  /**
155
- * @license
156
- * Copyright 2017 Google LLC
157
- * SPDX-License-Identifier: BSD-3-Clause
109
+ * The auro-menu element provides users a way to select from a list of options.
110
+ * @attr {Object} optionSelected - Specifies the current selected menuOption.
111
+ * @attr {String} matchWord - Specifies a string used to highlight matched string parts in options.
112
+ * @attr {Boolean} disabled - When true, the entire menu and all options are disabled;
113
+ * @attr {Boolean} noCheckmark - When true, selected option will not show the checkmark.
114
+ * @attr {Boolean} loading - When true, displays a loading state using the loadingIcon and loadingText slots if provided.
115
+ * @attr {String} value - Value selected for the menu.
116
+ * @prop {Boolean} hasLoadingPlaceholder - Indicates whether the menu has a loadingIcon or loadingText to render when in a loading state.
117
+ * @event auroMenu-selectedOption - Notifies that a new menuoption selection has been made.
118
+ * @event selectedOption - (DEPRECATED) Notifies that a new menuoption selection has been made.
119
+ * @event auroMenu-activatedOption - Notifies that a menuoption has been made `active`.
120
+ * @event auroMenuActivatedOption - (DEPRECATED) Notifies that a menuoption has been made `active`.
121
+ * @event auroMenu-selectValueFailure - Notifies that a an attempt to select a menuoption by matching a value has failed.
122
+ * @event auroMenuSelectValueFailure - (DEPRECATED) Notifies that a an attempt to select a menuoption by matching a value has failed.
123
+ * @event auroMenu-customEventFired - Notifies that a custom event has been fired.
124
+ * @event auroMenuCustomEventFired - (DEPRECATED) Notifies that a custom event has been fired.
125
+ * @event auroMenu-selectValueReset - Notifies that the component value has been reset.
126
+ * @event auroMenu-loadingChange - Notifies when the loading attribute is changed.
127
+ * @slot loadingText - Text to show while loading attribute is set
128
+ * @slot loadingIcon - Icon to show while loading attribute is set
129
+ * @slot - Slot for insertion of menu options.
158
130
  */
159
- 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)}}
160
131
 
161
- /**
162
- * @license
163
- * Copyright 2018 Google LLC
164
- * SPDX-License-Identifier: BSD-3-Clause
165
- */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}});
132
+ /* eslint-disable no-magic-numbers, max-lines */
166
133
 
167
- /**
168
- * @license
169
- * Copyright 2018 Google LLC
170
- * SPDX-License-Identifier: BSD-3-Clause
171
- */const o=o=>o??E;
134
+ class AuroMenu extends r {
135
+ constructor() {
136
+ super();
137
+ this.value = undefined;
138
+ this.optionSelected = undefined;
139
+ this.matchWord = undefined;
140
+ this.noCheckmark = false;
141
+ this.optionActive = undefined;
142
+ this.loading = false;
172
143
 
173
- // Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
174
- // See LICENSE in the project root for license information.
144
+ /**
145
+ * @private
146
+ */
147
+ this.rootMenu = true;
175
148
 
149
+ /**
150
+ * @private
151
+ */
152
+ this.runtimeUtils = new AuroLibraryRuntimeUtils();
176
153
 
177
- /**
178
- * @attr {Boolean} hidden - If present, the component will be hidden both visually and from screen readers
179
- * @attr {Boolean} hiddenVisually - If present, the component will be hidden visually, but still read by screen readers
180
- * @attr {Boolean} hiddenAudible - If present, the component will be hidden from screen readers, but seen visually
181
- */
154
+ /**
155
+ * @private
156
+ */
157
+ this.nestingSpacer = '<span class="nestingSpacer"></span>';
182
158
 
183
- class AuroElement extends r {
159
+ /**
160
+ * @private
161
+ */
162
+ this.loadingSlots = null;
163
+ }
184
164
 
185
- // function to define props used within the scope of this component
186
165
  static get properties() {
187
166
  return {
188
- hidden: { type: Boolean,
189
- reflect: true },
190
- hiddenVisually: { type: Boolean,
191
- reflect: true },
192
- hiddenAudible: { type: Boolean,
193
- reflect: true },
167
+ noCheckmark: {
168
+ type: Boolean,
169
+ reflect: true
170
+ },
171
+ disabled: {
172
+ type: Boolean,
173
+ reflect: true
174
+ },
175
+ loading: {
176
+ type: Boolean,
177
+ reflect: true
178
+ },
179
+ optionSelected: { type: Object },
180
+ optionActive: { type: Object },
181
+ matchWord: { type: String },
182
+ value: { type: String }
194
183
  };
195
184
  }
196
185
 
186
+ static get styles() {
187
+ return [
188
+ styleCss$2,
189
+ colorCss$2,
190
+ tokensCss$1
191
+ ];
192
+ }
193
+
197
194
  /**
198
- * @private Function that determines state of aria-hidden
195
+ * This will register this element with the browser.
196
+ * @param {string} [name="auro-menu"] - The name of element that you want to register to.
197
+ *
198
+ * @example
199
+ * AuroMenu.register("custom-menu") // this will register this element to <custom-menu/>
200
+ *
199
201
  */
200
- hideAudible(value) {
201
- if (value) {
202
- return 'true'
203
- }
204
-
205
- return 'false'
202
+ static register(name = "auro-menu") {
203
+ AuroLibraryRuntimeUtils.prototype.registerComponent(name, AuroMenu);
206
204
  }
207
- }
208
-
209
- 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>"};
210
205
 
211
- /* eslint-disable no-underscore-dangle, jsdoc/no-undefined-types, jsdoc/require-param-description */
206
+ /**
207
+ * Passes the noCheckmark attribute to all nested auro-menuoptions.
208
+ * @private
209
+ * @returns {void}
210
+ */
211
+ handleNoCheckmarkAttr() {
212
+ if (this.noCheckmark) {
213
+ const menus = this.querySelectorAll('auro-menu, [auro-menu]');
212
214
 
213
- const _fetchMap = new Map();
215
+ menus.forEach((menu) => {
216
+ menu.setAttribute('noCheckmark', '');
217
+ });
214
218
 
215
- /**
216
- * A callback to parse Response body.
217
- *
218
- * @callback ResponseParser
219
- * @param {Fetch.Response} response
220
- * @returns {Promise}
221
- */
219
+ const options = this.querySelectorAll('auro-menuoption, [auro-menuoption]');
222
220
 
223
- /**
224
- * A minimal in-memory map to de-duplicate Fetch API media requests.
225
- *
226
- * @param {String} uri
227
- * @param {Object} [options={}]
228
- * @param {ResponseParser} [options.responseParser=(response) => response.text()]
229
- * @returns {Promise}
230
- */
231
- const cacheFetch = (uri, options = {}) => {
232
- const responseParser = options.responseParser || ((response) => response.text());
233
- if (!_fetchMap.has(uri)) {
234
- _fetchMap.set(uri, fetch(uri).then(responseParser));
221
+ options.forEach((option) => {
222
+ option.setAttribute('noCheckmark', '');
223
+ });
224
+ }
235
225
  }
236
- return _fetchMap.get(uri);
237
- };
238
226
 
239
- var styleCss = i$5`*,*:before,*:after{box-sizing:border-box}@media(prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}}*:focus-visible{outline:0}*:focus-visible{outline:0}:focus:not(:focus-visible){outline:3px solid transparent}.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock,:host{display:block}.util_displayFlex{display:flex}.util_displayHidden,:host([hidden]:not(:focus):not(:active)){display:none}.util_displayHiddenVisually,:host([hiddenVisually]:not(:focus):not(:active)){position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}.ico_squareLarge{fill:currentColor;height:var(--auro-size-lg, var(--ds-size-300, 1.5rem))}.ico_squareSmall{fill:currentColor;height:.6rem}.ico_squareMed{fill:currentColor;height:var(--auro-size-md, var(--ds-size-200, 1rem))}.ico_squareSml{fill:currentColor;height:var(--auro-size-sm, var(--ds-size-150, 0.75rem))}:host{color:currentColor;vertical-align:middle;line-height:1;display:inline-block}:host .logo{color:var(--ds-color-brand-midnight-400, #01426a)}svg{min-width:var(--ds-auro-icon-size, 1.5rem) !important;width:var(--ds-auro-icon-size, 1.5rem) !important;height:var(--ds-auro-icon-size, 1.5rem) !important}.label{display:flex;align-items:flex-start}.label svg{margin:0 var(--ds-size-50, 0.25rem)}.labelContainer{line-height:1.8}`;
227
+ firstUpdated() {
228
+ // Add the tag name as an attribute if it is different than the component name
229
+ this.runtimeUtils.handleComponentTagRename(this, 'auro-menu');
240
230
 
241
- // Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
242
- // See LICENSE in the project root for license information.
231
+ this.addEventListener('keydown', this.handleKeyDown);
243
232
 
233
+ this.loadingSlots = this.querySelectorAll("[slot='loadingText'], [slot='loadingIcon']");
234
+ }
244
235
 
245
- // See https://git.io/JJ6SJ for "How to document your components using JSDoc"
246
- /**
247
- * @attr {Boolean} onDark - Set value for on-dark version of auro-icon
248
- * @slot - Hidden from visibility, used for a11y if icon description is needed
249
- */
236
+ updated(changedProperties) {
237
+ if (changedProperties.has('matchWord')) {
238
+ this.markOptions();
239
+ }
250
240
 
251
- // build the component class
252
- class BaseIcon extends AuroElement {
253
- constructor() {
254
- super();
255
- this.onDark = false;
256
- }
241
+ if (changedProperties.has('value')) {
242
+ this.selectByValue(this.value);
243
+ }
257
244
 
258
- // function to define props used within the scope of this component
259
- static get properties() {
260
- return {
261
- ...super.properties,
262
- onDark: {
263
- type: Boolean,
264
- reflect: true
265
- },
245
+ if (changedProperties.has('disabled')) {
246
+ const options = Array.from(this.querySelectorAll('auro-menuoption, [auro-menuoption]'));
266
247
 
267
- /**
268
- * @private
269
- */
270
- svg: {
271
- attribute: false,
272
- reflect: true
248
+ for (const element of options) {
249
+ element.disabled = this.disabled;
273
250
  }
274
- };
275
- }
251
+ }
276
252
 
277
- static get styles() {
278
- return i$5`
279
- ${styleCss}
280
- `;
253
+ if (changedProperties.has('loading')) {
254
+ const event = new CustomEvent("auroMenu-loadingChange", {
255
+ detail: {
256
+ loading: this.loading,
257
+ hasLoadingPlaceholder:
258
+ this.hasLoadingPlaceholder
259
+ }
260
+ });
261
+ this.setAttribute("aria-busy", this.hasAttribute("loading"));
262
+ this.dispatchEvent(event);
263
+ }
281
264
  }
282
265
 
283
266
  /**
284
- * Async function to fetch requested icon from npm CDN.
285
267
  * @private
286
- * @param {string} category - Icon category.
287
- * @param {string} name - Icon name.
288
- * @returns {SVGElement} DOM - Ready HTML to be appended.
268
+ * @param {Object} option - The menuoption to check for interactive state.
269
+ * @returns {Boolean} Returns true if the option is interactive.
289
270
  */
290
- async fetchIcon(category, name) {
291
- let iconHTML = '';
292
-
293
- if (category === 'logos') {
294
- iconHTML = await cacheFetch(`${this.uri}/${category}/${name}.svg`);
295
- } else {
296
- iconHTML = await cacheFetch(`${this.uri}/icons/${category}/${name}.svg`);
297
- }
271
+ optionInteractive(option) {
272
+ return !option.hasAttribute('hidden') && !option.hasAttribute('disabled') && !option.hasAttribute('static');
273
+ }
298
274
 
299
- const dom = new DOMParser().parseFromString(iconHTML, 'text/html');
275
+ /**
276
+ * @private
277
+ * @returns {void} When called will update the DOM with visible suggest text matches.
278
+ */
279
+ markOptions() {
280
+ if (this.items && this.items.length > 0 && (this.matchWord && this.matchWord.length > 0)) {
300
281
 
301
- return dom.body.querySelector('svg');
302
- }
282
+ // Escape special regex characters
283
+ const escapedWord = this.matchWord.replace(/[.*+?^${}()|[\]\\]/gu, '\\$&');
303
284
 
304
- // lifecycle function
305
- async firstUpdated() {
306
- if (!this.customSvg) {
307
- const svg = await this.fetchIcon(this.category, this.name);
285
+ // Global, case-insensitive, unicode matching regex pattern
286
+ const regexWord = new RegExp(escapedWord, 'giu');
308
287
 
309
- if (svg) {
310
- this.svg = svg;
311
- } else if (!svg) {
312
- const penDOM = new DOMParser().parseFromString(error.svg, 'text/html');
288
+ this.items.forEach((item) => {
289
+ if (this.optionInteractive(item) && !item.hasAttribute('persistent')) {
290
+ const nested = item.querySelectorAll('.nestingSpacer');
291
+ const nestingSpacerBundle = [...nested].map(() => this.nestingSpacer).join('');
313
292
 
314
- this.svg = penDOM.body.firstChild;
315
- }
293
+ item.innerHTML = nestingSpacerBundle + item.textContent.replace(regexWord, (match) => `<strong>${match}</strong>`);
294
+ }
295
+ });
316
296
  }
317
297
  }
318
- }
319
-
320
- var tokensCss = i$5`:host{--ds-auro-icon-color: var(--ds-color-icon-primary-default, $ds-color-icon-primary-default);--ds-auro-icon-size: var(--ds-size-300, $ds-size-300)}`;
321
-
322
- var colorCss = i$5`:host{color:var(--ds-auro-icon-color)}:host([customColor]){color:inherit}:host(:not([onDark])[accent]){--ds-auro-icon-color: var(--ds-color-icon-accent-default, #a2c270)}:host(:not([onDark])[disabled]){--ds-auro-icon-color: var(--ds-color-icon-ui-primary-disabled-default, #adadad)}:host(:not([onDark])[emphasis]){--ds-auro-icon-color: var(--ds-color-icon-emphasis-default, #2a2a2a)}:host(:not([onDark])[error]){--ds-auro-icon-color: var(--ds-color-icon-error-default, #cc1816)}:host(:not([onDark])[info]){--ds-auro-icon-color: var(--ds-color-icon-info-default, #326aa5)}:host(:not([onDark])[secondary]){--ds-auro-icon-color: var(--ds-color-icon-secondary-default, #7e8894)}:host(:not([onDark])[subtle]){--ds-auro-icon-color: var(--ds-color-icon-subtle-default, #a0c9f1)}:host(:not([onDark])[success]){--ds-auro-icon-color: var(--ds-color-icon-success-default, #40a080)}:host(:not([onDark])[tertiary]){--ds-auro-icon-color: var(--ds-color-icon-tertiary-default, #afb9c6)}:host(:not([onDark])[warning]){--ds-auro-icon-color: var(--ds-color-icon-warning-default, #c49432)}:host([onDark]){--ds-auro-icon-color: var(--ds-color-icon-primary-inverse, #f7f7f7)}:host([onDark][accent]){--ds-auro-icon-color: var(--ds-color-icon-accent-inverse, #badd81)}:host([onDark][disabled]){--ds-auro-icon-color: var(--ds-color-icon-ui-primary-disabled-inverse, #7e7e7e)}:host([onDark][emphasis]){--ds-auro-icon-color: var(--ds-color-icon-emphasis-inverse, #ffffff)}:host([onDark][error]){--ds-auro-icon-color: var(--ds-color-icon-error-inverse, #f9aca6)}:host([onDark][info]){--ds-auro-icon-color: var(--ds-color-icon-info-inverse, #89b2d4)}:host([onDark][secondary]){--ds-auro-icon-color: var(--ds-color-icon-secondary-inverse, #ccd2db)}:host([onDark][subtle]){--ds-auro-icon-color: var(--ds-color-icon-subtle-inverse, #326aa5)}:host([onDark][success]){--ds-auro-icon-color: var(--ds-color-icon-success-inverse, #8eceb9)}:host([onDark][tertiary]){--ds-auro-icon-color: var(--ds-color-icon-tertiary-inverse, #939fad)}:host([onDark][warning]){--ds-auro-icon-color: var(--ds-color-icon-warning-inverse, #f2c153)}`;
323
-
324
- // Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
325
- // See LICENSE in the project root for license information.
326
-
327
-
328
- // See https://git.io/JJ6SJ for "How to document your components using JSDoc"
329
- /**
330
- * auro-icon provides users a way to use the Auro Icons by simply passing in the category and name.
331
- *
332
- * @attr {String} category - The category of the icon you are looking for. See https://auro.alaskaair.com/icons/usage.
333
- * @attr {String} name - The name of the icon you are looking for without the file extension. See https://auro.alaskaair.com/icons/usage
334
- * @attr {Boolean} customColor - Removes primary selector.
335
- * @attr {Boolean} customSvg - When true, auro-icon will render a custom SVG inside the default slot.
336
- * @attr {Boolean} label - Exposes content in slot as icon label.
337
- * @attr {Boolean} primary - DEPRECATED: Sets the icon to use the baseline primary icon style.
338
- * @attr {Boolean} accent - Sets the icon to use the accent style.
339
- * @attr {Boolean} emphasis - Sets the icon to use the emphasis style.
340
- * @attr {Boolean} disabled - Sets the icon to use the disabled style.
341
- * @attr {Boolean} error - Sets the icon to use the error style.
342
- * @attr {Boolean} info - Sets the icon to use the info style.
343
- * @attr {Boolean} secondary - Sets the icon to use the secondary style.
344
- * @attr {Boolean} tertiary - Sets the icon to use the tertiary style.
345
- * @attr {Boolean} subtle - Sets the icon to use the subtle style.
346
- * @attr {Boolean} success - Sets the icon to use the success style.
347
- * @attr {Boolean} warning - Sets the icon to use the warning style.
348
- * @attr {String} ariaHidden - Set aria-hidden value. Default is `true`. Option is `false`.
349
- * @attr {String} uri - Set the uri for CDN used when fetching icons
350
- * @slot - Hidden from visibility, used for a11y if icon description is needed.
351
- * @slot svg - Used for custom SVG content.
352
- */
353
-
354
- // build the component class
355
- class AuroIcon extends BaseIcon {
356
- constructor() {
357
- super();
358
-
359
- this.uri = 'https://cdn.jsdelivr.net/npm/@alaskaairux/icons@latest/dist';
360
298
 
361
- this.privateDefaults();
299
+ /**
300
+ * Reset the menu and all options.
301
+ */
302
+ resetOptionsStates() {
303
+ this.optionSelected = undefined;
304
+ if (this.items) {
305
+ this.items.forEach((item) => {
306
+ item.classList.remove('active');
307
+ item.removeAttribute('selected');
308
+ });
309
+ }
362
310
  }
363
311
 
364
312
  /**
365
- * Internal Defaults.
313
+ * Set the attributes on the selected menuoption, the menu value and stored option.
314
+ * @param {Object} option - The menuoption to be selected.
366
315
  * @private
367
- * @returns {void}
368
316
  */
369
- privateDefaults() {
370
- this.accent = false;
371
- this.customColor = false;
372
- this.customSvg = false;
373
- this.disabled = false;
374
- this.emphasis = false;
375
- this.error = false;
376
- this.info = false;
377
- this.label = false;
378
- this.primary = false;
379
- this.secondary = false;
380
- this.subtle = false;
381
- this.success = false;
382
- this.tertiary = false;
383
- this.warning = false;
384
- this.runtimeUtils = new AuroLibraryRuntimeUtils();
385
- }
386
-
387
- // function to define props used within the scope of this component
388
- static get properties() {
389
- return {
390
- ...super.properties,
391
- accent: {
392
- type: Boolean,
393
- reflect: true
394
- },
395
- ariaHidden: {
396
- type: String,
397
- reflect: true
398
- },
399
- category: {
400
- type: String,
401
- reflect: true
402
- },
403
- customColor: {
404
- type: Boolean
405
- },
406
- customSvg: {
407
- type: Boolean
408
- },
409
- disabled: {
410
- type: Boolean,
411
- reflect: true
412
- },
413
- emphasis: {
414
- type: Boolean,
415
- reflect: true
416
- },
417
- error: {
418
- type: Boolean,
419
- reflect: true
420
- },
421
- info: {
422
- type: Boolean,
423
- reflect: true
424
- },
425
- label: {
426
- type: Boolean,
427
- reflect: true
428
- },
429
- name: {
430
- type: String,
431
- reflect: true
432
- },
433
- primary: {
434
- type: Boolean,
435
- reflect: true
436
- },
437
- secondary: {
438
- type: Boolean,
439
- reflect: true
440
- },
441
- subtle: {
442
- type: Boolean,
443
- reflect: true
444
- },
445
- success: {
446
- type: Boolean,
447
- reflect: true
448
- },
449
- tertiary: {
450
- type: Boolean,
451
- reflect: true
452
- },
453
- uri: {
454
- type: String
455
- },
456
- warning: {
457
- type: Boolean,
458
- reflect: true
459
- }
460
- };
461
- }
317
+ handleLocalSelectState(option) {
318
+ option.setAttribute('selected', '');
319
+ option.classList.add('active');
320
+ option.ariaSelected = true;
462
321
 
463
- static get styles() {
464
- return [
465
- super.styles,
466
- i$5`${tokensCss}`,
467
- i$5`${styleCss}`,
468
- i$5`${colorCss}`
469
- ];
322
+ this.value = option.value;
323
+ this.optionSelected = option;
324
+ this.index = this.items.indexOf(option);
470
325
  }
471
326
 
472
327
  /**
473
- * This will register this element with the browser.
474
- * @param {string} [name="auro-icon"] - The name of element that you want to register to.
475
- *
476
- * @example
477
- * AuroIcon.register("custom-icon") // this will register this element to <custom-icon/>
478
- *
328
+ * Notify selection change.
329
+ * @private
330
+ * @return {void}
479
331
  */
480
- static register(name = "auro-icon") {
481
- AuroLibraryRuntimeUtils.prototype.registerComponent(name, AuroIcon);
482
- }
483
-
484
- connectedCallback() {
485
- super.connectedCallback();
332
+ notifySelectionChange() {
333
+ // this event needs to be removed after select and combobox are updated to use the new standard name
334
+ this.dispatchEvent(new CustomEvent('selectedOption', {
335
+ bubbles: true,
336
+ cancelable: false,
337
+ composed: true,
338
+ }));
486
339
 
487
- // Add the tag name as an attribute if it is different than the component name
488
- this.runtimeUtils.handleComponentTagRename(this, 'auro-icon');
340
+ this.dispatchEvent(new CustomEvent('auroMenu-selectedOption', {
341
+ bubbles: true,
342
+ cancelable: false,
343
+ composed: true,
344
+ }));
489
345
  }
490
346
 
491
347
  /**
492
- * @returns {void} Exposes CSS parts for styling from parent components.
348
+ * Process actions for making making a menuoption selection.
493
349
  */
494
- exposeCssParts() {
495
- this.setAttribute('exportparts', 'svg:iconSvg');
496
- }
350
+ makeSelection() {
351
+ if (!this.items) {
352
+ this.initItems();
353
+ }
497
354
 
498
- // function that renders the HTML and CSS into the scope of the component
499
- render() {
500
- const a11y = {
501
- 'labelContainer': true,
502
- 'util_displayHiddenVisually': !this.label
503
- };
355
+ if (this.items[this.index] && !this.items[this.index].hasAttribute('disabled')) {
356
+ this.resetOptionsStates();
504
357
 
505
- const classes = {
506
- 'label': this.label
507
- };
508
-
509
- return x`
510
- <div
511
- class="${e(classes)}"
512
- title="${o(this.title || undefined)}">
513
- <span aria-hidden="${o(this.ariaHidden ? this.ariaHidden : true)}" part="svg">
514
- ${this.customSvg ? x`
515
- <slot name="svg"></slot>
516
- ` : x`
517
- ${this.svg}
518
- `
519
- }
520
- </span>
521
-
522
- <div class="${e(a11y)}">
523
- <slot></slot>
524
- </div>
525
- </div>
526
- `;
527
- }
528
- }
529
-
530
- var iconVersion = '6.1.1';
358
+ if (this.index >= 0) {
359
+ const option = this.items[this.index];
531
360
 
532
- 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>"};
361
+ // only handle options that are not disabled, hidden or static
362
+ if (option && this.optionInteractive(option)) {
363
+ // fire custom event if defined otherwise make selection
364
+ if (option.hasAttribute('event')) {
365
+ this.dispatchEvent(new CustomEvent(option.getAttribute('event'), {
366
+ bubbles: true,
367
+ cancelable: false,
368
+ composed: true,
369
+ }));
533
370
 
534
- // Copyright (c) 2021 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
535
- // See LICENSE in the project root for license information.
371
+ // this event needs to be removed after select and combobox are updated to use the new standard name
372
+ this.dispatchEvent(new CustomEvent('auroMenuCustomEventFired', {
373
+ bubbles: true,
374
+ cancelable: false,
375
+ composed: true,
376
+ }));
536
377
 
378
+ this.dispatchEvent(new CustomEvent('auroMenu-customEventFired', {
379
+ bubbles: true,
380
+ cancelable: false,
381
+ composed: true,
382
+ }));
383
+ } else {
384
+ this.handleLocalSelectState(option);
385
+ }
386
+ }
387
+ }
388
+ }
537
389
 
538
- /**
539
- * The auro-menu element provides users a way to define a menu option.
540
- *
541
- * @attr {String} value - Specifies the value to be sent to a server.
542
- * @attr {String} noCheckmark - When true, selected option will not show the checkmark.
543
- * @attr {Boolean} disabled - When true specifies that the menuoption is disabled.
544
- * @attr {Boolean} selected - Specifies that an option is selected.
545
- * @event auroMenuOption-mouseover - Notifies that this option has been hovered over.
546
- * @slot Specifies text for an option, but is not the value.
547
- */
548
- class AuroMenuOption extends r {
549
- constructor() {
550
- super();
390
+ this.notifySelectionChange();
391
+ }
551
392
 
552
- /**
553
- * Generate unique names for dependency components.
554
- */
555
- const versioning = new AuroDependencyVersioning();
556
- this.iconTag = versioning.generateTag('auro-icon', iconVersion, AuroIcon);
393
+ /**
394
+ * Manage ArrowDown, ArrowUp and Enter keyboard events.
395
+ * @private
396
+ * @param {Object} event - Event object from the browser.
397
+ */
398
+ handleKeyDown(event) {
399
+ event.preventDefault();
557
400
 
558
- this.selected = false;
559
- this.nocheckmark = false;
560
- this.disabled = false;
401
+ // With ArrowDown/ArrowUp events, pass new value to selectNextItem()
402
+ // With Enter event, set value and apply attrs
403
+ switch (event.key) {
404
+ case "ArrowDown":
405
+ this.selectNextItem('down');
406
+ break;
561
407
 
562
- /**
563
- * @private
564
- */
565
- this.tabIndex = -1;
408
+ case "ArrowUp":
409
+ this.selectNextItem('up');
410
+ break;
566
411
 
567
- /**
568
- * @private
569
- */
570
- this.runtimeUtils = new AuroLibraryRuntimeUtils();
412
+ case "Enter":
413
+ this.makeSelection();
414
+ break;
415
+ }
571
416
  }
572
417
 
573
- static get properties() {
574
- return {
575
- nocheckmark: {
576
- type: Boolean,
577
- reflect: true
578
- },
579
- selected: {
580
- type: Boolean,
581
- reflect: true
582
- },
583
- disabled: {
584
- type: Boolean,
585
- reflect: true
586
- },
587
- value: {
588
- type: String,
589
- reflect: true
590
- },
591
- tabIndex: {
592
- type: Number,
593
- reflect: true
594
- }
595
- };
418
+ /**
419
+ * Initializes all menu options in the DOM. This must be re-run every time the options are changed.
420
+ * @private
421
+ */
422
+ initItems() {
423
+ this.items = Array.from(this.querySelectorAll('auro-menuoption, [auro-menuoption]'));
424
+ this.handleNoCheckmarkAttr();
596
425
  }
597
426
 
598
- static get styles() {
599
- return [
600
- styleCss$1,
601
- colorCss$1,
602
- tokensCss$1
603
- ];
427
+ /**
428
+ * Sets the index value of the selected item or first non-disabled menuoption.
429
+ * @private
430
+ */
431
+ getSelectedIndex() {
432
+ // find the first `selected` and not `disabled`, `hidden` or `static` option
433
+ const index = this.items.findIndex((option) => option.hasAttribute('selected') && this.optionInteractive(option));
434
+
435
+ if (index >= 0) {
436
+ this.index = index;
437
+ this.makeSelection();
438
+ }
604
439
  }
605
440
 
606
441
  /**
607
- * This will register this element with the browser.
608
- * @param {string} [name="auro-menuoption"] - The name of element that you want to register to.
609
- *
610
- * @example
611
- * AuroMenuOption.register("custom-menuoption") // this will register this element to <custom-menuoption/>
442
+ * Using value of current this.index evaluates index
443
+ * of next :focus to set based on array of this.items ignoring items
444
+ * with disabled attr.
612
445
  *
446
+ * The event.target is not used as the function needs to know where to go,
447
+ * versus knowing where it is.
448
+ * @param {String} moveDirection - Up or Down based on keyboard event.
613
449
  */
614
- static register(name = "auro-menuoption") {
615
- AuroLibraryRuntimeUtils.prototype.registerComponent(name, AuroMenuOption);
616
- }
450
+ selectNextItem(moveDirection) {
451
+ if (this.index >= 0) {
452
+ this.items[this.index].classList.remove('active');
617
453
 
618
- firstUpdated() {
619
- // Add the tag name as an attribute if it is different than the component name
620
- this.runtimeUtils.handleComponentTagRename(this, 'auro-menuoption');
454
+ // calculate which is the selection we should focus next
455
+ let increment = 0;
621
456
 
622
- this.setAttribute('role', 'option');
623
- this.setAttribute('aria-selected', 'false');
457
+ if (moveDirection === 'down') {
458
+ increment = 1;
459
+ } else if (moveDirection === 'up') {
460
+ increment = -1;
461
+ }
624
462
 
625
- this.addEventListener('mouseover', () => {
626
- this.dispatchEvent(new CustomEvent('auroMenuOption-mouseover', {
627
- bubbles: true,
628
- cancelable: false,
629
- composed: true,
630
- detail: this
631
- }));
632
- });
633
- }
463
+ this.index += increment;
634
464
 
635
- // observer for selected property changes
636
- updated(changedProperties) {
637
- if (changedProperties.has('selected')) {
638
- this.setAttribute('aria-selected', this.selected.toString());
465
+ // keep looping inside the array of options
466
+ if (this.index > this.items.length - 1) {
467
+ this.index = 0;
468
+ } else if (this.index < 0) {
469
+ this.index = this.items.length - 1;
470
+ }
471
+
472
+ // check if new index is disabled, static or hidden, if so, execute again
473
+ if (!this.optionInteractive(this.items[this.index])) {
474
+ this.selectNextItem(moveDirection);
475
+ } else {
476
+ // apply focus to new index
477
+ this.updateActiveOption(this.index);
478
+ }
479
+ } else {
480
+ this.index = 0;
481
+
482
+ if (this.items[this.index].hasAttribute('hidden') || this.items[this.index].hasAttribute('disabled')) {
483
+ this.selectNextItem(moveDirection);
484
+ } else {
485
+ this.updateActiveOption(this.index);
486
+ }
639
487
  }
640
488
  }
641
489
 
642
490
  /**
643
- * Generates an HTML element containing an SVG icon based on the provided `svgContent`.
644
- *
491
+ * Used for applying indentation to each level of nested menu.
645
492
  * @private
646
- * @param {string} svgContent - The SVG content to be embedded.
647
- * @returns {Element} The HTML element containing the SVG icon.
493
+ * @param {String} menu - Root level menu object.
648
494
  */
649
- generateIconHtml(svgContent) {
650
- const dom = new DOMParser().parseFromString(svgContent, 'text/html');
651
- const svg = dom.body.firstChild;
652
-
653
- svg.setAttribute('slot', 'svg');
495
+ handleNestedMenus(menu) {
496
+ const nestedMenus = menu.querySelectorAll('auro-menu, [auro-menu');
654
497
 
655
- return u`<${this.iconTag} customColor customSvg slot="icon">${svg}</${this.iconTag}>`;
656
- }
498
+ if (nestedMenus.length === 0) {
499
+ return;
500
+ }
657
501
 
658
- render() {
659
- return u`
660
- ${this.selected && !this.nocheckmark ? this.generateIconHtml(checkmarkIcon.svg) : undefined}
661
- <slot></slot>
662
- `;
663
- }
664
- }
502
+ nestedMenus.forEach((nestedMenu) => {
503
+ const options = nestedMenu.querySelectorAll(':scope > auro-menuoption, :scope > [auro-menuoption');
665
504
 
666
- // Copyright (c) 2021 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
667
- // See LICENSE in the project root for license information.
505
+ options.forEach((option) => {
506
+ option.innerHTML = this.nestingSpacer + option.innerHTML;
507
+ });
668
508
 
509
+ this.handleNestedMenus(nestedMenu);
510
+ });
511
+ }
669
512
 
670
- // See https://git.io/JJ6SJ for "How to document your components using JSDoc"
671
- /**
672
- * The auro-menu element provides users a way to select from a list of options.
673
- * @attr {Object} optionSelected - Specifies the current selected menuOption.
674
- * @attr {String} matchWord - Specifies the a string used to highlight matched string parts in options.
675
- * @attr {Boolean} disabled - When true, the entire menu and all options are disabled;
676
- * @attr {Boolean} noCheckmark - When true, selected option will not show the checkmark.
677
- * @attr {String} value - Value selected for the menu.
678
- * @event auroMenu-selectedOption - Notifies that a new menuoption selection has been made.
679
- * @event selectedOption - (DEPRECATED) Notifies that a new menuoption selection has been made.
680
- * @event auroMenu-activatedOption - Notifies that a menuoption has been made `active`.
681
- * @event auroMenuActivatedOption - (DEPRECATED) Notifies that a menuoption has been made `active`.
682
- * @event auroMenu-selectValueFailure - Notifies that a an attempt to select a menuoption by matching a value has failed.
683
- * @event auroMenuSelectValueFailure - (DEPRECATED) Notifies that a an attempt to select a menuoption by matching a value has failed.
684
- * @event auroMenu-customEventFired - Notifies that a custom event has been fired.
685
- * @event auroMenuCustomEventFired - (DEPRECATED) Notifies that a custom event has been fired.
686
- * @event auroMenu-selectValueReset - Notifies that the component value has been reset.
687
- * @slot Slot for insertion of menu options.
688
- */
513
+ /**
514
+ * Method to apply `selected` attribute to `menuoption` via `value`.
515
+ * @private
516
+ * @param {String} value - Must match a unique `menuoption` value.
517
+ */
518
+ selectByValue(value) {
519
+ let valueMatch = false;
520
+ if (!this.items) {
521
+ this.initItems();
522
+ }
689
523
 
690
- /* eslint-disable no-magic-numbers, max-lines */
524
+ this.index = undefined;
691
525
 
692
- class AuroMenu extends r {
693
- constructor() {
694
- super();
695
- this.value = undefined;
696
- this.optionSelected = undefined;
697
- this.matchWord = undefined;
698
- this.noCheckmark = false;
699
- this.optionActive = undefined;
526
+ if (this.value && this.value.length > 0) {
527
+ for (let index = 0; index < this.items.length; index += 1) {
528
+ if (this.items[index].value === value) {
529
+ valueMatch = true;
530
+ this.index = index;
531
+ }
532
+ }
700
533
 
701
- /**
702
- * @private
703
- */
704
- this.rootMenu = true;
534
+ if (!valueMatch) {
535
+ // reset the menu to no selection
536
+ this.index = undefined;
705
537
 
706
- /**
707
- * @private
708
- */
709
- this.runtimeUtils = new AuroLibraryRuntimeUtils();
538
+ // this event needs to be removed after select and combobox are updated to use the new standard name
539
+ this.dispatchEvent(new CustomEvent('auroMenuSelectValueFailure', {
540
+ bubbles: true,
541
+ cancelable: false,
542
+ composed: true,
543
+ }));
710
544
 
711
- /**
712
- * @private
713
- */
714
- this.nestingSpacer = '<span class="nestingSpacer"></span>';
545
+ this.dispatchEvent(new CustomEvent('auroMenu-selectValueFailure', {
546
+ bubbles: true,
547
+ cancelable: false,
548
+ composed: true,
549
+ }));
550
+ } else {
551
+ this.makeSelection();
552
+ }
553
+ } else {
554
+ this.resetOptionsStates();
555
+
556
+ this.dispatchEvent(new CustomEvent('auroMenu-selectValueReset', {
557
+ bubbles: true,
558
+ cancelable: false,
559
+ composed: true,
560
+ }));
561
+ }
715
562
  }
716
563
 
717
- static get properties() {
718
- return {
719
- noCheckmark: {
720
- type: Boolean,
721
- reflect: true
722
- },
723
- disabled: {
724
- type: Boolean,
725
- reflect: true
726
- },
727
- optionSelected: { type: Object },
728
- optionActive: { type: Object },
729
- matchWord: { type: String },
730
- value: { type: String }
731
- };
564
+ /**
565
+ * Used to make the active state for options follow mouseover.
566
+ * @param {Number} index - Index of the menuoption that will be made active.
567
+ * @private
568
+ */
569
+ updateActiveOption(index) {
570
+ this.items.forEach((item) => {
571
+ item.classList.remove('active');
572
+ });
573
+ this.items[index].classList.add('active');
574
+ this.optionActive = this.items[index];
575
+
576
+ this.dispatchEvent(new CustomEvent('auroMenuActivatedOption', {
577
+ bubbles: true,
578
+ cancelable: false,
579
+ composed: true,
580
+ detail: this.items[index]
581
+ }));
582
+
583
+ this.dispatchEvent(new CustomEvent('auroMenu-activatedOption', {
584
+ bubbles: true,
585
+ cancelable: false,
586
+ composed: true,
587
+ detail: this.items[index]
588
+ }));
732
589
  }
733
590
 
734
- static get styles() {
735
- return [
736
- styleCss$2,
737
- colorCss$2,
738
- tokensCss$1
739
- ];
591
+ /**
592
+ * Used to only make a selection when a menuoption is receiving a mousedown event.
593
+ * @param {Event} evt - Mousedown event.
594
+ * @private
595
+ */
596
+ handleMenuMouseDown(evt) {
597
+ if (evt.target !== this) {
598
+ this.makeSelection();
599
+ }
740
600
  }
741
601
 
742
602
  /**
743
- * This will register this element with the browser.
744
- * @param {string} [name="auro-menu"] - The name of element that you want to register to.
603
+ * Checks if there are any loading placeholders in the component.
745
604
  *
746
- * @example
747
- * AuroMenu.register("custom-menu") // this will register this element to <custom-menu/>
605
+ * This getter evaluates the `loadingSlots` collection to determine if it contains any items.
606
+ * If the size of the collection is greater than zero, it indicates the presence of loading
607
+ * placeholders, returning true; otherwise, it returns false.
748
608
  *
609
+ * @getter hasLoadingPlaceholder
610
+ * @type {boolean}
611
+ * @returns {boolean} Returns true if loading placeholders exist; false otherwise.
749
612
  */
750
- static register(name = "auro-menu") {
751
- AuroLibraryRuntimeUtils.prototype.registerComponent(name, AuroMenu);
613
+ get hasLoadingPlaceholder() {
614
+ return this.loadingSlots.length > 0;
752
615
  }
753
616
 
754
617
  /**
755
- * Passes the noCheckmark attribute to all nested auro-menuoptions.
618
+ * Used for @slotchange event on slotted element.
756
619
  * @private
757
- * @returns {void}
758
620
  */
759
- handleNoCheckmarkAttr() {
760
- if (this.noCheckmark) {
761
- const menus = this.querySelectorAll('auro-menu, [auro-menu]');
762
-
763
- menus.forEach((menu) => {
764
- menu.setAttribute('noCheckmark', '');
765
- });
621
+ handleSlotItems() {
622
+ // Determine if this is the root of the menu/submenu layout.
623
+ if (this.parentElement && this.parentElement.closest('auro-menu, [auro-menu]')) {
624
+ this.rootMenu = false;
625
+ }
766
626
 
767
- const options = this.querySelectorAll('auro-menuoption, [auro-menuoption]');
627
+ // If this is the root menu (not a nested menu) handle events, states and styling.
628
+ if (this.rootMenu) {
629
+ this.initItems();
630
+ this.setAttribute('role', 'listbox');
631
+ this.setAttribute('root', '');
632
+ this.handleNestedMenus(this);
633
+ this.markOptions();
634
+ this.index = -1;
635
+ this.getSelectedIndex();
768
636
 
769
- options.forEach((option) => {
770
- option.setAttribute('noCheckmark', '');
637
+ this.addEventListener('keydown', this.handleKeyDown);
638
+ this.addEventListener('mousedown', this.handleMenuMouseDown);
639
+ this.addEventListener('auroMenuOption-mouseover', (evt) => {
640
+ this.index = this.items.indexOf(evt.target);
641
+ this.updateActiveOption(this.index);
771
642
  });
643
+ } else {
644
+ // make sure to update all menuoption noCheckmark attributes when the menu is dynamically changed
645
+ this.handleNoCheckmarkAttr();
772
646
  }
773
647
  }
774
648
 
775
- firstUpdated() {
776
- // Add the tag name as an attribute if it is different than the component name
777
- this.runtimeUtils.handleComponentTagRename(this, 'auro-menu');
778
-
779
- this.addEventListener('keydown', this.handleKeyDown);
649
+ render() {
650
+ if (this.loading) {
651
+ return x`
652
+ <auro-menuoption disabled loadingplaceholder class="${this.hasLoadingPlaceholder ? '' : 'empty'}">
653
+ <div>
654
+ <slot name="loadingIcon"></slot>
655
+ <slot name="loadingText"></slot>
656
+ </div>
657
+ </auro-menuoption>
658
+ `;
659
+ }
660
+ return x`<slot @slotchange=${this.handleSlotItems}></slot>`;
780
661
  }
662
+ }
781
663
 
782
- updated(changedProperties) {
783
- if (changedProperties.has('matchWord')) {
784
- this.markOptions();
785
- }
664
+ /**
665
+ * @license
666
+ * Copyright 2020 Google LLC
667
+ * SPDX-License-Identifier: BSD-3-Clause
668
+ */
669
+ const a=Symbol.for(""),o$1=t=>{if(t?.r===a)return t?._$litStatic$},s=t=>({_$litStatic$:t,r:a}),i$1=(t,...r)=>({_$litStatic$:r.reduce(((r,e,a)=>r+(t=>{if(void 0!==t._$litStatic$)return t._$litStatic$;throw Error(`Value passed to 'literal' function must be a 'literal' result: ${t}. Use 'unsafeStatic' to pass non-literal values, but\n take care to ensure page security.`)})(e)+t[a+1]),t[0]),r:a}),l=new Map,n=t=>(r,...e)=>{const a=e.length;let s,i;const n=[],u=[];let c,$=0,f=!1;for(;$<a;){for(c=r[$];$<a&&void 0!==(i=e[$],s=o$1(i));)c+=s+r[++$],f=!0;$!==a&&u.push(i),n.push(c),$++;}if($===a&&n.push(r[a]),f){const t=n.join("$$lit$$");void 0===(r=l.get(t))&&(n.raw=n,l.set(t,r=n)),e=u;}return t(r,...e)},u=n(x);
786
670
 
787
- if (changedProperties.has('value')) {
788
- this.selectByValue(this.value);
789
- }
671
+ var styleCss$1 = i$5`:host{display:flex;align-items:center;padding:var(--ds-size-50, 0.25rem) var(--ds-size-200, 1rem) var(--ds-size-50, 0.25rem) 0;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent}:host slot{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}:host [auro-icon]{--ds-auro-icon-size: var(--ds-size-300, 1.5rem);margin-right:var(--ds-size-150, 0.75rem);margin-left:var(--ds-size-100, 0.5rem)}:host ::slotted(.nestingSpacer){display:inline-block;width:var(--ds-size-300, 1.5rem)}:host ::slotted(strong){font-weight:700}:host([hidden]){display:none}:host([static]){pointer-events:none}:host([disabled]:hover){cursor:auto}:host([disabled]){user-select:none;pointer-events:none}`;
790
672
 
791
- if (changedProperties.has('disabled')) {
792
- const options = Array.from(this.querySelectorAll('auro-menuoption, [auro-menuoption]'));
673
+ var colorCss$1 = i$5`:host{background-color:var(--ds-auro-menuoption-container-color);color:var(--ds-auro-menuoption-text-color)}:host svg{fill:var(--ds-auro-menuoption-icon-color) !important}:host([disabled]){--ds-auro-menuoption-text-color: var(--ds-color-text-ui-disabled-default, #adadad)}:host(:hover),:host(.active){--ds-auro-menuoption-container-color: var(--ds-color-container-ui-secondary-hover-default, rgba(0, 0, 0, 0.03))}:host([selected]){--ds-auro-menuoption-container-color: var(--ds-color-container-ui-primary-default-default, #2c67b5);--ds-auro-menuoption-text-color: var(--ds-color-text-primary-inverse, #ffffff);--ds-auro-menuoption-icon-color: var(--ds-color-icon-emphasis-inverse, #ffffff)}`;
793
674
 
794
- for (const element of options) {
795
- element.disabled = this.disabled;
796
- }
797
- }
798
- }
675
+ // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
676
+ // See LICENSE in the project root for license information.
799
677
 
800
- /**
801
- * @private
802
- * @param {Object} option - The menuoption to check for interactive state.
803
- * @returns {Boolean} Returns true if the option is interactive.
804
- */
805
- optionInteractive(option) {
806
- return !option.hasAttribute('hidden') && !option.hasAttribute('disabled') && !option.hasAttribute('static');
807
- }
678
+
679
+ class AuroDependencyVersioning {
808
680
 
809
681
  /**
682
+ * Generates a unique string to be used for child auro element naming.
810
683
  * @private
811
- * @returns {void} When called will update the DOM with visible suggest text matches.
684
+ * @param {string} baseName - Defines the first part of the unique element name.
685
+ * @param {string} version - Version of the component that will be appended to the baseName.
686
+ * @returns {string} - Unique string to be used for naming.
812
687
  */
813
- markOptions() {
814
- if (this.items && this.items.length > 0 && (this.matchWord && this.matchWord.length > 0)) {
688
+ generateElementName(baseName, version) {
689
+ let result = baseName;
815
690
 
816
- // Escape special regex characters
817
- const escapedWord = this.matchWord.replace(/[.*+?^${}()|[\]\\]/gu, '\\$&');
691
+ result += '-';
692
+ result += version.replace(/[.]/g, '_');
818
693
 
819
- // Global, case-insensitive, unicode matching regex pattern
820
- const regexWord = new RegExp(escapedWord, 'giu');
694
+ return result;
695
+ }
821
696
 
822
- this.items.forEach((item) => {
823
- if (this.optionInteractive(item) && !item.hasAttribute('persistent')) {
824
- const nested = item.querySelectorAll('.nestingSpacer');
825
- const nestingSpacerBundle = [...nested].map(() => this.nestingSpacer).join('');
697
+ /**
698
+ * Generates a unique string to be used for child auro element naming.
699
+ * @param {string} baseName - Defines the first part of the unique element name.
700
+ * @param {string} version - Version of the component that will be appended to the baseName.
701
+ * @returns {string} - Unique string to be used for naming.
702
+ */
703
+ generateTag(baseName, version, tagClass) {
704
+ const elementName = this.generateElementName(baseName, version);
705
+ const tag = i$1`${s(elementName)}`;
826
706
 
827
- item.innerHTML = nestingSpacerBundle + item.textContent.replace(regexWord, (match) => `<strong>${match}</strong>`);
828
- }
829
- });
707
+ if (!customElements.get(elementName)) {
708
+ customElements.define(elementName, class extends tagClass {});
830
709
  }
710
+
711
+ return tag;
831
712
  }
713
+ }
832
714
 
833
- /**
834
- * Reset the menu and all options.
835
- */
836
- resetOptionsStates() {
837
- this.optionSelected = undefined;
838
- if (this.items) {
839
- this.items.forEach((item) => {
840
- item.classList.remove('active');
841
- item.removeAttribute('selected');
842
- });
843
- }
715
+ /**
716
+ * @license
717
+ * Copyright 2017 Google LLC
718
+ * SPDX-License-Identifier: BSD-3-Clause
719
+ */
720
+ 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)}}
721
+
722
+ /**
723
+ * @license
724
+ * Copyright 2018 Google LLC
725
+ * SPDX-License-Identifier: BSD-3-Clause
726
+ */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}});
727
+
728
+ /**
729
+ * @license
730
+ * Copyright 2018 Google LLC
731
+ * SPDX-License-Identifier: BSD-3-Clause
732
+ */const o=o=>o??E;
733
+
734
+ // Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
735
+ // See LICENSE in the project root for license information.
736
+
737
+
738
+ /**
739
+ * @attr {Boolean} hidden - If present, the component will be hidden both visually and from screen readers
740
+ * @attr {Boolean} hiddenVisually - If present, the component will be hidden visually, but still read by screen readers
741
+ * @attr {Boolean} hiddenAudible - If present, the component will be hidden from screen readers, but seen visually
742
+ */
743
+
744
+ class AuroElement extends r {
745
+
746
+ // function to define props used within the scope of this component
747
+ static get properties() {
748
+ return {
749
+ hidden: { type: Boolean,
750
+ reflect: true },
751
+ hiddenVisually: { type: Boolean,
752
+ reflect: true },
753
+ hiddenAudible: { type: Boolean,
754
+ reflect: true },
755
+ };
844
756
  }
845
757
 
846
758
  /**
847
- * Set the attributes on the selected menuoption, the menu value and stored option.
848
- * @param {Object} option - The menuoption to be selected.
849
- * @private
759
+ * @private Function that determines state of aria-hidden
850
760
  */
851
- handleLocalSelectState(option) {
852
- option.setAttribute('selected', '');
853
- option.classList.add('active');
854
- option.ariaSelected = true;
761
+ hideAudible(value) {
762
+ if (value) {
763
+ return 'true'
764
+ }
855
765
 
856
- this.value = option.value;
857
- this.optionSelected = option;
858
- this.index = this.items.indexOf(option);
766
+ return 'false'
859
767
  }
768
+ }
860
769
 
861
- /**
862
- * Notify selection change.
863
- * @private
864
- * @return {void}
865
- */
866
- notifySelectionChange() {
867
- // this event needs to be removed after select and combobox are updated to use the new standard name
868
- this.dispatchEvent(new CustomEvent('selectedOption', {
869
- bubbles: true,
870
- cancelable: false,
871
- composed: true,
872
- }));
770
+ 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>"};
873
771
 
874
- this.dispatchEvent(new CustomEvent('auroMenu-selectedOption', {
875
- bubbles: true,
876
- cancelable: false,
877
- composed: true,
878
- }));
772
+ /* eslint-disable no-underscore-dangle, jsdoc/no-undefined-types, jsdoc/require-param-description */
773
+
774
+ const _fetchMap = new Map();
775
+
776
+ /**
777
+ * A callback to parse Response body.
778
+ *
779
+ * @callback ResponseParser
780
+ * @param {Fetch.Response} response
781
+ * @returns {Promise}
782
+ */
783
+
784
+ /**
785
+ * A minimal in-memory map to de-duplicate Fetch API media requests.
786
+ *
787
+ * @param {String} uri
788
+ * @param {Object} [options={}]
789
+ * @param {ResponseParser} [options.responseParser=(response) => response.text()]
790
+ * @returns {Promise}
791
+ */
792
+ const cacheFetch = (uri, options = {}) => {
793
+ const responseParser = options.responseParser || ((response) => response.text());
794
+ if (!_fetchMap.has(uri)) {
795
+ _fetchMap.set(uri, fetch(uri).then(responseParser));
879
796
  }
797
+ return _fetchMap.get(uri);
798
+ };
880
799
 
881
- /**
882
- * Process actions for making making a menuoption selection.
883
- */
884
- makeSelection() {
885
- if (!this.items) {
886
- this.initItems();
887
- }
800
+ var styleCss = i$5`*,*:before,*:after{box-sizing:border-box}@media(prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}}*:focus-visible{outline:0}*:focus-visible{outline:0}:focus:not(:focus-visible){outline:3px solid transparent}.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock,:host{display:block}.util_displayFlex{display:flex}.util_displayHidden,:host([hidden]:not(:focus):not(:active)){display:none}.util_displayHiddenVisually,:host([hiddenVisually]:not(:focus):not(:active)){position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}.ico_squareLarge{fill:currentColor;height:var(--auro-size-lg, var(--ds-size-300, 1.5rem))}.ico_squareSmall{fill:currentColor;height:.6rem}.ico_squareMed{fill:currentColor;height:var(--auro-size-md, var(--ds-size-200, 1rem))}.ico_squareSml{fill:currentColor;height:var(--auro-size-sm, var(--ds-size-150, 0.75rem))}:host{color:currentColor;vertical-align:middle;line-height:1;display:inline-block}:host .logo{color:var(--ds-color-brand-midnight-400, #01426a)}svg{min-width:var(--ds-auro-icon-size, 1.5rem) !important;width:var(--ds-auro-icon-size, 1.5rem) !important;height:var(--ds-auro-icon-size, 1.5rem) !important}.label{display:flex;align-items:flex-start}.label svg{margin:0 var(--ds-size-50, 0.25rem)}.labelContainer{line-height:1.8}`;
888
801
 
889
- if (this.items[this.index] && !this.items[this.index].hasAttribute('disabled')) {
890
- this.resetOptionsStates();
802
+ // Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
803
+ // See LICENSE in the project root for license information.
891
804
 
892
- if (this.index >= 0) {
893
- const option = this.items[this.index];
894
805
 
895
- // only handle options that are not disabled, hidden or static
896
- if (option && this.optionInteractive(option)) {
897
- // fire custom event if defined otherwise make selection
898
- if (option.hasAttribute('event')) {
899
- this.dispatchEvent(new CustomEvent(option.getAttribute('event'), {
900
- bubbles: true,
901
- cancelable: false,
902
- composed: true,
903
- }));
806
+ // See https://git.io/JJ6SJ for "How to document your components using JSDoc"
807
+ /**
808
+ * @attr {Boolean} onDark - Set value for on-dark version of auro-icon
809
+ * @slot - Hidden from visibility, used for a11y if icon description is needed
810
+ */
904
811
 
905
- // this event needs to be removed after select and combobox are updated to use the new standard name
906
- this.dispatchEvent(new CustomEvent('auroMenuCustomEventFired', {
907
- bubbles: true,
908
- cancelable: false,
909
- composed: true,
910
- }));
812
+ // build the component class
813
+ class BaseIcon extends AuroElement {
814
+ constructor() {
815
+ super();
816
+ this.onDark = false;
817
+ }
911
818
 
912
- this.dispatchEvent(new CustomEvent('auroMenu-customEventFired', {
913
- bubbles: true,
914
- cancelable: false,
915
- composed: true,
916
- }));
917
- } else {
918
- this.handleLocalSelectState(option);
919
- }
920
- }
819
+ // function to define props used within the scope of this component
820
+ static get properties() {
821
+ return {
822
+ ...super.properties,
823
+ onDark: {
824
+ type: Boolean,
825
+ reflect: true
826
+ },
827
+
828
+ /**
829
+ * @private
830
+ */
831
+ svg: {
832
+ attribute: false,
833
+ reflect: true
921
834
  }
922
- }
835
+ };
836
+ }
923
837
 
924
- this.notifySelectionChange();
838
+ static get styles() {
839
+ return i$5`
840
+ ${styleCss}
841
+ `;
925
842
  }
926
843
 
927
844
  /**
928
- * Manage ArrowDown, ArrowUp and Enter keyboard events.
845
+ * Async function to fetch requested icon from npm CDN.
929
846
  * @private
930
- * @param {Object} event - Event object from the browser.
847
+ * @param {string} category - Icon category.
848
+ * @param {string} name - Icon name.
849
+ * @returns {SVGElement} DOM - Ready HTML to be appended.
931
850
  */
932
- handleKeyDown(event) {
933
- event.preventDefault();
851
+ async fetchIcon(category, name) {
852
+ let iconHTML = '';
934
853
 
935
- // With ArrowDown/ArrowUp events, pass new value to selectNextItem()
936
- // With Enter event, set value and apply attrs
937
- switch (event.key) {
938
- case "ArrowDown":
939
- this.selectNextItem('down');
940
- break;
854
+ if (category === 'logos') {
855
+ iconHTML = await cacheFetch(`${this.uri}/${category}/${name}.svg`);
856
+ } else {
857
+ iconHTML = await cacheFetch(`${this.uri}/icons/${category}/${name}.svg`);
858
+ }
941
859
 
942
- case "ArrowUp":
943
- this.selectNextItem('up');
944
- break;
860
+ const dom = new DOMParser().parseFromString(iconHTML, 'text/html');
945
861
 
946
- case "Enter":
947
- this.makeSelection();
948
- break;
862
+ return dom.body.querySelector('svg');
863
+ }
864
+
865
+ // lifecycle function
866
+ async firstUpdated() {
867
+ if (!this.customSvg) {
868
+ const svg = await this.fetchIcon(this.category, this.name);
869
+
870
+ if (svg) {
871
+ this.svg = svg;
872
+ } else if (!svg) {
873
+ const penDOM = new DOMParser().parseFromString(error.svg, 'text/html');
874
+
875
+ this.svg = penDOM.body.firstChild;
876
+ }
949
877
  }
950
878
  }
879
+ }
951
880
 
952
- /**
953
- * Initializes all menu options in the DOM. This must be re-run every time the options are changed.
954
- * @private
955
- */
956
- initItems() {
957
- this.items = Array.from(this.querySelectorAll('auro-menuoption, [auro-menuoption]'));
958
- this.handleNoCheckmarkAttr();
881
+ var tokensCss = i$5`:host{--ds-auro-icon-color: var(--ds-color-icon-primary-default, $ds-color-icon-primary-default);--ds-auro-icon-size: var(--ds-size-300, $ds-size-300)}`;
882
+
883
+ var colorCss = i$5`:host{color:var(--ds-auro-icon-color)}:host([customColor]){color:inherit}:host(:not([onDark])[accent]){--ds-auro-icon-color: var(--ds-color-icon-accent-default, #a2c270)}:host(:not([onDark])[disabled]){--ds-auro-icon-color: var(--ds-color-icon-ui-primary-disabled-default, #adadad)}:host(:not([onDark])[emphasis]){--ds-auro-icon-color: var(--ds-color-icon-emphasis-default, #2a2a2a)}:host(:not([onDark])[error]){--ds-auro-icon-color: var(--ds-color-icon-error-default, #cc1816)}:host(:not([onDark])[info]){--ds-auro-icon-color: var(--ds-color-icon-info-default, #326aa5)}:host(:not([onDark])[secondary]){--ds-auro-icon-color: var(--ds-color-icon-secondary-default, #7e8894)}:host(:not([onDark])[subtle]){--ds-auro-icon-color: var(--ds-color-icon-subtle-default, #a0c9f1)}:host(:not([onDark])[success]){--ds-auro-icon-color: var(--ds-color-icon-success-default, #40a080)}:host(:not([onDark])[tertiary]){--ds-auro-icon-color: var(--ds-color-icon-tertiary-default, #afb9c6)}:host(:not([onDark])[warning]){--ds-auro-icon-color: var(--ds-color-icon-warning-default, #c49432)}:host([onDark]){--ds-auro-icon-color: var(--ds-color-icon-primary-inverse, #f7f7f7)}:host([onDark][accent]){--ds-auro-icon-color: var(--ds-color-icon-accent-inverse, #badd81)}:host([onDark][disabled]){--ds-auro-icon-color: var(--ds-color-icon-ui-primary-disabled-inverse, #7e7e7e)}:host([onDark][emphasis]){--ds-auro-icon-color: var(--ds-color-icon-emphasis-inverse, #ffffff)}:host([onDark][error]){--ds-auro-icon-color: var(--ds-color-icon-error-inverse, #f9aca6)}:host([onDark][info]){--ds-auro-icon-color: var(--ds-color-icon-info-inverse, #89b2d4)}:host([onDark][secondary]){--ds-auro-icon-color: var(--ds-color-icon-secondary-inverse, #ccd2db)}:host([onDark][subtle]){--ds-auro-icon-color: var(--ds-color-icon-subtle-inverse, #326aa5)}:host([onDark][success]){--ds-auro-icon-color: var(--ds-color-icon-success-inverse, #8eceb9)}:host([onDark][tertiary]){--ds-auro-icon-color: var(--ds-color-icon-tertiary-inverse, #939fad)}:host([onDark][warning]){--ds-auro-icon-color: var(--ds-color-icon-warning-inverse, #f2c153)}`;
884
+
885
+ // Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
886
+ // See LICENSE in the project root for license information.
887
+
888
+
889
+ // See https://git.io/JJ6SJ for "How to document your components using JSDoc"
890
+ /**
891
+ * auro-icon provides users a way to use the Auro Icons by simply passing in the category and name.
892
+ *
893
+ * @attr {String} category - The category of the icon you are looking for. See https://auro.alaskaair.com/icons/usage.
894
+ * @attr {String} name - The name of the icon you are looking for without the file extension. See https://auro.alaskaair.com/icons/usage
895
+ * @attr {Boolean} customColor - Removes primary selector.
896
+ * @attr {Boolean} customSvg - When true, auro-icon will render a custom SVG inside the default slot.
897
+ * @attr {Boolean} label - Exposes content in slot as icon label.
898
+ * @attr {Boolean} primary - DEPRECATED: Sets the icon to use the baseline primary icon style.
899
+ * @attr {Boolean} accent - Sets the icon to use the accent style.
900
+ * @attr {Boolean} emphasis - Sets the icon to use the emphasis style.
901
+ * @attr {Boolean} disabled - Sets the icon to use the disabled style.
902
+ * @attr {Boolean} error - Sets the icon to use the error style.
903
+ * @attr {Boolean} info - Sets the icon to use the info style.
904
+ * @attr {Boolean} secondary - Sets the icon to use the secondary style.
905
+ * @attr {Boolean} tertiary - Sets the icon to use the tertiary style.
906
+ * @attr {Boolean} subtle - Sets the icon to use the subtle style.
907
+ * @attr {Boolean} success - Sets the icon to use the success style.
908
+ * @attr {Boolean} warning - Sets the icon to use the warning style.
909
+ * @attr {String} ariaHidden - Set aria-hidden value. Default is `true`. Option is `false`.
910
+ * @attr {String} uri - Set the uri for CDN used when fetching icons
911
+ * @slot - Hidden from visibility, used for a11y if icon description is needed.
912
+ * @slot svg - Used for custom SVG content.
913
+ */
914
+
915
+ // build the component class
916
+ class AuroIcon extends BaseIcon {
917
+ constructor() {
918
+ super();
919
+
920
+ this.uri = 'https://cdn.jsdelivr.net/npm/@alaskaairux/icons@latest/dist';
921
+
922
+ this.privateDefaults();
959
923
  }
960
924
 
961
925
  /**
962
- * Sets the index value of the selected item or first non-disabled menuoption.
926
+ * Internal Defaults.
963
927
  * @private
928
+ * @returns {void}
964
929
  */
965
- getSelectedIndex() {
966
- // find the first `selected` and not `disabled`, `hidden` or `static` option
967
- const index = this.items.findIndex((option) => option.hasAttribute('selected') && this.optionInteractive(option));
930
+ privateDefaults() {
931
+ this.accent = false;
932
+ this.customColor = false;
933
+ this.customSvg = false;
934
+ this.disabled = false;
935
+ this.emphasis = false;
936
+ this.error = false;
937
+ this.info = false;
938
+ this.label = false;
939
+ this.primary = false;
940
+ this.secondary = false;
941
+ this.subtle = false;
942
+ this.success = false;
943
+ this.tertiary = false;
944
+ this.warning = false;
945
+ this.runtimeUtils = new AuroLibraryRuntimeUtils();
946
+ }
968
947
 
969
- if (index >= 0) {
970
- this.index = index;
971
- this.makeSelection();
972
- }
948
+ // function to define props used within the scope of this component
949
+ static get properties() {
950
+ return {
951
+ ...super.properties,
952
+ accent: {
953
+ type: Boolean,
954
+ reflect: true
955
+ },
956
+ ariaHidden: {
957
+ type: String,
958
+ reflect: true
959
+ },
960
+ category: {
961
+ type: String,
962
+ reflect: true
963
+ },
964
+ customColor: {
965
+ type: Boolean
966
+ },
967
+ customSvg: {
968
+ type: Boolean
969
+ },
970
+ disabled: {
971
+ type: Boolean,
972
+ reflect: true
973
+ },
974
+ emphasis: {
975
+ type: Boolean,
976
+ reflect: true
977
+ },
978
+ error: {
979
+ type: Boolean,
980
+ reflect: true
981
+ },
982
+ info: {
983
+ type: Boolean,
984
+ reflect: true
985
+ },
986
+ label: {
987
+ type: Boolean,
988
+ reflect: true
989
+ },
990
+ name: {
991
+ type: String,
992
+ reflect: true
993
+ },
994
+ primary: {
995
+ type: Boolean,
996
+ reflect: true
997
+ },
998
+ secondary: {
999
+ type: Boolean,
1000
+ reflect: true
1001
+ },
1002
+ subtle: {
1003
+ type: Boolean,
1004
+ reflect: true
1005
+ },
1006
+ success: {
1007
+ type: Boolean,
1008
+ reflect: true
1009
+ },
1010
+ tertiary: {
1011
+ type: Boolean,
1012
+ reflect: true
1013
+ },
1014
+ uri: {
1015
+ type: String
1016
+ },
1017
+ warning: {
1018
+ type: Boolean,
1019
+ reflect: true
1020
+ }
1021
+ };
1022
+ }
1023
+
1024
+ static get styles() {
1025
+ return [
1026
+ super.styles,
1027
+ i$5`${tokensCss}`,
1028
+ i$5`${styleCss}`,
1029
+ i$5`${colorCss}`
1030
+ ];
973
1031
  }
974
1032
 
975
1033
  /**
976
- * Using value of current this.index evaluates index
977
- * of next :focus to set based on array of this.items ignoring items
978
- * with disabled attr.
1034
+ * This will register this element with the browser.
1035
+ * @param {string} [name="auro-icon"] - The name of element that you want to register to.
1036
+ *
1037
+ * @example
1038
+ * AuroIcon.register("custom-icon") // this will register this element to <custom-icon/>
979
1039
  *
980
- * The event.target is not used as the function needs to know where to go,
981
- * versus knowing where it is.
982
- * @param {String} moveDirection - Up or Down based on keyboard event.
983
1040
  */
984
- selectNextItem(moveDirection) {
985
- if (this.index >= 0) {
986
- this.items[this.index].classList.remove('active');
987
-
988
- // calculate which is the selection we should focus next
989
- let increment = 0;
990
-
991
- if (moveDirection === 'down') {
992
- increment = 1;
993
- } else if (moveDirection === 'up') {
994
- increment = -1;
995
- }
996
-
997
- this.index += increment;
998
-
999
- // keep looping inside the array of options
1000
- if (this.index > this.items.length - 1) {
1001
- this.index = 0;
1002
- } else if (this.index < 0) {
1003
- this.index = this.items.length - 1;
1004
- }
1041
+ static register(name = "auro-icon") {
1042
+ AuroLibraryRuntimeUtils.prototype.registerComponent(name, AuroIcon);
1043
+ }
1005
1044
 
1006
- // check if new index is disabled, static or hidden, if so, execute again
1007
- if (!this.optionInteractive(this.items[this.index])) {
1008
- this.selectNextItem(moveDirection);
1009
- } else {
1010
- // apply focus to new index
1011
- this.updateActiveOption(this.index);
1012
- }
1013
- } else {
1014
- this.index = 0;
1045
+ connectedCallback() {
1046
+ super.connectedCallback();
1015
1047
 
1016
- if (this.items[this.index].hasAttribute('hidden') || this.items[this.index].hasAttribute('disabled')) {
1017
- this.selectNextItem(moveDirection);
1018
- } else {
1019
- this.updateActiveOption(this.index);
1020
- }
1021
- }
1048
+ // Add the tag name as an attribute if it is different than the component name
1049
+ this.runtimeUtils.handleComponentTagRename(this, 'auro-icon');
1022
1050
  }
1023
1051
 
1024
1052
  /**
1025
- * Used for applying indentation to each level of nested menu.
1026
- * @private
1027
- * @param {String} menu - Root level menu object.
1053
+ * @returns {void} Exposes CSS parts for styling from parent components.
1028
1054
  */
1029
- handleNestedMenus(menu) {
1030
- const nestedMenus = menu.querySelectorAll('auro-menu, [auro-menu');
1055
+ exposeCssParts() {
1056
+ this.setAttribute('exportparts', 'svg:iconSvg');
1057
+ }
1031
1058
 
1032
- if (nestedMenus.length === 0) {
1033
- return;
1034
- }
1059
+ // function that renders the HTML and CSS into the scope of the component
1060
+ render() {
1061
+ const a11y = {
1062
+ 'labelContainer': true,
1063
+ 'util_displayHiddenVisually': !this.label
1064
+ };
1035
1065
 
1036
- nestedMenus.forEach((nestedMenu) => {
1037
- const options = nestedMenu.querySelectorAll(':scope > auro-menuoption, :scope > [auro-menuoption');
1066
+ const classes = {
1067
+ 'label': this.label
1068
+ };
1038
1069
 
1039
- options.forEach((option) => {
1040
- option.innerHTML = this.nestingSpacer + option.innerHTML;
1041
- });
1070
+ return x`
1071
+ <div
1072
+ class="${e(classes)}"
1073
+ title="${o(this.title || undefined)}">
1074
+ <span aria-hidden="${o(this.ariaHidden ? this.ariaHidden : true)}" part="svg">
1075
+ ${this.customSvg ? x`
1076
+ <slot name="svg"></slot>
1077
+ ` : x`
1078
+ ${this.svg}
1079
+ `
1080
+ }
1081
+ </span>
1042
1082
 
1043
- this.handleNestedMenus(nestedMenu);
1044
- });
1083
+ <div class="${e(a11y)}">
1084
+ <slot></slot>
1085
+ </div>
1086
+ </div>
1087
+ `;
1045
1088
  }
1089
+ }
1046
1090
 
1047
- /**
1048
- * Method to apply `selected` attribute to `menuoption` via `value`.
1049
- * @private
1050
- * @param {String} value - Must match a unique `menuoption` value.
1051
- */
1052
- selectByValue(value) {
1053
- let valueMatch = false;
1054
- if (!this.items) {
1055
- this.initItems();
1056
- }
1091
+ var iconVersion = '6.1.1';
1057
1092
 
1058
- this.index = undefined;
1093
+ 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>"};
1059
1094
 
1060
- if (this.value && this.value.length > 0) {
1061
- for (let index = 0; index < this.items.length; index += 1) {
1062
- if (this.items[index].value === value) {
1063
- valueMatch = true;
1064
- this.index = index;
1065
- }
1066
- }
1095
+ // Copyright (c) 2021 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
1096
+ // See LICENSE in the project root for license information.
1067
1097
 
1068
- if (!valueMatch) {
1069
- // reset the menu to no selection
1070
- this.index = undefined;
1071
1098
 
1072
- // this event needs to be removed after select and combobox are updated to use the new standard name
1073
- this.dispatchEvent(new CustomEvent('auroMenuSelectValueFailure', {
1074
- bubbles: true,
1075
- cancelable: false,
1076
- composed: true,
1077
- }));
1099
+ /**
1100
+ * The auro-menu element provides users a way to define a menu option.
1101
+ *
1102
+ * @attr {String} value - Specifies the value to be sent to a server.
1103
+ * @attr {String} noCheckmark - When true, selected option will not show the checkmark.
1104
+ * @attr {Boolean} disabled - When true specifies that the menuoption is disabled.
1105
+ * @attr {Boolean} selected - Specifies that an option is selected.
1106
+ * @event auroMenuOption-mouseover - Notifies that this option has been hovered over.
1107
+ * @slot - Specifies text for an option, but is not the value.
1108
+ */
1109
+ class AuroMenuOption extends r {
1110
+ constructor() {
1111
+ super();
1078
1112
 
1079
- this.dispatchEvent(new CustomEvent('auroMenu-selectValueFailure', {
1080
- bubbles: true,
1081
- cancelable: false,
1082
- composed: true,
1083
- }));
1084
- } else {
1085
- this.makeSelection();
1113
+ /**
1114
+ * Generate unique names for dependency components.
1115
+ */
1116
+ const versioning = new AuroDependencyVersioning();
1117
+ this.iconTag = versioning.generateTag('auro-icon', iconVersion, AuroIcon);
1118
+
1119
+ this.selected = false;
1120
+ this.nocheckmark = false;
1121
+ this.disabled = false;
1122
+
1123
+ /**
1124
+ * @private
1125
+ */
1126
+ this.tabIndex = -1;
1127
+
1128
+ /**
1129
+ * @private
1130
+ */
1131
+ this.runtimeUtils = new AuroLibraryRuntimeUtils();
1132
+ }
1133
+
1134
+ static get properties() {
1135
+ return {
1136
+ nocheckmark: {
1137
+ type: Boolean,
1138
+ reflect: true
1139
+ },
1140
+ selected: {
1141
+ type: Boolean,
1142
+ reflect: true
1143
+ },
1144
+ disabled: {
1145
+ type: Boolean,
1146
+ reflect: true
1147
+ },
1148
+ value: {
1149
+ type: String,
1150
+ reflect: true
1151
+ },
1152
+ tabIndex: {
1153
+ type: Number,
1154
+ reflect: true
1086
1155
  }
1087
- } else {
1088
- this.resetOptionsStates();
1156
+ };
1157
+ }
1089
1158
 
1090
- this.dispatchEvent(new CustomEvent('auroMenu-selectValueReset', {
1091
- bubbles: true,
1092
- cancelable: false,
1093
- composed: true,
1094
- }));
1095
- }
1159
+ static get styles() {
1160
+ return [
1161
+ styleCss$1,
1162
+ colorCss$1,
1163
+ tokensCss$1
1164
+ ];
1096
1165
  }
1097
1166
 
1098
1167
  /**
1099
- * Used to make the active state for options follow mouseover.
1100
- * @param {Number} index - Index of the menuoption that will be made active.
1101
- * @private
1168
+ * This will register this element with the browser.
1169
+ * @param {string} [name="auro-menuoption"] - The name of element that you want to register to.
1170
+ *
1171
+ * @example
1172
+ * AuroMenuOption.register("custom-menuoption") // this will register this element to <custom-menuoption/>
1173
+ *
1102
1174
  */
1103
- updateActiveOption(index) {
1104
- this.items.forEach((item) => {
1105
- item.classList.remove('active');
1106
- });
1107
- this.items[index].classList.add('active');
1108
- this.optionActive = this.items[index];
1175
+ static register(name = "auro-menuoption") {
1176
+ AuroLibraryRuntimeUtils.prototype.registerComponent(name, AuroMenuOption);
1177
+ }
1109
1178
 
1110
- this.dispatchEvent(new CustomEvent('auroMenuActivatedOption', {
1111
- bubbles: true,
1112
- cancelable: false,
1113
- composed: true,
1114
- detail: this.items[index]
1115
- }));
1179
+ firstUpdated() {
1180
+ // Add the tag name as an attribute if it is different than the component name
1181
+ this.runtimeUtils.handleComponentTagRename(this, 'auro-menuoption');
1116
1182
 
1117
- this.dispatchEvent(new CustomEvent('auroMenu-activatedOption', {
1118
- bubbles: true,
1119
- cancelable: false,
1120
- composed: true,
1121
- detail: this.items[index]
1122
- }));
1183
+ this.setAttribute('role', 'option');
1184
+ this.setAttribute('aria-selected', 'false');
1185
+
1186
+ this.addEventListener('mouseover', () => {
1187
+ this.dispatchEvent(new CustomEvent('auroMenuOption-mouseover', {
1188
+ bubbles: true,
1189
+ cancelable: false,
1190
+ composed: true,
1191
+ detail: this
1192
+ }));
1193
+ });
1123
1194
  }
1124
1195
 
1125
- /**
1126
- * Used to only make a selection when a menuoption is receiving a mousedown event.
1127
- * @param {Event} evt - Mousedown event.
1128
- * @private
1129
- */
1130
- handleMenuMouseDown(evt) {
1131
- if (evt.target !== this) {
1132
- this.makeSelection();
1196
+ // observer for selected property changes
1197
+ updated(changedProperties) {
1198
+ if (changedProperties.has('selected')) {
1199
+ this.setAttribute('aria-selected', this.selected.toString());
1133
1200
  }
1134
1201
  }
1135
1202
 
1136
1203
  /**
1137
- * Used for @slotchange event on slotted element.
1204
+ * Generates an HTML element containing an SVG icon based on the provided `svgContent`.
1205
+ *
1138
1206
  * @private
1207
+ * @param {string} svgContent - The SVG content to be embedded.
1208
+ * @returns {Element} The HTML element containing the SVG icon.
1139
1209
  */
1140
- handleSlotItems() {
1141
- // Determine if this is the root of the menu/submenu layout.
1142
- if (this.parentElement && this.parentElement.closest('auro-menu, [auro-menu]')) {
1143
- this.rootMenu = false;
1144
- }
1210
+ generateIconHtml(svgContent) {
1211
+ const dom = new DOMParser().parseFromString(svgContent, 'text/html');
1212
+ const svg = dom.body.firstChild;
1145
1213
 
1146
- // If this is the root menu (not a nested menu) handle events, states and styling.
1147
- if (this.rootMenu) {
1148
- this.initItems();
1149
- this.setAttribute('role', 'listbox');
1150
- this.setAttribute('root', '');
1151
- this.handleNestedMenus(this);
1152
- this.markOptions();
1153
- this.index = -1;
1154
- this.getSelectedIndex();
1214
+ svg.setAttribute('slot', 'svg');
1155
1215
 
1156
- this.addEventListener('keydown', this.handleKeyDown);
1157
- this.addEventListener('mousedown', this.handleMenuMouseDown);
1158
- this.addEventListener('auroMenuOption-mouseover', (evt) => {
1159
- this.index = this.items.indexOf(evt.target);
1160
- this.updateActiveOption(this.index);
1161
- });
1162
- } else {
1163
- // make sure to update all menuoption noCheckmark attributes when the menu is dynamically changed
1164
- this.handleNoCheckmarkAttr();
1165
- }
1216
+ return u`<${this.iconTag} customColor customSvg slot="icon">${svg}</${this.iconTag}>`;
1166
1217
  }
1167
1218
 
1168
1219
  render() {
1169
- return x`
1170
- <slot @slotchange=${this.handleSlotItems}></slot>
1220
+ return u`
1221
+ ${this.selected && !this.nocheckmark ? this.generateIconHtml(checkmarkIcon.svg) : undefined}
1222
+ <slot></slot>
1171
1223
  `;
1172
1224
  }
1173
1225
  }