@ukic/web-components 2.8.0 → 2.10.0

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