@aurodesignsystem/auro-formkit 1.6.0-beta.5 → 1.6.0-beta.7

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