@ukic/web-components 3.0.0-alpha.12 → 3.0.0-alpha.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (973) hide show
  1. package/dist/cjs/app-globals-3a1e7e63.js +7 -0
  2. package/dist/cjs/app-globals-3a1e7e63.js.map +1 -0
  3. package/dist/cjs/core.cjs.js +13 -11
  4. package/dist/cjs/core.cjs.js.map +1 -1
  5. package/dist/cjs/{helpers-eca4c27e.js → helpers-08a9ec1c.js} +31 -26
  6. package/dist/cjs/helpers-08a9ec1c.js.map +1 -0
  7. package/dist/cjs/ic-accordion-group.cjs.entry.js +31 -14
  8. package/dist/cjs/ic-accordion-group.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ic-accordion.cjs.entry.js +65 -42
  10. package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
  11. package/dist/cjs/ic-alert.cjs.entry.js +37 -16
  12. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  13. package/dist/cjs/ic-back-to-top.cjs.entry.js +27 -15
  14. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ic-badge.cjs.entry.js +41 -22
  16. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +31 -16
  18. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ic-breadcrumb.cjs.entry.js +35 -21
  20. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ic-button_3.cjs.entry.js +246 -144
  22. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ic-card-vertical.cjs.entry.js +53 -32
  24. package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -1
  25. package/dist/cjs/ic-checkbox-group.cjs.entry.js +32 -9
  26. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  27. package/dist/cjs/ic-checkbox.cjs.entry.js +48 -29
  28. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  29. package/dist/cjs/ic-chip.cjs.entry.js +44 -23
  30. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  31. package/dist/cjs/ic-classification-banner.cjs.entry.js +20 -4
  32. package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
  33. package/dist/cjs/ic-data-list.cjs.entry.js +11 -5
  34. package/dist/cjs/ic-data-list.cjs.entry.js.map +1 -1
  35. package/dist/cjs/ic-data-row.cjs.entry.js +28 -18
  36. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  37. package/dist/cjs/ic-dialog.cjs.entry.js +141 -98
  38. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  39. package/dist/cjs/ic-divider.cjs.entry.js +35 -15
  40. package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
  41. package/dist/cjs/ic-empty-state.cjs.entry.js +15 -9
  42. package/dist/cjs/ic-empty-state.cjs.entry.js.map +1 -1
  43. package/dist/cjs/ic-footer-link-group.cjs.entry.js +8 -8
  44. package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
  45. package/dist/cjs/ic-footer-link.cjs.entry.js +9 -10
  46. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  47. package/dist/cjs/ic-footer.cjs.entry.js +32 -19
  48. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  49. package/dist/cjs/ic-hero.cjs.entry.js +29 -17
  50. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  51. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +32 -20
  52. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  53. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +126 -68
  54. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  55. package/dist/cjs/ic-input-label_2.cjs.entry.js +45 -17
  56. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  57. package/dist/cjs/ic-link.cjs.entry.js +28 -21
  58. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  59. package/dist/cjs/ic-menu-group.cjs.entry.js +5 -5
  60. package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
  61. package/dist/cjs/ic-menu-item.cjs.entry.js +20 -18
  62. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  63. package/dist/cjs/ic-navigation-button.cjs.entry.js +25 -19
  64. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  65. package/dist/cjs/ic-navigation-group.cjs.entry.js +45 -27
  66. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  67. package/dist/cjs/ic-navigation-item.cjs.entry.js +69 -48
  68. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  69. package/dist/cjs/ic-navigation-menu.cjs.entry.js +23 -15
  70. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  71. package/dist/cjs/ic-page-header.cjs.entry.js +45 -25
  72. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  73. package/dist/cjs/ic-pagination-item.cjs.entry.js +27 -14
  74. package/dist/cjs/ic-pagination-item.cjs.entry.js.map +1 -1
  75. package/dist/cjs/ic-pagination.cjs.entry.js +60 -27
  76. package/dist/cjs/ic-pagination.cjs.entry.js.map +1 -1
  77. package/dist/cjs/ic-popover-menu.cjs.entry.js +57 -42
  78. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  79. package/dist/cjs/ic-radio-group.cjs.entry.js +53 -28
  80. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  81. package/dist/cjs/ic-radio-option.cjs.entry.js +35 -23
  82. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  83. package/dist/cjs/ic-search-bar.cjs.entry.js +153 -63
  84. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  85. package/dist/cjs/ic-section-container.cjs.entry.js +12 -5
  86. package/dist/cjs/ic-section-container.cjs.entry.js.map +1 -1
  87. package/dist/cjs/ic-select.cjs.entry.js +229 -135
  88. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  89. package/dist/cjs/ic-side-navigation.cjs.entry.js +104 -71
  90. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  91. package/dist/cjs/ic-skeleton.cjs.entry.js +11 -4
  92. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  93. package/dist/cjs/ic-skip-link.cjs.entry.js +54 -0
  94. package/dist/cjs/ic-skip-link.cjs.entry.js.map +1 -0
  95. package/dist/cjs/ic-status-tag.cjs.entry.js +25 -6
  96. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  97. package/dist/cjs/ic-step.cjs.entry.js +33 -32
  98. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  99. package/dist/cjs/ic-stepper.cjs.entry.js +50 -35
  100. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  101. package/dist/cjs/ic-switch.cjs.entry.js +50 -22
  102. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  103. package/dist/cjs/ic-tab-context.cjs.entry.js +44 -24
  104. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  105. package/dist/cjs/ic-tab-group.cjs.entry.js +14 -9
  106. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  107. package/dist/cjs/ic-tab-panel.cjs.entry.js +12 -7
  108. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  109. package/dist/cjs/ic-tab.cjs.entry.js +21 -15
  110. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  111. package/dist/cjs/ic-text-field.cjs.entry.js +175 -69
  112. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  113. package/dist/cjs/ic-theme.cjs.entry.js +13 -7
  114. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  115. package/dist/cjs/ic-toast-region.cjs.entry.js +2 -3
  116. package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -1
  117. package/dist/cjs/ic-toast.cjs.entry.js +29 -21
  118. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  119. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +61 -29
  120. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  121. package/dist/cjs/ic-toggle-button.cjs.entry.js +81 -48
  122. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  123. package/dist/cjs/ic-top-navigation.cjs.entry.js +60 -31
  124. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  125. package/dist/cjs/ic-typography.cjs.entry.js +53 -27
  126. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  127. package/dist/cjs/index-d337cd8a.js +2611 -0
  128. package/dist/cjs/index-d337cd8a.js.map +1 -0
  129. package/dist/cjs/loader.cjs.js +5 -3
  130. package/dist/cjs/loader.cjs.js.map +1 -1
  131. package/dist/collection/collection-manifest.json +5 -4
  132. package/dist/collection/components/ic-accordion/ic-accordion.js +80 -46
  133. package/dist/collection/components/ic-accordion/ic-accordion.js.map +1 -1
  134. package/dist/collection/components/ic-accordion-group/ic-accordion-group.js +49 -21
  135. package/dist/collection/components/ic-accordion-group/ic-accordion-group.js.map +1 -1
  136. package/dist/collection/components/ic-alert/ic-alert.js +58 -22
  137. package/dist/collection/components/ic-alert/ic-alert.js.map +1 -1
  138. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js +35 -16
  139. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js.map +1 -1
  140. package/dist/collection/components/ic-badge/ic-badge.js +69 -32
  141. package/dist/collection/components/ic-badge/ic-badge.js.map +1 -1
  142. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js +49 -24
  143. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js.map +1 -1
  144. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js +41 -19
  145. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js.map +1 -1
  146. package/dist/collection/components/ic-button/ic-button.css +0 -8
  147. package/dist/collection/components/ic-button/ic-button.js +211 -98
  148. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  149. package/dist/collection/components/ic-card-vertical/ic-card-vertical.js +88 -42
  150. package/dist/collection/components/ic-card-vertical/ic-card-vertical.js.map +1 -1
  151. package/dist/collection/components/ic-checkbox/ic-checkbox.js +91 -45
  152. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  153. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +62 -20
  154. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  155. package/dist/collection/components/ic-chip/ic-chip.js +67 -30
  156. package/dist/collection/components/ic-chip/ic-chip.js.map +1 -1
  157. package/dist/collection/components/ic-classification-banner/ic-classification-banner.js +32 -7
  158. package/dist/collection/components/ic-classification-banner/ic-classification-banner.js.map +1 -1
  159. package/dist/collection/components/ic-data-list/ic-data-list.js +18 -7
  160. package/dist/collection/components/ic-data-list/ic-data-list.js.map +1 -1
  161. package/dist/collection/components/ic-data-row/ic-data-row.js +38 -21
  162. package/dist/collection/components/ic-data-row/ic-data-row.js.map +1 -1
  163. package/dist/collection/components/ic-dialog/ic-dialog.js +176 -110
  164. package/dist/collection/components/ic-dialog/ic-dialog.js.map +1 -1
  165. package/dist/collection/components/ic-dialog/ic-dialog.stories.js +100 -49
  166. package/dist/collection/components/ic-divider/ic-divider.js +55 -22
  167. package/dist/collection/components/ic-divider/ic-divider.js.map +1 -1
  168. package/dist/collection/components/ic-divider/ic-divider.stories.js +2 -2
  169. package/dist/collection/components/ic-empty-state/ic-empty-state.js +32 -13
  170. package/dist/collection/components/ic-empty-state/ic-empty-state.js.map +1 -1
  171. package/dist/collection/components/ic-footer/ic-footer.js +49 -25
  172. package/dist/collection/components/ic-footer/ic-footer.js.map +1 -1
  173. package/dist/collection/components/ic-footer-link/ic-footer-link.js +24 -15
  174. package/dist/collection/components/ic-footer-link/ic-footer-link.js.map +1 -1
  175. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js +6 -5
  176. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js.map +1 -1
  177. package/dist/collection/components/ic-hero/ic-hero.css +1 -1
  178. package/dist/collection/components/ic-hero/ic-hero.js +54 -25
  179. package/dist/collection/components/ic-hero/ic-hero.js.map +1 -1
  180. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +40 -21
  181. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js.map +1 -1
  182. package/dist/collection/components/ic-input-component-container/ic-input-component-container.css +9 -0
  183. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +55 -20
  184. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js.map +1 -1
  185. package/dist/collection/components/ic-input-container/ic-input-container.js +16 -6
  186. package/dist/collection/components/ic-input-container/ic-input-container.js.map +1 -1
  187. package/dist/collection/components/ic-input-label/ic-input-label.js +48 -11
  188. package/dist/collection/components/ic-input-label/ic-input-label.js.map +1 -1
  189. package/dist/collection/components/ic-input-validation/ic-input-validation.js +31 -14
  190. package/dist/collection/components/ic-input-validation/ic-input-validation.js.map +1 -1
  191. package/dist/collection/components/ic-link/ic-link.js +49 -28
  192. package/dist/collection/components/ic-link/ic-link.js.map +1 -1
  193. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +124 -66
  194. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js.map +1 -1
  195. package/dist/collection/components/ic-menu/ic-menu.js +136 -74
  196. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  197. package/dist/collection/components/ic-menu/ic-menu.types.js.map +1 -1
  198. package/dist/collection/components/ic-menu-group/ic-menu-group.js +4 -5
  199. package/dist/collection/components/ic-menu-group/ic-menu-group.js.map +1 -1
  200. package/dist/collection/components/ic-menu-item/ic-menu-item.js +53 -28
  201. package/dist/collection/components/ic-menu-item/ic-menu-item.js.map +1 -1
  202. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js +44 -23
  203. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js.map +1 -1
  204. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +83 -28
  205. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js.map +1 -1
  206. package/dist/collection/components/ic-navigation-group/ic-navigation-group.types.js +2 -0
  207. package/dist/collection/components/ic-navigation-group/ic-navigation-group.types.js.map +1 -0
  208. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +107 -63
  209. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -1
  210. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +30 -17
  211. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js.map +1 -1
  212. package/dist/collection/components/ic-page-header/ic-page-header.js +68 -31
  213. package/dist/collection/components/ic-page-header/ic-page-header.js.map +1 -1
  214. package/dist/collection/components/ic-pagination/ic-pagination.js +100 -44
  215. package/dist/collection/components/ic-pagination/ic-pagination.js.map +1 -1
  216. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +48 -22
  217. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js.map +1 -1
  218. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +80 -52
  219. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js.map +1 -1
  220. package/dist/collection/components/ic-radio-group/ic-radio-group.js +87 -41
  221. package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
  222. package/dist/collection/components/ic-radio-option/ic-radio-option.js +64 -33
  223. package/dist/collection/components/ic-radio-option/ic-radio-option.js.map +1 -1
  224. package/dist/collection/components/ic-search-bar/ic-search-bar.js +252 -101
  225. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  226. package/dist/collection/components/ic-search-bar/ic-search-bar.types.js.map +1 -1
  227. package/dist/collection/components/ic-section-container/ic-section-container.js +15 -5
  228. package/dist/collection/components/ic-section-container/ic-section-container.js.map +1 -1
  229. package/dist/collection/components/ic-select/ic-select.js +329 -176
  230. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  231. package/dist/collection/components/ic-side-navigation/ic-side-navigation.css +1 -2
  232. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +143 -89
  233. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
  234. package/dist/collection/components/ic-skeleton/ic-skeleton.js +14 -4
  235. package/dist/collection/components/ic-skeleton/ic-skeleton.js.map +1 -1
  236. package/dist/collection/components/ic-skip-link/ic-skip-link.css +26 -0
  237. package/dist/collection/components/ic-skip-link/ic-skip-link.js +202 -0
  238. package/dist/collection/components/ic-skip-link/ic-skip-link.js.map +1 -0
  239. package/dist/collection/components/ic-skip-link/ic-skip-link.stories.js +160 -0
  240. package/dist/collection/components/ic-status-tag/ic-status-tag.js +41 -9
  241. package/dist/collection/components/ic-status-tag/ic-status-tag.js.map +1 -1
  242. package/dist/collection/components/ic-step/ic-step.js +66 -40
  243. package/dist/collection/components/ic-step/ic-step.js.map +1 -1
  244. package/dist/collection/components/ic-stepper/ic-stepper.js +61 -37
  245. package/dist/collection/components/ic-stepper/ic-stepper.js.map +1 -1
  246. package/dist/collection/components/ic-switch/ic-switch.js +72 -27
  247. package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
  248. package/dist/collection/components/ic-tab/ic-tab.js +40 -21
  249. package/dist/collection/components/ic-tab/ic-tab.js.map +1 -1
  250. package/dist/collection/components/ic-tab-context/ic-tab-context.js +59 -29
  251. package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -1
  252. package/dist/collection/components/ic-tab-group/ic-tab-group.js +21 -9
  253. package/dist/collection/components/ic-tab-group/ic-tab-group.js.map +1 -1
  254. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +26 -10
  255. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js.map +1 -1
  256. package/dist/collection/components/ic-text-field/ic-text-field.js +321 -140
  257. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  258. package/dist/collection/components/ic-theme/ic-theme.js +19 -9
  259. package/dist/collection/components/ic-theme/ic-theme.js.map +1 -1
  260. package/dist/collection/components/ic-toast/ic-toast.js +49 -28
  261. package/dist/collection/components/ic-toast/ic-toast.js.map +1 -1
  262. package/dist/collection/components/ic-toast-region/ic-toast-region.js +6 -5
  263. package/dist/collection/components/ic-toast-region/ic-toast-region.js.map +1 -1
  264. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js +116 -60
  265. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js.map +1 -1
  266. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js +90 -35
  267. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js.map +1 -1
  268. package/dist/collection/components/ic-tooltip/ic-tooltip.js +65 -33
  269. package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
  270. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +91 -45
  271. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
  272. package/dist/collection/components/ic-typography/ic-typography.js +73 -32
  273. package/dist/collection/components/ic-typography/ic-typography.js.map +1 -1
  274. package/dist/collection/utils/helpers.js +29 -24
  275. package/dist/collection/utils/helpers.js.map +1 -1
  276. package/dist/collection/utils/testa11y.helpers.js +2 -1
  277. package/dist/collection/utils/testa11y.helpers.js.map +1 -1
  278. package/dist/collection/utils/types.js.map +1 -1
  279. package/dist/components/helpers.js +29 -24
  280. package/dist/components/helpers.js.map +1 -1
  281. package/dist/components/ic-accordion-group.js +29 -12
  282. package/dist/components/ic-accordion-group.js.map +1 -1
  283. package/dist/components/ic-accordion.js +63 -40
  284. package/dist/components/ic-accordion.js.map +1 -1
  285. package/dist/components/ic-alert.js +35 -14
  286. package/dist/components/ic-alert.js.map +1 -1
  287. package/dist/components/ic-back-to-top.js +25 -13
  288. package/dist/components/ic-back-to-top.js.map +1 -1
  289. package/dist/components/ic-badge.js +39 -20
  290. package/dist/components/ic-badge.js.map +1 -1
  291. package/dist/components/ic-breadcrumb-group.js +29 -14
  292. package/dist/components/ic-breadcrumb-group.js.map +1 -1
  293. package/dist/components/ic-breadcrumb2.js +33 -19
  294. package/dist/components/ic-breadcrumb2.js.map +1 -1
  295. package/dist/components/ic-button2.js +113 -63
  296. package/dist/components/ic-button2.js.map +1 -1
  297. package/dist/components/ic-card-vertical.js +51 -30
  298. package/dist/components/ic-card-vertical.js.map +1 -1
  299. package/dist/components/ic-checkbox-group.js +30 -7
  300. package/dist/components/ic-checkbox-group.js.map +1 -1
  301. package/dist/components/ic-checkbox.js +46 -27
  302. package/dist/components/ic-checkbox.js.map +1 -1
  303. package/dist/components/ic-chip.js +42 -21
  304. package/dist/components/ic-chip.js.map +1 -1
  305. package/dist/components/ic-classification-banner.js +19 -3
  306. package/dist/components/ic-classification-banner.js.map +1 -1
  307. package/dist/components/ic-data-list.js +10 -4
  308. package/dist/components/ic-data-list.js.map +1 -1
  309. package/dist/components/ic-data-row.js +27 -17
  310. package/dist/components/ic-data-row.js.map +1 -1
  311. package/dist/components/ic-dialog.js +139 -96
  312. package/dist/components/ic-dialog.js.map +1 -1
  313. package/dist/components/ic-divider2.js +33 -13
  314. package/dist/components/ic-divider2.js.map +1 -1
  315. package/dist/components/ic-empty-state.js +13 -7
  316. package/dist/components/ic-empty-state.js.map +1 -1
  317. package/dist/components/ic-footer-link-group.js +6 -6
  318. package/dist/components/ic-footer-link-group.js.map +1 -1
  319. package/dist/components/ic-footer-link.js +7 -8
  320. package/dist/components/ic-footer-link.js.map +1 -1
  321. package/dist/components/ic-footer.js +31 -18
  322. package/dist/components/ic-footer.js.map +1 -1
  323. package/dist/components/ic-hero.js +27 -15
  324. package/dist/components/ic-hero.js.map +1 -1
  325. package/dist/components/ic-horizontal-scroll2.js +30 -18
  326. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  327. package/dist/components/ic-input-component-container2.js +31 -9
  328. package/dist/components/ic-input-component-container2.js.map +1 -1
  329. package/dist/components/ic-input-container2.js +12 -5
  330. package/dist/components/ic-input-container2.js.map +1 -1
  331. package/dist/components/ic-input-label2.js +28 -8
  332. package/dist/components/ic-input-label2.js.map +1 -1
  333. package/dist/components/ic-input-validation2.js +15 -7
  334. package/dist/components/ic-input-validation2.js.map +1 -1
  335. package/dist/components/ic-link2.js +26 -19
  336. package/dist/components/ic-link2.js.map +1 -1
  337. package/dist/components/ic-loading-indicator2.js +89 -54
  338. package/dist/components/ic-loading-indicator2.js.map +1 -1
  339. package/dist/components/ic-menu-group.js +3 -3
  340. package/dist/components/ic-menu-group.js.map +1 -1
  341. package/dist/components/ic-menu-item2.js +18 -16
  342. package/dist/components/ic-menu-item2.js.map +1 -1
  343. package/dist/components/ic-menu2.js +81 -52
  344. package/dist/components/ic-menu2.js.map +1 -1
  345. package/dist/components/ic-navigation-button.js +23 -17
  346. package/dist/components/ic-navigation-button.js.map +1 -1
  347. package/dist/components/ic-navigation-group.js +45 -27
  348. package/dist/components/ic-navigation-group.js.map +1 -1
  349. package/dist/components/ic-navigation-item.js +68 -47
  350. package/dist/components/ic-navigation-item.js.map +1 -1
  351. package/dist/components/ic-navigation-menu2.js +21 -13
  352. package/dist/components/ic-navigation-menu2.js.map +1 -1
  353. package/dist/components/ic-page-header.js +44 -24
  354. package/dist/components/ic-page-header.js.map +1 -1
  355. package/dist/components/ic-pagination-item2.js +25 -12
  356. package/dist/components/ic-pagination-item2.js.map +1 -1
  357. package/dist/components/ic-pagination.js +58 -25
  358. package/dist/components/ic-pagination.js.map +1 -1
  359. package/dist/components/ic-popover-menu.js +55 -40
  360. package/dist/components/ic-popover-menu.js.map +1 -1
  361. package/dist/components/ic-radio-group.js +51 -26
  362. package/dist/components/ic-radio-group.js.map +1 -1
  363. package/dist/components/ic-radio-option.js +33 -21
  364. package/dist/components/ic-radio-option.js.map +1 -1
  365. package/dist/components/ic-search-bar.js +151 -61
  366. package/dist/components/ic-search-bar.js.map +1 -1
  367. package/dist/components/ic-section-container2.js +11 -4
  368. package/dist/components/ic-section-container2.js.map +1 -1
  369. package/dist/components/ic-select.js +227 -133
  370. package/dist/components/ic-select.js.map +1 -1
  371. package/dist/components/ic-side-navigation.js +103 -70
  372. package/dist/components/ic-side-navigation.js.map +1 -1
  373. package/dist/components/ic-skeleton.js +10 -3
  374. package/dist/components/ic-skeleton.js.map +1 -1
  375. package/dist/components/ic-skip-link.d.ts +11 -0
  376. package/dist/components/ic-skip-link.js +82 -0
  377. package/dist/components/ic-skip-link.js.map +1 -0
  378. package/dist/components/ic-status-tag.js +23 -4
  379. package/dist/components/ic-status-tag.js.map +1 -1
  380. package/dist/components/ic-step.js +31 -30
  381. package/dist/components/ic-step.js.map +1 -1
  382. package/dist/components/ic-stepper.js +48 -33
  383. package/dist/components/ic-stepper.js.map +1 -1
  384. package/dist/components/ic-switch.js +48 -20
  385. package/dist/components/ic-switch.js.map +1 -1
  386. package/dist/components/ic-tab-context.js +43 -23
  387. package/dist/components/ic-tab-context.js.map +1 -1
  388. package/dist/components/ic-tab-group.js +12 -7
  389. package/dist/components/ic-tab-group.js.map +1 -1
  390. package/dist/components/ic-tab-panel.js +11 -6
  391. package/dist/components/ic-tab-panel.js.map +1 -1
  392. package/dist/components/ic-tab.js +19 -13
  393. package/dist/components/ic-tab.js.map +1 -1
  394. package/dist/components/ic-text-field.js +173 -67
  395. package/dist/components/ic-text-field.js.map +1 -1
  396. package/dist/components/ic-theme.js +11 -5
  397. package/dist/components/ic-theme.js.map +1 -1
  398. package/dist/components/ic-toast-region.js +1 -2
  399. package/dist/components/ic-toast-region.js.map +1 -1
  400. package/dist/components/ic-toast.js +27 -19
  401. package/dist/components/ic-toast.js.map +1 -1
  402. package/dist/components/ic-toggle-button-group.js +59 -27
  403. package/dist/components/ic-toggle-button-group.js.map +1 -1
  404. package/dist/components/ic-toggle-button.js +79 -46
  405. package/dist/components/ic-toggle-button.js.map +1 -1
  406. package/dist/components/ic-tooltip2.js +42 -25
  407. package/dist/components/ic-tooltip2.js.map +1 -1
  408. package/dist/components/ic-top-navigation.js +59 -30
  409. package/dist/components/ic-top-navigation.js.map +1 -1
  410. package/dist/components/ic-typography2.js +51 -25
  411. package/dist/components/ic-typography2.js.map +1 -1
  412. package/dist/core/core.css +38 -27
  413. package/dist/core/core.esm.js +1 -1
  414. package/dist/core/core.esm.js.map +1 -1
  415. package/dist/core/index.esm.js.map +1 -1
  416. package/dist/core/p-052d1ff0.entry.js +2 -0
  417. package/dist/core/p-052d1ff0.entry.js.map +1 -0
  418. package/dist/core/p-08fbea60.entry.js +2 -0
  419. package/dist/core/p-08fbea60.entry.js.map +1 -0
  420. package/dist/core/p-0b757d78.entry.js +2 -0
  421. package/dist/core/p-0b757d78.entry.js.map +1 -0
  422. package/dist/core/{p-73a208c7.entry.js → p-0f34465d.entry.js} +2 -2
  423. package/dist/core/p-0f34465d.entry.js.map +1 -0
  424. package/dist/core/p-111b3186.entry.js +2 -0
  425. package/dist/core/p-111b3186.entry.js.map +1 -0
  426. package/dist/core/p-144a31ec.entry.js +2 -0
  427. package/dist/core/p-144a31ec.entry.js.map +1 -0
  428. package/dist/core/{p-ca11666f.entry.js → p-180ea8ac.entry.js} +2 -2
  429. package/dist/core/p-180ea8ac.entry.js.map +1 -0
  430. package/dist/core/{p-39ab6387.entry.js → p-196e3d33.entry.js} +2 -2
  431. package/dist/core/p-196e3d33.entry.js.map +1 -0
  432. package/dist/core/{p-96b4ca6e.entry.js → p-1d6638c8.entry.js} +2 -2
  433. package/dist/core/p-1d6638c8.entry.js.map +1 -0
  434. package/dist/core/p-1d9a929b.entry.js +2 -0
  435. package/dist/core/p-1d9a929b.entry.js.map +1 -0
  436. package/dist/core/{p-27274ca8.entry.js → p-1fccec19.entry.js} +2 -2
  437. package/dist/core/p-1fccec19.entry.js.map +1 -0
  438. package/dist/core/p-269f841d.js +2 -0
  439. package/dist/core/p-269f841d.js.map +1 -0
  440. package/dist/core/{p-094f51b6.entry.js → p-27de359f.entry.js} +2 -2
  441. package/dist/core/p-27de359f.entry.js.map +1 -0
  442. package/dist/core/p-2cb55e86.entry.js +2 -0
  443. package/dist/core/p-2cb55e86.entry.js.map +1 -0
  444. package/dist/core/p-30a262d2.entry.js +2 -0
  445. package/dist/core/p-30a262d2.entry.js.map +1 -0
  446. package/dist/core/p-3b185c32.js.map +1 -1
  447. package/dist/core/{p-a178d53c.entry.js → p-40bc1f3e.entry.js} +2 -2
  448. package/dist/core/p-40bc1f3e.entry.js.map +1 -0
  449. package/dist/core/p-426ec638.js.map +1 -1
  450. package/dist/core/p-47b46637.entry.js +2 -0
  451. package/dist/core/p-47b46637.entry.js.map +1 -0
  452. package/dist/core/p-4a5ab31e.entry.js +2 -0
  453. package/dist/core/p-4a5ab31e.entry.js.map +1 -0
  454. package/dist/core/p-4e4014cd.entry.js +2 -0
  455. package/dist/core/p-4e4014cd.entry.js.map +1 -0
  456. package/dist/core/{p-25d3c3a6.entry.js → p-55eb89cc.entry.js} +2 -2
  457. package/dist/core/p-55eb89cc.entry.js.map +1 -0
  458. package/dist/core/p-59287779.entry.js +2 -0
  459. package/dist/core/p-59287779.entry.js.map +1 -0
  460. package/dist/core/p-59fc58e1.entry.js +2 -0
  461. package/dist/core/p-59fc58e1.entry.js.map +1 -0
  462. package/dist/core/p-5b7d8ee9.entry.js +2 -0
  463. package/dist/core/p-5b7d8ee9.entry.js.map +1 -0
  464. package/dist/core/{p-b404b307.entry.js → p-5fa5ba50.entry.js} +2 -2
  465. package/dist/core/p-5fa5ba50.entry.js.map +1 -0
  466. package/dist/core/p-68a5aaff.js.map +1 -1
  467. package/dist/core/{p-bbd4f487.entry.js → p-6c8e72b4.entry.js} +2 -2
  468. package/dist/core/p-6c8e72b4.entry.js.map +1 -0
  469. package/dist/core/p-6fdb8a79.entry.js +2 -0
  470. package/dist/core/p-6fdb8a79.entry.js.map +1 -0
  471. package/dist/core/{p-146b2788.entry.js → p-72140621.entry.js} +2 -2
  472. package/dist/core/p-72140621.entry.js.map +1 -0
  473. package/dist/core/p-76bdbc98.entry.js +2 -0
  474. package/dist/core/p-76bdbc98.entry.js.map +1 -0
  475. package/dist/core/{p-4cfe1dd8.entry.js → p-78c3ca49.entry.js} +2 -2
  476. package/dist/core/p-78c3ca49.entry.js.map +1 -0
  477. package/dist/core/p-78c51cba.entry.js +2 -0
  478. package/dist/core/p-78c51cba.entry.js.map +1 -0
  479. package/dist/core/{p-3d565739.entry.js → p-7ea79205.entry.js} +2 -2
  480. package/dist/core/p-7ea79205.entry.js.map +1 -0
  481. package/dist/core/p-8577de91.entry.js +2 -0
  482. package/dist/core/p-8577de91.entry.js.map +1 -0
  483. package/dist/core/{p-26bc7c62.entry.js → p-8856dff4.entry.js} +2 -2
  484. package/dist/core/p-8856dff4.entry.js.map +1 -0
  485. package/dist/core/p-8870d5d8.entry.js +2 -0
  486. package/dist/core/p-8870d5d8.entry.js.map +1 -0
  487. package/dist/core/{p-00587c99.entry.js → p-8b928cc9.entry.js} +2 -2
  488. package/dist/core/p-8b928cc9.entry.js.map +1 -0
  489. package/dist/core/p-8d1bee7a.entry.js +2 -0
  490. package/dist/core/p-8d1bee7a.entry.js.map +1 -0
  491. package/dist/core/p-8e4e97b4.js +3 -0
  492. package/dist/core/p-8e4e97b4.js.map +1 -0
  493. package/dist/core/p-8f319e1e.entry.js +2 -0
  494. package/dist/core/p-8f319e1e.entry.js.map +1 -0
  495. package/dist/core/p-90de3f5d.entry.js +2 -0
  496. package/dist/core/p-90de3f5d.entry.js.map +1 -0
  497. package/dist/core/p-912c8594.entry.js +2 -0
  498. package/dist/core/p-912c8594.entry.js.map +1 -0
  499. package/dist/core/{p-67b3cd55.entry.js → p-9206379d.entry.js} +2 -2
  500. package/dist/core/p-9206379d.entry.js.map +1 -0
  501. package/dist/core/p-94748b96.entry.js +2 -0
  502. package/dist/core/p-94748b96.entry.js.map +1 -0
  503. package/dist/core/{p-d7ccd00f.entry.js → p-98f906ba.entry.js} +2 -2
  504. package/dist/core/p-98f906ba.entry.js.map +1 -0
  505. package/dist/core/{p-5b836707.entry.js → p-999102ee.entry.js} +2 -2
  506. package/dist/core/p-999102ee.entry.js.map +1 -0
  507. package/dist/core/p-9b741f96.entry.js +2 -0
  508. package/dist/core/p-9b741f96.entry.js.map +1 -0
  509. package/dist/core/p-9bcd2c77.entry.js +2 -0
  510. package/dist/core/p-9bcd2c77.entry.js.map +1 -0
  511. package/dist/core/p-9ee2fe04.entry.js +2 -0
  512. package/dist/core/p-9ee2fe04.entry.js.map +1 -0
  513. package/dist/core/{p-e2cf6e7e.entry.js → p-a56ec6d8.entry.js} +2 -2
  514. package/dist/core/p-a56ec6d8.entry.js.map +1 -0
  515. package/dist/core/p-abf767e3.entry.js +2 -0
  516. package/dist/core/p-abf767e3.entry.js.map +1 -0
  517. package/dist/core/p-b594bf26.entry.js +2 -0
  518. package/dist/core/p-b594bf26.entry.js.map +1 -0
  519. package/dist/core/{p-6e94c79c.entry.js → p-bd802c2f.entry.js} +2 -2
  520. package/dist/core/p-bd802c2f.entry.js.map +1 -0
  521. package/dist/core/p-bfee1e84.entry.js +2 -0
  522. package/dist/core/p-bfee1e84.entry.js.map +1 -0
  523. package/dist/core/{p-7f984e25.entry.js → p-c19cdc86.entry.js} +2 -2
  524. package/dist/core/p-c19cdc86.entry.js.map +1 -0
  525. package/dist/core/p-c2e091d7.js.map +1 -1
  526. package/dist/core/{p-73d6092d.entry.js → p-c3785d57.entry.js} +2 -2
  527. package/dist/core/p-c3785d57.entry.js.map +1 -0
  528. package/dist/core/{p-7b26ef60.entry.js → p-caa46d81.entry.js} +2 -2
  529. package/dist/core/p-caa46d81.entry.js.map +1 -0
  530. package/dist/core/{p-720428a3.entry.js → p-ce0fb53a.entry.js} +2 -2
  531. package/dist/core/p-ce0fb53a.entry.js.map +1 -0
  532. package/dist/core/p-de7542fa.entry.js +2 -0
  533. package/dist/core/p-de7542fa.entry.js.map +1 -0
  534. package/dist/core/{p-07aaf9c4.entry.js → p-df56bc50.entry.js} +2 -2
  535. package/dist/core/p-df56bc50.entry.js.map +1 -0
  536. package/dist/core/p-e1255160.js +2 -0
  537. package/dist/core/p-e1255160.js.map +1 -0
  538. package/dist/core/p-e25feba1.entry.js +2 -0
  539. package/dist/core/p-e25feba1.entry.js.map +1 -0
  540. package/dist/core/{p-c1db155d.entry.js → p-e30c6d79.entry.js} +2 -2
  541. package/dist/core/p-e30c6d79.entry.js.map +1 -0
  542. package/dist/core/p-f074ef5b.js.map +1 -1
  543. package/dist/core/{p-abdc2912.entry.js → p-f486d4f4.entry.js} +2 -2
  544. package/dist/core/p-f486d4f4.entry.js.map +1 -0
  545. package/dist/core/{p-a87d13b3.entry.js → p-fbce5f9a.entry.js} +2 -2
  546. package/dist/core/p-fbce5f9a.entry.js.map +1 -0
  547. package/dist/esm/app-globals-0f993ce5.js +5 -0
  548. package/dist/esm/app-globals-0f993ce5.js.map +1 -0
  549. package/dist/esm/core.js +14 -12
  550. package/dist/esm/core.js.map +1 -1
  551. package/dist/esm/{helpers-a72a277b.js → helpers-de6293bf.js} +31 -26
  552. package/dist/esm/helpers-de6293bf.js.map +1 -0
  553. package/dist/esm/ic-accordion-group.entry.js +31 -14
  554. package/dist/esm/ic-accordion-group.entry.js.map +1 -1
  555. package/dist/esm/ic-accordion.entry.js +65 -42
  556. package/dist/esm/ic-accordion.entry.js.map +1 -1
  557. package/dist/esm/ic-alert.entry.js +37 -16
  558. package/dist/esm/ic-alert.entry.js.map +1 -1
  559. package/dist/esm/ic-back-to-top.entry.js +27 -15
  560. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  561. package/dist/esm/ic-badge.entry.js +41 -22
  562. package/dist/esm/ic-badge.entry.js.map +1 -1
  563. package/dist/esm/ic-breadcrumb-group.entry.js +31 -16
  564. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  565. package/dist/esm/ic-breadcrumb.entry.js +35 -21
  566. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  567. package/dist/esm/ic-button_3.entry.js +246 -144
  568. package/dist/esm/ic-button_3.entry.js.map +1 -1
  569. package/dist/esm/ic-card-vertical.entry.js +53 -32
  570. package/dist/esm/ic-card-vertical.entry.js.map +1 -1
  571. package/dist/esm/ic-checkbox-group.entry.js +32 -9
  572. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  573. package/dist/esm/ic-checkbox.entry.js +48 -29
  574. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  575. package/dist/esm/ic-chip.entry.js +44 -23
  576. package/dist/esm/ic-chip.entry.js.map +1 -1
  577. package/dist/esm/ic-classification-banner.entry.js +20 -4
  578. package/dist/esm/ic-classification-banner.entry.js.map +1 -1
  579. package/dist/esm/ic-data-list.entry.js +11 -5
  580. package/dist/esm/ic-data-list.entry.js.map +1 -1
  581. package/dist/esm/ic-data-row.entry.js +28 -18
  582. package/dist/esm/ic-data-row.entry.js.map +1 -1
  583. package/dist/esm/ic-dialog.entry.js +141 -98
  584. package/dist/esm/ic-dialog.entry.js.map +1 -1
  585. package/dist/esm/ic-divider.entry.js +35 -15
  586. package/dist/esm/ic-divider.entry.js.map +1 -1
  587. package/dist/esm/ic-empty-state.entry.js +15 -9
  588. package/dist/esm/ic-empty-state.entry.js.map +1 -1
  589. package/dist/esm/ic-footer-link-group.entry.js +8 -8
  590. package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
  591. package/dist/esm/ic-footer-link.entry.js +9 -10
  592. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  593. package/dist/esm/ic-footer.entry.js +32 -19
  594. package/dist/esm/ic-footer.entry.js.map +1 -1
  595. package/dist/esm/ic-hero.entry.js +29 -17
  596. package/dist/esm/ic-hero.entry.js.map +1 -1
  597. package/dist/esm/ic-horizontal-scroll.entry.js +32 -20
  598. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  599. package/dist/esm/ic-input-component-container_3.entry.js +126 -68
  600. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  601. package/dist/esm/ic-input-label_2.entry.js +45 -17
  602. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  603. package/dist/esm/ic-link.entry.js +28 -21
  604. package/dist/esm/ic-link.entry.js.map +1 -1
  605. package/dist/esm/ic-menu-group.entry.js +5 -5
  606. package/dist/esm/ic-menu-group.entry.js.map +1 -1
  607. package/dist/esm/ic-menu-item.entry.js +20 -18
  608. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  609. package/dist/esm/ic-navigation-button.entry.js +25 -19
  610. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  611. package/dist/esm/ic-navigation-group.entry.js +45 -27
  612. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  613. package/dist/esm/ic-navigation-item.entry.js +69 -48
  614. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  615. package/dist/esm/ic-navigation-menu.entry.js +23 -15
  616. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  617. package/dist/esm/ic-page-header.entry.js +45 -25
  618. package/dist/esm/ic-page-header.entry.js.map +1 -1
  619. package/dist/esm/ic-pagination-item.entry.js +27 -14
  620. package/dist/esm/ic-pagination-item.entry.js.map +1 -1
  621. package/dist/esm/ic-pagination.entry.js +60 -27
  622. package/dist/esm/ic-pagination.entry.js.map +1 -1
  623. package/dist/esm/ic-popover-menu.entry.js +57 -42
  624. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  625. package/dist/esm/ic-radio-group.entry.js +53 -28
  626. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  627. package/dist/esm/ic-radio-option.entry.js +35 -23
  628. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  629. package/dist/esm/ic-search-bar.entry.js +153 -63
  630. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  631. package/dist/esm/ic-section-container.entry.js +12 -5
  632. package/dist/esm/ic-section-container.entry.js.map +1 -1
  633. package/dist/esm/ic-select.entry.js +229 -135
  634. package/dist/esm/ic-select.entry.js.map +1 -1
  635. package/dist/esm/ic-side-navigation.entry.js +104 -71
  636. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  637. package/dist/esm/ic-skeleton.entry.js +11 -4
  638. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  639. package/dist/esm/ic-skip-link.entry.js +50 -0
  640. package/dist/esm/ic-skip-link.entry.js.map +1 -0
  641. package/dist/esm/ic-status-tag.entry.js +25 -6
  642. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  643. package/dist/esm/ic-step.entry.js +33 -32
  644. package/dist/esm/ic-step.entry.js.map +1 -1
  645. package/dist/esm/ic-stepper.entry.js +50 -35
  646. package/dist/esm/ic-stepper.entry.js.map +1 -1
  647. package/dist/esm/ic-switch.entry.js +50 -22
  648. package/dist/esm/ic-switch.entry.js.map +1 -1
  649. package/dist/esm/ic-tab-context.entry.js +44 -24
  650. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  651. package/dist/esm/ic-tab-group.entry.js +14 -9
  652. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  653. package/dist/esm/ic-tab-panel.entry.js +12 -7
  654. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  655. package/dist/esm/ic-tab.entry.js +21 -15
  656. package/dist/esm/ic-tab.entry.js.map +1 -1
  657. package/dist/esm/ic-text-field.entry.js +175 -69
  658. package/dist/esm/ic-text-field.entry.js.map +1 -1
  659. package/dist/esm/ic-theme.entry.js +13 -7
  660. package/dist/esm/ic-theme.entry.js.map +1 -1
  661. package/dist/esm/ic-toast-region.entry.js +2 -3
  662. package/dist/esm/ic-toast-region.entry.js.map +1 -1
  663. package/dist/esm/ic-toast.entry.js +29 -21
  664. package/dist/esm/ic-toast.entry.js.map +1 -1
  665. package/dist/esm/ic-toggle-button-group.entry.js +61 -29
  666. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  667. package/dist/esm/ic-toggle-button.entry.js +81 -48
  668. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  669. package/dist/esm/ic-top-navigation.entry.js +60 -31
  670. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  671. package/dist/esm/ic-typography.entry.js +53 -27
  672. package/dist/esm/ic-typography.entry.js.map +1 -1
  673. package/dist/esm/index-a7a720e7.js +2580 -0
  674. package/dist/esm/index-a7a720e7.js.map +1 -0
  675. package/dist/esm/loader.js +6 -4
  676. package/dist/esm/loader.js.map +1 -1
  677. package/dist/types/components/ic-accordion/ic-accordion.d.ts +3 -3
  678. package/dist/types/components/ic-accordion-group/ic-accordion-group.d.ts +5 -5
  679. package/dist/types/components/ic-alert/ic-alert.d.ts +1 -1
  680. package/dist/types/components/ic-back-to-top/ic-back-to-top.d.ts +1 -1
  681. package/dist/types/components/ic-badge/ic-badge.d.ts +1 -1
  682. package/dist/types/components/ic-breadcrumb/ic-breadcrumb.d.ts +1 -1
  683. package/dist/types/components/ic-breadcrumb-group/ic-breadcrumb-group.d.ts +2 -2
  684. package/dist/types/components/ic-button/ic-button.d.ts +6 -6
  685. package/dist/types/components/ic-checkbox/ic-checkbox.d.ts +10 -10
  686. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +6 -6
  687. package/dist/types/components/ic-data-list/ic-data-list.d.ts +1 -1
  688. package/dist/types/components/ic-data-row/ic-data-row.d.ts +2 -2
  689. package/dist/types/components/ic-dialog/ic-dialog.d.ts +9 -6
  690. package/dist/types/components/ic-divider/ic-divider.d.ts +3 -3
  691. package/dist/types/components/ic-footer/ic-footer.d.ts +4 -4
  692. package/dist/types/components/ic-hero/ic-hero.d.ts +3 -3
  693. package/dist/types/components/ic-input-component-container/ic-input-component-container.d.ts +6 -6
  694. package/dist/types/components/ic-input-label/ic-input-label.d.ts +2 -2
  695. package/dist/types/components/ic-input-validation/ic-input-validation.d.ts +4 -4
  696. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.d.ts +2 -2
  697. package/dist/types/components/ic-menu/ic-menu.d.ts +10 -10
  698. package/dist/types/components/ic-menu/ic-menu.types.d.ts +1 -1
  699. package/dist/types/components/ic-menu-item/ic-menu-item.d.ts +2 -2
  700. package/dist/types/components/ic-navigation-button/ic-navigation-button.d.ts +1 -1
  701. package/dist/types/components/ic-navigation-group/ic-navigation-group.d.ts +11 -4
  702. package/dist/types/components/ic-navigation-group/ic-navigation-group.types.d.ts +3 -0
  703. package/dist/types/components/ic-navigation-item/ic-navigation-item.d.ts +8 -8
  704. package/dist/types/components/ic-navigation-menu/ic-navigation-menu.d.ts +3 -3
  705. package/dist/types/components/ic-pagination/ic-pagination.d.ts +9 -9
  706. package/dist/types/components/ic-pagination-item/ic-pagination-item.d.ts +4 -4
  707. package/dist/types/components/ic-popover-menu/ic-popover-menu.d.ts +4 -4
  708. package/dist/types/components/ic-radio-group/ic-radio-group.d.ts +8 -8
  709. package/dist/types/components/ic-radio-option/ic-radio-option.d.ts +6 -6
  710. package/dist/types/components/ic-search-bar/ic-search-bar.d.ts +12 -12
  711. package/dist/types/components/ic-search-bar/ic-search-bar.types.d.ts +1 -1
  712. package/dist/types/components/ic-select/ic-select.d.ts +20 -20
  713. package/dist/types/components/ic-side-navigation/ic-side-navigation.d.ts +12 -12
  714. package/dist/types/components/ic-skip-link/ic-skip-link.d.ts +33 -0
  715. package/dist/types/components/ic-stepper/ic-stepper.d.ts +1 -1
  716. package/dist/types/components/ic-switch/ic-switch.d.ts +1 -1
  717. package/dist/types/components/ic-tab/ic-tab.d.ts +2 -2
  718. package/dist/types/components/ic-text-field/ic-text-field.d.ts +34 -33
  719. package/dist/types/components/ic-theme/ic-theme.d.ts +2 -2
  720. package/dist/types/components/ic-toast/ic-toast.d.ts +3 -3
  721. package/dist/types/components/ic-toast-region/ic-toast-region.d.ts +1 -1
  722. package/dist/types/components/ic-toggle-button/ic-toggle-button.d.ts +3 -3
  723. package/dist/types/components/ic-top-navigation/ic-top-navigation.d.ts +9 -9
  724. package/dist/types/components/ic-typography/ic-typography.d.ts +1 -1
  725. package/dist/types/components.d.ts +281 -195
  726. package/dist/types/stencil-public-runtime.d.ts +9 -10
  727. package/dist/types/utils/helpers.d.ts +10 -10
  728. package/dist/types/utils/types.d.ts +8 -4
  729. package/hydrate/index.d.ts +53 -12
  730. package/hydrate/index.js +32662 -20747
  731. package/hydrate/index.mjs +34265 -0
  732. package/hydrate/package.json +7 -1
  733. package/loader/cdn.js +1 -3
  734. package/loader/index.cjs.js +1 -3
  735. package/loader/index.d.ts +3 -0
  736. package/loader/index.es2017.js +1 -3
  737. package/loader/index.js +1 -3
  738. package/package.json +3 -3
  739. package/vscode-data.json +50 -330
  740. package/dist/cjs/helpers-eca4c27e.js.map +0 -1
  741. package/dist/cjs/index-f982899d.js +0 -3047
  742. package/dist/cjs/index-f982899d.js.map +0 -1
  743. package/dist/collection/components/ic-accordion/test/basic/ic-accordion.spec.js +0 -349
  744. package/dist/collection/components/ic-accordion/test/basic/ic-accordion.spec.js.map +0 -1
  745. package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.spec.js +0 -129
  746. package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.spec.js.map +0 -1
  747. package/dist/collection/components/ic-alert/test/basic/ic-alert.spec.js +0 -329
  748. package/dist/collection/components/ic-alert/test/basic/ic-alert.spec.js.map +0 -1
  749. package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.spec.js +0 -159
  750. package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.spec.js.map +0 -1
  751. package/dist/collection/components/ic-badge/test/basic/ic-badge.spec.js +0 -450
  752. package/dist/collection/components/ic-badge/test/basic/ic-badge.spec.js.map +0 -1
  753. package/dist/collection/components/ic-breadcrumb/test/basic/ic-breadcrumb.spec.js +0 -162
  754. package/dist/collection/components/ic-breadcrumb/test/basic/ic-breadcrumb.spec.js.map +0 -1
  755. package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group.spec.js +0 -234
  756. package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group.spec.js.map +0 -1
  757. package/dist/collection/components/ic-button/test/basic/ic-button.spec.js +0 -332
  758. package/dist/collection/components/ic-button/test/basic/ic-button.spec.js.map +0 -1
  759. package/dist/collection/components/ic-card-vertical/test/basic/ic-card-vertical.spec.js +0 -214
  760. package/dist/collection/components/ic-card-vertical/test/basic/ic-card-vertical.spec.js.map +0 -1
  761. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js +0 -284
  762. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js.map +0 -1
  763. package/dist/collection/components/ic-chip/test/basic/ic-chip.spec.js +0 -188
  764. package/dist/collection/components/ic-chip/test/basic/ic-chip.spec.js.map +0 -1
  765. package/dist/collection/components/ic-classification-banner/test/basic/ic-classification-banner.spec.js +0 -188
  766. package/dist/collection/components/ic-classification-banner/test/basic/ic-classification-banner.spec.js.map +0 -1
  767. package/dist/collection/components/ic-data-list/test/basic/ic-data-list.spec.js +0 -161
  768. package/dist/collection/components/ic-data-list/test/basic/ic-data-list.spec.js.map +0 -1
  769. package/dist/collection/components/ic-data-row/test/basic/ic-data-row.spec.js +0 -74
  770. package/dist/collection/components/ic-data-row/test/basic/ic-data-row.spec.js.map +0 -1
  771. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js +0 -448
  772. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js.map +0 -1
  773. package/dist/collection/components/ic-divider/test/basic/ic-divider.spec.js +0 -109
  774. package/dist/collection/components/ic-divider/test/basic/ic-divider.spec.js.map +0 -1
  775. package/dist/collection/components/ic-empty-state/test/basic/ic-empty-state.spec.js +0 -101
  776. package/dist/collection/components/ic-empty-state/test/basic/ic-empty-state.spec.js.map +0 -1
  777. package/dist/collection/components/ic-footer/test/basic/ic-footer.spec.js +0 -181
  778. package/dist/collection/components/ic-footer/test/basic/ic-footer.spec.js.map +0 -1
  779. package/dist/collection/components/ic-footer-link/test/basic/ic-footer-link.spec.js +0 -46
  780. package/dist/collection/components/ic-footer-link/test/basic/ic-footer-link.spec.js.map +0 -1
  781. package/dist/collection/components/ic-footer-link-group/test/basic/ic-footer-link-group.spec.js +0 -66
  782. package/dist/collection/components/ic-footer-link-group/test/basic/ic-footer-link-group.spec.js.map +0 -1
  783. package/dist/collection/components/ic-hero/test/basic/ic-hero.spec.js +0 -109
  784. package/dist/collection/components/ic-hero/test/basic/ic-hero.spec.js.map +0 -1
  785. package/dist/collection/components/ic-horizontal-scroll/test/basic/ic-horizontal-scroll.spec.js +0 -223
  786. package/dist/collection/components/ic-horizontal-scroll/test/basic/ic-horizontal-scroll.spec.js.map +0 -1
  787. package/dist/collection/components/ic-input-component-container/test/basic/ic-input-component-container.spec.js +0 -172
  788. package/dist/collection/components/ic-input-component-container/test/basic/ic-input-component-container.spec.js.map +0 -1
  789. package/dist/collection/components/ic-input-container/test/basic/ic-input-container.spec.js +0 -38
  790. package/dist/collection/components/ic-input-container/test/basic/ic-input-container.spec.js.map +0 -1
  791. package/dist/collection/components/ic-input-label/test/basic/ic-input-label.spec.js +0 -84
  792. package/dist/collection/components/ic-input-label/test/basic/ic-input-label.spec.js.map +0 -1
  793. package/dist/collection/components/ic-input-validation/test/basic/ic-input-validation.spec.js +0 -89
  794. package/dist/collection/components/ic-input-validation/test/basic/ic-input-validation.spec.js.map +0 -1
  795. package/dist/collection/components/ic-link/test/basic/ic-link.spec.js +0 -120
  796. package/dist/collection/components/ic-link/test/basic/ic-link.spec.js.map +0 -1
  797. package/dist/collection/components/ic-loading-indicator/test/basic/ic-loading-indicator.spec.js +0 -149
  798. package/dist/collection/components/ic-loading-indicator/test/basic/ic-loading-indicator.spec.js.map +0 -1
  799. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js +0 -1108
  800. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js.map +0 -1
  801. package/dist/collection/components/ic-menu-group/test/basic/ic-menu-group.spec.js +0 -94
  802. package/dist/collection/components/ic-menu-group/test/basic/ic-menu-group.spec.js.map +0 -1
  803. package/dist/collection/components/ic-menu-item/test/basic/ic-menu-item.spec.js +0 -121
  804. package/dist/collection/components/ic-menu-item/test/basic/ic-menu-item.spec.js.map +0 -1
  805. package/dist/collection/components/ic-navigation-button/test/basic/ic-navigation-button.spec.js +0 -95
  806. package/dist/collection/components/ic-navigation-button/test/basic/ic-navigation-button.spec.js.map +0 -1
  807. package/dist/collection/components/ic-navigation-group/test/basic/ic-navigation-group.spec.js +0 -309
  808. package/dist/collection/components/ic-navigation-group/test/basic/ic-navigation-group.spec.js.map +0 -1
  809. package/dist/collection/components/ic-navigation-item/test/basic/ic-navigation-item.spec.js +0 -130
  810. package/dist/collection/components/ic-navigation-item/test/basic/ic-navigation-item.spec.js.map +0 -1
  811. package/dist/collection/components/ic-navigation-menu/test/basic/ic-navigation-menu.spec.js +0 -176
  812. package/dist/collection/components/ic-navigation-menu/test/basic/ic-navigation-menu.spec.js.map +0 -1
  813. package/dist/collection/components/ic-page-header/test/basic/ic-page-header.spec.js +0 -291
  814. package/dist/collection/components/ic-page-header/test/basic/ic-page-header.spec.js.map +0 -1
  815. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js +0 -390
  816. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js.map +0 -1
  817. package/dist/collection/components/ic-pagination-item/test/basic/ic-pagination-item.spec.js +0 -79
  818. package/dist/collection/components/ic-pagination-item/test/basic/ic-pagination-item.spec.js.map +0 -1
  819. package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.spec.js +0 -398
  820. package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.spec.js.map +0 -1
  821. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js +0 -389
  822. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js.map +0 -1
  823. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.spec.js +0 -553
  824. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.spec.js.map +0 -1
  825. package/dist/collection/components/ic-section-container/test/basic/ic-section-container.spec.js +0 -69
  826. package/dist/collection/components/ic-section-container/test/basic/ic-section-container.spec.js.map +0 -1
  827. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js +0 -1672
  828. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js.map +0 -1
  829. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.spec.js +0 -503
  830. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.spec.js.map +0 -1
  831. package/dist/collection/components/ic-skeleton/test/basic/ic-skeleton.spec.js +0 -89
  832. package/dist/collection/components/ic-skeleton/test/basic/ic-skeleton.spec.js.map +0 -1
  833. package/dist/collection/components/ic-status-tag/test/basic/ic-status-tag.spec.js +0 -26
  834. package/dist/collection/components/ic-status-tag/test/basic/ic-status-tag.spec.js.map +0 -1
  835. package/dist/collection/components/ic-step/test/basic/ic-step.spec.js +0 -176
  836. package/dist/collection/components/ic-step/test/basic/ic-step.spec.js.map +0 -1
  837. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.spec.js +0 -752
  838. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.spec.js.map +0 -1
  839. package/dist/collection/components/ic-switch/test/basic/ic-switch.spec.js +0 -93
  840. package/dist/collection/components/ic-switch/test/basic/ic-switch.spec.js.map +0 -1
  841. package/dist/collection/components/ic-tab/test/basic/ic-tab.spec.js +0 -175
  842. package/dist/collection/components/ic-tab/test/basic/ic-tab.spec.js.map +0 -1
  843. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.spec.js +0 -390
  844. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.spec.js.map +0 -1
  845. package/dist/collection/components/ic-tab-panel/test/basic/ic-tab-panel.spec.js +0 -19
  846. package/dist/collection/components/ic-tab-panel/test/basic/ic-tab-panel.spec.js.map +0 -1
  847. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js +0 -312
  848. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js.map +0 -1
  849. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.textarea.spec.js +0 -341
  850. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.textarea.spec.js.map +0 -1
  851. package/dist/collection/components/ic-theme/test/basic/ic-theme.e2e.js +0 -72
  852. package/dist/collection/components/ic-theme/test/basic/ic-theme.e2e.js.map +0 -1
  853. package/dist/collection/components/ic-theme/test/basic/ic-theme.spec.js +0 -79
  854. package/dist/collection/components/ic-theme/test/basic/ic-theme.spec.js.map +0 -1
  855. package/dist/collection/components/ic-toast/test/basic/ic-toast.spec.js +0 -314
  856. package/dist/collection/components/ic-toast/test/basic/ic-toast.spec.js.map +0 -1
  857. package/dist/collection/components/ic-toast-region/test/basic/ic-toast-region.spec.js +0 -64
  858. package/dist/collection/components/ic-toast-region/test/basic/ic-toast-region.spec.js.map +0 -1
  859. package/dist/collection/components/ic-toggle-button/test/basic/ic-toggle-button.spec.js +0 -126
  860. package/dist/collection/components/ic-toggle-button/test/basic/ic-toggle-button.spec.js.map +0 -1
  861. package/dist/collection/components/ic-toggle-button-group/test/ic-toggle-button-group.spec.js +0 -337
  862. package/dist/collection/components/ic-toggle-button-group/test/ic-toggle-button-group.spec.js.map +0 -1
  863. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.spec.js +0 -321
  864. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.spec.js.map +0 -1
  865. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.spec.js +0 -314
  866. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.spec.js.map +0 -1
  867. package/dist/collection/components/ic-typography/test/basic/ic-typography.spec.js +0 -407
  868. package/dist/collection/components/ic-typography/test/basic/ic-typography.spec.js.map +0 -1
  869. package/dist/collection/testspec.setup.js +0 -77
  870. package/dist/collection/testspec.setup.js.map +0 -1
  871. package/dist/core/p-00587c99.entry.js.map +0 -1
  872. package/dist/core/p-07aaf9c4.entry.js.map +0 -1
  873. package/dist/core/p-094f51b6.entry.js.map +0 -1
  874. package/dist/core/p-116875ae.entry.js +0 -2
  875. package/dist/core/p-116875ae.entry.js.map +0 -1
  876. package/dist/core/p-146b2788.entry.js.map +0 -1
  877. package/dist/core/p-15082ea5.entry.js +0 -2
  878. package/dist/core/p-15082ea5.entry.js.map +0 -1
  879. package/dist/core/p-174de9d7.entry.js +0 -2
  880. package/dist/core/p-174de9d7.entry.js.map +0 -1
  881. package/dist/core/p-17f9921d.entry.js +0 -2
  882. package/dist/core/p-17f9921d.entry.js.map +0 -1
  883. package/dist/core/p-246ea059.entry.js +0 -2
  884. package/dist/core/p-246ea059.entry.js.map +0 -1
  885. package/dist/core/p-25d3c3a6.entry.js.map +0 -1
  886. package/dist/core/p-26bc7c62.entry.js.map +0 -1
  887. package/dist/core/p-27274ca8.entry.js.map +0 -1
  888. package/dist/core/p-31d4bfc3.entry.js +0 -2
  889. package/dist/core/p-31d4bfc3.entry.js.map +0 -1
  890. package/dist/core/p-39ab6387.entry.js.map +0 -1
  891. package/dist/core/p-3d565739.entry.js.map +0 -1
  892. package/dist/core/p-3ea4a005.entry.js +0 -2
  893. package/dist/core/p-3ea4a005.entry.js.map +0 -1
  894. package/dist/core/p-41b7c67c.entry.js +0 -2
  895. package/dist/core/p-41b7c67c.entry.js.map +0 -1
  896. package/dist/core/p-4cfe1dd8.entry.js.map +0 -1
  897. package/dist/core/p-5b836707.entry.js.map +0 -1
  898. package/dist/core/p-67b3cd55.entry.js.map +0 -1
  899. package/dist/core/p-67b8a829.entry.js +0 -2
  900. package/dist/core/p-67b8a829.entry.js.map +0 -1
  901. package/dist/core/p-6b5e91e2.js +0 -3
  902. package/dist/core/p-6b5e91e2.js.map +0 -1
  903. package/dist/core/p-6b9db71a.entry.js +0 -2
  904. package/dist/core/p-6b9db71a.entry.js.map +0 -1
  905. package/dist/core/p-6dfa5a4b.entry.js +0 -2
  906. package/dist/core/p-6dfa5a4b.entry.js.map +0 -1
  907. package/dist/core/p-6e94c79c.entry.js.map +0 -1
  908. package/dist/core/p-720428a3.entry.js.map +0 -1
  909. package/dist/core/p-73a208c7.entry.js.map +0 -1
  910. package/dist/core/p-73d6092d.entry.js.map +0 -1
  911. package/dist/core/p-770c52a7.entry.js +0 -2
  912. package/dist/core/p-770c52a7.entry.js.map +0 -1
  913. package/dist/core/p-7b26ef60.entry.js.map +0 -1
  914. package/dist/core/p-7f984e25.entry.js.map +0 -1
  915. package/dist/core/p-86caada0.entry.js +0 -2
  916. package/dist/core/p-86caada0.entry.js.map +0 -1
  917. package/dist/core/p-8c03b8b5.entry.js +0 -2
  918. package/dist/core/p-8c03b8b5.entry.js.map +0 -1
  919. package/dist/core/p-8fdb9b16.entry.js +0 -2
  920. package/dist/core/p-8fdb9b16.entry.js.map +0 -1
  921. package/dist/core/p-91a221b5.entry.js +0 -2
  922. package/dist/core/p-91a221b5.entry.js.map +0 -1
  923. package/dist/core/p-96b4ca6e.entry.js.map +0 -1
  924. package/dist/core/p-9e0c2c19.entry.js +0 -2
  925. package/dist/core/p-9e0c2c19.entry.js.map +0 -1
  926. package/dist/core/p-9f569f90.entry.js +0 -2
  927. package/dist/core/p-9f569f90.entry.js.map +0 -1
  928. package/dist/core/p-a178d53c.entry.js.map +0 -1
  929. package/dist/core/p-a3b7a147.entry.js +0 -2
  930. package/dist/core/p-a3b7a147.entry.js.map +0 -1
  931. package/dist/core/p-a72685f6.entry.js +0 -2
  932. package/dist/core/p-a72685f6.entry.js.map +0 -1
  933. package/dist/core/p-a87d13b3.entry.js.map +0 -1
  934. package/dist/core/p-abdc2912.entry.js.map +0 -1
  935. package/dist/core/p-b404b307.entry.js.map +0 -1
  936. package/dist/core/p-b6ce9ca3.entry.js +0 -2
  937. package/dist/core/p-b6ce9ca3.entry.js.map +0 -1
  938. package/dist/core/p-b6e010f3.entry.js +0 -2
  939. package/dist/core/p-b6e010f3.entry.js.map +0 -1
  940. package/dist/core/p-bbd4f487.entry.js.map +0 -1
  941. package/dist/core/p-bd9f3961.entry.js +0 -2
  942. package/dist/core/p-bd9f3961.entry.js.map +0 -1
  943. package/dist/core/p-c1db155d.entry.js.map +0 -1
  944. package/dist/core/p-c7bcdb8e.entry.js +0 -2
  945. package/dist/core/p-c7bcdb8e.entry.js.map +0 -1
  946. package/dist/core/p-ca11666f.entry.js.map +0 -1
  947. package/dist/core/p-cda4aca9.js +0 -2
  948. package/dist/core/p-cda4aca9.js.map +0 -1
  949. package/dist/core/p-d7ccd00f.entry.js.map +0 -1
  950. package/dist/core/p-dededae6.entry.js +0 -2
  951. package/dist/core/p-dededae6.entry.js.map +0 -1
  952. package/dist/core/p-e2cf6e7e.entry.js.map +0 -1
  953. package/dist/core/p-e6dc3cd1.entry.js +0 -2
  954. package/dist/core/p-e6dc3cd1.entry.js.map +0 -1
  955. package/dist/core/p-e831277e.entry.js +0 -2
  956. package/dist/core/p-e831277e.entry.js.map +0 -1
  957. package/dist/core/p-eb7c589b.entry.js +0 -2
  958. package/dist/core/p-eb7c589b.entry.js.map +0 -1
  959. package/dist/core/p-f65179fe.entry.js +0 -2
  960. package/dist/core/p-f65179fe.entry.js.map +0 -1
  961. package/dist/core/p-fd60eef7.entry.js +0 -2
  962. package/dist/core/p-fd60eef7.entry.js.map +0 -1
  963. package/dist/core/p-fd9f3fd0.entry.js +0 -2
  964. package/dist/core/p-fd9f3fd0.entry.js.map +0 -1
  965. package/dist/esm/helpers-a72a277b.js.map +0 -1
  966. package/dist/esm/index-d1d2c456.js +0 -3016
  967. package/dist/esm/index-d1d2c456.js.map +0 -1
  968. package/dist/esm/polyfills/core-js.js +0 -11
  969. package/dist/esm/polyfills/dom.js +0 -79
  970. package/dist/esm/polyfills/es5-html-element.js +0 -1
  971. package/dist/esm/polyfills/index.js +0 -34
  972. package/dist/esm/polyfills/system.js +0 -6
  973. package/dist/types/testspec.setup.d.ts +0 -24
@@ -1,1672 +0,0 @@
1
- import { h } from "@stencil/core";
2
- import { newSpecPage } from "@stencil/core/testing";
3
- import { Menu } from "../../../ic-menu/ic-menu";
4
- import { Select } from "../../ic-select";
5
- import * as helpers from "../../../../utils/helpers";
6
- import { Button } from "../../../ic-button/ic-button";
7
- import { waitForTimeout } from "../../../../testspec.setup";
8
- import { InputComponentContainer } from "../../../ic-input-component-container/ic-input-component-container";
9
- import { isMobileOrTablet } from "../../../../utils/helpers";
10
- beforeAll(() => {
11
- jest.spyOn(console, "warn").mockImplementation(jest.fn());
12
- });
13
- const label1 = "Test label 1";
14
- const value1 = "Test value 1";
15
- const label2 = "Test label 2";
16
- const value2 = "Test value 2";
17
- const label3 = "Test label 3";
18
- const value3 = "Test value 3";
19
- const label4 = "Test label 4";
20
- const value4 = "Test value 4";
21
- const groupLabel = "Test Group Label";
22
- const testValue = "Test value";
23
- const menuUl = "ic-menu ul";
24
- const noResults = "No results found";
25
- const clearButtonId = "#clear-button";
26
- const loadingLabel = "Loading...";
27
- const loadingErrorLabel = "Loading Error";
28
- const retryButtonId = "#retry-button";
29
- const menuOptions = [
30
- { label: label1, value: value1 },
31
- { label: label2, value: value2 },
32
- { label: label3, value: value3 },
33
- ];
34
- const menuOptionsWithDescriptions = [
35
- {
36
- label: "Cappuccino",
37
- value: "Cap",
38
- description: "Coffee frothed up with pressurised steam",
39
- },
40
- {
41
- label: "Latte",
42
- value: "Lat",
43
- description: "A milkier coffee than a cappuccino",
44
- },
45
- {
46
- label: "Americano",
47
- value: "Ame",
48
- description: "Espresso coffee diluted with hot water",
49
- },
50
- ];
51
- const menuOptionsNoValues = [
52
- { label: label1 },
53
- { label: label2 },
54
- { label: label3 },
55
- ];
56
- const menuOptionsWithDuplicates = [
57
- { label: label1, value: value1 },
58
- { label: label2, value: value2 },
59
- { label: label3, value: value3 },
60
- { label: label3, value: value3 },
61
- {
62
- label: groupLabel,
63
- children: [
64
- { label: label1, value: value1 },
65
- { label: label4, value: value4 },
66
- ],
67
- },
68
- ];
69
- const menuOptionsWithDisabled = [
70
- { label: label1, value: value1 },
71
- { label: label2, value: value2 },
72
- { label: label3, value: value3, disabled: true },
73
- { label: label4, value: value4 },
74
- ];
75
- const menuOptionsWithGroups = [
76
- {
77
- label: "Fancy",
78
- children: [
79
- { label: "Cappuccino", value: "Cap" },
80
- { label: "Flat white", value: "Flat" },
81
- ],
82
- },
83
- {
84
- label: "Boring",
85
- children: [
86
- { label: "Filter", value: "Fil" },
87
- { label: "Latte", value: "Lat" },
88
- ],
89
- },
90
- ];
91
- const getTestSelect = (props) => `<ic-select label="IC Select Test" ${props}></ic-select>
92
- <script>
93
- var select = document.querySelector('ic-select');
94
- var option = 'Test value 1';
95
- select.options = ${menuOptions}
96
- select.addEventListener('icChange', function (event) {
97
- option = event.detail.value;
98
- select.value = option;
99
- });
100
- </script>`;
101
- describe("ic-select", () => {
102
- it("should not render a label when the 'hide-label' prop is supplied", async () => {
103
- const page = await newSpecPage({
104
- components: [Select, Menu, InputComponentContainer],
105
- html: getTestSelect("hide-label"),
106
- });
107
- expect(page.root).toMatchSnapshot("hide-label-set");
108
- });
109
- it("should test select as submit on form", async () => {
110
- const page = await newSpecPage({
111
- components: [Select, Menu, InputComponentContainer, Button],
112
- html: `<form id="new-form"></form><ic-select id="ic-select" form="new-form" label="IC Select Test" value="test-value"></ic-select>`,
113
- });
114
- expect(page.root).toMatchSnapshot();
115
- });
116
- it("should render readonly", async () => {
117
- const page = await newSpecPage({
118
- components: [Select, Menu, InputComponentContainer],
119
- html: getTestSelect('readonly="true"'),
120
- });
121
- expect(page.root).toMatchSnapshot("readonly");
122
- });
123
- it("should render with an icon", async () => {
124
- const page = await newSpecPage({
125
- components: [Select, Menu, InputComponentContainer],
126
- html: `<ic-select label="IC Select Test">
127
- <svg
128
- slot="icon"
129
- xmlns="http://www.w3.org/2000/svg"
130
- height="24px"
131
- viewBox="0 0 24 24"
132
- width="24px"
133
- fill="#000000"
134
- >
135
- <path d="M0 0h24v24H0z" fill="none" />
136
- <path
137
- d="M17 3H7c-1.1 0-1.99.9-1.99 2L5 21l7-3 7 3V5c0-1.1-.9-2-2-2z"
138
- />
139
- </svg>
140
- </ic-select>`,
141
- });
142
- expect(page.root).toMatchSnapshot("with-icon");
143
- });
144
- it("should have correct validation status", async () => {
145
- const page = await newSpecPage({
146
- components: [Select, Menu, InputComponentContainer],
147
- html: getTestSelect('validation-status="error"'),
148
- });
149
- expect(page.root).toMatchSnapshot("with-validation-status-error");
150
- });
151
- it("should not have a validation status if disabled", async () => {
152
- const page = await newSpecPage({
153
- components: [Select, Menu, InputComponentContainer],
154
- html: getTestSelect('disabled validation-status="error"'),
155
- });
156
- expect(page.root).toMatchSnapshot("no-validation-status-if-disabled");
157
- });
158
- it("should render correct validation text", async () => {
159
- const page = await newSpecPage({
160
- components: [Select, Menu, InputComponentContainer],
161
- html: getTestSelect('validation-status="error" validation-text="Test validation text"'),
162
- });
163
- expect(page.root).toMatchSnapshot("with-validation-text");
164
- });
165
- it("should not render validation text if no validation status has been supplied", async () => {
166
- const page = await newSpecPage({
167
- components: [Select, Menu, InputComponentContainer],
168
- html: getTestSelect('validation-text="Test validation text"'),
169
- });
170
- expect(page.root).toMatchSnapshot("no-validation-text-if-no-status");
171
- });
172
- it("should test with clear button", async () => {
173
- const eventSpy = jest.fn();
174
- const page = await newSpecPage({
175
- components: [Select, Menu, InputComponentContainer, Button],
176
- html: `<ic-select label="IC Select Test" show-clear-button="true" value="test-value"></ic-select>`,
177
- });
178
- page.root.addEventListener("icClear", eventSpy);
179
- page.root.options = menuOptions;
180
- await page.waitForChanges();
181
- expect(page.root).toMatchSnapshot("with-clear-button");
182
- page.root.setFocus();
183
- await page.waitForChanges();
184
- const clearButton = page.root.shadowRoot.querySelector(clearButtonId);
185
- clearButton.focus();
186
- await page.waitForChanges();
187
- expect(page.rootInstance.clearButtonFocused).toBe(true);
188
- clearButton.blur();
189
- await page.waitForChanges();
190
- expect(page.rootInstance.clearButtonFocused).toBe(false);
191
- clearButton.click();
192
- await page.waitForChanges();
193
- expect(eventSpy).toHaveBeenCalled;
194
- });
195
- it("should test menu handleKeyboardOpen method - arrow down (custom select)", async () => {
196
- const page = await newSpecPage({
197
- components: [Select, Menu, InputComponentContainer],
198
- html: `<ic-select label="IC Select Test"></ic-select>`,
199
- });
200
- page.root.options = menuOptions;
201
- await page.waitForChanges();
202
- const menu = page.root.shadowRoot.querySelector("ic-menu");
203
- const KeyEvent = {
204
- key: "ArrowDown",
205
- preventDefault: () => null,
206
- };
207
- await menu.handleKeyboardOpen(KeyEvent);
208
- await page.waitForChanges();
209
- expect(page.rootInstance.open).toBeTruthy;
210
- expect(page.rootInstance.value).toBe(value1);
211
- await menu.handleKeyboardOpen(KeyEvent);
212
- await page.waitForChanges();
213
- await menu.handleKeyboardOpen(KeyEvent);
214
- await page.waitForChanges();
215
- await menu.handleKeyboardOpen(KeyEvent);
216
- await page.waitForChanges();
217
- expect(page.rootInstance.value).toBe(value1);
218
- });
219
- it("should test menu handleKeyboardOpen method - arrow up (custom select)", async () => {
220
- const page = await newSpecPage({
221
- components: [Select, Menu, InputComponentContainer],
222
- html: `<ic-select label="IC Select Test"></ic-select>`,
223
- });
224
- page.root.options = menuOptions;
225
- await page.waitForChanges();
226
- const menu = page.root.shadowRoot.querySelector("ic-menu");
227
- const KeyEvent = {
228
- key: "ArrowUp",
229
- preventDefault: () => null,
230
- };
231
- await menu.handleKeyboardOpen(KeyEvent);
232
- await page.waitForChanges();
233
- expect(page.rootInstance.open).toBeTruthy;
234
- expect(page.rootInstance.value).toBe(value3);
235
- await menu.handleKeyboardOpen(KeyEvent);
236
- await page.waitForChanges();
237
- await menu.handleKeyboardOpen(KeyEvent);
238
- await page.waitForChanges();
239
- await menu.handleKeyboardOpen(KeyEvent);
240
- await page.waitForChanges();
241
- expect(page.rootInstance.value).toBe(value3);
242
- });
243
- it("should test keydown on menu - space key (custom)", async () => {
244
- const page = await newSpecPage({
245
- components: [Select, Menu, InputComponentContainer],
246
- html: `<ic-select label="IC Select Test"></ic-select>`,
247
- });
248
- page.root.options = menuOptions;
249
- page.rootInstance.open = true;
250
- await page.waitForChanges();
251
- const list = page.root.shadowRoot.querySelector("ic-menu ul");
252
- list.dispatchEvent(new window.window.KeyboardEvent("keydown", {
253
- key: " ",
254
- bubbles: true,
255
- cancelable: true,
256
- }));
257
- await page.waitForChanges();
258
- expect(page.rootInstance.open).toBe(false);
259
- });
260
- it("should test mousedown handler", async () => {
261
- const page = await newSpecPage({
262
- components: [Select, Menu, InputComponentContainer],
263
- html: `<ic-select label="IC Select Test"></ic-select>`,
264
- });
265
- page.root.options = menuOptions;
266
- const button = page.root.shadowRoot.querySelector("button.select-input");
267
- const event = new Event("mousedown", {
268
- bubbles: true,
269
- cancelable: true,
270
- });
271
- button.dispatchEvent(event);
272
- await page.waitForChanges();
273
- expect(page.rootInstance.open).toBe(false);
274
- });
275
- it("should use option labels if no values", async () => {
276
- const page = await newSpecPage({
277
- components: [Select, Menu, InputComponentContainer],
278
- html: `<ic-select label="IC Select Test"></ic-select>`,
279
- });
280
- page.root.options = menuOptionsNoValues;
281
- await page.waitForChanges();
282
- expect(page.root.options[0].value).toBe(label1);
283
- expect(page.root.options[1].value).toBe(label2);
284
- expect(page.root.options[2].value).toBe(label3);
285
- });
286
- it("should select the option that matches the pressed character key", async () => {
287
- const page = await newSpecPage({
288
- components: [Select, Menu, InputComponentContainer],
289
- html: `<ic-select label="IC Select Test"></ic-select>`,
290
- });
291
- page.root.options = menuOptionsWithDescriptions;
292
- await page.waitForChanges();
293
- const eventSpy = jest.fn();
294
- page.win.addEventListener("icChange", eventSpy);
295
- await page.rootInstance.handleKeyDown({
296
- key: "A",
297
- preventDefault: () => null,
298
- });
299
- await page.waitForChanges();
300
- expect(eventSpy).toHaveBeenCalledWith(expect.objectContaining({
301
- detail: expect.objectContaining({
302
- value: "Ame",
303
- }),
304
- }));
305
- await waitForTimeout(1000);
306
- await page.rootInstance.handleKeyDown({
307
- key: "C",
308
- preventDefault: () => null,
309
- });
310
- await page.waitForChanges();
311
- expect(eventSpy).toHaveBeenCalledWith(expect.objectContaining({
312
- detail: expect.objectContaining({
313
- value: "Cap",
314
- }),
315
- }));
316
- });
317
- it("should select the option that matches the pressed character key - grouped options", async () => {
318
- const page = await newSpecPage({
319
- components: [Select, Menu, InputComponentContainer],
320
- html: `<ic-select label="IC Select Test"></ic-select>`,
321
- });
322
- page.root.options = menuOptionsWithGroups;
323
- await page.waitForChanges();
324
- const eventSpy = jest.fn();
325
- page.win.addEventListener("icChange", eventSpy);
326
- await page.rootInstance.handleKeyDown({
327
- key: "F",
328
- preventDefault: () => null,
329
- });
330
- await page.waitForChanges();
331
- expect(eventSpy).toHaveBeenCalledWith(expect.objectContaining({
332
- detail: expect.objectContaining({
333
- value: "Flat",
334
- }),
335
- }));
336
- });
337
- it("should test getFilteredChildMenuOptions for custom select", async () => {
338
- const page = await newSpecPage({
339
- components: [Select, Menu, InputComponentContainer],
340
- html: `<ic-select label="IC Select Test"></ic-select>`,
341
- });
342
- page.root.options = menuOptionsWithGroups;
343
- await page.waitForChanges();
344
- const result = await page.rootInstance.getFilteredChildMenuOptions(menuOptionsWithGroups[0]);
345
- await page.waitForChanges();
346
- expect(result).toEqual(page.root.options[0]);
347
- });
348
- it("should select the option that matches the character key pressed when menu is open", async () => {
349
- const page = await newSpecPage({
350
- components: [Select, Menu, InputComponentContainer],
351
- html: `<ic-select label="IC Select Test"></ic-select>`,
352
- });
353
- page.root.options = menuOptionsWithDescriptions;
354
- page.rootInstance.open = true;
355
- await page.waitForChanges();
356
- const eventSpy = jest.fn();
357
- page.win.addEventListener("icChange", eventSpy);
358
- const list = page.root.shadowRoot.querySelector(menuUl);
359
- list.dispatchEvent(new window.window.KeyboardEvent("keydown", {
360
- key: "C",
361
- bubbles: true,
362
- cancelable: true,
363
- }));
364
- await page.waitForChanges();
365
- expect(eventSpy).toHaveBeenCalledWith(expect.objectContaining({
366
- detail: expect.objectContaining({
367
- value: "Cap",
368
- }),
369
- }));
370
- });
371
- it("should add to pressedCharacters as characters are pressed and then reset it after 1 second", async () => {
372
- const page = await newSpecPage({
373
- components: [Select, Menu, InputComponentContainer],
374
- html: `<ic-select label="IC Select Test"></ic-select>`,
375
- });
376
- page.root.options = menuOptionsWithDescriptions;
377
- await page.waitForChanges();
378
- await page.rootInstance.handleKeyDown({
379
- key: "A",
380
- preventDefault: () => null,
381
- });
382
- await page.waitForChanges();
383
- expect(page.rootInstance.pressedCharacters).toBe("A");
384
- await page.rootInstance.handleKeyDown({
385
- key: "B",
386
- preventDefault: () => null,
387
- });
388
- await page.waitForChanges();
389
- expect(page.rootInstance.pressedCharacters).toBe("AB");
390
- await page.rootInstance.handleKeyDown({
391
- key: "C",
392
- preventDefault: () => null,
393
- });
394
- await page.waitForChanges();
395
- await waitForTimeout(1000);
396
- await page.waitForChanges();
397
- expect(page.rootInstance.pressedCharacters).toBe("");
398
- });
399
- it("should not open the menu when space key is used as a character key", async () => {
400
- const page = await newSpecPage({
401
- components: [Select, Menu, InputComponentContainer],
402
- html: `<ic-select label="IC Select Test"></ic-select>`,
403
- });
404
- page.root.options = menuOptionsWithDescriptions;
405
- await page.waitForChanges();
406
- const eventSpy = jest.fn();
407
- page.win.addEventListener("icOpen", eventSpy);
408
- await page.rootInstance.handleKeyDown({
409
- key: "A",
410
- preventDefault: () => null,
411
- });
412
- await page.rootInstance.handleKeyDown({
413
- key: " ",
414
- preventDefault: () => null,
415
- });
416
- await page.waitForChanges();
417
- expect(page.rootInstance.pressedCharacters).toBe("A ");
418
- expect(page.rootInstance.open).toBe(false);
419
- expect(eventSpy).not.toHaveBeenCalled();
420
- });
421
- it("should not close the menu when space key is used as a character key", async () => {
422
- const page = await newSpecPage({
423
- components: [Select, Menu, InputComponentContainer],
424
- html: `<ic-select label="IC Select Test"></ic-select>`,
425
- });
426
- page.root.options = menuOptionsWithDescriptions;
427
- page.rootInstance.open = true;
428
- await page.waitForChanges();
429
- const eventSpy = jest.fn();
430
- page.win.addEventListener("icClose", eventSpy);
431
- const list = page.root.shadowRoot.querySelector(menuUl);
432
- list.dispatchEvent(new window.window.KeyboardEvent("keydown", {
433
- key: "C",
434
- bubbles: true,
435
- cancelable: true,
436
- }));
437
- await page.waitForChanges();
438
- list.dispatchEvent(new window.window.KeyboardEvent("keydown", {
439
- key: " ",
440
- bubbles: true,
441
- cancelable: true,
442
- }));
443
- await page.waitForChanges();
444
- expect(page.rootInstance.pressedCharacters).toBe("C ");
445
- expect(page.rootInstance.open).toBe(true);
446
- expect(eventSpy).not.toHaveBeenCalled();
447
- });
448
- it("should test loading state and timeout for custom select", async () => {
449
- const page = await newSpecPage({
450
- components: [Select, Menu, InputComponentContainer],
451
- html: `<ic-select label="IC Select Test" timeout="1000"></ic-select>`,
452
- });
453
- const eventSpy = jest.fn();
454
- page.win.addEventListener("icBlur", eventSpy);
455
- page.rootInstance.loading = true;
456
- page.rootInstance.open = true;
457
- await page.waitForChanges();
458
- expect(page.rootInstance.uniqueOptions[0].label).toEqual(loadingLabel);
459
- await waitForTimeout(1000);
460
- expect(page.rootInstance.uniqueOptions[0].label).toEqual(loadingErrorLabel);
461
- await page.waitForChanges();
462
- const retryButton = page.root.shadowRoot
463
- .querySelector("ic-menu")
464
- .querySelector(retryButtonId);
465
- retryButton.blur();
466
- expect(page.rootInstance.open).toBeFalsy;
467
- expect(eventSpy).toHaveBeenCalled;
468
- page.root.options = [];
469
- await page.waitForChanges();
470
- expect(page.rootInstance.uniqueOptions[0].label).toEqual(loadingErrorLabel);
471
- });
472
- it("should focus the input when escape is pressed whilst the menu is focused", async () => {
473
- const spy = jest.spyOn(HTMLButtonElement.prototype, "focus");
474
- const page = await newSpecPage({
475
- components: [Select, Menu, InputComponentContainer],
476
- html: `<ic-select label="IC Select Test"></ic-select>`,
477
- });
478
- page.root.options = menuOptions;
479
- page.rootInstance.open = true;
480
- await page.waitForChanges();
481
- const list = page.root.shadowRoot.querySelector(menuUl);
482
- list.dispatchEvent(new window.window.KeyboardEvent("keydown", {
483
- key: "Escape",
484
- bubbles: true,
485
- cancelable: true,
486
- }));
487
- await page.waitForChanges();
488
- expect(page.rootInstance.open).toBeFalsy();
489
- expect(spy).toHaveBeenCalled();
490
- });
491
- it("should deduplicateOptions and log a console warning about the offending items", async () => {
492
- const page = await newSpecPage({
493
- components: [Select, Menu, InputComponentContainer],
494
- html: `<ic-select label="IC Select Test"></ic-select>`,
495
- });
496
- page.rootInstance.options = menuOptionsWithDuplicates;
497
- await page.waitForChanges();
498
- expect(page.rootInstance.uniqueOptions).toEqual([
499
- {
500
- label: label1,
501
- value: value1,
502
- },
503
- {
504
- label: label2,
505
- value: value2,
506
- },
507
- {
508
- label: label3,
509
- value: value3,
510
- },
511
- {
512
- label: groupLabel,
513
- value: groupLabel,
514
- children: [
515
- {
516
- label: label4,
517
- value: value4,
518
- },
519
- ],
520
- },
521
- ]);
522
- });
523
- it("should test open and close events emitted", async () => {
524
- const page = await newSpecPage({
525
- components: [Select, Menu, InputComponentContainer],
526
- html: `<ic-select label="IC Select Test"></ic-select>`,
527
- });
528
- page.root.options = menuOptionsWithDescriptions;
529
- await page.waitForChanges();
530
- const openEventSpy = jest.fn();
531
- page.win.addEventListener("icOpen", openEventSpy);
532
- const closeEventSpy = jest.fn();
533
- page.win.addEventListener("icClose", closeEventSpy);
534
- page.rootInstance.open = true;
535
- await page.waitForChanges();
536
- expect(openEventSpy).toHaveBeenCalled();
537
- page.rootInstance.open = false;
538
- await page.waitForChanges();
539
- expect(closeEventSpy).toHaveBeenCalled();
540
- });
541
- afterEach(() => {
542
- jest.restoreAllMocks();
543
- });
544
- it("should return true when running on a mobile or tablet device", async () => {
545
- // Mock the navigator object
546
- Object.defineProperty(window, "navigator", {
547
- value: {
548
- maxTouchPoints: 255,
549
- userAgent: "iPhone",
550
- },
551
- writable: true,
552
- });
553
- expect(isMobileOrTablet()).toBe(true);
554
- });
555
- it("should return false when running on a desktop device", async () => {
556
- // Mock the navigator object
557
- Object.defineProperty(window, "navigator", {
558
- value: {
559
- maxTouchPoints: 0,
560
- userAgent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64)",
561
- },
562
- writable: true,
563
- });
564
- expect(isMobileOrTablet()).toBe(false);
565
- });
566
- });
567
- describe("ic-select native", () => {
568
- beforeEach(() => {
569
- Object.defineProperty(helpers, "isMobileOrTablet", {
570
- value: jest.fn().mockReturnValue(true),
571
- });
572
- });
573
- afterEach(() => {
574
- Object.defineProperty(helpers, "isMobileOrTablet", {
575
- value: jest.fn().mockReturnValue(false),
576
- });
577
- });
578
- it("should test native select", async () => {
579
- const page = await newSpecPage({
580
- components: [Select],
581
- html: `<ic-select label="IC Select Test"></ic-select>`,
582
- });
583
- page.root.options = menuOptions;
584
- page.root.label = "New label";
585
- await page.waitForChanges();
586
- page.root.setFocus();
587
- await page.waitForChanges();
588
- expect(page.root).toMatchSnapshot("native-select");
589
- });
590
- it("should test native select with groups", async () => {
591
- const page = await newSpecPage({
592
- components: [Select],
593
- html: `<ic-select label="IC Select Test"></ic-select>`,
594
- });
595
- page.root.options = menuOptionsWithGroups;
596
- page.root.label = "New label";
597
- await page.waitForChanges();
598
- page.root.setFocus();
599
- await page.waitForChanges();
600
- expect(page.root).toMatchSnapshot("native-select-with-groups");
601
- let eventSpy = jest.fn();
602
- page.win.addEventListener("icBlur", eventSpy);
603
- const select = page.root.shadowRoot.querySelector("select");
604
- select.blur();
605
- await page.waitForChanges();
606
- expect(eventSpy).toHaveBeenCalled();
607
- eventSpy = jest.fn();
608
- page.win.addEventListener("icChange", eventSpy);
609
- const event = new Event("change", {
610
- bubbles: true,
611
- cancelable: true,
612
- });
613
- page.rootInstance.nativeSelectElement.selectedIndex = 0;
614
- select.dispatchEvent(event);
615
- await page.waitForChanges();
616
- //delay to wait for aria live update
617
- await waitForTimeout(900);
618
- expect(eventSpy).toHaveBeenCalled();
619
- });
620
- it("should test native select keydown", async () => {
621
- const page = await newSpecPage({
622
- components: [Select],
623
- html: `<ic-select label="IC Select Test"></ic-select>`,
624
- });
625
- page.root.options = menuOptions;
626
- page.root.setFocus();
627
- await page.waitForChanges();
628
- await page.rootInstance.handleNativeSelectKeyDown({
629
- key: "ArrowDown",
630
- preventDefault: () => null,
631
- });
632
- await page.waitForChanges();
633
- expect(page.rootInstance.open).toBeFalsy;
634
- });
635
- it("should update any attributes that are inherited from the root element", async () => {
636
- const page = await newSpecPage({
637
- components: [Select],
638
- html: `<ic-select label="IC Select Test"></ic-select>`,
639
- });
640
- expect(page.root.shadowRoot.querySelector("select").getAttribute("title")).toBeNull();
641
- page.root.setAttribute("title", "new-label");
642
- page.rootInstance.hostMutationCallback([{ attributeName: "title" }]);
643
- await page.waitForChanges();
644
- expect(page.root.shadowRoot.querySelector("select").getAttribute("title")).toBe("new-label");
645
- });
646
- });
647
- describe("ic-select searchable", () => {
648
- it("should render as required", async () => {
649
- const page = await newSpecPage({
650
- components: [Select, Menu, InputComponentContainer],
651
- html: getTestSelect('required="true" searchable="true"'),
652
- });
653
- expect(page.root).toMatchSnapshot("required-searchable");
654
- });
655
- it("should test with clear button with searchable", async () => {
656
- const page = await newSpecPage({
657
- components: [Select, Menu, InputComponentContainer, Button],
658
- html: `<ic-select label="IC Select Test" searchable="true"></ic-select>`,
659
- });
660
- page.root.options = menuOptions;
661
- page.rootInstance.searchableSelectInputValue = "test value";
662
- await page.waitForChanges();
663
- const clearButton = page.root.shadowRoot.querySelector(clearButtonId);
664
- clearButton.focus();
665
- await page.waitForChanges();
666
- expect(page.rootInstance.clearButtonFocused).toBe(true);
667
- clearButton.blur();
668
- await page.waitForChanges();
669
- expect(page.rootInstance.clearButtonFocused).toBe(false);
670
- clearButton.click();
671
- await page.waitForChanges();
672
- expect(page.rootInstance.searchableSelectInputValue).toBeNull;
673
- });
674
- it("should test keydown handler searchable", async () => {
675
- const page = await newSpecPage({
676
- components: [Select, Menu, InputComponentContainer],
677
- html: `<ic-select label="IC Select Test" searchable="true"></ic-select>`,
678
- });
679
- jest.spyOn(page.rootInstance, "setFocus").mockImplementation();
680
- page.root.options = menuOptions;
681
- await page.waitForChanges();
682
- await page.root.setFocus();
683
- await page.waitForChanges();
684
- await page.rootInstance.handleKeyDown({
685
- key: "ArrowDown",
686
- preventDefault: () => null,
687
- });
688
- await page.waitForChanges();
689
- const menu = page.root.shadowRoot.querySelector("ic-menu");
690
- expect(menu.options).toEqual(menuOptions);
691
- expect(page.rootInstance.open).toBeTruthy;
692
- await page.waitForChanges();
693
- await page.rootInstance.handleKeyDown({
694
- key: "Enter",
695
- preventDefault: () => null,
696
- });
697
- await page.waitForChanges();
698
- expect(page.rootInstance.open).toBeFalsy;
699
- page.rootInstance.open = true;
700
- page.rootInstance.noOptions = true;
701
- await page.waitForChanges();
702
- await page.rootInstance.handleKeyDown({
703
- key: "Ctrl",
704
- preventDefault: () => null,
705
- });
706
- await page.waitForChanges();
707
- expect(page.rootInstance.setFocus).toHaveBeenCalledTimes(2);
708
- page.rootInstance.open = true;
709
- page.rootInstance.noOptions = true;
710
- await page.waitForChanges();
711
- await page.rootInstance.handleKeyDown({
712
- key: "Backspace",
713
- preventDefault: () => null,
714
- });
715
- await page.waitForChanges();
716
- expect(page.rootInstance.setFocus).toHaveBeenCalledTimes(3);
717
- });
718
- it("should test keydown on menu - arrow up (searchable)", async () => {
719
- const page = await newSpecPage({
720
- components: [Select, Menu, InputComponentContainer],
721
- html: `<ic-select label="IC Select Test" searchable="true"></ic-select>`,
722
- });
723
- page.root.options = menuOptions;
724
- page.root.value = value2;
725
- await page.waitForChanges();
726
- const list = page.root.shadowRoot.querySelector(menuUl);
727
- list.dispatchEvent(new window.window.KeyboardEvent("keydown", {
728
- key: "ArrowUp",
729
- bubbles: true,
730
- cancelable: true,
731
- }));
732
- await page.waitForChanges();
733
- const input = page.root.shadowRoot.querySelector("input");
734
- expect(input.value).toBe(label2);
735
- expect(page.rootInstance.open).toBeTruthy;
736
- });
737
- it("should test keydown on menu - arrow up wrap around (searchable)", async () => {
738
- const page = await newSpecPage({
739
- components: [Select, Menu, InputComponentContainer],
740
- html: `<ic-select label="IC Select Test" searchable="true"></ic-select>`,
741
- });
742
- page.root.options = menuOptions;
743
- page.rootInstance.open = true;
744
- await page.waitForChanges();
745
- page.root.value = value1;
746
- await page.waitForChanges();
747
- const list = page.root.shadowRoot.querySelector(menuUl);
748
- list.dispatchEvent(new window.window.KeyboardEvent("keydown", {
749
- key: "ArrowUp",
750
- bubbles: true,
751
- cancelable: true,
752
- }));
753
- await page.waitForChanges();
754
- const input = page.root.shadowRoot.querySelector("input");
755
- expect(input.value).toBe(label1);
756
- });
757
- it("should test keydown on menu - arrow down", async () => {
758
- const page = await newSpecPage({
759
- components: [Select, Menu, InputComponentContainer],
760
- html: `<ic-select label="IC Select Test" searchable="true"></ic-select>`,
761
- });
762
- page.root.options = menuOptions;
763
- page.rootInstance.open = true;
764
- await page.waitForChanges();
765
- page.root.value = value1;
766
- await page.waitForChanges();
767
- const list = page.root.shadowRoot.querySelector(menuUl);
768
- list.dispatchEvent(new window.window.KeyboardEvent("keydown", {
769
- key: "ArrowDown",
770
- bubbles: true,
771
- cancelable: true,
772
- }));
773
- await page.waitForChanges();
774
- const input = page.root.shadowRoot.querySelector("input");
775
- expect(input.value).toBe(label1);
776
- });
777
- it("should test keydown on menu - arrow down wrap around", async () => {
778
- const page = await newSpecPage({
779
- components: [Select, Menu, InputComponentContainer],
780
- html: `<ic-select label="IC Select Test" searchable="true"></ic-select>`,
781
- });
782
- page.root.options = menuOptions;
783
- page.rootInstance.open = true;
784
- await page.waitForChanges();
785
- page.root.value = value3;
786
- await page.waitForChanges();
787
- const list = page.root.shadowRoot.querySelector(menuUl);
788
- list.dispatchEvent(new window.window.KeyboardEvent("keydown", {
789
- key: "ArrowDown",
790
- bubbles: true,
791
- cancelable: true,
792
- }));
793
- await page.waitForChanges();
794
- const input = page.root.shadowRoot.querySelector("input");
795
- expect(input.value).toBe(label3);
796
- });
797
- it("should test keydown on menu - home key", async () => {
798
- const page = await newSpecPage({
799
- components: [Select, Menu, InputComponentContainer],
800
- html: `<ic-select label="IC Select Test" searchable="true"></ic-select>`,
801
- });
802
- page.root.options = menuOptions;
803
- page.rootInstance.open = true;
804
- await page.waitForChanges();
805
- page.root.value = value3;
806
- await page.waitForChanges();
807
- const list = page.root.shadowRoot.querySelector(menuUl);
808
- list.dispatchEvent(new window.window.KeyboardEvent("keydown", {
809
- key: "Home",
810
- bubbles: true,
811
- cancelable: true,
812
- }));
813
- expect(page.rootInstance.open).toBeTruthy;
814
- });
815
- it("should test keydown on menu - end key", async () => {
816
- const page = await newSpecPage({
817
- components: [Select, Menu, InputComponentContainer],
818
- html: `<ic-select label="IC Select Test" searchable="true"></ic-select>`,
819
- });
820
- page.root.options = menuOptions;
821
- page.root.value = value1;
822
- await page.waitForChanges();
823
- const list = page.root.shadowRoot.querySelector(menuUl);
824
- list.dispatchEvent(new window.window.KeyboardEvent("keydown", {
825
- key: "End",
826
- bubbles: true,
827
- cancelable: true,
828
- }));
829
- await page.waitForChanges();
830
- const input = page.root.shadowRoot.querySelector("input");
831
- expect(input.value).toBe(label1);
832
- expect(page.rootInstance.open).toBeTruthy;
833
- });
834
- it("should test keydown on menu - backspace key", async () => {
835
- const page = await newSpecPage({
836
- components: [Select, Menu, InputComponentContainer],
837
- html: `<ic-select label="IC Select Test" searchable="true"></ic-select>`,
838
- });
839
- page.root.options = menuOptions;
840
- page.rootInstance.open = true;
841
- await page.waitForChanges();
842
- page.root.value = value3;
843
- await page.waitForChanges();
844
- const list = page.root.shadowRoot.querySelector(menuUl);
845
- list.dispatchEvent(new window.window.KeyboardEvent("keydown", {
846
- key: "Backspace",
847
- bubbles: true,
848
- cancelable: true,
849
- }));
850
- await page.waitForChanges();
851
- const input = page.root.shadowRoot.querySelector("input");
852
- expect(input.value).toBe(label3);
853
- });
854
- it("should test keydown on menu - enter key", async () => {
855
- const page = await newSpecPage({
856
- components: [Select, Menu, InputComponentContainer],
857
- html: `<ic-select label="IC Select Test" searchable="true"></ic-select>`,
858
- });
859
- page.root.options = menuOptions;
860
- page.rootInstance.open = true;
861
- await page.waitForChanges();
862
- page.root.value = value3;
863
- await page.waitForChanges();
864
- const list = page.root.shadowRoot.querySelector(menuUl);
865
- list.dispatchEvent(new window.window.KeyboardEvent("keydown", {
866
- key: "ArrowDown",
867
- bubbles: true,
868
- cancelable: true,
869
- }));
870
- list.dispatchEvent(new window.window.KeyboardEvent("keydown", {
871
- key: "Enter",
872
- bubbles: true,
873
- cancelable: true,
874
- }));
875
- await page.waitForChanges();
876
- const input = page.root.shadowRoot.querySelector("input");
877
- expect(input.value).toBe(label1);
878
- input.click();
879
- await page.waitForChanges();
880
- expect(page.rootInstance.filteredOptions).toHaveLength(3);
881
- });
882
- it("should test keydown on menu - space key", async () => {
883
- const page = await newSpecPage({
884
- components: [Select, Menu, InputComponentContainer],
885
- html: `<ic-select label="IC Select Test" searchable="true"></ic-select>`,
886
- });
887
- page.root.options = menuOptions;
888
- page.rootInstance.open = true;
889
- await page.waitForChanges();
890
- const list = page.root.shadowRoot.querySelector(menuUl);
891
- list.dispatchEvent(new window.window.KeyboardEvent("keydown", {
892
- key: " ",
893
- bubbles: true,
894
- cancelable: true,
895
- }));
896
- await page.waitForChanges();
897
- expect(page.rootInstance.open).toBe(true);
898
- });
899
- it("should test keydown on menu - other key", async () => {
900
- const page = await newSpecPage({
901
- components: [Select, Menu, InputComponentContainer],
902
- html: `<ic-select label="IC Select Test" searchable="true"></ic-select>`,
903
- });
904
- page.root.options = menuOptions;
905
- page.rootInstance.open = true;
906
- await page.waitForChanges();
907
- page.root.value = value2;
908
- await page.waitForChanges();
909
- const list = page.root.shadowRoot.querySelector(menuUl);
910
- list.dispatchEvent(new window.window.KeyboardEvent("keydown", {
911
- key: "Ctrl",
912
- bubbles: true,
913
- cancelable: true,
914
- }));
915
- await page.waitForChanges();
916
- const input = page.root.shadowRoot.querySelector("input");
917
- expect(input.value).toBe(label2);
918
- });
919
- it("should test keyup on menu list", async () => {
920
- const page = await newSpecPage({
921
- components: [Select, Menu, InputComponentContainer],
922
- html: `<ic-select label="IC Select Test" searchable="true"></ic-select>`,
923
- });
924
- page.root.options = menuOptions;
925
- page.rootInstance.open = true;
926
- await page.waitForChanges();
927
- page.root.value = value2;
928
- await page.waitForChanges();
929
- const list = page.root.shadowRoot.querySelector(menuUl);
930
- list.dispatchEvent(new window.window.KeyboardEvent("keyup", {
931
- key: "Tab",
932
- shiftKey: true,
933
- bubbles: true,
934
- cancelable: true,
935
- }));
936
- await page.waitForChanges();
937
- const input = page.root.shadowRoot.querySelector("input");
938
- expect(input.value).toBe(label2);
939
- });
940
- it("should test click on input", async () => {
941
- const page = await newSpecPage({
942
- components: [Select, Menu, InputComponentContainer],
943
- html: `<ic-select label="IC Select Test" searchable="true"></ic-select>`,
944
- });
945
- page.root.options = menuOptions;
946
- await page.waitForChanges();
947
- const input = page.root.shadowRoot.querySelector("input");
948
- input.click();
949
- await page.waitForChanges();
950
- expect(page.rootInstance.open).toBe(true);
951
- });
952
- it("should test click on input with external filtering", async () => {
953
- const page = await newSpecPage({
954
- components: [Select, Menu, InputComponentContainer],
955
- html: `<ic-select label="IC Select Test" searchable="true" disable-auto-filtering="true"></ic-select>`,
956
- });
957
- page.root.options = menuOptions;
958
- await page.waitForChanges();
959
- const input = page.root.shadowRoot.querySelector("input");
960
- input.click();
961
- await page.waitForChanges();
962
- expect(page.rootInstance.open).toBe(true);
963
- });
964
- it("should test blur on searchable input", async () => {
965
- const page = await newSpecPage({
966
- components: [Select, Menu, InputComponentContainer],
967
- html: `<ic-select label="IC Select Test" searchable="true"></ic-select>`,
968
- });
969
- page.root.options = menuOptions;
970
- await page.waitForChanges();
971
- const eventSpy = jest.fn();
972
- page.win.addEventListener("icBlur", eventSpy);
973
- const input = page.root.shadowRoot.querySelector("input");
974
- input.blur();
975
- await page.waitForChanges();
976
- expect(eventSpy).toHaveBeenCalled();
977
- });
978
- it("should test blur on searchable input where target is an element of the menu but not a menu option", async () => {
979
- const page = await newSpecPage({
980
- components: [Select, Menu, InputComponentContainer],
981
- html: `<ic-select label="IC Select Test" searchable="true"></ic-select>`,
982
- });
983
- page.root.options = menuOptions;
984
- await page.waitForChanges();
985
- const target = page.root.shadowRoot.querySelector("ul.menu");
986
- const event = new FocusEvent("blur", {
987
- bubbles: true,
988
- cancelable: true,
989
- relatedTarget: target,
990
- });
991
- const eventSpy = jest.fn();
992
- page.win.addEventListener("icBlur", eventSpy);
993
- await page.rootInstance.onBlur(event);
994
- await page.waitForChanges();
995
- expect(eventSpy).not.toHaveBeenCalled();
996
- });
997
- it("should clear the input text on blur when an option is not selected", async () => {
998
- const page = await newSpecPage({
999
- components: [Select, Menu, InputComponentContainer],
1000
- html: `<ic-select label="IC Select Test" searchable="true"></ic-select>`,
1001
- });
1002
- page.root.options = menuOptions;
1003
- page.rootInstance.searchableSelectInputValue = "aaa";
1004
- page.rootInstance.value = null;
1005
- await page.waitForChanges();
1006
- const event = new FocusEvent("blur");
1007
- await page.rootInstance.onBlur(event);
1008
- await page.waitForChanges();
1009
- expect(page.rootInstance.searchableSelectInputValue).toBe(null);
1010
- });
1011
- it("should not clear the input text on blur when an option is selected", async () => {
1012
- const page = await newSpecPage({
1013
- components: [Select, Menu, InputComponentContainer],
1014
- html: `<ic-select label="IC Select Test" searchable="true"></ic-select>`,
1015
- });
1016
- page.root.options = menuOptions;
1017
- const event = new FocusEvent("blur");
1018
- page.rootInstance.searchableSelectInputValue = label1;
1019
- page.rootInstance.value = value1;
1020
- await page.waitForChanges();
1021
- await page.rootInstance.onBlur(event);
1022
- await page.waitForChanges();
1023
- expect(page.rootInstance.searchableSelectInputValue).toBe(label1);
1024
- });
1025
- it("should test searchable input", async () => {
1026
- const page = await newSpecPage({
1027
- components: [Select, Menu, InputComponentContainer],
1028
- html: `<ic-select label="IC Select Test" searchable="true"></ic-select>`,
1029
- });
1030
- page.root.options = menuOptions;
1031
- await page.waitForChanges();
1032
- const event = new Event("input", {
1033
- bubbles: true,
1034
- cancelable: true,
1035
- });
1036
- const input = page.root.shadowRoot.querySelector("input");
1037
- page.rootInstance.searchableSelectInputValue = testValue;
1038
- input.dispatchEvent(event);
1039
- await page.waitForChanges();
1040
- //delay to wait for aria live update
1041
- await waitForTimeout(900);
1042
- expect(page.rootInstance.open).toBe(true);
1043
- page.rootInstance.searchableSelectInputValue = "";
1044
- await page.waitForChanges();
1045
- input.dispatchEvent(event);
1046
- await page.waitForChanges();
1047
- //delay to wait for aria live update
1048
- await waitForTimeout(900);
1049
- expect(page.rootInstance.open).toBe(true);
1050
- page.root.options = [];
1051
- await page.waitForChanges();
1052
- page.rootInstance.searchableSelectInputValue = "";
1053
- input.dispatchEvent(event);
1054
- await page.waitForChanges();
1055
- //delay to wait for aria live update
1056
- await waitForTimeout(900);
1057
- expect(page.rootInstance.open).toBe(true);
1058
- });
1059
- it("should test searchable input filtering", async () => {
1060
- const page = await newSpecPage({
1061
- components: [Select, Menu, InputComponentContainer],
1062
- html: `<ic-select label="IC Select Test" searchable="true"></ic-select>`,
1063
- });
1064
- page.root.options = menuOptionsWithDescriptions;
1065
- page.rootInstance.searchableSelectInputValue = "c";
1066
- await page.waitForChanges();
1067
- const input = page.root.shadowRoot.querySelector("input");
1068
- const event = new Event("input", {
1069
- bubbles: true,
1070
- cancelable: true,
1071
- });
1072
- input.dispatchEvent(event);
1073
- await page.waitForChanges();
1074
- //delay to wait for aria live update
1075
- await waitForTimeout(900);
1076
- expect(page.rootInstance.filteredOptions.length).toBe(2);
1077
- });
1078
- it("should test searchable input - with search match position set to start", async () => {
1079
- const page = await newSpecPage({
1080
- components: [Select, Menu, InputComponentContainer],
1081
- html: `<ic-select label="IC Select Test" searchable="true" search-match-position="start"></ic-select>`,
1082
- });
1083
- page.root.options = menuOptionsWithDescriptions;
1084
- page.rootInstance.searchableSelectInputValue = "c";
1085
- await page.waitForChanges();
1086
- const input = page.root.shadowRoot.querySelector("input");
1087
- const event = new Event("input", {
1088
- bubbles: true,
1089
- cancelable: true,
1090
- });
1091
- input.dispatchEvent(event);
1092
- await page.waitForChanges();
1093
- //delay to wait for aria live update
1094
- await waitForTimeout(900);
1095
- expect(page.rootInstance.filteredOptions.length).toBe(1);
1096
- });
1097
- it("should test searchable input - with descriptions and descriptions included in search", async () => {
1098
- const page = await newSpecPage({
1099
- components: [Select, Menu, InputComponentContainer],
1100
- html: `<ic-select label="IC Select Test" searchable="true" include-descriptions-in-search="true"></ic-select>`,
1101
- });
1102
- page.root.options = menuOptionsWithDescriptions;
1103
- page.rootInstance.searchableSelectInputValue = "Test description 2";
1104
- await page.waitForChanges();
1105
- const input = page.root.shadowRoot.querySelector("input");
1106
- const event = new Event("input", {
1107
- bubbles: true,
1108
- cancelable: true,
1109
- });
1110
- input.dispatchEvent(event);
1111
- await page.waitForChanges();
1112
- //delay to wait for aria live update
1113
- await waitForTimeout(900);
1114
- expect(page.rootInstance.filteredOptions).not.toBeNull;
1115
- });
1116
- it("should test searchable input - with search match position set to start and descriptions included in search", async () => {
1117
- const page = await newSpecPage({
1118
- components: [Select, Menu, InputComponentContainer],
1119
- html: `<ic-select label="IC Select Test" searchable="true" search-match-position="start" include-descriptions-in-search="true"></ic-select>`,
1120
- });
1121
- page.root.options = menuOptionsWithDescriptions;
1122
- page.rootInstance.searchableSelectInputValue = "e";
1123
- await page.waitForChanges();
1124
- const input = page.root.shadowRoot.querySelector("input");
1125
- const event = new Event("input", {
1126
- bubbles: true,
1127
- cancelable: true,
1128
- });
1129
- input.dispatchEvent(event);
1130
- await page.waitForChanges();
1131
- //delay to wait for aria live update
1132
- await waitForTimeout(900);
1133
- expect(page.rootInstance.filteredOptions.length).toBe(1);
1134
- });
1135
- it("should test searchable input - with groups", async () => {
1136
- const page = await newSpecPage({
1137
- components: [Select, Menu, InputComponentContainer],
1138
- html: `<ic-select label="IC Select Test" searchable="true"></ic-select>`,
1139
- });
1140
- page.root.options = menuOptionsWithGroups;
1141
- page.rootInstance.searchableSelectInputValue = "Latte";
1142
- await page.waitForChanges();
1143
- const input = page.root.shadowRoot.querySelector("input");
1144
- const event = new Event("input", {
1145
- bubbles: true,
1146
- cancelable: true,
1147
- });
1148
- input.dispatchEvent(event);
1149
- await page.waitForChanges();
1150
- //delay to wait for aria live update
1151
- await waitForTimeout(900);
1152
- expect(page.rootInstance.filteredOptions).not.toBeNull;
1153
- });
1154
- it("should test searchable input - with groups and group titles included in search", async () => {
1155
- const page = await newSpecPage({
1156
- components: [Select, Menu, InputComponentContainer],
1157
- html: `<ic-select label="IC Select Test" searchable="true" include-group-titles-in-search="true"></ic-select>`,
1158
- });
1159
- page.root.options = menuOptionsWithGroups;
1160
- page.rootInstance.searchableSelectInputValue = "Fancy";
1161
- await page.waitForChanges();
1162
- const input = page.root.shadowRoot.querySelector("input");
1163
- const event = new Event("input", {
1164
- bubbles: true,
1165
- cancelable: true,
1166
- });
1167
- input.dispatchEvent(event);
1168
- await page.waitForChanges();
1169
- //delay to wait for aria live update
1170
- await waitForTimeout(900);
1171
- expect(page.rootInstance.filteredOptions).not.toBeNull;
1172
- });
1173
- it("should test selectchange on no result found entry", async () => {
1174
- const page = await newSpecPage({
1175
- components: [Select, Menu, InputComponentContainer],
1176
- html: `<ic-select label="IC Select Test" searchable="true"></ic-select>`,
1177
- });
1178
- page.root.options = menuOptions;
1179
- page.rootInstance.open = true;
1180
- page.rootInstance.searchableSelectInputValue = testValue;
1181
- await page.waitForChanges();
1182
- page.rootInstance.handleCustomSelectChange({
1183
- detail: {
1184
- label: noResults,
1185
- },
1186
- });
1187
- await page.waitForChanges();
1188
- expect(page.rootInstance.searchableSelectInputValue).toBe(testValue);
1189
- });
1190
- it("should test dropdown icon mousedown handler", async () => {
1191
- const page = await newSpecPage({
1192
- components: [Select, Menu, InputComponentContainer],
1193
- html: `<ic-select label="IC Select Test" searchable="true"></ic-select>`,
1194
- });
1195
- page.root.options = menuOptions;
1196
- page.rootInstance.handleExpandIconMouseDown({
1197
- detail: "some value",
1198
- preventDefault: () => null,
1199
- });
1200
- await page.waitForChanges();
1201
- expect(page.rootInstance.open).toBe(true);
1202
- });
1203
- it("should test form reset event", async () => {
1204
- const page = await newSpecPage({
1205
- components: [Select, Menu],
1206
- html: `<form>
1207
- <ic-select label="IC Select Test" searchable="true"></ic-select>
1208
- <button id="resetButton" type="reset">Reset</button>
1209
- </form>`,
1210
- });
1211
- expect(page.rootInstance.searchableSelectInputValue).toBe(null);
1212
- page.rootInstance.searchableSelectInputValue = testValue;
1213
- await page.waitForChanges();
1214
- expect(page.rootInstance.searchableSelectInputValue).toBe(testValue);
1215
- await page.rootInstance.handleFormReset();
1216
- await page.waitForChanges();
1217
- expect(page.rootInstance.searchableSelectInputValue).toBe(null);
1218
- });
1219
- it("should test debounce change", async () => {
1220
- const page = await newSpecPage({
1221
- components: [Select, Menu, InputComponentContainer],
1222
- html: `<ic-select label="IC Select Test" searchable="true" disable-auto-filtering="true" debounce="300"></ic-select>`,
1223
- });
1224
- await page.waitForChanges();
1225
- expect(page.rootInstance.currDebounce).toBe(300);
1226
- page.root.debounce = 500;
1227
- await page.waitForChanges();
1228
- expect(page.rootInstance.currDebounce).toBe(500);
1229
- });
1230
- it("should test no results state when no options passed and filtering disabled", async () => {
1231
- const page = await newSpecPage({
1232
- components: [Select, Menu, InputComponentContainer],
1233
- html: `<ic-select label="IC Select Test" searchable="true" disable-auto-filtering="true" debounce="300"></ic-select>`,
1234
- });
1235
- page.root.options = menuOptions;
1236
- page.rootInstance.searchableSelectInputValue = "test";
1237
- await page.waitForChanges();
1238
- const input = page.root.shadowRoot.querySelector("input");
1239
- const event = new Event("input", {
1240
- bubbles: true,
1241
- cancelable: true,
1242
- });
1243
- input.dispatchEvent(event);
1244
- await page.waitForChanges();
1245
- page.root.options = [];
1246
- await page.waitForChanges();
1247
- expect(page.rootInstance.filteredOptions).toHaveLength(1);
1248
- expect(page.rootInstance.filteredOptions[0].label).toEqual(noResults);
1249
- expect(page.rootInstance.open).toBe(true);
1250
- input.click();
1251
- await page.waitForChanges();
1252
- expect(page.rootInstance.open).toBe(false);
1253
- page.root.options = menuOptions;
1254
- await page.waitForChanges();
1255
- });
1256
- it("should test menu opens and closes when enter pressed - external filtering", async () => {
1257
- const page = await newSpecPage({
1258
- components: [Select, Menu, InputComponentContainer],
1259
- html: `<ic-select label="IC Select Test" searchable="true" disable-auto-filtering="true" debounce="300"></ic-select>`,
1260
- });
1261
- page.root.options = [];
1262
- page.rootInstance.searchableSelectInputValue = "test";
1263
- await page.waitForChanges();
1264
- const input = page.root.shadowRoot.querySelector("input");
1265
- const event = new Event("input", {
1266
- bubbles: true,
1267
- cancelable: true,
1268
- });
1269
- input.dispatchEvent(event);
1270
- await page.waitForChanges();
1271
- //test menu displays when Enter pressed
1272
- input.focus();
1273
- await page.waitForChanges();
1274
- await page.rootInstance.handleKeyDown({
1275
- key: "Enter",
1276
- preventDefault: () => null,
1277
- });
1278
- await page.waitForChanges();
1279
- expect(page.rootInstance.open).toBe(false);
1280
- await page.rootInstance.handleKeyDown({
1281
- key: "Enter",
1282
- target: { id: "test-event-id" },
1283
- preventDefault: () => null,
1284
- });
1285
- await page.waitForChanges();
1286
- expect(page.rootInstance.open).toBe(false);
1287
- });
1288
- it("should test adding and removing form reset listener on connect and disconnect", async () => {
1289
- const page = await newSpecPage({
1290
- components: [Select, Menu],
1291
- html: `<form>
1292
- <ic-select label="IC Select Test" searchable="true"></ic-select>
1293
- <button id="resetButton" type="reset">Reset</button>
1294
- </form>`,
1295
- });
1296
- const addSpy = jest.spyOn(page.root, "addEventListener");
1297
- const removeSpy = jest.spyOn(page.root, "removeEventListener");
1298
- expect(addSpy).toHaveBeenCalled;
1299
- page.setContent("");
1300
- await page.waitForChanges();
1301
- expect(removeSpy).toHaveBeenCalled;
1302
- });
1303
- it("should set the default value of searchable as custom value when not matching options", async () => {
1304
- const page = await newSpecPage({
1305
- components: [Select, Menu, InputComponentContainer],
1306
- html: `<ic-select label='Select test' searchable='true' value='Test value 01'></ic-select>`,
1307
- });
1308
- page.root.options = [];
1309
- await page.waitForChanges();
1310
- expect(page.rootInstance.searchableSelectInputValue).toBe("Test value 01");
1311
- const input = page.root.shadowRoot.querySelector("input");
1312
- expect(input.value).toBe("Test value 01");
1313
- });
1314
- it("should set the default value of searchable as option label if matching label/value exists", async () => {
1315
- const page = await newSpecPage({
1316
- components: [Select, Menu, InputComponentContainer],
1317
- template: () => (h("ic-select", { label: "select test", searchable: true, options: menuOptions, value: value1 })),
1318
- });
1319
- expect(page.rootInstance.searchableSelectInputValue).toBe(label1);
1320
- const input = page.root.shadowRoot.querySelector("input");
1321
- expect(input.value).toBe(label1);
1322
- });
1323
- it("should set the default value of searchable as option label when options initially set to [] then populated", async () => {
1324
- const page = await newSpecPage({
1325
- components: [Select, Menu, InputComponentContainer],
1326
- template: () => (h("ic-select", { label: "select test", searchable: true, options: [], value: value1 })),
1327
- });
1328
- page.root.options = menuOptions;
1329
- await page.waitForChanges();
1330
- expect(page.rootInstance.searchableSelectInputValue).toBe(label1);
1331
- const input = page.root.shadowRoot.querySelector("input");
1332
- expect(input.value).toBe(label1);
1333
- });
1334
- it("should set the default value to custom value when options initially set to [] then set to [] again", async () => {
1335
- const page = await newSpecPage({
1336
- components: [Select, Menu, InputComponentContainer],
1337
- template: () => (h("ic-select", { label: "select test", searchable: true, options: [], value: value1 })),
1338
- });
1339
- page.root.options = [];
1340
- await page.waitForChanges();
1341
- expect(page.rootInstance.searchableSelectInputValue).toBe(value1);
1342
- const input = page.root.shadowRoot.querySelector("input");
1343
- expect(input.value).toBe(value1);
1344
- });
1345
- it("should set the default value of searchable only when value is not null", async () => {
1346
- const page = await newSpecPage({
1347
- components: [Select, Menu, InputComponentContainer],
1348
- html: `<ic-select label="IC Select Test" searchable="true"></ic-select>`,
1349
- });
1350
- page.root.options = menuOptions;
1351
- page.root.value = null;
1352
- await page.waitForChanges();
1353
- expect(page.rootInstance.searchableSelectInputValue).toBe(null);
1354
- page.root.value = value1;
1355
- await page.waitForChanges();
1356
- expect(page.rootInstance.searchableSelectInputValue).toBe(label1);
1357
- });
1358
- it("should test loading state and timeout for searchable select with external filtering", async () => {
1359
- const page = await newSpecPage({
1360
- components: [Select, Menu, InputComponentContainer],
1361
- html: `<ic-select label="IC Select Test" searchable="true" disable-auto-filtering="true" debounce="300" timeout="1000"></ic-select>`,
1362
- });
1363
- page.rootInstance.searchableSelectInputValue = "test";
1364
- await page.waitForChanges();
1365
- const input = page.root.shadowRoot.querySelector("input");
1366
- const event = new Event("input", {
1367
- bubbles: true,
1368
- cancelable: true,
1369
- });
1370
- input.dispatchEvent(event);
1371
- page.rootInstance.loading = true;
1372
- await page.waitForChanges();
1373
- expect(page.rootInstance.filteredOptions[0].label).toEqual(loadingLabel);
1374
- await waitForTimeout(1000);
1375
- expect(page.rootInstance.filteredOptions[0].label).toEqual(loadingErrorLabel);
1376
- await page.waitForChanges();
1377
- const retryButton = page.root.shadowRoot
1378
- .querySelector("ic-menu")
1379
- .querySelector(retryButtonId);
1380
- retryButton.click();
1381
- page.rootInstance.loading = true;
1382
- await page.waitForChanges();
1383
- expect(page.rootInstance.filteredOptions[0].label).toEqual(loadingLabel);
1384
- page.root.options = [];
1385
- await page.waitForChanges();
1386
- expect(page.rootInstance.filteredOptions[0].label).toEqual(noResults);
1387
- });
1388
- it("should focus the input when escape is pressed whilst the menu is focused (searchable)", async () => {
1389
- const spy = jest.spyOn(HTMLInputElement.prototype, "focus");
1390
- const page = await newSpecPage({
1391
- components: [Select, Menu, InputComponentContainer],
1392
- html: `<ic-select label="IC Select Test" searchable="true"></ic-select>`,
1393
- });
1394
- page.root.options = menuOptions;
1395
- page.rootInstance.open = true;
1396
- await page.waitForChanges();
1397
- const list = page.root.shadowRoot.querySelector(menuUl);
1398
- list.dispatchEvent(new window.window.KeyboardEvent("keydown", {
1399
- key: "Escape",
1400
- bubbles: true,
1401
- cancelable: true,
1402
- }));
1403
- await page.waitForChanges();
1404
- expect(page.rootInstance.open).toBeFalsy();
1405
- expect(spy).toHaveBeenCalled();
1406
- });
1407
- it("should test keydown on loading retry button", async () => {
1408
- const page = await newSpecPage({
1409
- components: [Select, Menu, InputComponentContainer],
1410
- html: `<ic-select label="IC Select Test" searchable="true" disable-auto-filtering="true" debounce="300" timeout="1000"></ic-select>`,
1411
- });
1412
- const input = page.root.shadowRoot.querySelector("input");
1413
- const spy = jest.spyOn(input, "focus");
1414
- page.rootInstance.searchableSelectInputValue = "test";
1415
- await page.waitForChanges();
1416
- let event = new Event("input", {
1417
- bubbles: true,
1418
- cancelable: true,
1419
- });
1420
- input.dispatchEvent(event);
1421
- page.rootInstance.loading = true;
1422
- await page.waitForChanges();
1423
- await waitForTimeout(1000);
1424
- await page.waitForChanges();
1425
- event = new KeyboardEvent("keyDown", {
1426
- key: "Enter",
1427
- });
1428
- const retryButton = page.root.shadowRoot
1429
- .querySelector("ic-menu")
1430
- .querySelector(retryButtonId);
1431
- retryButton.dispatchEvent(event);
1432
- expect(spy).toHaveBeenCalled;
1433
- });
1434
- it("should stop the timeout if clear button is clicked before timeout", async () => {
1435
- const page = await newSpecPage({
1436
- components: [Select, Menu, InputComponentContainer],
1437
- html: `<ic-select label="IC Select Test" searchable="true" timeout="1000"></ic-select>`,
1438
- });
1439
- page.rootInstance.searchableSelectInputValue = "test";
1440
- await page.waitForChanges();
1441
- const event = new Event("input", {
1442
- bubbles: true,
1443
- cancelable: true,
1444
- });
1445
- const input = page.root.shadowRoot.querySelector("input");
1446
- input.dispatchEvent(event);
1447
- page.rootInstance.loading = true;
1448
- await page.waitForChanges();
1449
- expect(page.rootInstance.filteredOptions).toHaveLength(1);
1450
- const clearButton = page.root.shadowRoot.querySelector(clearButtonId);
1451
- clearButton.click();
1452
- await page.waitForChanges();
1453
- expect(page.rootInstance.filteredOptions).toHaveLength(1);
1454
- expect(page.rootInstance.filteredOptions[0]).toMatchObject({
1455
- label: noResults,
1456
- value: "",
1457
- });
1458
- await waitForTimeout(1000);
1459
- expect(page.rootInstance.filteredOptions).toHaveLength(1);
1460
- expect(page.rootInstance.filteredOptions[0]).toMatchObject({
1461
- label: noResults,
1462
- value: "",
1463
- });
1464
- });
1465
- it("should clear the searchable input if the value is programmatically set to undefined", async () => {
1466
- const page = await newSpecPage({
1467
- components: [Select, Menu, InputComponentContainer],
1468
- html: `<ic-select label="IC Select Test" searchable="true"></ic-select>`,
1469
- });
1470
- page.rootInstance.searchableSelectInputValue = "test";
1471
- await page.waitForChanges();
1472
- const event = new Event("input", {
1473
- bubbles: true,
1474
- cancelable: true,
1475
- });
1476
- const input = page.root.shadowRoot.querySelector("input");
1477
- input.dispatchEvent(event);
1478
- page.rootInstance.loading = true;
1479
- await page.waitForChanges();
1480
- expect(page.rootInstance.filteredOptions).toHaveLength(1);
1481
- page.rootInstance.value = undefined;
1482
- await page.waitForChanges();
1483
- expect(page.rootInstance.searchableSelectInputValue).toBeUndefined;
1484
- });
1485
- it("should render disabled", async () => {
1486
- const page = await newSpecPage({
1487
- components: [Select, Menu, InputComponentContainer],
1488
- html: `<ic-select label="IC Select Test" searchable="true" disabled="true"></ic-select>`,
1489
- });
1490
- expect(page.root).toMatchSnapshot("renders-disabled");
1491
- page.rootInstance.disabled = false;
1492
- await page.waitForChanges();
1493
- expect(page.root).toMatchSnapshot("disabled-removed");
1494
- });
1495
- it("should emit icChange when input is edited after selection", async () => {
1496
- const page = await newSpecPage({
1497
- components: [Select, Menu, InputComponentContainer],
1498
- html: `<ic-select label="IC Select Test" searchable="true"></ic-select>`,
1499
- });
1500
- page.root.options = menuOptions;
1501
- page.root.value = null;
1502
- await page.waitForChanges();
1503
- const eventSpy = jest.fn();
1504
- page.win.addEventListener("icChange", eventSpy);
1505
- const event = { target: { value: value1 } };
1506
- await page.rootInstance.handleSearchableSelectInput(event);
1507
- await page.waitForChanges();
1508
- expect(eventSpy).not.toHaveBeenCalled();
1509
- page.root.value = value1;
1510
- await page.rootInstance.handleSearchableSelectInput(event);
1511
- await page.waitForChanges();
1512
- expect(eventSpy).toHaveBeenCalledWith(expect.objectContaining({
1513
- detail: expect.objectContaining({
1514
- value: null,
1515
- }),
1516
- }));
1517
- });
1518
- });
1519
- describe("ic-select multi", () => {
1520
- it("should not render a native select on a mobile / tablet screen", async () => {
1521
- Object.defineProperty(helpers, "isMobileOrTablet", {
1522
- value: jest.fn().mockReturnValue(true),
1523
- });
1524
- const page = await newSpecPage({
1525
- components: [Select, Menu, InputComponentContainer, Button],
1526
- html: `<ic-select label="IC Select Test" multiple="true"></ic-select>`,
1527
- });
1528
- page.root.options = menuOptions;
1529
- await page.waitForChanges();
1530
- expect(page.root).toMatchSnapshot();
1531
- });
1532
- it("should test handleKeyboardOpen method on menu - arrow down", async () => {
1533
- const page = await newSpecPage({
1534
- components: [Select, Menu, InputComponentContainer, Button],
1535
- html: `<ic-select label="IC Select Test" multiple="true"></ic-select>`,
1536
- });
1537
- page.root.options = menuOptions;
1538
- await page.waitForChanges();
1539
- const menu = page.root.shadowRoot.querySelector("ic-menu");
1540
- const KeyEvent = {
1541
- key: "ArrowDown",
1542
- preventDefault: () => null,
1543
- };
1544
- await menu.handleKeyboardOpen(KeyEvent);
1545
- await page.waitForChanges();
1546
- expect(page.rootInstance.open).toBeTruthy;
1547
- // Test option is not selected by automatic selection
1548
- expect(page.rootInstance.value).toBe(undefined);
1549
- });
1550
- it("should test menu handleKeyboardOpen method - arrow up", async () => {
1551
- const page = await newSpecPage({
1552
- components: [Select, Menu, InputComponentContainer, Button],
1553
- html: `<ic-select label="IC Select Test" multiple="true"></ic-select>`,
1554
- });
1555
- page.root.options = menuOptions;
1556
- await page.waitForChanges();
1557
- const menu = page.root.shadowRoot.querySelector("ic-menu");
1558
- const KeyEvent = {
1559
- key: "ArrowUp",
1560
- preventDefault: () => null,
1561
- };
1562
- await menu.handleKeyboardOpen(KeyEvent);
1563
- await page.waitForChanges();
1564
- expect(page.rootInstance.open).toBeTruthy;
1565
- // Test option is not selected by automatic selection
1566
- expect(page.rootInstance.value).toBe(undefined);
1567
- });
1568
- it("should test keydown on menu - arrow down, up, and enter", async () => {
1569
- const page = await newSpecPage({
1570
- components: [Select, Menu, InputComponentContainer, Button],
1571
- html: `<ic-select label="IC Select Test" multiple="true"></ic-select>`,
1572
- });
1573
- page.root.options = menuOptions;
1574
- page.rootInstance.open = true;
1575
- await page.waitForChanges();
1576
- const menu = page.root.shadowRoot.querySelector(menuUl);
1577
- menu.dispatchEvent(new window.window.KeyboardEvent("keydown", {
1578
- key: "ArrowDown",
1579
- bubbles: true,
1580
- cancelable: true,
1581
- }));
1582
- await page.waitForChanges();
1583
- menu.dispatchEvent(new window.window.KeyboardEvent("keydown", {
1584
- key: "Enter",
1585
- bubbles: true,
1586
- cancelable: true,
1587
- }));
1588
- await page.waitForChanges();
1589
- expect(page.rootInstance.value).toEqual([value1]);
1590
- expect(page.root).toMatchSnapshot();
1591
- menu.dispatchEvent(new window.window.KeyboardEvent("keydown", {
1592
- key: "ArrowDown",
1593
- bubbles: true,
1594
- cancelable: true,
1595
- }));
1596
- await page.waitForChanges();
1597
- menu.dispatchEvent(new window.window.KeyboardEvent("keydown", {
1598
- key: "Enter",
1599
- bubbles: true,
1600
- cancelable: true,
1601
- }));
1602
- await page.waitForChanges();
1603
- expect(page.rootInstance.value).toEqual([value1, value2]);
1604
- expect(page.root).toMatchSnapshot();
1605
- menu.dispatchEvent(new window.window.KeyboardEvent("keydown", {
1606
- key: "ArrowUp",
1607
- bubbles: true,
1608
- cancelable: true,
1609
- }));
1610
- await page.waitForChanges();
1611
- menu.dispatchEvent(new window.window.KeyboardEvent("keydown", {
1612
- key: "Enter",
1613
- bubbles: true,
1614
- cancelable: true,
1615
- }));
1616
- await page.waitForChanges();
1617
- expect(page.rootInstance.value).toEqual([value2]);
1618
- });
1619
- it("should select all options - handleSelectAllChange", async () => {
1620
- const page = await newSpecPage({
1621
- components: [Select, Menu, InputComponentContainer, Button],
1622
- html: `<ic-select label="IC Select Test" multiple="true"></ic-select>`,
1623
- });
1624
- const eventSpy = jest.fn();
1625
- page.win.addEventListener("icOptionSelect", eventSpy);
1626
- page.root.options = menuOptionsWithDisabled;
1627
- await page.waitForChanges();
1628
- page.rootInstance.handleSelectAllChange({ detail: { select: true } });
1629
- // Test disabled option not selected
1630
- expect(page.rootInstance.value).toEqual([value1, value2, value4]);
1631
- expect(eventSpy).toHaveBeenCalledTimes(3);
1632
- });
1633
- it("should emit icOptionSelect only for unselected options - handleSelectAllChange", async () => {
1634
- const page = await newSpecPage({
1635
- components: [Select, Menu, InputComponentContainer, Button],
1636
- html: `<ic-select label="IC Select Test" multiple="true"></ic-select>`,
1637
- });
1638
- const eventSpy = jest.fn();
1639
- page.win.addEventListener("icOptionSelect", eventSpy);
1640
- page.root.options = menuOptionsWithDisabled;
1641
- page.root.value = [value1];
1642
- await page.waitForChanges();
1643
- page.rootInstance.handleSelectAllChange({ detail: { select: true } });
1644
- expect(eventSpy).toHaveBeenCalledTimes(2);
1645
- });
1646
- it("should deselect all options - handleSelectAllChange", async () => {
1647
- const page = await newSpecPage({
1648
- components: [Select, Menu, InputComponentContainer, Button],
1649
- html: `<ic-select label="IC Select Test" multiple="true"></ic-select>`,
1650
- });
1651
- page.root.options = menuOptionsWithDisabled;
1652
- page.root.value = [value1, value2, value4];
1653
- await page.waitForChanges();
1654
- page.rootInstance.handleSelectAllChange({ detail: { select: false } });
1655
- expect(page.rootInstance.value).toEqual(null);
1656
- });
1657
- it("should sort the selected options by the order of the options in the menu", async () => {
1658
- const page = await newSpecPage({
1659
- components: [Select, Menu, InputComponentContainer, Button],
1660
- html: `<ic-select label="IC Select Test" multiple="true"></ic-select>`,
1661
- });
1662
- page.root.options = menuOptions;
1663
- page.root.value = [value1];
1664
- await page.waitForChanges();
1665
- page.root.value = [value2, value1];
1666
- await page.waitForChanges();
1667
- const button = page.root.shadowRoot.querySelector("button.select-input");
1668
- expect(page.rootInstance.currValue).toEqual([value1, value2]);
1669
- expect(button.textContent).toContain(`${label1}, ${label2}`);
1670
- });
1671
- });
1672
- //# sourceMappingURL=ic-select.spec.js.map