@ukic/web-components 3.0.0 → 3.2.0

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 (1143) hide show
  1. package/README.md +34 -5
  2. package/dist/cjs/app-globals-3a1e7e63.js +7 -0
  3. package/dist/cjs/app-globals-3a1e7e63.js.map +1 -0
  4. package/dist/cjs/core.cjs.js +13 -11
  5. package/dist/cjs/core.cjs.js.map +1 -1
  6. package/dist/cjs/{helpers-94b33ab0.js → helpers-789082d4.js} +159 -75
  7. package/dist/cjs/helpers-789082d4.js.map +1 -0
  8. package/dist/cjs/ic-accordion-group.cjs.entry.js +38 -22
  9. package/dist/cjs/ic-accordion-group.cjs.entry.js.map +1 -1
  10. package/dist/cjs/ic-accordion.cjs.entry.js +75 -46
  11. package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
  12. package/dist/cjs/ic-alert.cjs.entry.js +93 -46
  13. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  14. package/dist/cjs/ic-back-to-top.cjs.entry.js +32 -16
  15. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  16. package/dist/cjs/ic-badge.cjs.entry.js +91 -42
  17. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  18. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +114 -63
  19. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
  20. package/dist/cjs/ic-breadcrumb.cjs.entry.js +78 -18
  21. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  22. package/dist/cjs/ic-button_3.cjs.entry.js +366 -168
  23. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  24. package/dist/cjs/ic-card-vertical.cjs.entry.js +93 -72
  25. package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -1
  26. package/dist/cjs/ic-checkbox-group.cjs.entry.js +51 -14
  27. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  28. package/dist/cjs/ic-checkbox.cjs.entry.js +55 -31
  29. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  30. package/dist/cjs/ic-chip.cjs.entry.js +64 -32
  31. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  32. package/dist/cjs/ic-classification-banner.cjs.entry.js +22 -6
  33. package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
  34. package/dist/cjs/ic-data-list.cjs.entry.js +17 -7
  35. package/dist/cjs/ic-data-list.cjs.entry.js.map +1 -1
  36. package/dist/cjs/ic-data-row.cjs.entry.js +31 -20
  37. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  38. package/dist/cjs/ic-dialog.cjs.entry.js +170 -114
  39. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  40. package/dist/cjs/ic-divider.cjs.entry.js +95 -12
  41. package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
  42. package/dist/cjs/ic-empty-state.cjs.entry.js +21 -24
  43. package/dist/cjs/ic-empty-state.cjs.entry.js.map +1 -1
  44. package/dist/cjs/ic-footer-link-group.cjs.entry.js +12 -14
  45. package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
  46. package/dist/cjs/ic-footer-link.cjs.entry.js +15 -16
  47. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  48. package/dist/cjs/ic-footer.cjs.entry.js +52 -30
  49. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  50. package/dist/cjs/ic-hero.cjs.entry.js +35 -32
  51. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  52. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +40 -21
  53. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  54. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +587 -244
  55. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  56. package/dist/cjs/ic-input-label_2.cjs.entry.js +65 -40
  57. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  58. package/dist/cjs/ic-link.cjs.entry.js +43 -28
  59. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  60. package/dist/cjs/ic-menu-group.cjs.entry.js +6 -7
  61. package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
  62. package/dist/cjs/ic-menu-item.cjs.entry.js +41 -33
  63. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  64. package/dist/cjs/ic-navigation-button.cjs.entry.js +32 -24
  65. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  66. package/dist/cjs/ic-navigation-group.cjs.entry.js +69 -44
  67. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  68. package/dist/cjs/ic-navigation-item.cjs.entry.js +122 -45
  69. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  70. package/dist/cjs/ic-navigation-menu.cjs.entry.js +55 -33
  71. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  72. package/dist/cjs/ic-page-header.cjs.entry.js +53 -31
  73. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  74. package/dist/cjs/ic-pagination-item.cjs.entry.js +37 -24
  75. package/dist/cjs/ic-pagination-item.cjs.entry.js.map +1 -1
  76. package/dist/cjs/ic-pagination.cjs.entry.js +76 -36
  77. package/dist/cjs/ic-pagination.cjs.entry.js.map +1 -1
  78. package/dist/cjs/ic-popover-menu.cjs.entry.js +97 -60
  79. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  80. package/dist/cjs/ic-radio-group.cjs.entry.js +103 -48
  81. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  82. package/dist/cjs/ic-radio-option.cjs.entry.js +70 -39
  83. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  84. package/dist/cjs/ic-search-bar.cjs.entry.js +195 -108
  85. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  86. package/dist/cjs/ic-section-container.cjs.entry.js +12 -5
  87. package/dist/cjs/ic-section-container.cjs.entry.js.map +1 -1
  88. package/dist/cjs/ic-select.cjs.entry.js +418 -199
  89. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  90. package/dist/cjs/ic-side-navigation.cjs.entry.js +119 -79
  91. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  92. package/dist/cjs/ic-skeleton.cjs.entry.js +15 -8
  93. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  94. package/dist/cjs/ic-skip-link.cjs.entry.js +62 -0
  95. package/dist/cjs/ic-skip-link.cjs.entry.js.map +1 -0
  96. package/dist/cjs/ic-status-tag.cjs.entry.js +30 -10
  97. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  98. package/dist/cjs/ic-step.cjs.entry.js +37 -37
  99. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  100. package/dist/cjs/ic-stepper.cjs.entry.js +60 -36
  101. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  102. package/dist/cjs/ic-switch.cjs.entry.js +63 -31
  103. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  104. package/dist/cjs/ic-tab-context.cjs.entry.js +112 -152
  105. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  106. package/dist/cjs/ic-tab-group.cjs.entry.js +18 -14
  107. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  108. package/dist/cjs/ic-tab-panel.cjs.entry.js +19 -15
  109. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  110. package/dist/cjs/ic-tab.cjs.entry.js +31 -22
  111. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  112. package/dist/cjs/ic-text-field.cjs.entry.js +235 -87
  113. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  114. package/dist/cjs/ic-theme.cjs.entry.js +54 -23
  115. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  116. package/dist/cjs/ic-toast-region.cjs.entry.js +8 -3
  117. package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -1
  118. package/dist/cjs/ic-toast.cjs.entry.js +30 -23
  119. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  120. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +117 -35
  121. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  122. package/dist/cjs/ic-toggle-button.cjs.entry.js +110 -23
  123. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  124. package/dist/cjs/ic-top-navigation.cjs.entry.js +65 -35
  125. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  126. package/dist/cjs/ic-typography.cjs.entry.js +59 -30
  127. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  128. package/dist/cjs/index-d337cd8a.js +2611 -0
  129. package/dist/cjs/index-d337cd8a.js.map +1 -0
  130. package/dist/cjs/loader.cjs.js +5 -3
  131. package/dist/cjs/loader.cjs.js.map +1 -1
  132. package/dist/collection/ag-theme-icds.css +218 -0
  133. package/dist/collection/collection-manifest.json +8 -7
  134. package/dist/collection/components/ic-accordion/ic-accordion.css +30 -17
  135. package/dist/collection/components/ic-accordion/ic-accordion.js +116 -76
  136. package/dist/collection/components/ic-accordion/ic-accordion.js.map +1 -1
  137. package/dist/collection/components/ic-accordion/ic-accordion.stories.js +611 -0
  138. package/dist/collection/components/ic-accordion-group/ic-accordion-group.css +3 -8
  139. package/dist/collection/components/ic-accordion-group/ic-accordion-group.js +65 -37
  140. package/dist/collection/components/ic-accordion-group/ic-accordion-group.js.map +1 -1
  141. package/dist/collection/components/ic-alert/ic-alert.css +52 -19
  142. package/dist/collection/components/ic-alert/ic-alert.js +164 -50
  143. package/dist/collection/components/ic-alert/ic-alert.js.map +1 -1
  144. package/dist/collection/components/ic-alert/ic-alert.stories.js +271 -0
  145. package/dist/collection/components/ic-back-to-top/ic-back-to-top.css +54 -20
  146. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js +86 -14
  147. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js.map +1 -1
  148. package/dist/collection/components/ic-back-to-top/ic-back-to-top.stories.js +216 -0
  149. package/dist/collection/components/ic-back-to-top/ic-back-to-top.types.js.map +1 -1
  150. package/dist/collection/components/ic-badge/ic-badge.css +44 -11
  151. package/dist/collection/components/ic-badge/ic-badge.js +160 -53
  152. package/dist/collection/components/ic-badge/ic-badge.js.map +1 -1
  153. package/dist/collection/components/ic-badge/ic-badge.stories.js +1092 -0
  154. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.css +32 -8
  155. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js +142 -46
  156. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js.map +1 -1
  157. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js +165 -84
  158. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js.map +1 -1
  159. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.stories.js +362 -0
  160. package/dist/collection/components/ic-button/ic-button.css +722 -429
  161. package/dist/collection/components/ic-button/ic-button.js +331 -139
  162. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  163. package/dist/collection/components/ic-button/ic-button.stories.js +2364 -0
  164. package/dist/collection/components/ic-button/ic-button.types.js.map +1 -1
  165. package/dist/collection/components/ic-card-vertical/ic-card-vertical.css +115 -104
  166. package/dist/collection/components/ic-card-vertical/ic-card-vertical.js +160 -86
  167. package/dist/collection/components/ic-card-vertical/ic-card-vertical.js.map +1 -1
  168. package/dist/collection/components/ic-card-vertical/ic-card-vertical.stories.js +1050 -0
  169. package/dist/collection/components/ic-checkbox/ic-checkbox.css +80 -35
  170. package/dist/collection/components/ic-checkbox/ic-checkbox.js +123 -45
  171. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  172. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.css +20 -1
  173. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +108 -23
  174. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  175. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.stories.js +726 -0
  176. package/dist/collection/components/ic-chip/ic-chip.css +66 -48
  177. package/dist/collection/components/ic-chip/ic-chip.js +126 -38
  178. package/dist/collection/components/ic-chip/ic-chip.js.map +1 -1
  179. package/dist/collection/components/ic-chip/ic-chip.stories.js +980 -0
  180. package/dist/collection/components/ic-classification-banner/ic-classification-banner.css +20 -10
  181. package/dist/collection/components/ic-classification-banner/ic-classification-banner.js +33 -8
  182. package/dist/collection/components/ic-classification-banner/ic-classification-banner.js.map +1 -1
  183. package/dist/collection/components/ic-classification-banner/ic-classification-banner.stories.js +131 -0
  184. package/dist/collection/components/ic-data-list/ic-data-list.css +5 -1
  185. package/dist/collection/components/ic-data-list/ic-data-list.js +47 -8
  186. package/dist/collection/components/ic-data-list/ic-data-list.js.map +1 -1
  187. package/dist/collection/components/ic-data-list/ic-data-list.stories.js +493 -0
  188. package/dist/collection/components/ic-data-row/ic-data-row.css +5 -2
  189. package/dist/collection/components/ic-data-row/ic-data-row.js +64 -21
  190. package/dist/collection/components/ic-data-row/ic-data-row.js.map +1 -1
  191. package/dist/collection/components/ic-dialog/ic-dialog.css +18 -10
  192. package/dist/collection/components/ic-dialog/ic-dialog.js +248 -144
  193. package/dist/collection/components/ic-dialog/ic-dialog.js.map +1 -1
  194. package/dist/collection/components/ic-dialog/ic-dialog.stories.js +1118 -0
  195. package/dist/collection/components/ic-divider/ic-divider.css +298 -4
  196. package/dist/collection/components/ic-divider/ic-divider.js +272 -12
  197. package/dist/collection/components/ic-divider/ic-divider.js.map +1 -1
  198. package/dist/collection/components/ic-divider/ic-divider.stories.js +394 -0
  199. package/dist/collection/components/ic-divider/ic-divider.types.js +2 -0
  200. package/dist/collection/components/ic-divider/ic-divider.types.js.map +1 -0
  201. package/dist/collection/components/ic-empty-state/ic-empty-state.css +17 -2
  202. package/dist/collection/components/ic-empty-state/ic-empty-state.js +63 -28
  203. package/dist/collection/components/ic-empty-state/ic-empty-state.js.map +1 -1
  204. package/dist/collection/components/ic-empty-state/ic-empty-state.stories.js +404 -0
  205. package/dist/collection/components/ic-footer/ic-footer.css +25 -17
  206. package/dist/collection/components/ic-footer/ic-footer.js +72 -38
  207. package/dist/collection/components/ic-footer/ic-footer.js.map +1 -1
  208. package/dist/collection/components/ic-footer/ic-footer.stories.js +384 -0
  209. package/dist/collection/components/ic-footer-link/ic-footer-link.css +28 -5
  210. package/dist/collection/components/ic-footer-link/ic-footer-link.js +32 -22
  211. package/dist/collection/components/ic-footer-link/ic-footer-link.js.map +1 -1
  212. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.css +13 -20
  213. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js +12 -12
  214. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js.map +1 -1
  215. package/dist/collection/components/ic-hero/ic-hero.css +25 -10
  216. package/dist/collection/components/ic-hero/ic-hero.js +66 -45
  217. package/dist/collection/components/ic-hero/ic-hero.js.map +1 -1
  218. package/dist/collection/components/ic-hero/ic-hero.stories.js +448 -0
  219. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.css +2 -6
  220. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +97 -22
  221. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js.map +1 -1
  222. package/dist/collection/components/ic-input-component-container/ic-input-component-container.css +51 -18
  223. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +74 -64
  224. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js.map +1 -1
  225. package/dist/collection/components/ic-input-container/ic-input-container.js +16 -6
  226. package/dist/collection/components/ic-input-container/ic-input-container.js.map +1 -1
  227. package/dist/collection/components/ic-input-label/ic-input-label.css +19 -20
  228. package/dist/collection/components/ic-input-label/ic-input-label.js +97 -41
  229. package/dist/collection/components/ic-input-label/ic-input-label.js.map +1 -1
  230. package/dist/collection/components/ic-input-validation/ic-input-validation.css +12 -3
  231. package/dist/collection/components/ic-input-validation/ic-input-validation.js +36 -19
  232. package/dist/collection/components/ic-input-validation/ic-input-validation.js.map +1 -1
  233. package/dist/collection/components/ic-link/ic-link.css +66 -25
  234. package/dist/collection/components/ic-link/ic-link.js +107 -59
  235. package/dist/collection/components/ic-link/ic-link.js.map +1 -1
  236. package/dist/collection/components/ic-link/ic-link.stories.js +85 -0
  237. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.css +20 -13
  238. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +183 -102
  239. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js.map +1 -1
  240. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.stories.js +464 -0
  241. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.types.js.map +1 -1
  242. package/dist/collection/components/ic-menu/ic-menu.css +116 -23
  243. package/dist/collection/components/ic-menu/ic-menu.js +640 -257
  244. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  245. package/dist/collection/components/ic-menu/ic-menu.types.js.map +1 -1
  246. package/dist/collection/components/ic-menu-group/ic-menu-group.css +3 -2
  247. package/dist/collection/components/ic-menu-group/ic-menu-group.js +4 -5
  248. package/dist/collection/components/ic-menu-group/ic-menu-group.js.map +1 -1
  249. package/dist/collection/components/ic-menu-item/ic-menu-item.css +45 -23
  250. package/dist/collection/components/ic-menu-item/ic-menu-item.js +115 -48
  251. package/dist/collection/components/ic-menu-item/ic-menu-item.js.map +1 -1
  252. package/dist/collection/components/ic-navigation-button/ic-navigation-button.css +18 -0
  253. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js +77 -29
  254. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js.map +1 -1
  255. package/dist/collection/components/ic-navigation-group/ic-navigation-group.css +52 -51
  256. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +158 -47
  257. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js.map +1 -1
  258. package/dist/collection/components/ic-navigation-group/ic-navigation-group.types.js +2 -0
  259. package/dist/collection/components/ic-navigation-group/ic-navigation-group.types.js.map +1 -0
  260. package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +60 -65
  261. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +188 -62
  262. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -1
  263. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.css +13 -5
  264. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +84 -32
  265. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js.map +1 -1
  266. package/dist/collection/components/ic-page-header/ic-page-header.css +7 -3
  267. package/dist/collection/components/ic-page-header/ic-page-header.js +99 -35
  268. package/dist/collection/components/ic-page-header/ic-page-header.js.map +1 -1
  269. package/dist/collection/components/ic-page-header/ic-page-header.stories.js +823 -0
  270. package/dist/collection/components/ic-pagination/ic-pagination.css +24 -1
  271. package/dist/collection/components/ic-pagination/ic-pagination.js +157 -73
  272. package/dist/collection/components/ic-pagination/ic-pagination.js.map +1 -1
  273. package/dist/collection/components/ic-pagination/ic-pagination.stories.js +164 -0
  274. package/dist/collection/components/ic-pagination-item/ic-pagination-item.css +54 -15
  275. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +99 -52
  276. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js.map +1 -1
  277. package/dist/collection/components/ic-popover-menu/ic-popover-menu.css +8 -4
  278. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +184 -69
  279. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js.map +1 -1
  280. package/dist/collection/components/ic-popover-menu/ic-popover-menu.stories.js +573 -0
  281. package/dist/collection/components/ic-radio-group/ic-radio-group.css +17 -1
  282. package/dist/collection/components/ic-radio-group/ic-radio-group.js +162 -59
  283. package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
  284. package/dist/collection/components/ic-radio-group/ic-radio-group.stories.js +474 -0
  285. package/dist/collection/components/ic-radio-option/ic-radio-option.css +59 -27
  286. package/dist/collection/components/ic-radio-option/ic-radio-option.js +130 -47
  287. package/dist/collection/components/ic-radio-option/ic-radio-option.js.map +1 -1
  288. package/dist/collection/components/ic-search-bar/ic-search-bar.css +109 -16
  289. package/dist/collection/components/ic-search-bar/ic-search-bar.js +342 -147
  290. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  291. package/dist/collection/components/ic-search-bar/ic-search-bar.stories.js +593 -0
  292. package/dist/collection/components/ic-search-bar/ic-search-bar.types.js.map +1 -1
  293. package/dist/collection/components/ic-section-container/ic-section-container.js +15 -5
  294. package/dist/collection/components/ic-section-container/ic-section-container.js.map +1 -1
  295. package/dist/collection/components/ic-section-container/ic-section-container.stories.js +62 -0
  296. package/dist/collection/components/ic-select/ic-select.css +105 -55
  297. package/dist/collection/components/ic-select/ic-select.js +591 -248
  298. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  299. package/dist/collection/components/ic-select/ic-select_(multi).stories.js +892 -0
  300. package/dist/collection/components/ic-select/ic-select_(searchable).stories.js +965 -0
  301. package/dist/collection/components/ic-select/ic-select_(single).stories.js +790 -0
  302. package/dist/collection/components/ic-side-navigation/ic-side-navigation.css +64 -38
  303. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +162 -100
  304. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
  305. package/dist/collection/components/ic-side-navigation/ic-side-navigation.stories.js +2547 -0
  306. package/dist/collection/components/ic-side-navigation/ic-side-navigation.types.js.map +1 -1
  307. package/dist/collection/components/ic-skeleton/ic-skeleton.css +4 -27
  308. package/dist/collection/components/ic-skeleton/ic-skeleton.js +29 -13
  309. package/dist/collection/components/ic-skeleton/ic-skeleton.js.map +1 -1
  310. package/dist/collection/components/ic-skeleton/ic-skeleton.stories.js +143 -0
  311. package/dist/collection/components/ic-skip-link/ic-skip-link.css +46 -0
  312. package/dist/collection/components/ic-skip-link/ic-skip-link.js +231 -0
  313. package/dist/collection/components/ic-skip-link/ic-skip-link.js.map +1 -0
  314. package/dist/collection/components/ic-skip-link/ic-skip-link.stories.js +504 -0
  315. package/dist/collection/components/ic-status-tag/ic-status-tag.css +27 -17
  316. package/dist/collection/components/ic-status-tag/ic-status-tag.js +80 -10
  317. package/dist/collection/components/ic-status-tag/ic-status-tag.js.map +1 -1
  318. package/dist/collection/components/ic-status-tag/ic-status-tag.stories.js +196 -0
  319. package/dist/collection/components/ic-step/ic-step.css +69 -126
  320. package/dist/collection/components/ic-step/ic-step.js +95 -42
  321. package/dist/collection/components/ic-step/ic-step.js.map +1 -1
  322. package/dist/collection/components/ic-stepper/ic-stepper.js +96 -54
  323. package/dist/collection/components/ic-stepper/ic-stepper.js.map +1 -1
  324. package/dist/collection/components/ic-stepper/ic-stepper.stories.js +281 -0
  325. package/dist/collection/components/ic-switch/ic-switch.css +30 -48
  326. package/dist/collection/components/ic-switch/ic-switch.js +106 -48
  327. package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
  328. package/dist/collection/components/ic-switch/ic-switch.stories.js +149 -0
  329. package/dist/collection/components/ic-tab/ic-tab.css +53 -17
  330. package/dist/collection/components/ic-tab/ic-tab.js +97 -51
  331. package/dist/collection/components/ic-tab/ic-tab.js.map +1 -1
  332. package/dist/collection/components/ic-tab-context/ic-tab-context.js +170 -180
  333. package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -1
  334. package/dist/collection/components/ic-tab-context/ic-tabs.stories.js +316 -0
  335. package/dist/collection/components/ic-tab-group/ic-tab-group.css +14 -7
  336. package/dist/collection/components/ic-tab-group/ic-tab-group.js +70 -38
  337. package/dist/collection/components/ic-tab-group/ic-tab-group.js.map +1 -1
  338. package/dist/collection/components/ic-tab-panel/ic-tab-panel.css +7 -3
  339. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +86 -29
  340. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js.map +1 -1
  341. package/dist/collection/components/ic-text-field/ic-text-field.css +64 -8
  342. package/dist/collection/components/ic-text-field/ic-text-field.js +484 -154
  343. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  344. package/dist/collection/components/ic-text-field/ic-text-field.stories.js +1048 -0
  345. package/dist/collection/components/ic-theme/ic-theme.js +121 -35
  346. package/dist/collection/components/ic-theme/ic-theme.js.map +1 -1
  347. package/dist/collection/components/ic-theme/ic-theme.stories.js +434 -0
  348. package/dist/collection/components/ic-toast/ic-toast.css +41 -17
  349. package/dist/collection/components/ic-toast/ic-toast.js +49 -29
  350. package/dist/collection/components/ic-toast/ic-toast.js.map +1 -1
  351. package/dist/collection/components/ic-toast/ic-toast.stories.js +396 -0
  352. package/dist/collection/components/ic-toast-region/ic-toast-region.js +12 -5
  353. package/dist/collection/components/ic-toast-region/ic-toast-region.js.map +1 -1
  354. package/dist/collection/components/ic-toggle-button/ic-toggle-button.css +188 -58
  355. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js +226 -63
  356. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js.map +1 -1
  357. package/dist/collection/components/ic-toggle-button/ic-toggle-button.stories.js +427 -0
  358. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.css +23 -16
  359. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js +228 -64
  360. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js.map +1 -1
  361. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.stories.js +585 -0
  362. package/dist/collection/components/ic-tooltip/ic-tooltip.css +14 -5
  363. package/dist/collection/components/ic-tooltip/ic-tooltip.js +123 -36
  364. package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
  365. package/dist/collection/components/ic-tooltip/ic-tooltip.stories.js +366 -0
  366. package/dist/collection/components/ic-top-navigation/ic-top-navigation.css +57 -21
  367. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +122 -50
  368. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
  369. package/dist/collection/components/ic-top-navigation/ic-top-navigation.stories.js +1091 -0
  370. package/dist/collection/components/ic-typography/ic-typography.css +11 -7
  371. package/dist/collection/components/ic-typography/ic-typography.js +101 -32
  372. package/dist/collection/components/ic-typography/ic-typography.js.map +1 -1
  373. package/dist/collection/components/ic-typography/ic-typography.stories.js +447 -0
  374. package/dist/collection/patterns/top-nav-content-footer.stories.js +109 -0
  375. package/dist/collection/patterns/z-index.stories.js +474 -0
  376. package/dist/collection/utils/constants.js +40 -1
  377. package/dist/collection/utils/constants.js.map +1 -1
  378. package/dist/collection/utils/helpers.js +97 -68
  379. package/dist/collection/utils/helpers.js.map +1 -1
  380. package/dist/collection/utils/testa11y.helpers.js +2 -1
  381. package/dist/collection/utils/testa11y.helpers.js.map +1 -1
  382. package/dist/collection/utils/types.js +6 -6
  383. package/dist/collection/utils/types.js.map +1 -1
  384. package/dist/components/helpers.js +151 -70
  385. package/dist/components/helpers.js.map +1 -1
  386. package/dist/components/ic-accordion-group.js +38 -21
  387. package/dist/components/ic-accordion-group.js.map +1 -1
  388. package/dist/components/ic-accordion.js +76 -45
  389. package/dist/components/ic-accordion.js.map +1 -1
  390. package/dist/components/ic-alert.js +98 -47
  391. package/dist/components/ic-alert.js.map +1 -1
  392. package/dist/components/ic-back-to-top.js +33 -14
  393. package/dist/components/ic-back-to-top.js.map +1 -1
  394. package/dist/components/ic-badge.js +93 -42
  395. package/dist/components/ic-badge.js.map +1 -1
  396. package/dist/components/ic-breadcrumb-group.js +119 -64
  397. package/dist/components/ic-breadcrumb-group.js.map +1 -1
  398. package/dist/components/ic-breadcrumb2.js +81 -17
  399. package/dist/components/ic-breadcrumb2.js.map +1 -1
  400. package/dist/components/ic-button2.js +190 -79
  401. package/dist/components/ic-button2.js.map +1 -1
  402. package/dist/components/ic-card-vertical.js +98 -74
  403. package/dist/components/ic-card-vertical.js.map +1 -1
  404. package/dist/components/ic-checkbox-group.js +53 -12
  405. package/dist/components/ic-checkbox-group.js.map +1 -1
  406. package/dist/components/ic-checkbox.js +56 -29
  407. package/dist/components/ic-checkbox.js.map +1 -1
  408. package/dist/components/ic-chip.js +68 -31
  409. package/dist/components/ic-chip.js.map +1 -1
  410. package/dist/components/ic-classification-banner.js +21 -5
  411. package/dist/components/ic-classification-banner.js.map +1 -1
  412. package/dist/components/ic-data-list.js +18 -7
  413. package/dist/components/ic-data-list.js.map +1 -1
  414. package/dist/components/ic-data-row.js +31 -18
  415. package/dist/components/ic-data-row.js.map +1 -1
  416. package/dist/components/ic-dialog.js +172 -114
  417. package/dist/components/ic-dialog.js.map +1 -1
  418. package/dist/components/ic-divider2.js +110 -14
  419. package/dist/components/ic-divider2.js.map +1 -1
  420. package/dist/components/ic-empty-state.js +23 -24
  421. package/dist/components/ic-empty-state.js.map +1 -1
  422. package/dist/components/ic-footer-link-group.js +12 -13
  423. package/dist/components/ic-footer-link-group.js.map +1 -1
  424. package/dist/components/ic-footer-link.js +15 -15
  425. package/dist/components/ic-footer-link.js.map +1 -1
  426. package/dist/components/ic-footer.js +52 -30
  427. package/dist/components/ic-footer.js.map +1 -1
  428. package/dist/components/ic-hero.js +36 -33
  429. package/dist/components/ic-hero.js.map +1 -1
  430. package/dist/components/ic-horizontal-scroll2.js +41 -20
  431. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  432. package/dist/components/ic-input-component-container2.js +48 -36
  433. package/dist/components/ic-input-component-container2.js.map +1 -1
  434. package/dist/components/ic-input-container2.js +12 -5
  435. package/dist/components/ic-input-container2.js.map +1 -1
  436. package/dist/components/ic-input-label2.js +42 -23
  437. package/dist/components/ic-input-label2.js.map +1 -1
  438. package/dist/components/ic-input-validation2.js +22 -15
  439. package/dist/components/ic-input-validation2.js.map +1 -1
  440. package/dist/components/ic-link2.js +45 -29
  441. package/dist/components/ic-link2.js.map +1 -1
  442. package/dist/components/ic-loading-indicator2.js +109 -68
  443. package/dist/components/ic-loading-indicator2.js.map +1 -1
  444. package/dist/components/ic-menu-group.js +5 -5
  445. package/dist/components/ic-menu-group.js.map +1 -1
  446. package/dist/components/ic-menu-item2.js +46 -35
  447. package/dist/components/ic-menu-item2.js.map +1 -1
  448. package/dist/components/ic-menu2.js +535 -209
  449. package/dist/components/ic-menu2.js.map +1 -1
  450. package/dist/components/ic-navigation-button.js +33 -24
  451. package/dist/components/ic-navigation-button.js.map +1 -1
  452. package/dist/components/ic-navigation-group.js +72 -44
  453. package/dist/components/ic-navigation-group.js.map +1 -1
  454. package/dist/components/ic-navigation-item.js +125 -45
  455. package/dist/components/ic-navigation-item.js.map +1 -1
  456. package/dist/components/ic-navigation-menu2.js +55 -31
  457. package/dist/components/ic-navigation-menu2.js.map +1 -1
  458. package/dist/components/ic-page-header.js +53 -29
  459. package/dist/components/ic-page-header.js.map +1 -1
  460. package/dist/components/ic-pagination-item2.js +39 -23
  461. package/dist/components/ic-pagination-item2.js.map +1 -1
  462. package/dist/components/ic-pagination.js +77 -34
  463. package/dist/components/ic-pagination.js.map +1 -1
  464. package/dist/components/ic-popover-menu.js +99 -59
  465. package/dist/components/ic-popover-menu.js.map +1 -1
  466. package/dist/components/ic-radio-group.js +105 -47
  467. package/dist/components/ic-radio-group.js.map +1 -1
  468. package/dist/components/ic-radio-option.js +72 -38
  469. package/dist/components/ic-radio-option.js.map +1 -1
  470. package/dist/components/ic-search-bar.js +210 -132
  471. package/dist/components/ic-search-bar.js.map +1 -1
  472. package/dist/components/ic-section-container2.js +11 -4
  473. package/dist/components/ic-section-container2.js.map +1 -1
  474. package/dist/components/ic-select.js +421 -199
  475. package/dist/components/ic-select.js.map +1 -1
  476. package/dist/components/ic-side-navigation.js +119 -79
  477. package/dist/components/ic-side-navigation.js.map +1 -1
  478. package/dist/components/ic-skeleton.js +15 -8
  479. package/dist/components/ic-skeleton.js.map +1 -1
  480. package/dist/components/ic-skip-link.d.ts +11 -0
  481. package/dist/components/ic-skip-link.js +91 -0
  482. package/dist/components/ic-skip-link.js.map +1 -0
  483. package/dist/components/ic-status-tag.js +30 -7
  484. package/dist/components/ic-status-tag.js.map +1 -1
  485. package/dist/components/ic-step.js +37 -35
  486. package/dist/components/ic-step.js.map +1 -1
  487. package/dist/components/ic-stepper.js +61 -35
  488. package/dist/components/ic-stepper.js.map +1 -1
  489. package/dist/components/ic-switch.js +65 -31
  490. package/dist/components/ic-switch.js.map +1 -1
  491. package/dist/components/ic-tab-context.js +116 -154
  492. package/dist/components/ic-tab-context.js.map +1 -1
  493. package/dist/components/ic-tab-group.js +19 -14
  494. package/dist/components/ic-tab-group.js.map +1 -1
  495. package/dist/components/ic-tab-panel.js +22 -16
  496. package/dist/components/ic-tab-panel.js.map +1 -1
  497. package/dist/components/ic-tab.js +32 -22
  498. package/dist/components/ic-tab.js.map +1 -1
  499. package/dist/components/ic-text-field.js +504 -1
  500. package/dist/components/ic-text-field.js.map +1 -1
  501. package/dist/components/ic-theme.js +59 -25
  502. package/dist/components/ic-theme.js.map +1 -1
  503. package/dist/components/ic-toast-region.js +7 -2
  504. package/dist/components/ic-toast-region.js.map +1 -1
  505. package/dist/components/ic-toast.js +29 -22
  506. package/dist/components/ic-toast.js.map +1 -1
  507. package/dist/components/ic-toggle-button-group.js +129 -36
  508. package/dist/components/ic-toggle-button-group.js.map +1 -1
  509. package/dist/components/ic-toggle-button.js +121 -29
  510. package/dist/components/ic-toggle-button.js.map +1 -1
  511. package/dist/components/ic-tooltip2.js +75 -25
  512. package/dist/components/ic-tooltip2.js.map +1 -1
  513. package/dist/components/ic-top-navigation.js +66 -35
  514. package/dist/components/ic-top-navigation.js.map +1 -1
  515. package/dist/components/ic-typography2.js +58 -27
  516. package/dist/components/ic-typography2.js.map +1 -1
  517. package/dist/core/ag-theme-icds.css +218 -0
  518. package/dist/core/core.css +1737 -64
  519. package/dist/core/core.esm.js +1 -1
  520. package/dist/core/core.esm.js.map +1 -1
  521. package/dist/core/index.esm.js.map +1 -1
  522. package/dist/core/p-005cd8a8.entry.js +2 -0
  523. package/dist/core/p-005cd8a8.entry.js.map +1 -0
  524. package/dist/core/p-0631c3ab.entry.js +2 -0
  525. package/dist/core/p-0631c3ab.entry.js.map +1 -0
  526. package/dist/core/p-0a8b3967.entry.js +2 -0
  527. package/dist/core/p-0a8b3967.entry.js.map +1 -0
  528. package/dist/core/p-0b4350df.entry.js +2 -0
  529. package/dist/core/p-0b4350df.entry.js.map +1 -0
  530. package/dist/core/p-0e618fc5.entry.js +2 -0
  531. package/dist/core/p-0e618fc5.entry.js.map +1 -0
  532. package/dist/core/p-18ecba80.entry.js +2 -0
  533. package/dist/core/p-18ecba80.entry.js.map +1 -0
  534. package/dist/core/p-1e4cdd2d.entry.js +2 -0
  535. package/dist/core/p-1e4cdd2d.entry.js.map +1 -0
  536. package/dist/core/p-23d059ff.entry.js +2 -0
  537. package/dist/core/p-23d059ff.entry.js.map +1 -0
  538. package/dist/core/{p-54238d16.entry.js → p-23ed8b99.entry.js} +2 -2
  539. package/dist/core/p-23ed8b99.entry.js.map +1 -0
  540. package/dist/core/p-281ce313.js +2 -0
  541. package/dist/core/p-281ce313.js.map +1 -0
  542. package/dist/core/p-30abe545.entry.js +2 -0
  543. package/dist/core/p-30abe545.entry.js.map +1 -0
  544. package/dist/core/p-3132270d.entry.js +2 -0
  545. package/dist/core/p-3132270d.entry.js.map +1 -0
  546. package/dist/core/p-33c86ba6.entry.js +2 -0
  547. package/dist/core/p-33c86ba6.entry.js.map +1 -0
  548. package/dist/core/p-3675c4b4.entry.js +2 -0
  549. package/dist/core/p-3675c4b4.entry.js.map +1 -0
  550. package/dist/core/p-3b185c32.js.map +1 -1
  551. package/dist/core/p-3b5d3e24.entry.js +2 -0
  552. package/dist/core/p-3b5d3e24.entry.js.map +1 -0
  553. package/dist/core/p-3eb7ef1d.entry.js +2 -0
  554. package/dist/core/p-3eb7ef1d.entry.js.map +1 -0
  555. package/dist/core/{p-a87d13b3.entry.js → p-40f2f58e.entry.js} +2 -2
  556. package/dist/core/p-40f2f58e.entry.js.map +1 -0
  557. package/dist/core/p-4245a976.entry.js +2 -0
  558. package/dist/core/p-4245a976.entry.js.map +1 -0
  559. package/dist/core/p-426ec638.js.map +1 -1
  560. package/dist/core/p-44e4e8c1.entry.js +2 -0
  561. package/dist/core/p-44e4e8c1.entry.js.map +1 -0
  562. package/dist/core/p-45432bf5.entry.js +2 -0
  563. package/dist/core/p-45432bf5.entry.js.map +1 -0
  564. package/dist/core/p-4b601e06.entry.js +2 -0
  565. package/dist/core/p-4b601e06.entry.js.map +1 -0
  566. package/dist/core/{p-bf89c86d.entry.js → p-4b6818d9.entry.js} +2 -2
  567. package/dist/core/p-4b6818d9.entry.js.map +1 -0
  568. package/dist/core/p-517d7afb.entry.js +2 -0
  569. package/dist/core/p-517d7afb.entry.js.map +1 -0
  570. package/dist/core/p-5206a978.entry.js +2 -0
  571. package/dist/core/p-5206a978.entry.js.map +1 -0
  572. package/dist/core/p-5d4b0480.entry.js +2 -0
  573. package/dist/core/p-5d4b0480.entry.js.map +1 -0
  574. package/dist/core/p-5e18b899.entry.js +2 -0
  575. package/dist/core/p-5e18b899.entry.js.map +1 -0
  576. package/dist/core/p-6337fe1f.entry.js +2 -0
  577. package/dist/core/p-6337fe1f.entry.js.map +1 -0
  578. package/dist/core/p-63fe83ad.entry.js +2 -0
  579. package/dist/core/p-63fe83ad.entry.js.map +1 -0
  580. package/dist/core/p-68a5aaff.js.map +1 -1
  581. package/dist/core/p-6de6b6b7.entry.js +2 -0
  582. package/dist/core/p-6de6b6b7.entry.js.map +1 -0
  583. package/dist/core/p-70700c7a.entry.js +2 -0
  584. package/dist/core/p-70700c7a.entry.js.map +1 -0
  585. package/dist/core/p-7a0d238b.entry.js +2 -0
  586. package/dist/core/p-7a0d238b.entry.js.map +1 -0
  587. package/dist/core/p-7afc71d0.entry.js +2 -0
  588. package/dist/core/p-7afc71d0.entry.js.map +1 -0
  589. package/dist/core/p-7c0914e7.entry.js +2 -0
  590. package/dist/core/p-7c0914e7.entry.js.map +1 -0
  591. package/dist/core/p-7dfe0284.entry.js +2 -0
  592. package/dist/core/p-7dfe0284.entry.js.map +1 -0
  593. package/dist/core/p-81a12e36.entry.js +2 -0
  594. package/dist/core/p-81a12e36.entry.js.map +1 -0
  595. package/dist/core/p-88924aef.entry.js +2 -0
  596. package/dist/core/p-88924aef.entry.js.map +1 -0
  597. package/dist/core/p-8ba129fc.entry.js +2 -0
  598. package/dist/core/p-8ba129fc.entry.js.map +1 -0
  599. package/dist/core/p-8e4e97b4.js +3 -0
  600. package/dist/core/p-8e4e97b4.js.map +1 -0
  601. package/dist/core/p-950db960.entry.js +2 -0
  602. package/dist/core/p-950db960.entry.js.map +1 -0
  603. package/dist/core/p-959a9cdf.entry.js +2 -0
  604. package/dist/core/p-959a9cdf.entry.js.map +1 -0
  605. package/dist/core/p-9ea9a4ce.entry.js +2 -0
  606. package/dist/core/p-9ea9a4ce.entry.js.map +1 -0
  607. package/dist/core/p-a9c96e3e.entry.js +2 -0
  608. package/dist/core/p-a9c96e3e.entry.js.map +1 -0
  609. package/dist/core/p-abaea607.entry.js +2 -0
  610. package/dist/core/p-abaea607.entry.js.map +1 -0
  611. package/dist/core/p-ac7db165.entry.js +2 -0
  612. package/dist/core/p-ac7db165.entry.js.map +1 -0
  613. package/dist/core/p-acebb05c.entry.js +2 -0
  614. package/dist/core/p-acebb05c.entry.js.map +1 -0
  615. package/dist/core/p-b3ac38c5.entry.js +2 -0
  616. package/dist/core/p-b3ac38c5.entry.js.map +1 -0
  617. package/dist/core/p-b3d6d5be.entry.js +2 -0
  618. package/dist/core/p-b3d6d5be.entry.js.map +1 -0
  619. package/dist/core/p-bbe5596b.entry.js +2 -0
  620. package/dist/core/p-bbe5596b.entry.js.map +1 -0
  621. package/dist/core/p-c04f36c5.entry.js +2 -0
  622. package/dist/core/p-c04f36c5.entry.js.map +1 -0
  623. package/dist/core/p-c2ca6274.entry.js +2 -0
  624. package/dist/core/p-c2ca6274.entry.js.map +1 -0
  625. package/dist/core/p-c2e091d7.js.map +1 -1
  626. package/dist/core/p-c62318a8.entry.js +2 -0
  627. package/dist/core/p-c62318a8.entry.js.map +1 -0
  628. package/dist/core/p-de43d375.entry.js +2 -0
  629. package/dist/core/p-de43d375.entry.js.map +1 -0
  630. package/dist/core/p-e1255160.js +2 -0
  631. package/dist/core/p-e1255160.js.map +1 -0
  632. package/dist/core/p-e2f893f0.entry.js +2 -0
  633. package/dist/core/p-e2f893f0.entry.js.map +1 -0
  634. package/dist/core/p-e56d0db2.entry.js +2 -0
  635. package/dist/core/p-e56d0db2.entry.js.map +1 -0
  636. package/dist/core/p-e586ae7b.entry.js +2 -0
  637. package/dist/core/p-e586ae7b.entry.js.map +1 -0
  638. package/dist/core/p-ef09b450.entry.js +2 -0
  639. package/dist/core/p-ef09b450.entry.js.map +1 -0
  640. package/dist/core/p-f074ef5b.js.map +1 -1
  641. package/dist/core/p-f34eee68.entry.js +2 -0
  642. package/dist/core/p-f34eee68.entry.js.map +1 -0
  643. package/dist/core/p-f3c72ffb.entry.js +2 -0
  644. package/dist/core/p-f3c72ffb.entry.js.map +1 -0
  645. package/dist/core/{p-a0e4d6bd.entry.js → p-f815f8c9.entry.js} +2 -2
  646. package/dist/core/p-f815f8c9.entry.js.map +1 -0
  647. package/dist/core/p-fbde763c.entry.js +2 -0
  648. package/dist/core/p-fbde763c.entry.js.map +1 -0
  649. package/dist/core/p-fc50d582.entry.js +2 -0
  650. package/dist/core/p-fc50d582.entry.js.map +1 -0
  651. package/dist/core/p-fe833509.entry.js +2 -0
  652. package/dist/core/p-fe833509.entry.js.map +1 -0
  653. package/dist/esm/app-globals-0f993ce5.js +5 -0
  654. package/dist/esm/app-globals-0f993ce5.js.map +1 -0
  655. package/dist/esm/core.js +14 -12
  656. package/dist/esm/core.js.map +1 -1
  657. package/dist/esm/{helpers-35ac5e03.js → helpers-46a2d1fd.js} +152 -71
  658. package/dist/esm/helpers-46a2d1fd.js.map +1 -0
  659. package/dist/esm/ic-accordion-group.entry.js +38 -22
  660. package/dist/esm/ic-accordion-group.entry.js.map +1 -1
  661. package/dist/esm/ic-accordion.entry.js +75 -46
  662. package/dist/esm/ic-accordion.entry.js.map +1 -1
  663. package/dist/esm/ic-alert.entry.js +93 -46
  664. package/dist/esm/ic-alert.entry.js.map +1 -1
  665. package/dist/esm/ic-back-to-top.entry.js +32 -16
  666. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  667. package/dist/esm/ic-badge.entry.js +91 -42
  668. package/dist/esm/ic-badge.entry.js.map +1 -1
  669. package/dist/esm/ic-breadcrumb-group.entry.js +114 -63
  670. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  671. package/dist/esm/ic-breadcrumb.entry.js +78 -18
  672. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  673. package/dist/esm/ic-button_3.entry.js +366 -168
  674. package/dist/esm/ic-button_3.entry.js.map +1 -1
  675. package/dist/esm/ic-card-vertical.entry.js +93 -72
  676. package/dist/esm/ic-card-vertical.entry.js.map +1 -1
  677. package/dist/esm/ic-checkbox-group.entry.js +51 -14
  678. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  679. package/dist/esm/ic-checkbox.entry.js +55 -31
  680. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  681. package/dist/esm/ic-chip.entry.js +64 -32
  682. package/dist/esm/ic-chip.entry.js.map +1 -1
  683. package/dist/esm/ic-classification-banner.entry.js +22 -6
  684. package/dist/esm/ic-classification-banner.entry.js.map +1 -1
  685. package/dist/esm/ic-data-list.entry.js +17 -7
  686. package/dist/esm/ic-data-list.entry.js.map +1 -1
  687. package/dist/esm/ic-data-row.entry.js +31 -20
  688. package/dist/esm/ic-data-row.entry.js.map +1 -1
  689. package/dist/esm/ic-dialog.entry.js +170 -114
  690. package/dist/esm/ic-dialog.entry.js.map +1 -1
  691. package/dist/esm/ic-divider.entry.js +95 -12
  692. package/dist/esm/ic-divider.entry.js.map +1 -1
  693. package/dist/esm/ic-empty-state.entry.js +21 -24
  694. package/dist/esm/ic-empty-state.entry.js.map +1 -1
  695. package/dist/esm/ic-footer-link-group.entry.js +12 -14
  696. package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
  697. package/dist/esm/ic-footer-link.entry.js +15 -16
  698. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  699. package/dist/esm/ic-footer.entry.js +52 -30
  700. package/dist/esm/ic-footer.entry.js.map +1 -1
  701. package/dist/esm/ic-hero.entry.js +35 -32
  702. package/dist/esm/ic-hero.entry.js.map +1 -1
  703. package/dist/esm/ic-horizontal-scroll.entry.js +40 -21
  704. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  705. package/dist/esm/ic-input-component-container_3.entry.js +587 -244
  706. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  707. package/dist/esm/ic-input-label_2.entry.js +62 -37
  708. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  709. package/dist/esm/ic-link.entry.js +43 -28
  710. package/dist/esm/ic-link.entry.js.map +1 -1
  711. package/dist/esm/ic-menu-group.entry.js +6 -7
  712. package/dist/esm/ic-menu-group.entry.js.map +1 -1
  713. package/dist/esm/ic-menu-item.entry.js +41 -33
  714. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  715. package/dist/esm/ic-navigation-button.entry.js +32 -24
  716. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  717. package/dist/esm/ic-navigation-group.entry.js +69 -44
  718. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  719. package/dist/esm/ic-navigation-item.entry.js +122 -45
  720. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  721. package/dist/esm/ic-navigation-menu.entry.js +55 -33
  722. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  723. package/dist/esm/ic-page-header.entry.js +53 -31
  724. package/dist/esm/ic-page-header.entry.js.map +1 -1
  725. package/dist/esm/ic-pagination-item.entry.js +37 -24
  726. package/dist/esm/ic-pagination-item.entry.js.map +1 -1
  727. package/dist/esm/ic-pagination.entry.js +76 -36
  728. package/dist/esm/ic-pagination.entry.js.map +1 -1
  729. package/dist/esm/ic-popover-menu.entry.js +97 -60
  730. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  731. package/dist/esm/ic-radio-group.entry.js +103 -48
  732. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  733. package/dist/esm/ic-radio-option.entry.js +70 -39
  734. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  735. package/dist/esm/ic-search-bar.entry.js +195 -108
  736. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  737. package/dist/esm/ic-section-container.entry.js +12 -5
  738. package/dist/esm/ic-section-container.entry.js.map +1 -1
  739. package/dist/esm/ic-select.entry.js +418 -199
  740. package/dist/esm/ic-select.entry.js.map +1 -1
  741. package/dist/esm/ic-side-navigation.entry.js +119 -79
  742. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  743. package/dist/esm/ic-skeleton.entry.js +15 -8
  744. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  745. package/dist/esm/ic-skip-link.entry.js +58 -0
  746. package/dist/esm/ic-skip-link.entry.js.map +1 -0
  747. package/dist/esm/ic-status-tag.entry.js +30 -10
  748. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  749. package/dist/esm/ic-step.entry.js +37 -37
  750. package/dist/esm/ic-step.entry.js.map +1 -1
  751. package/dist/esm/ic-stepper.entry.js +60 -36
  752. package/dist/esm/ic-stepper.entry.js.map +1 -1
  753. package/dist/esm/ic-switch.entry.js +63 -31
  754. package/dist/esm/ic-switch.entry.js.map +1 -1
  755. package/dist/esm/ic-tab-context.entry.js +112 -152
  756. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  757. package/dist/esm/ic-tab-group.entry.js +18 -14
  758. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  759. package/dist/esm/ic-tab-panel.entry.js +19 -15
  760. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  761. package/dist/esm/ic-tab.entry.js +31 -22
  762. package/dist/esm/ic-tab.entry.js.map +1 -1
  763. package/dist/esm/ic-text-field.entry.js +229 -81
  764. package/dist/esm/ic-text-field.entry.js.map +1 -1
  765. package/dist/esm/ic-theme.entry.js +54 -23
  766. package/dist/esm/ic-theme.entry.js.map +1 -1
  767. package/dist/esm/ic-toast-region.entry.js +8 -3
  768. package/dist/esm/ic-toast-region.entry.js.map +1 -1
  769. package/dist/esm/ic-toast.entry.js +30 -23
  770. package/dist/esm/ic-toast.entry.js.map +1 -1
  771. package/dist/esm/ic-toggle-button-group.entry.js +117 -35
  772. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  773. package/dist/esm/ic-toggle-button.entry.js +110 -23
  774. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  775. package/dist/esm/ic-top-navigation.entry.js +65 -35
  776. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  777. package/dist/esm/ic-typography.entry.js +59 -30
  778. package/dist/esm/ic-typography.entry.js.map +1 -1
  779. package/dist/esm/index-a7a720e7.js +2580 -0
  780. package/dist/esm/index-a7a720e7.js.map +1 -0
  781. package/dist/esm/loader.js +6 -4
  782. package/dist/esm/loader.js.map +1 -1
  783. package/dist/types/components/ic-accordion/ic-accordion.d.ts +10 -8
  784. package/dist/types/components/ic-accordion-group/ic-accordion-group.d.ts +9 -9
  785. package/dist/types/components/ic-alert/ic-alert.d.ts +24 -8
  786. package/dist/types/components/ic-back-to-top/ic-back-to-top.d.ts +11 -2
  787. package/dist/types/components/ic-back-to-top/ic-back-to-top.types.d.ts +1 -0
  788. package/dist/types/components/ic-badge/ic-badge.d.ts +15 -5
  789. package/dist/types/components/ic-breadcrumb/ic-breadcrumb.d.ts +19 -6
  790. package/dist/types/components/ic-breadcrumb-group/ic-breadcrumb-group.d.ts +16 -9
  791. package/dist/types/components/ic-button/ic-button.d.ts +19 -13
  792. package/dist/types/components/ic-button/ic-button.types.d.ts +0 -1
  793. package/dist/types/components/ic-card-vertical/ic-card-vertical.d.ts +9 -5
  794. package/dist/types/components/ic-checkbox/ic-checkbox.d.ts +17 -12
  795. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +15 -8
  796. package/dist/types/components/ic-chip/ic-chip.d.ts +13 -2
  797. package/dist/types/components/ic-data-list/ic-data-list.d.ts +6 -2
  798. package/dist/types/components/ic-data-row/ic-data-row.d.ts +7 -3
  799. package/dist/types/components/ic-dialog/ic-dialog.d.ts +21 -12
  800. package/dist/types/components/ic-divider/ic-divider.d.ts +33 -3
  801. package/dist/types/components/ic-divider/ic-divider.types.d.ts +3 -0
  802. package/dist/types/components/ic-empty-state/ic-empty-state.d.ts +5 -2
  803. package/dist/types/components/ic-footer/ic-footer.d.ts +8 -7
  804. package/dist/types/components/ic-footer-link/ic-footer-link.d.ts +3 -3
  805. package/dist/types/components/ic-footer-link-group/ic-footer-link-group.d.ts +3 -2
  806. package/dist/types/components/ic-hero/ic-hero.d.ts +6 -7
  807. package/dist/types/components/ic-horizontal-scroll/ic-horizontal-scroll.d.ts +8 -2
  808. package/dist/types/components/ic-input-component-container/ic-input-component-container.d.ts +8 -11
  809. package/dist/types/components/ic-input-label/ic-input-label.d.ts +10 -6
  810. package/dist/types/components/ic-input-validation/ic-input-validation.d.ts +4 -4
  811. package/dist/types/components/ic-link/ic-link.d.ts +10 -6
  812. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.d.ts +12 -8
  813. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.types.d.ts +1 -1
  814. package/dist/types/components/ic-menu/ic-menu.d.ts +56 -23
  815. package/dist/types/components/ic-menu/ic-menu.types.d.ts +1 -1
  816. package/dist/types/components/ic-menu-item/ic-menu-item.d.ts +13 -6
  817. package/dist/types/components/ic-navigation-button/ic-navigation-button.d.ts +8 -4
  818. package/dist/types/components/ic-navigation-group/ic-navigation-group.d.ts +25 -9
  819. package/dist/types/components/ic-navigation-group/ic-navigation-group.types.d.ts +6 -0
  820. package/dist/types/components/ic-navigation-item/ic-navigation-item.d.ts +22 -11
  821. package/dist/types/components/ic-navigation-menu/ic-navigation-menu.d.ts +10 -3
  822. package/dist/types/components/ic-page-header/ic-page-header.d.ts +5 -1
  823. package/dist/types/components/ic-pagination/ic-pagination.d.ts +19 -14
  824. package/dist/types/components/ic-pagination-item/ic-pagination-item.d.ts +14 -9
  825. package/dist/types/components/ic-popover-menu/ic-popover-menu.d.ts +13 -11
  826. package/dist/types/components/ic-radio-group/ic-radio-group.d.ts +15 -10
  827. package/dist/types/components/ic-radio-option/ic-radio-option.d.ts +16 -9
  828. package/dist/types/components/ic-search-bar/ic-search-bar.d.ts +26 -14
  829. package/dist/types/components/ic-search-bar/ic-search-bar.types.d.ts +1 -1
  830. package/dist/types/components/ic-select/ic-select.d.ts +53 -32
  831. package/dist/types/components/ic-side-navigation/ic-side-navigation.d.ts +15 -15
  832. package/dist/types/components/ic-side-navigation/ic-side-navigation.types.d.ts +2 -2
  833. package/dist/types/components/ic-skeleton/ic-skeleton.d.ts +3 -2
  834. package/dist/types/components/ic-skip-link/ic-skip-link.d.ts +38 -0
  835. package/dist/types/components/ic-status-tag/ic-status-tag.d.ts +8 -0
  836. package/dist/types/components/ic-step/ic-step.d.ts +5 -0
  837. package/dist/types/components/ic-stepper/ic-stepper.d.ts +7 -5
  838. package/dist/types/components/ic-switch/ic-switch.d.ts +8 -7
  839. package/dist/types/components/ic-tab/ic-tab.d.ts +8 -5
  840. package/dist/types/components/ic-tab-context/ic-tab-context.d.ts +19 -12
  841. package/dist/types/components/ic-tab-group/ic-tab-group.d.ts +5 -5
  842. package/dist/types/components/ic-tab-panel/ic-tab-panel.d.ts +9 -3
  843. package/dist/types/components/ic-text-field/ic-text-field.d.ts +59 -34
  844. package/dist/types/components/ic-theme/ic-theme.d.ts +19 -8
  845. package/dist/types/components/ic-toast/ic-toast.d.ts +3 -3
  846. package/dist/types/components/ic-toast-region/ic-toast-region.d.ts +2 -1
  847. package/dist/types/components/ic-toggle-button/ic-toggle-button.d.ts +17 -8
  848. package/dist/types/components/ic-toggle-button-group/ic-toggle-button-group.d.ts +21 -5
  849. package/dist/types/components/ic-tooltip/ic-tooltip.d.ts +9 -1
  850. package/dist/types/components/ic-top-navigation/ic-top-navigation.d.ts +16 -12
  851. package/dist/types/components/ic-typography/ic-typography.d.ts +6 -2
  852. package/dist/types/components.d.ts +975 -389
  853. package/dist/types/stencil-public-runtime.d.ts +9 -10
  854. package/dist/types/utils/constants.d.ts +1 -0
  855. package/dist/types/utils/helpers.d.ts +35 -17
  856. package/dist/types/utils/types.d.ts +18 -10
  857. package/hydrate/index.d.ts +53 -12
  858. package/hydrate/index.js +32853 -19673
  859. package/hydrate/index.mjs +34474 -0
  860. package/hydrate/package.json +7 -1
  861. package/loader/cdn.js +1 -3
  862. package/loader/index.cjs.js +1 -3
  863. package/loader/index.d.ts +3 -0
  864. package/loader/index.es2017.js +1 -3
  865. package/loader/index.js +1 -3
  866. package/package.json +22 -21
  867. package/vscode-data.json +1017 -653
  868. package/dist/cjs/helpers-94b33ab0.js.map +0 -1
  869. package/dist/cjs/index-f982899d.js +0 -3047
  870. package/dist/cjs/index-f982899d.js.map +0 -1
  871. package/dist/cjs/types-dc22e301.js +0 -16
  872. package/dist/cjs/types-dc22e301.js.map +0 -1
  873. package/dist/collection/components/ic-accordion/test/basic/ic-accordion.spec.js +0 -346
  874. package/dist/collection/components/ic-accordion/test/basic/ic-accordion.spec.js.map +0 -1
  875. package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.spec.js +0 -129
  876. package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.spec.js.map +0 -1
  877. package/dist/collection/components/ic-alert/test/basic/ic-alert.spec.js +0 -197
  878. package/dist/collection/components/ic-alert/test/basic/ic-alert.spec.js.map +0 -1
  879. package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.spec.js +0 -131
  880. package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.spec.js.map +0 -1
  881. package/dist/collection/components/ic-badge/test/basic/ic-badge.spec.js +0 -264
  882. package/dist/collection/components/ic-badge/test/basic/ic-badge.spec.js.map +0 -1
  883. package/dist/collection/components/ic-breadcrumb/test/basic/ic-breadcrumb.spec.js +0 -118
  884. package/dist/collection/components/ic-breadcrumb/test/basic/ic-breadcrumb.spec.js.map +0 -1
  885. package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group.spec.js +0 -219
  886. package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group.spec.js.map +0 -1
  887. package/dist/collection/components/ic-button/test/basic/ic-button.spec.js +0 -332
  888. package/dist/collection/components/ic-button/test/basic/ic-button.spec.js.map +0 -1
  889. package/dist/collection/components/ic-card-vertical/test/basic/ic-card-vertical.spec.js +0 -173
  890. package/dist/collection/components/ic-card-vertical/test/basic/ic-card-vertical.spec.js.map +0 -1
  891. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js +0 -281
  892. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js.map +0 -1
  893. package/dist/collection/components/ic-chip/test/basic/ic-chip.spec.js +0 -169
  894. package/dist/collection/components/ic-chip/test/basic/ic-chip.spec.js.map +0 -1
  895. package/dist/collection/components/ic-classification-banner/test/basic/ic-classification-banner.spec.js +0 -188
  896. package/dist/collection/components/ic-classification-banner/test/basic/ic-classification-banner.spec.js.map +0 -1
  897. package/dist/collection/components/ic-data-list/test/basic/ic-data-list.spec.js +0 -161
  898. package/dist/collection/components/ic-data-list/test/basic/ic-data-list.spec.js.map +0 -1
  899. package/dist/collection/components/ic-data-row/test/basic/ic-data-row.spec.js +0 -74
  900. package/dist/collection/components/ic-data-row/test/basic/ic-data-row.spec.js.map +0 -1
  901. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js +0 -428
  902. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js.map +0 -1
  903. package/dist/collection/components/ic-divider/test/basic/ic-divider.spec.js +0 -24
  904. package/dist/collection/components/ic-divider/test/basic/ic-divider.spec.js.map +0 -1
  905. package/dist/collection/components/ic-footer/test/basic/ic-footer.spec.js +0 -140
  906. package/dist/collection/components/ic-footer/test/basic/ic-footer.spec.js.map +0 -1
  907. package/dist/collection/components/ic-footer-link/test/basic/ic-footer-link.spec.js +0 -46
  908. package/dist/collection/components/ic-footer-link/test/basic/ic-footer-link.spec.js.map +0 -1
  909. package/dist/collection/components/ic-footer-link-group/test/basic/ic-footer-link-group.spec.js +0 -66
  910. package/dist/collection/components/ic-footer-link-group/test/basic/ic-footer-link-group.spec.js.map +0 -1
  911. package/dist/collection/components/ic-hero/test/basic/ic-hero.spec.js +0 -91
  912. package/dist/collection/components/ic-hero/test/basic/ic-hero.spec.js.map +0 -1
  913. package/dist/collection/components/ic-horizontal-scroll/test/basic/ic-horizontal-scroll.spec.js +0 -180
  914. package/dist/collection/components/ic-horizontal-scroll/test/basic/ic-horizontal-scroll.spec.js.map +0 -1
  915. package/dist/collection/components/ic-input-component-container/test/basic/ic-input-component-container.spec.js +0 -145
  916. package/dist/collection/components/ic-input-component-container/test/basic/ic-input-component-container.spec.js.map +0 -1
  917. package/dist/collection/components/ic-input-container/test/basic/ic-input-container.spec.js +0 -38
  918. package/dist/collection/components/ic-input-container/test/basic/ic-input-container.spec.js.map +0 -1
  919. package/dist/collection/components/ic-input-label/test/basic/ic-input-label.spec.js +0 -98
  920. package/dist/collection/components/ic-input-label/test/basic/ic-input-label.spec.js.map +0 -1
  921. package/dist/collection/components/ic-input-validation/test/basic/ic-input-validation.spec.js +0 -89
  922. package/dist/collection/components/ic-input-validation/test/basic/ic-input-validation.spec.js.map +0 -1
  923. package/dist/collection/components/ic-link/test/basic/ic-link.spec.js +0 -217
  924. package/dist/collection/components/ic-link/test/basic/ic-link.spec.js.map +0 -1
  925. package/dist/collection/components/ic-loading-indicator/test/basic/ic-loading-indicator.spec.js +0 -148
  926. package/dist/collection/components/ic-loading-indicator/test/basic/ic-loading-indicator.spec.js.map +0 -1
  927. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js +0 -760
  928. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js.map +0 -1
  929. package/dist/collection/components/ic-menu-group/test/basic/ic-menu-group.spec.js +0 -94
  930. package/dist/collection/components/ic-menu-group/test/basic/ic-menu-group.spec.js.map +0 -1
  931. package/dist/collection/components/ic-menu-item/test/basic/ic-menu-item.spec.js +0 -108
  932. package/dist/collection/components/ic-menu-item/test/basic/ic-menu-item.spec.js.map +0 -1
  933. package/dist/collection/components/ic-navigation-button/test/basic/ic-navigation-button.spec.js +0 -95
  934. package/dist/collection/components/ic-navigation-button/test/basic/ic-navigation-button.spec.js.map +0 -1
  935. package/dist/collection/components/ic-navigation-group/test/basic/ic-navigation-group.spec.js +0 -309
  936. package/dist/collection/components/ic-navigation-group/test/basic/ic-navigation-group.spec.js.map +0 -1
  937. package/dist/collection/components/ic-navigation-item/test/basic/ic-navigation-item.spec.js +0 -118
  938. package/dist/collection/components/ic-navigation-item/test/basic/ic-navigation-item.spec.js.map +0 -1
  939. package/dist/collection/components/ic-navigation-menu/test/basic/ic-navigation-menu.spec.js +0 -176
  940. package/dist/collection/components/ic-navigation-menu/test/basic/ic-navigation-menu.spec.js.map +0 -1
  941. package/dist/collection/components/ic-page-header/test/basic/ic-page-header.spec.js +0 -291
  942. package/dist/collection/components/ic-page-header/test/basic/ic-page-header.spec.js.map +0 -1
  943. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js +0 -380
  944. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js.map +0 -1
  945. package/dist/collection/components/ic-pagination-item/test/basic/ic-pagination-item.spec.js +0 -76
  946. package/dist/collection/components/ic-pagination-item/test/basic/ic-pagination-item.spec.js.map +0 -1
  947. package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.spec.js +0 -398
  948. package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.spec.js.map +0 -1
  949. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.e2e.js +0 -339
  950. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.e2e.js.map +0 -1
  951. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js +0 -380
  952. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js.map +0 -1
  953. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.e2e.js +0 -1106
  954. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.e2e.js.map +0 -1
  955. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.spec.js +0 -584
  956. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.spec.js.map +0 -1
  957. package/dist/collection/components/ic-section-container/test/basic/ic-section-container.spec.js +0 -69
  958. package/dist/collection/components/ic-section-container/test/basic/ic-section-container.spec.js.map +0 -1
  959. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js +0 -1439
  960. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js.map +0 -1
  961. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.spec.js +0 -503
  962. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.spec.js.map +0 -1
  963. package/dist/collection/components/ic-skeleton/test/basic/ic-skeleton.spec.js +0 -89
  964. package/dist/collection/components/ic-skeleton/test/basic/ic-skeleton.spec.js.map +0 -1
  965. package/dist/collection/components/ic-status-tag/test/basic/ic-status-tag.spec.js +0 -43
  966. package/dist/collection/components/ic-status-tag/test/basic/ic-status-tag.spec.js.map +0 -1
  967. package/dist/collection/components/ic-step/test/basic/ic-step.spec.js +0 -176
  968. package/dist/collection/components/ic-step/test/basic/ic-step.spec.js.map +0 -1
  969. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.e2e.js +0 -49
  970. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.e2e.js.map +0 -1
  971. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.spec.js +0 -752
  972. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.spec.js.map +0 -1
  973. package/dist/collection/components/ic-switch/test/basic/ic-switch.spec.js +0 -104
  974. package/dist/collection/components/ic-switch/test/basic/ic-switch.spec.js.map +0 -1
  975. package/dist/collection/components/ic-tab/test/basic/ic-tab.spec.js +0 -159
  976. package/dist/collection/components/ic-tab/test/basic/ic-tab.spec.js.map +0 -1
  977. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.spec.js +0 -390
  978. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.spec.js.map +0 -1
  979. package/dist/collection/components/ic-tab-panel/test/basic/ic-tab-panel.spec.js +0 -50
  980. package/dist/collection/components/ic-tab-panel/test/basic/ic-tab-panel.spec.js.map +0 -1
  981. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js +0 -284
  982. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js.map +0 -1
  983. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.textarea.spec.js +0 -341
  984. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.textarea.spec.js.map +0 -1
  985. package/dist/collection/components/ic-theme/test/basic/ic-theme.e2e.js +0 -72
  986. package/dist/collection/components/ic-theme/test/basic/ic-theme.e2e.js.map +0 -1
  987. package/dist/collection/components/ic-theme/test/basic/ic-theme.spec.js +0 -77
  988. package/dist/collection/components/ic-theme/test/basic/ic-theme.spec.js.map +0 -1
  989. package/dist/collection/components/ic-toast/test/basic/ic-toast.spec.js +0 -314
  990. package/dist/collection/components/ic-toast/test/basic/ic-toast.spec.js.map +0 -1
  991. package/dist/collection/components/ic-toast-region/test/basic/ic-toast-region.spec.js +0 -64
  992. package/dist/collection/components/ic-toast-region/test/basic/ic-toast-region.spec.js.map +0 -1
  993. package/dist/collection/components/ic-toggle-button/test/basic/ic-toggle-button.spec.js +0 -116
  994. package/dist/collection/components/ic-toggle-button/test/basic/ic-toggle-button.spec.js.map +0 -1
  995. package/dist/collection/components/ic-toggle-button-group/test/ic-toggle-button-group.spec.js +0 -150
  996. package/dist/collection/components/ic-toggle-button-group/test/ic-toggle-button-group.spec.js.map +0 -1
  997. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.e2e.js +0 -109
  998. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.e2e.js.map +0 -1
  999. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.spec.js +0 -307
  1000. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.spec.js.map +0 -1
  1001. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.spec.js +0 -314
  1002. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.spec.js.map +0 -1
  1003. package/dist/collection/components/ic-typography/test/basic/ic-typography.e2e.js +0 -39
  1004. package/dist/collection/components/ic-typography/test/basic/ic-typography.e2e.js.map +0 -1
  1005. package/dist/collection/components/ic-typography/test/basic/ic-typography.spec.js +0 -393
  1006. package/dist/collection/components/ic-typography/test/basic/ic-typography.spec.js.map +0 -1
  1007. package/dist/collection/testspec.setup.js +0 -63
  1008. package/dist/collection/testspec.setup.js.map +0 -1
  1009. package/dist/components/ic-text-field2.js +0 -354
  1010. package/dist/components/ic-text-field2.js.map +0 -1
  1011. package/dist/components/types.js +0 -16
  1012. package/dist/components/types.js.map +0 -1
  1013. package/dist/core/p-05d32a4f.entry.js +0 -2
  1014. package/dist/core/p-05d32a4f.entry.js.map +0 -1
  1015. package/dist/core/p-086a6d4f.entry.js +0 -2
  1016. package/dist/core/p-086a6d4f.entry.js.map +0 -1
  1017. package/dist/core/p-0a00a786.entry.js +0 -2
  1018. package/dist/core/p-0a00a786.entry.js.map +0 -1
  1019. package/dist/core/p-145fcef3.entry.js +0 -2
  1020. package/dist/core/p-145fcef3.entry.js.map +0 -1
  1021. package/dist/core/p-15367990.entry.js +0 -2
  1022. package/dist/core/p-15367990.entry.js.map +0 -1
  1023. package/dist/core/p-1737bf2c.entry.js +0 -2
  1024. package/dist/core/p-1737bf2c.entry.js.map +0 -1
  1025. package/dist/core/p-1ace2b02.entry.js +0 -2
  1026. package/dist/core/p-1ace2b02.entry.js.map +0 -1
  1027. package/dist/core/p-1e371012.entry.js +0 -2
  1028. package/dist/core/p-1e371012.entry.js.map +0 -1
  1029. package/dist/core/p-1f227289.entry.js +0 -2
  1030. package/dist/core/p-1f227289.entry.js.map +0 -1
  1031. package/dist/core/p-24275b92.entry.js +0 -2
  1032. package/dist/core/p-24275b92.entry.js.map +0 -1
  1033. package/dist/core/p-26b7b18f.js +0 -2
  1034. package/dist/core/p-26b7b18f.js.map +0 -1
  1035. package/dist/core/p-29e6c33f.entry.js +0 -2
  1036. package/dist/core/p-29e6c33f.entry.js.map +0 -1
  1037. package/dist/core/p-2a6f01ad.entry.js +0 -2
  1038. package/dist/core/p-2a6f01ad.entry.js.map +0 -1
  1039. package/dist/core/p-2f86c53b.entry.js +0 -2
  1040. package/dist/core/p-2f86c53b.entry.js.map +0 -1
  1041. package/dist/core/p-319e40c0.entry.js +0 -2
  1042. package/dist/core/p-319e40c0.entry.js.map +0 -1
  1043. package/dist/core/p-346c6920.entry.js +0 -2
  1044. package/dist/core/p-346c6920.entry.js.map +0 -1
  1045. package/dist/core/p-4b1445b3.entry.js +0 -2
  1046. package/dist/core/p-4b1445b3.entry.js.map +0 -1
  1047. package/dist/core/p-4b621c67.entry.js +0 -2
  1048. package/dist/core/p-4b621c67.entry.js.map +0 -1
  1049. package/dist/core/p-4ca2b177.entry.js +0 -2
  1050. package/dist/core/p-4ca2b177.entry.js.map +0 -1
  1051. package/dist/core/p-54238d16.entry.js.map +0 -1
  1052. package/dist/core/p-5515ad19.entry.js +0 -2
  1053. package/dist/core/p-5515ad19.entry.js.map +0 -1
  1054. package/dist/core/p-5c8081d6.entry.js +0 -2
  1055. package/dist/core/p-5c8081d6.entry.js.map +0 -1
  1056. package/dist/core/p-5f941f3a.entry.js +0 -2
  1057. package/dist/core/p-5f941f3a.entry.js.map +0 -1
  1058. package/dist/core/p-5fd293b3.entry.js +0 -2
  1059. package/dist/core/p-5fd293b3.entry.js.map +0 -1
  1060. package/dist/core/p-60721d95.entry.js +0 -2
  1061. package/dist/core/p-60721d95.entry.js.map +0 -1
  1062. package/dist/core/p-64a5a1d8.entry.js +0 -2
  1063. package/dist/core/p-64a5a1d8.entry.js.map +0 -1
  1064. package/dist/core/p-65e36461.entry.js +0 -2
  1065. package/dist/core/p-65e36461.entry.js.map +0 -1
  1066. package/dist/core/p-66363c7d.entry.js +0 -2
  1067. package/dist/core/p-66363c7d.entry.js.map +0 -1
  1068. package/dist/core/p-69728d76.entry.js +0 -2
  1069. package/dist/core/p-69728d76.entry.js.map +0 -1
  1070. package/dist/core/p-6b328c76.entry.js +0 -2
  1071. package/dist/core/p-6b328c76.entry.js.map +0 -1
  1072. package/dist/core/p-6b5ddacd.entry.js +0 -2
  1073. package/dist/core/p-6b5ddacd.entry.js.map +0 -1
  1074. package/dist/core/p-6b5e91e2.js +0 -3
  1075. package/dist/core/p-6b5e91e2.js.map +0 -1
  1076. package/dist/core/p-7b3d6577.entry.js +0 -2
  1077. package/dist/core/p-7b3d6577.entry.js.map +0 -1
  1078. package/dist/core/p-7d45828d.entry.js +0 -2
  1079. package/dist/core/p-7d45828d.entry.js.map +0 -1
  1080. package/dist/core/p-893eca54.entry.js +0 -2
  1081. package/dist/core/p-893eca54.entry.js.map +0 -1
  1082. package/dist/core/p-8ee262a4.entry.js +0 -2
  1083. package/dist/core/p-8ee262a4.entry.js.map +0 -1
  1084. package/dist/core/p-8f93d92b.entry.js +0 -2
  1085. package/dist/core/p-8f93d92b.entry.js.map +0 -1
  1086. package/dist/core/p-90bb13d2.entry.js +0 -2
  1087. package/dist/core/p-90bb13d2.entry.js.map +0 -1
  1088. package/dist/core/p-9189a82d.entry.js +0 -2
  1089. package/dist/core/p-9189a82d.entry.js.map +0 -1
  1090. package/dist/core/p-9190a84d.entry.js +0 -2
  1091. package/dist/core/p-9190a84d.entry.js.map +0 -1
  1092. package/dist/core/p-93f50a1a.entry.js +0 -2
  1093. package/dist/core/p-93f50a1a.entry.js.map +0 -1
  1094. package/dist/core/p-9474baf3.entry.js +0 -2
  1095. package/dist/core/p-9474baf3.entry.js.map +0 -1
  1096. package/dist/core/p-9857f6b0.entry.js +0 -2
  1097. package/dist/core/p-9857f6b0.entry.js.map +0 -1
  1098. package/dist/core/p-a0e4d6bd.entry.js.map +0 -1
  1099. package/dist/core/p-a1b9a808.entry.js +0 -2
  1100. package/dist/core/p-a1b9a808.entry.js.map +0 -1
  1101. package/dist/core/p-a79bec03.entry.js +0 -2
  1102. package/dist/core/p-a79bec03.entry.js.map +0 -1
  1103. package/dist/core/p-a84a4675.entry.js +0 -2
  1104. package/dist/core/p-a84a4675.entry.js.map +0 -1
  1105. package/dist/core/p-a87d13b3.entry.js.map +0 -1
  1106. package/dist/core/p-a928c7b3.entry.js +0 -2
  1107. package/dist/core/p-a928c7b3.entry.js.map +0 -1
  1108. package/dist/core/p-bf89c86d.entry.js.map +0 -1
  1109. package/dist/core/p-d0524c73.js +0 -2
  1110. package/dist/core/p-d0524c73.js.map +0 -1
  1111. package/dist/core/p-d24410ca.entry.js +0 -2
  1112. package/dist/core/p-d24410ca.entry.js.map +0 -1
  1113. package/dist/core/p-d52ca420.entry.js +0 -2
  1114. package/dist/core/p-d52ca420.entry.js.map +0 -1
  1115. package/dist/core/p-d67a30ca.entry.js +0 -2
  1116. package/dist/core/p-d67a30ca.entry.js.map +0 -1
  1117. package/dist/core/p-de27c59e.entry.js +0 -2
  1118. package/dist/core/p-de27c59e.entry.js.map +0 -1
  1119. package/dist/core/p-dec339ba.entry.js +0 -2
  1120. package/dist/core/p-dec339ba.entry.js.map +0 -1
  1121. package/dist/core/p-e4335135.entry.js +0 -2
  1122. package/dist/core/p-e4335135.entry.js.map +0 -1
  1123. package/dist/core/p-e56a2a06.entry.js +0 -2
  1124. package/dist/core/p-e56a2a06.entry.js.map +0 -1
  1125. package/dist/core/p-e696dc2a.entry.js +0 -2
  1126. package/dist/core/p-e696dc2a.entry.js.map +0 -1
  1127. package/dist/core/p-f0501be1.entry.js +0 -2
  1128. package/dist/core/p-f0501be1.entry.js.map +0 -1
  1129. package/dist/core/p-f50462df.entry.js +0 -2
  1130. package/dist/core/p-f50462df.entry.js.map +0 -1
  1131. package/dist/core/p-feb80f37.entry.js +0 -2
  1132. package/dist/core/p-feb80f37.entry.js.map +0 -1
  1133. package/dist/esm/helpers-35ac5e03.js.map +0 -1
  1134. package/dist/esm/index-d1d2c456.js +0 -3016
  1135. package/dist/esm/index-d1d2c456.js.map +0 -1
  1136. package/dist/esm/polyfills/core-js.js +0 -11
  1137. package/dist/esm/polyfills/dom.js +0 -79
  1138. package/dist/esm/polyfills/es5-html-element.js +0 -1
  1139. package/dist/esm/polyfills/index.js +0 -34
  1140. package/dist/esm/polyfills/system.js +0 -6
  1141. package/dist/esm/types-6f6b41a5.js +0 -16
  1142. package/dist/esm/types-6f6b41a5.js.map +0 -1
  1143. package/dist/types/testspec.setup.d.ts +0 -15
@@ -1,1439 +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 menuOptionsWithGroups = [
70
- {
71
- label: "Fancy",
72
- children: [
73
- { label: "Cappuccino", value: "Cap" },
74
- { label: "Flat white", value: "Flat" },
75
- ],
76
- },
77
- {
78
- label: "Boring",
79
- children: [
80
- { label: "Filter", value: "Fil" },
81
- { label: "Latte", value: "Lat" },
82
- ],
83
- },
84
- ];
85
- const getTestSelect = (props) => `<ic-select label="IC Select Test" ${props}></ic-select>
86
- <script>
87
- var select = document.querySelector('ic-select');
88
- var option = 'Test value 1';
89
- select.options = ${menuOptions}
90
- select.addEventListener('icChange', function (event) {
91
- option = event.detail.value;
92
- select.value = option;
93
- });
94
- </script>`;
95
- describe("ic-select", () => {
96
- it("should not render a label when the 'hide-label' prop is supplied", async () => {
97
- const page = await newSpecPage({
98
- components: [Select, Menu, InputComponentContainer],
99
- html: getTestSelect("hide-label"),
100
- });
101
- expect(page.root).toMatchSnapshot("hide-label-set");
102
- });
103
- it("should test select as submit on form", async () => {
104
- const page = await newSpecPage({
105
- components: [Select, Menu, InputComponentContainer, Button],
106
- html: `<form id="new-form"></form><ic-select id="ic-select" form="new-form" label="IC Select Test" value="test-value"></ic-select>`,
107
- });
108
- expect(page.root).toMatchSnapshot();
109
- });
110
- it("should render readonly", async () => {
111
- const page = await newSpecPage({
112
- components: [Select, Menu, InputComponentContainer],
113
- html: getTestSelect('readonly="true"'),
114
- });
115
- expect(page.root).toMatchSnapshot("readonly");
116
- });
117
- it("should render with an icon", async () => {
118
- const page = await newSpecPage({
119
- components: [Select, Menu, InputComponentContainer],
120
- html: `<ic-select label="IC Select Test">
121
- <svg
122
- slot="icon"
123
- xmlns="http://www.w3.org/2000/svg"
124
- height="24px"
125
- viewBox="0 0 24 24"
126
- width="24px"
127
- fill="#000000"
128
- >
129
- <path d="M0 0h24v24H0z" fill="none" />
130
- <path
131
- d="M17 3H7c-1.1 0-1.99.9-1.99 2L5 21l7-3 7 3V5c0-1.1-.9-2-2-2z"
132
- />
133
- </svg>
134
- </ic-select>`,
135
- });
136
- expect(page.root).toMatchSnapshot("with-icon");
137
- });
138
- it("should have correct validation status", async () => {
139
- const page = await newSpecPage({
140
- components: [Select, Menu, InputComponentContainer],
141
- html: getTestSelect('validation-status="error"'),
142
- });
143
- expect(page.root).toMatchSnapshot("with-validation-status-error");
144
- });
145
- it("should not have a validation status if disabled", async () => {
146
- const page = await newSpecPage({
147
- components: [Select, Menu, InputComponentContainer],
148
- html: getTestSelect('disabled validation-status="error"'),
149
- });
150
- expect(page.root).toMatchSnapshot("no-validation-status-if-disabled");
151
- });
152
- it("should render correct validation text", async () => {
153
- const page = await newSpecPage({
154
- components: [Select, Menu, InputComponentContainer],
155
- html: getTestSelect('validation-status="error" validation-text="Test validation text"'),
156
- });
157
- expect(page.root).toMatchSnapshot("with-validation-text");
158
- });
159
- it("should not render validation text if no validation status has been supplied", async () => {
160
- const page = await newSpecPage({
161
- components: [Select, Menu, InputComponentContainer],
162
- html: getTestSelect('validation-text="Test validation text"'),
163
- });
164
- expect(page.root).toMatchSnapshot("no-validation-text-if-no-status");
165
- });
166
- it("should test with clear button", async () => {
167
- const eventSpy = jest.fn();
168
- const page = await newSpecPage({
169
- components: [Select, Menu, InputComponentContainer, Button],
170
- html: `<ic-select label="IC Select Test" show-clear-button="true" value="test-value"></ic-select>`,
171
- });
172
- page.root.addEventListener("icClear", eventSpy);
173
- page.root.options = menuOptions;
174
- await page.waitForChanges();
175
- expect(page.root).toMatchSnapshot("with-clear-button");
176
- page.root.setFocus();
177
- await page.waitForChanges();
178
- const clearButton = page.root.shadowRoot.querySelector(clearButtonId);
179
- clearButton.focus();
180
- await page.waitForChanges();
181
- expect(page.rootInstance.clearButtonFocused).toBe(true);
182
- clearButton.blur();
183
- await page.waitForChanges();
184
- expect(page.rootInstance.clearButtonFocused).toBe(false);
185
- clearButton.click();
186
- await page.waitForChanges();
187
- expect(eventSpy).toHaveBeenCalled;
188
- });
189
- it("should test menu handleKeyboardOpen method - arrow down (custom select)", async () => {
190
- const page = await newSpecPage({
191
- components: [Select, Menu, InputComponentContainer],
192
- html: `<ic-select label="IC Select Test"></ic-select>`,
193
- });
194
- page.root.options = menuOptions;
195
- await page.waitForChanges();
196
- const menu = page.root.shadowRoot.querySelector("ic-menu");
197
- const KeyEvent = {
198
- key: "ArrowDown",
199
- preventDefault: () => null,
200
- };
201
- await menu.handleKeyboardOpen(KeyEvent);
202
- await page.waitForChanges();
203
- expect(page.rootInstance.open).toBeTruthy;
204
- expect(page.rootInstance.value).toBe(value1);
205
- await menu.handleKeyboardOpen(KeyEvent);
206
- await page.waitForChanges();
207
- await menu.handleKeyboardOpen(KeyEvent);
208
- await page.waitForChanges();
209
- await menu.handleKeyboardOpen(KeyEvent);
210
- await page.waitForChanges();
211
- expect(page.rootInstance.value).toBe(value1);
212
- });
213
- it("should test menu handleKeyboardOpen method - arrow up (custom select)", async () => {
214
- const page = await newSpecPage({
215
- components: [Select, Menu, InputComponentContainer],
216
- html: `<ic-select label="IC Select Test"></ic-select>`,
217
- });
218
- page.root.options = menuOptions;
219
- await page.waitForChanges();
220
- const menu = page.root.shadowRoot.querySelector("ic-menu");
221
- const KeyEvent = {
222
- key: "ArrowUp",
223
- preventDefault: () => null,
224
- };
225
- await menu.handleKeyboardOpen(KeyEvent);
226
- await page.waitForChanges();
227
- expect(page.rootInstance.open).toBeTruthy;
228
- expect(page.rootInstance.value).toBe(value3);
229
- await menu.handleKeyboardOpen(KeyEvent);
230
- await page.waitForChanges();
231
- await menu.handleKeyboardOpen(KeyEvent);
232
- await page.waitForChanges();
233
- await menu.handleKeyboardOpen(KeyEvent);
234
- await page.waitForChanges();
235
- expect(page.rootInstance.value).toBe(value3);
236
- });
237
- it("should test keydown on menu - space key (custom)", async () => {
238
- const page = await newSpecPage({
239
- components: [Select, Menu, InputComponentContainer],
240
- html: `<ic-select label="IC Select Test"></ic-select>`,
241
- });
242
- page.root.options = menuOptions;
243
- page.rootInstance.open = true;
244
- await page.waitForChanges();
245
- const list = page.root.shadowRoot.querySelector("ic-menu ul");
246
- list.dispatchEvent(new window.window.KeyboardEvent("keydown", {
247
- key: " ",
248
- bubbles: true,
249
- cancelable: true,
250
- }));
251
- await page.waitForChanges();
252
- expect(page.rootInstance.open).toBe(false);
253
- });
254
- it("should test mousedown handler", async () => {
255
- const page = await newSpecPage({
256
- components: [Select, Menu, InputComponentContainer],
257
- html: `<ic-select label="IC Select Test"></ic-select>`,
258
- });
259
- page.root.options = menuOptions;
260
- const button = page.root.shadowRoot.querySelector("button.select-input");
261
- const event = new Event("mousedown", {
262
- bubbles: true,
263
- cancelable: true,
264
- });
265
- button.dispatchEvent(event);
266
- await page.waitForChanges();
267
- expect(page.rootInstance.open).toBe(false);
268
- });
269
- it("should use option labels if no values", async () => {
270
- const page = await newSpecPage({
271
- components: [Select, Menu, InputComponentContainer],
272
- html: `<ic-select label="IC Select Test"></ic-select>`,
273
- });
274
- page.root.options = menuOptionsNoValues;
275
- await page.waitForChanges();
276
- expect(page.root.options[0].value).toBe(label1);
277
- expect(page.root.options[1].value).toBe(label2);
278
- expect(page.root.options[2].value).toBe(label3);
279
- });
280
- it("should select the option that matches the pressed character key", async () => {
281
- const page = await newSpecPage({
282
- components: [Select, Menu, InputComponentContainer],
283
- html: `<ic-select label="IC Select Test"></ic-select>`,
284
- });
285
- page.root.options = menuOptionsWithDescriptions;
286
- await page.waitForChanges();
287
- const eventSpy = jest.fn();
288
- page.win.addEventListener("icChange", eventSpy);
289
- await page.rootInstance.handleKeyDown({
290
- key: "A",
291
- preventDefault: () => null,
292
- });
293
- await page.waitForChanges();
294
- expect(eventSpy).toHaveBeenCalledWith(expect.objectContaining({
295
- detail: expect.objectContaining({
296
- value: "Ame",
297
- }),
298
- }));
299
- await waitForTimeout(1000);
300
- await page.rootInstance.handleKeyDown({
301
- key: "C",
302
- preventDefault: () => null,
303
- });
304
- await page.waitForChanges();
305
- expect(eventSpy).toHaveBeenCalledWith(expect.objectContaining({
306
- detail: expect.objectContaining({
307
- value: "Cap",
308
- }),
309
- }));
310
- });
311
- it("should select the option that matches the pressed character key - grouped options", async () => {
312
- const page = await newSpecPage({
313
- components: [Select, Menu, InputComponentContainer],
314
- html: `<ic-select label="IC Select Test"></ic-select>`,
315
- });
316
- page.root.options = menuOptionsWithGroups;
317
- await page.waitForChanges();
318
- const eventSpy = jest.fn();
319
- page.win.addEventListener("icChange", eventSpy);
320
- await page.rootInstance.handleKeyDown({
321
- key: "F",
322
- preventDefault: () => null,
323
- });
324
- await page.waitForChanges();
325
- expect(eventSpy).toHaveBeenCalledWith(expect.objectContaining({
326
- detail: expect.objectContaining({
327
- value: "Flat",
328
- }),
329
- }));
330
- });
331
- it("should test getFilteredChildMenuOptions for custom select", async () => {
332
- const page = await newSpecPage({
333
- components: [Select, Menu, InputComponentContainer],
334
- html: `<ic-select label="IC Select Test"></ic-select>`,
335
- });
336
- page.root.options = menuOptionsWithGroups;
337
- await page.waitForChanges();
338
- const result = await page.rootInstance.getFilteredChildMenuOptions(menuOptionsWithGroups[0]);
339
- await page.waitForChanges();
340
- expect(result).toEqual(page.root.options[0]);
341
- });
342
- it("should select the option that matches the character key pressed when menu is open", async () => {
343
- const page = await newSpecPage({
344
- components: [Select, Menu, InputComponentContainer],
345
- html: `<ic-select label="IC Select Test"></ic-select>`,
346
- });
347
- page.root.options = menuOptionsWithDescriptions;
348
- page.rootInstance.open = true;
349
- await page.waitForChanges();
350
- const eventSpy = jest.fn();
351
- page.win.addEventListener("icChange", eventSpy);
352
- const list = page.root.shadowRoot.querySelector(menuUl);
353
- list.dispatchEvent(new window.window.KeyboardEvent("keydown", {
354
- key: "C",
355
- bubbles: true,
356
- cancelable: true,
357
- }));
358
- await page.waitForChanges();
359
- expect(eventSpy).toHaveBeenCalledWith(expect.objectContaining({
360
- detail: expect.objectContaining({
361
- value: "Cap",
362
- }),
363
- }));
364
- });
365
- it("should add to pressedCharacters as characters are pressed and then reset it after 1 second", async () => {
366
- const page = await newSpecPage({
367
- components: [Select, Menu, InputComponentContainer],
368
- html: `<ic-select label="IC Select Test"></ic-select>`,
369
- });
370
- page.root.options = menuOptionsWithDescriptions;
371
- await page.waitForChanges();
372
- await page.rootInstance.handleKeyDown({
373
- key: "A",
374
- preventDefault: () => null,
375
- });
376
- await page.waitForChanges();
377
- expect(page.rootInstance.pressedCharacters).toBe("A");
378
- await page.rootInstance.handleKeyDown({
379
- key: "B",
380
- preventDefault: () => null,
381
- });
382
- await page.waitForChanges();
383
- expect(page.rootInstance.pressedCharacters).toBe("AB");
384
- await page.rootInstance.handleKeyDown({
385
- key: "C",
386
- preventDefault: () => null,
387
- });
388
- await page.waitForChanges();
389
- await waitForTimeout(1000);
390
- await page.waitForChanges();
391
- expect(page.rootInstance.pressedCharacters).toBe("");
392
- });
393
- it("should not open the menu when space key is used as a character key", async () => {
394
- const page = await newSpecPage({
395
- components: [Select, Menu, InputComponentContainer],
396
- html: `<ic-select label="IC Select Test"></ic-select>`,
397
- });
398
- page.root.options = menuOptionsWithDescriptions;
399
- await page.waitForChanges();
400
- const eventSpy = jest.fn();
401
- page.win.addEventListener("icOpen", eventSpy);
402
- await page.rootInstance.handleKeyDown({
403
- key: "A",
404
- preventDefault: () => null,
405
- });
406
- await page.rootInstance.handleKeyDown({
407
- key: " ",
408
- preventDefault: () => null,
409
- });
410
- await page.waitForChanges();
411
- expect(page.rootInstance.pressedCharacters).toBe("A ");
412
- expect(page.rootInstance.open).toBe(false);
413
- expect(eventSpy).not.toHaveBeenCalled();
414
- });
415
- it("should not close the menu when space key is used as a character key", async () => {
416
- const page = await newSpecPage({
417
- components: [Select, Menu, InputComponentContainer],
418
- html: `<ic-select label="IC Select Test"></ic-select>`,
419
- });
420
- page.root.options = menuOptionsWithDescriptions;
421
- page.rootInstance.open = true;
422
- await page.waitForChanges();
423
- const eventSpy = jest.fn();
424
- page.win.addEventListener("icClose", eventSpy);
425
- const list = page.root.shadowRoot.querySelector(menuUl);
426
- list.dispatchEvent(new window.window.KeyboardEvent("keydown", {
427
- key: "C",
428
- bubbles: true,
429
- cancelable: true,
430
- }));
431
- await page.waitForChanges();
432
- list.dispatchEvent(new window.window.KeyboardEvent("keydown", {
433
- key: " ",
434
- bubbles: true,
435
- cancelable: true,
436
- }));
437
- await page.waitForChanges();
438
- expect(page.rootInstance.pressedCharacters).toBe("C ");
439
- expect(page.rootInstance.open).toBe(true);
440
- expect(eventSpy).not.toHaveBeenCalled();
441
- });
442
- it("should test loading state and timeout for custom select", async () => {
443
- const page = await newSpecPage({
444
- components: [Select, Menu, InputComponentContainer],
445
- html: `<ic-select label="IC Select Test" timeout="1000"></ic-select>`,
446
- });
447
- const eventSpy = jest.fn();
448
- page.win.addEventListener("icBlur", eventSpy);
449
- page.rootInstance.loading = true;
450
- page.rootInstance.open = true;
451
- await page.waitForChanges();
452
- expect(page.rootInstance.uniqueOptions[0].label).toEqual(loadingLabel);
453
- await waitForTimeout(1000);
454
- expect(page.rootInstance.uniqueOptions[0].label).toEqual(loadingErrorLabel);
455
- await page.waitForChanges();
456
- const retryButton = page.root.shadowRoot
457
- .querySelector("ic-menu")
458
- .querySelector(retryButtonId);
459
- retryButton.blur();
460
- expect(page.rootInstance.open).toBeFalsy;
461
- expect(eventSpy).toHaveBeenCalled;
462
- page.root.options = [];
463
- await page.waitForChanges();
464
- expect(page.rootInstance.uniqueOptions[0].label).toEqual(loadingErrorLabel);
465
- });
466
- it("should focus the input when escape is pressed whilst the menu is focused", async () => {
467
- const spy = jest.spyOn(HTMLButtonElement.prototype, "focus");
468
- const page = await newSpecPage({
469
- components: [Select, Menu, InputComponentContainer],
470
- html: `<ic-select label="IC Select Test"></ic-select>`,
471
- });
472
- page.root.options = menuOptions;
473
- page.rootInstance.open = true;
474
- await page.waitForChanges();
475
- const list = page.root.shadowRoot.querySelector(menuUl);
476
- list.dispatchEvent(new window.window.KeyboardEvent("keydown", {
477
- key: "Escape",
478
- bubbles: true,
479
- cancelable: true,
480
- }));
481
- await page.waitForChanges();
482
- expect(page.rootInstance.open).toBeFalsy();
483
- expect(spy).toHaveBeenCalled();
484
- });
485
- it("should deduplicateOptions and log a console warning about the offending items", async () => {
486
- const page = await newSpecPage({
487
- components: [Select, Menu, InputComponentContainer],
488
- html: `<ic-select label="IC Select Test"></ic-select>`,
489
- });
490
- page.rootInstance.options = menuOptionsWithDuplicates;
491
- await page.waitForChanges();
492
- expect(page.rootInstance.uniqueOptions).toEqual([
493
- {
494
- label: label1,
495
- value: value1,
496
- },
497
- {
498
- label: label2,
499
- value: value2,
500
- },
501
- {
502
- label: label3,
503
- value: value3,
504
- },
505
- {
506
- label: groupLabel,
507
- value: groupLabel,
508
- children: [
509
- {
510
- label: label4,
511
- value: value4,
512
- },
513
- ],
514
- },
515
- ]);
516
- });
517
- it("should test open and close events emitted", async () => {
518
- const page = await newSpecPage({
519
- components: [Select, Menu, InputComponentContainer],
520
- html: `<ic-select label="IC Select Test"></ic-select>`,
521
- });
522
- page.root.options = menuOptionsWithDescriptions;
523
- await page.waitForChanges();
524
- const openEventSpy = jest.fn();
525
- page.win.addEventListener("icOpen", openEventSpy);
526
- const closeEventSpy = jest.fn();
527
- page.win.addEventListener("icClose", closeEventSpy);
528
- page.rootInstance.open = true;
529
- await page.waitForChanges();
530
- expect(openEventSpy).toHaveBeenCalled();
531
- page.rootInstance.open = false;
532
- await page.waitForChanges();
533
- expect(closeEventSpy).toHaveBeenCalled();
534
- });
535
- afterEach(() => {
536
- jest.restoreAllMocks();
537
- });
538
- it("should return true when running on a mobile or tablet device", async () => {
539
- // Mock the navigator object
540
- Object.defineProperty(window, "navigator", {
541
- value: {
542
- maxTouchPoints: 255,
543
- userAgent: "iPhone",
544
- },
545
- writable: true,
546
- });
547
- expect(isMobileOrTablet()).toBe(true);
548
- });
549
- it("should return false when running on a desktop device", async () => {
550
- // Mock the navigator object
551
- Object.defineProperty(window, "navigator", {
552
- value: {
553
- maxTouchPoints: 0,
554
- userAgent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64)",
555
- },
556
- writable: true,
557
- });
558
- expect(isMobileOrTablet()).toBe(false);
559
- });
560
- });
561
- describe("ic-select native", () => {
562
- beforeEach(() => {
563
- Object.defineProperty(helpers, "isMobileOrTablet", {
564
- value: jest.fn().mockReturnValue(true),
565
- });
566
- });
567
- afterEach(() => {
568
- Object.defineProperty(helpers, "isMobileOrTablet", {
569
- value: jest.fn().mockReturnValue(false),
570
- });
571
- });
572
- it("should test native select", async () => {
573
- const page = await newSpecPage({
574
- components: [Select],
575
- html: `<ic-select label="IC Select Test"></ic-select>`,
576
- });
577
- page.root.options = menuOptions;
578
- page.root.label = "New label";
579
- await page.waitForChanges();
580
- page.root.setFocus();
581
- await page.waitForChanges();
582
- expect(page.root).toMatchSnapshot("native-select");
583
- });
584
- it("should test native select with groups", async () => {
585
- const page = await newSpecPage({
586
- components: [Select],
587
- html: `<ic-select label="IC Select Test"></ic-select>`,
588
- });
589
- page.root.options = menuOptionsWithGroups;
590
- page.root.label = "New label";
591
- await page.waitForChanges();
592
- page.root.setFocus();
593
- await page.waitForChanges();
594
- expect(page.root).toMatchSnapshot("native-select-with-groups");
595
- let eventSpy = jest.fn();
596
- page.win.addEventListener("icBlur", eventSpy);
597
- const select = page.root.shadowRoot.querySelector("select");
598
- select.blur();
599
- await page.waitForChanges();
600
- expect(eventSpy).toHaveBeenCalled();
601
- eventSpy = jest.fn();
602
- page.win.addEventListener("icChange", eventSpy);
603
- const event = new Event("change", {
604
- bubbles: true,
605
- cancelable: true,
606
- });
607
- page.rootInstance.nativeSelectElement.selectedIndex = 0;
608
- select.dispatchEvent(event);
609
- await page.waitForChanges();
610
- //delay to wait for aria live update
611
- await waitForTimeout(900);
612
- expect(eventSpy).toHaveBeenCalled();
613
- });
614
- it("should test native select keydown", async () => {
615
- const page = await newSpecPage({
616
- components: [Select],
617
- html: `<ic-select label="IC Select Test"></ic-select>`,
618
- });
619
- page.root.options = menuOptions;
620
- page.root.setFocus();
621
- await page.waitForChanges();
622
- await page.rootInstance.handleNativeSelectKeyDown({
623
- key: "ArrowDown",
624
- preventDefault: () => null,
625
- });
626
- await page.waitForChanges();
627
- expect(page.rootInstance.open).toBeFalsy;
628
- });
629
- it("should update any attributes that are inherited from the root element", async () => {
630
- const page = await newSpecPage({
631
- components: [Select],
632
- html: `<ic-select label="IC Select Test"></ic-select>`,
633
- });
634
- expect(page.root.shadowRoot.querySelector("select").getAttribute("title")).toBeNull();
635
- page.root.setAttribute("title", "new-label");
636
- page.rootInstance.hostMutationCallback([{ attributeName: "title" }]);
637
- await page.waitForChanges();
638
- expect(page.root.shadowRoot.querySelector("select").getAttribute("title")).toBe("new-label");
639
- });
640
- });
641
- describe("ic-select searchable", () => {
642
- it("should render as required", async () => {
643
- const page = await newSpecPage({
644
- components: [Select, Menu, InputComponentContainer],
645
- html: getTestSelect('required="true" searchable="true"'),
646
- });
647
- expect(page.root).toMatchSnapshot("required-searchable");
648
- });
649
- it("should test with clear button with searchable", async () => {
650
- const page = await newSpecPage({
651
- components: [Select, Menu, InputComponentContainer, Button],
652
- html: `<ic-select label="IC Select Test" searchable="true"></ic-select>`,
653
- });
654
- page.root.options = menuOptions;
655
- page.rootInstance.searchableSelectInputValue = "test value";
656
- await page.waitForChanges();
657
- const clearButton = page.root.shadowRoot.querySelector(clearButtonId);
658
- clearButton.focus();
659
- await page.waitForChanges();
660
- expect(page.rootInstance.clearButtonFocused).toBe(true);
661
- clearButton.blur();
662
- await page.waitForChanges();
663
- expect(page.rootInstance.clearButtonFocused).toBe(false);
664
- clearButton.click();
665
- await page.waitForChanges();
666
- expect(page.rootInstance.searchableSelectInputValue).toBeNull;
667
- });
668
- it("should test keydown handler searchable", async () => {
669
- const page = await newSpecPage({
670
- components: [Select, Menu, InputComponentContainer],
671
- html: `<ic-select label="IC Select Test" searchable="true"></ic-select>`,
672
- });
673
- jest.spyOn(page.rootInstance, "setFocus").mockImplementation();
674
- page.root.options = menuOptions;
675
- await page.waitForChanges();
676
- await page.root.setFocus();
677
- await page.waitForChanges();
678
- await page.rootInstance.handleKeyDown({
679
- key: "ArrowDown",
680
- preventDefault: () => null,
681
- });
682
- await page.waitForChanges();
683
- const menu = page.root.shadowRoot.querySelector("ic-menu");
684
- expect(menu.options).toEqual(menuOptions);
685
- expect(page.rootInstance.open).toBeTruthy;
686
- await page.waitForChanges();
687
- await page.rootInstance.handleKeyDown({
688
- key: "Enter",
689
- preventDefault: () => null,
690
- });
691
- await page.waitForChanges();
692
- expect(page.rootInstance.open).toBeFalsy;
693
- page.rootInstance.open = true;
694
- page.rootInstance.noOptions = true;
695
- await page.waitForChanges();
696
- await page.rootInstance.handleKeyDown({
697
- key: "Ctrl",
698
- preventDefault: () => null,
699
- });
700
- await page.waitForChanges();
701
- expect(page.rootInstance.setFocus).toHaveBeenCalledTimes(2);
702
- page.rootInstance.open = true;
703
- page.rootInstance.noOptions = true;
704
- await page.waitForChanges();
705
- await page.rootInstance.handleKeyDown({
706
- key: "Backspace",
707
- preventDefault: () => null,
708
- });
709
- await page.waitForChanges();
710
- expect(page.rootInstance.setFocus).toHaveBeenCalledTimes(3);
711
- });
712
- it("should test keydown on menu - arrow up (searchable)", async () => {
713
- const page = await newSpecPage({
714
- components: [Select, Menu, InputComponentContainer],
715
- html: `<ic-select label="IC Select Test" searchable="true"></ic-select>`,
716
- });
717
- page.root.options = menuOptions;
718
- page.root.value = value2;
719
- await page.waitForChanges();
720
- const list = page.root.shadowRoot.querySelector(menuUl);
721
- list.dispatchEvent(new window.window.KeyboardEvent("keydown", {
722
- key: "ArrowUp",
723
- bubbles: true,
724
- cancelable: true,
725
- }));
726
- await page.waitForChanges();
727
- const input = page.root.shadowRoot.querySelector("input");
728
- expect(input.value).toBe(label2);
729
- expect(page.rootInstance.open).toBeTruthy;
730
- });
731
- it("should test keydown on menu - arrow up wrap around (searchable)", async () => {
732
- const page = await newSpecPage({
733
- components: [Select, Menu, InputComponentContainer],
734
- html: `<ic-select label="IC Select Test" searchable="true"></ic-select>`,
735
- });
736
- page.root.options = menuOptions;
737
- page.rootInstance.open = true;
738
- await page.waitForChanges();
739
- page.root.value = value1;
740
- await page.waitForChanges();
741
- const list = page.root.shadowRoot.querySelector(menuUl);
742
- list.dispatchEvent(new window.window.KeyboardEvent("keydown", {
743
- key: "ArrowUp",
744
- bubbles: true,
745
- cancelable: true,
746
- }));
747
- await page.waitForChanges();
748
- const input = page.root.shadowRoot.querySelector("input");
749
- expect(input.value).toBe(label1);
750
- });
751
- it("should test keydown on menu - arrow down", async () => {
752
- const page = await newSpecPage({
753
- components: [Select, Menu, InputComponentContainer],
754
- html: `<ic-select label="IC Select Test" searchable="true"></ic-select>`,
755
- });
756
- page.root.options = menuOptions;
757
- page.rootInstance.open = true;
758
- await page.waitForChanges();
759
- page.root.value = value1;
760
- await page.waitForChanges();
761
- const list = page.root.shadowRoot.querySelector(menuUl);
762
- list.dispatchEvent(new window.window.KeyboardEvent("keydown", {
763
- key: "ArrowDown",
764
- bubbles: true,
765
- cancelable: true,
766
- }));
767
- await page.waitForChanges();
768
- const input = page.root.shadowRoot.querySelector("input");
769
- expect(input.value).toBe(label1);
770
- });
771
- it("should test keydown on menu - arrow down wrap around", async () => {
772
- const page = await newSpecPage({
773
- components: [Select, Menu, InputComponentContainer],
774
- html: `<ic-select label="IC Select Test" searchable="true"></ic-select>`,
775
- });
776
- page.root.options = menuOptions;
777
- page.rootInstance.open = true;
778
- await page.waitForChanges();
779
- page.root.value = value3;
780
- await page.waitForChanges();
781
- const list = page.root.shadowRoot.querySelector(menuUl);
782
- list.dispatchEvent(new window.window.KeyboardEvent("keydown", {
783
- key: "ArrowDown",
784
- bubbles: true,
785
- cancelable: true,
786
- }));
787
- await page.waitForChanges();
788
- const input = page.root.shadowRoot.querySelector("input");
789
- expect(input.value).toBe(label3);
790
- });
791
- it("should test keydown on menu - home key", async () => {
792
- const page = await newSpecPage({
793
- components: [Select, Menu, InputComponentContainer],
794
- html: `<ic-select label="IC Select Test" searchable="true"></ic-select>`,
795
- });
796
- page.root.options = menuOptions;
797
- page.rootInstance.open = true;
798
- await page.waitForChanges();
799
- page.root.value = value3;
800
- await page.waitForChanges();
801
- const list = page.root.shadowRoot.querySelector(menuUl);
802
- list.dispatchEvent(new window.window.KeyboardEvent("keydown", {
803
- key: "Home",
804
- bubbles: true,
805
- cancelable: true,
806
- }));
807
- expect(page.rootInstance.open).toBeTruthy;
808
- });
809
- it("should test keydown on menu - end key", async () => {
810
- const page = await newSpecPage({
811
- components: [Select, Menu, InputComponentContainer],
812
- html: `<ic-select label="IC Select Test" searchable="true"></ic-select>`,
813
- });
814
- page.root.options = menuOptions;
815
- page.root.value = value1;
816
- await page.waitForChanges();
817
- const list = page.root.shadowRoot.querySelector(menuUl);
818
- list.dispatchEvent(new window.window.KeyboardEvent("keydown", {
819
- key: "End",
820
- bubbles: true,
821
- cancelable: true,
822
- }));
823
- await page.waitForChanges();
824
- const input = page.root.shadowRoot.querySelector("input");
825
- expect(input.value).toBe(label1);
826
- expect(page.rootInstance.open).toBeTruthy;
827
- });
828
- it("should test keydown on menu - backspace key", async () => {
829
- const page = await newSpecPage({
830
- components: [Select, Menu, InputComponentContainer],
831
- html: `<ic-select label="IC Select Test" searchable="true"></ic-select>`,
832
- });
833
- page.root.options = menuOptions;
834
- page.rootInstance.open = true;
835
- await page.waitForChanges();
836
- page.root.value = value3;
837
- await page.waitForChanges();
838
- const list = page.root.shadowRoot.querySelector(menuUl);
839
- list.dispatchEvent(new window.window.KeyboardEvent("keydown", {
840
- key: "Backspace",
841
- bubbles: true,
842
- cancelable: true,
843
- }));
844
- await page.waitForChanges();
845
- const input = page.root.shadowRoot.querySelector("input");
846
- expect(input.value).toBe(label3);
847
- });
848
- it("should test keydown on menu - enter key", async () => {
849
- const page = await newSpecPage({
850
- components: [Select, Menu, InputComponentContainer],
851
- html: `<ic-select label="IC Select Test" searchable="true"></ic-select>`,
852
- });
853
- page.root.options = menuOptions;
854
- page.rootInstance.open = true;
855
- await page.waitForChanges();
856
- page.root.value = value3;
857
- await page.waitForChanges();
858
- const list = page.root.shadowRoot.querySelector(menuUl);
859
- list.dispatchEvent(new window.window.KeyboardEvent("keydown", {
860
- key: "ArrowDown",
861
- bubbles: true,
862
- cancelable: true,
863
- }));
864
- list.dispatchEvent(new window.window.KeyboardEvent("keydown", {
865
- key: "Enter",
866
- bubbles: true,
867
- cancelable: true,
868
- }));
869
- await page.waitForChanges();
870
- const input = page.root.shadowRoot.querySelector("input");
871
- expect(input.value).toBe(label1);
872
- input.click();
873
- await page.waitForChanges();
874
- expect(page.rootInstance.filteredOptions).toHaveLength(3);
875
- });
876
- it("should test keydown on menu - space key", async () => {
877
- const page = await newSpecPage({
878
- components: [Select, Menu, InputComponentContainer],
879
- html: `<ic-select label="IC Select Test" searchable="true"></ic-select>`,
880
- });
881
- page.root.options = menuOptions;
882
- page.rootInstance.open = true;
883
- await page.waitForChanges();
884
- const list = page.root.shadowRoot.querySelector(menuUl);
885
- list.dispatchEvent(new window.window.KeyboardEvent("keydown", {
886
- key: " ",
887
- bubbles: true,
888
- cancelable: true,
889
- }));
890
- await page.waitForChanges();
891
- expect(page.rootInstance.open).toBe(true);
892
- });
893
- it("should test keydown on menu - other key", async () => {
894
- const page = await newSpecPage({
895
- components: [Select, Menu, InputComponentContainer],
896
- html: `<ic-select label="IC Select Test" searchable="true"></ic-select>`,
897
- });
898
- page.root.options = menuOptions;
899
- page.rootInstance.open = true;
900
- await page.waitForChanges();
901
- page.root.value = value2;
902
- await page.waitForChanges();
903
- const list = page.root.shadowRoot.querySelector(menuUl);
904
- list.dispatchEvent(new window.window.KeyboardEvent("keydown", {
905
- key: "Ctrl",
906
- bubbles: true,
907
- cancelable: true,
908
- }));
909
- await page.waitForChanges();
910
- const input = page.root.shadowRoot.querySelector("input");
911
- expect(input.value).toBe(label2);
912
- });
913
- it("should test keyup on menu list", async () => {
914
- const page = await newSpecPage({
915
- components: [Select, Menu, InputComponentContainer],
916
- html: `<ic-select label="IC Select Test" searchable="true"></ic-select>`,
917
- });
918
- page.root.options = menuOptions;
919
- page.rootInstance.open = true;
920
- await page.waitForChanges();
921
- page.root.value = value2;
922
- await page.waitForChanges();
923
- const list = page.root.shadowRoot.querySelector(menuUl);
924
- list.dispatchEvent(new window.window.KeyboardEvent("keyup", {
925
- key: "Tab",
926
- shiftKey: true,
927
- bubbles: true,
928
- cancelable: true,
929
- }));
930
- await page.waitForChanges();
931
- const input = page.root.shadowRoot.querySelector("input");
932
- expect(input.value).toBe(label2);
933
- });
934
- it("should test click on input", async () => {
935
- const page = await newSpecPage({
936
- components: [Select, Menu, InputComponentContainer],
937
- html: `<ic-select label="IC Select Test" searchable="true"></ic-select>`,
938
- });
939
- page.root.options = menuOptions;
940
- await page.waitForChanges();
941
- const input = page.root.shadowRoot.querySelector("input");
942
- input.click();
943
- await page.waitForChanges();
944
- expect(page.rootInstance.open).toBe(true);
945
- });
946
- it("should test click on input with external filtering", async () => {
947
- const page = await newSpecPage({
948
- components: [Select, Menu, InputComponentContainer],
949
- html: `<ic-select label="IC Select Test" searchable="true" disable-auto-filtering="true"></ic-select>`,
950
- });
951
- page.root.options = menuOptions;
952
- await page.waitForChanges();
953
- const input = page.root.shadowRoot.querySelector("input");
954
- input.click();
955
- await page.waitForChanges();
956
- expect(page.rootInstance.open).toBe(true);
957
- });
958
- it("should test blur on searchable input", async () => {
959
- const page = await newSpecPage({
960
- components: [Select, Menu, InputComponentContainer],
961
- html: `<ic-select label="IC Select Test" searchable="true"></ic-select>`,
962
- });
963
- page.root.options = menuOptions;
964
- await page.waitForChanges();
965
- const eventSpy = jest.fn();
966
- page.win.addEventListener("icBlur", eventSpy);
967
- const input = page.root.shadowRoot.querySelector("input");
968
- input.blur();
969
- await page.waitForChanges();
970
- expect(eventSpy).toHaveBeenCalled();
971
- });
972
- it("should test blur on searchable input where target is an element of the menu but not a menu option", async () => {
973
- const page = await newSpecPage({
974
- components: [Select, Menu, InputComponentContainer],
975
- html: `<ic-select label="IC Select Test" searchable="true"></ic-select>`,
976
- });
977
- page.root.options = menuOptions;
978
- await page.waitForChanges();
979
- const target = page.root.shadowRoot.querySelector("ul.menu");
980
- const event = new FocusEvent("blur", {
981
- bubbles: true,
982
- cancelable: true,
983
- relatedTarget: target,
984
- });
985
- const eventSpy = jest.fn();
986
- page.win.addEventListener("icBlur", eventSpy);
987
- await page.rootInstance.onBlur(event);
988
- await page.waitForChanges();
989
- expect(eventSpy).not.toHaveBeenCalled();
990
- });
991
- it("should test searchable input", async () => {
992
- const page = await newSpecPage({
993
- components: [Select, Menu, InputComponentContainer],
994
- html: `<ic-select label="IC Select Test" searchable="true"></ic-select>`,
995
- });
996
- page.root.options = menuOptions;
997
- await page.waitForChanges();
998
- const event = new Event("input", {
999
- bubbles: true,
1000
- cancelable: true,
1001
- });
1002
- const input = page.root.shadowRoot.querySelector("input");
1003
- page.rootInstance.searchableSelectInputValue = testValue;
1004
- input.dispatchEvent(event);
1005
- await page.waitForChanges();
1006
- //delay to wait for aria live update
1007
- await waitForTimeout(900);
1008
- expect(page.rootInstance.open).toBe(true);
1009
- page.rootInstance.searchableSelectInputValue = "";
1010
- await page.waitForChanges();
1011
- input.dispatchEvent(event);
1012
- await page.waitForChanges();
1013
- //delay to wait for aria live update
1014
- await waitForTimeout(900);
1015
- expect(page.rootInstance.open).toBe(true);
1016
- page.root.options = [];
1017
- await page.waitForChanges();
1018
- page.rootInstance.searchableSelectInputValue = "";
1019
- input.dispatchEvent(event);
1020
- await page.waitForChanges();
1021
- //delay to wait for aria live update
1022
- await waitForTimeout(900);
1023
- expect(page.rootInstance.open).toBe(true);
1024
- });
1025
- it("should test searchable input filtering", 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 = menuOptionsWithDescriptions;
1031
- page.rootInstance.searchableSelectInputValue = "c";
1032
- await page.waitForChanges();
1033
- const input = page.root.shadowRoot.querySelector("input");
1034
- const event = new Event("input", {
1035
- bubbles: true,
1036
- cancelable: true,
1037
- });
1038
- input.dispatchEvent(event);
1039
- await page.waitForChanges();
1040
- //delay to wait for aria live update
1041
- await waitForTimeout(900);
1042
- expect(page.rootInstance.filteredOptions.length).toBe(2);
1043
- });
1044
- it("should test searchable input - with search match position set to start", async () => {
1045
- const page = await newSpecPage({
1046
- components: [Select, Menu, InputComponentContainer],
1047
- html: `<ic-select label="IC Select Test" searchable="true" search-match-position="start"></ic-select>`,
1048
- });
1049
- page.root.options = menuOptionsWithDescriptions;
1050
- page.rootInstance.searchableSelectInputValue = "c";
1051
- await page.waitForChanges();
1052
- const input = page.root.shadowRoot.querySelector("input");
1053
- const event = new Event("input", {
1054
- bubbles: true,
1055
- cancelable: true,
1056
- });
1057
- input.dispatchEvent(event);
1058
- await page.waitForChanges();
1059
- //delay to wait for aria live update
1060
- await waitForTimeout(900);
1061
- expect(page.rootInstance.filteredOptions.length).toBe(1);
1062
- });
1063
- it("should test searchable input - with descriptions and descriptions included in search", async () => {
1064
- const page = await newSpecPage({
1065
- components: [Select, Menu, InputComponentContainer],
1066
- html: `<ic-select label="IC Select Test" searchable="true" include-descriptions-in-search="true"></ic-select>`,
1067
- });
1068
- page.root.options = menuOptionsWithDescriptions;
1069
- page.rootInstance.searchableSelectInputValue = "Test description 2";
1070
- await page.waitForChanges();
1071
- const input = page.root.shadowRoot.querySelector("input");
1072
- const event = new Event("input", {
1073
- bubbles: true,
1074
- cancelable: true,
1075
- });
1076
- input.dispatchEvent(event);
1077
- await page.waitForChanges();
1078
- //delay to wait for aria live update
1079
- await waitForTimeout(900);
1080
- expect(page.rootInstance.filteredOptions).not.toBeNull;
1081
- });
1082
- it("should test searchable input - with search match position set to start and descriptions included in search", async () => {
1083
- const page = await newSpecPage({
1084
- components: [Select, Menu, InputComponentContainer],
1085
- html: `<ic-select label="IC Select Test" searchable="true" search-match-position="start" include-descriptions-in-search="true"></ic-select>`,
1086
- });
1087
- page.root.options = menuOptionsWithDescriptions;
1088
- page.rootInstance.searchableSelectInputValue = "e";
1089
- await page.waitForChanges();
1090
- const input = page.root.shadowRoot.querySelector("input");
1091
- const event = new Event("input", {
1092
- bubbles: true,
1093
- cancelable: true,
1094
- });
1095
- input.dispatchEvent(event);
1096
- await page.waitForChanges();
1097
- //delay to wait for aria live update
1098
- await waitForTimeout(900);
1099
- expect(page.rootInstance.filteredOptions.length).toBe(1);
1100
- });
1101
- it("should test searchable input - with groups", async () => {
1102
- const page = await newSpecPage({
1103
- components: [Select, Menu, InputComponentContainer],
1104
- html: `<ic-select label="IC Select Test" searchable="true"></ic-select>`,
1105
- });
1106
- page.root.options = menuOptionsWithGroups;
1107
- page.rootInstance.searchableSelectInputValue = "Latte";
1108
- await page.waitForChanges();
1109
- const input = page.root.shadowRoot.querySelector("input");
1110
- const event = new Event("input", {
1111
- bubbles: true,
1112
- cancelable: true,
1113
- });
1114
- input.dispatchEvent(event);
1115
- await page.waitForChanges();
1116
- //delay to wait for aria live update
1117
- await waitForTimeout(900);
1118
- expect(page.rootInstance.filteredOptions).not.toBeNull;
1119
- });
1120
- it("should test searchable input - with groups and group titles included in search", async () => {
1121
- const page = await newSpecPage({
1122
- components: [Select, Menu, InputComponentContainer],
1123
- html: `<ic-select label="IC Select Test" searchable="true" include-group-titles-in-search="true"></ic-select>`,
1124
- });
1125
- page.root.options = menuOptionsWithGroups;
1126
- page.rootInstance.searchableSelectInputValue = "Fancy";
1127
- await page.waitForChanges();
1128
- const input = page.root.shadowRoot.querySelector("input");
1129
- const event = new Event("input", {
1130
- bubbles: true,
1131
- cancelable: true,
1132
- });
1133
- input.dispatchEvent(event);
1134
- await page.waitForChanges();
1135
- //delay to wait for aria live update
1136
- await waitForTimeout(900);
1137
- expect(page.rootInstance.filteredOptions).not.toBeNull;
1138
- });
1139
- it("should test selectchange on no result found entry", async () => {
1140
- const page = await newSpecPage({
1141
- components: [Select, Menu, InputComponentContainer],
1142
- html: `<ic-select label="IC Select Test" searchable="true"></ic-select>`,
1143
- });
1144
- page.root.options = menuOptions;
1145
- page.rootInstance.open = true;
1146
- page.rootInstance.searchableSelectInputValue = testValue;
1147
- await page.waitForChanges();
1148
- page.rootInstance.handleCustomSelectChange({
1149
- detail: {
1150
- label: noResults,
1151
- },
1152
- });
1153
- await page.waitForChanges();
1154
- expect(page.rootInstance.searchableSelectInputValue).toBe(testValue);
1155
- });
1156
- it("should test dropdown icon mousedown handler", async () => {
1157
- const page = await newSpecPage({
1158
- components: [Select, Menu, InputComponentContainer],
1159
- html: `<ic-select label="IC Select Test" searchable="true"></ic-select>`,
1160
- });
1161
- page.root.options = menuOptions;
1162
- page.rootInstance.handleExpandIconMouseDown({
1163
- detail: "some value",
1164
- preventDefault: () => null,
1165
- });
1166
- await page.waitForChanges();
1167
- expect(page.rootInstance.open).toBe(true);
1168
- });
1169
- it("should test form reset event", async () => {
1170
- const page = await newSpecPage({
1171
- components: [Select, Menu],
1172
- html: `<form>
1173
- <ic-select label="IC Select Test" searchable="true"></ic-select>
1174
- <button id="resetButton" type="reset">Reset</button>
1175
- </form>`,
1176
- });
1177
- expect(page.rootInstance.searchableSelectInputValue).toBe(null);
1178
- page.rootInstance.searchableSelectInputValue = testValue;
1179
- await page.waitForChanges();
1180
- expect(page.rootInstance.searchableSelectInputValue).toBe(testValue);
1181
- await page.rootInstance.handleFormReset();
1182
- await page.waitForChanges();
1183
- expect(page.rootInstance.searchableSelectInputValue).toBe(null);
1184
- });
1185
- it("should test debounce change", async () => {
1186
- const page = await newSpecPage({
1187
- components: [Select, Menu, InputComponentContainer],
1188
- html: `<ic-select label="IC Select Test" searchable="true" disable-auto-filtering="true" debounce="300"></ic-select>`,
1189
- });
1190
- await page.waitForChanges();
1191
- expect(page.rootInstance.currDebounce).toBe(300);
1192
- page.root.debounce = 500;
1193
- await page.waitForChanges();
1194
- expect(page.rootInstance.currDebounce).toBe(500);
1195
- });
1196
- it("should test no results state when no options passed and filtering disabled", async () => {
1197
- const page = await newSpecPage({
1198
- components: [Select, Menu, InputComponentContainer],
1199
- html: `<ic-select label="IC Select Test" searchable="true" disable-auto-filtering="true" debounce="300"></ic-select>`,
1200
- });
1201
- page.root.options = menuOptions;
1202
- page.rootInstance.searchableSelectInputValue = "test";
1203
- await page.waitForChanges();
1204
- const input = page.root.shadowRoot.querySelector("input");
1205
- const event = new Event("input", {
1206
- bubbles: true,
1207
- cancelable: true,
1208
- });
1209
- input.dispatchEvent(event);
1210
- await page.waitForChanges();
1211
- page.root.options = [];
1212
- await page.waitForChanges();
1213
- expect(page.rootInstance.filteredOptions).toHaveLength(1);
1214
- expect(page.rootInstance.filteredOptions[0].label).toEqual(noResults);
1215
- expect(page.rootInstance.open).toBe(true);
1216
- input.click();
1217
- await page.waitForChanges();
1218
- expect(page.rootInstance.open).toBe(false);
1219
- page.root.options = menuOptions;
1220
- await page.waitForChanges();
1221
- });
1222
- it("should test menus opens and closes when enter pressed - external filtering", async () => {
1223
- const page = await newSpecPage({
1224
- components: [Select, Menu, InputComponentContainer],
1225
- html: `<ic-select label="IC Select Test" searchable="true" disable-auto-filtering="true" debounce="300"></ic-select>`,
1226
- });
1227
- page.root.options = [];
1228
- page.rootInstance.searchableSelectInputValue = "test";
1229
- await page.waitForChanges();
1230
- const input = page.root.shadowRoot.querySelector("input");
1231
- const event = new Event("input", {
1232
- bubbles: true,
1233
- cancelable: true,
1234
- });
1235
- input.dispatchEvent(event);
1236
- await page.waitForChanges();
1237
- //test menu displays when Enter pressed
1238
- input.focus();
1239
- await page.waitForChanges();
1240
- await page.rootInstance.handleKeyDown({
1241
- key: "Enter",
1242
- preventDefault: () => null,
1243
- });
1244
- await page.waitForChanges();
1245
- expect(page.rootInstance.open).toBe(false);
1246
- await page.rootInstance.handleKeyDown({
1247
- key: "Enter",
1248
- target: { id: "test-event-id" },
1249
- preventDefault: () => null,
1250
- });
1251
- await page.waitForChanges();
1252
- expect(page.rootInstance.open).toBe(false);
1253
- });
1254
- it("should test adding and removing form reset listener on connect and disconnect", async () => {
1255
- const page = await newSpecPage({
1256
- components: [Select, Menu],
1257
- html: `<form>
1258
- <ic-select label="IC Select Test" searchable="true"></ic-select>
1259
- <button id="resetButton" type="reset">Reset</button>
1260
- </form>`,
1261
- });
1262
- const addSpy = jest.spyOn(page.root, "addEventListener");
1263
- const removeSpy = jest.spyOn(page.root, "removeEventListener");
1264
- expect(addSpy).toHaveBeenCalled;
1265
- page.setContent("");
1266
- await page.waitForChanges();
1267
- expect(removeSpy).toHaveBeenCalled;
1268
- });
1269
- it("should set the default value of searchable as custom value when not matching options", async () => {
1270
- const page = await newSpecPage({
1271
- components: [Select, Menu, InputComponentContainer],
1272
- html: `<ic-select label='Select test' searchable='true' value='Test value 01'></ic-select>`,
1273
- });
1274
- page.root.options = [];
1275
- await page.waitForChanges();
1276
- expect(page.rootInstance.searchableSelectInputValue).toBe("Test value 01");
1277
- const input = page.root.shadowRoot.querySelector("input");
1278
- expect(input.value).toBe("Test value 01");
1279
- });
1280
- it("should set the default value of searchable as option label if matching label/value exists", async () => {
1281
- const page = await newSpecPage({
1282
- components: [Select, Menu, InputComponentContainer],
1283
- template: () => (h("ic-select", { label: "select test", searchable: true, options: menuOptions, value: value1 })),
1284
- });
1285
- expect(page.rootInstance.searchableSelectInputValue).toBe(label1);
1286
- const input = page.root.shadowRoot.querySelector("input");
1287
- expect(input.value).toBe(label1);
1288
- });
1289
- it("should set the default value of searchable as option label when options initially set to [] then populated", async () => {
1290
- const page = await newSpecPage({
1291
- components: [Select, Menu, InputComponentContainer],
1292
- template: () => (h("ic-select", { label: "select test", searchable: true, options: [], value: value1 })),
1293
- });
1294
- page.root.options = menuOptions;
1295
- await page.waitForChanges();
1296
- expect(page.rootInstance.searchableSelectInputValue).toBe(label1);
1297
- const input = page.root.shadowRoot.querySelector("input");
1298
- expect(input.value).toBe(label1);
1299
- });
1300
- it("should set the default value to custom value when options initially set to [] then set to [] again", async () => {
1301
- const page = await newSpecPage({
1302
- components: [Select, Menu, InputComponentContainer],
1303
- template: () => (h("ic-select", { label: "select test", searchable: true, options: [], value: value1 })),
1304
- });
1305
- page.root.options = [];
1306
- await page.waitForChanges();
1307
- expect(page.rootInstance.searchableSelectInputValue).toBe(value1);
1308
- const input = page.root.shadowRoot.querySelector("input");
1309
- expect(input.value).toBe(value1);
1310
- });
1311
- it("should test loading state and timeout for searchable select with external filtering", async () => {
1312
- const page = await newSpecPage({
1313
- components: [Select, Menu, InputComponentContainer],
1314
- html: `<ic-select label="IC Select Test" searchable="true" disable-auto-filtering="true" debounce="300" timeout="1000"></ic-select>`,
1315
- });
1316
- page.rootInstance.searchableSelectInputValue = "test";
1317
- await page.waitForChanges();
1318
- const input = page.root.shadowRoot.querySelector("input");
1319
- const event = new Event("input", {
1320
- bubbles: true,
1321
- cancelable: true,
1322
- });
1323
- input.dispatchEvent(event);
1324
- page.rootInstance.loading = true;
1325
- await page.waitForChanges();
1326
- expect(page.rootInstance.filteredOptions[0].label).toEqual(loadingLabel);
1327
- await waitForTimeout(1000);
1328
- expect(page.rootInstance.filteredOptions[0].label).toEqual(loadingErrorLabel);
1329
- await page.waitForChanges();
1330
- const retryButton = page.root.shadowRoot
1331
- .querySelector("ic-menu")
1332
- .querySelector(retryButtonId);
1333
- retryButton.click();
1334
- page.rootInstance.loading = true;
1335
- await page.waitForChanges();
1336
- expect(page.rootInstance.filteredOptions[0].label).toEqual(loadingLabel);
1337
- page.root.options = [];
1338
- await page.waitForChanges();
1339
- expect(page.rootInstance.filteredOptions[0].label).toEqual(noResults);
1340
- });
1341
- it("should focus the input when escape is pressed whilst the menu is focused (searchable)", async () => {
1342
- const spy = jest.spyOn(HTMLInputElement.prototype, "focus");
1343
- const page = await newSpecPage({
1344
- components: [Select, Menu, InputComponentContainer],
1345
- html: `<ic-select label="IC Select Test" searchable="true"></ic-select>`,
1346
- });
1347
- page.root.options = menuOptions;
1348
- page.rootInstance.open = true;
1349
- await page.waitForChanges();
1350
- const list = page.root.shadowRoot.querySelector(menuUl);
1351
- list.dispatchEvent(new window.window.KeyboardEvent("keydown", {
1352
- key: "Escape",
1353
- bubbles: true,
1354
- cancelable: true,
1355
- }));
1356
- await page.waitForChanges();
1357
- expect(page.rootInstance.open).toBeFalsy();
1358
- expect(spy).toHaveBeenCalled();
1359
- });
1360
- it("should test keydown on loading retry button", async () => {
1361
- const page = await newSpecPage({
1362
- components: [Select, Menu, InputComponentContainer],
1363
- html: `<ic-select label="IC Select Test" searchable="true" disable-auto-filtering="true" debounce="300" timeout="1000"></ic-select>`,
1364
- });
1365
- const input = page.root.shadowRoot.querySelector("input");
1366
- const spy = jest.spyOn(input, "focus");
1367
- page.rootInstance.searchableSelectInputValue = "test";
1368
- await page.waitForChanges();
1369
- let event = new Event("input", {
1370
- bubbles: true,
1371
- cancelable: true,
1372
- });
1373
- input.dispatchEvent(event);
1374
- page.rootInstance.loading = true;
1375
- await page.waitForChanges();
1376
- await waitForTimeout(1000);
1377
- await page.waitForChanges();
1378
- event = new KeyboardEvent("keyDown", {
1379
- key: "Enter",
1380
- });
1381
- const retryButton = page.root.shadowRoot
1382
- .querySelector("ic-menu")
1383
- .querySelector(retryButtonId);
1384
- retryButton.dispatchEvent(event);
1385
- expect(spy).toHaveBeenCalled;
1386
- });
1387
- it("should stop the timeout if clear button is clicked before timeout", async () => {
1388
- const page = await newSpecPage({
1389
- components: [Select, Menu, InputComponentContainer],
1390
- html: `<ic-select label="IC Select Test" searchable="true" timeout="1000"></ic-select>`,
1391
- });
1392
- page.rootInstance.searchableSelectInputValue = "test";
1393
- await page.waitForChanges();
1394
- const event = new Event("input", {
1395
- bubbles: true,
1396
- cancelable: true,
1397
- });
1398
- const input = page.root.shadowRoot.querySelector("input");
1399
- input.dispatchEvent(event);
1400
- page.rootInstance.loading = true;
1401
- await page.waitForChanges();
1402
- expect(page.rootInstance.filteredOptions).toHaveLength(1);
1403
- const clearButton = page.root.shadowRoot.querySelector(clearButtonId);
1404
- clearButton.click();
1405
- await page.waitForChanges();
1406
- expect(page.rootInstance.filteredOptions).toHaveLength(1);
1407
- expect(page.rootInstance.filteredOptions[0]).toMatchObject({
1408
- label: noResults,
1409
- value: "",
1410
- });
1411
- await waitForTimeout(1000);
1412
- expect(page.rootInstance.filteredOptions).toHaveLength(1);
1413
- expect(page.rootInstance.filteredOptions[0]).toMatchObject({
1414
- label: noResults,
1415
- value: "",
1416
- });
1417
- });
1418
- it("should clear the searchable input if the value is programmatically set to undefined", async () => {
1419
- const page = await newSpecPage({
1420
- components: [Select, Menu, InputComponentContainer],
1421
- html: `<ic-select label="IC Select Test" searchable="true"></ic-select>`,
1422
- });
1423
- page.rootInstance.searchableSelectInputValue = "test";
1424
- await page.waitForChanges();
1425
- const event = new Event("input", {
1426
- bubbles: true,
1427
- cancelable: true,
1428
- });
1429
- const input = page.root.shadowRoot.querySelector("input");
1430
- input.dispatchEvent(event);
1431
- page.rootInstance.loading = true;
1432
- await page.waitForChanges();
1433
- expect(page.rootInstance.filteredOptions).toHaveLength(1);
1434
- page.rootInstance.value = undefined;
1435
- await page.waitForChanges();
1436
- expect(page.rootInstance.searchableSelectInputValue).toBeUndefined;
1437
- });
1438
- });
1439
- //# sourceMappingURL=ic-select.spec.js.map