@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
@@ -57,6 +57,37 @@ function inDialogExample() {
57
57
  });
58
58
  }
59
59
 
60
+ function auroMenuLoadingExample() {
61
+ const select = document.querySelector("#loadingExample");
62
+ const menu = document.querySelector("#loadingExampleSelectMenu");
63
+
64
+ const emptyMenu = () => {
65
+ const menuoptions = menu.querySelectorAll('auro-menuoption');
66
+ menuoptions.forEach(mo => menu.removeChild(mo));
67
+ };
68
+
69
+ const fillMenu = () => {
70
+ menu.innerHTML += `
71
+ <auro-menuoption value="stops">Stops</auro-menuoption>
72
+ <auro-menuoption value="price">Price</auro-menuoption>
73
+ <auro-menuoption value="duration">Duration</auro-menuoption>
74
+ <auro-menuoption value="departure">Departure</auro-menuoption>
75
+ <auro-menuoption value="arrival">Arrival</auro-menuoption>
76
+ <auro-menuoption value="prefer alaska">Prefer Alaska</auro-menuoption>`;
77
+ };
78
+
79
+ select.addEventListener("click", () => {
80
+ if (!menu.hasAttribute('loading') && !select.value) {
81
+ emptyMenu();
82
+ menu.setAttribute('loading', 'loading');
83
+ setTimeout(() => {
84
+ menu.removeAttribute('loading');
85
+ fillMenu();
86
+ }, 1000);
87
+ }
88
+ });
89
+ }
90
+
60
91
  /**
61
92
  * @license
62
93
  * Copyright 2019 Google LLC
@@ -2827,13 +2858,13 @@ let AuroIcon$1 = class AuroIcon extends BaseIcon$1 {
2827
2858
 
2828
2859
  var iconVersion$1 = '6.1.1';
2829
2860
 
2830
- 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)}`;
2861
+ 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)}`;
2831
2862
 
2832
2863
  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)}`;
2833
2864
 
2834
2865
  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)}`;
2835
2866
 
2836
- 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}`;
2867
+ 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}`;
2837
2868
 
2838
2869
  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)}`;
2839
2870
 
@@ -2936,12 +2967,13 @@ if (!customElements.get("auro-dropdownbib")) {
2936
2967
  * @attr { Boolean } disabled - If declared, the dropdown is not interactive.
2937
2968
  * @attr { Boolean } disableEventShow - If declared, the dropdown will only show by calling the API .show() public method.
2938
2969
  * @attr { Boolean } error - If declared in combination with `bordered` property or `helpText` slot content, will apply red color to both.
2970
+ * @attr {Boolean} fluid - Makes the trigger to be full width of its parent container
2939
2971
  * @attr { Boolean } matchWidth - If declared, the popover and trigger will be set to the same width.
2940
2972
  * @attr { Boolean } inset - If declared, will apply padding around trigger slot content.
2941
2973
  * @attr { Boolean } rounded - If declared, will apply border-radius to trigger and default slots.
2942
2974
  * @attr { Boolean } hoverToggle - if declared, the trigger will toggle the big on mouseover/mouseout.
2943
- * @attr { Boolean } noToggle - If declared, the trigger will only show the the dropdown bib.
2944
- * @attr { Boolean } focusShow - if declared, the the bib will display when focus is applied to the trigger.
2975
+ * @attr { Boolean } noToggle - If declared, the trigger will only show the dropdown bib.
2976
+ * @attr { Boolean } focusShow - if declared, the bib will display when focus is applied to the trigger.
2945
2977
  * @attr { Boolean } noHideOnThisFocusLoss - If declared, the dropdown will not hide when moving focus outside the element.
2946
2978
  * @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.
2947
2979
  * @prop { Boolean } isPopoverVisible - If true, the dropdown bib is displayed.
@@ -3044,6 +3076,10 @@ class AuroDropdown extends r {
3044
3076
  type: Boolean,
3045
3077
  reflect: true
3046
3078
  },
3079
+ fluid: {
3080
+ type: Boolean,
3081
+ reflect: true,
3082
+ },
3047
3083
  focusShow: {
3048
3084
  type: Boolean,
3049
3085
  reflect: true
@@ -3335,6 +3371,11 @@ class AuroSelect extends r$4 {
3335
3371
  * @private
3336
3372
  */
3337
3373
  this.dropdownTag = versioning.generateTag('auro-dropdown', dropdownVersion, AuroDropdown);
3374
+
3375
+ /**
3376
+ * @private
3377
+ */
3378
+ this.isHiddenWhileLoading = false;
3338
3379
  }
3339
3380
 
3340
3381
  /**
@@ -3487,6 +3528,7 @@ class AuroSelect extends r$4 {
3487
3528
  */
3488
3529
  configureMenu() {
3489
3530
  this.menu = this.querySelector('auro-menu, [auro-menu]');
3531
+ this.menu.addEventListener("auroMenu-loadingChange", (event) => this.handleMenuLoadingChange(event));
3490
3532
  // racing condition on custom-select with custom-menu
3491
3533
  if (!this.menu) {
3492
3534
  setTimeout(() => {
@@ -3596,6 +3638,32 @@ class AuroSelect extends r$4 {
3596
3638
  this.labelForSr();
3597
3639
  }
3598
3640
 
3641
+ /**
3642
+ * Manages the visibility of the dropdown based on loading state changes.
3643
+ *
3644
+ * This method listens for loading state changes and adjusts the visibility of the dropdown accordingly.
3645
+ * If the dropdown is visible and loading is true without any loading placeholders, it hides the dropdown
3646
+ * and sets a flag to indicate it is hidden while loading. If loading is false and the dropdown was previously
3647
+ * hidden, it checks if the active element is within the dropdown and shows it again if true.
3648
+ *
3649
+ * @private
3650
+ * @param {CustomEvent} event - The event object containing details about the loading state change.
3651
+ * @param {boolean} event.detail.loading - Indicates whether the menu is currently loading.
3652
+ * @param {boolean} event.detail.hasLoadingPlaceholder - Indicates if there are loading placeholders present.
3653
+ * @returns {void}
3654
+ */
3655
+ handleMenuLoadingChange(event) {
3656
+ if (this.dropdown.isPopoverVisible && event.detail.loading && !event.detail.hasLoadingPlaceholder) {
3657
+ this.isHiddenWhileLoading = true;
3658
+ this.dropdown.hide();
3659
+ } else if (!event.detail.loading && this.isHiddenWhileLoading) {
3660
+ if (this.contains(document.activeElement)) {
3661
+ this.dropdown.show();
3662
+ }
3663
+ this.isHiddenWhileLoading = false;
3664
+ }
3665
+ }
3666
+
3599
3667
  /**
3600
3668
  * Function to support @focusin event.
3601
3669
  * @private
@@ -3758,6 +3826,7 @@ class AuroSelect extends r$4 {
3758
3826
  for="selectmenu"
3759
3827
  ?error="${this.validity !== undefined && this.validity !== 'valid'}"
3760
3828
  common
3829
+ fluid
3761
3830
  ?matchWidth="${!this.flexMenuWidth}"
3762
3831
  chevron
3763
3832
  part="dropdown">
@@ -3786,1033 +3855,1085 @@ class AuroSelect extends r$4 {
3786
3855
  }
3787
3856
  }
3788
3857
 
3789
- 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}`;
3858
+ 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)}`;
3790
3859
 
3791
3860
  var colorCss$2 = i$b`:host ::slotted(hr){border-top-color:var(--ds-auro-menu-divider-color) !important}`;
3792
3861
 
3793
3862
  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)}`;
3794
3863
 
3795
- 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}`;
3864
+ // Copyright (c) 2021 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
3865
+ // See LICENSE in the project root for license information.
3796
3866
 
3797
- 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)}`;
3798
3867
 
3868
+ // See https://git.io/JJ6SJ for "How to document your components using JSDoc"
3799
3869
  /**
3800
- * @license
3801
- * Copyright 2017 Google LLC
3802
- * SPDX-License-Identifier: BSD-3-Clause
3870
+ * The auro-menu element provides users a way to select from a list of options.
3871
+ * @attr {Object} optionSelected - Specifies the current selected menuOption.
3872
+ * @attr {String} matchWord - Specifies a string used to highlight matched string parts in options.
3873
+ * @attr {Boolean} disabled - When true, the entire menu and all options are disabled;
3874
+ * @attr {Boolean} noCheckmark - When true, selected option will not show the checkmark.
3875
+ * @attr {Boolean} loading - When true, displays a loading state using the loadingIcon and loadingText slots if provided.
3876
+ * @attr {String} value - Value selected for the menu.
3877
+ * @prop {Boolean} hasLoadingPlaceholder - Indicates whether the menu has a loadingIcon or loadingText to render when in a loading state.
3878
+ * @event auroMenu-selectedOption - Notifies that a new menuoption selection has been made.
3879
+ * @event selectedOption - (DEPRECATED) Notifies that a new menuoption selection has been made.
3880
+ * @event auroMenu-activatedOption - Notifies that a menuoption has been made `active`.
3881
+ * @event auroMenuActivatedOption - (DEPRECATED) Notifies that a menuoption has been made `active`.
3882
+ * @event auroMenu-selectValueFailure - Notifies that a an attempt to select a menuoption by matching a value has failed.
3883
+ * @event auroMenuSelectValueFailure - (DEPRECATED) Notifies that a an attempt to select a menuoption by matching a value has failed.
3884
+ * @event auroMenu-customEventFired - Notifies that a custom event has been fired.
3885
+ * @event auroMenuCustomEventFired - (DEPRECATED) Notifies that a custom event has been fired.
3886
+ * @event auroMenu-selectValueReset - Notifies that the component value has been reset.
3887
+ * @event auroMenu-loadingChange - Notifies when the loading attribute is changed.
3888
+ * @slot loadingText - Text to show while loading attribute is set
3889
+ * @slot loadingIcon - Icon to show while loading attribute is set
3890
+ * @slot - Slot for insertion of menu options.
3803
3891
  */
3804
- 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)}}
3805
3892
 
3806
- /**
3807
- * @license
3808
- * Copyright 2018 Google LLC
3809
- * SPDX-License-Identifier: BSD-3-Clause
3810
- */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}});
3893
+ /* eslint-disable no-magic-numbers, max-lines */
3811
3894
 
3812
- /**
3813
- * @license
3814
- * Copyright 2018 Google LLC
3815
- * SPDX-License-Identifier: BSD-3-Clause
3816
- */const o=o=>o??E$1;
3895
+ class AuroMenu extends r$4 {
3896
+ constructor() {
3897
+ super();
3898
+ this.value = undefined;
3899
+ this.optionSelected = undefined;
3900
+ this.matchWord = undefined;
3901
+ this.noCheckmark = false;
3902
+ this.optionActive = undefined;
3903
+ this.loading = false;
3817
3904
 
3818
- // Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
3819
- // See LICENSE in the project root for license information.
3905
+ /**
3906
+ * @private
3907
+ */
3908
+ this.rootMenu = true;
3820
3909
 
3910
+ /**
3911
+ * @private
3912
+ */
3913
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$1();
3821
3914
 
3822
- /**
3823
- * @attr {Boolean} hidden - If present, the component will be hidden both visually and from screen readers
3824
- * @attr {Boolean} hiddenVisually - If present, the component will be hidden visually, but still read by screen readers
3825
- * @attr {Boolean} hiddenAudible - If present, the component will be hidden from screen readers, but seen visually
3826
- */
3915
+ /**
3916
+ * @private
3917
+ */
3918
+ this.nestingSpacer = '<span class="nestingSpacer"></span>';
3827
3919
 
3828
- class AuroElement extends r$4 {
3920
+ /**
3921
+ * @private
3922
+ */
3923
+ this.loadingSlots = null;
3924
+ }
3829
3925
 
3830
- // function to define props used within the scope of this component
3831
3926
  static get properties() {
3832
3927
  return {
3833
- hidden: { type: Boolean,
3834
- reflect: true },
3835
- hiddenVisually: { type: Boolean,
3836
- reflect: true },
3837
- hiddenAudible: { type: Boolean,
3838
- reflect: true },
3928
+ noCheckmark: {
3929
+ type: Boolean,
3930
+ reflect: true
3931
+ },
3932
+ disabled: {
3933
+ type: Boolean,
3934
+ reflect: true
3935
+ },
3936
+ loading: {
3937
+ type: Boolean,
3938
+ reflect: true
3939
+ },
3940
+ optionSelected: { type: Object },
3941
+ optionActive: { type: Object },
3942
+ matchWord: { type: String },
3943
+ value: { type: String }
3839
3944
  };
3840
3945
  }
3841
3946
 
3947
+ static get styles() {
3948
+ return [
3949
+ styleCss$2,
3950
+ colorCss$2,
3951
+ tokensCss$1
3952
+ ];
3953
+ }
3954
+
3842
3955
  /**
3843
- * @private Function that determines state of aria-hidden
3956
+ * This will register this element with the browser.
3957
+ * @param {string} [name="auro-menu"] - The name of element that you want to register to.
3958
+ *
3959
+ * @example
3960
+ * AuroMenu.register("custom-menu") // this will register this element to <custom-menu/>
3961
+ *
3844
3962
  */
3845
- hideAudible(value) {
3846
- if (value) {
3847
- return 'true'
3848
- }
3849
-
3850
- return 'false'
3963
+ static register(name = "auro-menu") {
3964
+ AuroLibraryRuntimeUtils$1.prototype.registerComponent(name, AuroMenu);
3851
3965
  }
3852
- }
3853
3966
 
3854
- 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>"};
3855
-
3856
- /* eslint-disable no-underscore-dangle, jsdoc/no-undefined-types, jsdoc/require-param-description */
3967
+ /**
3968
+ * Passes the noCheckmark attribute to all nested auro-menuoptions.
3969
+ * @private
3970
+ * @returns {void}
3971
+ */
3972
+ handleNoCheckmarkAttr() {
3973
+ if (this.noCheckmark) {
3974
+ const menus = this.querySelectorAll('auro-menu, [auro-menu]');
3857
3975
 
3858
- const _fetchMap = new Map();
3976
+ menus.forEach((menu) => {
3977
+ menu.setAttribute('noCheckmark', '');
3978
+ });
3859
3979
 
3860
- /**
3861
- * A callback to parse Response body.
3862
- *
3863
- * @callback ResponseParser
3864
- * @param {Fetch.Response} response
3865
- * @returns {Promise}
3866
- */
3980
+ const options = this.querySelectorAll('auro-menuoption, [auro-menuoption]');
3867
3981
 
3868
- /**
3869
- * A minimal in-memory map to de-duplicate Fetch API media requests.
3870
- *
3871
- * @param {String} uri
3872
- * @param {Object} [options={}]
3873
- * @param {ResponseParser} [options.responseParser=(response) => response.text()]
3874
- * @returns {Promise}
3875
- */
3876
- const cacheFetch = (uri, options = {}) => {
3877
- const responseParser = options.responseParser || ((response) => response.text());
3878
- if (!_fetchMap.has(uri)) {
3879
- _fetchMap.set(uri, fetch(uri).then(responseParser));
3982
+ options.forEach((option) => {
3983
+ option.setAttribute('noCheckmark', '');
3984
+ });
3985
+ }
3880
3986
  }
3881
- return _fetchMap.get(uri);
3882
- };
3883
3987
 
3884
- 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}`;
3988
+ firstUpdated() {
3989
+ // Add the tag name as an attribute if it is different than the component name
3990
+ this.runtimeUtils.handleComponentTagRename(this, 'auro-menu');
3885
3991
 
3886
- // Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
3887
- // See LICENSE in the project root for license information.
3992
+ this.addEventListener('keydown', this.handleKeyDown);
3888
3993
 
3994
+ this.loadingSlots = this.querySelectorAll("[slot='loadingText'], [slot='loadingIcon']");
3995
+ }
3889
3996
 
3890
- // See https://git.io/JJ6SJ for "How to document your components using JSDoc"
3891
- /**
3892
- * @attr {Boolean} onDark - Set value for on-dark version of auro-icon
3893
- * @slot - Hidden from visibility, used for a11y if icon description is needed
3894
- */
3997
+ updated(changedProperties) {
3998
+ if (changedProperties.has('matchWord')) {
3999
+ this.markOptions();
4000
+ }
3895
4001
 
3896
- // build the component class
3897
- class BaseIcon extends AuroElement {
3898
- constructor() {
3899
- super();
3900
- this.onDark = false;
3901
- }
4002
+ if (changedProperties.has('value')) {
4003
+ this.selectByValue(this.value);
4004
+ }
3902
4005
 
3903
- // function to define props used within the scope of this component
3904
- static get properties() {
3905
- return {
3906
- ...super.properties,
3907
- onDark: {
3908
- type: Boolean,
3909
- reflect: true
3910
- },
4006
+ if (changedProperties.has('disabled')) {
4007
+ const options = Array.from(this.querySelectorAll('auro-menuoption, [auro-menuoption]'));
3911
4008
 
3912
- /**
3913
- * @private
3914
- */
3915
- svg: {
3916
- attribute: false,
3917
- reflect: true
4009
+ for (const element of options) {
4010
+ element.disabled = this.disabled;
3918
4011
  }
3919
- };
3920
- }
4012
+ }
3921
4013
 
3922
- static get styles() {
3923
- return i$b`
3924
- ${styleCss}
3925
- `;
4014
+ if (changedProperties.has('loading')) {
4015
+ const event = new CustomEvent("auroMenu-loadingChange", {
4016
+ detail: {
4017
+ loading: this.loading,
4018
+ hasLoadingPlaceholder:
4019
+ this.hasLoadingPlaceholder
4020
+ }
4021
+ });
4022
+ this.setAttribute("aria-busy", this.hasAttribute("loading"));
4023
+ this.dispatchEvent(event);
4024
+ }
3926
4025
  }
3927
4026
 
3928
4027
  /**
3929
- * Async function to fetch requested icon from npm CDN.
3930
4028
  * @private
3931
- * @param {string} category - Icon category.
3932
- * @param {string} name - Icon name.
3933
- * @returns {SVGElement} DOM - Ready HTML to be appended.
4029
+ * @param {Object} option - The menuoption to check for interactive state.
4030
+ * @returns {Boolean} Returns true if the option is interactive.
3934
4031
  */
3935
- async fetchIcon(category, name) {
3936
- let iconHTML = '';
3937
-
3938
- if (category === 'logos') {
3939
- iconHTML = await cacheFetch(`${this.uri}/${category}/${name}.svg`);
3940
- } else {
3941
- iconHTML = await cacheFetch(`${this.uri}/icons/${category}/${name}.svg`);
3942
- }
3943
-
3944
- const dom = new DOMParser().parseFromString(iconHTML, 'text/html');
3945
-
3946
- return dom.body.querySelector('svg');
4032
+ optionInteractive(option) {
4033
+ return !option.hasAttribute('hidden') && !option.hasAttribute('disabled') && !option.hasAttribute('static');
3947
4034
  }
3948
4035
 
3949
- // lifecycle function
3950
- async firstUpdated() {
3951
- if (!this.customSvg) {
3952
- const svg = await this.fetchIcon(this.category, this.name);
3953
-
3954
- if (svg) {
3955
- this.svg = svg;
3956
- } else if (!svg) {
3957
- const penDOM = new DOMParser().parseFromString(error.svg, 'text/html');
3958
-
3959
- this.svg = penDOM.body.firstChild;
3960
- }
3961
- }
3962
- }
3963
- }
3964
-
3965
- 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)}`;
3966
-
3967
- 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)}`;
3968
-
3969
- // Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
3970
- // See LICENSE in the project root for license information.
3971
-
4036
+ /**
4037
+ * @private
4038
+ * @returns {void} When called will update the DOM with visible suggest text matches.
4039
+ */
4040
+ markOptions() {
4041
+ if (this.items && this.items.length > 0 && (this.matchWord && this.matchWord.length > 0)) {
3972
4042
 
3973
- // See https://git.io/JJ6SJ for "How to document your components using JSDoc"
3974
- /**
3975
- * auro-icon provides users a way to use the Auro Icons by simply passing in the category and name.
3976
- *
3977
- * @attr {String} category - The category of the icon you are looking for. See https://auro.alaskaair.com/icons/usage.
3978
- * @attr {String} name - The name of the icon you are looking for without the file extension. See https://auro.alaskaair.com/icons/usage
3979
- * @attr {Boolean} customColor - Removes primary selector.
3980
- * @attr {Boolean} customSvg - When true, auro-icon will render a custom SVG inside the default slot.
3981
- * @attr {Boolean} label - Exposes content in slot as icon label.
3982
- * @attr {Boolean} primary - DEPRECATED: Sets the icon to use the baseline primary icon style.
3983
- * @attr {Boolean} accent - Sets the icon to use the accent style.
3984
- * @attr {Boolean} emphasis - Sets the icon to use the emphasis style.
3985
- * @attr {Boolean} disabled - Sets the icon to use the disabled style.
3986
- * @attr {Boolean} error - Sets the icon to use the error style.
3987
- * @attr {Boolean} info - Sets the icon to use the info style.
3988
- * @attr {Boolean} secondary - Sets the icon to use the secondary style.
3989
- * @attr {Boolean} tertiary - Sets the icon to use the tertiary style.
3990
- * @attr {Boolean} subtle - Sets the icon to use the subtle style.
3991
- * @attr {Boolean} success - Sets the icon to use the success style.
3992
- * @attr {Boolean} warning - Sets the icon to use the warning style.
3993
- * @attr {String} ariaHidden - Set aria-hidden value. Default is `true`. Option is `false`.
3994
- * @attr {String} uri - Set the uri for CDN used when fetching icons
3995
- * @slot - Hidden from visibility, used for a11y if icon description is needed.
3996
- * @slot svg - Used for custom SVG content.
3997
- */
4043
+ // Escape special regex characters
4044
+ const escapedWord = this.matchWord.replace(/[.*+?^${}()|[\]\\]/gu, '\\$&');
3998
4045
 
3999
- // build the component class
4000
- class AuroIcon extends BaseIcon {
4001
- constructor() {
4002
- super();
4046
+ // Global, case-insensitive, unicode matching regex pattern
4047
+ const regexWord = new RegExp(escapedWord, 'giu');
4003
4048
 
4004
- this.uri = 'https://cdn.jsdelivr.net/npm/@alaskaairux/icons@latest/dist';
4049
+ this.items.forEach((item) => {
4050
+ if (this.optionInteractive(item) && !item.hasAttribute('persistent')) {
4051
+ const nested = item.querySelectorAll('.nestingSpacer');
4052
+ const nestingSpacerBundle = [...nested].map(() => this.nestingSpacer).join('');
4005
4053
 
4006
- this.privateDefaults();
4054
+ item.innerHTML = nestingSpacerBundle + item.textContent.replace(regexWord, (match) => `<strong>${match}</strong>`);
4055
+ }
4056
+ });
4057
+ }
4007
4058
  }
4008
4059
 
4009
4060
  /**
4010
- * Internal Defaults.
4011
- * @private
4012
- * @returns {void}
4061
+ * Reset the menu and all options.
4013
4062
  */
4014
- privateDefaults() {
4015
- this.accent = false;
4016
- this.customColor = false;
4017
- this.customSvg = false;
4018
- this.disabled = false;
4019
- this.emphasis = false;
4020
- this.error = false;
4021
- this.info = false;
4022
- this.label = false;
4023
- this.primary = false;
4024
- this.secondary = false;
4025
- this.subtle = false;
4026
- this.success = false;
4027
- this.tertiary = false;
4028
- this.warning = false;
4029
- this.runtimeUtils = new AuroLibraryRuntimeUtils$1();
4063
+ resetOptionsStates() {
4064
+ this.optionSelected = undefined;
4065
+ if (this.items) {
4066
+ this.items.forEach((item) => {
4067
+ item.classList.remove('active');
4068
+ item.removeAttribute('selected');
4069
+ });
4070
+ }
4030
4071
  }
4031
4072
 
4032
- // function to define props used within the scope of this component
4033
- static get properties() {
4034
- return {
4035
- ...super.properties,
4036
- accent: {
4037
- type: Boolean,
4038
- reflect: true
4039
- },
4040
- ariaHidden: {
4041
- type: String,
4042
- reflect: true
4043
- },
4044
- category: {
4045
- type: String,
4046
- reflect: true
4047
- },
4048
- customColor: {
4049
- type: Boolean
4050
- },
4051
- customSvg: {
4052
- type: Boolean
4053
- },
4054
- disabled: {
4055
- type: Boolean,
4056
- reflect: true
4057
- },
4058
- emphasis: {
4059
- type: Boolean,
4060
- reflect: true
4061
- },
4062
- error: {
4063
- type: Boolean,
4064
- reflect: true
4065
- },
4066
- info: {
4067
- type: Boolean,
4068
- reflect: true
4069
- },
4070
- label: {
4071
- type: Boolean,
4072
- reflect: true
4073
- },
4074
- name: {
4075
- type: String,
4076
- reflect: true
4077
- },
4078
- primary: {
4079
- type: Boolean,
4080
- reflect: true
4081
- },
4082
- secondary: {
4083
- type: Boolean,
4084
- reflect: true
4085
- },
4086
- subtle: {
4087
- type: Boolean,
4088
- reflect: true
4089
- },
4090
- success: {
4091
- type: Boolean,
4092
- reflect: true
4093
- },
4094
- tertiary: {
4095
- type: Boolean,
4096
- reflect: true
4097
- },
4098
- uri: {
4099
- type: String
4100
- },
4101
- warning: {
4102
- type: Boolean,
4103
- reflect: true
4104
- }
4105
- };
4106
- }
4073
+ /**
4074
+ * Set the attributes on the selected menuoption, the menu value and stored option.
4075
+ * @param {Object} option - The menuoption to be selected.
4076
+ * @private
4077
+ */
4078
+ handleLocalSelectState(option) {
4079
+ option.setAttribute('selected', '');
4080
+ option.classList.add('active');
4081
+ option.ariaSelected = true;
4107
4082
 
4108
- static get styles() {
4109
- return [
4110
- super.styles,
4111
- i$b`${tokensCss}`,
4112
- i$b`${styleCss}`,
4113
- i$b`${colorCss}`
4114
- ];
4083
+ this.value = option.value;
4084
+ this.optionSelected = option;
4085
+ this.index = this.items.indexOf(option);
4115
4086
  }
4116
4087
 
4117
4088
  /**
4118
- * This will register this element with the browser.
4119
- * @param {string} [name="auro-icon"] - The name of element that you want to register to.
4120
- *
4121
- * @example
4122
- * AuroIcon.register("custom-icon") // this will register this element to <custom-icon/>
4123
- *
4089
+ * Notify selection change.
4090
+ * @private
4091
+ * @return {void}
4124
4092
  */
4125
- static register(name = "auro-icon") {
4126
- AuroLibraryRuntimeUtils$1.prototype.registerComponent(name, AuroIcon);
4127
- }
4128
-
4129
- connectedCallback() {
4130
- super.connectedCallback();
4093
+ notifySelectionChange() {
4094
+ // this event needs to be removed after select and combobox are updated to use the new standard name
4095
+ this.dispatchEvent(new CustomEvent('selectedOption', {
4096
+ bubbles: true,
4097
+ cancelable: false,
4098
+ composed: true,
4099
+ }));
4131
4100
 
4132
- // Add the tag name as an attribute if it is different than the component name
4133
- this.runtimeUtils.handleComponentTagRename(this, 'auro-icon');
4101
+ this.dispatchEvent(new CustomEvent('auroMenu-selectedOption', {
4102
+ bubbles: true,
4103
+ cancelable: false,
4104
+ composed: true,
4105
+ }));
4134
4106
  }
4135
4107
 
4136
4108
  /**
4137
- * @returns {void} Exposes CSS parts for styling from parent components.
4109
+ * Process actions for making making a menuoption selection.
4138
4110
  */
4139
- exposeCssParts() {
4140
- this.setAttribute('exportparts', 'svg:iconSvg');
4141
- }
4142
-
4143
- // function that renders the HTML and CSS into the scope of the component
4144
- render() {
4145
- const a11y = {
4146
- 'labelContainer': true,
4147
- 'util_displayHiddenVisually': !this.label
4148
- };
4149
-
4150
- const classes = {
4151
- 'label': this.label
4152
- };
4153
-
4154
- return x$1`
4155
- <div
4156
- class="${e(classes)}"
4157
- title="${o(this.title || undefined)}">
4158
- <span aria-hidden="${o(this.ariaHidden ? this.ariaHidden : true)}" part="svg">
4159
- ${this.customSvg ? x$1`
4160
- <slot name="svg"></slot>
4161
- ` : x$1`
4162
- ${this.svg}
4163
- `
4164
- }
4165
- </span>
4111
+ makeSelection() {
4112
+ if (!this.items) {
4113
+ this.initItems();
4114
+ }
4166
4115
 
4167
- <div class="${e(a11y)}">
4168
- <slot></slot>
4169
- </div>
4170
- </div>
4171
- `;
4172
- }
4173
- }
4116
+ if (this.items[this.index] && !this.items[this.index].hasAttribute('disabled')) {
4117
+ this.resetOptionsStates();
4174
4118
 
4175
- var iconVersion = '6.1.1';
4119
+ if (this.index >= 0) {
4120
+ const option = this.items[this.index];
4176
4121
 
4177
- 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>"};
4122
+ // only handle options that are not disabled, hidden or static
4123
+ if (option && this.optionInteractive(option)) {
4124
+ // fire custom event if defined otherwise make selection
4125
+ if (option.hasAttribute('event')) {
4126
+ this.dispatchEvent(new CustomEvent(option.getAttribute('event'), {
4127
+ bubbles: true,
4128
+ cancelable: false,
4129
+ composed: true,
4130
+ }));
4178
4131
 
4179
- // Copyright (c) 2021 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
4180
- // See LICENSE in the project root for license information.
4132
+ // this event needs to be removed after select and combobox are updated to use the new standard name
4133
+ this.dispatchEvent(new CustomEvent('auroMenuCustomEventFired', {
4134
+ bubbles: true,
4135
+ cancelable: false,
4136
+ composed: true,
4137
+ }));
4181
4138
 
4139
+ this.dispatchEvent(new CustomEvent('auroMenu-customEventFired', {
4140
+ bubbles: true,
4141
+ cancelable: false,
4142
+ composed: true,
4143
+ }));
4144
+ } else {
4145
+ this.handleLocalSelectState(option);
4146
+ }
4147
+ }
4148
+ }
4149
+ }
4182
4150
 
4183
- /**
4184
- * The auro-menu element provides users a way to define a menu option.
4185
- *
4186
- * @attr {String} value - Specifies the value to be sent to a server.
4187
- * @attr {String} noCheckmark - When true, selected option will not show the checkmark.
4188
- * @attr {Boolean} disabled - When true specifies that the menuoption is disabled.
4189
- * @attr {Boolean} selected - Specifies that an option is selected.
4190
- * @event auroMenuOption-mouseover - Notifies that this option has been hovered over.
4191
- * @slot Specifies text for an option, but is not the value.
4192
- */
4193
- class AuroMenuOption extends r$4 {
4194
- constructor() {
4195
- super();
4151
+ this.notifySelectionChange();
4152
+ }
4196
4153
 
4197
- /**
4198
- * Generate unique names for dependency components.
4199
- */
4200
- const versioning = new AuroDependencyVersioning$1();
4201
- this.iconTag = versioning.generateTag('auro-icon', iconVersion, AuroIcon);
4154
+ /**
4155
+ * Manage ArrowDown, ArrowUp and Enter keyboard events.
4156
+ * @private
4157
+ * @param {Object} event - Event object from the browser.
4158
+ */
4159
+ handleKeyDown(event) {
4160
+ event.preventDefault();
4202
4161
 
4203
- this.selected = false;
4204
- this.nocheckmark = false;
4205
- this.disabled = false;
4162
+ // With ArrowDown/ArrowUp events, pass new value to selectNextItem()
4163
+ // With Enter event, set value and apply attrs
4164
+ switch (event.key) {
4165
+ case "ArrowDown":
4166
+ this.selectNextItem('down');
4167
+ break;
4206
4168
 
4207
- /**
4208
- * @private
4209
- */
4210
- this.tabIndex = -1;
4169
+ case "ArrowUp":
4170
+ this.selectNextItem('up');
4171
+ break;
4211
4172
 
4212
- /**
4213
- * @private
4214
- */
4215
- this.runtimeUtils = new AuroLibraryRuntimeUtils$1();
4173
+ case "Enter":
4174
+ this.makeSelection();
4175
+ break;
4176
+ }
4216
4177
  }
4217
4178
 
4218
- static get properties() {
4219
- return {
4220
- nocheckmark: {
4221
- type: Boolean,
4222
- reflect: true
4223
- },
4224
- selected: {
4225
- type: Boolean,
4226
- reflect: true
4227
- },
4228
- disabled: {
4229
- type: Boolean,
4230
- reflect: true
4231
- },
4232
- value: {
4233
- type: String,
4234
- reflect: true
4235
- },
4236
- tabIndex: {
4237
- type: Number,
4238
- reflect: true
4239
- }
4240
- };
4179
+ /**
4180
+ * Initializes all menu options in the DOM. This must be re-run every time the options are changed.
4181
+ * @private
4182
+ */
4183
+ initItems() {
4184
+ this.items = Array.from(this.querySelectorAll('auro-menuoption, [auro-menuoption]'));
4185
+ this.handleNoCheckmarkAttr();
4241
4186
  }
4242
4187
 
4243
- static get styles() {
4244
- return [
4245
- styleCss$1,
4246
- colorCss$1,
4247
- tokensCss$1
4248
- ];
4188
+ /**
4189
+ * Sets the index value of the selected item or first non-disabled menuoption.
4190
+ * @private
4191
+ */
4192
+ getSelectedIndex() {
4193
+ // find the first `selected` and not `disabled`, `hidden` or `static` option
4194
+ const index = this.items.findIndex((option) => option.hasAttribute('selected') && this.optionInteractive(option));
4195
+
4196
+ if (index >= 0) {
4197
+ this.index = index;
4198
+ this.makeSelection();
4199
+ }
4249
4200
  }
4250
4201
 
4251
4202
  /**
4252
- * This will register this element with the browser.
4253
- * @param {string} [name="auro-menuoption"] - The name of element that you want to register to.
4254
- *
4255
- * @example
4256
- * AuroMenuOption.register("custom-menuoption") // this will register this element to <custom-menuoption/>
4203
+ * Using value of current this.index evaluates index
4204
+ * of next :focus to set based on array of this.items ignoring items
4205
+ * with disabled attr.
4257
4206
  *
4207
+ * The event.target is not used as the function needs to know where to go,
4208
+ * versus knowing where it is.
4209
+ * @param {String} moveDirection - Up or Down based on keyboard event.
4258
4210
  */
4259
- static register(name = "auro-menuoption") {
4260
- AuroLibraryRuntimeUtils$1.prototype.registerComponent(name, AuroMenuOption);
4261
- }
4211
+ selectNextItem(moveDirection) {
4212
+ if (this.index >= 0) {
4213
+ this.items[this.index].classList.remove('active');
4262
4214
 
4263
- firstUpdated() {
4264
- // Add the tag name as an attribute if it is different than the component name
4265
- this.runtimeUtils.handleComponentTagRename(this, 'auro-menuoption');
4215
+ // calculate which is the selection we should focus next
4216
+ let increment = 0;
4266
4217
 
4267
- this.setAttribute('role', 'option');
4268
- this.setAttribute('aria-selected', 'false');
4218
+ if (moveDirection === 'down') {
4219
+ increment = 1;
4220
+ } else if (moveDirection === 'up') {
4221
+ increment = -1;
4222
+ }
4269
4223
 
4270
- this.addEventListener('mouseover', () => {
4271
- this.dispatchEvent(new CustomEvent('auroMenuOption-mouseover', {
4272
- bubbles: true,
4273
- cancelable: false,
4274
- composed: true,
4275
- detail: this
4276
- }));
4277
- });
4278
- }
4224
+ this.index += increment;
4279
4225
 
4280
- // observer for selected property changes
4281
- updated(changedProperties) {
4282
- if (changedProperties.has('selected')) {
4283
- this.setAttribute('aria-selected', this.selected.toString());
4226
+ // keep looping inside the array of options
4227
+ if (this.index > this.items.length - 1) {
4228
+ this.index = 0;
4229
+ } else if (this.index < 0) {
4230
+ this.index = this.items.length - 1;
4231
+ }
4232
+
4233
+ // check if new index is disabled, static or hidden, if so, execute again
4234
+ if (!this.optionInteractive(this.items[this.index])) {
4235
+ this.selectNextItem(moveDirection);
4236
+ } else {
4237
+ // apply focus to new index
4238
+ this.updateActiveOption(this.index);
4239
+ }
4240
+ } else {
4241
+ this.index = 0;
4242
+
4243
+ if (this.items[this.index].hasAttribute('hidden') || this.items[this.index].hasAttribute('disabled')) {
4244
+ this.selectNextItem(moveDirection);
4245
+ } else {
4246
+ this.updateActiveOption(this.index);
4247
+ }
4284
4248
  }
4285
4249
  }
4286
4250
 
4287
4251
  /**
4288
- * Generates an HTML element containing an SVG icon based on the provided `svgContent`.
4289
- *
4252
+ * Used for applying indentation to each level of nested menu.
4290
4253
  * @private
4291
- * @param {string} svgContent - The SVG content to be embedded.
4292
- * @returns {Element} The HTML element containing the SVG icon.
4254
+ * @param {String} menu - Root level menu object.
4293
4255
  */
4294
- generateIconHtml(svgContent) {
4295
- const dom = new DOMParser().parseFromString(svgContent, 'text/html');
4296
- const svg = dom.body.firstChild;
4256
+ handleNestedMenus(menu) {
4257
+ const nestedMenus = menu.querySelectorAll('auro-menu, [auro-menu');
4297
4258
 
4298
- svg.setAttribute('slot', 'svg');
4259
+ if (nestedMenus.length === 0) {
4260
+ return;
4261
+ }
4299
4262
 
4300
- return u$3`<${this.iconTag} customColor customSvg slot="icon">${svg}</${this.iconTag}>`;
4301
- }
4263
+ nestedMenus.forEach((nestedMenu) => {
4264
+ const options = nestedMenu.querySelectorAll(':scope > auro-menuoption, :scope > [auro-menuoption');
4302
4265
 
4303
- render() {
4304
- return u$3`
4305
- ${this.selected && !this.nocheckmark ? this.generateIconHtml(checkmarkIcon.svg) : undefined}
4306
- <slot></slot>
4307
- `;
4308
- }
4309
- }
4266
+ options.forEach((option) => {
4267
+ option.innerHTML = this.nestingSpacer + option.innerHTML;
4268
+ });
4310
4269
 
4311
- // Copyright (c) 2021 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
4312
- // See LICENSE in the project root for license information.
4270
+ this.handleNestedMenus(nestedMenu);
4271
+ });
4272
+ }
4313
4273
 
4274
+ /**
4275
+ * Method to apply `selected` attribute to `menuoption` via `value`.
4276
+ * @private
4277
+ * @param {String} value - Must match a unique `menuoption` value.
4278
+ */
4279
+ selectByValue(value) {
4280
+ let valueMatch = false;
4281
+ if (!this.items) {
4282
+ this.initItems();
4283
+ }
4314
4284
 
4315
- // See https://git.io/JJ6SJ for "How to document your components using JSDoc"
4316
- /**
4317
- * The auro-menu element provides users a way to select from a list of options.
4318
- * @attr {Object} optionSelected - Specifies the current selected menuOption.
4319
- * @attr {String} matchWord - Specifies the a string used to highlight matched string parts in options.
4320
- * @attr {Boolean} disabled - When true, the entire menu and all options are disabled;
4321
- * @attr {Boolean} noCheckmark - When true, selected option will not show the checkmark.
4322
- * @attr {String} value - Value selected for the menu.
4323
- * @event auroMenu-selectedOption - Notifies that a new menuoption selection has been made.
4324
- * @event selectedOption - (DEPRECATED) Notifies that a new menuoption selection has been made.
4325
- * @event auroMenu-activatedOption - Notifies that a menuoption has been made `active`.
4326
- * @event auroMenuActivatedOption - (DEPRECATED) Notifies that a menuoption has been made `active`.
4327
- * @event auroMenu-selectValueFailure - Notifies that a an attempt to select a menuoption by matching a value has failed.
4328
- * @event auroMenuSelectValueFailure - (DEPRECATED) Notifies that a an attempt to select a menuoption by matching a value has failed.
4329
- * @event auroMenu-customEventFired - Notifies that a custom event has been fired.
4330
- * @event auroMenuCustomEventFired - (DEPRECATED) Notifies that a custom event has been fired.
4331
- * @event auroMenu-selectValueReset - Notifies that the component value has been reset.
4332
- * @slot Slot for insertion of menu options.
4333
- */
4285
+ this.index = undefined;
4334
4286
 
4335
- /* eslint-disable no-magic-numbers, max-lines */
4287
+ if (this.value && this.value.length > 0) {
4288
+ for (let index = 0; index < this.items.length; index += 1) {
4289
+ if (this.items[index].value === value) {
4290
+ valueMatch = true;
4291
+ this.index = index;
4292
+ }
4293
+ }
4336
4294
 
4337
- class AuroMenu extends r$4 {
4338
- constructor() {
4339
- super();
4340
- this.value = undefined;
4341
- this.optionSelected = undefined;
4342
- this.matchWord = undefined;
4343
- this.noCheckmark = false;
4344
- this.optionActive = undefined;
4295
+ if (!valueMatch) {
4296
+ // reset the menu to no selection
4297
+ this.index = undefined;
4345
4298
 
4346
- /**
4347
- * @private
4348
- */
4349
- this.rootMenu = true;
4299
+ // this event needs to be removed after select and combobox are updated to use the new standard name
4300
+ this.dispatchEvent(new CustomEvent('auroMenuSelectValueFailure', {
4301
+ bubbles: true,
4302
+ cancelable: false,
4303
+ composed: true,
4304
+ }));
4350
4305
 
4351
- /**
4352
- * @private
4353
- */
4354
- this.runtimeUtils = new AuroLibraryRuntimeUtils$1();
4306
+ this.dispatchEvent(new CustomEvent('auroMenu-selectValueFailure', {
4307
+ bubbles: true,
4308
+ cancelable: false,
4309
+ composed: true,
4310
+ }));
4311
+ } else {
4312
+ this.makeSelection();
4313
+ }
4314
+ } else {
4315
+ this.resetOptionsStates();
4355
4316
 
4356
- /**
4357
- * @private
4358
- */
4359
- this.nestingSpacer = '<span class="nestingSpacer"></span>';
4317
+ this.dispatchEvent(new CustomEvent('auroMenu-selectValueReset', {
4318
+ bubbles: true,
4319
+ cancelable: false,
4320
+ composed: true,
4321
+ }));
4322
+ }
4360
4323
  }
4361
4324
 
4362
- static get properties() {
4363
- return {
4364
- noCheckmark: {
4365
- type: Boolean,
4366
- reflect: true
4367
- },
4368
- disabled: {
4369
- type: Boolean,
4370
- reflect: true
4371
- },
4372
- optionSelected: { type: Object },
4373
- optionActive: { type: Object },
4374
- matchWord: { type: String },
4375
- value: { type: String }
4376
- };
4325
+ /**
4326
+ * Used to make the active state for options follow mouseover.
4327
+ * @param {Number} index - Index of the menuoption that will be made active.
4328
+ * @private
4329
+ */
4330
+ updateActiveOption(index) {
4331
+ this.items.forEach((item) => {
4332
+ item.classList.remove('active');
4333
+ });
4334
+ this.items[index].classList.add('active');
4335
+ this.optionActive = this.items[index];
4336
+
4337
+ this.dispatchEvent(new CustomEvent('auroMenuActivatedOption', {
4338
+ bubbles: true,
4339
+ cancelable: false,
4340
+ composed: true,
4341
+ detail: this.items[index]
4342
+ }));
4343
+
4344
+ this.dispatchEvent(new CustomEvent('auroMenu-activatedOption', {
4345
+ bubbles: true,
4346
+ cancelable: false,
4347
+ composed: true,
4348
+ detail: this.items[index]
4349
+ }));
4377
4350
  }
4378
4351
 
4379
- static get styles() {
4380
- return [
4381
- styleCss$2,
4382
- colorCss$2,
4383
- tokensCss$1
4384
- ];
4352
+ /**
4353
+ * Used to only make a selection when a menuoption is receiving a mousedown event.
4354
+ * @param {Event} evt - Mousedown event.
4355
+ * @private
4356
+ */
4357
+ handleMenuMouseDown(evt) {
4358
+ if (evt.target !== this) {
4359
+ this.makeSelection();
4360
+ }
4385
4361
  }
4386
4362
 
4387
4363
  /**
4388
- * This will register this element with the browser.
4389
- * @param {string} [name="auro-menu"] - The name of element that you want to register to.
4364
+ * Checks if there are any loading placeholders in the component.
4390
4365
  *
4391
- * @example
4392
- * AuroMenu.register("custom-menu") // this will register this element to <custom-menu/>
4366
+ * This getter evaluates the `loadingSlots` collection to determine if it contains any items.
4367
+ * If the size of the collection is greater than zero, it indicates the presence of loading
4368
+ * placeholders, returning true; otherwise, it returns false.
4393
4369
  *
4394
- */
4395
- static register(name = "auro-menu") {
4396
- AuroLibraryRuntimeUtils$1.prototype.registerComponent(name, AuroMenu);
4370
+ * @getter hasLoadingPlaceholder
4371
+ * @type {boolean}
4372
+ * @returns {boolean} Returns true if loading placeholders exist; false otherwise.
4373
+ */
4374
+ get hasLoadingPlaceholder() {
4375
+ return this.loadingSlots.length > 0;
4397
4376
  }
4398
4377
 
4399
4378
  /**
4400
- * Passes the noCheckmark attribute to all nested auro-menuoptions.
4379
+ * Used for @slotchange event on slotted element.
4401
4380
  * @private
4402
- * @returns {void}
4403
4381
  */
4404
- handleNoCheckmarkAttr() {
4405
- if (this.noCheckmark) {
4406
- const menus = this.querySelectorAll('auro-menu, [auro-menu]');
4407
-
4408
- menus.forEach((menu) => {
4409
- menu.setAttribute('noCheckmark', '');
4410
- });
4382
+ handleSlotItems() {
4383
+ // Determine if this is the root of the menu/submenu layout.
4384
+ if (this.parentElement && this.parentElement.closest('auro-menu, [auro-menu]')) {
4385
+ this.rootMenu = false;
4386
+ }
4411
4387
 
4412
- const options = this.querySelectorAll('auro-menuoption, [auro-menuoption]');
4388
+ // If this is the root menu (not a nested menu) handle events, states and styling.
4389
+ if (this.rootMenu) {
4390
+ this.initItems();
4391
+ this.setAttribute('role', 'listbox');
4392
+ this.setAttribute('root', '');
4393
+ this.handleNestedMenus(this);
4394
+ this.markOptions();
4395
+ this.index = -1;
4396
+ this.getSelectedIndex();
4413
4397
 
4414
- options.forEach((option) => {
4415
- option.setAttribute('noCheckmark', '');
4398
+ this.addEventListener('keydown', this.handleKeyDown);
4399
+ this.addEventListener('mousedown', this.handleMenuMouseDown);
4400
+ this.addEventListener('auroMenuOption-mouseover', (evt) => {
4401
+ this.index = this.items.indexOf(evt.target);
4402
+ this.updateActiveOption(this.index);
4416
4403
  });
4404
+ } else {
4405
+ // make sure to update all menuoption noCheckmark attributes when the menu is dynamically changed
4406
+ this.handleNoCheckmarkAttr();
4417
4407
  }
4418
4408
  }
4419
4409
 
4420
- firstUpdated() {
4421
- // Add the tag name as an attribute if it is different than the component name
4422
- this.runtimeUtils.handleComponentTagRename(this, 'auro-menu');
4423
-
4424
- this.addEventListener('keydown', this.handleKeyDown);
4410
+ render() {
4411
+ if (this.loading) {
4412
+ return x$1`
4413
+ <auro-menuoption disabled loadingplaceholder class="${this.hasLoadingPlaceholder ? '' : 'empty'}">
4414
+ <div>
4415
+ <slot name="loadingIcon"></slot>
4416
+ <slot name="loadingText"></slot>
4417
+ </div>
4418
+ </auro-menuoption>
4419
+ `;
4420
+ }
4421
+ return x$1`<slot @slotchange=${this.handleSlotItems}></slot>`;
4425
4422
  }
4423
+ }
4426
4424
 
4427
- updated(changedProperties) {
4428
- if (changedProperties.has('matchWord')) {
4429
- this.markOptions();
4430
- }
4425
+ 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}`;
4431
4426
 
4432
- if (changedProperties.has('value')) {
4433
- this.selectByValue(this.value);
4434
- }
4427
+ 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)}`;
4435
4428
 
4436
- if (changedProperties.has('disabled')) {
4437
- const options = Array.from(this.querySelectorAll('auro-menuoption, [auro-menuoption]'));
4429
+ /**
4430
+ * @license
4431
+ * Copyright 2017 Google LLC
4432
+ * SPDX-License-Identifier: BSD-3-Clause
4433
+ */
4434
+ 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)}}
4438
4435
 
4439
- for (const element of options) {
4440
- element.disabled = this.disabled;
4441
- }
4442
- }
4443
- }
4436
+ /**
4437
+ * @license
4438
+ * Copyright 2018 Google LLC
4439
+ * SPDX-License-Identifier: BSD-3-Clause
4440
+ */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}});
4444
4441
 
4445
- /**
4446
- * @private
4447
- * @param {Object} option - The menuoption to check for interactive state.
4448
- * @returns {Boolean} Returns true if the option is interactive.
4449
- */
4450
- optionInteractive(option) {
4451
- return !option.hasAttribute('hidden') && !option.hasAttribute('disabled') && !option.hasAttribute('static');
4452
- }
4442
+ /**
4443
+ * @license
4444
+ * Copyright 2018 Google LLC
4445
+ * SPDX-License-Identifier: BSD-3-Clause
4446
+ */const o=o=>o??E$1;
4453
4447
 
4454
- /**
4455
- * @private
4456
- * @returns {void} When called will update the DOM with visible suggest text matches.
4457
- */
4458
- markOptions() {
4459
- if (this.items && this.items.length > 0 && (this.matchWord && this.matchWord.length > 0)) {
4448
+ // Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
4449
+ // See LICENSE in the project root for license information.
4460
4450
 
4461
- // Escape special regex characters
4462
- const escapedWord = this.matchWord.replace(/[.*+?^${}()|[\]\\]/gu, '\\$&');
4463
4451
 
4464
- // Global, case-insensitive, unicode matching regex pattern
4465
- const regexWord = new RegExp(escapedWord, 'giu');
4452
+ /**
4453
+ * @attr {Boolean} hidden - If present, the component will be hidden both visually and from screen readers
4454
+ * @attr {Boolean} hiddenVisually - If present, the component will be hidden visually, but still read by screen readers
4455
+ * @attr {Boolean} hiddenAudible - If present, the component will be hidden from screen readers, but seen visually
4456
+ */
4466
4457
 
4467
- this.items.forEach((item) => {
4468
- if (this.optionInteractive(item) && !item.hasAttribute('persistent')) {
4469
- const nested = item.querySelectorAll('.nestingSpacer');
4470
- const nestingSpacerBundle = [...nested].map(() => this.nestingSpacer).join('');
4458
+ class AuroElement extends r$4 {
4471
4459
 
4472
- item.innerHTML = nestingSpacerBundle + item.textContent.replace(regexWord, (match) => `<strong>${match}</strong>`);
4473
- }
4474
- });
4475
- }
4460
+ // function to define props used within the scope of this component
4461
+ static get properties() {
4462
+ return {
4463
+ hidden: { type: Boolean,
4464
+ reflect: true },
4465
+ hiddenVisually: { type: Boolean,
4466
+ reflect: true },
4467
+ hiddenAudible: { type: Boolean,
4468
+ reflect: true },
4469
+ };
4476
4470
  }
4477
4471
 
4478
4472
  /**
4479
- * Reset the menu and all options.
4473
+ * @private Function that determines state of aria-hidden
4480
4474
  */
4481
- resetOptionsStates() {
4482
- this.optionSelected = undefined;
4483
- if (this.items) {
4484
- this.items.forEach((item) => {
4485
- item.classList.remove('active');
4486
- item.removeAttribute('selected');
4487
- });
4475
+ hideAudible(value) {
4476
+ if (value) {
4477
+ return 'true'
4488
4478
  }
4479
+
4480
+ return 'false'
4489
4481
  }
4482
+ }
4490
4483
 
4491
- /**
4492
- * Set the attributes on the selected menuoption, the menu value and stored option.
4493
- * @param {Object} option - The menuoption to be selected.
4494
- * @private
4495
- */
4496
- handleLocalSelectState(option) {
4497
- option.setAttribute('selected', '');
4498
- option.classList.add('active');
4499
- option.ariaSelected = true;
4484
+ 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>"};
4500
4485
 
4501
- this.value = option.value;
4502
- this.optionSelected = option;
4503
- this.index = this.items.indexOf(option);
4504
- }
4486
+ /* eslint-disable no-underscore-dangle, jsdoc/no-undefined-types, jsdoc/require-param-description */
4505
4487
 
4506
- /**
4507
- * Notify selection change.
4508
- * @private
4509
- * @return {void}
4510
- */
4511
- notifySelectionChange() {
4512
- // this event needs to be removed after select and combobox are updated to use the new standard name
4513
- this.dispatchEvent(new CustomEvent('selectedOption', {
4514
- bubbles: true,
4515
- cancelable: false,
4516
- composed: true,
4517
- }));
4488
+ const _fetchMap = new Map();
4518
4489
 
4519
- this.dispatchEvent(new CustomEvent('auroMenu-selectedOption', {
4520
- bubbles: true,
4521
- cancelable: false,
4522
- composed: true,
4523
- }));
4490
+ /**
4491
+ * A callback to parse Response body.
4492
+ *
4493
+ * @callback ResponseParser
4494
+ * @param {Fetch.Response} response
4495
+ * @returns {Promise}
4496
+ */
4497
+
4498
+ /**
4499
+ * A minimal in-memory map to de-duplicate Fetch API media requests.
4500
+ *
4501
+ * @param {String} uri
4502
+ * @param {Object} [options={}]
4503
+ * @param {ResponseParser} [options.responseParser=(response) => response.text()]
4504
+ * @returns {Promise}
4505
+ */
4506
+ const cacheFetch = (uri, options = {}) => {
4507
+ const responseParser = options.responseParser || ((response) => response.text());
4508
+ if (!_fetchMap.has(uri)) {
4509
+ _fetchMap.set(uri, fetch(uri).then(responseParser));
4524
4510
  }
4511
+ return _fetchMap.get(uri);
4512
+ };
4525
4513
 
4526
- /**
4527
- * Process actions for making making a menuoption selection.
4528
- */
4529
- makeSelection() {
4530
- if (!this.items) {
4531
- this.initItems();
4532
- }
4514
+ 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}`;
4533
4515
 
4534
- if (this.items[this.index] && !this.items[this.index].hasAttribute('disabled')) {
4535
- this.resetOptionsStates();
4516
+ // Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
4517
+ // See LICENSE in the project root for license information.
4536
4518
 
4537
- if (this.index >= 0) {
4538
- const option = this.items[this.index];
4539
4519
 
4540
- // only handle options that are not disabled, hidden or static
4541
- if (option && this.optionInteractive(option)) {
4542
- // fire custom event if defined otherwise make selection
4543
- if (option.hasAttribute('event')) {
4544
- this.dispatchEvent(new CustomEvent(option.getAttribute('event'), {
4545
- bubbles: true,
4546
- cancelable: false,
4547
- composed: true,
4548
- }));
4520
+ // See https://git.io/JJ6SJ for "How to document your components using JSDoc"
4521
+ /**
4522
+ * @attr {Boolean} onDark - Set value for on-dark version of auro-icon
4523
+ * @slot - Hidden from visibility, used for a11y if icon description is needed
4524
+ */
4549
4525
 
4550
- // this event needs to be removed after select and combobox are updated to use the new standard name
4551
- this.dispatchEvent(new CustomEvent('auroMenuCustomEventFired', {
4552
- bubbles: true,
4553
- cancelable: false,
4554
- composed: true,
4555
- }));
4526
+ // build the component class
4527
+ class BaseIcon extends AuroElement {
4528
+ constructor() {
4529
+ super();
4530
+ this.onDark = false;
4531
+ }
4556
4532
 
4557
- this.dispatchEvent(new CustomEvent('auroMenu-customEventFired', {
4558
- bubbles: true,
4559
- cancelable: false,
4560
- composed: true,
4561
- }));
4562
- } else {
4563
- this.handleLocalSelectState(option);
4564
- }
4565
- }
4533
+ // function to define props used within the scope of this component
4534
+ static get properties() {
4535
+ return {
4536
+ ...super.properties,
4537
+ onDark: {
4538
+ type: Boolean,
4539
+ reflect: true
4540
+ },
4541
+
4542
+ /**
4543
+ * @private
4544
+ */
4545
+ svg: {
4546
+ attribute: false,
4547
+ reflect: true
4566
4548
  }
4567
- }
4549
+ };
4550
+ }
4568
4551
 
4569
- this.notifySelectionChange();
4552
+ static get styles() {
4553
+ return i$b`
4554
+ ${styleCss}
4555
+ `;
4570
4556
  }
4571
4557
 
4572
4558
  /**
4573
- * Manage ArrowDown, ArrowUp and Enter keyboard events.
4559
+ * Async function to fetch requested icon from npm CDN.
4574
4560
  * @private
4575
- * @param {Object} event - Event object from the browser.
4561
+ * @param {string} category - Icon category.
4562
+ * @param {string} name - Icon name.
4563
+ * @returns {SVGElement} DOM - Ready HTML to be appended.
4576
4564
  */
4577
- handleKeyDown(event) {
4578
- event.preventDefault();
4565
+ async fetchIcon(category, name) {
4566
+ let iconHTML = '';
4579
4567
 
4580
- // With ArrowDown/ArrowUp events, pass new value to selectNextItem()
4581
- // With Enter event, set value and apply attrs
4582
- switch (event.key) {
4583
- case "ArrowDown":
4584
- this.selectNextItem('down');
4585
- break;
4568
+ if (category === 'logos') {
4569
+ iconHTML = await cacheFetch(`${this.uri}/${category}/${name}.svg`);
4570
+ } else {
4571
+ iconHTML = await cacheFetch(`${this.uri}/icons/${category}/${name}.svg`);
4572
+ }
4586
4573
 
4587
- case "ArrowUp":
4588
- this.selectNextItem('up');
4589
- break;
4574
+ const dom = new DOMParser().parseFromString(iconHTML, 'text/html');
4590
4575
 
4591
- case "Enter":
4592
- this.makeSelection();
4593
- break;
4576
+ return dom.body.querySelector('svg');
4577
+ }
4578
+
4579
+ // lifecycle function
4580
+ async firstUpdated() {
4581
+ if (!this.customSvg) {
4582
+ const svg = await this.fetchIcon(this.category, this.name);
4583
+
4584
+ if (svg) {
4585
+ this.svg = svg;
4586
+ } else if (!svg) {
4587
+ const penDOM = new DOMParser().parseFromString(error.svg, 'text/html');
4588
+
4589
+ this.svg = penDOM.body.firstChild;
4590
+ }
4594
4591
  }
4595
4592
  }
4593
+ }
4596
4594
 
4597
- /**
4598
- * Initializes all menu options in the DOM. This must be re-run every time the options are changed.
4599
- * @private
4600
- */
4601
- initItems() {
4602
- this.items = Array.from(this.querySelectorAll('auro-menuoption, [auro-menuoption]'));
4603
- this.handleNoCheckmarkAttr();
4595
+ 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)}`;
4596
+
4597
+ 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)}`;
4598
+
4599
+ // Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
4600
+ // See LICENSE in the project root for license information.
4601
+
4602
+
4603
+ // See https://git.io/JJ6SJ for "How to document your components using JSDoc"
4604
+ /**
4605
+ * auro-icon provides users a way to use the Auro Icons by simply passing in the category and name.
4606
+ *
4607
+ * @attr {String} category - The category of the icon you are looking for. See https://auro.alaskaair.com/icons/usage.
4608
+ * @attr {String} name - The name of the icon you are looking for without the file extension. See https://auro.alaskaair.com/icons/usage
4609
+ * @attr {Boolean} customColor - Removes primary selector.
4610
+ * @attr {Boolean} customSvg - When true, auro-icon will render a custom SVG inside the default slot.
4611
+ * @attr {Boolean} label - Exposes content in slot as icon label.
4612
+ * @attr {Boolean} primary - DEPRECATED: Sets the icon to use the baseline primary icon style.
4613
+ * @attr {Boolean} accent - Sets the icon to use the accent style.
4614
+ * @attr {Boolean} emphasis - Sets the icon to use the emphasis style.
4615
+ * @attr {Boolean} disabled - Sets the icon to use the disabled style.
4616
+ * @attr {Boolean} error - Sets the icon to use the error style.
4617
+ * @attr {Boolean} info - Sets the icon to use the info style.
4618
+ * @attr {Boolean} secondary - Sets the icon to use the secondary style.
4619
+ * @attr {Boolean} tertiary - Sets the icon to use the tertiary style.
4620
+ * @attr {Boolean} subtle - Sets the icon to use the subtle style.
4621
+ * @attr {Boolean} success - Sets the icon to use the success style.
4622
+ * @attr {Boolean} warning - Sets the icon to use the warning style.
4623
+ * @attr {String} ariaHidden - Set aria-hidden value. Default is `true`. Option is `false`.
4624
+ * @attr {String} uri - Set the uri for CDN used when fetching icons
4625
+ * @slot - Hidden from visibility, used for a11y if icon description is needed.
4626
+ * @slot svg - Used for custom SVG content.
4627
+ */
4628
+
4629
+ // build the component class
4630
+ class AuroIcon extends BaseIcon {
4631
+ constructor() {
4632
+ super();
4633
+
4634
+ this.uri = 'https://cdn.jsdelivr.net/npm/@alaskaairux/icons@latest/dist';
4635
+
4636
+ this.privateDefaults();
4604
4637
  }
4605
4638
 
4606
4639
  /**
4607
- * Sets the index value of the selected item or first non-disabled menuoption.
4640
+ * Internal Defaults.
4608
4641
  * @private
4642
+ * @returns {void}
4609
4643
  */
4610
- getSelectedIndex() {
4611
- // find the first `selected` and not `disabled`, `hidden` or `static` option
4612
- const index = this.items.findIndex((option) => option.hasAttribute('selected') && this.optionInteractive(option));
4644
+ privateDefaults() {
4645
+ this.accent = false;
4646
+ this.customColor = false;
4647
+ this.customSvg = false;
4648
+ this.disabled = false;
4649
+ this.emphasis = false;
4650
+ this.error = false;
4651
+ this.info = false;
4652
+ this.label = false;
4653
+ this.primary = false;
4654
+ this.secondary = false;
4655
+ this.subtle = false;
4656
+ this.success = false;
4657
+ this.tertiary = false;
4658
+ this.warning = false;
4659
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$1();
4660
+ }
4613
4661
 
4614
- if (index >= 0) {
4615
- this.index = index;
4616
- this.makeSelection();
4617
- }
4662
+ // function to define props used within the scope of this component
4663
+ static get properties() {
4664
+ return {
4665
+ ...super.properties,
4666
+ accent: {
4667
+ type: Boolean,
4668
+ reflect: true
4669
+ },
4670
+ ariaHidden: {
4671
+ type: String,
4672
+ reflect: true
4673
+ },
4674
+ category: {
4675
+ type: String,
4676
+ reflect: true
4677
+ },
4678
+ customColor: {
4679
+ type: Boolean
4680
+ },
4681
+ customSvg: {
4682
+ type: Boolean
4683
+ },
4684
+ disabled: {
4685
+ type: Boolean,
4686
+ reflect: true
4687
+ },
4688
+ emphasis: {
4689
+ type: Boolean,
4690
+ reflect: true
4691
+ },
4692
+ error: {
4693
+ type: Boolean,
4694
+ reflect: true
4695
+ },
4696
+ info: {
4697
+ type: Boolean,
4698
+ reflect: true
4699
+ },
4700
+ label: {
4701
+ type: Boolean,
4702
+ reflect: true
4703
+ },
4704
+ name: {
4705
+ type: String,
4706
+ reflect: true
4707
+ },
4708
+ primary: {
4709
+ type: Boolean,
4710
+ reflect: true
4711
+ },
4712
+ secondary: {
4713
+ type: Boolean,
4714
+ reflect: true
4715
+ },
4716
+ subtle: {
4717
+ type: Boolean,
4718
+ reflect: true
4719
+ },
4720
+ success: {
4721
+ type: Boolean,
4722
+ reflect: true
4723
+ },
4724
+ tertiary: {
4725
+ type: Boolean,
4726
+ reflect: true
4727
+ },
4728
+ uri: {
4729
+ type: String
4730
+ },
4731
+ warning: {
4732
+ type: Boolean,
4733
+ reflect: true
4734
+ }
4735
+ };
4736
+ }
4737
+
4738
+ static get styles() {
4739
+ return [
4740
+ super.styles,
4741
+ i$b`${tokensCss}`,
4742
+ i$b`${styleCss}`,
4743
+ i$b`${colorCss}`
4744
+ ];
4618
4745
  }
4619
4746
 
4620
4747
  /**
4621
- * Using value of current this.index evaluates index
4622
- * of next :focus to set based on array of this.items ignoring items
4623
- * with disabled attr.
4748
+ * This will register this element with the browser.
4749
+ * @param {string} [name="auro-icon"] - The name of element that you want to register to.
4750
+ *
4751
+ * @example
4752
+ * AuroIcon.register("custom-icon") // this will register this element to <custom-icon/>
4624
4753
  *
4625
- * The event.target is not used as the function needs to know where to go,
4626
- * versus knowing where it is.
4627
- * @param {String} moveDirection - Up or Down based on keyboard event.
4628
4754
  */
4629
- selectNextItem(moveDirection) {
4630
- if (this.index >= 0) {
4631
- this.items[this.index].classList.remove('active');
4632
-
4633
- // calculate which is the selection we should focus next
4634
- let increment = 0;
4635
-
4636
- if (moveDirection === 'down') {
4637
- increment = 1;
4638
- } else if (moveDirection === 'up') {
4639
- increment = -1;
4640
- }
4641
-
4642
- this.index += increment;
4643
-
4644
- // keep looping inside the array of options
4645
- if (this.index > this.items.length - 1) {
4646
- this.index = 0;
4647
- } else if (this.index < 0) {
4648
- this.index = this.items.length - 1;
4649
- }
4755
+ static register(name = "auro-icon") {
4756
+ AuroLibraryRuntimeUtils$1.prototype.registerComponent(name, AuroIcon);
4757
+ }
4650
4758
 
4651
- // check if new index is disabled, static or hidden, if so, execute again
4652
- if (!this.optionInteractive(this.items[this.index])) {
4653
- this.selectNextItem(moveDirection);
4654
- } else {
4655
- // apply focus to new index
4656
- this.updateActiveOption(this.index);
4657
- }
4658
- } else {
4659
- this.index = 0;
4759
+ connectedCallback() {
4760
+ super.connectedCallback();
4660
4761
 
4661
- if (this.items[this.index].hasAttribute('hidden') || this.items[this.index].hasAttribute('disabled')) {
4662
- this.selectNextItem(moveDirection);
4663
- } else {
4664
- this.updateActiveOption(this.index);
4665
- }
4666
- }
4762
+ // Add the tag name as an attribute if it is different than the component name
4763
+ this.runtimeUtils.handleComponentTagRename(this, 'auro-icon');
4667
4764
  }
4668
4765
 
4669
4766
  /**
4670
- * Used for applying indentation to each level of nested menu.
4671
- * @private
4672
- * @param {String} menu - Root level menu object.
4767
+ * @returns {void} Exposes CSS parts for styling from parent components.
4673
4768
  */
4674
- handleNestedMenus(menu) {
4675
- const nestedMenus = menu.querySelectorAll('auro-menu, [auro-menu');
4769
+ exposeCssParts() {
4770
+ this.setAttribute('exportparts', 'svg:iconSvg');
4771
+ }
4676
4772
 
4677
- if (nestedMenus.length === 0) {
4678
- return;
4679
- }
4773
+ // function that renders the HTML and CSS into the scope of the component
4774
+ render() {
4775
+ const a11y = {
4776
+ 'labelContainer': true,
4777
+ 'util_displayHiddenVisually': !this.label
4778
+ };
4680
4779
 
4681
- nestedMenus.forEach((nestedMenu) => {
4682
- const options = nestedMenu.querySelectorAll(':scope > auro-menuoption, :scope > [auro-menuoption');
4780
+ const classes = {
4781
+ 'label': this.label
4782
+ };
4683
4783
 
4684
- options.forEach((option) => {
4685
- option.innerHTML = this.nestingSpacer + option.innerHTML;
4686
- });
4784
+ return x$1`
4785
+ <div
4786
+ class="${e(classes)}"
4787
+ title="${o(this.title || undefined)}">
4788
+ <span aria-hidden="${o(this.ariaHidden ? this.ariaHidden : true)}" part="svg">
4789
+ ${this.customSvg ? x$1`
4790
+ <slot name="svg"></slot>
4791
+ ` : x$1`
4792
+ ${this.svg}
4793
+ `
4794
+ }
4795
+ </span>
4687
4796
 
4688
- this.handleNestedMenus(nestedMenu);
4689
- });
4797
+ <div class="${e(a11y)}">
4798
+ <slot></slot>
4799
+ </div>
4800
+ </div>
4801
+ `;
4690
4802
  }
4803
+ }
4691
4804
 
4692
- /**
4693
- * Method to apply `selected` attribute to `menuoption` via `value`.
4694
- * @private
4695
- * @param {String} value - Must match a unique `menuoption` value.
4696
- */
4697
- selectByValue(value) {
4698
- let valueMatch = false;
4699
- if (!this.items) {
4700
- this.initItems();
4701
- }
4805
+ var iconVersion = '6.1.1';
4702
4806
 
4703
- this.index = undefined;
4807
+ 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>"};
4704
4808
 
4705
- if (this.value && this.value.length > 0) {
4706
- for (let index = 0; index < this.items.length; index += 1) {
4707
- if (this.items[index].value === value) {
4708
- valueMatch = true;
4709
- this.index = index;
4710
- }
4711
- }
4809
+ // Copyright (c) 2021 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
4810
+ // See LICENSE in the project root for license information.
4712
4811
 
4713
- if (!valueMatch) {
4714
- // reset the menu to no selection
4715
- this.index = undefined;
4716
4812
 
4717
- // this event needs to be removed after select and combobox are updated to use the new standard name
4718
- this.dispatchEvent(new CustomEvent('auroMenuSelectValueFailure', {
4719
- bubbles: true,
4720
- cancelable: false,
4721
- composed: true,
4722
- }));
4813
+ /**
4814
+ * The auro-menu element provides users a way to define a menu option.
4815
+ *
4816
+ * @attr {String} value - Specifies the value to be sent to a server.
4817
+ * @attr {String} noCheckmark - When true, selected option will not show the checkmark.
4818
+ * @attr {Boolean} disabled - When true specifies that the menuoption is disabled.
4819
+ * @attr {Boolean} selected - Specifies that an option is selected.
4820
+ * @event auroMenuOption-mouseover - Notifies that this option has been hovered over.
4821
+ * @slot - Specifies text for an option, but is not the value.
4822
+ */
4823
+ class AuroMenuOption extends r$4 {
4824
+ constructor() {
4825
+ super();
4723
4826
 
4724
- this.dispatchEvent(new CustomEvent('auroMenu-selectValueFailure', {
4725
- bubbles: true,
4726
- cancelable: false,
4727
- composed: true,
4728
- }));
4729
- } else {
4730
- this.makeSelection();
4827
+ /**
4828
+ * Generate unique names for dependency components.
4829
+ */
4830
+ const versioning = new AuroDependencyVersioning$1();
4831
+ this.iconTag = versioning.generateTag('auro-icon', iconVersion, AuroIcon);
4832
+
4833
+ this.selected = false;
4834
+ this.nocheckmark = false;
4835
+ this.disabled = false;
4836
+
4837
+ /**
4838
+ * @private
4839
+ */
4840
+ this.tabIndex = -1;
4841
+
4842
+ /**
4843
+ * @private
4844
+ */
4845
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$1();
4846
+ }
4847
+
4848
+ static get properties() {
4849
+ return {
4850
+ nocheckmark: {
4851
+ type: Boolean,
4852
+ reflect: true
4853
+ },
4854
+ selected: {
4855
+ type: Boolean,
4856
+ reflect: true
4857
+ },
4858
+ disabled: {
4859
+ type: Boolean,
4860
+ reflect: true
4861
+ },
4862
+ value: {
4863
+ type: String,
4864
+ reflect: true
4865
+ },
4866
+ tabIndex: {
4867
+ type: Number,
4868
+ reflect: true
4731
4869
  }
4732
- } else {
4733
- this.resetOptionsStates();
4870
+ };
4871
+ }
4734
4872
 
4735
- this.dispatchEvent(new CustomEvent('auroMenu-selectValueReset', {
4736
- bubbles: true,
4737
- cancelable: false,
4738
- composed: true,
4739
- }));
4740
- }
4873
+ static get styles() {
4874
+ return [
4875
+ styleCss$1,
4876
+ colorCss$1,
4877
+ tokensCss$1
4878
+ ];
4741
4879
  }
4742
4880
 
4743
4881
  /**
4744
- * Used to make the active state for options follow mouseover.
4745
- * @param {Number} index - Index of the menuoption that will be made active.
4746
- * @private
4882
+ * This will register this element with the browser.
4883
+ * @param {string} [name="auro-menuoption"] - The name of element that you want to register to.
4884
+ *
4885
+ * @example
4886
+ * AuroMenuOption.register("custom-menuoption") // this will register this element to <custom-menuoption/>
4887
+ *
4747
4888
  */
4748
- updateActiveOption(index) {
4749
- this.items.forEach((item) => {
4750
- item.classList.remove('active');
4751
- });
4752
- this.items[index].classList.add('active');
4753
- this.optionActive = this.items[index];
4889
+ static register(name = "auro-menuoption") {
4890
+ AuroLibraryRuntimeUtils$1.prototype.registerComponent(name, AuroMenuOption);
4891
+ }
4754
4892
 
4755
- this.dispatchEvent(new CustomEvent('auroMenuActivatedOption', {
4756
- bubbles: true,
4757
- cancelable: false,
4758
- composed: true,
4759
- detail: this.items[index]
4760
- }));
4893
+ firstUpdated() {
4894
+ // Add the tag name as an attribute if it is different than the component name
4895
+ this.runtimeUtils.handleComponentTagRename(this, 'auro-menuoption');
4761
4896
 
4762
- this.dispatchEvent(new CustomEvent('auroMenu-activatedOption', {
4763
- bubbles: true,
4764
- cancelable: false,
4765
- composed: true,
4766
- detail: this.items[index]
4767
- }));
4897
+ this.setAttribute('role', 'option');
4898
+ this.setAttribute('aria-selected', 'false');
4899
+
4900
+ this.addEventListener('mouseover', () => {
4901
+ this.dispatchEvent(new CustomEvent('auroMenuOption-mouseover', {
4902
+ bubbles: true,
4903
+ cancelable: false,
4904
+ composed: true,
4905
+ detail: this
4906
+ }));
4907
+ });
4768
4908
  }
4769
4909
 
4770
- /**
4771
- * Used to only make a selection when a menuoption is receiving a mousedown event.
4772
- * @param {Event} evt - Mousedown event.
4773
- * @private
4774
- */
4775
- handleMenuMouseDown(evt) {
4776
- if (evt.target !== this) {
4777
- this.makeSelection();
4910
+ // observer for selected property changes
4911
+ updated(changedProperties) {
4912
+ if (changedProperties.has('selected')) {
4913
+ this.setAttribute('aria-selected', this.selected.toString());
4778
4914
  }
4779
4915
  }
4780
4916
 
4781
4917
  /**
4782
- * Used for @slotchange event on slotted element.
4918
+ * Generates an HTML element containing an SVG icon based on the provided `svgContent`.
4919
+ *
4783
4920
  * @private
4921
+ * @param {string} svgContent - The SVG content to be embedded.
4922
+ * @returns {Element} The HTML element containing the SVG icon.
4784
4923
  */
4785
- handleSlotItems() {
4786
- // Determine if this is the root of the menu/submenu layout.
4787
- if (this.parentElement && this.parentElement.closest('auro-menu, [auro-menu]')) {
4788
- this.rootMenu = false;
4789
- }
4924
+ generateIconHtml(svgContent) {
4925
+ const dom = new DOMParser().parseFromString(svgContent, 'text/html');
4926
+ const svg = dom.body.firstChild;
4790
4927
 
4791
- // If this is the root menu (not a nested menu) handle events, states and styling.
4792
- if (this.rootMenu) {
4793
- this.initItems();
4794
- this.setAttribute('role', 'listbox');
4795
- this.setAttribute('root', '');
4796
- this.handleNestedMenus(this);
4797
- this.markOptions();
4798
- this.index = -1;
4799
- this.getSelectedIndex();
4928
+ svg.setAttribute('slot', 'svg');
4800
4929
 
4801
- this.addEventListener('keydown', this.handleKeyDown);
4802
- this.addEventListener('mousedown', this.handleMenuMouseDown);
4803
- this.addEventListener('auroMenuOption-mouseover', (evt) => {
4804
- this.index = this.items.indexOf(evt.target);
4805
- this.updateActiveOption(this.index);
4806
- });
4807
- } else {
4808
- // make sure to update all menuoption noCheckmark attributes when the menu is dynamically changed
4809
- this.handleNoCheckmarkAttr();
4810
- }
4930
+ return u$3`<${this.iconTag} customColor customSvg slot="icon">${svg}</${this.iconTag}>`;
4811
4931
  }
4812
4932
 
4813
4933
  render() {
4814
- return x$1`
4815
- <slot @slotchange=${this.handleSlotItems}></slot>
4934
+ return u$3`
4935
+ ${this.selected && !this.nocheckmark ? this.generateIconHtml(checkmarkIcon.svg) : undefined}
4936
+ <slot></slot>
4816
4937
  `;
4817
4938
  }
4818
4939
  }
@@ -4832,6 +4953,7 @@ function initExamples(initCount) {
4832
4953
  valueExample();
4833
4954
  valueExtractionExample();
4834
4955
  inDialogExample();
4956
+ auroMenuLoadingExample();
4835
4957
  } catch (err) {
4836
4958
  if (initCount <= 20) {
4837
4959
  // setTimeout handles issue where content is sometimes loaded after the functions get called