@ukic/web-components 2.7.0 → 2.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1117) hide show
  1. package/dist/cjs/core.cjs.js +3 -3
  2. package/dist/cjs/core.cjs.js.map +1 -1
  3. package/dist/cjs/{helpers-0d63359f.js → helpers-3f91f63a.js} +292 -292
  4. package/dist/cjs/helpers-3f91f63a.js.map +1 -0
  5. package/dist/cjs/ic-accordion-group.cjs.entry.js +71 -71
  6. package/dist/cjs/ic-accordion-group.cjs.entry.js.map +1 -1
  7. package/dist/cjs/ic-accordion.cjs.entry.js +99 -99
  8. package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ic-alert.cjs.entry.js +58 -58
  10. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  11. package/dist/cjs/ic-back-to-top.cjs.entry.js +121 -121
  12. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  13. package/dist/cjs/ic-badge.cjs.entry.js +146 -146
  14. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +172 -166
  16. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-breadcrumb.cjs.entry.js +55 -53
  18. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ic-button_3.cjs.entry.js +616 -607
  20. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ic-card.cjs.entry.js +106 -106
  22. package/dist/cjs/ic-card.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ic-checkbox-group.cjs.entry.js +60 -60
  24. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  25. package/dist/cjs/ic-checkbox.cjs.entry.js +95 -95
  26. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  27. package/dist/cjs/ic-chip.cjs.entry.js +67 -65
  28. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  29. package/dist/cjs/ic-classification-banner.cjs.entry.js +23 -23
  30. package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
  31. package/dist/cjs/ic-data-entity.cjs.entry.js +18 -18
  32. package/dist/cjs/ic-data-entity.cjs.entry.js.map +1 -1
  33. package/dist/cjs/ic-data-row.cjs.entry.js +75 -75
  34. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  35. package/dist/cjs/ic-dialog.cjs.entry.js +339 -318
  36. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  37. package/dist/cjs/ic-divider.cjs.entry.js +16 -16
  38. package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
  39. package/dist/cjs/ic-empty-state.cjs.entry.js +24 -24
  40. package/dist/cjs/ic-empty-state.cjs.entry.js.map +1 -1
  41. package/dist/cjs/ic-footer-link-group.cjs.entry.js +55 -55
  42. package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
  43. package/dist/cjs/ic-footer-link.cjs.entry.js +50 -50
  44. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  45. package/dist/cjs/ic-footer.cjs.entry.js +78 -78
  46. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  47. package/dist/cjs/ic-hero.cjs.entry.js +62 -62
  48. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  49. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +151 -151
  50. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  51. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +682 -673
  52. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  53. package/dist/cjs/ic-input-label_2.cjs.entry.js +63 -63
  54. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  55. package/dist/cjs/ic-link.cjs.entry.js +55 -55
  56. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  57. package/dist/cjs/ic-menu-group.cjs.entry.js +12 -12
  58. package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
  59. package/dist/cjs/ic-menu-item.cjs.entry.js +100 -100
  60. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  61. package/dist/cjs/ic-navigation-button.cjs.entry.js +79 -76
  62. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  63. package/dist/cjs/ic-navigation-group.cjs.entry.js +284 -284
  64. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  65. package/dist/cjs/ic-navigation-item.cjs.entry.js +153 -153
  66. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  67. package/dist/cjs/ic-navigation-menu.cjs.entry.js +106 -103
  68. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  69. package/dist/cjs/ic-page-header.cjs.entry.js +93 -93
  70. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  71. package/dist/cjs/ic-pagination-item.cjs.entry.js +42 -42
  72. package/dist/cjs/ic-pagination-item.cjs.entry.js.map +1 -1
  73. package/dist/cjs/ic-pagination.cjs.entry.js +196 -195
  74. package/dist/cjs/ic-pagination.cjs.entry.js.map +1 -1
  75. package/dist/cjs/ic-popover-menu.cjs.entry.js +229 -260
  76. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  77. package/dist/cjs/ic-radio-group.cjs.entry.js +156 -156
  78. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  79. package/dist/cjs/ic-radio-option.cjs.entry.js +128 -128
  80. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  81. package/dist/cjs/ic-search-bar.cjs.entry.js +475 -475
  82. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  83. package/dist/cjs/ic-section-container.cjs.entry.js +15 -15
  84. package/dist/cjs/ic-section-container.cjs.entry.js.map +1 -1
  85. package/dist/cjs/ic-select.cjs.entry.js +640 -639
  86. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  87. package/dist/cjs/ic-side-navigation.cjs.entry.js +424 -426
  88. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  89. package/dist/cjs/ic-skeleton.cjs.entry.js +43 -43
  90. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  91. package/dist/cjs/ic-status-tag.cjs.entry.js +30 -30
  92. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  93. package/dist/cjs/ic-step.cjs.entry.js +121 -121
  94. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  95. package/dist/cjs/ic-stepper.cjs.entry.js +200 -200
  96. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  97. package/dist/cjs/ic-switch.cjs.entry.js +78 -78
  98. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  99. package/dist/cjs/ic-tab-context.cjs.entry.js +252 -252
  100. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  101. package/dist/cjs/ic-tab-group.cjs.entry.js +24 -24
  102. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  103. package/dist/cjs/ic-tab-panel.cjs.entry.js +31 -31
  104. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  105. package/dist/cjs/ic-tab.cjs.entry.js +86 -86
  106. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  107. package/dist/cjs/ic-text-field.cjs.entry.js +209 -217
  108. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  109. package/dist/cjs/ic-theme.cjs.entry.js +51 -51
  110. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  111. package/dist/cjs/ic-toast-region.cjs.entry.js +47 -46
  112. package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -1
  113. package/dist/cjs/ic-toast.cjs.entry.js +145 -145
  114. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  115. package/dist/cjs/ic-top-navigation.cjs.entry.js +198 -195
  116. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  117. package/dist/cjs/ic-typography.cjs.entry.js +118 -118
  118. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  119. package/dist/{esm/index-813020f1.js → cjs/index-152d1fe5.js} +634 -376
  120. package/dist/cjs/index-152d1fe5.js.map +1 -0
  121. package/dist/cjs/loader.cjs.js +2 -2
  122. package/dist/cjs/types-dc22e301.js +16 -0
  123. package/dist/cjs/{types-7d67439f.js.map → types-dc22e301.js.map} +1 -1
  124. package/dist/collection/collection-manifest.json +2 -2
  125. package/dist/collection/components/ic-accordion/ic-accordion.js +276 -276
  126. package/dist/collection/components/ic-accordion/ic-accordion.js.map +1 -1
  127. package/dist/collection/components/ic-accordion/test/basic/ic-accordion.e2e.js +39 -39
  128. package/dist/collection/components/ic-accordion/test/basic/ic-accordion.e2e.js.map +1 -1
  129. package/dist/collection/components/ic-accordion/test/basic/ic-accordion.spec.js +215 -215
  130. package/dist/collection/components/ic-accordion/test/basic/ic-accordion.spec.js.map +1 -1
  131. package/dist/collection/components/ic-accordion-group/ic-accordion-group.js +200 -200
  132. package/dist/collection/components/ic-accordion-group/ic-accordion-group.js.map +1 -1
  133. package/dist/collection/components/ic-accordion-group/test/a11y/ic-accordion-group.test.a11y.js +5 -5
  134. package/dist/collection/components/ic-accordion-group/test/a11y/ic-accordion-group.test.a11y.js.map +1 -1
  135. package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.e2e.js +70 -67
  136. package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.e2e.js.map +1 -1
  137. package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.spec.js +73 -70
  138. package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.spec.js.map +1 -1
  139. package/dist/collection/components/ic-alert/ic-alert.js +231 -231
  140. package/dist/collection/components/ic-alert/ic-alert.js.map +1 -1
  141. package/dist/collection/components/ic-alert/test/a11y/ic-alert.test.a11y.js +5 -5
  142. package/dist/collection/components/ic-alert/test/a11y/ic-alert.test.a11y.js.map +1 -1
  143. package/dist/collection/components/ic-alert/test/basic/ic-alert.e2e.js +12 -12
  144. package/dist/collection/components/ic-alert/test/basic/ic-alert.e2e.js.map +1 -1
  145. package/dist/collection/components/ic-alert/test/basic/ic-alert.spec.js +44 -44
  146. package/dist/collection/components/ic-alert/test/basic/ic-alert.spec.js.map +1 -1
  147. package/dist/collection/components/ic-back-to-top/ic-back-to-top.css +3 -3
  148. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js +159 -159
  149. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js.map +1 -1
  150. package/dist/collection/components/ic-back-to-top/test/a11y/ic-back-to-top.test.a11y.js +14 -14
  151. package/dist/collection/components/ic-back-to-top/test/a11y/ic-back-to-top.test.a11y.js.map +1 -1
  152. package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.e2e.js +43 -43
  153. package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.e2e.js.map +1 -1
  154. package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.spec.js +102 -102
  155. package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.spec.js.map +1 -1
  156. package/dist/collection/components/ic-badge/ic-badge.js +385 -385
  157. package/dist/collection/components/ic-badge/ic-badge.js.map +1 -1
  158. package/dist/collection/components/ic-badge/test/a11y/ic-badge.test.a11y.js +10 -10
  159. package/dist/collection/components/ic-badge/test/a11y/ic-badge.test.a11y.js.map +1 -1
  160. package/dist/collection/components/ic-badge/test/basic/ic-badge.spec.js +172 -172
  161. package/dist/collection/components/ic-badge/test/basic/ic-badge.spec.js.map +1 -1
  162. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.css +9 -1
  163. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js +186 -157
  164. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js.map +1 -1
  165. package/dist/collection/components/ic-breadcrumb/test/basic/ic-breadcrumb.spec.js +43 -43
  166. package/dist/collection/components/ic-breadcrumb/test/basic/ic-breadcrumb.spec.js.map +1 -1
  167. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js +250 -220
  168. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js.map +1 -1
  169. package/dist/collection/components/ic-breadcrumb-group/test/a11y/ic-breadcrumb-group.test.a11y.js +10 -10
  170. package/dist/collection/components/ic-breadcrumb-group/test/a11y/ic-breadcrumb-group.test.a11y.js.map +1 -1
  171. package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group.e2e.js +34 -34
  172. package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group.e2e.js.map +1 -1
  173. package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group.spec.js +156 -118
  174. package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group.spec.js.map +1 -1
  175. package/dist/collection/components/ic-button/ic-button.css +17 -1
  176. package/dist/collection/components/ic-button/ic-button.js +798 -773
  177. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  178. package/dist/collection/components/ic-button/test/a11y/ic-button.test.a11y.js +5 -5
  179. package/dist/collection/components/ic-button/test/a11y/ic-button.test.a11y.js.map +1 -1
  180. package/dist/collection/components/ic-button/test/basic/ic-button.e2e.js +114 -114
  181. package/dist/collection/components/ic-button/test/basic/ic-button.e2e.js.map +1 -1
  182. package/dist/collection/components/ic-button/test/basic/ic-button.spec.js +249 -236
  183. package/dist/collection/components/ic-button/test/basic/ic-button.spec.js.map +1 -1
  184. package/dist/collection/components/ic-card/ic-card.css +1 -1
  185. package/dist/collection/components/ic-card/ic-card.js +375 -375
  186. package/dist/collection/components/ic-card/ic-card.js.map +1 -1
  187. package/dist/collection/components/ic-card/test/a11y/ic-card.test.a11y.js +15 -15
  188. package/dist/collection/components/ic-card/test/a11y/ic-card.test.a11y.js.map +1 -1
  189. package/dist/collection/components/ic-card/test/basic/ic-card.e2e.js +19 -19
  190. package/dist/collection/components/ic-card/test/basic/ic-card.e2e.js.map +1 -1
  191. package/dist/collection/components/ic-card/test/basic/ic-card.spec.js +147 -147
  192. package/dist/collection/components/ic-card/test/basic/ic-card.spec.js.map +1 -1
  193. package/dist/collection/components/ic-checkbox/ic-checkbox.css +11 -11
  194. package/dist/collection/components/ic-checkbox/ic-checkbox.js +474 -474
  195. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  196. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +302 -302
  197. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  198. package/dist/collection/components/ic-checkbox-group/test/a11y/ic-checkbox-group.test.a11y.js +5 -5
  199. package/dist/collection/components/ic-checkbox-group/test/a11y/ic-checkbox-group.test.a11y.js.map +1 -1
  200. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.e2e.js +124 -124
  201. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.e2e.js.map +1 -1
  202. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js +148 -148
  203. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js.map +1 -1
  204. package/dist/collection/components/ic-chip/ic-chip.css +9 -1
  205. package/dist/collection/components/ic-chip/ic-chip.js +291 -271
  206. package/dist/collection/components/ic-chip/ic-chip.js.map +1 -1
  207. package/dist/collection/components/ic-chip/test/a11y/ic-chip.test.a11y.js +5 -5
  208. package/dist/collection/components/ic-chip/test/a11y/ic-chip.test.a11y.js.map +1 -1
  209. package/dist/collection/components/ic-chip/test/basic/ic-chip.spec.js +81 -81
  210. package/dist/collection/components/ic-chip/test/basic/ic-chip.spec.js.map +1 -1
  211. package/dist/collection/components/ic-classification-banner/ic-classification-banner.js +132 -132
  212. package/dist/collection/components/ic-classification-banner/ic-classification-banner.js.map +1 -1
  213. package/dist/collection/components/ic-classification-banner/test/a11y/ic-classification-banner.test.a11y.js +5 -5
  214. package/dist/collection/components/ic-classification-banner/test/a11y/ic-classification-banner.test.a11y.js.map +1 -1
  215. package/dist/collection/components/ic-classification-banner/test/basic/ic-classification-banner.spec.js +55 -55
  216. package/dist/collection/components/ic-classification-banner/test/basic/ic-classification-banner.spec.js.map +1 -1
  217. package/dist/collection/components/ic-data-entity/ic-data-entity.css +1 -1
  218. package/dist/collection/components/ic-data-entity/ic-data-entity.js +92 -92
  219. package/dist/collection/components/ic-data-entity/ic-data-entity.js.map +1 -1
  220. package/dist/collection/components/ic-data-entity/test/a11y/ic-data-entity.test.a11y.js +5 -5
  221. package/dist/collection/components/ic-data-entity/test/a11y/ic-data-entity.test.a11y.js.map +1 -1
  222. package/dist/collection/components/ic-data-entity/test/basic/ic-data-entity.spec.js +28 -28
  223. package/dist/collection/components/ic-data-entity/test/basic/ic-data-entity.spec.js.map +1 -1
  224. package/dist/collection/components/ic-data-row/ic-data-row.css +1 -1
  225. package/dist/collection/components/ic-data-row/ic-data-row.js +170 -170
  226. package/dist/collection/components/ic-data-row/ic-data-row.js.map +1 -1
  227. package/dist/collection/components/ic-data-row/test/a11y/ic-data-row.test.a11y.js +15 -13
  228. package/dist/collection/components/ic-data-row/test/a11y/ic-data-row.test.a11y.js.map +1 -1
  229. package/dist/collection/components/ic-data-row/test/basic/ic-data-row.spec.js +61 -61
  230. package/dist/collection/components/ic-data-row/test/basic/ic-data-row.spec.js.map +1 -1
  231. package/dist/collection/components/ic-dialog/ic-dialog.css +56 -22
  232. package/dist/collection/components/ic-dialog/ic-dialog.js +765 -726
  233. package/dist/collection/components/ic-dialog/ic-dialog.js.map +1 -1
  234. package/dist/collection/components/ic-dialog/test/a11y/ic-dialog.test.a11y.js +5 -5
  235. package/dist/collection/components/ic-dialog/test/a11y/ic-dialog.test.a11y.js.map +1 -1
  236. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.e2e.js +207 -126
  237. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.e2e.js.map +1 -1
  238. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js +573 -574
  239. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js.map +1 -1
  240. package/dist/collection/components/ic-divider/ic-divider.js +38 -38
  241. package/dist/collection/components/ic-divider/ic-divider.js.map +1 -1
  242. package/dist/collection/components/ic-divider/test/basic/ic-divider.spec.js +17 -17
  243. package/dist/collection/components/ic-divider/test/basic/ic-divider.spec.js.map +1 -1
  244. package/dist/collection/components/ic-empty-state/ic-empty-state.js +151 -151
  245. package/dist/collection/components/ic-empty-state/ic-empty-state.js.map +1 -1
  246. package/dist/collection/components/ic-empty-state/test/a11y/ic-empty-state.test.a11y.js +5 -5
  247. package/dist/collection/components/ic-empty-state/test/a11y/ic-empty-state.test.a11y.js.map +1 -1
  248. package/dist/collection/components/ic-empty-state/test/basic/ic-empty-state.spec.js +52 -52
  249. package/dist/collection/components/ic-empty-state/test/basic/ic-empty-state.spec.js.map +1 -1
  250. package/dist/collection/components/ic-footer/ic-footer.js +242 -242
  251. package/dist/collection/components/ic-footer/ic-footer.js.map +1 -1
  252. package/dist/collection/components/ic-footer/test/a11y/ic-footer.test.a11y.js +15 -13
  253. package/dist/collection/components/ic-footer/test/a11y/ic-footer.test.a11y.js.map +1 -1
  254. package/dist/collection/components/ic-footer/test/basic/ic-footer.e2e.js +25 -25
  255. package/dist/collection/components/ic-footer/test/basic/ic-footer.e2e.js.map +1 -1
  256. package/dist/collection/components/ic-footer/test/basic/ic-footer.spec.js +108 -108
  257. package/dist/collection/components/ic-footer/test/basic/ic-footer.spec.js.map +1 -1
  258. package/dist/collection/components/ic-footer-link/ic-footer-link.js +190 -190
  259. package/dist/collection/components/ic-footer-link/ic-footer-link.js.map +1 -1
  260. package/dist/collection/components/ic-footer-link/test/a11y/ic-footer-link.test.a11y.js +13 -13
  261. package/dist/collection/components/ic-footer-link/test/a11y/ic-footer-link.test.a11y.js.map +1 -1
  262. package/dist/collection/components/ic-footer-link/test/basic/ic-footer-link.spec.js +36 -36
  263. package/dist/collection/components/ic-footer-link/test/basic/ic-footer-link.spec.js.map +1 -1
  264. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js +107 -107
  265. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js.map +1 -1
  266. package/dist/collection/components/ic-footer-link-group/test/a11y/ic-footer-link-group.test.a11y.js +13 -13
  267. package/dist/collection/components/ic-footer-link-group/test/a11y/ic-footer-link-group.test.a11y.js.map +1 -1
  268. package/dist/collection/components/ic-footer-link-group/test/basic/ic-footer-link-group.spec.js +52 -52
  269. package/dist/collection/components/ic-footer-link-group/test/basic/ic-footer-link-group.spec.js.map +1 -1
  270. package/dist/collection/components/ic-hero/ic-hero.js +292 -292
  271. package/dist/collection/components/ic-hero/ic-hero.js.map +1 -1
  272. package/dist/collection/components/ic-hero/test/a11y/ic-hero.test.a11y.js +5 -5
  273. package/dist/collection/components/ic-hero/test/a11y/ic-hero.test.a11y.js.map +1 -1
  274. package/dist/collection/components/ic-hero/test/basic/ic-hero.spec.js +62 -62
  275. package/dist/collection/components/ic-hero/test/basic/ic-hero.spec.js.map +1 -1
  276. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +241 -240
  277. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js.map +1 -1
  278. package/dist/collection/components/ic-horizontal-scroll/test/a11y/ic-horizontal-scroll.test.a11y.js +17 -15
  279. package/dist/collection/components/ic-horizontal-scroll/test/a11y/ic-horizontal-scroll.test.a11y.js.map +1 -1
  280. package/dist/collection/components/ic-horizontal-scroll/test/basic/ic-horizontal-scroll.spec.js +145 -145
  281. package/dist/collection/components/ic-horizontal-scroll/test/basic/ic-horizontal-scroll.spec.js.map +1 -1
  282. package/dist/collection/components/ic-input-component-container/ic-input-component-container.css +4 -4
  283. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +248 -248
  284. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js.map +1 -1
  285. package/dist/collection/components/ic-input-component-container/test/basic/ic-input-component-container.spec.js +49 -49
  286. package/dist/collection/components/ic-input-component-container/test/basic/ic-input-component-container.spec.js.map +1 -1
  287. package/dist/collection/components/ic-input-container/ic-input-container.js +62 -62
  288. package/dist/collection/components/ic-input-container/ic-input-container.js.map +1 -1
  289. package/dist/collection/components/ic-input-container/test/basic/ic-input-container.spec.js +19 -19
  290. package/dist/collection/components/ic-input-container/test/basic/ic-input-container.spec.js.map +1 -1
  291. package/dist/collection/components/ic-input-label/ic-input-label.js +211 -211
  292. package/dist/collection/components/ic-input-label/ic-input-label.js.map +1 -1
  293. package/dist/collection/components/ic-input-label/test/basic/ic-input-label.spec.js +37 -37
  294. package/dist/collection/components/ic-input-label/test/basic/ic-input-label.spec.js.map +1 -1
  295. package/dist/collection/components/ic-input-validation/ic-input-validation.js +139 -139
  296. package/dist/collection/components/ic-input-validation/ic-input-validation.js.map +1 -1
  297. package/dist/collection/components/ic-input-validation/test/basic/ic-input-validation.spec.js +31 -31
  298. package/dist/collection/components/ic-input-validation/test/basic/ic-input-validation.spec.js.map +1 -1
  299. package/dist/collection/components/ic-link/ic-link.js +248 -248
  300. package/dist/collection/components/ic-link/ic-link.js.map +1 -1
  301. package/dist/collection/components/ic-link/test/a11y/ic-link.test.a11y.js +5 -5
  302. package/dist/collection/components/ic-link/test/a11y/ic-link.test.a11y.js.map +1 -1
  303. package/dist/collection/components/ic-link/test/basic/ic-link.spec.js +92 -92
  304. package/dist/collection/components/ic-link/test/basic/ic-link.spec.js.map +1 -1
  305. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +416 -415
  306. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js.map +1 -1
  307. package/dist/collection/components/ic-loading-indicator/test/a11y/ic-loading-indicator.test.a11y.js +5 -5
  308. package/dist/collection/components/ic-loading-indicator/test/a11y/ic-loading-indicator.test.a11y.js.map +1 -1
  309. package/dist/collection/components/ic-loading-indicator/test/basic/ic-loading-indicator.e2e.js +25 -25
  310. package/dist/collection/components/ic-loading-indicator/test/basic/ic-loading-indicator.e2e.js.map +1 -1
  311. package/dist/collection/components/ic-loading-indicator/test/basic/ic-loading-indicator.spec.js +114 -114
  312. package/dist/collection/components/ic-loading-indicator/test/basic/ic-loading-indicator.spec.js.map +1 -1
  313. package/dist/collection/components/ic-menu/ic-menu.css +1 -5
  314. package/dist/collection/components/ic-menu/ic-menu.js +1271 -1213
  315. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  316. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js +684 -667
  317. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js.map +1 -1
  318. package/dist/collection/components/ic-menu-group/ic-menu-group.js +41 -41
  319. package/dist/collection/components/ic-menu-group/ic-menu-group.js.map +1 -1
  320. package/dist/collection/components/ic-menu-group/test/basic/ic-menu-group.spec.js +16 -16
  321. package/dist/collection/components/ic-menu-group/test/basic/ic-menu-group.spec.js.map +1 -1
  322. package/dist/collection/components/ic-menu-item/ic-menu-item.js +378 -378
  323. package/dist/collection/components/ic-menu-item/ic-menu-item.js.map +1 -1
  324. package/dist/collection/components/ic-menu-item/test/basic/ic-menu-item.spec.js +67 -67
  325. package/dist/collection/components/ic-menu-item/test/basic/ic-menu-item.spec.js.map +1 -1
  326. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js +262 -259
  327. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js.map +1 -1
  328. package/dist/collection/components/ic-navigation-button/test/basic/ic-navigation-button.spec.js +41 -41
  329. package/dist/collection/components/ic-navigation-button/test/basic/ic-navigation-button.spec.js.map +1 -1
  330. package/dist/collection/components/ic-navigation-group/ic-navigation-group.css +1 -1
  331. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +380 -380
  332. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js.map +1 -1
  333. package/dist/collection/components/ic-navigation-group/test/a11y/ic-navigation-group.test.a11y.js +14 -12
  334. package/dist/collection/components/ic-navigation-group/test/a11y/ic-navigation-group.test.a11y.js.map +1 -1
  335. package/dist/collection/components/ic-navigation-group/test/basic/ic-navigation-group.spec.js +242 -242
  336. package/dist/collection/components/ic-navigation-group/test/basic/ic-navigation-group.spec.js.map +1 -1
  337. package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +11 -5
  338. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +446 -446
  339. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -1
  340. package/dist/collection/components/ic-navigation-item/test/a11y/ic-navigation-item.test.a11y.js +14 -12
  341. package/dist/collection/components/ic-navigation-item/test/a11y/ic-navigation-item.test.a11y.js.map +1 -1
  342. package/dist/collection/components/ic-navigation-item/test/basic/ic-navigation-item.spec.js +78 -78
  343. package/dist/collection/components/ic-navigation-item/test/basic/ic-navigation-item.spec.js.map +1 -1
  344. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.css +7 -3
  345. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +187 -184
  346. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js.map +1 -1
  347. package/dist/collection/components/ic-navigation-menu/test/basic/ic-navigation-menu.e2e.js +25 -25
  348. package/dist/collection/components/ic-navigation-menu/test/basic/ic-navigation-menu.e2e.js.map +1 -1
  349. package/dist/collection/components/ic-navigation-menu/test/basic/ic-navigation-menu.spec.js +104 -104
  350. package/dist/collection/components/ic-navigation-menu/test/basic/ic-navigation-menu.spec.js.map +1 -1
  351. package/dist/collection/components/ic-page-header/ic-page-header.js +286 -286
  352. package/dist/collection/components/ic-page-header/ic-page-header.js.map +1 -1
  353. package/dist/collection/components/ic-page-header/test/a11y/ic-page-header.test.a11y.js +5 -5
  354. package/dist/collection/components/ic-page-header/test/a11y/ic-page-header.test.a11y.js.map +1 -1
  355. package/dist/collection/components/ic-page-header/test/basic/ic-page-header.e2e.js +66 -66
  356. package/dist/collection/components/ic-page-header/test/basic/ic-page-header.e2e.js.map +1 -1
  357. package/dist/collection/components/ic-page-header/test/basic/ic-page-header.spec.js +82 -82
  358. package/dist/collection/components/ic-page-header/test/basic/ic-page-header.spec.js.map +1 -1
  359. package/dist/collection/components/ic-pagination/ic-pagination.js +487 -482
  360. package/dist/collection/components/ic-pagination/ic-pagination.js.map +1 -1
  361. package/dist/collection/components/ic-pagination/test/a11y/ic-pagination.test.a11y.js +5 -5
  362. package/dist/collection/components/ic-pagination/test/a11y/ic-pagination.test.a11y.js.map +1 -1
  363. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.e2e.js +103 -103
  364. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.e2e.js.map +1 -1
  365. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js +304 -303
  366. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js.map +1 -1
  367. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +225 -225
  368. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js.map +1 -1
  369. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +434 -465
  370. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js.map +1 -1
  371. package/dist/collection/components/ic-popover-menu/test/a11y/ic-popover-menu.test.a11y.js +5 -5
  372. package/dist/collection/components/ic-popover-menu/test/a11y/ic-popover-menu.test.a11y.js.map +1 -1
  373. package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.e2e.js +29 -26
  374. package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.e2e.js.map +1 -1
  375. package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.spec.js +283 -283
  376. package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.spec.js.map +1 -1
  377. package/dist/collection/components/ic-radio-group/ic-radio-group.js +429 -429
  378. package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
  379. package/dist/collection/components/ic-radio-group/test/a11y/ic-radio-group.test.a11y.js +5 -5
  380. package/dist/collection/components/ic-radio-group/test/a11y/ic-radio-group.test.a11y.js.map +1 -1
  381. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.e2e.js +218 -218
  382. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.e2e.js.map +1 -1
  383. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js +238 -238
  384. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js.map +1 -1
  385. package/dist/collection/components/ic-radio-option/ic-radio-option.css +8 -8
  386. package/dist/collection/components/ic-radio-option/ic-radio-option.js +479 -479
  387. package/dist/collection/components/ic-radio-option/ic-radio-option.js.map +1 -1
  388. package/dist/collection/components/ic-search-bar/ic-search-bar.css +1 -1
  389. package/dist/collection/components/ic-search-bar/ic-search-bar.js +1381 -1381
  390. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  391. package/dist/collection/components/ic-search-bar/test/a11y/ic-search-bar.test.a11y.js +5 -5
  392. package/dist/collection/components/ic-search-bar/test/a11y/ic-search-bar.test.a11y.js.map +1 -1
  393. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.e2e.js +992 -1008
  394. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.e2e.js.map +1 -1
  395. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.spec.js +568 -568
  396. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.spec.js.map +1 -1
  397. package/dist/collection/components/ic-section-container/ic-section-container.js +70 -70
  398. package/dist/collection/components/ic-section-container/ic-section-container.js.map +1 -1
  399. package/dist/collection/components/ic-section-container/test/basic/ic-section-container.spec.js +28 -28
  400. package/dist/collection/components/ic-section-container/test/basic/ic-section-container.spec.js.map +1 -1
  401. package/dist/collection/components/ic-select/ic-select.css +1 -1
  402. package/dist/collection/components/ic-select/ic-select.js +1466 -1447
  403. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  404. package/dist/collection/components/ic-select/test/a11y/ic-select.test.a11y.js +5 -5
  405. package/dist/collection/components/ic-select/test/a11y/ic-select.test.a11y.js.map +1 -1
  406. package/dist/collection/components/ic-select/test/basic/ic-select.e2e.js +1563 -1562
  407. package/dist/collection/components/ic-select/test/basic/ic-select.e2e.js.map +1 -1
  408. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js +1299 -1299
  409. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js.map +1 -1
  410. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +675 -654
  411. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
  412. package/dist/collection/components/ic-side-navigation/ic-side-navigation.types.js.map +1 -1
  413. package/dist/collection/components/ic-side-navigation/test/a11y/ic-side-navigation.test.a11y.js +5 -5
  414. package/dist/collection/components/ic-side-navigation/test/a11y/ic-side-navigation.test.a11y.js.map +1 -1
  415. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.e2e.js +463 -464
  416. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.e2e.js.map +1 -1
  417. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.spec.js +143 -143
  418. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.spec.js.map +1 -1
  419. package/dist/collection/components/ic-skeleton/ic-skeleton.js +127 -127
  420. package/dist/collection/components/ic-skeleton/ic-skeleton.js.map +1 -1
  421. package/dist/collection/components/ic-skeleton/test/a11y/ic-skeleton.test.a11y.js +5 -5
  422. package/dist/collection/components/ic-skeleton/test/a11y/ic-skeleton.test.a11y.js.map +1 -1
  423. package/dist/collection/components/ic-skeleton/test/basic/ic-skeleton.spec.js +38 -38
  424. package/dist/collection/components/ic-skeleton/test/basic/ic-skeleton.spec.js.map +1 -1
  425. package/dist/collection/components/ic-status-tag/ic-status-tag.css +4 -4
  426. package/dist/collection/components/ic-status-tag/ic-status-tag.js +194 -194
  427. package/dist/collection/components/ic-status-tag/ic-status-tag.js.map +1 -1
  428. package/dist/collection/components/ic-status-tag/test/a11y/ic-status-tag.test.a11y.js +5 -5
  429. package/dist/collection/components/ic-status-tag/test/a11y/ic-status-tag.test.a11y.js.map +1 -1
  430. package/dist/collection/components/ic-status-tag/test/basic/ic-status-tag.spec.js +14 -14
  431. package/dist/collection/components/ic-status-tag/test/basic/ic-status-tag.spec.js.map +1 -1
  432. package/dist/collection/components/ic-step/ic-step.css +7 -1
  433. package/dist/collection/components/ic-step/ic-step.js +385 -385
  434. package/dist/collection/components/ic-step/ic-step.js.map +1 -1
  435. package/dist/collection/components/ic-step/test/basic/ic-step.spec.js +87 -87
  436. package/dist/collection/components/ic-step/test/basic/ic-step.spec.js.map +1 -1
  437. package/dist/collection/components/ic-stepper/ic-stepper.js +306 -306
  438. package/dist/collection/components/ic-stepper/ic-stepper.js.map +1 -1
  439. package/dist/collection/components/ic-stepper/test/a11y/ic-stepper.test.a11y.js +10 -10
  440. package/dist/collection/components/ic-stepper/test/a11y/ic-stepper.test.a11y.js.map +1 -1
  441. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.e2e.js +36 -36
  442. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.e2e.js.map +1 -1
  443. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.spec.js +350 -350
  444. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.spec.js.map +1 -1
  445. package/dist/collection/components/ic-switch/ic-switch.css +3 -2
  446. package/dist/collection/components/ic-switch/ic-switch.js +355 -355
  447. package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
  448. package/dist/collection/components/ic-switch/test/a11y/ic-switch.test.a11y.js +5 -5
  449. package/dist/collection/components/ic-switch/test/a11y/ic-switch.test.a11y.js.map +1 -1
  450. package/dist/collection/components/ic-switch/test/basic/ic-switch.spec.js +88 -88
  451. package/dist/collection/components/ic-switch/test/basic/ic-switch.spec.js.map +1 -1
  452. package/dist/collection/components/ic-tab/ic-tab.js +350 -350
  453. package/dist/collection/components/ic-tab/ic-tab.js.map +1 -1
  454. package/dist/collection/components/ic-tab/test/basic/ic-tab.e2e.js +26 -26
  455. package/dist/collection/components/ic-tab/test/basic/ic-tab.e2e.js.map +1 -1
  456. package/dist/collection/components/ic-tab/test/basic/ic-tab.spec.js +93 -93
  457. package/dist/collection/components/ic-tab/test/basic/ic-tab.spec.js.map +1 -1
  458. package/dist/collection/components/ic-tab-context/ic-tab-context.js +442 -441
  459. package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -1
  460. package/dist/collection/components/ic-tab-context/test/a11y/ic-tab-context.test.a11y.js +5 -5
  461. package/dist/collection/components/ic-tab-context/test/a11y/ic-tab-context.test.a11y.js.map +1 -1
  462. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.e2e.js +213 -213
  463. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.e2e.js.map +1 -1
  464. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.spec.js +250 -250
  465. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.spec.js.map +1 -1
  466. package/dist/collection/components/ic-tab-group/ic-tab-group.css +1 -1
  467. package/dist/collection/components/ic-tab-group/ic-tab-group.js +117 -117
  468. package/dist/collection/components/ic-tab-group/ic-tab-group.js.map +1 -1
  469. package/dist/collection/components/ic-tab-panel/ic-tab-panel.css +444 -1
  470. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +191 -191
  471. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js.map +1 -1
  472. package/dist/collection/components/ic-tab-panel/test/basic/ic-tab-panel.spec.js +29 -29
  473. package/dist/collection/components/ic-tab-panel/test/basic/ic-tab-panel.spec.js.map +1 -1
  474. package/dist/collection/components/ic-text-field/ic-text-field.js +1114 -1122
  475. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  476. package/dist/collection/components/ic-text-field/test/a11y/ic-text-field.test.a11y.js +5 -5
  477. package/dist/collection/components/ic-text-field/test/a11y/ic-text-field.test.a11y.js.map +1 -1
  478. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.e2e.js +94 -94
  479. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.e2e.js.map +1 -1
  480. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js +194 -194
  481. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js.map +1 -1
  482. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.textarea.spec.js +92 -92
  483. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.textarea.spec.js.map +1 -1
  484. package/dist/collection/components/ic-theme/ic-theme.js +99 -99
  485. package/dist/collection/components/ic-theme/ic-theme.js.map +1 -1
  486. package/dist/collection/components/ic-theme/test/basic/ic-theme.e2e.js +65 -65
  487. package/dist/collection/components/ic-theme/test/basic/ic-theme.e2e.js.map +1 -1
  488. package/dist/collection/components/ic-theme/test/basic/ic-theme.spec.js +53 -53
  489. package/dist/collection/components/ic-theme/test/basic/ic-theme.spec.js.map +1 -1
  490. package/dist/collection/components/ic-toast/ic-toast.js +368 -368
  491. package/dist/collection/components/ic-toast/ic-toast.js.map +1 -1
  492. package/dist/collection/components/ic-toast/test/a11y/ic-toast.test.a11y.js +10 -10
  493. package/dist/collection/components/ic-toast/test/a11y/ic-toast.test.a11y.js.map +1 -1
  494. package/dist/collection/components/ic-toast/test/basic/ic-toast.e2e.js +66 -66
  495. package/dist/collection/components/ic-toast/test/basic/ic-toast.e2e.js.map +1 -1
  496. package/dist/collection/components/ic-toast/test/basic/ic-toast.spec.js +180 -180
  497. package/dist/collection/components/ic-toast/test/basic/ic-toast.spec.js.map +1 -1
  498. package/dist/collection/components/ic-toast-region/ic-toast-region.js +115 -110
  499. package/dist/collection/components/ic-toast-region/ic-toast-region.js.map +1 -1
  500. package/dist/collection/components/ic-toast-region/test/basic/ic-toast-region.spec.js +58 -58
  501. package/dist/collection/components/ic-toast-region/test/basic/ic-toast-region.spec.js.map +1 -1
  502. package/dist/collection/components/ic-tooltip/ic-tooltip.css +2 -2
  503. package/dist/collection/components/ic-tooltip/ic-tooltip.js +347 -329
  504. package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
  505. package/dist/collection/components/ic-tooltip/test/a11y/ic-tooltip.test.a11y.js +5 -5
  506. package/dist/collection/components/ic-tooltip/test/a11y/ic-tooltip.test.a11y.js.map +1 -1
  507. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.e2e.js +105 -105
  508. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.e2e.js.map +1 -1
  509. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.spec.js +276 -276
  510. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.spec.js.map +1 -1
  511. package/dist/collection/components/ic-top-navigation/ic-top-navigation.css +3 -7
  512. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +432 -414
  513. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
  514. package/dist/collection/components/ic-top-navigation/test/a11y/ic-top-navigation.test.a11y.js +20 -18
  515. package/dist/collection/components/ic-top-navigation/test/a11y/ic-top-navigation.test.a11y.js.map +1 -1
  516. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.e2e.js +43 -43
  517. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.e2e.js.map +1 -1
  518. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.mobile.e2e.js +191 -191
  519. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.mobile.e2e.js.map +1 -1
  520. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.spec.js +187 -172
  521. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.spec.js.map +1 -1
  522. package/dist/collection/components/ic-typography/ic-typography.js +270 -270
  523. package/dist/collection/components/ic-typography/ic-typography.js.map +1 -1
  524. package/dist/collection/components/ic-typography/test/a11y/ic-typography.test.a11y.js +5 -5
  525. package/dist/collection/components/ic-typography/test/a11y/ic-typography.test.a11y.js.map +1 -1
  526. package/dist/collection/components/ic-typography/test/basic/ic-typography.e2e.js +25 -25
  527. package/dist/collection/components/ic-typography/test/basic/ic-typography.e2e.js.map +1 -1
  528. package/dist/collection/components/ic-typography/test/basic/ic-typography.spec.js +276 -276
  529. package/dist/collection/components/ic-typography/test/basic/ic-typography.spec.js.map +1 -1
  530. package/dist/collection/testspec.setup.js +32 -32
  531. package/dist/collection/testspec.setup.js.map +1 -1
  532. package/dist/collection/utils/constants.js +55 -55
  533. package/dist/collection/utils/constants.js.map +1 -1
  534. package/dist/collection/utils/helpers.js +235 -235
  535. package/dist/collection/utils/helpers.js.map +1 -1
  536. package/dist/collection/utils/testa11y.helpers.js +2 -2
  537. package/dist/collection/utils/testa11y.helpers.js.map +1 -1
  538. package/dist/collection/utils/types.js +6 -6
  539. package/dist/collection/utils/types.js.map +1 -1
  540. package/dist/components/helpers.js +290 -290
  541. package/dist/components/helpers.js.map +1 -1
  542. package/dist/components/ic-accordion-group.d.ts +2 -2
  543. package/dist/components/ic-accordion-group.js +112 -112
  544. package/dist/components/ic-accordion-group.js.map +1 -1
  545. package/dist/components/ic-accordion.d.ts +2 -2
  546. package/dist/components/ic-accordion.js +125 -125
  547. package/dist/components/ic-accordion.js.map +1 -1
  548. package/dist/components/ic-alert.d.ts +2 -2
  549. package/dist/components/ic-alert2.js +98 -98
  550. package/dist/components/ic-alert2.js.map +1 -1
  551. package/dist/components/ic-back-to-top.d.ts +2 -2
  552. package/dist/components/ic-back-to-top.js +144 -144
  553. package/dist/components/ic-back-to-top.js.map +1 -1
  554. package/dist/components/ic-badge.d.ts +2 -2
  555. package/dist/components/ic-badge.js +174 -174
  556. package/dist/components/ic-badge.js.map +1 -1
  557. package/dist/components/ic-breadcrumb-group.d.ts +2 -2
  558. package/dist/components/ic-breadcrumb-group.js +199 -192
  559. package/dist/components/ic-breadcrumb-group.js.map +1 -1
  560. package/dist/components/ic-breadcrumb.d.ts +2 -2
  561. package/dist/components/ic-breadcrumb2.js +78 -75
  562. package/dist/components/ic-breadcrumb2.js.map +1 -1
  563. package/dist/components/ic-button.d.ts +2 -2
  564. package/dist/components/ic-button2.js +312 -304
  565. package/dist/components/ic-button2.js.map +1 -1
  566. package/dist/components/ic-card.d.ts +2 -2
  567. package/dist/components/ic-card.js +156 -156
  568. package/dist/components/ic-card.js.map +1 -1
  569. package/dist/components/ic-checkbox-group.d.ts +2 -2
  570. package/dist/components/ic-checkbox-group.js +97 -97
  571. package/dist/components/ic-checkbox-group.js.map +1 -1
  572. package/dist/components/ic-checkbox.d.ts +2 -2
  573. package/dist/components/ic-checkbox.js +131 -131
  574. package/dist/components/ic-checkbox.js.map +1 -1
  575. package/dist/components/ic-chip.d.ts +2 -2
  576. package/dist/components/ic-chip.js +99 -96
  577. package/dist/components/ic-chip.js.map +1 -1
  578. package/dist/components/ic-classification-banner.d.ts +2 -2
  579. package/dist/components/ic-classification-banner.js +47 -47
  580. package/dist/components/ic-classification-banner.js.map +1 -1
  581. package/dist/components/ic-data-entity.d.ts +2 -2
  582. package/dist/components/ic-data-entity.js +40 -40
  583. package/dist/components/ic-data-entity.js.map +1 -1
  584. package/dist/components/ic-data-row.d.ts +2 -2
  585. package/dist/components/ic-data-row.js +98 -98
  586. package/dist/components/ic-data-row.js.map +1 -1
  587. package/dist/components/ic-dialog.d.ts +2 -2
  588. package/dist/components/ic-dialog.js +400 -378
  589. package/dist/components/ic-dialog.js.map +1 -1
  590. package/dist/components/ic-divider.d.ts +2 -2
  591. package/dist/components/ic-divider2.js +28 -28
  592. package/dist/components/ic-divider2.js.map +1 -1
  593. package/dist/components/ic-empty-state.d.ts +2 -2
  594. package/dist/components/ic-empty-state.js +47 -47
  595. package/dist/components/ic-empty-state.js.map +1 -1
  596. package/dist/components/ic-footer-link-group.d.ts +2 -2
  597. package/dist/components/ic-footer-link-group.js +82 -82
  598. package/dist/components/ic-footer-link-group.js.map +1 -1
  599. package/dist/components/ic-footer-link.d.ts +2 -2
  600. package/dist/components/ic-footer-link.js +71 -71
  601. package/dist/components/ic-footer-link.js.map +1 -1
  602. package/dist/components/ic-footer.d.ts +2 -2
  603. package/dist/components/ic-footer.js +108 -108
  604. package/dist/components/ic-footer.js.map +1 -1
  605. package/dist/components/ic-hero.d.ts +2 -2
  606. package/dist/components/ic-hero.js +98 -98
  607. package/dist/components/ic-hero.js.map +1 -1
  608. package/dist/components/ic-horizontal-scroll.d.ts +2 -2
  609. package/dist/components/ic-horizontal-scroll2.js +189 -189
  610. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  611. package/dist/components/ic-input-component-container.d.ts +2 -2
  612. package/dist/components/ic-input-component-container2.js +62 -62
  613. package/dist/components/ic-input-component-container2.js.map +1 -1
  614. package/dist/components/ic-input-container.d.ts +2 -2
  615. package/dist/components/ic-input-container2.js +28 -28
  616. package/dist/components/ic-input-container2.js.map +1 -1
  617. package/dist/components/ic-input-label.d.ts +2 -2
  618. package/dist/components/ic-input-label2.js +62 -62
  619. package/dist/components/ic-input-label2.js.map +1 -1
  620. package/dist/components/ic-input-validation.d.ts +2 -2
  621. package/dist/components/ic-input-validation2.js +50 -50
  622. package/dist/components/ic-input-validation2.js.map +1 -1
  623. package/dist/components/ic-link.d.ts +2 -2
  624. package/dist/components/ic-link2.js +76 -76
  625. package/dist/components/ic-link2.js.map +1 -1
  626. package/dist/components/ic-loading-indicator.d.ts +2 -2
  627. package/dist/components/ic-loading-indicator2.js +211 -210
  628. package/dist/components/ic-loading-indicator2.js.map +1 -1
  629. package/dist/components/ic-menu-group.d.ts +2 -2
  630. package/dist/components/ic-menu-group.js +30 -30
  631. package/dist/components/ic-menu-group.js.map +1 -1
  632. package/dist/components/ic-menu-item.d.ts +2 -2
  633. package/dist/components/ic-menu-item2.js +144 -144
  634. package/dist/components/ic-menu-item2.js.map +1 -1
  635. package/dist/components/ic-menu.d.ts +2 -2
  636. package/dist/components/ic-menu2.js +694 -682
  637. package/dist/components/ic-menu2.js.map +1 -1
  638. package/dist/components/ic-navigation-button.d.ts +2 -2
  639. package/dist/components/ic-navigation-button.js +121 -118
  640. package/dist/components/ic-navigation-button.js.map +1 -1
  641. package/dist/components/ic-navigation-group.d.ts +2 -2
  642. package/dist/components/ic-navigation-group.js +311 -311
  643. package/dist/components/ic-navigation-group.js.map +1 -1
  644. package/dist/components/ic-navigation-item.d.ts +2 -2
  645. package/dist/components/ic-navigation-item.js +195 -195
  646. package/dist/components/ic-navigation-item.js.map +1 -1
  647. package/dist/components/ic-navigation-menu.d.ts +2 -2
  648. package/dist/components/ic-navigation-menu2.js +140 -137
  649. package/dist/components/ic-navigation-menu2.js.map +1 -1
  650. package/dist/components/ic-page-header.d.ts +2 -2
  651. package/dist/components/ic-page-header.js +147 -147
  652. package/dist/components/ic-page-header.js.map +1 -1
  653. package/dist/components/ic-pagination-item.d.ts +2 -2
  654. package/dist/components/ic-pagination-item2.js +67 -67
  655. package/dist/components/ic-pagination-item2.js.map +1 -1
  656. package/dist/components/ic-pagination.d.ts +2 -2
  657. package/dist/components/ic-pagination.js +253 -252
  658. package/dist/components/ic-pagination.js.map +1 -1
  659. package/dist/components/ic-popover-menu.d.ts +2 -2
  660. package/dist/components/ic-popover-menu.js +278 -309
  661. package/dist/components/ic-popover-menu.js.map +1 -1
  662. package/dist/components/ic-radio-group.d.ts +2 -2
  663. package/dist/components/ic-radio-group.js +200 -200
  664. package/dist/components/ic-radio-group.js.map +1 -1
  665. package/dist/components/ic-radio-option.d.ts +2 -2
  666. package/dist/components/ic-radio-option.js +163 -163
  667. package/dist/components/ic-radio-option.js.map +1 -1
  668. package/dist/components/ic-search-bar.d.ts +2 -2
  669. package/dist/components/ic-search-bar.js +581 -581
  670. package/dist/components/ic-search-bar.js.map +1 -1
  671. package/dist/components/ic-section-container.d.ts +2 -2
  672. package/dist/components/ic-section-container2.js +31 -31
  673. package/dist/components/ic-section-container2.js.map +1 -1
  674. package/dist/components/ic-select.d.ts +2 -2
  675. package/dist/components/ic-select.js +752 -750
  676. package/dist/components/ic-select.js.map +1 -1
  677. package/dist/components/ic-side-navigation.d.ts +2 -2
  678. package/dist/components/ic-side-navigation.js +479 -481
  679. package/dist/components/ic-side-navigation.js.map +1 -1
  680. package/dist/components/ic-skeleton.d.ts +2 -2
  681. package/dist/components/ic-skeleton.js +64 -64
  682. package/dist/components/ic-skeleton.js.map +1 -1
  683. package/dist/components/ic-status-tag.d.ts +2 -2
  684. package/dist/components/ic-status-tag.js +54 -54
  685. package/dist/components/ic-status-tag.js.map +1 -1
  686. package/dist/components/ic-step.d.ts +2 -2
  687. package/dist/components/ic-step.js +157 -157
  688. package/dist/components/ic-step.js.map +1 -1
  689. package/dist/components/ic-stepper.d.ts +2 -2
  690. package/dist/components/ic-stepper.js +223 -223
  691. package/dist/components/ic-stepper.js.map +1 -1
  692. package/dist/components/ic-switch.d.ts +2 -2
  693. package/dist/components/ic-switch.js +115 -115
  694. package/dist/components/ic-switch.js.map +1 -1
  695. package/dist/components/ic-tab-context.d.ts +2 -2
  696. package/dist/components/ic-tab-context.js +271 -271
  697. package/dist/components/ic-tab-context.js.map +1 -1
  698. package/dist/components/ic-tab-group.d.ts +2 -2
  699. package/dist/components/ic-tab-group.js +65 -65
  700. package/dist/components/ic-tab-group.js.map +1 -1
  701. package/dist/components/ic-tab-panel.d.ts +2 -2
  702. package/dist/components/ic-tab-panel.js +48 -48
  703. package/dist/components/ic-tab-panel.js.map +1 -1
  704. package/dist/components/ic-tab.d.ts +2 -2
  705. package/dist/components/ic-tab.js +112 -112
  706. package/dist/components/ic-tab.js.map +1 -1
  707. package/dist/components/ic-text-field.d.ts +2 -2
  708. package/dist/components/ic-text-field2.js +292 -300
  709. package/dist/components/ic-text-field2.js.map +1 -1
  710. package/dist/components/ic-theme.d.ts +2 -2
  711. package/dist/components/ic-theme.js +65 -65
  712. package/dist/components/ic-theme.js.map +1 -1
  713. package/dist/components/ic-toast-region.d.ts +2 -2
  714. package/dist/components/ic-toast-region.js +63 -62
  715. package/dist/components/ic-toast-region.js.map +1 -1
  716. package/dist/components/ic-toast.d.ts +2 -2
  717. package/dist/components/ic-toast.js +187 -187
  718. package/dist/components/ic-toast.js.map +1 -1
  719. package/dist/components/ic-tooltip.d.ts +2 -2
  720. package/dist/components/ic-tooltip2.js +214 -212
  721. package/dist/components/ic-tooltip2.js.map +1 -1
  722. package/dist/components/ic-top-navigation.d.ts +2 -2
  723. package/dist/components/ic-top-navigation.js +263 -260
  724. package/dist/components/ic-top-navigation.js.map +1 -1
  725. package/dist/components/ic-typography.d.ts +2 -2
  726. package/dist/components/ic-typography2.js +142 -142
  727. package/dist/components/ic-typography2.js.map +1 -1
  728. package/dist/components/types.js +6 -6
  729. package/dist/components/types.js.map +1 -1
  730. package/dist/core/core.css +2 -2
  731. package/dist/core/core.esm.js +1 -1
  732. package/dist/core/core.esm.js.map +1 -1
  733. package/dist/core/p-02159742.entry.js +2 -0
  734. package/dist/core/p-02159742.entry.js.map +1 -0
  735. package/dist/core/p-056f8a67.entry.js +2 -0
  736. package/dist/core/p-056f8a67.entry.js.map +1 -0
  737. package/dist/core/{p-08b59078.entry.js → p-11736fbe.entry.js} +2 -2
  738. package/dist/core/{p-ba495175.entry.js → p-15466b42.entry.js} +2 -2
  739. package/dist/core/{p-ba495175.entry.js.map → p-15466b42.entry.js.map} +1 -1
  740. package/dist/core/{p-eb063498.entry.js → p-15624e08.entry.js} +2 -2
  741. package/dist/core/p-15624e08.entry.js.map +1 -0
  742. package/dist/core/{p-5fcd202e.entry.js → p-15ef0674.entry.js} +2 -2
  743. package/dist/core/{p-88ea1e49.entry.js → p-180e36b1.entry.js} +2 -2
  744. package/dist/core/p-22c024ee.entry.js +2 -0
  745. package/dist/core/p-22c024ee.entry.js.map +1 -0
  746. package/dist/core/{p-613aa265.js → p-26b7b18f.js} +1 -1
  747. package/dist/core/{p-932fb4b7.entry.js → p-287ab47c.entry.js} +2 -2
  748. package/dist/core/{p-69948c3e.entry.js → p-2b24b4bf.entry.js} +2 -2
  749. package/dist/core/p-31969be6.entry.js +2 -0
  750. package/dist/core/p-31969be6.entry.js.map +1 -0
  751. package/dist/core/{p-475b7bd2.entry.js → p-335fc5e4.entry.js} +2 -2
  752. package/dist/core/{p-c9ef9f5c.entry.js → p-366bcb17.entry.js} +2 -2
  753. package/dist/core/{p-ed256f1d.entry.js → p-3a0ef91e.entry.js} +2 -2
  754. package/dist/core/p-498eb7ad.entry.js +2 -0
  755. package/dist/core/p-498eb7ad.entry.js.map +1 -0
  756. package/dist/core/p-51f9f329.entry.js +2 -0
  757. package/dist/core/p-51f9f329.entry.js.map +1 -0
  758. package/dist/core/{p-f019219c.entry.js → p-529d8955.entry.js} +2 -2
  759. package/dist/core/p-52e063d3.js +3 -0
  760. package/dist/core/p-52e063d3.js.map +1 -0
  761. package/dist/core/p-5c7e339f.entry.js +2 -0
  762. package/dist/core/p-5c7e339f.entry.js.map +1 -0
  763. package/dist/core/p-5f9d69ef.entry.js +2 -0
  764. package/dist/core/p-5f9d69ef.entry.js.map +1 -0
  765. package/dist/core/{p-2c30b583.entry.js → p-60c4604f.entry.js} +2 -2
  766. package/dist/core/p-6bc431b2.entry.js +2 -0
  767. package/dist/core/p-6bc431b2.entry.js.map +1 -0
  768. package/dist/core/{p-ccac1730.entry.js → p-6d3f9501.entry.js} +2 -2
  769. package/dist/core/{p-536b3c97.entry.js → p-6eb0421d.entry.js} +2 -2
  770. package/dist/core/{p-48525498.entry.js → p-765bdd98.entry.js} +2 -2
  771. package/dist/core/{p-3a814fc4.entry.js → p-7f887c1e.entry.js} +2 -2
  772. package/dist/core/{p-752f0f9a.entry.js → p-8a83f391.entry.js} +2 -2
  773. package/dist/core/p-8a83f391.entry.js.map +1 -0
  774. package/dist/core/{p-e3bffcae.entry.js → p-94e88827.entry.js} +2 -2
  775. package/dist/core/{p-8fb4f0c0.js → p-95a864bf.js} +2 -2
  776. package/dist/core/{p-c0c62df4.entry.js → p-9639e33f.entry.js} +2 -2
  777. package/dist/core/p-9639e33f.entry.js.map +1 -0
  778. package/dist/core/p-96da1e85.entry.js +2 -0
  779. package/dist/core/p-96da1e85.entry.js.map +1 -0
  780. package/dist/core/p-988991d3.entry.js +2 -0
  781. package/dist/core/p-988991d3.entry.js.map +1 -0
  782. package/dist/core/{p-0c82048e.entry.js → p-9c30720d.entry.js} +2 -2
  783. package/dist/core/p-aa0a9870.entry.js +2 -0
  784. package/dist/core/p-aa0a9870.entry.js.map +1 -0
  785. package/dist/core/{p-76563540.entry.js → p-ad36a704.entry.js} +2 -2
  786. package/dist/core/p-b0088956.entry.js +2 -0
  787. package/dist/core/p-b0088956.entry.js.map +1 -0
  788. package/dist/core/p-b39ecae2.entry.js +2 -0
  789. package/dist/core/p-b39ecae2.entry.js.map +1 -0
  790. package/dist/core/{p-2265e418.entry.js → p-b6a575c3.entry.js} +2 -2
  791. package/dist/core/{p-fbc8a739.entry.js → p-b9736cf4.entry.js} +2 -2
  792. package/dist/core/{p-025f9d2a.entry.js → p-b99f9e89.entry.js} +2 -2
  793. package/dist/core/{p-b0ce60a0.entry.js → p-c2452388.entry.js} +2 -2
  794. package/dist/core/{p-345fe84a.entry.js → p-c770e7a2.entry.js} +2 -2
  795. package/dist/core/p-ca178add.entry.js +2 -0
  796. package/dist/core/p-ca178add.entry.js.map +1 -0
  797. package/dist/core/p-ca48e97a.entry.js +2 -0
  798. package/dist/core/p-ca48e97a.entry.js.map +1 -0
  799. package/dist/core/p-cd8de4c5.entry.js +2 -0
  800. package/dist/core/p-cd8de4c5.entry.js.map +1 -0
  801. package/dist/core/{p-a4397df4.entry.js → p-cfc930f6.entry.js} +2 -2
  802. package/dist/core/{p-3a15202f.entry.js → p-d18450f9.entry.js} +2 -2
  803. package/dist/core/p-d18450f9.entry.js.map +1 -0
  804. package/dist/core/p-daebb58a.entry.js +2 -0
  805. package/dist/core/p-daebb58a.entry.js.map +1 -0
  806. package/dist/core/p-dbb5b008.entry.js +2 -0
  807. package/dist/core/p-dbb5b008.entry.js.map +1 -0
  808. package/dist/core/p-e278242f.entry.js +2 -0
  809. package/dist/core/p-e278242f.entry.js.map +1 -0
  810. package/dist/core/{p-af9f1caa.entry.js → p-e5abfadd.entry.js} +2 -2
  811. package/dist/core/p-e5abfadd.entry.js.map +1 -0
  812. package/dist/core/{p-41c6eaa1.entry.js → p-e9738c74.entry.js} +2 -2
  813. package/dist/core/p-ea17e371.entry.js +2 -0
  814. package/dist/core/p-ea17e371.entry.js.map +1 -0
  815. package/dist/core/{p-e2fd542e.entry.js → p-edd29edc.entry.js} +2 -2
  816. package/dist/core/p-edec0936.entry.js +2 -0
  817. package/dist/core/p-edec0936.entry.js.map +1 -0
  818. package/dist/core/p-ee97e2a5.entry.js +2 -0
  819. package/dist/core/p-ee97e2a5.entry.js.map +1 -0
  820. package/dist/core/{p-8b18346a.entry.js → p-f0809037.entry.js} +2 -2
  821. package/dist/core/p-f0809037.entry.js.map +1 -0
  822. package/dist/core/{p-5bb6c79b.entry.js → p-f2e6b9ef.entry.js} +2 -2
  823. package/dist/core/{p-cf4bacee.entry.js → p-fdb4b48f.entry.js} +2 -2
  824. package/dist/esm/core.js +4 -4
  825. package/dist/esm/core.js.map +1 -1
  826. package/dist/esm/{helpers-24f6e762.js → helpers-c597f246.js} +292 -292
  827. package/dist/esm/helpers-c597f246.js.map +1 -0
  828. package/dist/esm/ic-accordion-group.entry.js +71 -71
  829. package/dist/esm/ic-accordion-group.entry.js.map +1 -1
  830. package/dist/esm/ic-accordion.entry.js +99 -99
  831. package/dist/esm/ic-accordion.entry.js.map +1 -1
  832. package/dist/esm/ic-alert.entry.js +58 -58
  833. package/dist/esm/ic-alert.entry.js.map +1 -1
  834. package/dist/esm/ic-back-to-top.entry.js +121 -121
  835. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  836. package/dist/esm/ic-badge.entry.js +146 -146
  837. package/dist/esm/ic-badge.entry.js.map +1 -1
  838. package/dist/esm/ic-breadcrumb-group.entry.js +172 -166
  839. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  840. package/dist/esm/ic-breadcrumb.entry.js +55 -53
  841. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  842. package/dist/esm/ic-button_3.entry.js +616 -607
  843. package/dist/esm/ic-button_3.entry.js.map +1 -1
  844. package/dist/esm/ic-card.entry.js +106 -106
  845. package/dist/esm/ic-card.entry.js.map +1 -1
  846. package/dist/esm/ic-checkbox-group.entry.js +60 -60
  847. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  848. package/dist/esm/ic-checkbox.entry.js +95 -95
  849. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  850. package/dist/esm/ic-chip.entry.js +67 -65
  851. package/dist/esm/ic-chip.entry.js.map +1 -1
  852. package/dist/esm/ic-classification-banner.entry.js +23 -23
  853. package/dist/esm/ic-classification-banner.entry.js.map +1 -1
  854. package/dist/esm/ic-data-entity.entry.js +18 -18
  855. package/dist/esm/ic-data-entity.entry.js.map +1 -1
  856. package/dist/esm/ic-data-row.entry.js +75 -75
  857. package/dist/esm/ic-data-row.entry.js.map +1 -1
  858. package/dist/esm/ic-dialog.entry.js +339 -318
  859. package/dist/esm/ic-dialog.entry.js.map +1 -1
  860. package/dist/esm/ic-divider.entry.js +16 -16
  861. package/dist/esm/ic-divider.entry.js.map +1 -1
  862. package/dist/esm/ic-empty-state.entry.js +24 -24
  863. package/dist/esm/ic-empty-state.entry.js.map +1 -1
  864. package/dist/esm/ic-footer-link-group.entry.js +55 -55
  865. package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
  866. package/dist/esm/ic-footer-link.entry.js +50 -50
  867. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  868. package/dist/esm/ic-footer.entry.js +78 -78
  869. package/dist/esm/ic-footer.entry.js.map +1 -1
  870. package/dist/esm/ic-hero.entry.js +62 -62
  871. package/dist/esm/ic-hero.entry.js.map +1 -1
  872. package/dist/esm/ic-horizontal-scroll.entry.js +151 -151
  873. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  874. package/dist/esm/ic-input-component-container_3.entry.js +682 -673
  875. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  876. package/dist/esm/ic-input-label_2.entry.js +63 -63
  877. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  878. package/dist/esm/ic-link.entry.js +55 -55
  879. package/dist/esm/ic-link.entry.js.map +1 -1
  880. package/dist/esm/ic-menu-group.entry.js +12 -12
  881. package/dist/esm/ic-menu-group.entry.js.map +1 -1
  882. package/dist/esm/ic-menu-item.entry.js +100 -100
  883. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  884. package/dist/esm/ic-navigation-button.entry.js +79 -76
  885. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  886. package/dist/esm/ic-navigation-group.entry.js +284 -284
  887. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  888. package/dist/esm/ic-navigation-item.entry.js +153 -153
  889. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  890. package/dist/esm/ic-navigation-menu.entry.js +106 -103
  891. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  892. package/dist/esm/ic-page-header.entry.js +93 -93
  893. package/dist/esm/ic-page-header.entry.js.map +1 -1
  894. package/dist/esm/ic-pagination-item.entry.js +42 -42
  895. package/dist/esm/ic-pagination-item.entry.js.map +1 -1
  896. package/dist/esm/ic-pagination.entry.js +196 -195
  897. package/dist/esm/ic-pagination.entry.js.map +1 -1
  898. package/dist/esm/ic-popover-menu.entry.js +229 -260
  899. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  900. package/dist/esm/ic-radio-group.entry.js +156 -156
  901. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  902. package/dist/esm/ic-radio-option.entry.js +128 -128
  903. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  904. package/dist/esm/ic-search-bar.entry.js +475 -475
  905. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  906. package/dist/esm/ic-section-container.entry.js +15 -15
  907. package/dist/esm/ic-section-container.entry.js.map +1 -1
  908. package/dist/esm/ic-select.entry.js +640 -639
  909. package/dist/esm/ic-select.entry.js.map +1 -1
  910. package/dist/esm/ic-side-navigation.entry.js +424 -426
  911. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  912. package/dist/esm/ic-skeleton.entry.js +43 -43
  913. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  914. package/dist/esm/ic-status-tag.entry.js +30 -30
  915. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  916. package/dist/esm/ic-step.entry.js +121 -121
  917. package/dist/esm/ic-step.entry.js.map +1 -1
  918. package/dist/esm/ic-stepper.entry.js +200 -200
  919. package/dist/esm/ic-stepper.entry.js.map +1 -1
  920. package/dist/esm/ic-switch.entry.js +78 -78
  921. package/dist/esm/ic-switch.entry.js.map +1 -1
  922. package/dist/esm/ic-tab-context.entry.js +252 -252
  923. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  924. package/dist/esm/ic-tab-group.entry.js +24 -24
  925. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  926. package/dist/esm/ic-tab-panel.entry.js +31 -31
  927. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  928. package/dist/esm/ic-tab.entry.js +86 -86
  929. package/dist/esm/ic-tab.entry.js.map +1 -1
  930. package/dist/esm/ic-text-field.entry.js +209 -217
  931. package/dist/esm/ic-text-field.entry.js.map +1 -1
  932. package/dist/esm/ic-theme.entry.js +51 -51
  933. package/dist/esm/ic-theme.entry.js.map +1 -1
  934. package/dist/esm/ic-toast-region.entry.js +47 -46
  935. package/dist/esm/ic-toast-region.entry.js.map +1 -1
  936. package/dist/esm/ic-toast.entry.js +145 -145
  937. package/dist/esm/ic-toast.entry.js.map +1 -1
  938. package/dist/esm/ic-top-navigation.entry.js +198 -195
  939. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  940. package/dist/esm/ic-typography.entry.js +118 -118
  941. package/dist/esm/ic-typography.entry.js.map +1 -1
  942. package/dist/{cjs/index-4f8c900f.js → esm/index-05003e1c.js} +603 -407
  943. package/dist/esm/index-05003e1c.js.map +1 -0
  944. package/dist/esm/loader.js +3 -3
  945. package/dist/esm/types-6f6b41a5.js +16 -0
  946. package/dist/esm/{types-b2398b37.js.map → types-6f6b41a5.js.map} +1 -1
  947. package/dist/node.d.ts +12 -0
  948. package/dist/types/components/ic-accordion/ic-accordion.d.ts +48 -48
  949. package/dist/types/components/ic-accordion-group/ic-accordion-group.d.ts +30 -30
  950. package/dist/types/components/ic-alert/ic-alert.d.ts +40 -40
  951. package/dist/types/components/ic-back-to-top/ic-back-to-top.d.ts +23 -23
  952. package/dist/types/components/ic-badge/ic-badge.d.ts +57 -57
  953. package/dist/types/components/ic-breadcrumb/ic-breadcrumb.d.ts +30 -25
  954. package/dist/types/components/ic-breadcrumb-group/ic-breadcrumb-group.d.ts +43 -38
  955. package/dist/types/components/ic-button/ic-button.d.ts +142 -137
  956. package/dist/types/components/ic-card/ic-card.d.ts +68 -68
  957. package/dist/types/components/ic-checkbox/ic-checkbox.d.ts +91 -91
  958. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +50 -50
  959. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.types.d.ts +6 -6
  960. package/dist/types/components/ic-chip/ic-chip.d.ts +50 -46
  961. package/dist/types/components/ic-classification-banner/ic-classification-banner.d.ts +21 -21
  962. package/dist/types/components/ic-data-entity/ic-data-entity.d.ts +14 -14
  963. package/dist/types/components/ic-data-row/ic-data-row.d.ts +34 -34
  964. package/dist/types/components/ic-dialog/ic-dialog.d.ts +139 -128
  965. package/dist/types/components/ic-divider/ic-divider.d.ts +3 -3
  966. package/dist/types/components/ic-empty-state/ic-empty-state.d.ts +27 -27
  967. package/dist/types/components/ic-footer/ic-footer.d.ts +41 -41
  968. package/dist/types/components/ic-footer-link/ic-footer-link.d.ts +35 -35
  969. package/dist/types/components/ic-footer-link-group/ic-footer-link-group.d.ts +17 -17
  970. package/dist/types/components/ic-hero/ic-hero.d.ts +51 -51
  971. package/dist/types/components/ic-horizontal-scroll/ic-horizontal-scroll.d.ts +41 -41
  972. package/dist/types/components/ic-input-component-container/ic-input-component-container.d.ts +42 -42
  973. package/dist/types/components/ic-input-container/ic-input-container.d.ts +9 -9
  974. package/dist/types/components/ic-input-label/ic-input-label.d.ts +38 -38
  975. package/dist/types/components/ic-input-validation/ic-input-validation.d.ts +23 -23
  976. package/dist/types/components/ic-link/ic-link.d.ts +44 -44
  977. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.d.ts +76 -76
  978. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.types.d.ts +3 -3
  979. package/dist/types/components/ic-menu/ic-menu.d.ts +183 -173
  980. package/dist/types/components/ic-menu/ic-menu.types.d.ts +6 -6
  981. package/dist/types/components/ic-menu-group/ic-menu-group.d.ts +6 -6
  982. package/dist/types/components/ic-menu-item/ic-menu-item.d.ts +66 -66
  983. package/dist/types/components/ic-navigation-button/ic-navigation-button.d.ts +47 -47
  984. package/dist/types/components/ic-navigation-group/ic-navigation-group.d.ts +62 -62
  985. package/dist/types/components/ic-navigation-item/ic-navigation-item.d.ts +80 -80
  986. package/dist/types/components/ic-navigation-menu/ic-navigation-menu.d.ts +29 -29
  987. package/dist/types/components/ic-page-header/ic-page-header.d.ts +48 -48
  988. package/dist/types/components/ic-pagination/ic-pagination.d.ts +78 -77
  989. package/dist/types/components/ic-pagination/ic-pagination.types.d.ts +1 -1
  990. package/dist/types/components/ic-pagination-item/ic-pagination-item.d.ts +42 -42
  991. package/dist/types/components/ic-popover-menu/ic-popover-menu.d.ts +60 -60
  992. package/dist/types/components/ic-radio-group/ic-radio-group.d.ts +67 -67
  993. package/dist/types/components/ic-radio-group/ic-radio-group.types.d.ts +5 -5
  994. package/dist/types/components/ic-radio-option/ic-radio-option.d.ts +89 -89
  995. package/dist/types/components/ic-search-bar/ic-search-bar.d.ts +248 -248
  996. package/dist/types/components/ic-search-bar/ic-search-bar.types.d.ts +1 -1
  997. package/dist/types/components/ic-section-container/ic-section-container.d.ts +9 -9
  998. package/dist/types/components/ic-select/ic-select.d.ts +269 -265
  999. package/dist/types/components/ic-side-navigation/ic-side-navigation.d.ts +103 -97
  1000. package/dist/types/components/ic-side-navigation/ic-side-navigation.types.d.ts +10 -6
  1001. package/dist/types/components/ic-skeleton/ic-skeleton.d.ts +19 -19
  1002. package/dist/types/components/ic-status-tag/ic-status-tag.d.ts +31 -31
  1003. package/dist/types/components/ic-step/ic-step.d.ts +51 -51
  1004. package/dist/types/components/ic-stepper/ic-stepper.d.ts +40 -40
  1005. package/dist/types/components/ic-switch/ic-switch.d.ts +73 -73
  1006. package/dist/types/components/ic-switch/ic-switch.types.d.ts +2 -2
  1007. package/dist/types/components/ic-tab/ic-tab.d.ts +51 -51
  1008. package/dist/types/components/ic-tab/ic-tab.types.d.ts +4 -4
  1009. package/dist/types/components/ic-tab-context/ic-tab-context.d.ts +59 -59
  1010. package/dist/types/components/ic-tab-group/ic-tab-group.d.ts +19 -19
  1011. package/dist/types/components/ic-tab-panel/ic-tab-panel.d.ts +33 -33
  1012. package/dist/types/components/ic-text-field/ic-text-field.d.ts +214 -213
  1013. package/dist/types/components/ic-theme/ic-theme.d.ts +14 -14
  1014. package/dist/types/components/ic-toast/ic-toast.d.ts +58 -58
  1015. package/dist/types/components/ic-toast-region/ic-toast-region.d.ts +16 -15
  1016. package/dist/types/components/ic-tooltip/ic-tooltip.d.ts +54 -50
  1017. package/dist/types/components/ic-top-navigation/ic-top-navigation.d.ts +78 -72
  1018. package/dist/types/components/ic-typography/ic-typography.d.ts +54 -54
  1019. package/dist/types/components.d.ts +415 -3
  1020. package/dist/types/stencil-public-runtime.d.ts +29 -0
  1021. package/dist/types/testspec.setup.d.ts +7 -7
  1022. package/dist/types/utils/constants.d.ts +26 -26
  1023. package/dist/types/utils/helpers.d.ts +7 -7
  1024. package/dist/types/utils/types.d.ts +31 -31
  1025. package/hydrate/index.d.ts +2 -2
  1026. package/hydrate/index.js +16042 -14263
  1027. package/package.json +5 -4
  1028. package/vscode-data.json +3939 -0
  1029. package/dist/cjs/helpers-0d63359f.js.map +0 -1
  1030. package/dist/cjs/index-4f8c900f.js.map +0 -1
  1031. package/dist/cjs/types-7d67439f.js +0 -16
  1032. package/dist/core/p-03329fd0.entry.js +0 -2
  1033. package/dist/core/p-03329fd0.entry.js.map +0 -1
  1034. package/dist/core/p-0dc4f225.entry.js +0 -2
  1035. package/dist/core/p-0dc4f225.entry.js.map +0 -1
  1036. package/dist/core/p-12124e24.entry.js +0 -2
  1037. package/dist/core/p-12124e24.entry.js.map +0 -1
  1038. package/dist/core/p-1cf2a6aa.entry.js +0 -2
  1039. package/dist/core/p-1cf2a6aa.entry.js.map +0 -1
  1040. package/dist/core/p-39c8111d.entry.js +0 -2
  1041. package/dist/core/p-39c8111d.entry.js.map +0 -1
  1042. package/dist/core/p-3a15202f.entry.js.map +0 -1
  1043. package/dist/core/p-3fd897c9.entry.js +0 -2
  1044. package/dist/core/p-3fd897c9.entry.js.map +0 -1
  1045. package/dist/core/p-432f8ff0.entry.js +0 -2
  1046. package/dist/core/p-432f8ff0.entry.js.map +0 -1
  1047. package/dist/core/p-4559600a.entry.js +0 -2
  1048. package/dist/core/p-4559600a.entry.js.map +0 -1
  1049. package/dist/core/p-59bdafff.entry.js +0 -2
  1050. package/dist/core/p-59bdafff.entry.js.map +0 -1
  1051. package/dist/core/p-5b487daa.entry.js +0 -2
  1052. package/dist/core/p-5b487daa.entry.js.map +0 -1
  1053. package/dist/core/p-5ca39ed5.entry.js +0 -2
  1054. package/dist/core/p-5ca39ed5.entry.js.map +0 -1
  1055. package/dist/core/p-752f0f9a.entry.js.map +0 -1
  1056. package/dist/core/p-763d0822.entry.js +0 -2
  1057. package/dist/core/p-763d0822.entry.js.map +0 -1
  1058. package/dist/core/p-7bb3c340.entry.js +0 -2
  1059. package/dist/core/p-7bb3c340.entry.js.map +0 -1
  1060. package/dist/core/p-8b18346a.entry.js.map +0 -1
  1061. package/dist/core/p-9ccfb863.entry.js +0 -2
  1062. package/dist/core/p-9ccfb863.entry.js.map +0 -1
  1063. package/dist/core/p-9d124fc7.js +0 -3
  1064. package/dist/core/p-9d124fc7.js.map +0 -1
  1065. package/dist/core/p-a448d873.entry.js +0 -2
  1066. package/dist/core/p-a448d873.entry.js.map +0 -1
  1067. package/dist/core/p-af9f1caa.entry.js.map +0 -1
  1068. package/dist/core/p-b77ab20a.entry.js +0 -2
  1069. package/dist/core/p-b77ab20a.entry.js.map +0 -1
  1070. package/dist/core/p-c0c62df4.entry.js.map +0 -1
  1071. package/dist/core/p-c36cbd8a.entry.js +0 -2
  1072. package/dist/core/p-c36cbd8a.entry.js.map +0 -1
  1073. package/dist/core/p-e2903ce9.entry.js +0 -2
  1074. package/dist/core/p-e2903ce9.entry.js.map +0 -1
  1075. package/dist/core/p-ea6ad791.entry.js +0 -2
  1076. package/dist/core/p-ea6ad791.entry.js.map +0 -1
  1077. package/dist/core/p-eb063498.entry.js.map +0 -1
  1078. package/dist/core/p-ec82fa24.entry.js +0 -2
  1079. package/dist/core/p-ec82fa24.entry.js.map +0 -1
  1080. package/dist/core/p-f00e510b.entry.js +0 -2
  1081. package/dist/core/p-f00e510b.entry.js.map +0 -1
  1082. package/dist/core/p-f69fb26b.entry.js +0 -2
  1083. package/dist/core/p-f69fb26b.entry.js.map +0 -1
  1084. package/dist/core/p-fe6e0c0e.entry.js +0 -2
  1085. package/dist/core/p-fe6e0c0e.entry.js.map +0 -1
  1086. package/dist/esm/helpers-24f6e762.js.map +0 -1
  1087. package/dist/esm/index-813020f1.js.map +0 -1
  1088. package/dist/esm/types-b2398b37.js +0 -16
  1089. /package/dist/core/{p-08b59078.entry.js.map → p-11736fbe.entry.js.map} +0 -0
  1090. /package/dist/core/{p-5fcd202e.entry.js.map → p-15ef0674.entry.js.map} +0 -0
  1091. /package/dist/core/{p-88ea1e49.entry.js.map → p-180e36b1.entry.js.map} +0 -0
  1092. /package/dist/core/{p-613aa265.js.map → p-26b7b18f.js.map} +0 -0
  1093. /package/dist/core/{p-932fb4b7.entry.js.map → p-287ab47c.entry.js.map} +0 -0
  1094. /package/dist/core/{p-69948c3e.entry.js.map → p-2b24b4bf.entry.js.map} +0 -0
  1095. /package/dist/core/{p-475b7bd2.entry.js.map → p-335fc5e4.entry.js.map} +0 -0
  1096. /package/dist/core/{p-c9ef9f5c.entry.js.map → p-366bcb17.entry.js.map} +0 -0
  1097. /package/dist/core/{p-ed256f1d.entry.js.map → p-3a0ef91e.entry.js.map} +0 -0
  1098. /package/dist/core/{p-f019219c.entry.js.map → p-529d8955.entry.js.map} +0 -0
  1099. /package/dist/core/{p-2c30b583.entry.js.map → p-60c4604f.entry.js.map} +0 -0
  1100. /package/dist/core/{p-ccac1730.entry.js.map → p-6d3f9501.entry.js.map} +0 -0
  1101. /package/dist/core/{p-536b3c97.entry.js.map → p-6eb0421d.entry.js.map} +0 -0
  1102. /package/dist/core/{p-48525498.entry.js.map → p-765bdd98.entry.js.map} +0 -0
  1103. /package/dist/core/{p-3a814fc4.entry.js.map → p-7f887c1e.entry.js.map} +0 -0
  1104. /package/dist/core/{p-e3bffcae.entry.js.map → p-94e88827.entry.js.map} +0 -0
  1105. /package/dist/core/{p-8fb4f0c0.js.map → p-95a864bf.js.map} +0 -0
  1106. /package/dist/core/{p-0c82048e.entry.js.map → p-9c30720d.entry.js.map} +0 -0
  1107. /package/dist/core/{p-76563540.entry.js.map → p-ad36a704.entry.js.map} +0 -0
  1108. /package/dist/core/{p-2265e418.entry.js.map → p-b6a575c3.entry.js.map} +0 -0
  1109. /package/dist/core/{p-fbc8a739.entry.js.map → p-b9736cf4.entry.js.map} +0 -0
  1110. /package/dist/core/{p-025f9d2a.entry.js.map → p-b99f9e89.entry.js.map} +0 -0
  1111. /package/dist/core/{p-b0ce60a0.entry.js.map → p-c2452388.entry.js.map} +0 -0
  1112. /package/dist/core/{p-345fe84a.entry.js.map → p-c770e7a2.entry.js.map} +0 -0
  1113. /package/dist/core/{p-a4397df4.entry.js.map → p-cfc930f6.entry.js.map} +0 -0
  1114. /package/dist/core/{p-41c6eaa1.entry.js.map → p-e9738c74.entry.js.map} +0 -0
  1115. /package/dist/core/{p-e2fd542e.entry.js.map → p-edd29edc.entry.js.map} +0 -0
  1116. /package/dist/core/{p-5bb6c79b.entry.js.map → p-f2e6b9ef.entry.js.map} +0 -0
  1117. /package/dist/core/{p-cf4bacee.entry.js.map → p-fdb4b48f.entry.js.map} +0 -0
@@ -4,1250 +4,1308 @@ import Check from "../../assets/check-icon.svg";
4
4
  import { onComponentRequiredPropUndefined } from "../../utils/helpers";
5
5
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
6
6
  export class Menu {
7
- constructor() {
8
- this.firstRender = true;
9
- this.disabledOptionSelected = false;
10
- this.hasPreviouslyBlurred = false;
11
- this.hasTimedOut = false;
12
- this.isLoading = false;
13
- this.isSearchBar = false;
14
- this.isSearchableSelect = false;
15
- // Prevents menu re-opening immediately after it is closed on blur when clicking input.
16
- this.preventClickOpen = false;
17
- this.ungroupedOptions = [];
18
- this.handleClearListener = () => {
19
- this.optionHighlighted = "";
20
- };
21
- this.handleSubmitSearch = () => {
22
- const highlightedOptionIndex = this.options.findIndex((option) => option[this.valueField] === this.optionHighlighted);
23
- this.setInputValue(highlightedOptionIndex);
24
- };
25
- this.handleMenuChange = (open, focusInput) => {
26
- this.menuStateChange.emit({ open, focusInput });
27
- if (!open && focusInput !== false) {
28
- this.inputEl.focus();
7
+ constructor() {
8
+ this.disabledOptionSelected = false;
9
+ this.hasPreviouslyBlurred = false;
10
+ this.hasTimedOut = false;
11
+ this.isLoading = false;
12
+ this.isSearchBar = false;
13
+ this.isSearchableSelect = false;
14
+ // Prevents menu re-opening immediately after it is closed on blur when clicking input.
29
15
  this.preventClickOpen = false;
30
- }
31
- };
32
- this.setNextOptionValue = (selectedOptionIndex) => {
33
- if (this.ungroupedOptions[selectedOptionIndex + 1]) {
34
- this.menuOptionSelect.emit({
35
- value: this.ungroupedOptions[selectedOptionIndex + 1][this.valueField],
36
- optionId: this.getOptionId(this.ungroupedOptions[selectedOptionIndex + 1][this.valueField]),
37
- });
38
- }
39
- else {
40
- this.menuOptionSelect.emit({
41
- value: this.ungroupedOptions[0][this.valueField],
42
- optionId: this.getOptionId(this.ungroupedOptions[0][this.valueField]),
43
- });
44
- }
45
- };
46
- this.setPreviousOptionValue = (selectedOptionIndex) => {
47
- if (this.ungroupedOptions[selectedOptionIndex - 1]) {
48
- this.menuOptionSelect.emit({
49
- value: this.ungroupedOptions[selectedOptionIndex - 1][this.valueField],
50
- optionId: this.getOptionId(this.ungroupedOptions[selectedOptionIndex - 1][this.valueField]),
51
- });
52
- }
53
- else {
54
- this.menuOptionSelect.emit({
55
- value: this.ungroupedOptions[this.ungroupedOptions.length - 1][this.valueField],
56
- optionId: this.getOptionId(this.ungroupedOptions[this.ungroupedOptions.length - 1][this.valueField]),
57
- });
58
- }
59
- };
60
- this.getParentEl = (parent) => {
61
- if (parent.tagName === "IC-SEARCH-BAR") {
62
- this.isSearchBar = true;
63
- }
64
- else if (parent.tagName === "IC-SELECT" &&
65
- parent.getAttribute("searchable") !== null &&
66
- parent.getAttribute("searchable") !== undefined) {
67
- this.isSearchableSelect = true;
68
- }
69
- };
70
- this.arrowBehaviour = (event) => {
71
- event.preventDefault();
72
- this.handleMenuChange(true);
73
- };
74
- this.setMenuOptions = () => this.isSearchBar ? this.options : this.ungroupedOptions;
75
- this.setHighlightedOption = (highlightedIndex) => {
76
- const menuOptions = this.setMenuOptions();
77
- menuOptions[highlightedIndex] &&
78
- !menuOptions[highlightedIndex].timedOut &&
79
- (this.optionHighlighted =
80
- menuOptions[highlightedIndex][this.valueField] || undefined);
81
- };
82
- this.autoSetInputValueKeyboardOpen = (event) => {
83
- const selectedOptionIndex = this.ungroupedOptions.findIndex((option) => option[this.valueField] === this.value);
84
- this.keyboardNav = false;
85
- switch (event.key) {
86
- case "ArrowDown":
87
- this.keyboardNav = true;
88
- this.arrowBehaviour(event);
89
- this.setNextOptionValue(selectedOptionIndex);
90
- break;
91
- case "ArrowUp":
92
- this.keyboardNav = true;
93
- this.arrowBehaviour(event);
94
- this.setPreviousOptionValue(selectedOptionIndex);
95
- break;
96
- case " ":
97
- case "Enter":
98
- if (event.target.id !== "clear-button") {
16
+ this.ungroupedOptions = [];
17
+ this.handleClearListener = () => {
18
+ this.optionHighlighted = "";
19
+ };
20
+ this.handleSubmitSearch = () => {
21
+ const highlightedOptionIndex = this.options.findIndex((option) => option[this.valueField] === this.optionHighlighted);
22
+ this.setInputValue(highlightedOptionIndex);
23
+ };
24
+ this.handleMenuChange = (open, focusInput) => {
25
+ this.menuStateChange.emit({ open, focusInput });
26
+ if (!open && focusInput !== false) {
27
+ this.inputEl.focus();
28
+ this.preventClickOpen = false;
29
+ }
30
+ };
31
+ this.setNextOptionValue = (selectedOptionIndex) => {
32
+ if (this.ungroupedOptions[selectedOptionIndex + 1]) {
33
+ this.menuOptionSelect.emit({
34
+ value: this.ungroupedOptions[selectedOptionIndex + 1][this.valueField],
35
+ optionId: this.getOptionId(this.ungroupedOptions[selectedOptionIndex + 1][this.valueField]),
36
+ });
37
+ }
38
+ else {
39
+ this.menuOptionSelect.emit({
40
+ value: this.ungroupedOptions[0][this.valueField],
41
+ optionId: this.getOptionId(this.ungroupedOptions[0][this.valueField]),
42
+ });
43
+ }
44
+ };
45
+ this.setPreviousOptionValue = (selectedOptionIndex) => {
46
+ if (this.ungroupedOptions[selectedOptionIndex - 1]) {
47
+ this.menuOptionSelect.emit({
48
+ value: this.ungroupedOptions[selectedOptionIndex - 1][this.valueField],
49
+ optionId: this.getOptionId(this.ungroupedOptions[selectedOptionIndex - 1][this.valueField]),
50
+ });
51
+ }
52
+ else {
53
+ this.menuOptionSelect.emit({
54
+ value: this.ungroupedOptions[this.ungroupedOptions.length - 1][this.valueField],
55
+ optionId: this.getOptionId(this.ungroupedOptions[this.ungroupedOptions.length - 1][this.valueField]),
56
+ });
57
+ }
58
+ };
59
+ this.getParentEl = (parent) => {
60
+ if (parent.tagName === "IC-SEARCH-BAR") {
61
+ this.isSearchBar = true;
62
+ }
63
+ else if (parent.tagName === "IC-SELECT" &&
64
+ parent.getAttribute("searchable") !== null &&
65
+ parent.getAttribute("searchable") !== undefined) {
66
+ this.isSearchableSelect = true;
67
+ }
68
+ };
69
+ this.arrowBehaviour = (event) => {
70
+ event.preventDefault();
99
71
  this.handleMenuChange(true);
100
- }
101
- break;
102
- }
103
- };
104
- this.manSetInputValueKeyboardOpen = (event) => {
105
- const menuOptions = this.setMenuOptions();
106
- this.keyboardNav = false;
107
- const highlightedOptionIndex = menuOptions.findIndex((option) => option[this.valueField] === this.optionHighlighted);
108
- const getOptionId = (index) => { var _a; return (_a = Array.from(this.el.querySelectorAll("li"))[index]) === null || _a === void 0 ? void 0 : _a.id; };
109
- switch (event.key) {
110
- case "ArrowDown":
111
- this.keyboardNav = true;
112
- this.arrowBehaviour(event);
113
- if (highlightedOptionIndex < menuOptions.length - 1) {
114
- this.setHighlightedOption(highlightedOptionIndex + 1);
115
- this.menuOptionId.emit({
116
- optionId: getOptionId(highlightedOptionIndex + 1),
117
- });
118
- }
119
- else {
120
- this.setHighlightedOption(0);
121
- this.menuOptionId.emit({
122
- optionId: getOptionId(0),
123
- });
124
- }
125
- this.preventIncorrectTabOrder = false;
126
- this.focusFromSearchKeypress = false;
127
- break;
128
- case "ArrowUp":
129
- this.keyboardNav = true;
130
- this.arrowBehaviour(event);
131
- if (highlightedOptionIndex <= 0 ||
132
- highlightedOptionIndex > menuOptions.length + 1) {
133
- this.setHighlightedOption(menuOptions.length - 1);
134
- this.menuOptionId.emit({
135
- optionId: getOptionId(menuOptions.length - 1),
136
- });
137
- }
138
- else {
139
- this.setHighlightedOption(highlightedOptionIndex - 1);
140
- this.menuOptionId.emit({
141
- optionId: getOptionId(highlightedOptionIndex - 1),
142
- });
143
- }
144
- this.preventIncorrectTabOrder = false;
145
- this.focusFromSearchKeypress = false;
146
- break;
147
- case "Home":
148
- this.keyboardNav = true;
149
- event.preventDefault();
150
- this.arrowBehaviour(event);
151
- this.setHighlightedOption(0);
152
- this.menuOptionId.emit({
153
- optionId: getOptionId(0),
154
- });
155
- break;
156
- case "End":
157
- this.keyboardNav = true;
158
- event.preventDefault();
159
- this.arrowBehaviour(event);
160
- this.setHighlightedOption(menuOptions.length - 1);
161
- this.menuOptionId.emit({
162
- optionId: getOptionId(menuOptions.length - 1),
163
- });
164
- break;
165
- case "Enter":
166
- event.preventDefault();
167
- if (highlightedOptionIndex >= 0) {
72
+ };
73
+ this.setMenuOptions = () => this.isSearchBar ? this.options : this.ungroupedOptions;
74
+ this.setHighlightedOption = (highlightedIndex) => {
75
+ const menuOptions = this.setMenuOptions();
76
+ menuOptions[highlightedIndex] &&
77
+ !menuOptions[highlightedIndex].timedOut &&
78
+ (this.optionHighlighted =
79
+ menuOptions[highlightedIndex][this.valueField] || undefined);
80
+ };
81
+ this.autoSetInputValueKeyboardOpen = (event) => {
82
+ const selectedOptionIndex = this.ungroupedOptions.findIndex((option) => option[this.valueField] === this.value);
83
+ this.keyboardNav = false;
84
+ switch (event.key) {
85
+ case "ArrowDown":
86
+ this.keyboardNav = true;
87
+ this.arrowBehaviour(event);
88
+ this.setNextOptionValue(selectedOptionIndex);
89
+ break;
90
+ case "ArrowUp":
91
+ this.keyboardNav = true;
92
+ this.arrowBehaviour(event);
93
+ this.setPreviousOptionValue(selectedOptionIndex);
94
+ break;
95
+ case " ":
96
+ case "Enter":
97
+ if (event.target.id !== "clear-button") {
98
+ this.handleMenuChange(true);
99
+ }
100
+ break;
101
+ }
102
+ };
103
+ this.manSetInputValueKeyboardOpen = (event) => {
104
+ const menuOptions = this.setMenuOptions();
105
+ this.keyboardNav = false;
106
+ const highlightedOptionIndex = menuOptions.findIndex((option) => option[this.valueField] === this.optionHighlighted);
107
+ const getOptionId = (index) => { var _a; return (_a = Array.from(this.host.querySelectorAll("li"))[index]) === null || _a === void 0 ? void 0 : _a.id; };
108
+ const isOpen = this.isSearchBar || this.isSearchableSelect || this.open;
109
+ switch (event.key) {
110
+ case "ArrowDown":
111
+ this.keyboardNav = true;
112
+ this.arrowBehaviour(event);
113
+ if (highlightedOptionIndex < menuOptions.length - 1) {
114
+ this.setHighlightedOption(highlightedOptionIndex + 1);
115
+ this.menuOptionId.emit({
116
+ optionId: getOptionId(highlightedOptionIndex + 1),
117
+ });
118
+ }
119
+ else {
120
+ this.setHighlightedOption(0);
121
+ this.menuOptionId.emit({
122
+ optionId: getOptionId(0),
123
+ });
124
+ }
125
+ this.preventIncorrectTabOrder = false;
126
+ this.focusFromSearchKeypress = false;
127
+ break;
128
+ case "ArrowUp":
129
+ this.keyboardNav = true;
130
+ this.arrowBehaviour(event);
131
+ if (highlightedOptionIndex <= 0 ||
132
+ highlightedOptionIndex > menuOptions.length + 1) {
133
+ this.setHighlightedOption(menuOptions.length - 1);
134
+ this.menuOptionId.emit({
135
+ optionId: getOptionId(menuOptions.length - 1),
136
+ });
137
+ }
138
+ else {
139
+ this.setHighlightedOption(highlightedOptionIndex - 1);
140
+ this.menuOptionId.emit({
141
+ optionId: getOptionId(highlightedOptionIndex - 1),
142
+ });
143
+ }
144
+ this.preventIncorrectTabOrder = false;
145
+ this.focusFromSearchKeypress = false;
146
+ break;
147
+ case "Home":
148
+ this.keyboardNav = true;
149
+ event.preventDefault();
150
+ this.arrowBehaviour(event);
151
+ this.setHighlightedOption(0);
152
+ this.menuOptionId.emit({
153
+ optionId: getOptionId(0),
154
+ });
155
+ break;
156
+ case "End":
157
+ this.keyboardNav = true;
158
+ event.preventDefault();
159
+ this.arrowBehaviour(event);
160
+ this.setHighlightedOption(menuOptions.length - 1);
161
+ this.menuOptionId.emit({
162
+ optionId: getOptionId(menuOptions.length - 1),
163
+ });
164
+ break;
165
+ case " ":
166
+ if (this.isSearchBar || this.isSearchableSelect) {
167
+ break;
168
+ }
169
+ else {
170
+ if (event.target.id !== "clear-button") {
171
+ this.handleMenuChange(true);
172
+ }
173
+ }
174
+ break;
175
+ case "Enter":
176
+ event.preventDefault();
177
+ if (isOpen) {
178
+ if (highlightedOptionIndex >= 0) {
179
+ if (menuOptions[highlightedOptionIndex] !== undefined) {
180
+ if (this.isSearchBar &&
181
+ menuOptions[highlightedOptionIndex].disabled === true) {
182
+ this.disabledOptionSelected = true;
183
+ }
184
+ else {
185
+ this.setInputValue(highlightedOptionIndex);
186
+ this.value =
187
+ menuOptions[highlightedOptionIndex][this.valueField];
188
+ }
189
+ }
190
+ }
191
+ else {
192
+ this.setInputValue(highlightedOptionIndex);
193
+ }
194
+ }
195
+ else {
196
+ this.handleMenuChange(true);
197
+ }
198
+ break;
199
+ case "Escape":
200
+ if (this.open) {
201
+ event.stopImmediatePropagation();
202
+ }
203
+ this.handleMenuChange(false);
204
+ this.menuOptionId.emit({ optionId: undefined });
205
+ break;
206
+ case "Shift":
207
+ case "Tab":
208
+ if (this.isSearchBar) {
209
+ this.keyboardNav = true;
210
+ }
211
+ this.preventIncorrectTabOrder = true;
212
+ break;
213
+ case "Backspace":
214
+ if (this.isSearchBar) {
215
+ this.parentEl.setFocus();
216
+ if (this.searchMode === "navigation")
217
+ this.setHighlightedOption(0);
218
+ }
219
+ else if (this.isSearchableSelect) {
220
+ this.parentEl.setFocus();
221
+ }
222
+ this.focusFromSearchKeypress = true;
223
+ break;
224
+ default:
225
+ if (event.key !== "Tab") {
226
+ if (this.isSearchBar) {
227
+ this.parentEl.setFocus();
228
+ if (this.searchMode === "navigation")
229
+ this.setHighlightedOption(0);
230
+ }
231
+ else if (this.isSearchableSelect) {
232
+ this.parentEl.setFocus();
233
+ }
234
+ this.focusFromSearchKeypress = true;
235
+ }
236
+ break;
237
+ }
238
+ };
239
+ this.setInputValue = (highlightedOptionIndex) => {
240
+ const menuOptions = this.setMenuOptions();
168
241
  if (menuOptions[highlightedOptionIndex] !== undefined) {
169
- if (this.isSearchBar &&
170
- menuOptions[highlightedOptionIndex].disabled === true) {
171
- this.disabledOptionSelected = true;
172
- }
173
- else {
174
- this.setInputValue(highlightedOptionIndex);
175
- this.value = menuOptions[highlightedOptionIndex][this.valueField];
176
- }
242
+ this.menuOptionSelect.emit({
243
+ value: menuOptions[highlightedOptionIndex][this.valueField],
244
+ });
245
+ this.optionHighlighted = undefined;
246
+ this.menuOptionId.emit({ optionId: undefined });
177
247
  }
178
- }
179
- else {
180
- this.setInputValue(highlightedOptionIndex);
181
- }
182
- break;
183
- case "Escape":
184
- if (this.open) {
185
- event.stopImmediatePropagation();
186
- }
187
- this.handleMenuChange(false);
188
- this.menuOptionId.emit({ optionId: undefined });
189
- break;
190
- case "Shift":
191
- case "Tab":
192
- if (this.isSearchBar) {
193
- this.keyboardNav = true;
194
- }
195
- this.preventIncorrectTabOrder = true;
196
- break;
197
- case "Backspace":
198
- if (this.isSearchBar) {
199
- this.parentEl.setFocus();
200
- if (this.searchMode === "navigation")
201
- this.setHighlightedOption(0);
202
- }
203
- else if (this.isSearchableSelect) {
204
- this.parentEl.setFocus();
205
- }
206
- this.focusFromSearchKeypress = true;
207
- break;
208
- default:
209
- if (event.key !== "Tab") {
210
- if (this.isSearchBar) {
211
- this.parentEl.setFocus();
212
- if (this.searchMode === "navigation")
213
- this.setHighlightedOption(0);
248
+ if (!this.hasTimedOut)
249
+ this.handleMenuChange(false);
250
+ else
251
+ this.parentEl.setFocus();
252
+ };
253
+ this.handleOptionClick = (event) => {
254
+ const { value, label } = event.target.dataset;
255
+ this.menuOptionSelect.emit({ value, label });
256
+ this.handleMenuChange(false);
257
+ };
258
+ this.handleRetry = () => {
259
+ this.retryButtonClicked.emit({ value: this.value });
260
+ };
261
+ this.handleRetryKeyDown = (ev) => {
262
+ if (ev.key === "Enter" || ev.key === " ") {
263
+ ev.preventDefault();
264
+ this.retryButtonClicked.emit({ value: this.value, keyPressed: ev.key });
214
265
  }
215
- else if (this.isSearchableSelect) {
216
- this.parentEl.setFocus();
266
+ };
267
+ this.handleBlur = (event) => {
268
+ if (event.relatedTarget !== this.inputEl) {
269
+ if (!this.menu.contains(event.relatedTarget)) {
270
+ this.handleMenuChange(false, this.hasPreviouslyBlurred);
271
+ }
217
272
  }
218
- this.focusFromSearchKeypress = true;
219
- }
220
- break;
221
- }
222
- };
223
- this.setInputValue = (highlightedOptionIndex) => {
224
- const menuOptions = this.setMenuOptions();
225
- if (menuOptions[highlightedOptionIndex] !== undefined) {
226
- this.menuOptionSelect.emit({
227
- value: menuOptions[highlightedOptionIndex][this.valueField],
228
- });
229
- this.optionHighlighted = undefined;
230
- this.menuOptionId.emit({ optionId: undefined });
231
- }
232
- if (!this.hasTimedOut)
233
- this.handleMenuChange(false);
234
- else
235
- this.parentEl.setFocus();
236
- };
237
- this.handleOptionClick = (event) => {
238
- const { value, label } = event.target.dataset;
239
- this.menuOptionSelect.emit({ value, label });
240
- this.handleMenuChange(false);
241
- };
242
- this.handleRetry = () => {
243
- this.retryButtonClicked.emit({ value: this.value });
244
- };
245
- this.handleRetryKeyDown = (ev) => {
246
- if (ev.key === "Enter" || ev.key === " ") {
247
- ev.preventDefault();
248
- this.retryButtonClicked.emit({ value: this.value, keyPressed: ev.key });
249
- }
250
- };
251
- this.handleBlur = (event) => {
252
- if (event.relatedTarget !== this.inputEl) {
253
- if (!this.menu.contains(event.relatedTarget)) {
254
- this.handleMenuChange(false, this.hasPreviouslyBlurred);
255
- }
256
- }
257
- else {
258
- this.handleMenuChange(false);
259
- this.preventClickOpen = true;
260
- }
261
- if (!this.isSearchBar)
262
- this.hasPreviouslyBlurred = !!event.relatedTarget;
263
- };
264
- this.handleMouseDown = (event) => {
265
- event.preventDefault();
266
- };
267
- this.handleMenuKeyDown = (event) => {
268
- if (this.activationType === "automatic") {
269
- this.autoSetValueOnMenuKeyDown(event);
270
- }
271
- else if (this.activationType === "manual" && this.isSearchableSelect) {
272
- this.manSetInputValueKeyboardOpen(event);
273
- }
274
- };
275
- this.emitMenuKeyPress = (isNavKey, key) => {
276
- this.menuKeyPress.emit({ isNavKey: isNavKey, key: key });
277
- };
278
- this.autoSetValueOnMenuKeyDown = (event) => {
279
- event.cancelBubble = true;
280
- const selectedOptionIndex = this.ungroupedOptions.findIndex((option) => option[this.valueField] === this.value);
281
- const isSearchableSelect = this.inputEl.tagName === "INPUT";
282
- this.keyboardNav = false;
283
- switch (event.key) {
284
- case " ":
285
- event.preventDefault();
286
- break;
287
- case "ArrowUp":
288
- if (!this.hasTimedOut) {
289
- event.preventDefault();
290
- this.setPreviousOptionValue(selectedOptionIndex);
291
- this.keyboardNav = true;
292
- }
293
- break;
294
- case "ArrowDown":
295
- if (!this.hasTimedOut) {
273
+ else {
274
+ this.handleMenuChange(false);
275
+ this.preventClickOpen = true;
276
+ }
277
+ if (!this.isSearchBar)
278
+ this.hasPreviouslyBlurred = !!event.relatedTarget;
279
+ };
280
+ this.handleMouseDown = (event) => {
296
281
  event.preventDefault();
297
- this.setNextOptionValue(selectedOptionIndex);
298
- this.keyboardNav = true;
299
- }
300
- break;
301
- case "Home":
302
- this.menuOptionSelect.emit({
303
- value: this.ungroupedOptions[0][this.valueField],
304
- });
305
- this.keyboardNav = true;
306
- break;
307
- case "End":
308
- this.menuOptionSelect.emit({
309
- value: this.ungroupedOptions[this.ungroupedOptions.length - 1][this.valueField],
310
- });
311
- this.keyboardNav = true;
312
- break;
313
- case "Enter":
314
- !this.hasTimedOut && this.handleMenuChange(false);
315
- break;
316
- case "Escape":
317
- this.handleMenuChange(false);
318
- break;
319
- case "Backspace":
320
- if (isSearchableSelect) {
321
- this.inputEl.focus();
322
- }
323
- break;
324
- case "Shift":
325
- break;
326
- default:
327
- if (isSearchableSelect && event.key !== "Tab" && !this.hasTimedOut) {
328
- this.inputEl.focus();
329
- }
330
- if (event.key.length === 1) {
331
- this.keyboardNav = true;
332
- }
333
- break;
334
- }
335
- this.emitMenuKeyPress(this.keyboardNav, event.key);
336
- };
337
- this.handleMenuKeyUp = (event) => {
338
- if (event.key === "Tab" && event.shiftKey) {
339
- this.preventClickOpen = false;
340
- }
341
- if (event.key === "Enter" && this.disabledOptionSelected) {
342
- this.disabledOptionSelected = false;
343
- event.stopImmediatePropagation();
344
- }
345
- };
346
- this.getOptionId = (value) => {
347
- return `${this.menuId}-${value}`;
348
- };
349
- this.getOptionAriaLabel = (option, parentOption) => {
350
- let ariaLabel = option[this.labelField];
351
- if (option.description) {
352
- ariaLabel = `${ariaLabel}, ${option.description}`;
353
- }
354
- if (option.element) {
355
- ariaLabel = `${ariaLabel}, ${option.element.ariaLabel}`;
356
- }
357
- if (parentOption) {
358
- return `${ariaLabel}, ${parentOption[this.labelField]} group`;
359
- }
360
- else {
361
- return ariaLabel;
362
- }
363
- };
364
- this.getSortedOptions = (options) => {
365
- let sorted = [];
366
- if (options.sort) {
367
- sorted = options.sort((optionA, optionB) => optionA.recommended && !optionB.recommended ? -1 : 0);
368
- }
369
- return sorted;
370
- };
371
- this.isManualMode = this.activationType === "manual";
372
- this.scrollToSelected = (menu) => {
373
- const selectedOption = menu.querySelector(".option[aria-selected]");
374
- if (selectedOption) {
375
- const elTop = selectedOption.offsetTop + selectedOption.offsetHeight;
376
- if (elTop > menu.scrollTop + menu.offsetHeight ||
377
- elTop < menu.scrollTop + menu.offsetHeight) {
378
- menu.scrollTop = selectedOption.offsetTop;
282
+ };
283
+ this.handleMenuKeyDown = (event) => {
284
+ if (this.activationType === "automatic") {
285
+ this.autoSetValueOnMenuKeyDown(event);
286
+ }
287
+ else if (this.activationType === "manual" && !this.isSearchBar) {
288
+ this.manSetInputValueKeyboardOpen(event);
289
+ }
290
+ };
291
+ this.emitMenuKeyPress = (isNavKey, key) => {
292
+ this.menuKeyPress.emit({ isNavKey: isNavKey, key: key });
293
+ };
294
+ this.autoSetValueOnMenuKeyDown = (event) => {
295
+ event.cancelBubble = true;
296
+ const selectedOptionIndex = this.ungroupedOptions.findIndex((option) => option[this.valueField] === this.value);
297
+ const isSearchableSelect = this.inputEl.tagName === "INPUT";
298
+ this.keyboardNav = false;
299
+ switch (event.key) {
300
+ case " ":
301
+ event.preventDefault();
302
+ break;
303
+ case "ArrowUp":
304
+ if (!this.hasTimedOut) {
305
+ event.preventDefault();
306
+ this.setPreviousOptionValue(selectedOptionIndex);
307
+ this.keyboardNav = true;
308
+ }
309
+ break;
310
+ case "ArrowDown":
311
+ if (!this.hasTimedOut) {
312
+ event.preventDefault();
313
+ this.setNextOptionValue(selectedOptionIndex);
314
+ this.keyboardNav = true;
315
+ }
316
+ break;
317
+ case "Home":
318
+ this.menuOptionSelect.emit({
319
+ value: this.ungroupedOptions[0][this.valueField],
320
+ });
321
+ this.keyboardNav = true;
322
+ break;
323
+ case "End":
324
+ this.menuOptionSelect.emit({
325
+ value: this.ungroupedOptions[this.ungroupedOptions.length - 1][this.valueField],
326
+ });
327
+ this.keyboardNav = true;
328
+ break;
329
+ case "Enter":
330
+ !this.hasTimedOut && this.handleMenuChange(false);
331
+ break;
332
+ case "Escape":
333
+ this.handleMenuChange(false);
334
+ break;
335
+ case "Backspace":
336
+ if (isSearchableSelect) {
337
+ this.inputEl.focus();
338
+ }
339
+ break;
340
+ case "Shift":
341
+ break;
342
+ default:
343
+ if (isSearchableSelect && event.key !== "Tab" && !this.hasTimedOut) {
344
+ this.inputEl.focus();
345
+ }
346
+ if (event.key.length === 1) {
347
+ this.keyboardNav = true;
348
+ }
349
+ break;
350
+ }
351
+ this.emitMenuKeyPress(this.keyboardNav, event.key);
352
+ };
353
+ this.handleMenuKeyUp = (event) => {
354
+ if (event.key === "Tab" && event.shiftKey) {
355
+ this.preventClickOpen = false;
356
+ }
357
+ if (event.key === "Enter" && this.disabledOptionSelected) {
358
+ this.disabledOptionSelected = false;
359
+ event.stopImmediatePropagation();
360
+ }
361
+ };
362
+ this.getOptionId = (value) => {
363
+ return `${this.menuId}-${value}`;
364
+ };
365
+ this.getOptionAriaLabel = (option, parentOption) => {
366
+ let ariaLabel = option[this.labelField];
367
+ if (option.description) {
368
+ ariaLabel = `${ariaLabel}, ${option.description}`;
369
+ }
370
+ if (option.element) {
371
+ ariaLabel = `${ariaLabel}, ${option.element.ariaLabel}`;
372
+ }
373
+ if (parentOption) {
374
+ return `${ariaLabel}, ${parentOption[this.labelField]} group`;
375
+ }
376
+ else {
377
+ return ariaLabel;
378
+ }
379
+ };
380
+ this.getSortedOptions = (options) => {
381
+ let sorted = [];
382
+ if (options.sort) {
383
+ sorted = options.sort((optionA, optionB) => optionA.recommended && !optionB.recommended ? -1 : 0);
384
+ }
385
+ return sorted;
386
+ };
387
+ this.isManualMode = this.activationType === "manual";
388
+ this.scrollToSelected = (menu) => {
389
+ const selectedOption = this.selectOnEnter
390
+ ? this.host.querySelector(`li[data-value="${this.optionHighlighted}"]`)
391
+ : menu.querySelector(".option[aria-selected]");
392
+ if (selectedOption) {
393
+ const elTop = selectedOption.offsetTop + selectedOption.offsetHeight;
394
+ if (elTop > menu.scrollTop + menu.offsetHeight ||
395
+ elTop < menu.scrollTop + menu.offsetHeight) {
396
+ menu.scrollTop = selectedOption.offsetTop;
397
+ }
398
+ selectedOption.focus();
399
+ }
400
+ };
401
+ this.loadUngroupedOptions = () => {
402
+ if (this.options.length > 0 && this.options.map) {
403
+ this.options.map((option) => {
404
+ if (option.children) {
405
+ option.children.map((option) => !option.disabled && this.ungroupedOptions.push(option));
406
+ }
407
+ else if (!option.disabled) {
408
+ this.ungroupedOptions.push(option);
409
+ }
410
+ });
411
+ }
412
+ this.ungroupedOptions = this.getSortedOptions(this.ungroupedOptions);
413
+ this.ungroupedOptionsSet.emit({ options: this.ungroupedOptions });
414
+ };
415
+ this.setMenuScrollbar = () => {
416
+ let optionsHeight = 0;
417
+ this.host
418
+ .querySelectorAll(".option")
419
+ .forEach((option) => (optionsHeight += option.clientHeight));
420
+ if (optionsHeight >= 320) {
421
+ this.menu.classList.add("menu-scroll");
422
+ }
423
+ };
424
+ this.handleTimeoutBlur = (ev) => {
425
+ this.timeoutBlur.emit({ ev });
426
+ };
427
+ this.optionContent = (option) => {
428
+ var _a;
429
+ return (h(Fragment, null, option.loading && h("ic-loading-indicator", { size: "icon" }), h("div", { class: "option-text-container" }, h("div", { class: "option-label" }, option.icon && (h("div", { class: "option-icon", innerHTML: option.icon, "aria-hidden": "true" })), h("ic-typography", { variant: "body", "aria-hidden": "true" }, h("p", null, option[this.labelField]))), option.description && (h("ic-typography", { id: `${this.getOptionId(option[this.valueField])}-description`, class: "option-description", variant: "caption", "aria-hidden": "true" }, h("p", null, option.description))), option.element && (h("div", { class: "option-element", innerHTML: option.element.component, "aria-hidden": "true" }))), !!option[this.valueField] &&
430
+ !!this.value &&
431
+ option[this.valueField].toLowerCase() === ((_a = this.value) === null || _a === void 0 ? void 0 : _a.toLowerCase()) &&
432
+ this.parentEl.tagName !== "IC-SEARCH-BAR" && (h("span", { class: "check-icon", innerHTML: Check }))));
433
+ };
434
+ this.displayOption = (option, index, parentOption) => {
435
+ const { open, value, keyboardNav, isManualMode, initialOptionsListRender, optionHighlighted, options, } = this;
436
+ return (h("li", { id: this.getOptionId(option[this.valueField]), class: {
437
+ option: true,
438
+ "focused-option": isManualMode
439
+ ? (keyboardNav || initialOptionsListRender) &&
440
+ option[this.valueField] === optionHighlighted
441
+ : keyboardNav && option[this.valueField] === value,
442
+ "last-recommended-option": option.recommended &&
443
+ options[index + 1] &&
444
+ !options[index + 1].recommended,
445
+ "disabled-option": option.disabled,
446
+ "loading-option": option.loading,
447
+ timeout: option.timedOut,
448
+ }, role: "option", tabindex: open &&
449
+ (option[this.valueField] === value ||
450
+ option[this.valueField] === optionHighlighted) &&
451
+ keyboardNav
452
+ ? "0"
453
+ : "-1", "aria-label": this.getOptionAriaLabel(option, parentOption), "aria-selected": option[this.valueField] === value, "aria-disabled": option.disabled ? "true" : "false", onClick: !option.timedOut && !option.loading && this.handleOptionClick, onBlur: this.handleBlur, onMouseDown: this.handleMouseDown, "data-value": option[this.valueField], "data-label": option[this.labelField] }, option.timedOut ? (h(Fragment, null, h("div", { class: "loading-error-info" }, h("svg", { class: "error-icon-svg", "aria-labelledby": "error-title", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "#000000" }, h("title", { id: "error-title" }, "Error"), h("path", { d: "M0 0h24v24H0z", fill: "none" }), h("path", { d: "M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z" })), h("ic-typography", { variant: "label" }, option[this.labelField])), h("ic-button", { size: "small", variant: "tertiary", onClick: this.handleRetry, onKeyDown: this.handleRetryKeyDown, onBlur: this.handleTimeoutBlur, id: "retry-button" }, "Retry"))) : (this.optionContent(option))));
454
+ };
455
+ this.focusFromSearchKeypress = false;
456
+ this.initialOptionsListRender = false;
457
+ this.keyboardNav = false;
458
+ this.optionHighlighted = undefined;
459
+ this.preventIncorrectTabOrder = false;
460
+ this.activationType = "automatic";
461
+ this.anchorEl = undefined;
462
+ this.autoFocusOnSelected = true;
463
+ this.fullWidth = false;
464
+ this.inputEl = undefined;
465
+ this.inputLabel = undefined;
466
+ this.labelField = "label";
467
+ this.menuId = undefined;
468
+ this.open = undefined;
469
+ this.parentEl = undefined;
470
+ this.searchMode = "navigation";
471
+ this.selectOnEnter = false;
472
+ this.size = "default";
473
+ this.small = false;
474
+ this.options = undefined;
475
+ this.value = undefined;
476
+ this.valueField = "value";
477
+ }
478
+ watchOpenHandler() {
479
+ if (!this.open && this.popperInstance) {
480
+ this.popperInstance.destroy();
481
+ this.popperInstance = null;
379
482
  }
380
- selectedOption.focus();
381
- }
382
- };
383
- this.loadUngroupedOptions = () => {
384
- if (this.options.length > 0 && this.options.map) {
385
- this.options.map((option) => {
386
- if (option.children) {
387
- option.children.map((option) => !option.disabled && this.ungroupedOptions.push(option));
388
- }
389
- else if (!option.disabled) {
390
- this.ungroupedOptions.push(option);
391
- }
392
- });
393
- }
394
- this.ungroupedOptions = this.getSortedOptions(this.ungroupedOptions);
395
- this.ungroupedOptionsSet.emit({ options: this.ungroupedOptions });
396
- };
397
- this.setMenuScrollbar = () => {
398
- let optionsHeight = 0;
399
- this.el
400
- .querySelectorAll(".option")
401
- .forEach((option) => (optionsHeight += option.clientHeight));
402
- if (optionsHeight >= 320) {
403
- this.menu.classList.add("menu-scroll");
404
- }
405
- };
406
- this.handleTimeoutBlur = (ev) => {
407
- this.timeoutBlur.emit({ ev });
408
- };
409
- this.optionContent = (option) => {
410
- var _a;
411
- return (h(Fragment, null, option.loading && h("ic-loading-indicator", { size: "icon" }), h("div", { class: "option-text-container" }, h("div", { class: "option-label" }, option.icon && (h("div", { class: "option-icon", innerHTML: option.icon, "aria-hidden": "true" })), h("ic-typography", { variant: "body", "aria-hidden": "true" }, h("p", null, option[this.labelField]))), option.description && (h("ic-typography", { id: `${this.getOptionId(option[this.valueField])}-description`, class: "option-description", variant: "caption", "aria-hidden": "true" }, h("p", null, option.description))), option.element && (h("div", { class: "option-element", innerHTML: option.element.component, "aria-hidden": "true" }))), !!option[this.valueField] &&
412
- !!this.value &&
413
- option[this.valueField].toLowerCase() === ((_a = this.value) === null || _a === void 0 ? void 0 : _a.toLowerCase()) &&
414
- this.parentEl.tagName !== "IC-SEARCH-BAR" && (h("span", { class: "check-icon", innerHTML: Check }))));
415
- };
416
- this.displayOption = (option, index, parentOption) => {
417
- const { open, value, keyboardNav, isManualMode, initialOptionsListRender, optionHighlighted, options, } = this;
418
- return (h("li", { id: this.getOptionId(option[this.valueField]), class: {
419
- option: true,
420
- "focused-option": isManualMode
421
- ? (keyboardNav || initialOptionsListRender) &&
422
- option[this.valueField] === optionHighlighted
423
- : keyboardNav && option[this.valueField] === value,
424
- "last-recommended-option": option.recommended &&
425
- options[index + 1] &&
426
- !options[index + 1].recommended,
427
- "disabled-option": option.disabled,
428
- "loading-option": option.loading,
429
- timeout: option.timedOut,
430
- }, role: "option", tabindex: open &&
431
- (option[this.valueField] === value ||
432
- option[this.valueField] === optionHighlighted) &&
433
- keyboardNav
434
- ? "0"
435
- : "-1", "aria-label": this.getOptionAriaLabel(option, parentOption), "aria-selected": option[this.valueField] === value, "aria-disabled": option.disabled ? "true" : "false", onClick: !option.timedOut && !option.loading && this.handleOptionClick, onBlur: this.handleBlur, onMouseDown: this.handleMouseDown, "data-value": option[this.valueField], "data-label": option[this.labelField] }, option.timedOut ? (h(Fragment, null, h("div", { class: "loading-error-info" }, h("svg", { class: "error-icon-svg", "aria-labelledby": "error-title", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "#000000" }, h("title", { id: "error-title" }, "Error"), h("path", { d: "M0 0h24v24H0z", fill: "none" }), h("path", { d: "M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z" })), h("ic-typography", { variant: "label" }, option[this.labelField])), h("ic-button", { size: "small", variant: "tertiary", onClick: this.handleRetry, onKeyDown: this.handleRetryKeyDown, onBlur: this.handleTimeoutBlur, id: "retry-button" }, "Retry"))) : (this.optionContent(option))));
436
- };
437
- this.focusFromSearchKeypress = false;
438
- this.initialOptionsListRender = false;
439
- this.keyboardNav = false;
440
- this.optionHighlighted = undefined;
441
- this.preventIncorrectTabOrder = false;
442
- this.activationType = "automatic";
443
- this.anchorEl = undefined;
444
- this.autoFocusOnSelected = true;
445
- this.fullWidth = false;
446
- this.inputEl = undefined;
447
- this.inputLabel = undefined;
448
- this.labelField = "label";
449
- this.menuId = undefined;
450
- this.open = undefined;
451
- this.parentEl = undefined;
452
- this.searchMode = "navigation";
453
- this.size = "default";
454
- this.small = false;
455
- this.options = undefined;
456
- this.value = undefined;
457
- this.valueField = "value";
458
- }
459
- watchOptionsHandler(newOptions) {
460
- this.hasTimedOut = newOptions.some((opt) => opt.timedOut);
461
- this.isLoading = newOptions.some((opt) => opt.loading);
462
- this.ungroupedOptions = [];
463
- this.loadUngroupedOptions();
464
- }
465
- watchValueHandler() {
466
- this.menuValueChange.emit({ value: this.value });
467
- }
468
- connectedCallback() {
469
- this.getParentEl(this.parentEl);
470
- if (this.isSearchBar) {
471
- if (this.searchMode === "navigation")
472
- this.setHighlightedOption(0);
473
- this.initialOptionsListRender = true;
474
483
  }
475
- }
476
- disconnectedCallback() {
477
- if (this.popperInstance !== undefined) {
478
- this.popperInstance.destroy();
484
+ watchOptionsHandler(newOptions) {
485
+ this.hasTimedOut = newOptions.some((opt) => opt.timedOut);
486
+ this.isLoading = newOptions.some((opt) => opt.loading);
487
+ this.ungroupedOptions = [];
488
+ this.loadUngroupedOptions();
479
489
  }
480
- this.parentEl.removeEventListener("icClear", this.handleClearListener);
481
- this.parentEl.removeEventListener("icSubmitSearch", this.handleSubmitSearch);
482
- }
483
- componentWillLoad() {
484
- var _a, _b;
485
- this.loadUngroupedOptions();
486
- this.parentEl.addEventListener("icClear", this.handleClearListener);
487
- this.parentEl.addEventListener("icSubmitSearch", this.handleSubmitSearch);
488
- this.hasTimedOut = (_a = this.options) === null || _a === void 0 ? void 0 : _a.some((opt) => opt.timedOut);
489
- this.isLoading = (_b = this.options) === null || _b === void 0 ? void 0 : _b.some((opt) => opt.loading);
490
- }
491
- componentDidLoad() {
492
- if (this.isSearchBar &&
493
- this.parentEl.disableFilter) {
494
- this.focusFromSearchKeypress = true;
490
+ watchValueHandler() {
491
+ this.menuValueChange.emit({ value: this.value });
495
492
  }
496
- onComponentRequiredPropUndefined([
497
- { prop: this.open, propName: "open" },
498
- { prop: this.options, propName: "options" },
499
- { prop: this.menuId, propName: "menu-id" },
500
- { prop: this.inputLabel, propName: "input-label" },
501
- //NOTE: no check for value, input-el or anchor-el as otherwise get console errors on first load of select component
502
- ], "Menu");
503
- }
504
- componentDidUpdate() {
505
- const inputValueInOptions = this.options.some((option) => option[this.valueField] === this.value);
506
- const optionHighlightedIsSet = this.optionHighlighted !== null &&
507
- this.optionHighlighted !== undefined &&
508
- this.optionHighlighted !== "";
509
- if (this.open && this.options.length !== 0) {
510
- if (this.value &&
511
- this.keyboardNav &&
512
- inputValueInOptions &&
513
- this.autoFocusOnSelected &&
514
- !this.isSearchableSelect) {
515
- this.scrollToSelected(this.menu);
516
- }
517
- else if (this.inputEl.tagName !== "IC-TEXT-FIELD" &&
518
- this.inputEl.tagName !== "INPUT") {
519
- this.menu.focus();
520
- }
521
- else if (optionHighlightedIsSet &&
522
- !this.focusFromSearchKeypress &&
523
- !this.preventIncorrectTabOrder) {
524
- const highlightedEl = this.el.querySelector(`li[data-value="${this.optionHighlighted}"]`);
525
- if (highlightedEl) {
526
- highlightedEl.focus();
493
+ connectedCallback() {
494
+ this.getParentEl(this.parentEl);
495
+ if (this.isSearchBar) {
496
+ if (this.searchMode === "navigation")
497
+ this.setHighlightedOption(0);
498
+ this.initialOptionsListRender = true;
527
499
  }
528
- }
529
500
  }
530
- }
531
- componentDidRender() {
532
- if (this.firstRender && this.open) {
533
- this.firstRender = false;
534
- let adjust = false;
535
- const dialogEl = this.parentEl.closest("ic-dialog");
536
- const onDialog = dialogEl !== null;
537
- if (onDialog) {
538
- this.el.classList.add("on-dialog");
539
- if (dialogEl.getAttribute("data-overflow") === "false") {
540
- const menuTop = this.el.getBoundingClientRect().top;
541
- const menuHeight = this.el.getBoundingClientRect().height;
542
- const dialogHeight = dialogEl.getBoundingClientRect().bottom;
543
- if (menuTop + menuHeight > dialogHeight) {
544
- adjust = true;
545
- }
546
- }
547
- if (adjust === false) {
548
- this.el.classList.add("on-dialog-fix-translate");
501
+ disconnectedCallback() {
502
+ if (this.popperInstance) {
503
+ this.popperInstance.destroy();
549
504
  }
550
- }
551
- if (adjust) {
552
- this.popperInstance = createPopper(this.anchorEl, this.el, {
553
- placement: "top",
554
- });
555
- }
556
- else {
557
- this.popperInstance = createPopper(this.anchorEl, this.el, {
558
- placement: "bottom",
559
- modifiers: [
560
- {
561
- name: "offset",
562
- options: {
563
- offset: [0, 7],
564
- },
565
- },
566
- {
567
- name: "flip",
568
- options: {
569
- fallbackPlacements: ["top"],
570
- rootBoundary: "viewport",
571
- },
572
- },
573
- ],
574
- });
575
- }
576
- }
577
- else if (this.open) {
578
- this.popperInstance.update();
579
- }
580
- if (this.open && !!this.options.length) {
581
- this.setMenuScrollbar();
582
- }
583
- }
584
- /**
585
- * @internal If menu is opened with the mouse, emit menuStateChange custom event.
586
- */
587
- async handleClickOpen() {
588
- if (!this.preventClickOpen) {
589
- this.menuStateChange.emit({ open: !this.open });
590
- this.keyboardNav = false;
505
+ this.parentEl.removeEventListener("icClear", this.handleClearListener);
506
+ this.parentEl.removeEventListener("icSubmitSearch", this.handleSubmitSearch);
591
507
  }
592
- this.preventClickOpen = false;
593
- }
594
- /**
595
- * Used alongside activationType
596
- * If menu is opened via keyboard navigation (i.e. Enter, ArrowUp or ArrowDown), emit optionSelect custom event.
597
- * @param {KeyboardEvent} event - keyboard event
598
- */
599
- async handleKeyboardOpen(event) {
600
- this.keyboardNav = false;
601
- if (this.activationType === "automatic") {
602
- this.autoSetInputValueKeyboardOpen(event);
508
+ componentWillLoad() {
509
+ var _a, _b;
510
+ this.loadUngroupedOptions();
511
+ this.parentEl.addEventListener("icClear", this.handleClearListener);
512
+ this.parentEl.addEventListener("icSubmitSearch", this.handleSubmitSearch);
513
+ this.hasTimedOut = (_a = this.options) === null || _a === void 0 ? void 0 : _a.some((opt) => opt.timedOut);
514
+ this.isLoading = (_b = this.options) === null || _b === void 0 ? void 0 : _b.some((opt) => opt.loading);
603
515
  }
604
- else {
605
- this.manSetInputValueKeyboardOpen(event);
606
- }
607
- }
608
- /**
609
- * @internal Used to highlight the first option in the menu.
610
- */
611
- async handleSetFirstOption() {
612
- this.setHighlightedOption(0);
613
- }
614
- render() {
615
- const { inputLabel, options, menuId, value, fullWidth, hasTimedOut, isLoading, small, size, open, inputEl, keyboardNav, } = this;
616
- return (h(Host, { class: {
617
- "full-width": fullWidth,
618
- "no-focus": (inputEl === null || inputEl === void 0 ? void 0 : inputEl.tagName) === "INPUT" || hasTimedOut || isLoading,
619
- small: small || size === "small",
620
- open: open,
621
- } }, options.length !== 0 && (h("ul", { id: menuId, class: "menu", role: "listbox", "aria-label": inputLabel, "aria-activedescendant": value != null && value !== "" ? this.getOptionId(value) : "", tabindex: open && !keyboardNav && (inputEl === null || inputEl === void 0 ? void 0 : inputEl.tagName) !== "INPUT" ? "0" : "-1", ref: (el) => (this.menu = el), onKeyDown: this.handleMenuKeyDown, onKeyUp: this.handleMenuKeyUp, onBlur: this.handleBlur }, this.getSortedOptions(options).map((option, index) => {
622
- if (option.children) {
623
- if (option.children.length > 0) {
624
- return (h("div", null, h("ic-typography", { class: "option-group-title", role: "presentation", variant: "subtitle-small" }, h("p", null, option[this.labelField])), option.children.map((childOption) => this.displayOption(childOption, index, option))));
625
- }
626
- else {
627
- return null;
628
- }
629
- }
630
- else {
631
- return this.displayOption(option, index);
632
- }
633
- })))));
634
- }
635
- static get is() { return "ic-menu"; }
636
- static get encapsulation() { return "scoped"; }
637
- static get originalStyleUrls() {
638
- return {
639
- "$": ["ic-menu.css"]
640
- };
641
- }
642
- static get styleUrls() {
643
- return {
644
- "$": ["ic-menu.css"]
645
- };
646
- }
647
- static get properties() {
648
- return {
649
- "activationType": {
650
- "type": "string",
651
- "mutable": false,
652
- "complexType": {
653
- "original": "IcActivationTypes",
654
- "resolved": "\"automatic\" | \"manual\"",
655
- "references": {
656
- "IcActivationTypes": {
657
- "location": "import",
658
- "path": "../../utils/types",
659
- "id": "src/utils/types.ts::IcActivationTypes"
660
- }
661
- }
662
- },
663
- "required": false,
664
- "optional": true,
665
- "docs": {
666
- "tags": [],
667
- "text": "Determines whether options manually set as values (by pressing 'Enter') when they receive focus using keyboard navigation."
668
- },
669
- "attribute": "activation-type",
670
- "reflect": false,
671
- "defaultValue": "\"automatic\""
672
- },
673
- "anchorEl": {
674
- "type": "unknown",
675
- "mutable": false,
676
- "complexType": {
677
- "original": "HTMLElement",
678
- "resolved": "HTMLElement",
679
- "references": {
680
- "HTMLElement": {
681
- "location": "global",
682
- "id": "global::HTMLElement"
683
- }
684
- }
685
- },
686
- "required": true,
687
- "optional": false,
688
- "docs": {
689
- "tags": [],
690
- "text": "The reference to an anchor element the menu will position itself from when rendered."
691
- }
692
- },
693
- "autoFocusOnSelected": {
694
- "type": "boolean",
695
- "mutable": false,
696
- "complexType": {
697
- "original": "boolean",
698
- "resolved": "boolean",
699
- "references": {}
700
- },
701
- "required": false,
702
- "optional": false,
703
- "docs": {
704
- "tags": [{
705
- "name": "internal",
706
- "text": "If `true`, autofocus will be applied on selected item when menu is open."
707
- }],
708
- "text": ""
709
- },
710
- "attribute": "auto-focus-on-selected",
711
- "reflect": false,
712
- "defaultValue": "true"
713
- },
714
- "fullWidth": {
715
- "type": "boolean",
716
- "mutable": false,
717
- "complexType": {
718
- "original": "boolean",
719
- "resolved": "boolean",
720
- "references": {}
721
- },
722
- "required": false,
723
- "optional": false,
724
- "docs": {
725
- "tags": [],
726
- "text": "If `true`, the menu will fill the width of the container."
727
- },
728
- "attribute": "full-width",
729
- "reflect": false,
730
- "defaultValue": "false"
731
- },
732
- "inputEl": {
733
- "type": "unknown",
734
- "mutable": false,
735
- "complexType": {
736
- "original": "HTMLElement",
737
- "resolved": "HTMLElement",
738
- "references": {
739
- "HTMLElement": {
740
- "location": "global",
741
- "id": "global::HTMLElement"
742
- }
743
- }
744
- },
745
- "required": true,
746
- "optional": false,
747
- "docs": {
748
- "tags": [],
749
- "text": "The reference to the input element."
750
- }
751
- },
752
- "inputLabel": {
753
- "type": "string",
754
- "mutable": false,
755
- "complexType": {
756
- "original": "string",
757
- "resolved": "string",
758
- "references": {}
759
- },
760
- "required": true,
761
- "optional": false,
762
- "docs": {
763
- "tags": [],
764
- "text": "The label for the input element."
765
- },
766
- "attribute": "input-label",
767
- "reflect": false
768
- },
769
- "labelField": {
770
- "type": "string",
771
- "mutable": false,
772
- "complexType": {
773
- "original": "string",
774
- "resolved": "string",
775
- "references": {}
776
- },
777
- "required": false,
778
- "optional": false,
779
- "docs": {
780
- "tags": [],
781
- "text": "The custom name for the label field for IcMenuOption."
782
- },
783
- "attribute": "label-field",
784
- "reflect": false,
785
- "defaultValue": "\"label\""
786
- },
787
- "menuId": {
788
- "type": "string",
789
- "mutable": false,
790
- "complexType": {
791
- "original": "string",
792
- "resolved": "string",
793
- "references": {}
794
- },
795
- "required": true,
796
- "optional": false,
797
- "docs": {
798
- "tags": [],
799
- "text": "The ID of the menu."
800
- },
801
- "attribute": "menu-id",
802
- "reflect": false
803
- },
804
- "open": {
805
- "type": "boolean",
806
- "mutable": false,
807
- "complexType": {
808
- "original": "boolean",
809
- "resolved": "boolean",
810
- "references": {}
811
- },
812
- "required": true,
813
- "optional": false,
814
- "docs": {
815
- "tags": [],
816
- "text": "If `true`, the menu will be displayed open."
817
- },
818
- "attribute": "open",
819
- "reflect": true
820
- },
821
- "parentEl": {
822
- "type": "unknown",
823
- "mutable": false,
824
- "complexType": {
825
- "original": "HTMLElement",
826
- "resolved": "HTMLElement",
827
- "references": {
828
- "HTMLElement": {
829
- "location": "global",
830
- "id": "global::HTMLElement"
831
- }
832
- }
833
- },
834
- "required": false,
835
- "optional": true,
836
- "docs": {
837
- "tags": [{
838
- "name": "internal",
839
- "text": "- The parent element if ic-menu is nested inside another component."
840
- }],
841
- "text": ""
516
+ componentDidLoad() {
517
+ if (this.isSearchBar &&
518
+ this.parentEl.disableFilter) {
519
+ this.focusFromSearchKeypress = true;
842
520
  }
843
- },
844
- "searchMode": {
845
- "type": "string",
846
- "mutable": false,
847
- "complexType": {
848
- "original": "IcSearchBarSearchModes",
849
- "resolved": "\"navigation\" | \"query\"",
850
- "references": {
851
- "IcSearchBarSearchModes": {
852
- "location": "import",
853
- "path": "../ic-search-bar/ic-search-bar.types",
854
- "id": "src/components/ic-search-bar/ic-search-bar.types.ts::IcSearchBarSearchModes"
521
+ onComponentRequiredPropUndefined([
522
+ { prop: this.open, propName: "open" },
523
+ { prop: this.options, propName: "options" },
524
+ { prop: this.menuId, propName: "menu-id" },
525
+ { prop: this.inputLabel, propName: "input-label" },
526
+ //NOTE: no check for value, input-el or anchor-el as otherwise get console errors on first load of select component
527
+ ], "Menu");
528
+ }
529
+ componentDidUpdate() {
530
+ const inputValueInOptions = this.options.some((option) => option[this.valueField] === this.value);
531
+ const optionHighlightedIsSet = this.optionHighlighted !== null &&
532
+ this.optionHighlighted !== undefined &&
533
+ this.optionHighlighted !== "";
534
+ if (this.open && this.options.length !== 0) {
535
+ if (this.value &&
536
+ this.keyboardNav &&
537
+ inputValueInOptions &&
538
+ this.autoFocusOnSelected &&
539
+ !this.isSearchableSelect) {
540
+ this.scrollToSelected(this.menu);
855
541
  }
856
- }
857
- },
858
- "required": false,
859
- "optional": true,
860
- "docs": {
861
- "tags": [],
862
- "text": "Specify the mode search bar uses to search. `navigation` allows for quick lookups of a set of values, `query` allows for more general searches."
863
- },
864
- "attribute": "search-mode",
865
- "reflect": false,
866
- "defaultValue": "\"navigation\""
867
- },
868
- "size": {
869
- "type": "string",
870
- "mutable": false,
871
- "complexType": {
872
- "original": "IcSizesNoLarge",
873
- "resolved": "\"default\" | \"small\"",
874
- "references": {
875
- "IcSizesNoLarge": {
876
- "location": "import",
877
- "path": "../../utils/types",
878
- "id": "src/utils/types.ts::IcSizesNoLarge"
542
+ else if (this.inputEl.tagName !== "IC-TEXT-FIELD" &&
543
+ this.inputEl.tagName !== "INPUT") {
544
+ this.menu.focus();
879
545
  }
880
- }
881
- },
882
- "required": false,
883
- "optional": true,
884
- "docs": {
885
- "tags": [],
886
- "text": "The size of the menu component."
887
- },
888
- "attribute": "size",
889
- "reflect": false,
890
- "defaultValue": "\"default\""
891
- },
892
- "small": {
893
- "type": "boolean",
894
- "mutable": false,
895
- "complexType": {
896
- "original": "boolean",
897
- "resolved": "boolean",
898
- "references": {}
899
- },
900
- "required": false,
901
- "optional": true,
902
- "docs": {
903
- "tags": [{
904
- "name": "deprecated",
905
- "text": "This prop should not be used anymore. Set prop `size` to \"small\" instead."
906
- }],
907
- "text": ""
908
- },
909
- "attribute": "small",
910
- "reflect": false,
911
- "defaultValue": "false"
912
- },
913
- "options": {
914
- "type": "unknown",
915
- "mutable": false,
916
- "complexType": {
917
- "original": "IcMenuOption[]",
918
- "resolved": "IcMenuOption[]",
919
- "references": {
920
- "IcMenuOption": {
921
- "location": "import",
922
- "path": "../../utils/types",
923
- "id": "src/utils/types.ts::IcMenuOption"
546
+ else if (optionHighlightedIsSet &&
547
+ !this.focusFromSearchKeypress &&
548
+ !this.preventIncorrectTabOrder) {
549
+ const highlightedEl = this.host.querySelector(`li[data-value="${this.optionHighlighted}"]`);
550
+ if (highlightedEl) {
551
+ highlightedEl.focus();
552
+ }
924
553
  }
925
- }
926
- },
927
- "required": true,
928
- "optional": false,
929
- "docs": {
930
- "tags": [],
931
- "text": "The possible menu selection options."
932
554
  }
933
- },
934
- "value": {
935
- "type": "string",
936
- "mutable": true,
937
- "complexType": {
938
- "original": "string",
939
- "resolved": "string",
940
- "references": {}
941
- },
942
- "required": true,
943
- "optional": false,
944
- "docs": {
945
- "tags": [],
946
- "text": "The value of the currently selected option."
947
- },
948
- "attribute": "value",
949
- "reflect": false
950
- },
951
- "valueField": {
952
- "type": "string",
953
- "mutable": false,
954
- "complexType": {
955
- "original": "string",
956
- "resolved": "string",
957
- "references": {}
958
- },
959
- "required": false,
960
- "optional": false,
961
- "docs": {
962
- "tags": [],
963
- "text": "The custom name for the value field for IcMenuOption."
964
- },
965
- "attribute": "value-field",
966
- "reflect": false,
967
- "defaultValue": "\"value\""
968
- }
969
- };
970
- }
971
- static get states() {
972
- return {
973
- "focusFromSearchKeypress": {},
974
- "initialOptionsListRender": {},
975
- "keyboardNav": {},
976
- "optionHighlighted": {},
977
- "preventIncorrectTabOrder": {}
978
- };
979
- }
980
- static get events() {
981
- return [{
982
- "method": "menuKeyPress",
983
- "name": "menuKeyPress",
984
- "bubbles": true,
985
- "cancelable": true,
986
- "composed": true,
987
- "docs": {
988
- "tags": [{
989
- "name": "internal",
990
- "text": "Emitted when key is pressed while menu is open"
991
- }],
992
- "text": ""
993
- },
994
- "complexType": {
995
- "original": "{ isNavKey: boolean; key: string }",
996
- "resolved": "{ isNavKey: boolean; key: string; }",
997
- "references": {}
998
- }
999
- }, {
1000
- "method": "menuOptionId",
1001
- "name": "menuOptionId",
1002
- "bubbles": true,
1003
- "cancelable": true,
1004
- "composed": true,
1005
- "docs": {
1006
- "tags": [{
1007
- "name": "internal",
1008
- "text": "Emitted when an option has been highlighted"
1009
- }],
1010
- "text": ""
1011
- },
1012
- "complexType": {
1013
- "original": "IcMenuOptionIdEventDetail",
1014
- "resolved": "IcMenuOptionIdEventDetail",
1015
- "references": {
1016
- "IcMenuOptionIdEventDetail": {
1017
- "location": "import",
1018
- "path": "./ic-menu.types",
1019
- "id": "src/components/ic-menu/ic-menu.types.ts::IcMenuOptionIdEventDetail"
1020
- }
1021
- }
555
+ if (this.open && !this.value && this.selectOnEnter) {
556
+ this.scrollToSelected(this.menu);
1022
557
  }
1023
- }, {
1024
- "method": "menuOptionSelect",
1025
- "name": "menuOptionSelect",
1026
- "bubbles": true,
1027
- "cancelable": true,
1028
- "composed": true,
1029
- "docs": {
1030
- "tags": [{
1031
- "name": "internal",
1032
- "text": "Emitted when an option is selected."
1033
- }],
1034
- "text": ""
1035
- },
1036
- "complexType": {
1037
- "original": "IcOptionSelectEventDetail",
1038
- "resolved": "IcOptionSelectEventDetail",
1039
- "references": {
1040
- "IcOptionSelectEventDetail": {
1041
- "location": "import",
1042
- "path": "./ic-menu.types",
1043
- "id": "src/components/ic-menu/ic-menu.types.ts::IcOptionSelectEventDetail"
1044
- }
1045
- }
558
+ }
559
+ componentDidRender() {
560
+ if (this.open && !this.popperInstance && this.anchorEl) {
561
+ this.initPopperJs(this.anchorEl);
1046
562
  }
1047
- }, {
1048
- "method": "menuStateChange",
1049
- "name": "menuStateChange",
1050
- "bubbles": true,
1051
- "cancelable": true,
1052
- "composed": true,
1053
- "docs": {
1054
- "tags": [{
1055
- "name": "internal",
1056
- "text": "Emitted when state of menu changes (i.e. open or close)."
1057
- }],
1058
- "text": ""
1059
- },
1060
- "complexType": {
1061
- "original": "IcMenuChangeEventDetail",
1062
- "resolved": "IcMenuChangeEventDetail",
1063
- "references": {
1064
- "IcMenuChangeEventDetail": {
1065
- "location": "import",
1066
- "path": "./ic-menu.types",
1067
- "id": "src/components/ic-menu/ic-menu.types.ts::IcMenuChangeEventDetail"
1068
- }
1069
- }
563
+ if (this.open && !!this.options.length) {
564
+ this.setMenuScrollbar();
1070
565
  }
1071
- }, {
1072
- "method": "menuValueChange",
1073
- "name": "menuValueChange",
1074
- "bubbles": true,
1075
- "cancelable": true,
1076
- "composed": true,
1077
- "docs": {
1078
- "tags": [{
1079
- "name": "internal",
1080
- "text": "Emitted when menu value changes."
1081
- }],
1082
- "text": ""
1083
- },
1084
- "complexType": {
1085
- "original": "IcValueEventDetail",
1086
- "resolved": "IcValueEventDetail",
1087
- "references": {
1088
- "IcValueEventDetail": {
1089
- "location": "import",
1090
- "path": "../../utils/types",
1091
- "id": "src/utils/types.ts::IcValueEventDetail"
1092
- }
1093
- }
566
+ }
567
+ /**
568
+ * @internal If menu is opened with the mouse, emit menuStateChange custom event.
569
+ */
570
+ async handleClickOpen() {
571
+ if (!this.preventClickOpen) {
572
+ this.menuStateChange.emit({ open: !this.open });
573
+ this.keyboardNav = false;
1094
574
  }
1095
- }, {
1096
- "method": "retryButtonClicked",
1097
- "name": "retryButtonClicked",
1098
- "bubbles": true,
1099
- "cancelable": true,
1100
- "composed": true,
1101
- "docs": {
1102
- "tags": [{
1103
- "name": "internal",
1104
- "text": "Emitted when the retry button is clicked"
1105
- }],
1106
- "text": ""
1107
- },
1108
- "complexType": {
1109
- "original": "IcValueEventDetail",
1110
- "resolved": "IcValueEventDetail",
1111
- "references": {
1112
- "IcValueEventDetail": {
1113
- "location": "import",
1114
- "path": "../../utils/types",
1115
- "id": "src/utils/types.ts::IcValueEventDetail"
1116
- }
1117
- }
575
+ this.preventClickOpen = false;
576
+ }
577
+ /**
578
+ * Used alongside activationType
579
+ * If menu is opened via keyboard navigation (i.e. Enter, ArrowUp or ArrowDown), emit optionSelect custom event.
580
+ * @param {KeyboardEvent} event The keyboard event which is available when handleKeyboardOpen is invoked.
581
+ */
582
+ async handleKeyboardOpen(event) {
583
+ this.keyboardNav = false;
584
+ if (this.activationType === "automatic") {
585
+ this.autoSetInputValueKeyboardOpen(event);
1118
586
  }
1119
- }, {
1120
- "method": "timeoutBlur",
1121
- "name": "timeoutBlur",
1122
- "bubbles": true,
1123
- "cancelable": true,
1124
- "composed": true,
1125
- "docs": {
1126
- "tags": [{
1127
- "name": "internal",
1128
- "text": "Emitted when the timeout menu loses focus"
1129
- }],
1130
- "text": ""
1131
- },
1132
- "complexType": {
1133
- "original": "{ ev: FocusEvent }",
1134
- "resolved": "{ ev: FocusEvent; }",
1135
- "references": {
1136
- "FocusEvent": {
1137
- "location": "global",
1138
- "id": "global::FocusEvent"
1139
- }
1140
- }
587
+ else {
588
+ this.manSetInputValueKeyboardOpen(event);
1141
589
  }
1142
- }, {
1143
- "method": "ungroupedOptionsSet",
1144
- "name": "ungroupedOptionsSet",
1145
- "bubbles": true,
1146
- "cancelable": true,
1147
- "composed": true,
1148
- "docs": {
1149
- "tags": [{
1150
- "name": "internal",
1151
- "text": "Emitted when the ungrouped options have been set."
1152
- }],
1153
- "text": ""
1154
- },
1155
- "complexType": {
1156
- "original": "{ options: IcMenuOption[] }",
1157
- "resolved": "{ options: IcMenuOption[]; }",
1158
- "references": {
1159
- "IcMenuOption": {
1160
- "location": "import",
1161
- "path": "../../utils/types",
1162
- "id": "src/utils/types.ts::IcMenuOption"
590
+ }
591
+ /**
592
+ * @internal Used to highlight the first option in the menu.
593
+ */
594
+ async handleSetFirstOption() {
595
+ this.setHighlightedOption(0);
596
+ }
597
+ /**
598
+ * @internal Used to initialize popperJS with an anchor element.
599
+ * 5/12/2023: Tested with Floating UI, however, discovered inconsistent
600
+ * boundary behaviour so sticking with PopperJS.
601
+ */
602
+ async initPopperJs(anchor) {
603
+ this.popperInstance = createPopper(anchor, this.host, {
604
+ placement: "bottom",
605
+ modifiers: [
606
+ {
607
+ name: "offset",
608
+ options: {
609
+ offset: [0, 7],
610
+ },
611
+ },
612
+ {
613
+ name: "flip",
614
+ options: {
615
+ fallbackPlacements: ["top"],
616
+ rootBoundary: "viewport",
617
+ },
618
+ },
619
+ ],
620
+ });
621
+ }
622
+ render() {
623
+ const { inputLabel, options, menuId, value, fullWidth, hasTimedOut, isLoading, small, size, open, inputEl, keyboardNav, } = this;
624
+ return (h(Host, { class: {
625
+ "full-width": fullWidth,
626
+ "no-focus": (inputEl === null || inputEl === void 0 ? void 0 : inputEl.tagName) === "INPUT" || hasTimedOut || isLoading,
627
+ small: small || size === "small",
628
+ open: open,
629
+ } }, options.length !== 0 && (h("ul", { id: menuId, class: "menu", role: "listbox", "aria-label": inputLabel, "aria-activedescendant": value != null && value !== "" ? this.getOptionId(value) : "", tabindex: open && !keyboardNav && (inputEl === null || inputEl === void 0 ? void 0 : inputEl.tagName) !== "INPUT" ? "0" : "-1", ref: (el) => (this.menu = el), onKeyDown: this.handleMenuKeyDown, onKeyUp: this.handleMenuKeyUp, onBlur: this.handleBlur }, this.getSortedOptions(options).map((option, index) => {
630
+ if (option.children) {
631
+ if (option.children.length > 0) {
632
+ return (h("div", null, h("ic-typography", { class: "option-group-title", role: "presentation", variant: "subtitle-small" }, h("p", null, option[this.labelField])), option.children.map((childOption) => this.displayOption(childOption, index, option))));
633
+ }
634
+ else {
635
+ return null;
636
+ }
1163
637
  }
1164
- }
1165
- }
1166
- }];
1167
- }
1168
- static get methods() {
1169
- return {
1170
- "handleClickOpen": {
1171
- "complexType": {
1172
- "signature": "() => Promise<void>",
1173
- "parameters": [],
1174
- "references": {
1175
- "Promise": {
1176
- "location": "global",
1177
- "id": "global::Promise"
638
+ else {
639
+ return this.displayOption(option, index);
1178
640
  }
1179
- },
1180
- "return": "Promise<void>"
1181
- },
1182
- "docs": {
1183
- "text": "",
1184
- "tags": [{
1185
- "name": "internal",
1186
- "text": "If menu is opened with the mouse, emit menuStateChange custom event."
1187
- }]
1188
- }
1189
- },
1190
- "handleKeyboardOpen": {
1191
- "complexType": {
1192
- "signature": "(event: KeyboardEvent) => Promise<void>",
1193
- "parameters": [{
1194
- "tags": [{
1195
- "name": "param",
1196
- "text": "event - keyboard event"
1197
- }],
1198
- "text": "- keyboard event"
1199
- }],
1200
- "references": {
1201
- "Promise": {
1202
- "location": "global",
1203
- "id": "global::Promise"
641
+ })))));
642
+ }
643
+ static get is() { return "ic-menu"; }
644
+ static get encapsulation() { return "scoped"; }
645
+ static get originalStyleUrls() {
646
+ return {
647
+ "$": ["ic-menu.css"]
648
+ };
649
+ }
650
+ static get styleUrls() {
651
+ return {
652
+ "$": ["ic-menu.css"]
653
+ };
654
+ }
655
+ static get properties() {
656
+ return {
657
+ "activationType": {
658
+ "type": "string",
659
+ "mutable": false,
660
+ "complexType": {
661
+ "original": "IcActivationTypes",
662
+ "resolved": "\"automatic\" | \"manual\"",
663
+ "references": {
664
+ "IcActivationTypes": {
665
+ "location": "import",
666
+ "path": "../../utils/types",
667
+ "id": "src/utils/types.ts::IcActivationTypes"
668
+ }
669
+ }
670
+ },
671
+ "required": false,
672
+ "optional": true,
673
+ "docs": {
674
+ "tags": [],
675
+ "text": "Determines whether options manually set as values (by pressing 'Enter') when they receive focus using keyboard navigation."
676
+ },
677
+ "attribute": "activation-type",
678
+ "reflect": false,
679
+ "defaultValue": "\"automatic\""
680
+ },
681
+ "anchorEl": {
682
+ "type": "unknown",
683
+ "mutable": false,
684
+ "complexType": {
685
+ "original": "HTMLElement",
686
+ "resolved": "HTMLElement",
687
+ "references": {
688
+ "HTMLElement": {
689
+ "location": "global",
690
+ "id": "global::HTMLElement"
691
+ }
692
+ }
693
+ },
694
+ "required": true,
695
+ "optional": false,
696
+ "docs": {
697
+ "tags": [],
698
+ "text": "The reference to an anchor element the menu will position itself from when rendered."
699
+ }
700
+ },
701
+ "autoFocusOnSelected": {
702
+ "type": "boolean",
703
+ "mutable": false,
704
+ "complexType": {
705
+ "original": "boolean",
706
+ "resolved": "boolean",
707
+ "references": {}
708
+ },
709
+ "required": false,
710
+ "optional": false,
711
+ "docs": {
712
+ "tags": [{
713
+ "name": "internal",
714
+ "text": "If `true`, autofocus will be applied on selected item when menu is open."
715
+ }],
716
+ "text": ""
717
+ },
718
+ "attribute": "auto-focus-on-selected",
719
+ "reflect": false,
720
+ "defaultValue": "true"
721
+ },
722
+ "fullWidth": {
723
+ "type": "boolean",
724
+ "mutable": false,
725
+ "complexType": {
726
+ "original": "boolean",
727
+ "resolved": "boolean",
728
+ "references": {}
729
+ },
730
+ "required": false,
731
+ "optional": false,
732
+ "docs": {
733
+ "tags": [],
734
+ "text": "If `true`, the menu will fill the width of the container."
735
+ },
736
+ "attribute": "full-width",
737
+ "reflect": false,
738
+ "defaultValue": "false"
739
+ },
740
+ "inputEl": {
741
+ "type": "unknown",
742
+ "mutable": false,
743
+ "complexType": {
744
+ "original": "HTMLElement",
745
+ "resolved": "HTMLElement",
746
+ "references": {
747
+ "HTMLElement": {
748
+ "location": "global",
749
+ "id": "global::HTMLElement"
750
+ }
751
+ }
752
+ },
753
+ "required": true,
754
+ "optional": false,
755
+ "docs": {
756
+ "tags": [],
757
+ "text": "The reference to the input element."
758
+ }
759
+ },
760
+ "inputLabel": {
761
+ "type": "string",
762
+ "mutable": false,
763
+ "complexType": {
764
+ "original": "string",
765
+ "resolved": "string",
766
+ "references": {}
767
+ },
768
+ "required": true,
769
+ "optional": false,
770
+ "docs": {
771
+ "tags": [],
772
+ "text": "The label for the input element."
773
+ },
774
+ "attribute": "input-label",
775
+ "reflect": false
776
+ },
777
+ "labelField": {
778
+ "type": "string",
779
+ "mutable": false,
780
+ "complexType": {
781
+ "original": "string",
782
+ "resolved": "string",
783
+ "references": {}
784
+ },
785
+ "required": false,
786
+ "optional": false,
787
+ "docs": {
788
+ "tags": [],
789
+ "text": "The custom name for the label field for IcMenuOption."
790
+ },
791
+ "attribute": "label-field",
792
+ "reflect": false,
793
+ "defaultValue": "\"label\""
794
+ },
795
+ "menuId": {
796
+ "type": "string",
797
+ "mutable": false,
798
+ "complexType": {
799
+ "original": "string",
800
+ "resolved": "string",
801
+ "references": {}
802
+ },
803
+ "required": true,
804
+ "optional": false,
805
+ "docs": {
806
+ "tags": [],
807
+ "text": "The ID of the menu."
808
+ },
809
+ "attribute": "menu-id",
810
+ "reflect": false
811
+ },
812
+ "open": {
813
+ "type": "boolean",
814
+ "mutable": false,
815
+ "complexType": {
816
+ "original": "boolean",
817
+ "resolved": "boolean",
818
+ "references": {}
819
+ },
820
+ "required": true,
821
+ "optional": false,
822
+ "docs": {
823
+ "tags": [],
824
+ "text": "If `true`, the menu will be displayed open."
825
+ },
826
+ "attribute": "open",
827
+ "reflect": true
828
+ },
829
+ "parentEl": {
830
+ "type": "unknown",
831
+ "mutable": false,
832
+ "complexType": {
833
+ "original": "HTMLElement",
834
+ "resolved": "HTMLElement",
835
+ "references": {
836
+ "HTMLElement": {
837
+ "location": "global",
838
+ "id": "global::HTMLElement"
839
+ }
840
+ }
841
+ },
842
+ "required": false,
843
+ "optional": true,
844
+ "docs": {
845
+ "tags": [{
846
+ "name": "internal",
847
+ "text": "- The parent element if ic-menu is nested inside another component."
848
+ }],
849
+ "text": ""
850
+ }
851
+ },
852
+ "searchMode": {
853
+ "type": "string",
854
+ "mutable": false,
855
+ "complexType": {
856
+ "original": "IcSearchBarSearchModes",
857
+ "resolved": "\"navigation\" | \"query\"",
858
+ "references": {
859
+ "IcSearchBarSearchModes": {
860
+ "location": "import",
861
+ "path": "../ic-search-bar/ic-search-bar.types",
862
+ "id": "src/components/ic-search-bar/ic-search-bar.types.ts::IcSearchBarSearchModes"
863
+ }
864
+ }
865
+ },
866
+ "required": false,
867
+ "optional": true,
868
+ "docs": {
869
+ "tags": [],
870
+ "text": "Specify the mode search bar uses to search. `navigation` allows for quick lookups of a set of values, `query` allows for more general searches."
871
+ },
872
+ "attribute": "search-mode",
873
+ "reflect": false,
874
+ "defaultValue": "\"navigation\""
875
+ },
876
+ "selectOnEnter": {
877
+ "type": "boolean",
878
+ "mutable": false,
879
+ "complexType": {
880
+ "original": "boolean",
881
+ "resolved": "boolean",
882
+ "references": {}
883
+ },
884
+ "required": false,
885
+ "optional": true,
886
+ "docs": {
887
+ "tags": [{
888
+ "name": "internal",
889
+ "text": "If `true`, the icOptionSelect event will be fired on enter instead of ArrowUp and ArrowDown."
890
+ }],
891
+ "text": ""
892
+ },
893
+ "attribute": "select-on-enter",
894
+ "reflect": false,
895
+ "defaultValue": "false"
1204
896
  },
1205
- "KeyboardEvent": {
1206
- "location": "global",
1207
- "id": "global::KeyboardEvent"
897
+ "size": {
898
+ "type": "string",
899
+ "mutable": false,
900
+ "complexType": {
901
+ "original": "IcSizesNoLarge",
902
+ "resolved": "\"default\" | \"small\"",
903
+ "references": {
904
+ "IcSizesNoLarge": {
905
+ "location": "import",
906
+ "path": "../../utils/types",
907
+ "id": "src/utils/types.ts::IcSizesNoLarge"
908
+ }
909
+ }
910
+ },
911
+ "required": false,
912
+ "optional": true,
913
+ "docs": {
914
+ "tags": [],
915
+ "text": "The size of the menu component."
916
+ },
917
+ "attribute": "size",
918
+ "reflect": false,
919
+ "defaultValue": "\"default\""
920
+ },
921
+ "small": {
922
+ "type": "boolean",
923
+ "mutable": false,
924
+ "complexType": {
925
+ "original": "boolean",
926
+ "resolved": "boolean",
927
+ "references": {}
928
+ },
929
+ "required": false,
930
+ "optional": true,
931
+ "docs": {
932
+ "tags": [{
933
+ "name": "deprecated",
934
+ "text": "This prop should not be used anymore. Set prop `size` to \"small\" instead."
935
+ }],
936
+ "text": ""
937
+ },
938
+ "attribute": "small",
939
+ "reflect": false,
940
+ "defaultValue": "false"
941
+ },
942
+ "options": {
943
+ "type": "unknown",
944
+ "mutable": false,
945
+ "complexType": {
946
+ "original": "IcMenuOption[]",
947
+ "resolved": "IcMenuOption[]",
948
+ "references": {
949
+ "IcMenuOption": {
950
+ "location": "import",
951
+ "path": "../../utils/types",
952
+ "id": "src/utils/types.ts::IcMenuOption"
953
+ }
954
+ }
955
+ },
956
+ "required": true,
957
+ "optional": false,
958
+ "docs": {
959
+ "tags": [],
960
+ "text": "The possible menu selection options."
961
+ }
962
+ },
963
+ "value": {
964
+ "type": "string",
965
+ "mutable": true,
966
+ "complexType": {
967
+ "original": "string",
968
+ "resolved": "string",
969
+ "references": {}
970
+ },
971
+ "required": true,
972
+ "optional": false,
973
+ "docs": {
974
+ "tags": [],
975
+ "text": "The value of the currently selected option."
976
+ },
977
+ "attribute": "value",
978
+ "reflect": false
979
+ },
980
+ "valueField": {
981
+ "type": "string",
982
+ "mutable": false,
983
+ "complexType": {
984
+ "original": "string",
985
+ "resolved": "string",
986
+ "references": {}
987
+ },
988
+ "required": false,
989
+ "optional": false,
990
+ "docs": {
991
+ "tags": [],
992
+ "text": "The custom name for the value field for IcMenuOption."
993
+ },
994
+ "attribute": "value-field",
995
+ "reflect": false,
996
+ "defaultValue": "\"value\""
1208
997
  }
1209
- },
1210
- "return": "Promise<void>"
1211
- },
1212
- "docs": {
1213
- "text": "Used alongside activationType\nIf menu is opened via keyboard navigation (i.e. Enter, ArrowUp or ArrowDown), emit optionSelect custom event.",
1214
- "tags": [{
1215
- "name": "param",
1216
- "text": "event - keyboard event"
1217
- }]
1218
- }
1219
- },
1220
- "handleSetFirstOption": {
1221
- "complexType": {
1222
- "signature": "() => Promise<void>",
1223
- "parameters": [],
1224
- "references": {
1225
- "Promise": {
1226
- "location": "global",
1227
- "id": "global::Promise"
998
+ };
999
+ }
1000
+ static get states() {
1001
+ return {
1002
+ "focusFromSearchKeypress": {},
1003
+ "initialOptionsListRender": {},
1004
+ "keyboardNav": {},
1005
+ "optionHighlighted": {},
1006
+ "preventIncorrectTabOrder": {}
1007
+ };
1008
+ }
1009
+ static get events() {
1010
+ return [{
1011
+ "method": "menuKeyPress",
1012
+ "name": "menuKeyPress",
1013
+ "bubbles": true,
1014
+ "cancelable": true,
1015
+ "composed": true,
1016
+ "docs": {
1017
+ "tags": [{
1018
+ "name": "internal",
1019
+ "text": "Emitted when key is pressed while menu is open"
1020
+ }],
1021
+ "text": ""
1022
+ },
1023
+ "complexType": {
1024
+ "original": "{ isNavKey: boolean; key: string }",
1025
+ "resolved": "{ isNavKey: boolean; key: string; }",
1026
+ "references": {}
1027
+ }
1028
+ }, {
1029
+ "method": "menuOptionId",
1030
+ "name": "menuOptionId",
1031
+ "bubbles": true,
1032
+ "cancelable": true,
1033
+ "composed": true,
1034
+ "docs": {
1035
+ "tags": [{
1036
+ "name": "internal",
1037
+ "text": "Emitted when an option has been highlighted"
1038
+ }],
1039
+ "text": ""
1040
+ },
1041
+ "complexType": {
1042
+ "original": "IcMenuOptionIdEventDetail",
1043
+ "resolved": "IcMenuOptionIdEventDetail",
1044
+ "references": {
1045
+ "IcMenuOptionIdEventDetail": {
1046
+ "location": "import",
1047
+ "path": "./ic-menu.types",
1048
+ "id": "src/components/ic-menu/ic-menu.types.ts::IcMenuOptionIdEventDetail"
1049
+ }
1050
+ }
1051
+ }
1052
+ }, {
1053
+ "method": "menuOptionSelect",
1054
+ "name": "menuOptionSelect",
1055
+ "bubbles": true,
1056
+ "cancelable": true,
1057
+ "composed": true,
1058
+ "docs": {
1059
+ "tags": [{
1060
+ "name": "internal",
1061
+ "text": "Emitted when an option is selected."
1062
+ }],
1063
+ "text": ""
1064
+ },
1065
+ "complexType": {
1066
+ "original": "IcOptionSelectEventDetail",
1067
+ "resolved": "IcOptionSelectEventDetail",
1068
+ "references": {
1069
+ "IcOptionSelectEventDetail": {
1070
+ "location": "import",
1071
+ "path": "./ic-menu.types",
1072
+ "id": "src/components/ic-menu/ic-menu.types.ts::IcOptionSelectEventDetail"
1073
+ }
1074
+ }
1075
+ }
1076
+ }, {
1077
+ "method": "menuStateChange",
1078
+ "name": "menuStateChange",
1079
+ "bubbles": true,
1080
+ "cancelable": true,
1081
+ "composed": true,
1082
+ "docs": {
1083
+ "tags": [{
1084
+ "name": "internal",
1085
+ "text": "Emitted when state of menu changes (i.e. open or close)."
1086
+ }],
1087
+ "text": ""
1088
+ },
1089
+ "complexType": {
1090
+ "original": "IcMenuChangeEventDetail",
1091
+ "resolved": "IcMenuChangeEventDetail",
1092
+ "references": {
1093
+ "IcMenuChangeEventDetail": {
1094
+ "location": "import",
1095
+ "path": "./ic-menu.types",
1096
+ "id": "src/components/ic-menu/ic-menu.types.ts::IcMenuChangeEventDetail"
1097
+ }
1098
+ }
1099
+ }
1100
+ }, {
1101
+ "method": "menuValueChange",
1102
+ "name": "menuValueChange",
1103
+ "bubbles": true,
1104
+ "cancelable": true,
1105
+ "composed": true,
1106
+ "docs": {
1107
+ "tags": [{
1108
+ "name": "internal",
1109
+ "text": "Emitted when menu value changes."
1110
+ }],
1111
+ "text": ""
1112
+ },
1113
+ "complexType": {
1114
+ "original": "IcValueEventDetail",
1115
+ "resolved": "IcValueEventDetail",
1116
+ "references": {
1117
+ "IcValueEventDetail": {
1118
+ "location": "import",
1119
+ "path": "../../utils/types",
1120
+ "id": "src/utils/types.ts::IcValueEventDetail"
1121
+ }
1122
+ }
1123
+ }
1124
+ }, {
1125
+ "method": "retryButtonClicked",
1126
+ "name": "retryButtonClicked",
1127
+ "bubbles": true,
1128
+ "cancelable": true,
1129
+ "composed": true,
1130
+ "docs": {
1131
+ "tags": [{
1132
+ "name": "internal",
1133
+ "text": "Emitted when the retry button is clicked"
1134
+ }],
1135
+ "text": ""
1136
+ },
1137
+ "complexType": {
1138
+ "original": "IcValueEventDetail",
1139
+ "resolved": "IcValueEventDetail",
1140
+ "references": {
1141
+ "IcValueEventDetail": {
1142
+ "location": "import",
1143
+ "path": "../../utils/types",
1144
+ "id": "src/utils/types.ts::IcValueEventDetail"
1145
+ }
1146
+ }
1147
+ }
1148
+ }, {
1149
+ "method": "timeoutBlur",
1150
+ "name": "timeoutBlur",
1151
+ "bubbles": true,
1152
+ "cancelable": true,
1153
+ "composed": true,
1154
+ "docs": {
1155
+ "tags": [{
1156
+ "name": "internal",
1157
+ "text": "Emitted when the timeout menu loses focus"
1158
+ }],
1159
+ "text": ""
1160
+ },
1161
+ "complexType": {
1162
+ "original": "{ ev: FocusEvent }",
1163
+ "resolved": "{ ev: FocusEvent; }",
1164
+ "references": {
1165
+ "FocusEvent": {
1166
+ "location": "global",
1167
+ "id": "global::FocusEvent"
1168
+ }
1169
+ }
1170
+ }
1171
+ }, {
1172
+ "method": "ungroupedOptionsSet",
1173
+ "name": "ungroupedOptionsSet",
1174
+ "bubbles": true,
1175
+ "cancelable": true,
1176
+ "composed": true,
1177
+ "docs": {
1178
+ "tags": [{
1179
+ "name": "internal",
1180
+ "text": "Emitted when the ungrouped options have been set."
1181
+ }],
1182
+ "text": ""
1183
+ },
1184
+ "complexType": {
1185
+ "original": "{ options: IcMenuOption[] }",
1186
+ "resolved": "{ options: IcMenuOption[]; }",
1187
+ "references": {
1188
+ "IcMenuOption": {
1189
+ "location": "import",
1190
+ "path": "../../utils/types",
1191
+ "id": "src/utils/types.ts::IcMenuOption"
1192
+ }
1193
+ }
1194
+ }
1195
+ }];
1196
+ }
1197
+ static get methods() {
1198
+ return {
1199
+ "handleClickOpen": {
1200
+ "complexType": {
1201
+ "signature": "() => Promise<void>",
1202
+ "parameters": [],
1203
+ "references": {
1204
+ "Promise": {
1205
+ "location": "global",
1206
+ "id": "global::Promise"
1207
+ }
1208
+ },
1209
+ "return": "Promise<void>"
1210
+ },
1211
+ "docs": {
1212
+ "text": "",
1213
+ "tags": [{
1214
+ "name": "internal",
1215
+ "text": "If menu is opened with the mouse, emit menuStateChange custom event."
1216
+ }]
1217
+ }
1218
+ },
1219
+ "handleKeyboardOpen": {
1220
+ "complexType": {
1221
+ "signature": "(event: KeyboardEvent) => Promise<void>",
1222
+ "parameters": [{
1223
+ "name": "event",
1224
+ "type": "KeyboardEvent",
1225
+ "docs": "The keyboard event which is available when handleKeyboardOpen is invoked."
1226
+ }],
1227
+ "references": {
1228
+ "Promise": {
1229
+ "location": "global",
1230
+ "id": "global::Promise"
1231
+ },
1232
+ "KeyboardEvent": {
1233
+ "location": "global",
1234
+ "id": "global::KeyboardEvent"
1235
+ }
1236
+ },
1237
+ "return": "Promise<void>"
1238
+ },
1239
+ "docs": {
1240
+ "text": "Used alongside activationType\nIf menu is opened via keyboard navigation (i.e. Enter, ArrowUp or ArrowDown), emit optionSelect custom event.",
1241
+ "tags": [{
1242
+ "name": "param",
1243
+ "text": "event The keyboard event which is available when handleKeyboardOpen is invoked."
1244
+ }]
1245
+ }
1246
+ },
1247
+ "handleSetFirstOption": {
1248
+ "complexType": {
1249
+ "signature": "() => Promise<void>",
1250
+ "parameters": [],
1251
+ "references": {
1252
+ "Promise": {
1253
+ "location": "global",
1254
+ "id": "global::Promise"
1255
+ }
1256
+ },
1257
+ "return": "Promise<void>"
1258
+ },
1259
+ "docs": {
1260
+ "text": "",
1261
+ "tags": [{
1262
+ "name": "internal",
1263
+ "text": "Used to highlight the first option in the menu."
1264
+ }]
1265
+ }
1266
+ },
1267
+ "initPopperJs": {
1268
+ "complexType": {
1269
+ "signature": "(anchor: HTMLElement) => Promise<void>",
1270
+ "parameters": [{
1271
+ "name": "anchor",
1272
+ "type": "HTMLElement",
1273
+ "docs": ""
1274
+ }],
1275
+ "references": {
1276
+ "Promise": {
1277
+ "location": "global",
1278
+ "id": "global::Promise"
1279
+ },
1280
+ "HTMLElement": {
1281
+ "location": "global",
1282
+ "id": "global::HTMLElement"
1283
+ }
1284
+ },
1285
+ "return": "Promise<void>"
1286
+ },
1287
+ "docs": {
1288
+ "text": "",
1289
+ "tags": [{
1290
+ "name": "internal",
1291
+ "text": "Used to initialize popperJS with an anchor element.\n5/12/2023: Tested with Floating UI, however, discovered inconsistent\nboundary behaviour so sticking with PopperJS."
1292
+ }]
1293
+ }
1228
1294
  }
1229
- },
1230
- "return": "Promise<void>"
1231
- },
1232
- "docs": {
1233
- "text": "",
1234
- "tags": [{
1235
- "name": "internal",
1236
- "text": "Used to highlight the first option in the menu."
1237
- }]
1238
- }
1239
- }
1240
- };
1241
- }
1242
- static get elementRef() { return "el"; }
1243
- static get watchers() {
1244
- return [{
1245
- "propName": "options",
1246
- "methodName": "watchOptionsHandler"
1247
- }, {
1248
- "propName": "value",
1249
- "methodName": "watchValueHandler"
1250
- }];
1251
- }
1295
+ };
1296
+ }
1297
+ static get elementRef() { return "host"; }
1298
+ static get watchers() {
1299
+ return [{
1300
+ "propName": "open",
1301
+ "methodName": "watchOpenHandler"
1302
+ }, {
1303
+ "propName": "options",
1304
+ "methodName": "watchOptionsHandler"
1305
+ }, {
1306
+ "propName": "value",
1307
+ "methodName": "watchValueHandler"
1308
+ }];
1309
+ }
1252
1310
  }
1253
1311
  //# sourceMappingURL=ic-menu.js.map