@ukic/web-components 2.7.0 → 2.9.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 (1117) hide show
  1. package/dist/cjs/core.cjs.js +3 -3
  2. package/dist/cjs/core.cjs.js.map +1 -1
  3. package/dist/cjs/{helpers-0d63359f.js → helpers-3f91f63a.js} +292 -292
  4. package/dist/cjs/helpers-3f91f63a.js.map +1 -0
  5. package/dist/cjs/ic-accordion-group.cjs.entry.js +71 -71
  6. package/dist/cjs/ic-accordion-group.cjs.entry.js.map +1 -1
  7. package/dist/cjs/ic-accordion.cjs.entry.js +99 -99
  8. package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ic-alert.cjs.entry.js +58 -58
  10. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  11. package/dist/cjs/ic-back-to-top.cjs.entry.js +121 -121
  12. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  13. package/dist/cjs/ic-badge.cjs.entry.js +146 -146
  14. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +172 -166
  16. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-breadcrumb.cjs.entry.js +55 -53
  18. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ic-button_3.cjs.entry.js +616 -607
  20. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ic-card.cjs.entry.js +106 -106
  22. package/dist/cjs/ic-card.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ic-checkbox-group.cjs.entry.js +60 -60
  24. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  25. package/dist/cjs/ic-checkbox.cjs.entry.js +95 -95
  26. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  27. package/dist/cjs/ic-chip.cjs.entry.js +67 -65
  28. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  29. package/dist/cjs/ic-classification-banner.cjs.entry.js +23 -23
  30. package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
  31. package/dist/cjs/ic-data-entity.cjs.entry.js +18 -18
  32. package/dist/cjs/ic-data-entity.cjs.entry.js.map +1 -1
  33. package/dist/cjs/ic-data-row.cjs.entry.js +75 -75
  34. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  35. package/dist/cjs/ic-dialog.cjs.entry.js +339 -318
  36. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  37. package/dist/cjs/ic-divider.cjs.entry.js +16 -16
  38. package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
  39. package/dist/cjs/ic-empty-state.cjs.entry.js +24 -24
  40. package/dist/cjs/ic-empty-state.cjs.entry.js.map +1 -1
  41. package/dist/cjs/ic-footer-link-group.cjs.entry.js +55 -55
  42. package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
  43. package/dist/cjs/ic-footer-link.cjs.entry.js +50 -50
  44. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  45. package/dist/cjs/ic-footer.cjs.entry.js +78 -78
  46. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  47. package/dist/cjs/ic-hero.cjs.entry.js +62 -62
  48. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  49. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +151 -151
  50. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  51. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +682 -673
  52. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  53. package/dist/cjs/ic-input-label_2.cjs.entry.js +63 -63
  54. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  55. package/dist/cjs/ic-link.cjs.entry.js +55 -55
  56. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  57. package/dist/cjs/ic-menu-group.cjs.entry.js +12 -12
  58. package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
  59. package/dist/cjs/ic-menu-item.cjs.entry.js +100 -100
  60. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  61. package/dist/cjs/ic-navigation-button.cjs.entry.js +79 -76
  62. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  63. package/dist/cjs/ic-navigation-group.cjs.entry.js +284 -284
  64. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  65. package/dist/cjs/ic-navigation-item.cjs.entry.js +153 -153
  66. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  67. package/dist/cjs/ic-navigation-menu.cjs.entry.js +106 -103
  68. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  69. package/dist/cjs/ic-page-header.cjs.entry.js +93 -93
  70. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  71. package/dist/cjs/ic-pagination-item.cjs.entry.js +42 -42
  72. package/dist/cjs/ic-pagination-item.cjs.entry.js.map +1 -1
  73. package/dist/cjs/ic-pagination.cjs.entry.js +196 -195
  74. package/dist/cjs/ic-pagination.cjs.entry.js.map +1 -1
  75. package/dist/cjs/ic-popover-menu.cjs.entry.js +229 -260
  76. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  77. package/dist/cjs/ic-radio-group.cjs.entry.js +156 -156
  78. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  79. package/dist/cjs/ic-radio-option.cjs.entry.js +128 -128
  80. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  81. package/dist/cjs/ic-search-bar.cjs.entry.js +475 -475
  82. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  83. package/dist/cjs/ic-section-container.cjs.entry.js +15 -15
  84. package/dist/cjs/ic-section-container.cjs.entry.js.map +1 -1
  85. package/dist/cjs/ic-select.cjs.entry.js +640 -639
  86. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  87. package/dist/cjs/ic-side-navigation.cjs.entry.js +424 -426
  88. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  89. package/dist/cjs/ic-skeleton.cjs.entry.js +43 -43
  90. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  91. package/dist/cjs/ic-status-tag.cjs.entry.js +30 -30
  92. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  93. package/dist/cjs/ic-step.cjs.entry.js +121 -121
  94. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  95. package/dist/cjs/ic-stepper.cjs.entry.js +200 -200
  96. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  97. package/dist/cjs/ic-switch.cjs.entry.js +78 -78
  98. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  99. package/dist/cjs/ic-tab-context.cjs.entry.js +252 -252
  100. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  101. package/dist/cjs/ic-tab-group.cjs.entry.js +24 -24
  102. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  103. package/dist/cjs/ic-tab-panel.cjs.entry.js +31 -31
  104. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  105. package/dist/cjs/ic-tab.cjs.entry.js +86 -86
  106. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  107. package/dist/cjs/ic-text-field.cjs.entry.js +209 -217
  108. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  109. package/dist/cjs/ic-theme.cjs.entry.js +51 -51
  110. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  111. package/dist/cjs/ic-toast-region.cjs.entry.js +47 -46
  112. package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -1
  113. package/dist/cjs/ic-toast.cjs.entry.js +145 -145
  114. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  115. package/dist/cjs/ic-top-navigation.cjs.entry.js +198 -195
  116. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  117. package/dist/cjs/ic-typography.cjs.entry.js +118 -118
  118. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  119. package/dist/{esm/index-813020f1.js → cjs/index-152d1fe5.js} +634 -376
  120. package/dist/cjs/index-152d1fe5.js.map +1 -0
  121. package/dist/cjs/loader.cjs.js +2 -2
  122. package/dist/cjs/types-dc22e301.js +16 -0
  123. package/dist/cjs/{types-7d67439f.js.map → types-dc22e301.js.map} +1 -1
  124. package/dist/collection/collection-manifest.json +2 -2
  125. package/dist/collection/components/ic-accordion/ic-accordion.js +276 -276
  126. package/dist/collection/components/ic-accordion/ic-accordion.js.map +1 -1
  127. package/dist/collection/components/ic-accordion/test/basic/ic-accordion.e2e.js +39 -39
  128. package/dist/collection/components/ic-accordion/test/basic/ic-accordion.e2e.js.map +1 -1
  129. package/dist/collection/components/ic-accordion/test/basic/ic-accordion.spec.js +215 -215
  130. package/dist/collection/components/ic-accordion/test/basic/ic-accordion.spec.js.map +1 -1
  131. package/dist/collection/components/ic-accordion-group/ic-accordion-group.js +200 -200
  132. package/dist/collection/components/ic-accordion-group/ic-accordion-group.js.map +1 -1
  133. package/dist/collection/components/ic-accordion-group/test/a11y/ic-accordion-group.test.a11y.js +5 -5
  134. package/dist/collection/components/ic-accordion-group/test/a11y/ic-accordion-group.test.a11y.js.map +1 -1
  135. package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.e2e.js +70 -67
  136. package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.e2e.js.map +1 -1
  137. package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.spec.js +73 -70
  138. package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.spec.js.map +1 -1
  139. package/dist/collection/components/ic-alert/ic-alert.js +231 -231
  140. package/dist/collection/components/ic-alert/ic-alert.js.map +1 -1
  141. package/dist/collection/components/ic-alert/test/a11y/ic-alert.test.a11y.js +5 -5
  142. package/dist/collection/components/ic-alert/test/a11y/ic-alert.test.a11y.js.map +1 -1
  143. package/dist/collection/components/ic-alert/test/basic/ic-alert.e2e.js +12 -12
  144. package/dist/collection/components/ic-alert/test/basic/ic-alert.e2e.js.map +1 -1
  145. package/dist/collection/components/ic-alert/test/basic/ic-alert.spec.js +44 -44
  146. package/dist/collection/components/ic-alert/test/basic/ic-alert.spec.js.map +1 -1
  147. package/dist/collection/components/ic-back-to-top/ic-back-to-top.css +3 -3
  148. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js +159 -159
  149. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js.map +1 -1
  150. package/dist/collection/components/ic-back-to-top/test/a11y/ic-back-to-top.test.a11y.js +14 -14
  151. package/dist/collection/components/ic-back-to-top/test/a11y/ic-back-to-top.test.a11y.js.map +1 -1
  152. package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.e2e.js +43 -43
  153. package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.e2e.js.map +1 -1
  154. package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.spec.js +102 -102
  155. package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.spec.js.map +1 -1
  156. package/dist/collection/components/ic-badge/ic-badge.js +385 -385
  157. package/dist/collection/components/ic-badge/ic-badge.js.map +1 -1
  158. package/dist/collection/components/ic-badge/test/a11y/ic-badge.test.a11y.js +10 -10
  159. package/dist/collection/components/ic-badge/test/a11y/ic-badge.test.a11y.js.map +1 -1
  160. package/dist/collection/components/ic-badge/test/basic/ic-badge.spec.js +172 -172
  161. package/dist/collection/components/ic-badge/test/basic/ic-badge.spec.js.map +1 -1
  162. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.css +9 -1
  163. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js +186 -157
  164. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js.map +1 -1
  165. package/dist/collection/components/ic-breadcrumb/test/basic/ic-breadcrumb.spec.js +43 -43
  166. package/dist/collection/components/ic-breadcrumb/test/basic/ic-breadcrumb.spec.js.map +1 -1
  167. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js +250 -220
  168. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js.map +1 -1
  169. package/dist/collection/components/ic-breadcrumb-group/test/a11y/ic-breadcrumb-group.test.a11y.js +10 -10
  170. package/dist/collection/components/ic-breadcrumb-group/test/a11y/ic-breadcrumb-group.test.a11y.js.map +1 -1
  171. package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group.e2e.js +34 -34
  172. package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group.e2e.js.map +1 -1
  173. package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group.spec.js +156 -118
  174. package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group.spec.js.map +1 -1
  175. package/dist/collection/components/ic-button/ic-button.css +17 -1
  176. package/dist/collection/components/ic-button/ic-button.js +798 -773
  177. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  178. package/dist/collection/components/ic-button/test/a11y/ic-button.test.a11y.js +5 -5
  179. package/dist/collection/components/ic-button/test/a11y/ic-button.test.a11y.js.map +1 -1
  180. package/dist/collection/components/ic-button/test/basic/ic-button.e2e.js +114 -114
  181. package/dist/collection/components/ic-button/test/basic/ic-button.e2e.js.map +1 -1
  182. package/dist/collection/components/ic-button/test/basic/ic-button.spec.js +249 -236
  183. package/dist/collection/components/ic-button/test/basic/ic-button.spec.js.map +1 -1
  184. package/dist/collection/components/ic-card/ic-card.css +1 -1
  185. package/dist/collection/components/ic-card/ic-card.js +375 -375
  186. package/dist/collection/components/ic-card/ic-card.js.map +1 -1
  187. package/dist/collection/components/ic-card/test/a11y/ic-card.test.a11y.js +15 -15
  188. package/dist/collection/components/ic-card/test/a11y/ic-card.test.a11y.js.map +1 -1
  189. package/dist/collection/components/ic-card/test/basic/ic-card.e2e.js +19 -19
  190. package/dist/collection/components/ic-card/test/basic/ic-card.e2e.js.map +1 -1
  191. package/dist/collection/components/ic-card/test/basic/ic-card.spec.js +147 -147
  192. package/dist/collection/components/ic-card/test/basic/ic-card.spec.js.map +1 -1
  193. package/dist/collection/components/ic-checkbox/ic-checkbox.css +11 -11
  194. package/dist/collection/components/ic-checkbox/ic-checkbox.js +474 -474
  195. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  196. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +302 -302
  197. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  198. package/dist/collection/components/ic-checkbox-group/test/a11y/ic-checkbox-group.test.a11y.js +5 -5
  199. package/dist/collection/components/ic-checkbox-group/test/a11y/ic-checkbox-group.test.a11y.js.map +1 -1
  200. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.e2e.js +124 -124
  201. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.e2e.js.map +1 -1
  202. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js +148 -148
  203. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js.map +1 -1
  204. package/dist/collection/components/ic-chip/ic-chip.css +9 -1
  205. package/dist/collection/components/ic-chip/ic-chip.js +291 -271
  206. package/dist/collection/components/ic-chip/ic-chip.js.map +1 -1
  207. package/dist/collection/components/ic-chip/test/a11y/ic-chip.test.a11y.js +5 -5
  208. package/dist/collection/components/ic-chip/test/a11y/ic-chip.test.a11y.js.map +1 -1
  209. package/dist/collection/components/ic-chip/test/basic/ic-chip.spec.js +81 -81
  210. package/dist/collection/components/ic-chip/test/basic/ic-chip.spec.js.map +1 -1
  211. package/dist/collection/components/ic-classification-banner/ic-classification-banner.js +132 -132
  212. package/dist/collection/components/ic-classification-banner/ic-classification-banner.js.map +1 -1
  213. package/dist/collection/components/ic-classification-banner/test/a11y/ic-classification-banner.test.a11y.js +5 -5
  214. package/dist/collection/components/ic-classification-banner/test/a11y/ic-classification-banner.test.a11y.js.map +1 -1
  215. package/dist/collection/components/ic-classification-banner/test/basic/ic-classification-banner.spec.js +55 -55
  216. package/dist/collection/components/ic-classification-banner/test/basic/ic-classification-banner.spec.js.map +1 -1
  217. package/dist/collection/components/ic-data-entity/ic-data-entity.css +1 -1
  218. package/dist/collection/components/ic-data-entity/ic-data-entity.js +92 -92
  219. package/dist/collection/components/ic-data-entity/ic-data-entity.js.map +1 -1
  220. package/dist/collection/components/ic-data-entity/test/a11y/ic-data-entity.test.a11y.js +5 -5
  221. package/dist/collection/components/ic-data-entity/test/a11y/ic-data-entity.test.a11y.js.map +1 -1
  222. package/dist/collection/components/ic-data-entity/test/basic/ic-data-entity.spec.js +28 -28
  223. package/dist/collection/components/ic-data-entity/test/basic/ic-data-entity.spec.js.map +1 -1
  224. package/dist/collection/components/ic-data-row/ic-data-row.css +1 -1
  225. package/dist/collection/components/ic-data-row/ic-data-row.js +170 -170
  226. package/dist/collection/components/ic-data-row/ic-data-row.js.map +1 -1
  227. package/dist/collection/components/ic-data-row/test/a11y/ic-data-row.test.a11y.js +15 -13
  228. package/dist/collection/components/ic-data-row/test/a11y/ic-data-row.test.a11y.js.map +1 -1
  229. package/dist/collection/components/ic-data-row/test/basic/ic-data-row.spec.js +61 -61
  230. package/dist/collection/components/ic-data-row/test/basic/ic-data-row.spec.js.map +1 -1
  231. package/dist/collection/components/ic-dialog/ic-dialog.css +56 -22
  232. package/dist/collection/components/ic-dialog/ic-dialog.js +765 -726
  233. package/dist/collection/components/ic-dialog/ic-dialog.js.map +1 -1
  234. package/dist/collection/components/ic-dialog/test/a11y/ic-dialog.test.a11y.js +5 -5
  235. package/dist/collection/components/ic-dialog/test/a11y/ic-dialog.test.a11y.js.map +1 -1
  236. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.e2e.js +207 -126
  237. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.e2e.js.map +1 -1
  238. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js +573 -574
  239. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js.map +1 -1
  240. package/dist/collection/components/ic-divider/ic-divider.js +38 -38
  241. package/dist/collection/components/ic-divider/ic-divider.js.map +1 -1
  242. package/dist/collection/components/ic-divider/test/basic/ic-divider.spec.js +17 -17
  243. package/dist/collection/components/ic-divider/test/basic/ic-divider.spec.js.map +1 -1
  244. package/dist/collection/components/ic-empty-state/ic-empty-state.js +151 -151
  245. package/dist/collection/components/ic-empty-state/ic-empty-state.js.map +1 -1
  246. package/dist/collection/components/ic-empty-state/test/a11y/ic-empty-state.test.a11y.js +5 -5
  247. package/dist/collection/components/ic-empty-state/test/a11y/ic-empty-state.test.a11y.js.map +1 -1
  248. package/dist/collection/components/ic-empty-state/test/basic/ic-empty-state.spec.js +52 -52
  249. package/dist/collection/components/ic-empty-state/test/basic/ic-empty-state.spec.js.map +1 -1
  250. package/dist/collection/components/ic-footer/ic-footer.js +242 -242
  251. package/dist/collection/components/ic-footer/ic-footer.js.map +1 -1
  252. package/dist/collection/components/ic-footer/test/a11y/ic-footer.test.a11y.js +15 -13
  253. package/dist/collection/components/ic-footer/test/a11y/ic-footer.test.a11y.js.map +1 -1
  254. package/dist/collection/components/ic-footer/test/basic/ic-footer.e2e.js +25 -25
  255. package/dist/collection/components/ic-footer/test/basic/ic-footer.e2e.js.map +1 -1
  256. package/dist/collection/components/ic-footer/test/basic/ic-footer.spec.js +108 -108
  257. package/dist/collection/components/ic-footer/test/basic/ic-footer.spec.js.map +1 -1
  258. package/dist/collection/components/ic-footer-link/ic-footer-link.js +190 -190
  259. package/dist/collection/components/ic-footer-link/ic-footer-link.js.map +1 -1
  260. package/dist/collection/components/ic-footer-link/test/a11y/ic-footer-link.test.a11y.js +13 -13
  261. package/dist/collection/components/ic-footer-link/test/a11y/ic-footer-link.test.a11y.js.map +1 -1
  262. package/dist/collection/components/ic-footer-link/test/basic/ic-footer-link.spec.js +36 -36
  263. package/dist/collection/components/ic-footer-link/test/basic/ic-footer-link.spec.js.map +1 -1
  264. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js +107 -107
  265. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js.map +1 -1
  266. package/dist/collection/components/ic-footer-link-group/test/a11y/ic-footer-link-group.test.a11y.js +13 -13
  267. package/dist/collection/components/ic-footer-link-group/test/a11y/ic-footer-link-group.test.a11y.js.map +1 -1
  268. package/dist/collection/components/ic-footer-link-group/test/basic/ic-footer-link-group.spec.js +52 -52
  269. package/dist/collection/components/ic-footer-link-group/test/basic/ic-footer-link-group.spec.js.map +1 -1
  270. package/dist/collection/components/ic-hero/ic-hero.js +292 -292
  271. package/dist/collection/components/ic-hero/ic-hero.js.map +1 -1
  272. package/dist/collection/components/ic-hero/test/a11y/ic-hero.test.a11y.js +5 -5
  273. package/dist/collection/components/ic-hero/test/a11y/ic-hero.test.a11y.js.map +1 -1
  274. package/dist/collection/components/ic-hero/test/basic/ic-hero.spec.js +62 -62
  275. package/dist/collection/components/ic-hero/test/basic/ic-hero.spec.js.map +1 -1
  276. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +241 -240
  277. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js.map +1 -1
  278. package/dist/collection/components/ic-horizontal-scroll/test/a11y/ic-horizontal-scroll.test.a11y.js +17 -15
  279. package/dist/collection/components/ic-horizontal-scroll/test/a11y/ic-horizontal-scroll.test.a11y.js.map +1 -1
  280. package/dist/collection/components/ic-horizontal-scroll/test/basic/ic-horizontal-scroll.spec.js +145 -145
  281. package/dist/collection/components/ic-horizontal-scroll/test/basic/ic-horizontal-scroll.spec.js.map +1 -1
  282. package/dist/collection/components/ic-input-component-container/ic-input-component-container.css +4 -4
  283. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +248 -248
  284. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js.map +1 -1
  285. package/dist/collection/components/ic-input-component-container/test/basic/ic-input-component-container.spec.js +49 -49
  286. package/dist/collection/components/ic-input-component-container/test/basic/ic-input-component-container.spec.js.map +1 -1
  287. package/dist/collection/components/ic-input-container/ic-input-container.js +62 -62
  288. package/dist/collection/components/ic-input-container/ic-input-container.js.map +1 -1
  289. package/dist/collection/components/ic-input-container/test/basic/ic-input-container.spec.js +19 -19
  290. package/dist/collection/components/ic-input-container/test/basic/ic-input-container.spec.js.map +1 -1
  291. package/dist/collection/components/ic-input-label/ic-input-label.js +211 -211
  292. package/dist/collection/components/ic-input-label/ic-input-label.js.map +1 -1
  293. package/dist/collection/components/ic-input-label/test/basic/ic-input-label.spec.js +37 -37
  294. package/dist/collection/components/ic-input-label/test/basic/ic-input-label.spec.js.map +1 -1
  295. package/dist/collection/components/ic-input-validation/ic-input-validation.js +139 -139
  296. package/dist/collection/components/ic-input-validation/ic-input-validation.js.map +1 -1
  297. package/dist/collection/components/ic-input-validation/test/basic/ic-input-validation.spec.js +31 -31
  298. package/dist/collection/components/ic-input-validation/test/basic/ic-input-validation.spec.js.map +1 -1
  299. package/dist/collection/components/ic-link/ic-link.js +248 -248
  300. package/dist/collection/components/ic-link/ic-link.js.map +1 -1
  301. package/dist/collection/components/ic-link/test/a11y/ic-link.test.a11y.js +5 -5
  302. package/dist/collection/components/ic-link/test/a11y/ic-link.test.a11y.js.map +1 -1
  303. package/dist/collection/components/ic-link/test/basic/ic-link.spec.js +92 -92
  304. package/dist/collection/components/ic-link/test/basic/ic-link.spec.js.map +1 -1
  305. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +416 -415
  306. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js.map +1 -1
  307. package/dist/collection/components/ic-loading-indicator/test/a11y/ic-loading-indicator.test.a11y.js +5 -5
  308. package/dist/collection/components/ic-loading-indicator/test/a11y/ic-loading-indicator.test.a11y.js.map +1 -1
  309. package/dist/collection/components/ic-loading-indicator/test/basic/ic-loading-indicator.e2e.js +25 -25
  310. package/dist/collection/components/ic-loading-indicator/test/basic/ic-loading-indicator.e2e.js.map +1 -1
  311. package/dist/collection/components/ic-loading-indicator/test/basic/ic-loading-indicator.spec.js +114 -114
  312. package/dist/collection/components/ic-loading-indicator/test/basic/ic-loading-indicator.spec.js.map +1 -1
  313. package/dist/collection/components/ic-menu/ic-menu.css +1 -5
  314. package/dist/collection/components/ic-menu/ic-menu.js +1271 -1213
  315. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  316. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js +684 -667
  317. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js.map +1 -1
  318. package/dist/collection/components/ic-menu-group/ic-menu-group.js +41 -41
  319. package/dist/collection/components/ic-menu-group/ic-menu-group.js.map +1 -1
  320. package/dist/collection/components/ic-menu-group/test/basic/ic-menu-group.spec.js +16 -16
  321. package/dist/collection/components/ic-menu-group/test/basic/ic-menu-group.spec.js.map +1 -1
  322. package/dist/collection/components/ic-menu-item/ic-menu-item.js +378 -378
  323. package/dist/collection/components/ic-menu-item/ic-menu-item.js.map +1 -1
  324. package/dist/collection/components/ic-menu-item/test/basic/ic-menu-item.spec.js +67 -67
  325. package/dist/collection/components/ic-menu-item/test/basic/ic-menu-item.spec.js.map +1 -1
  326. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js +262 -259
  327. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js.map +1 -1
  328. package/dist/collection/components/ic-navigation-button/test/basic/ic-navigation-button.spec.js +41 -41
  329. package/dist/collection/components/ic-navigation-button/test/basic/ic-navigation-button.spec.js.map +1 -1
  330. package/dist/collection/components/ic-navigation-group/ic-navigation-group.css +1 -1
  331. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +380 -380
  332. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js.map +1 -1
  333. package/dist/collection/components/ic-navigation-group/test/a11y/ic-navigation-group.test.a11y.js +14 -12
  334. package/dist/collection/components/ic-navigation-group/test/a11y/ic-navigation-group.test.a11y.js.map +1 -1
  335. package/dist/collection/components/ic-navigation-group/test/basic/ic-navigation-group.spec.js +242 -242
  336. package/dist/collection/components/ic-navigation-group/test/basic/ic-navigation-group.spec.js.map +1 -1
  337. package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +11 -5
  338. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +446 -446
  339. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -1
  340. package/dist/collection/components/ic-navigation-item/test/a11y/ic-navigation-item.test.a11y.js +14 -12
  341. package/dist/collection/components/ic-navigation-item/test/a11y/ic-navigation-item.test.a11y.js.map +1 -1
  342. package/dist/collection/components/ic-navigation-item/test/basic/ic-navigation-item.spec.js +78 -78
  343. package/dist/collection/components/ic-navigation-item/test/basic/ic-navigation-item.spec.js.map +1 -1
  344. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.css +7 -3
  345. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +187 -184
  346. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js.map +1 -1
  347. package/dist/collection/components/ic-navigation-menu/test/basic/ic-navigation-menu.e2e.js +25 -25
  348. package/dist/collection/components/ic-navigation-menu/test/basic/ic-navigation-menu.e2e.js.map +1 -1
  349. package/dist/collection/components/ic-navigation-menu/test/basic/ic-navigation-menu.spec.js +104 -104
  350. package/dist/collection/components/ic-navigation-menu/test/basic/ic-navigation-menu.spec.js.map +1 -1
  351. package/dist/collection/components/ic-page-header/ic-page-header.js +286 -286
  352. package/dist/collection/components/ic-page-header/ic-page-header.js.map +1 -1
  353. package/dist/collection/components/ic-page-header/test/a11y/ic-page-header.test.a11y.js +5 -5
  354. package/dist/collection/components/ic-page-header/test/a11y/ic-page-header.test.a11y.js.map +1 -1
  355. package/dist/collection/components/ic-page-header/test/basic/ic-page-header.e2e.js +66 -66
  356. package/dist/collection/components/ic-page-header/test/basic/ic-page-header.e2e.js.map +1 -1
  357. package/dist/collection/components/ic-page-header/test/basic/ic-page-header.spec.js +82 -82
  358. package/dist/collection/components/ic-page-header/test/basic/ic-page-header.spec.js.map +1 -1
  359. package/dist/collection/components/ic-pagination/ic-pagination.js +487 -482
  360. package/dist/collection/components/ic-pagination/ic-pagination.js.map +1 -1
  361. package/dist/collection/components/ic-pagination/test/a11y/ic-pagination.test.a11y.js +5 -5
  362. package/dist/collection/components/ic-pagination/test/a11y/ic-pagination.test.a11y.js.map +1 -1
  363. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.e2e.js +103 -103
  364. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.e2e.js.map +1 -1
  365. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js +304 -303
  366. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js.map +1 -1
  367. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +225 -225
  368. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js.map +1 -1
  369. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +434 -465
  370. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js.map +1 -1
  371. package/dist/collection/components/ic-popover-menu/test/a11y/ic-popover-menu.test.a11y.js +5 -5
  372. package/dist/collection/components/ic-popover-menu/test/a11y/ic-popover-menu.test.a11y.js.map +1 -1
  373. package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.e2e.js +29 -26
  374. package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.e2e.js.map +1 -1
  375. package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.spec.js +283 -283
  376. package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.spec.js.map +1 -1
  377. package/dist/collection/components/ic-radio-group/ic-radio-group.js +429 -429
  378. package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
  379. package/dist/collection/components/ic-radio-group/test/a11y/ic-radio-group.test.a11y.js +5 -5
  380. package/dist/collection/components/ic-radio-group/test/a11y/ic-radio-group.test.a11y.js.map +1 -1
  381. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.e2e.js +218 -218
  382. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.e2e.js.map +1 -1
  383. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js +238 -238
  384. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js.map +1 -1
  385. package/dist/collection/components/ic-radio-option/ic-radio-option.css +8 -8
  386. package/dist/collection/components/ic-radio-option/ic-radio-option.js +479 -479
  387. package/dist/collection/components/ic-radio-option/ic-radio-option.js.map +1 -1
  388. package/dist/collection/components/ic-search-bar/ic-search-bar.css +1 -1
  389. package/dist/collection/components/ic-search-bar/ic-search-bar.js +1381 -1381
  390. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  391. package/dist/collection/components/ic-search-bar/test/a11y/ic-search-bar.test.a11y.js +5 -5
  392. package/dist/collection/components/ic-search-bar/test/a11y/ic-search-bar.test.a11y.js.map +1 -1
  393. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.e2e.js +992 -1008
  394. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.e2e.js.map +1 -1
  395. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.spec.js +568 -568
  396. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.spec.js.map +1 -1
  397. package/dist/collection/components/ic-section-container/ic-section-container.js +70 -70
  398. package/dist/collection/components/ic-section-container/ic-section-container.js.map +1 -1
  399. package/dist/collection/components/ic-section-container/test/basic/ic-section-container.spec.js +28 -28
  400. package/dist/collection/components/ic-section-container/test/basic/ic-section-container.spec.js.map +1 -1
  401. package/dist/collection/components/ic-select/ic-select.css +1 -1
  402. package/dist/collection/components/ic-select/ic-select.js +1466 -1447
  403. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  404. package/dist/collection/components/ic-select/test/a11y/ic-select.test.a11y.js +5 -5
  405. package/dist/collection/components/ic-select/test/a11y/ic-select.test.a11y.js.map +1 -1
  406. package/dist/collection/components/ic-select/test/basic/ic-select.e2e.js +1563 -1562
  407. package/dist/collection/components/ic-select/test/basic/ic-select.e2e.js.map +1 -1
  408. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js +1299 -1299
  409. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js.map +1 -1
  410. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +675 -654
  411. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
  412. package/dist/collection/components/ic-side-navigation/ic-side-navigation.types.js.map +1 -1
  413. package/dist/collection/components/ic-side-navigation/test/a11y/ic-side-navigation.test.a11y.js +5 -5
  414. package/dist/collection/components/ic-side-navigation/test/a11y/ic-side-navigation.test.a11y.js.map +1 -1
  415. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.e2e.js +463 -464
  416. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.e2e.js.map +1 -1
  417. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.spec.js +143 -143
  418. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.spec.js.map +1 -1
  419. package/dist/collection/components/ic-skeleton/ic-skeleton.js +127 -127
  420. package/dist/collection/components/ic-skeleton/ic-skeleton.js.map +1 -1
  421. package/dist/collection/components/ic-skeleton/test/a11y/ic-skeleton.test.a11y.js +5 -5
  422. package/dist/collection/components/ic-skeleton/test/a11y/ic-skeleton.test.a11y.js.map +1 -1
  423. package/dist/collection/components/ic-skeleton/test/basic/ic-skeleton.spec.js +38 -38
  424. package/dist/collection/components/ic-skeleton/test/basic/ic-skeleton.spec.js.map +1 -1
  425. package/dist/collection/components/ic-status-tag/ic-status-tag.css +4 -4
  426. package/dist/collection/components/ic-status-tag/ic-status-tag.js +194 -194
  427. package/dist/collection/components/ic-status-tag/ic-status-tag.js.map +1 -1
  428. package/dist/collection/components/ic-status-tag/test/a11y/ic-status-tag.test.a11y.js +5 -5
  429. package/dist/collection/components/ic-status-tag/test/a11y/ic-status-tag.test.a11y.js.map +1 -1
  430. package/dist/collection/components/ic-status-tag/test/basic/ic-status-tag.spec.js +14 -14
  431. package/dist/collection/components/ic-status-tag/test/basic/ic-status-tag.spec.js.map +1 -1
  432. package/dist/collection/components/ic-step/ic-step.css +7 -1
  433. package/dist/collection/components/ic-step/ic-step.js +385 -385
  434. package/dist/collection/components/ic-step/ic-step.js.map +1 -1
  435. package/dist/collection/components/ic-step/test/basic/ic-step.spec.js +87 -87
  436. package/dist/collection/components/ic-step/test/basic/ic-step.spec.js.map +1 -1
  437. package/dist/collection/components/ic-stepper/ic-stepper.js +306 -306
  438. package/dist/collection/components/ic-stepper/ic-stepper.js.map +1 -1
  439. package/dist/collection/components/ic-stepper/test/a11y/ic-stepper.test.a11y.js +10 -10
  440. package/dist/collection/components/ic-stepper/test/a11y/ic-stepper.test.a11y.js.map +1 -1
  441. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.e2e.js +36 -36
  442. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.e2e.js.map +1 -1
  443. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.spec.js +350 -350
  444. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.spec.js.map +1 -1
  445. package/dist/collection/components/ic-switch/ic-switch.css +3 -2
  446. package/dist/collection/components/ic-switch/ic-switch.js +355 -355
  447. package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
  448. package/dist/collection/components/ic-switch/test/a11y/ic-switch.test.a11y.js +5 -5
  449. package/dist/collection/components/ic-switch/test/a11y/ic-switch.test.a11y.js.map +1 -1
  450. package/dist/collection/components/ic-switch/test/basic/ic-switch.spec.js +88 -88
  451. package/dist/collection/components/ic-switch/test/basic/ic-switch.spec.js.map +1 -1
  452. package/dist/collection/components/ic-tab/ic-tab.js +350 -350
  453. package/dist/collection/components/ic-tab/ic-tab.js.map +1 -1
  454. package/dist/collection/components/ic-tab/test/basic/ic-tab.e2e.js +26 -26
  455. package/dist/collection/components/ic-tab/test/basic/ic-tab.e2e.js.map +1 -1
  456. package/dist/collection/components/ic-tab/test/basic/ic-tab.spec.js +93 -93
  457. package/dist/collection/components/ic-tab/test/basic/ic-tab.spec.js.map +1 -1
  458. package/dist/collection/components/ic-tab-context/ic-tab-context.js +442 -441
  459. package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -1
  460. package/dist/collection/components/ic-tab-context/test/a11y/ic-tab-context.test.a11y.js +5 -5
  461. package/dist/collection/components/ic-tab-context/test/a11y/ic-tab-context.test.a11y.js.map +1 -1
  462. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.e2e.js +213 -213
  463. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.e2e.js.map +1 -1
  464. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.spec.js +250 -250
  465. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.spec.js.map +1 -1
  466. package/dist/collection/components/ic-tab-group/ic-tab-group.css +1 -1
  467. package/dist/collection/components/ic-tab-group/ic-tab-group.js +117 -117
  468. package/dist/collection/components/ic-tab-group/ic-tab-group.js.map +1 -1
  469. package/dist/collection/components/ic-tab-panel/ic-tab-panel.css +444 -1
  470. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +191 -191
  471. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js.map +1 -1
  472. package/dist/collection/components/ic-tab-panel/test/basic/ic-tab-panel.spec.js +29 -29
  473. package/dist/collection/components/ic-tab-panel/test/basic/ic-tab-panel.spec.js.map +1 -1
  474. package/dist/collection/components/ic-text-field/ic-text-field.js +1114 -1122
  475. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  476. package/dist/collection/components/ic-text-field/test/a11y/ic-text-field.test.a11y.js +5 -5
  477. package/dist/collection/components/ic-text-field/test/a11y/ic-text-field.test.a11y.js.map +1 -1
  478. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.e2e.js +94 -94
  479. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.e2e.js.map +1 -1
  480. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js +194 -194
  481. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js.map +1 -1
  482. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.textarea.spec.js +92 -92
  483. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.textarea.spec.js.map +1 -1
  484. package/dist/collection/components/ic-theme/ic-theme.js +99 -99
  485. package/dist/collection/components/ic-theme/ic-theme.js.map +1 -1
  486. package/dist/collection/components/ic-theme/test/basic/ic-theme.e2e.js +65 -65
  487. package/dist/collection/components/ic-theme/test/basic/ic-theme.e2e.js.map +1 -1
  488. package/dist/collection/components/ic-theme/test/basic/ic-theme.spec.js +53 -53
  489. package/dist/collection/components/ic-theme/test/basic/ic-theme.spec.js.map +1 -1
  490. package/dist/collection/components/ic-toast/ic-toast.js +368 -368
  491. package/dist/collection/components/ic-toast/ic-toast.js.map +1 -1
  492. package/dist/collection/components/ic-toast/test/a11y/ic-toast.test.a11y.js +10 -10
  493. package/dist/collection/components/ic-toast/test/a11y/ic-toast.test.a11y.js.map +1 -1
  494. package/dist/collection/components/ic-toast/test/basic/ic-toast.e2e.js +66 -66
  495. package/dist/collection/components/ic-toast/test/basic/ic-toast.e2e.js.map +1 -1
  496. package/dist/collection/components/ic-toast/test/basic/ic-toast.spec.js +180 -180
  497. package/dist/collection/components/ic-toast/test/basic/ic-toast.spec.js.map +1 -1
  498. package/dist/collection/components/ic-toast-region/ic-toast-region.js +115 -110
  499. package/dist/collection/components/ic-toast-region/ic-toast-region.js.map +1 -1
  500. package/dist/collection/components/ic-toast-region/test/basic/ic-toast-region.spec.js +58 -58
  501. package/dist/collection/components/ic-toast-region/test/basic/ic-toast-region.spec.js.map +1 -1
  502. package/dist/collection/components/ic-tooltip/ic-tooltip.css +2 -2
  503. package/dist/collection/components/ic-tooltip/ic-tooltip.js +347 -329
  504. package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
  505. package/dist/collection/components/ic-tooltip/test/a11y/ic-tooltip.test.a11y.js +5 -5
  506. package/dist/collection/components/ic-tooltip/test/a11y/ic-tooltip.test.a11y.js.map +1 -1
  507. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.e2e.js +105 -105
  508. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.e2e.js.map +1 -1
  509. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.spec.js +276 -276
  510. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.spec.js.map +1 -1
  511. package/dist/collection/components/ic-top-navigation/ic-top-navigation.css +3 -7
  512. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +432 -414
  513. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
  514. package/dist/collection/components/ic-top-navigation/test/a11y/ic-top-navigation.test.a11y.js +20 -18
  515. package/dist/collection/components/ic-top-navigation/test/a11y/ic-top-navigation.test.a11y.js.map +1 -1
  516. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.e2e.js +43 -43
  517. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.e2e.js.map +1 -1
  518. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.mobile.e2e.js +191 -191
  519. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.mobile.e2e.js.map +1 -1
  520. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.spec.js +187 -172
  521. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.spec.js.map +1 -1
  522. package/dist/collection/components/ic-typography/ic-typography.js +270 -270
  523. package/dist/collection/components/ic-typography/ic-typography.js.map +1 -1
  524. package/dist/collection/components/ic-typography/test/a11y/ic-typography.test.a11y.js +5 -5
  525. package/dist/collection/components/ic-typography/test/a11y/ic-typography.test.a11y.js.map +1 -1
  526. package/dist/collection/components/ic-typography/test/basic/ic-typography.e2e.js +25 -25
  527. package/dist/collection/components/ic-typography/test/basic/ic-typography.e2e.js.map +1 -1
  528. package/dist/collection/components/ic-typography/test/basic/ic-typography.spec.js +276 -276
  529. package/dist/collection/components/ic-typography/test/basic/ic-typography.spec.js.map +1 -1
  530. package/dist/collection/testspec.setup.js +32 -32
  531. package/dist/collection/testspec.setup.js.map +1 -1
  532. package/dist/collection/utils/constants.js +55 -55
  533. package/dist/collection/utils/constants.js.map +1 -1
  534. package/dist/collection/utils/helpers.js +235 -235
  535. package/dist/collection/utils/helpers.js.map +1 -1
  536. package/dist/collection/utils/testa11y.helpers.js +2 -2
  537. package/dist/collection/utils/testa11y.helpers.js.map +1 -1
  538. package/dist/collection/utils/types.js +6 -6
  539. package/dist/collection/utils/types.js.map +1 -1
  540. package/dist/components/helpers.js +290 -290
  541. package/dist/components/helpers.js.map +1 -1
  542. package/dist/components/ic-accordion-group.d.ts +2 -2
  543. package/dist/components/ic-accordion-group.js +112 -112
  544. package/dist/components/ic-accordion-group.js.map +1 -1
  545. package/dist/components/ic-accordion.d.ts +2 -2
  546. package/dist/components/ic-accordion.js +125 -125
  547. package/dist/components/ic-accordion.js.map +1 -1
  548. package/dist/components/ic-alert.d.ts +2 -2
  549. package/dist/components/ic-alert2.js +98 -98
  550. package/dist/components/ic-alert2.js.map +1 -1
  551. package/dist/components/ic-back-to-top.d.ts +2 -2
  552. package/dist/components/ic-back-to-top.js +144 -144
  553. package/dist/components/ic-back-to-top.js.map +1 -1
  554. package/dist/components/ic-badge.d.ts +2 -2
  555. package/dist/components/ic-badge.js +174 -174
  556. package/dist/components/ic-badge.js.map +1 -1
  557. package/dist/components/ic-breadcrumb-group.d.ts +2 -2
  558. package/dist/components/ic-breadcrumb-group.js +199 -192
  559. package/dist/components/ic-breadcrumb-group.js.map +1 -1
  560. package/dist/components/ic-breadcrumb.d.ts +2 -2
  561. package/dist/components/ic-breadcrumb2.js +78 -75
  562. package/dist/components/ic-breadcrumb2.js.map +1 -1
  563. package/dist/components/ic-button.d.ts +2 -2
  564. package/dist/components/ic-button2.js +312 -304
  565. package/dist/components/ic-button2.js.map +1 -1
  566. package/dist/components/ic-card.d.ts +2 -2
  567. package/dist/components/ic-card.js +156 -156
  568. package/dist/components/ic-card.js.map +1 -1
  569. package/dist/components/ic-checkbox-group.d.ts +2 -2
  570. package/dist/components/ic-checkbox-group.js +97 -97
  571. package/dist/components/ic-checkbox-group.js.map +1 -1
  572. package/dist/components/ic-checkbox.d.ts +2 -2
  573. package/dist/components/ic-checkbox.js +131 -131
  574. package/dist/components/ic-checkbox.js.map +1 -1
  575. package/dist/components/ic-chip.d.ts +2 -2
  576. package/dist/components/ic-chip.js +99 -96
  577. package/dist/components/ic-chip.js.map +1 -1
  578. package/dist/components/ic-classification-banner.d.ts +2 -2
  579. package/dist/components/ic-classification-banner.js +47 -47
  580. package/dist/components/ic-classification-banner.js.map +1 -1
  581. package/dist/components/ic-data-entity.d.ts +2 -2
  582. package/dist/components/ic-data-entity.js +40 -40
  583. package/dist/components/ic-data-entity.js.map +1 -1
  584. package/dist/components/ic-data-row.d.ts +2 -2
  585. package/dist/components/ic-data-row.js +98 -98
  586. package/dist/components/ic-data-row.js.map +1 -1
  587. package/dist/components/ic-dialog.d.ts +2 -2
  588. package/dist/components/ic-dialog.js +400 -378
  589. package/dist/components/ic-dialog.js.map +1 -1
  590. package/dist/components/ic-divider.d.ts +2 -2
  591. package/dist/components/ic-divider2.js +28 -28
  592. package/dist/components/ic-divider2.js.map +1 -1
  593. package/dist/components/ic-empty-state.d.ts +2 -2
  594. package/dist/components/ic-empty-state.js +47 -47
  595. package/dist/components/ic-empty-state.js.map +1 -1
  596. package/dist/components/ic-footer-link-group.d.ts +2 -2
  597. package/dist/components/ic-footer-link-group.js +82 -82
  598. package/dist/components/ic-footer-link-group.js.map +1 -1
  599. package/dist/components/ic-footer-link.d.ts +2 -2
  600. package/dist/components/ic-footer-link.js +71 -71
  601. package/dist/components/ic-footer-link.js.map +1 -1
  602. package/dist/components/ic-footer.d.ts +2 -2
  603. package/dist/components/ic-footer.js +108 -108
  604. package/dist/components/ic-footer.js.map +1 -1
  605. package/dist/components/ic-hero.d.ts +2 -2
  606. package/dist/components/ic-hero.js +98 -98
  607. package/dist/components/ic-hero.js.map +1 -1
  608. package/dist/components/ic-horizontal-scroll.d.ts +2 -2
  609. package/dist/components/ic-horizontal-scroll2.js +189 -189
  610. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  611. package/dist/components/ic-input-component-container.d.ts +2 -2
  612. package/dist/components/ic-input-component-container2.js +62 -62
  613. package/dist/components/ic-input-component-container2.js.map +1 -1
  614. package/dist/components/ic-input-container.d.ts +2 -2
  615. package/dist/components/ic-input-container2.js +28 -28
  616. package/dist/components/ic-input-container2.js.map +1 -1
  617. package/dist/components/ic-input-label.d.ts +2 -2
  618. package/dist/components/ic-input-label2.js +62 -62
  619. package/dist/components/ic-input-label2.js.map +1 -1
  620. package/dist/components/ic-input-validation.d.ts +2 -2
  621. package/dist/components/ic-input-validation2.js +50 -50
  622. package/dist/components/ic-input-validation2.js.map +1 -1
  623. package/dist/components/ic-link.d.ts +2 -2
  624. package/dist/components/ic-link2.js +76 -76
  625. package/dist/components/ic-link2.js.map +1 -1
  626. package/dist/components/ic-loading-indicator.d.ts +2 -2
  627. package/dist/components/ic-loading-indicator2.js +211 -210
  628. package/dist/components/ic-loading-indicator2.js.map +1 -1
  629. package/dist/components/ic-menu-group.d.ts +2 -2
  630. package/dist/components/ic-menu-group.js +30 -30
  631. package/dist/components/ic-menu-group.js.map +1 -1
  632. package/dist/components/ic-menu-item.d.ts +2 -2
  633. package/dist/components/ic-menu-item2.js +144 -144
  634. package/dist/components/ic-menu-item2.js.map +1 -1
  635. package/dist/components/ic-menu.d.ts +2 -2
  636. package/dist/components/ic-menu2.js +694 -682
  637. package/dist/components/ic-menu2.js.map +1 -1
  638. package/dist/components/ic-navigation-button.d.ts +2 -2
  639. package/dist/components/ic-navigation-button.js +121 -118
  640. package/dist/components/ic-navigation-button.js.map +1 -1
  641. package/dist/components/ic-navigation-group.d.ts +2 -2
  642. package/dist/components/ic-navigation-group.js +311 -311
  643. package/dist/components/ic-navigation-group.js.map +1 -1
  644. package/dist/components/ic-navigation-item.d.ts +2 -2
  645. package/dist/components/ic-navigation-item.js +195 -195
  646. package/dist/components/ic-navigation-item.js.map +1 -1
  647. package/dist/components/ic-navigation-menu.d.ts +2 -2
  648. package/dist/components/ic-navigation-menu2.js +140 -137
  649. package/dist/components/ic-navigation-menu2.js.map +1 -1
  650. package/dist/components/ic-page-header.d.ts +2 -2
  651. package/dist/components/ic-page-header.js +147 -147
  652. package/dist/components/ic-page-header.js.map +1 -1
  653. package/dist/components/ic-pagination-item.d.ts +2 -2
  654. package/dist/components/ic-pagination-item2.js +67 -67
  655. package/dist/components/ic-pagination-item2.js.map +1 -1
  656. package/dist/components/ic-pagination.d.ts +2 -2
  657. package/dist/components/ic-pagination.js +253 -252
  658. package/dist/components/ic-pagination.js.map +1 -1
  659. package/dist/components/ic-popover-menu.d.ts +2 -2
  660. package/dist/components/ic-popover-menu.js +278 -309
  661. package/dist/components/ic-popover-menu.js.map +1 -1
  662. package/dist/components/ic-radio-group.d.ts +2 -2
  663. package/dist/components/ic-radio-group.js +200 -200
  664. package/dist/components/ic-radio-group.js.map +1 -1
  665. package/dist/components/ic-radio-option.d.ts +2 -2
  666. package/dist/components/ic-radio-option.js +163 -163
  667. package/dist/components/ic-radio-option.js.map +1 -1
  668. package/dist/components/ic-search-bar.d.ts +2 -2
  669. package/dist/components/ic-search-bar.js +581 -581
  670. package/dist/components/ic-search-bar.js.map +1 -1
  671. package/dist/components/ic-section-container.d.ts +2 -2
  672. package/dist/components/ic-section-container2.js +31 -31
  673. package/dist/components/ic-section-container2.js.map +1 -1
  674. package/dist/components/ic-select.d.ts +2 -2
  675. package/dist/components/ic-select.js +752 -750
  676. package/dist/components/ic-select.js.map +1 -1
  677. package/dist/components/ic-side-navigation.d.ts +2 -2
  678. package/dist/components/ic-side-navigation.js +479 -481
  679. package/dist/components/ic-side-navigation.js.map +1 -1
  680. package/dist/components/ic-skeleton.d.ts +2 -2
  681. package/dist/components/ic-skeleton.js +64 -64
  682. package/dist/components/ic-skeleton.js.map +1 -1
  683. package/dist/components/ic-status-tag.d.ts +2 -2
  684. package/dist/components/ic-status-tag.js +54 -54
  685. package/dist/components/ic-status-tag.js.map +1 -1
  686. package/dist/components/ic-step.d.ts +2 -2
  687. package/dist/components/ic-step.js +157 -157
  688. package/dist/components/ic-step.js.map +1 -1
  689. package/dist/components/ic-stepper.d.ts +2 -2
  690. package/dist/components/ic-stepper.js +223 -223
  691. package/dist/components/ic-stepper.js.map +1 -1
  692. package/dist/components/ic-switch.d.ts +2 -2
  693. package/dist/components/ic-switch.js +115 -115
  694. package/dist/components/ic-switch.js.map +1 -1
  695. package/dist/components/ic-tab-context.d.ts +2 -2
  696. package/dist/components/ic-tab-context.js +271 -271
  697. package/dist/components/ic-tab-context.js.map +1 -1
  698. package/dist/components/ic-tab-group.d.ts +2 -2
  699. package/dist/components/ic-tab-group.js +65 -65
  700. package/dist/components/ic-tab-group.js.map +1 -1
  701. package/dist/components/ic-tab-panel.d.ts +2 -2
  702. package/dist/components/ic-tab-panel.js +48 -48
  703. package/dist/components/ic-tab-panel.js.map +1 -1
  704. package/dist/components/ic-tab.d.ts +2 -2
  705. package/dist/components/ic-tab.js +112 -112
  706. package/dist/components/ic-tab.js.map +1 -1
  707. package/dist/components/ic-text-field.d.ts +2 -2
  708. package/dist/components/ic-text-field2.js +292 -300
  709. package/dist/components/ic-text-field2.js.map +1 -1
  710. package/dist/components/ic-theme.d.ts +2 -2
  711. package/dist/components/ic-theme.js +65 -65
  712. package/dist/components/ic-theme.js.map +1 -1
  713. package/dist/components/ic-toast-region.d.ts +2 -2
  714. package/dist/components/ic-toast-region.js +63 -62
  715. package/dist/components/ic-toast-region.js.map +1 -1
  716. package/dist/components/ic-toast.d.ts +2 -2
  717. package/dist/components/ic-toast.js +187 -187
  718. package/dist/components/ic-toast.js.map +1 -1
  719. package/dist/components/ic-tooltip.d.ts +2 -2
  720. package/dist/components/ic-tooltip2.js +214 -212
  721. package/dist/components/ic-tooltip2.js.map +1 -1
  722. package/dist/components/ic-top-navigation.d.ts +2 -2
  723. package/dist/components/ic-top-navigation.js +263 -260
  724. package/dist/components/ic-top-navigation.js.map +1 -1
  725. package/dist/components/ic-typography.d.ts +2 -2
  726. package/dist/components/ic-typography2.js +142 -142
  727. package/dist/components/ic-typography2.js.map +1 -1
  728. package/dist/components/types.js +6 -6
  729. package/dist/components/types.js.map +1 -1
  730. package/dist/core/core.css +2 -2
  731. package/dist/core/core.esm.js +1 -1
  732. package/dist/core/core.esm.js.map +1 -1
  733. package/dist/core/p-02159742.entry.js +2 -0
  734. package/dist/core/p-02159742.entry.js.map +1 -0
  735. package/dist/core/p-056f8a67.entry.js +2 -0
  736. package/dist/core/p-056f8a67.entry.js.map +1 -0
  737. package/dist/core/{p-08b59078.entry.js → p-11736fbe.entry.js} +2 -2
  738. package/dist/core/{p-ba495175.entry.js → p-15466b42.entry.js} +2 -2
  739. package/dist/core/{p-ba495175.entry.js.map → p-15466b42.entry.js.map} +1 -1
  740. package/dist/core/{p-eb063498.entry.js → p-15624e08.entry.js} +2 -2
  741. package/dist/core/p-15624e08.entry.js.map +1 -0
  742. package/dist/core/{p-5fcd202e.entry.js → p-15ef0674.entry.js} +2 -2
  743. package/dist/core/{p-88ea1e49.entry.js → p-180e36b1.entry.js} +2 -2
  744. package/dist/core/p-22c024ee.entry.js +2 -0
  745. package/dist/core/p-22c024ee.entry.js.map +1 -0
  746. package/dist/core/{p-613aa265.js → p-26b7b18f.js} +1 -1
  747. package/dist/core/{p-932fb4b7.entry.js → p-287ab47c.entry.js} +2 -2
  748. package/dist/core/{p-69948c3e.entry.js → p-2b24b4bf.entry.js} +2 -2
  749. package/dist/core/p-31969be6.entry.js +2 -0
  750. package/dist/core/p-31969be6.entry.js.map +1 -0
  751. package/dist/core/{p-475b7bd2.entry.js → p-335fc5e4.entry.js} +2 -2
  752. package/dist/core/{p-c9ef9f5c.entry.js → p-366bcb17.entry.js} +2 -2
  753. package/dist/core/{p-ed256f1d.entry.js → p-3a0ef91e.entry.js} +2 -2
  754. package/dist/core/p-498eb7ad.entry.js +2 -0
  755. package/dist/core/p-498eb7ad.entry.js.map +1 -0
  756. package/dist/core/p-51f9f329.entry.js +2 -0
  757. package/dist/core/p-51f9f329.entry.js.map +1 -0
  758. package/dist/core/{p-f019219c.entry.js → p-529d8955.entry.js} +2 -2
  759. package/dist/core/p-52e063d3.js +3 -0
  760. package/dist/core/p-52e063d3.js.map +1 -0
  761. package/dist/core/p-5c7e339f.entry.js +2 -0
  762. package/dist/core/p-5c7e339f.entry.js.map +1 -0
  763. package/dist/core/p-5f9d69ef.entry.js +2 -0
  764. package/dist/core/p-5f9d69ef.entry.js.map +1 -0
  765. package/dist/core/{p-2c30b583.entry.js → p-60c4604f.entry.js} +2 -2
  766. package/dist/core/p-6bc431b2.entry.js +2 -0
  767. package/dist/core/p-6bc431b2.entry.js.map +1 -0
  768. package/dist/core/{p-ccac1730.entry.js → p-6d3f9501.entry.js} +2 -2
  769. package/dist/core/{p-536b3c97.entry.js → p-6eb0421d.entry.js} +2 -2
  770. package/dist/core/{p-48525498.entry.js → p-765bdd98.entry.js} +2 -2
  771. package/dist/core/{p-3a814fc4.entry.js → p-7f887c1e.entry.js} +2 -2
  772. package/dist/core/{p-752f0f9a.entry.js → p-8a83f391.entry.js} +2 -2
  773. package/dist/core/p-8a83f391.entry.js.map +1 -0
  774. package/dist/core/{p-e3bffcae.entry.js → p-94e88827.entry.js} +2 -2
  775. package/dist/core/{p-8fb4f0c0.js → p-95a864bf.js} +2 -2
  776. package/dist/core/{p-c0c62df4.entry.js → p-9639e33f.entry.js} +2 -2
  777. package/dist/core/p-9639e33f.entry.js.map +1 -0
  778. package/dist/core/p-96da1e85.entry.js +2 -0
  779. package/dist/core/p-96da1e85.entry.js.map +1 -0
  780. package/dist/core/p-988991d3.entry.js +2 -0
  781. package/dist/core/p-988991d3.entry.js.map +1 -0
  782. package/dist/core/{p-0c82048e.entry.js → p-9c30720d.entry.js} +2 -2
  783. package/dist/core/p-aa0a9870.entry.js +2 -0
  784. package/dist/core/p-aa0a9870.entry.js.map +1 -0
  785. package/dist/core/{p-76563540.entry.js → p-ad36a704.entry.js} +2 -2
  786. package/dist/core/p-b0088956.entry.js +2 -0
  787. package/dist/core/p-b0088956.entry.js.map +1 -0
  788. package/dist/core/p-b39ecae2.entry.js +2 -0
  789. package/dist/core/p-b39ecae2.entry.js.map +1 -0
  790. package/dist/core/{p-2265e418.entry.js → p-b6a575c3.entry.js} +2 -2
  791. package/dist/core/{p-fbc8a739.entry.js → p-b9736cf4.entry.js} +2 -2
  792. package/dist/core/{p-025f9d2a.entry.js → p-b99f9e89.entry.js} +2 -2
  793. package/dist/core/{p-b0ce60a0.entry.js → p-c2452388.entry.js} +2 -2
  794. package/dist/core/{p-345fe84a.entry.js → p-c770e7a2.entry.js} +2 -2
  795. package/dist/core/p-ca178add.entry.js +2 -0
  796. package/dist/core/p-ca178add.entry.js.map +1 -0
  797. package/dist/core/p-ca48e97a.entry.js +2 -0
  798. package/dist/core/p-ca48e97a.entry.js.map +1 -0
  799. package/dist/core/p-cd8de4c5.entry.js +2 -0
  800. package/dist/core/p-cd8de4c5.entry.js.map +1 -0
  801. package/dist/core/{p-a4397df4.entry.js → p-cfc930f6.entry.js} +2 -2
  802. package/dist/core/{p-3a15202f.entry.js → p-d18450f9.entry.js} +2 -2
  803. package/dist/core/p-d18450f9.entry.js.map +1 -0
  804. package/dist/core/p-daebb58a.entry.js +2 -0
  805. package/dist/core/p-daebb58a.entry.js.map +1 -0
  806. package/dist/core/p-dbb5b008.entry.js +2 -0
  807. package/dist/core/p-dbb5b008.entry.js.map +1 -0
  808. package/dist/core/p-e278242f.entry.js +2 -0
  809. package/dist/core/p-e278242f.entry.js.map +1 -0
  810. package/dist/core/{p-af9f1caa.entry.js → p-e5abfadd.entry.js} +2 -2
  811. package/dist/core/p-e5abfadd.entry.js.map +1 -0
  812. package/dist/core/{p-41c6eaa1.entry.js → p-e9738c74.entry.js} +2 -2
  813. package/dist/core/p-ea17e371.entry.js +2 -0
  814. package/dist/core/p-ea17e371.entry.js.map +1 -0
  815. package/dist/core/{p-e2fd542e.entry.js → p-edd29edc.entry.js} +2 -2
  816. package/dist/core/p-edec0936.entry.js +2 -0
  817. package/dist/core/p-edec0936.entry.js.map +1 -0
  818. package/dist/core/p-ee97e2a5.entry.js +2 -0
  819. package/dist/core/p-ee97e2a5.entry.js.map +1 -0
  820. package/dist/core/{p-8b18346a.entry.js → p-f0809037.entry.js} +2 -2
  821. package/dist/core/p-f0809037.entry.js.map +1 -0
  822. package/dist/core/{p-5bb6c79b.entry.js → p-f2e6b9ef.entry.js} +2 -2
  823. package/dist/core/{p-cf4bacee.entry.js → p-fdb4b48f.entry.js} +2 -2
  824. package/dist/esm/core.js +4 -4
  825. package/dist/esm/core.js.map +1 -1
  826. package/dist/esm/{helpers-24f6e762.js → helpers-c597f246.js} +292 -292
  827. package/dist/esm/helpers-c597f246.js.map +1 -0
  828. package/dist/esm/ic-accordion-group.entry.js +71 -71
  829. package/dist/esm/ic-accordion-group.entry.js.map +1 -1
  830. package/dist/esm/ic-accordion.entry.js +99 -99
  831. package/dist/esm/ic-accordion.entry.js.map +1 -1
  832. package/dist/esm/ic-alert.entry.js +58 -58
  833. package/dist/esm/ic-alert.entry.js.map +1 -1
  834. package/dist/esm/ic-back-to-top.entry.js +121 -121
  835. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  836. package/dist/esm/ic-badge.entry.js +146 -146
  837. package/dist/esm/ic-badge.entry.js.map +1 -1
  838. package/dist/esm/ic-breadcrumb-group.entry.js +172 -166
  839. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  840. package/dist/esm/ic-breadcrumb.entry.js +55 -53
  841. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  842. package/dist/esm/ic-button_3.entry.js +616 -607
  843. package/dist/esm/ic-button_3.entry.js.map +1 -1
  844. package/dist/esm/ic-card.entry.js +106 -106
  845. package/dist/esm/ic-card.entry.js.map +1 -1
  846. package/dist/esm/ic-checkbox-group.entry.js +60 -60
  847. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  848. package/dist/esm/ic-checkbox.entry.js +95 -95
  849. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  850. package/dist/esm/ic-chip.entry.js +67 -65
  851. package/dist/esm/ic-chip.entry.js.map +1 -1
  852. package/dist/esm/ic-classification-banner.entry.js +23 -23
  853. package/dist/esm/ic-classification-banner.entry.js.map +1 -1
  854. package/dist/esm/ic-data-entity.entry.js +18 -18
  855. package/dist/esm/ic-data-entity.entry.js.map +1 -1
  856. package/dist/esm/ic-data-row.entry.js +75 -75
  857. package/dist/esm/ic-data-row.entry.js.map +1 -1
  858. package/dist/esm/ic-dialog.entry.js +339 -318
  859. package/dist/esm/ic-dialog.entry.js.map +1 -1
  860. package/dist/esm/ic-divider.entry.js +16 -16
  861. package/dist/esm/ic-divider.entry.js.map +1 -1
  862. package/dist/esm/ic-empty-state.entry.js +24 -24
  863. package/dist/esm/ic-empty-state.entry.js.map +1 -1
  864. package/dist/esm/ic-footer-link-group.entry.js +55 -55
  865. package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
  866. package/dist/esm/ic-footer-link.entry.js +50 -50
  867. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  868. package/dist/esm/ic-footer.entry.js +78 -78
  869. package/dist/esm/ic-footer.entry.js.map +1 -1
  870. package/dist/esm/ic-hero.entry.js +62 -62
  871. package/dist/esm/ic-hero.entry.js.map +1 -1
  872. package/dist/esm/ic-horizontal-scroll.entry.js +151 -151
  873. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  874. package/dist/esm/ic-input-component-container_3.entry.js +682 -673
  875. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  876. package/dist/esm/ic-input-label_2.entry.js +63 -63
  877. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  878. package/dist/esm/ic-link.entry.js +55 -55
  879. package/dist/esm/ic-link.entry.js.map +1 -1
  880. package/dist/esm/ic-menu-group.entry.js +12 -12
  881. package/dist/esm/ic-menu-group.entry.js.map +1 -1
  882. package/dist/esm/ic-menu-item.entry.js +100 -100
  883. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  884. package/dist/esm/ic-navigation-button.entry.js +79 -76
  885. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  886. package/dist/esm/ic-navigation-group.entry.js +284 -284
  887. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  888. package/dist/esm/ic-navigation-item.entry.js +153 -153
  889. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  890. package/dist/esm/ic-navigation-menu.entry.js +106 -103
  891. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  892. package/dist/esm/ic-page-header.entry.js +93 -93
  893. package/dist/esm/ic-page-header.entry.js.map +1 -1
  894. package/dist/esm/ic-pagination-item.entry.js +42 -42
  895. package/dist/esm/ic-pagination-item.entry.js.map +1 -1
  896. package/dist/esm/ic-pagination.entry.js +196 -195
  897. package/dist/esm/ic-pagination.entry.js.map +1 -1
  898. package/dist/esm/ic-popover-menu.entry.js +229 -260
  899. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  900. package/dist/esm/ic-radio-group.entry.js +156 -156
  901. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  902. package/dist/esm/ic-radio-option.entry.js +128 -128
  903. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  904. package/dist/esm/ic-search-bar.entry.js +475 -475
  905. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  906. package/dist/esm/ic-section-container.entry.js +15 -15
  907. package/dist/esm/ic-section-container.entry.js.map +1 -1
  908. package/dist/esm/ic-select.entry.js +640 -639
  909. package/dist/esm/ic-select.entry.js.map +1 -1
  910. package/dist/esm/ic-side-navigation.entry.js +424 -426
  911. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  912. package/dist/esm/ic-skeleton.entry.js +43 -43
  913. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  914. package/dist/esm/ic-status-tag.entry.js +30 -30
  915. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  916. package/dist/esm/ic-step.entry.js +121 -121
  917. package/dist/esm/ic-step.entry.js.map +1 -1
  918. package/dist/esm/ic-stepper.entry.js +200 -200
  919. package/dist/esm/ic-stepper.entry.js.map +1 -1
  920. package/dist/esm/ic-switch.entry.js +78 -78
  921. package/dist/esm/ic-switch.entry.js.map +1 -1
  922. package/dist/esm/ic-tab-context.entry.js +252 -252
  923. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  924. package/dist/esm/ic-tab-group.entry.js +24 -24
  925. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  926. package/dist/esm/ic-tab-panel.entry.js +31 -31
  927. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  928. package/dist/esm/ic-tab.entry.js +86 -86
  929. package/dist/esm/ic-tab.entry.js.map +1 -1
  930. package/dist/esm/ic-text-field.entry.js +209 -217
  931. package/dist/esm/ic-text-field.entry.js.map +1 -1
  932. package/dist/esm/ic-theme.entry.js +51 -51
  933. package/dist/esm/ic-theme.entry.js.map +1 -1
  934. package/dist/esm/ic-toast-region.entry.js +47 -46
  935. package/dist/esm/ic-toast-region.entry.js.map +1 -1
  936. package/dist/esm/ic-toast.entry.js +145 -145
  937. package/dist/esm/ic-toast.entry.js.map +1 -1
  938. package/dist/esm/ic-top-navigation.entry.js +198 -195
  939. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  940. package/dist/esm/ic-typography.entry.js +118 -118
  941. package/dist/esm/ic-typography.entry.js.map +1 -1
  942. package/dist/{cjs/index-4f8c900f.js → esm/index-05003e1c.js} +603 -407
  943. package/dist/esm/index-05003e1c.js.map +1 -0
  944. package/dist/esm/loader.js +3 -3
  945. package/dist/esm/types-6f6b41a5.js +16 -0
  946. package/dist/esm/{types-b2398b37.js.map → types-6f6b41a5.js.map} +1 -1
  947. package/dist/node.d.ts +12 -0
  948. package/dist/types/components/ic-accordion/ic-accordion.d.ts +48 -48
  949. package/dist/types/components/ic-accordion-group/ic-accordion-group.d.ts +30 -30
  950. package/dist/types/components/ic-alert/ic-alert.d.ts +40 -40
  951. package/dist/types/components/ic-back-to-top/ic-back-to-top.d.ts +23 -23
  952. package/dist/types/components/ic-badge/ic-badge.d.ts +57 -57
  953. package/dist/types/components/ic-breadcrumb/ic-breadcrumb.d.ts +30 -25
  954. package/dist/types/components/ic-breadcrumb-group/ic-breadcrumb-group.d.ts +43 -38
  955. package/dist/types/components/ic-button/ic-button.d.ts +142 -137
  956. package/dist/types/components/ic-card/ic-card.d.ts +68 -68
  957. package/dist/types/components/ic-checkbox/ic-checkbox.d.ts +91 -91
  958. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +50 -50
  959. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.types.d.ts +6 -6
  960. package/dist/types/components/ic-chip/ic-chip.d.ts +50 -46
  961. package/dist/types/components/ic-classification-banner/ic-classification-banner.d.ts +21 -21
  962. package/dist/types/components/ic-data-entity/ic-data-entity.d.ts +14 -14
  963. package/dist/types/components/ic-data-row/ic-data-row.d.ts +34 -34
  964. package/dist/types/components/ic-dialog/ic-dialog.d.ts +139 -128
  965. package/dist/types/components/ic-divider/ic-divider.d.ts +3 -3
  966. package/dist/types/components/ic-empty-state/ic-empty-state.d.ts +27 -27
  967. package/dist/types/components/ic-footer/ic-footer.d.ts +41 -41
  968. package/dist/types/components/ic-footer-link/ic-footer-link.d.ts +35 -35
  969. package/dist/types/components/ic-footer-link-group/ic-footer-link-group.d.ts +17 -17
  970. package/dist/types/components/ic-hero/ic-hero.d.ts +51 -51
  971. package/dist/types/components/ic-horizontal-scroll/ic-horizontal-scroll.d.ts +41 -41
  972. package/dist/types/components/ic-input-component-container/ic-input-component-container.d.ts +42 -42
  973. package/dist/types/components/ic-input-container/ic-input-container.d.ts +9 -9
  974. package/dist/types/components/ic-input-label/ic-input-label.d.ts +38 -38
  975. package/dist/types/components/ic-input-validation/ic-input-validation.d.ts +23 -23
  976. package/dist/types/components/ic-link/ic-link.d.ts +44 -44
  977. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.d.ts +76 -76
  978. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.types.d.ts +3 -3
  979. package/dist/types/components/ic-menu/ic-menu.d.ts +183 -173
  980. package/dist/types/components/ic-menu/ic-menu.types.d.ts +6 -6
  981. package/dist/types/components/ic-menu-group/ic-menu-group.d.ts +6 -6
  982. package/dist/types/components/ic-menu-item/ic-menu-item.d.ts +66 -66
  983. package/dist/types/components/ic-navigation-button/ic-navigation-button.d.ts +47 -47
  984. package/dist/types/components/ic-navigation-group/ic-navigation-group.d.ts +62 -62
  985. package/dist/types/components/ic-navigation-item/ic-navigation-item.d.ts +80 -80
  986. package/dist/types/components/ic-navigation-menu/ic-navigation-menu.d.ts +29 -29
  987. package/dist/types/components/ic-page-header/ic-page-header.d.ts +48 -48
  988. package/dist/types/components/ic-pagination/ic-pagination.d.ts +78 -77
  989. package/dist/types/components/ic-pagination/ic-pagination.types.d.ts +1 -1
  990. package/dist/types/components/ic-pagination-item/ic-pagination-item.d.ts +42 -42
  991. package/dist/types/components/ic-popover-menu/ic-popover-menu.d.ts +60 -60
  992. package/dist/types/components/ic-radio-group/ic-radio-group.d.ts +67 -67
  993. package/dist/types/components/ic-radio-group/ic-radio-group.types.d.ts +5 -5
  994. package/dist/types/components/ic-radio-option/ic-radio-option.d.ts +89 -89
  995. package/dist/types/components/ic-search-bar/ic-search-bar.d.ts +248 -248
  996. package/dist/types/components/ic-search-bar/ic-search-bar.types.d.ts +1 -1
  997. package/dist/types/components/ic-section-container/ic-section-container.d.ts +9 -9
  998. package/dist/types/components/ic-select/ic-select.d.ts +269 -265
  999. package/dist/types/components/ic-side-navigation/ic-side-navigation.d.ts +103 -97
  1000. package/dist/types/components/ic-side-navigation/ic-side-navigation.types.d.ts +10 -6
  1001. package/dist/types/components/ic-skeleton/ic-skeleton.d.ts +19 -19
  1002. package/dist/types/components/ic-status-tag/ic-status-tag.d.ts +31 -31
  1003. package/dist/types/components/ic-step/ic-step.d.ts +51 -51
  1004. package/dist/types/components/ic-stepper/ic-stepper.d.ts +40 -40
  1005. package/dist/types/components/ic-switch/ic-switch.d.ts +73 -73
  1006. package/dist/types/components/ic-switch/ic-switch.types.d.ts +2 -2
  1007. package/dist/types/components/ic-tab/ic-tab.d.ts +51 -51
  1008. package/dist/types/components/ic-tab/ic-tab.types.d.ts +4 -4
  1009. package/dist/types/components/ic-tab-context/ic-tab-context.d.ts +59 -59
  1010. package/dist/types/components/ic-tab-group/ic-tab-group.d.ts +19 -19
  1011. package/dist/types/components/ic-tab-panel/ic-tab-panel.d.ts +33 -33
  1012. package/dist/types/components/ic-text-field/ic-text-field.d.ts +214 -213
  1013. package/dist/types/components/ic-theme/ic-theme.d.ts +14 -14
  1014. package/dist/types/components/ic-toast/ic-toast.d.ts +58 -58
  1015. package/dist/types/components/ic-toast-region/ic-toast-region.d.ts +16 -15
  1016. package/dist/types/components/ic-tooltip/ic-tooltip.d.ts +54 -50
  1017. package/dist/types/components/ic-top-navigation/ic-top-navigation.d.ts +78 -72
  1018. package/dist/types/components/ic-typography/ic-typography.d.ts +54 -54
  1019. package/dist/types/components.d.ts +415 -3
  1020. package/dist/types/stencil-public-runtime.d.ts +29 -0
  1021. package/dist/types/testspec.setup.d.ts +7 -7
  1022. package/dist/types/utils/constants.d.ts +26 -26
  1023. package/dist/types/utils/helpers.d.ts +7 -7
  1024. package/dist/types/utils/types.d.ts +31 -31
  1025. package/hydrate/index.d.ts +2 -2
  1026. package/hydrate/index.js +16042 -14263
  1027. package/package.json +5 -4
  1028. package/vscode-data.json +3939 -0
  1029. package/dist/cjs/helpers-0d63359f.js.map +0 -1
  1030. package/dist/cjs/index-4f8c900f.js.map +0 -1
  1031. package/dist/cjs/types-7d67439f.js +0 -16
  1032. package/dist/core/p-03329fd0.entry.js +0 -2
  1033. package/dist/core/p-03329fd0.entry.js.map +0 -1
  1034. package/dist/core/p-0dc4f225.entry.js +0 -2
  1035. package/dist/core/p-0dc4f225.entry.js.map +0 -1
  1036. package/dist/core/p-12124e24.entry.js +0 -2
  1037. package/dist/core/p-12124e24.entry.js.map +0 -1
  1038. package/dist/core/p-1cf2a6aa.entry.js +0 -2
  1039. package/dist/core/p-1cf2a6aa.entry.js.map +0 -1
  1040. package/dist/core/p-39c8111d.entry.js +0 -2
  1041. package/dist/core/p-39c8111d.entry.js.map +0 -1
  1042. package/dist/core/p-3a15202f.entry.js.map +0 -1
  1043. package/dist/core/p-3fd897c9.entry.js +0 -2
  1044. package/dist/core/p-3fd897c9.entry.js.map +0 -1
  1045. package/dist/core/p-432f8ff0.entry.js +0 -2
  1046. package/dist/core/p-432f8ff0.entry.js.map +0 -1
  1047. package/dist/core/p-4559600a.entry.js +0 -2
  1048. package/dist/core/p-4559600a.entry.js.map +0 -1
  1049. package/dist/core/p-59bdafff.entry.js +0 -2
  1050. package/dist/core/p-59bdafff.entry.js.map +0 -1
  1051. package/dist/core/p-5b487daa.entry.js +0 -2
  1052. package/dist/core/p-5b487daa.entry.js.map +0 -1
  1053. package/dist/core/p-5ca39ed5.entry.js +0 -2
  1054. package/dist/core/p-5ca39ed5.entry.js.map +0 -1
  1055. package/dist/core/p-752f0f9a.entry.js.map +0 -1
  1056. package/dist/core/p-763d0822.entry.js +0 -2
  1057. package/dist/core/p-763d0822.entry.js.map +0 -1
  1058. package/dist/core/p-7bb3c340.entry.js +0 -2
  1059. package/dist/core/p-7bb3c340.entry.js.map +0 -1
  1060. package/dist/core/p-8b18346a.entry.js.map +0 -1
  1061. package/dist/core/p-9ccfb863.entry.js +0 -2
  1062. package/dist/core/p-9ccfb863.entry.js.map +0 -1
  1063. package/dist/core/p-9d124fc7.js +0 -3
  1064. package/dist/core/p-9d124fc7.js.map +0 -1
  1065. package/dist/core/p-a448d873.entry.js +0 -2
  1066. package/dist/core/p-a448d873.entry.js.map +0 -1
  1067. package/dist/core/p-af9f1caa.entry.js.map +0 -1
  1068. package/dist/core/p-b77ab20a.entry.js +0 -2
  1069. package/dist/core/p-b77ab20a.entry.js.map +0 -1
  1070. package/dist/core/p-c0c62df4.entry.js.map +0 -1
  1071. package/dist/core/p-c36cbd8a.entry.js +0 -2
  1072. package/dist/core/p-c36cbd8a.entry.js.map +0 -1
  1073. package/dist/core/p-e2903ce9.entry.js +0 -2
  1074. package/dist/core/p-e2903ce9.entry.js.map +0 -1
  1075. package/dist/core/p-ea6ad791.entry.js +0 -2
  1076. package/dist/core/p-ea6ad791.entry.js.map +0 -1
  1077. package/dist/core/p-eb063498.entry.js.map +0 -1
  1078. package/dist/core/p-ec82fa24.entry.js +0 -2
  1079. package/dist/core/p-ec82fa24.entry.js.map +0 -1
  1080. package/dist/core/p-f00e510b.entry.js +0 -2
  1081. package/dist/core/p-f00e510b.entry.js.map +0 -1
  1082. package/dist/core/p-f69fb26b.entry.js +0 -2
  1083. package/dist/core/p-f69fb26b.entry.js.map +0 -1
  1084. package/dist/core/p-fe6e0c0e.entry.js +0 -2
  1085. package/dist/core/p-fe6e0c0e.entry.js.map +0 -1
  1086. package/dist/esm/helpers-24f6e762.js.map +0 -1
  1087. package/dist/esm/index-813020f1.js.map +0 -1
  1088. package/dist/esm/types-b2398b37.js +0 -16
  1089. /package/dist/core/{p-08b59078.entry.js.map → p-11736fbe.entry.js.map} +0 -0
  1090. /package/dist/core/{p-5fcd202e.entry.js.map → p-15ef0674.entry.js.map} +0 -0
  1091. /package/dist/core/{p-88ea1e49.entry.js.map → p-180e36b1.entry.js.map} +0 -0
  1092. /package/dist/core/{p-613aa265.js.map → p-26b7b18f.js.map} +0 -0
  1093. /package/dist/core/{p-932fb4b7.entry.js.map → p-287ab47c.entry.js.map} +0 -0
  1094. /package/dist/core/{p-69948c3e.entry.js.map → p-2b24b4bf.entry.js.map} +0 -0
  1095. /package/dist/core/{p-475b7bd2.entry.js.map → p-335fc5e4.entry.js.map} +0 -0
  1096. /package/dist/core/{p-c9ef9f5c.entry.js.map → p-366bcb17.entry.js.map} +0 -0
  1097. /package/dist/core/{p-ed256f1d.entry.js.map → p-3a0ef91e.entry.js.map} +0 -0
  1098. /package/dist/core/{p-f019219c.entry.js.map → p-529d8955.entry.js.map} +0 -0
  1099. /package/dist/core/{p-2c30b583.entry.js.map → p-60c4604f.entry.js.map} +0 -0
  1100. /package/dist/core/{p-ccac1730.entry.js.map → p-6d3f9501.entry.js.map} +0 -0
  1101. /package/dist/core/{p-536b3c97.entry.js.map → p-6eb0421d.entry.js.map} +0 -0
  1102. /package/dist/core/{p-48525498.entry.js.map → p-765bdd98.entry.js.map} +0 -0
  1103. /package/dist/core/{p-3a814fc4.entry.js.map → p-7f887c1e.entry.js.map} +0 -0
  1104. /package/dist/core/{p-e3bffcae.entry.js.map → p-94e88827.entry.js.map} +0 -0
  1105. /package/dist/core/{p-8fb4f0c0.js.map → p-95a864bf.js.map} +0 -0
  1106. /package/dist/core/{p-0c82048e.entry.js.map → p-9c30720d.entry.js.map} +0 -0
  1107. /package/dist/core/{p-76563540.entry.js.map → p-ad36a704.entry.js.map} +0 -0
  1108. /package/dist/core/{p-2265e418.entry.js.map → p-b6a575c3.entry.js.map} +0 -0
  1109. /package/dist/core/{p-fbc8a739.entry.js.map → p-b9736cf4.entry.js.map} +0 -0
  1110. /package/dist/core/{p-025f9d2a.entry.js.map → p-b99f9e89.entry.js.map} +0 -0
  1111. /package/dist/core/{p-b0ce60a0.entry.js.map → p-c2452388.entry.js.map} +0 -0
  1112. /package/dist/core/{p-345fe84a.entry.js.map → p-c770e7a2.entry.js.map} +0 -0
  1113. /package/dist/core/{p-a4397df4.entry.js.map → p-cfc930f6.entry.js.map} +0 -0
  1114. /package/dist/core/{p-41c6eaa1.entry.js.map → p-e9738c74.entry.js.map} +0 -0
  1115. /package/dist/core/{p-e2fd542e.entry.js.map → p-edd29edc.entry.js.map} +0 -0
  1116. /package/dist/core/{p-5bb6c79b.entry.js.map → p-f2e6b9ef.entry.js.map} +0 -0
  1117. /package/dist/core/{p-cf4bacee.entry.js.map → p-fdb4b48f.entry.js.map} +0 -0
@@ -1,71 +1,71 @@
1
1
  import { newE2EPage } from "@stencil/core/testing";
2
2
  beforeAll(() => {
3
- jest.spyOn(console, "warn").mockImplementation(jest.fn());
3
+ jest.spyOn(console, "warn").mockImplementation(jest.fn());
4
4
  });
5
5
  describe("ic-search-bar", () => {
6
- const options = [
7
- { label: "foo", value: "foo" },
8
- { label: "bar", value: "bar" },
9
- { label: "baz", value: "qux" },
10
- ];
11
- const longOptions = [
12
- { label: "item 1", value: "item-1" },
13
- { label: "item 2", value: "item-2" },
14
- { label: "item 3", value: "item-3" },
15
- { label: "item 4", value: "item-4" },
16
- { label: "item 5", value: "item-5" },
17
- ];
18
- const focusAndTypeIntoInput = async (value, page) => {
19
- await page.$eval("ic-search-bar", (el) => {
20
- const textfield = el.shadowRoot.querySelector("ic-text-field");
21
- const input = textfield.shadowRoot.querySelector("#ic-search-bar-input-0");
22
- input.focus();
6
+ const options = [
7
+ { label: "foo", value: "foo" },
8
+ { label: "bar", value: "bar" },
9
+ { label: "baz", value: "qux" },
10
+ ];
11
+ const longOptions = [
12
+ { label: "item 1", value: "item-1" },
13
+ { label: "item 2", value: "item-2" },
14
+ { label: "item 3", value: "item-3" },
15
+ { label: "item 4", value: "item-4" },
16
+ { label: "item 5", value: "item-5" },
17
+ ];
18
+ const focusAndTypeIntoInput = async (value, page) => {
19
+ await page.$eval("ic-search-bar", (el) => {
20
+ const textfield = el.shadowRoot.querySelector("ic-text-field");
21
+ const input = textfield.shadowRoot.querySelector("#ic-search-bar-input-0");
22
+ input.focus();
23
+ });
24
+ value.split("").forEach(async (char) => {
25
+ await page.keyboard.press(char);
26
+ });
27
+ };
28
+ it("renders clear button when value present", async () => {
29
+ const page = await newE2EPage();
30
+ await page.setContent('<ic-search-bar label="Test Label"></ic-search-bar>');
31
+ await page.waitForChanges();
32
+ let clearButton = await page.find("ic-search-bar >>> ic-text-field .clear-button");
33
+ expect(await clearButton.isVisible()).toBeFalsy();
34
+ await focusAndTypeIntoInput("foo", page);
35
+ await page.waitForChanges();
36
+ clearButton = await page.find("ic-search-bar >>> ic-text-field .clear-button");
37
+ expect(await clearButton.isVisible()).toBeTruthy();
23
38
  });
24
- value.split("").forEach(async (char) => {
25
- await page.keyboard.press(char);
39
+ it("should clear value when clear button pressed", async () => {
40
+ const page = await newE2EPage();
41
+ await page.setContent('<ic-search-bar label="Test Label"></ic-search-bar>');
42
+ const searchBar = await page.find("ic-search-bar");
43
+ const icClear = await page.spyOnEvent("icClear");
44
+ await focusAndTypeIntoInput("foo", page);
45
+ await page.waitForChanges();
46
+ const clearButton = await page.find("ic-search-bar >>> ic-text-field .clear-button");
47
+ await clearButton.click();
48
+ await page.waitForChanges();
49
+ const activeElId = await page.$eval("ic-search-bar", (el) => el.shadowRoot.querySelector("ic-text-field").shadowRoot.activeElement.id);
50
+ expect(await searchBar.getProperty("value")).toBe("");
51
+ expect(activeElId).toBe("ic-search-bar-input-0");
52
+ expect(icClear).toHaveReceivedEvent;
26
53
  });
27
- };
28
- it("renders clear button when value present", async () => {
29
- const page = await newE2EPage();
30
- await page.setContent('<ic-search-bar label="Test Label"></ic-search-bar>');
31
- await page.waitForChanges();
32
- let clearButton = await page.find("ic-search-bar >>> ic-text-field .clear-button");
33
- expect(await clearButton.isVisible()).toBeFalsy();
34
- await focusAndTypeIntoInput("foo", page);
35
- await page.waitForChanges();
36
- clearButton = await page.find("ic-search-bar >>> ic-text-field .clear-button");
37
- expect(await clearButton.isVisible()).toBeTruthy();
38
- });
39
- it("should clear value when clear button pressed", async () => {
40
- const page = await newE2EPage();
41
- await page.setContent('<ic-search-bar label="Test Label"></ic-search-bar>');
42
- const searchBar = await page.find("ic-search-bar");
43
- const icClear = await page.spyOnEvent("icClear");
44
- await focusAndTypeIntoInput("foo", page);
45
- await page.waitForChanges();
46
- const clearButton = await page.find("ic-search-bar >>> ic-text-field .clear-button");
47
- await clearButton.click();
48
- await page.waitForChanges();
49
- const activeElId = await page.$eval("ic-search-bar", (el) => el.shadowRoot.querySelector("ic-text-field").shadowRoot.activeElement.id);
50
- expect(await searchBar.getProperty("value")).toBe("");
51
- expect(activeElId).toBe("ic-search-bar-input-0");
52
- expect(icClear).toHaveReceivedEvent;
53
- });
54
- it("should emit icSubmitSearch when submit is clicked", async () => {
55
- const page = await newE2EPage();
56
- await page.setContent(`<ic-search-bar label="Test Label"></ic-search-bar>`);
57
- await page.waitForChanges();
58
- await focusAndTypeIntoInput("foo", page);
59
- const searchSubmitButton = await page.find("ic-search-bar >>> ic-text-field ic-button.search-submit-button");
60
- const icSubmitSearch = await page.spyOnEvent("icSubmitSearch");
61
- await searchSubmitButton.click();
62
- expect(icSubmitSearch).toHaveReceivedEventDetail({
63
- value: "foo",
54
+ it("should emit icSubmitSearch when submit is clicked", async () => {
55
+ const page = await newE2EPage();
56
+ await page.setContent(`<ic-search-bar label="Test Label"></ic-search-bar>`);
57
+ await page.waitForChanges();
58
+ await focusAndTypeIntoInput("foo", page);
59
+ const searchSubmitButton = await page.find("ic-search-bar >>> ic-text-field ic-button.search-submit-button");
60
+ const icSubmitSearch = await page.spyOnEvent("icSubmitSearch");
61
+ await searchSubmitButton.click();
62
+ expect(icSubmitSearch).toHaveReceivedEventDetail({
63
+ value: "foo",
64
+ });
64
65
  });
65
- });
66
- it("should invoke submit event when search textfield is in a form", async () => {
67
- const page = await newE2EPage();
68
- await page.setContent(`
66
+ it("should invoke submit event when search textfield is in a form", async () => {
67
+ const page = await newE2EPage();
68
+ await page.setContent(`
69
69
  <form>
70
70
  <ic-search-bar label="Test Label" name="search01"></ic-search-bar>
71
71
  </form>
@@ -77,388 +77,388 @@ describe("ic-search-bar", () => {
77
77
  })
78
78
  </script>
79
79
  `);
80
- const icSubmitSearch = await page.spyOnEvent("icSubmitSearch");
81
- await focusAndTypeIntoInput("foo", page);
82
- await page.waitForChanges();
83
- const searchSubmitButton = await page.find("ic-search-bar >>> ic-text-field ic-button.search-submit-button");
84
- await searchSubmitButton.click();
85
- await page.waitForChanges();
86
- expect(icSubmitSearch).toHaveReceivedEventDetail({
87
- value: "foo",
80
+ const icSubmitSearch = await page.spyOnEvent("icSubmitSearch");
81
+ await focusAndTypeIntoInput("foo", page);
82
+ await page.waitForChanges();
83
+ const searchSubmitButton = await page.find("ic-search-bar >>> ic-text-field ic-button.search-submit-button");
84
+ await searchSubmitButton.click();
85
+ await page.waitForChanges();
86
+ expect(icSubmitSearch).toHaveReceivedEventDetail({
87
+ value: "foo",
88
+ });
89
+ const p = await page.find("#text");
90
+ expect(p.innerText).toBe("submitted");
88
91
  });
89
- const p = await page.find("#text");
90
- expect(p.innerText).toBe("submitted");
91
- });
92
- it("should render options", async () => {
93
- const page = await newE2EPage();
94
- await page.setContent(`
92
+ it("should render options", async () => {
93
+ const page = await newE2EPage();
94
+ await page.setContent(`
95
95
  <ic-search-bar label="Test Label"></ic-search-bar>
96
96
  `);
97
- const searchBar = await page.find("ic-search-bar");
98
- searchBar.setProperty("options", options);
99
- await page.waitForChanges();
100
- let menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
101
- expect(menu).toBeNull();
102
- await focusAndTypeIntoInput("ba", page);
103
- await page.waitForChanges();
104
- menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
105
- await page.waitForChanges();
106
- await page.waitForTimeout(500);
107
- const menuItems = menu.findAll("li");
108
- expect((await menuItems).length).toBe(2);
109
- expect(await menu.isVisible()).toBeTruthy();
110
- });
111
- it("should begin with no aria-owns attribute and then add one when the menu appears", async () => {
112
- const page = await newE2EPage();
113
- await page.setContent(`
97
+ const searchBar = await page.find("ic-search-bar");
98
+ searchBar.setProperty("options", options);
99
+ await page.waitForChanges();
100
+ let menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
101
+ expect(menu).toBeNull();
102
+ await focusAndTypeIntoInput("ba", page);
103
+ await page.waitForChanges();
104
+ menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
105
+ await page.waitForChanges();
106
+ await page.waitForTimeout(500);
107
+ const menuItems = menu.findAll("li");
108
+ expect((await menuItems).length).toBe(2);
109
+ expect(await menu.isVisible()).toBeTruthy();
110
+ });
111
+ it("should begin with no aria-owns attribute and then add one when the menu appears", async () => {
112
+ const page = await newE2EPage();
113
+ await page.setContent(`
114
114
  <ic-search-bar label="Test Label"></ic-search-bar>
115
115
  `);
116
- const searchBar = await page.find("ic-search-bar");
117
- searchBar.setProperty("options", options);
118
- await page.waitForChanges();
119
- let textField = await page.find("ic-search-bar >>> ic-text-field");
120
- let menu = await textField.find("ic-menu");
121
- expect(textField).not.toHaveAttribute("aria-owns");
122
- expect(menu).toBeNull();
123
- await focusAndTypeIntoInput("ba", page);
124
- await page.waitForChanges();
125
- textField = await page.find("ic-search-bar >>> ic-text-field");
126
- menu = await textField.find("ic-menu");
127
- expect(textField).toHaveAttribute("aria-owns");
128
- expect(menu).not.toBeNull();
129
- });
130
- it("should focus on input when menu is initially displayed", async () => {
131
- const page = await newE2EPage();
132
- await page.setContent(`
116
+ const searchBar = await page.find("ic-search-bar");
117
+ searchBar.setProperty("options", options);
118
+ await page.waitForChanges();
119
+ let textField = await page.find("ic-search-bar >>> ic-text-field");
120
+ let menu = await textField.find("ic-menu");
121
+ expect(textField).not.toHaveAttribute("aria-owns");
122
+ expect(menu).toBeNull();
123
+ await focusAndTypeIntoInput("ba", page);
124
+ await page.waitForChanges();
125
+ textField = await page.find("ic-search-bar >>> ic-text-field");
126
+ menu = await textField.find("ic-menu");
127
+ expect(textField).toHaveAttribute("aria-owns");
128
+ expect(menu).not.toBeNull();
129
+ });
130
+ it("should focus on input when menu is initially displayed", async () => {
131
+ const page = await newE2EPage();
132
+ await page.setContent(`
133
133
  <ic-search-bar label="Test Label"></ic-search-bar>
134
134
  `);
135
- await page.waitForChanges();
136
- const searchBar = await page.find("ic-search-bar");
137
- searchBar.setProperty("options", options);
138
- await page.waitForChanges();
139
- await focusAndTypeIntoInput("ba", page);
140
- await page.waitForChanges();
141
- await page.waitForTimeout(500);
142
- const menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
143
- const activeElId = await page.$eval("ic-search-bar", (el) => {
144
- const textfield = el.shadowRoot.querySelector("ic-text-field");
145
- return textfield.shadowRoot.activeElement.id;
135
+ await page.waitForChanges();
136
+ const searchBar = await page.find("ic-search-bar");
137
+ searchBar.setProperty("options", options);
138
+ await page.waitForChanges();
139
+ await focusAndTypeIntoInput("ba", page);
140
+ await page.waitForChanges();
141
+ await page.waitForTimeout(500);
142
+ const menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
143
+ const activeElId = await page.$eval("ic-search-bar", (el) => {
144
+ const textfield = el.shadowRoot.querySelector("ic-text-field");
145
+ return textfield.shadowRoot.activeElement.id;
146
+ });
147
+ expect(await menu.isVisible()).toBeTruthy();
148
+ expect(activeElId).toBe("ic-search-bar-input-0");
146
149
  });
147
- expect(await menu.isVisible()).toBeTruthy();
148
- expect(activeElId).toBe("ic-search-bar-input-0");
149
- });
150
- it("should remove menu when input value is cleared", async () => {
151
- const page = await newE2EPage();
152
- await page.setContent(`
150
+ it("should remove menu when input value is cleared", async () => {
151
+ const page = await newE2EPage();
152
+ await page.setContent(`
153
153
  <ic-search-bar label="Test Label"></ic-search-bar>
154
154
  `);
155
- const searchBar = await page.find("ic-search-bar");
156
- searchBar.setProperty("options", options);
157
- await page.waitForChanges();
158
- await focusAndTypeIntoInput("ba", page);
159
- await page.waitForTimeout(500);
160
- let menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
161
- expect(await menu.isVisible()).toBeTruthy();
162
- const clearButton = await page.find("ic-search-bar >>> ic-text-field .clear-button");
163
- await clearButton.click();
164
- menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
165
- expect(menu).toBeNull();
166
- });
167
- it("should not update value when options are highlighted", async () => {
168
- const page = await newE2EPage();
169
- await page.setContent(`
155
+ const searchBar = await page.find("ic-search-bar");
156
+ searchBar.setProperty("options", options);
157
+ await page.waitForChanges();
158
+ await focusAndTypeIntoInput("ba", page);
159
+ await page.waitForTimeout(500);
160
+ let menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
161
+ expect(await menu.isVisible()).toBeTruthy();
162
+ const clearButton = await page.find("ic-search-bar >>> ic-text-field .clear-button");
163
+ await clearButton.click();
164
+ menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
165
+ expect(menu).toBeNull();
166
+ });
167
+ it("should not update value when options are highlighted", async () => {
168
+ const page = await newE2EPage();
169
+ await page.setContent(`
170
170
  <ic-search-bar label="Test Label"></ic-search-bar>
171
171
  `);
172
- const searchBar = await page.find("ic-search-bar");
173
- searchBar.setProperty("options", options);
174
- await page.waitForChanges();
175
- await focusAndTypeIntoInput("ba", page);
176
- await page.waitForChanges();
177
- await searchBar.press("ArrowDown");
178
- await page.waitForChanges();
179
- expect(await searchBar.getProperty("value")).toBe("ba");
180
- });
181
- it("should focus on menu on ArrowDown from input", async () => {
182
- const page = await newE2EPage();
183
- await page.setContent(`
172
+ const searchBar = await page.find("ic-search-bar");
173
+ searchBar.setProperty("options", options);
174
+ await page.waitForChanges();
175
+ await focusAndTypeIntoInput("ba", page);
176
+ await page.waitForChanges();
177
+ await searchBar.press("ArrowDown");
178
+ await page.waitForChanges();
179
+ expect(await searchBar.getProperty("value")).toBe("ba");
180
+ });
181
+ it("should focus on menu on ArrowDown from input", async () => {
182
+ const page = await newE2EPage();
183
+ await page.setContent(`
184
184
  <ic-search-bar label="Test Label"></ic-search-bar>
185
185
  `);
186
- const searchBar = await page.find("ic-search-bar");
187
- searchBar.setProperty("options", options);
188
- await page.waitForChanges();
189
- await focusAndTypeIntoInput("ba", page);
190
- await page.waitForChanges();
191
- await searchBar.press("ArrowDown");
192
- await page.waitForChanges();
193
- const activeElId = await page.$eval("ic-search-bar", (el) => {
194
- return el.shadowRoot.activeElement.id;
186
+ const searchBar = await page.find("ic-search-bar");
187
+ searchBar.setProperty("options", options);
188
+ await page.waitForChanges();
189
+ await focusAndTypeIntoInput("ba", page);
190
+ await page.waitForChanges();
191
+ await searchBar.press("ArrowDown");
192
+ await page.waitForChanges();
193
+ const activeElId = await page.$eval("ic-search-bar", (el) => {
194
+ return el.shadowRoot.activeElement.id;
195
+ });
196
+ expect(activeElId).toBe("ic-search-bar-input-0-menu-qux");
195
197
  });
196
- expect(activeElId).toBe("ic-search-bar-input-0-menu-qux");
197
- });
198
- it("should focus on menu on ArrowUp from input", async () => {
199
- const page = await newE2EPage();
200
- await page.setContent(`
198
+ it("should focus on menu on ArrowUp from input", async () => {
199
+ const page = await newE2EPage();
200
+ await page.setContent(`
201
201
  <ic-search-bar label="Test Label"></ic-search-bar>
202
202
  `);
203
- const searchBar = await page.find("ic-search-bar");
204
- searchBar.setProperty("options", options);
205
- await page.waitForChanges();
206
- await focusAndTypeIntoInput("ba", page);
207
- await page.waitForChanges();
208
- await searchBar.press("ArrowUp");
209
- await page.waitForChanges();
210
- const activeElId = await page.$eval("ic-search-bar", (el) => {
211
- return el.shadowRoot.activeElement.id;
203
+ const searchBar = await page.find("ic-search-bar");
204
+ searchBar.setProperty("options", options);
205
+ await page.waitForChanges();
206
+ await focusAndTypeIntoInput("ba", page);
207
+ await page.waitForChanges();
208
+ await searchBar.press("ArrowUp");
209
+ await page.waitForChanges();
210
+ const activeElId = await page.$eval("ic-search-bar", (el) => {
211
+ return el.shadowRoot.activeElement.id;
212
+ });
213
+ expect(activeElId).toBe("ic-search-bar-input-0-menu-qux");
212
214
  });
213
- expect(activeElId).toBe("ic-search-bar-input-0-menu-qux");
214
- });
215
- it("should highlight first and last options using Home and End and move focus to menu", async () => {
216
- const page = await newE2EPage();
217
- await page.setContent(`
215
+ it("should highlight first and last options using Home and End and move focus to menu", async () => {
216
+ const page = await newE2EPage();
217
+ await page.setContent(`
218
218
  <ic-search-bar label="Test Label"></ic-search-bar>
219
219
  `);
220
- const searchBar = await page.find("ic-search-bar");
221
- searchBar.setProperty("options", options);
222
- await page.waitForChanges();
223
- await focusAndTypeIntoInput("ba", page);
224
- await page.waitForChanges();
225
- await page.keyboard.press("End");
226
- await page.waitForChanges();
227
- let menuOptions = await page.findAll("ic-search-bar >>> ic-text-field ic-menu li");
228
- expect(menuOptions[0]).not.toHaveClass("focused-option");
229
- expect(menuOptions[1]).toHaveClass("focused-option");
230
- let activeElId = await page.$eval("ic-search-bar", (el) => {
231
- return el.shadowRoot.activeElement.id;
232
- });
233
- expect(activeElId).toBe("ic-search-bar-input-0-menu-qux");
234
- await page.keyboard.press("Home");
235
- await page.waitForChanges();
236
- menuOptions = await page.findAll("ic-search-bar >>> ic-text-field ic-menu li");
237
- expect(menuOptions[0]).toHaveClass("focused-option");
238
- expect(menuOptions[1]).not.toHaveClass("focused-option");
239
- activeElId = await page.$eval("ic-search-bar", (el) => {
240
- return el.shadowRoot.activeElement.id;
220
+ const searchBar = await page.find("ic-search-bar");
221
+ searchBar.setProperty("options", options);
222
+ await page.waitForChanges();
223
+ await focusAndTypeIntoInput("ba", page);
224
+ await page.waitForChanges();
225
+ await page.keyboard.press("End");
226
+ await page.waitForChanges();
227
+ let menuOptions = await page.findAll("ic-search-bar >>> ic-text-field ic-menu li");
228
+ expect(menuOptions[0]).not.toHaveClass("focused-option");
229
+ expect(menuOptions[1]).toHaveClass("focused-option");
230
+ let activeElId = await page.$eval("ic-search-bar", (el) => {
231
+ return el.shadowRoot.activeElement.id;
232
+ });
233
+ expect(activeElId).toBe("ic-search-bar-input-0-menu-qux");
234
+ await page.keyboard.press("Home");
235
+ await page.waitForChanges();
236
+ menuOptions = await page.findAll("ic-search-bar >>> ic-text-field ic-menu li");
237
+ expect(menuOptions[0]).toHaveClass("focused-option");
238
+ expect(menuOptions[1]).not.toHaveClass("focused-option");
239
+ activeElId = await page.$eval("ic-search-bar", (el) => {
240
+ return el.shadowRoot.activeElement.id;
241
+ });
242
+ expect(activeElId).toBe("ic-search-bar-input-0-menu-bar");
241
243
  });
242
- expect(activeElId).toBe("ic-search-bar-input-0-menu-bar");
243
- });
244
- it("should select first option and update value as label on Enter", async () => {
245
- const page = await newE2EPage();
246
- await page.setContent(`
244
+ it("should select first option and update value as label on Enter", async () => {
245
+ const page = await newE2EPage();
246
+ await page.setContent(`
247
247
  <ic-search-bar label="Test Label"></ic-search-bar>
248
248
  `);
249
- await page.waitForChanges();
250
- const searchBar = await page.find("ic-search-bar");
251
- searchBar.setProperty("options", options);
252
- await page.waitForChanges();
253
- await focusAndTypeIntoInput("ba", page);
254
- await page.waitForChanges();
255
- const menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
256
- await menu.press("Enter");
257
- expect(await searchBar.getProperty("value")).toBe("bar");
258
- });
259
- it("should keep the input value on Enter when searchMode is set to `query`", async () => {
260
- const page = await newE2EPage();
261
- await page.setContent(`
249
+ await page.waitForChanges();
250
+ const searchBar = await page.find("ic-search-bar");
251
+ searchBar.setProperty("options", options);
252
+ await page.waitForChanges();
253
+ await focusAndTypeIntoInput("ba", page);
254
+ await page.waitForChanges();
255
+ const menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
256
+ await menu.press("Enter");
257
+ expect(await searchBar.getProperty("value")).toBe("bar");
258
+ });
259
+ it("should keep the input value on Enter when searchMode is set to `query`", async () => {
260
+ const page = await newE2EPage();
261
+ await page.setContent(`
262
262
  <ic-search-bar label="Test Label" search-mode="query"></ic-search-bar>
263
263
  `);
264
- await page.waitForChanges();
265
- const searchBar = await page.find("ic-search-bar");
266
- searchBar.setProperty("options", options);
267
- await page.waitForChanges();
268
- await focusAndTypeIntoInput("ba", page);
269
- await page.waitForChanges();
270
- const menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
271
- await menu.press("Enter");
272
- expect(await searchBar.getProperty("value")).toBe("ba");
273
- });
274
- it("should not highlight options when typing and searchMode is `query`", async () => {
275
- const page = await newE2EPage();
276
- await page.setContent(`
264
+ await page.waitForChanges();
265
+ const searchBar = await page.find("ic-search-bar");
266
+ searchBar.setProperty("options", options);
267
+ await page.waitForChanges();
268
+ await focusAndTypeIntoInput("ba", page);
269
+ await page.waitForChanges();
270
+ const menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
271
+ await menu.press("Enter");
272
+ expect(await searchBar.getProperty("value")).toBe("ba");
273
+ });
274
+ it("should not highlight options when typing and searchMode is `query`", async () => {
275
+ const page = await newE2EPage();
276
+ await page.setContent(`
277
277
  <ic-search-bar label="Test Label" search-mode="query"></ic-search-bar>
278
278
  `);
279
- await page.waitForChanges();
280
- const searchBar = await page.find("ic-search-bar");
281
- searchBar.setProperty("options", options);
282
- await page.waitForChanges();
283
- await focusAndTypeIntoInput("bar", page);
284
- await page.waitForChanges();
285
- const menuOptions = await page.findAll("ic-search-bar >>> ic-text-field ic-menu li");
286
- expect(menuOptions[0]).not.toHaveClass("focused-option");
287
- });
288
- it("should move focus to first option after one ArrowDown press when searchMode is set to `query`", async () => {
289
- const page = await newE2EPage();
290
- await page.setContent(`
279
+ await page.waitForChanges();
280
+ const searchBar = await page.find("ic-search-bar");
281
+ searchBar.setProperty("options", options);
282
+ await page.waitForChanges();
283
+ await focusAndTypeIntoInput("bar", page);
284
+ await page.waitForChanges();
285
+ const menuOptions = await page.findAll("ic-search-bar >>> ic-text-field ic-menu li");
286
+ expect(menuOptions[0]).not.toHaveClass("focused-option");
287
+ });
288
+ it("should move focus to first option after one ArrowDown press when searchMode is set to `query`", async () => {
289
+ const page = await newE2EPage();
290
+ await page.setContent(`
291
291
  <ic-search-bar label="Test Label" search-mode="query"></ic-search-bar>
292
292
  `);
293
- await page.waitForChanges();
294
- const searchBar = await page.find("ic-search-bar");
295
- searchBar.setProperty("options", options);
296
- await page.waitForChanges();
297
- await focusAndTypeIntoInput("ba", page);
298
- await page.waitForChanges();
299
- await page.keyboard.press("ArrowDown");
300
- await page.waitForChanges();
301
- const menuOptions = await page.findAll("ic-search-bar >>> ic-text-field ic-menu li");
302
- expect(menuOptions[0]).toHaveClass("focused-option");
303
- });
304
- it("should add a space to value on Space", async () => {
305
- const page = await newE2EPage();
306
- await page.setContent(`
293
+ await page.waitForChanges();
294
+ const searchBar = await page.find("ic-search-bar");
295
+ searchBar.setProperty("options", options);
296
+ await page.waitForChanges();
297
+ await focusAndTypeIntoInput("ba", page);
298
+ await page.waitForChanges();
299
+ await page.keyboard.press("ArrowDown");
300
+ await page.waitForChanges();
301
+ const menuOptions = await page.findAll("ic-search-bar >>> ic-text-field ic-menu li");
302
+ expect(menuOptions[0]).toHaveClass("focused-option");
303
+ });
304
+ it("should add a space to value on Space", async () => {
305
+ const page = await newE2EPage();
306
+ await page.setContent(`
307
307
  <ic-search-bar label="Test Label"></ic-search-bar>
308
308
  `);
309
- await page.waitForChanges();
310
- const searchBar = await page.find("ic-search-bar");
311
- searchBar.setProperty("options", options);
312
- await page.waitForChanges();
313
- await focusAndTypeIntoInput("ba", page);
314
- await page.waitForChanges();
315
- const menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
316
- await menu.press("Space");
317
- expect(await searchBar.getProperty("value")).toBe("ba ");
318
- });
319
- it("should remove a character from value on Backspace", async () => {
320
- const page = await newE2EPage();
321
- await page.setContent(`
309
+ await page.waitForChanges();
310
+ const searchBar = await page.find("ic-search-bar");
311
+ searchBar.setProperty("options", options);
312
+ await page.waitForChanges();
313
+ await focusAndTypeIntoInput("ba", page);
314
+ await page.waitForChanges();
315
+ const menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
316
+ await menu.press("Space");
317
+ expect(await searchBar.getProperty("value")).toBe("ba ");
318
+ });
319
+ it("should remove a character from value on Backspace", async () => {
320
+ const page = await newE2EPage();
321
+ await page.setContent(`
322
322
  <ic-search-bar label="Test Label"></ic-search-bar>
323
323
  `);
324
- await page.waitForChanges();
325
- const searchBar = await page.find("ic-search-bar");
326
- searchBar.setProperty("options", options);
327
- await page.waitForChanges();
328
- await focusAndTypeIntoInput("ba", page);
329
- await page.waitForChanges();
330
- const menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
331
- await menu.press("Backspace");
332
- expect(await searchBar.getProperty("value")).toBe("b");
333
- });
334
- it("should set value to last option when pressing up on input", async () => {
335
- const page = await newE2EPage();
336
- await page.setContent(`
324
+ await page.waitForChanges();
325
+ const searchBar = await page.find("ic-search-bar");
326
+ searchBar.setProperty("options", options);
327
+ await page.waitForChanges();
328
+ await focusAndTypeIntoInput("ba", page);
329
+ await page.waitForChanges();
330
+ const menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
331
+ await menu.press("Backspace");
332
+ expect(await searchBar.getProperty("value")).toBe("b");
333
+ });
334
+ it("should set value to last option when pressing up on input", async () => {
335
+ const page = await newE2EPage();
336
+ await page.setContent(`
337
337
  <ic-search-bar label="Test Label"></ic-search-bar>
338
338
  `);
339
- await page.waitForChanges();
340
- const searchBar = await page.find("ic-search-bar");
341
- searchBar.setProperty("options", options);
342
- await page.waitForChanges();
343
- await focusAndTypeIntoInput("ba", page);
344
- await page.waitForChanges();
345
- await searchBar.press("ArrowUp");
346
- const menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
347
- await menu.press("Enter");
348
- expect(await searchBar.getProperty("value")).toBe("qux");
349
- });
350
- it("menu should close on Escape", async () => {
351
- const page = await newE2EPage();
352
- await page.setContent(`
339
+ await page.waitForChanges();
340
+ const searchBar = await page.find("ic-search-bar");
341
+ searchBar.setProperty("options", options);
342
+ await page.waitForChanges();
343
+ await focusAndTypeIntoInput("ba", page);
344
+ await page.waitForChanges();
345
+ await searchBar.press("ArrowUp");
346
+ const menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
347
+ await menu.press("Enter");
348
+ expect(await searchBar.getProperty("value")).toBe("qux");
349
+ });
350
+ it("menu should close on Escape", async () => {
351
+ const page = await newE2EPage();
352
+ await page.setContent(`
353
353
  <ic-search-bar label="Test Label"></ic-search-bar>
354
354
  `);
355
- await page.waitForChanges();
356
- const searchBar = await page.find("ic-search-bar");
357
- searchBar.setProperty("options", options);
358
- await page.waitForChanges();
359
- await focusAndTypeIntoInput("ba", page);
360
- await page.waitForChanges();
361
- await page.keyboard.press("ArrowUp");
362
- let menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
363
- expect(await menu.isVisible()).toBeTruthy();
364
- await menu.press("Escape");
365
- menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
366
- expect(menu).toBeNull();
367
- });
368
- it("menu should close when blurred and open when focused", async () => {
369
- const page = await newE2EPage();
370
- await page.setContent(`
355
+ await page.waitForChanges();
356
+ const searchBar = await page.find("ic-search-bar");
357
+ searchBar.setProperty("options", options);
358
+ await page.waitForChanges();
359
+ await focusAndTypeIntoInput("ba", page);
360
+ await page.waitForChanges();
361
+ await page.keyboard.press("ArrowUp");
362
+ let menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
363
+ expect(await menu.isVisible()).toBeTruthy();
364
+ await menu.press("Escape");
365
+ menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
366
+ expect(menu).toBeNull();
367
+ });
368
+ it("menu should close when blurred and open when focused", async () => {
369
+ const page = await newE2EPage();
370
+ await page.setContent(`
371
371
  <ic-search-bar label="Test Label"></ic-search-bar>
372
372
  `);
373
- await page.waitForChanges();
374
- const searchBar = await page.find("ic-search-bar");
375
- searchBar.setProperty("options", options);
376
- await page.waitForChanges();
377
- await focusAndTypeIntoInput("ba", page);
378
- await page.waitForChanges();
379
- // Will focus clear button then blur
380
- await page.keyboard.press("Tab");
381
- await page.keyboard.press("Tab");
382
- await page.waitForChanges();
383
- let menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
384
- expect(menu).toBeNull;
385
- await page.keyboard.down("Shift");
386
- await page.keyboard.press("Tab");
387
- await page.waitForChanges();
388
- menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
389
- expect(await menu.isVisible()).toBeTruthy();
390
- });
391
- it("should emit icOptionSelect when a menu option has been selected", async () => {
392
- const page = await newE2EPage();
393
- await page.setContent(`
373
+ await page.waitForChanges();
374
+ const searchBar = await page.find("ic-search-bar");
375
+ searchBar.setProperty("options", options);
376
+ await page.waitForChanges();
377
+ await focusAndTypeIntoInput("ba", page);
378
+ await page.waitForChanges();
379
+ // Will focus clear button then blur
380
+ await page.keyboard.press("Tab");
381
+ await page.keyboard.press("Tab");
382
+ await page.waitForChanges();
383
+ let menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
384
+ expect(menu).toBeNull;
385
+ await page.keyboard.down("Shift");
386
+ await page.keyboard.press("Tab");
387
+ await page.waitForChanges();
388
+ menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
389
+ expect(await menu.isVisible()).toBeTruthy();
390
+ });
391
+ it("should emit icOptionSelect when a menu option has been selected", async () => {
392
+ const page = await newE2EPage();
393
+ await page.setContent(`
394
394
  <ic-search-bar search label="Test Label"></ic-search-bar>
395
395
  `);
396
- const icOptionSelect = await page.spyOnEvent("icOptionSelect");
397
- const searchBar = await page.find("ic-search-bar");
398
- searchBar.setProperty("options", options);
399
- await page.waitForChanges();
400
- await focusAndTypeIntoInput("fo", page);
401
- await page.waitForChanges();
402
- await searchBar.press("ArrowDown");
403
- await page.waitForChanges();
404
- const menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
405
- await menu.press("Enter");
406
- expect(icOptionSelect).toHaveReceivedEventDetail({
407
- value: "foo",
396
+ const icOptionSelect = await page.spyOnEvent("icOptionSelect");
397
+ const searchBar = await page.find("ic-search-bar");
398
+ searchBar.setProperty("options", options);
399
+ await page.waitForChanges();
400
+ await focusAndTypeIntoInput("fo", page);
401
+ await page.waitForChanges();
402
+ await searchBar.press("ArrowDown");
403
+ await page.waitForChanges();
404
+ const menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
405
+ await menu.press("Enter");
406
+ expect(icOptionSelect).toHaveReceivedEventDetail({
407
+ value: "foo",
408
+ });
408
409
  });
409
- });
410
- it("should emit icMenuChange when opening/closing menu", async () => {
411
- const page = await newE2EPage();
412
- await page.setContent(`
410
+ it("should emit icMenuChange when opening/closing menu", async () => {
411
+ const page = await newE2EPage();
412
+ await page.setContent(`
413
413
  <ic-search-bar label="Test Label"></ic-search-bar>
414
414
  `);
415
- const icMenuChange = await page.spyOnEvent("icMenuChange");
416
- const searchBar = await page.find("ic-search-bar");
417
- searchBar.setProperty("options", options);
418
- await page.waitForChanges();
419
- await focusAndTypeIntoInput("ba", page);
420
- await page.waitForChanges();
421
- expect(icMenuChange).toHaveReceivedEventDetail({
422
- open: true,
423
- });
424
- await page.keyboard.press("Enter");
425
- await page.waitForChanges();
426
- expect(icMenuChange).toHaveReceivedEventDetail({
427
- open: false,
415
+ const icMenuChange = await page.spyOnEvent("icMenuChange");
416
+ const searchBar = await page.find("ic-search-bar");
417
+ searchBar.setProperty("options", options);
418
+ await page.waitForChanges();
419
+ await focusAndTypeIntoInput("ba", page);
420
+ await page.waitForChanges();
421
+ expect(icMenuChange).toHaveReceivedEventDetail({
422
+ open: true,
423
+ });
424
+ await page.keyboard.press("Enter");
425
+ await page.waitForChanges();
426
+ expect(icMenuChange).toHaveReceivedEventDetail({
427
+ open: false,
428
+ });
428
429
  });
429
- });
430
- it("should prepopulate textfield with value in search mode", async () => {
431
- const page = await newE2EPage();
432
- await page.setContent(`
430
+ it("should prepopulate textfield with value in search mode", async () => {
431
+ const page = await newE2EPage();
432
+ await page.setContent(`
433
433
  <ic-search-bar label="Test Label" value="test value"></ic-search-bar>
434
434
  `);
435
- const input = await page.find("ic-search-bar >>> ic-text-field >>> #ic-search-bar-input-0");
436
- expect(await input.getProperty("value")).toBe("test value");
437
- });
438
- it("should filter options", async () => {
439
- const page = await newE2EPage();
440
- await page.setContent(`
435
+ const input = await page.find("ic-search-bar >>> ic-text-field >>> #ic-search-bar-input-0");
436
+ expect(await input.getProperty("value")).toBe("test value");
437
+ });
438
+ it("should filter options", async () => {
439
+ const page = await newE2EPage();
440
+ await page.setContent(`
441
441
  <ic-search-bar label="Test Label"></ic-search-bar>
442
442
  `);
443
- const searchBar = await page.find("ic-search-bar");
444
- searchBar.setProperty("options", options);
445
- await page.waitForChanges();
446
- let menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
447
- expect(menu).toBeNull();
448
- await focusAndTypeIntoInput("ba", page);
449
- await page.waitForChanges();
450
- menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
451
- await page.waitForChanges();
452
- let menuItems = menu.findAll("li");
453
- expect((await menuItems).length).toBe(2);
454
- await page.keyboard.press("r");
455
- await page.waitForChanges();
456
- menuItems = menu.findAll("li");
457
- expect((await menuItems).length).toBe(1);
458
- });
459
- it("should prevent form submit event when clear is invoked using Enter", async () => {
460
- const page = await newE2EPage();
461
- await page.setContent(`
443
+ const searchBar = await page.find("ic-search-bar");
444
+ searchBar.setProperty("options", options);
445
+ await page.waitForChanges();
446
+ let menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
447
+ expect(menu).toBeNull();
448
+ await focusAndTypeIntoInput("ba", page);
449
+ await page.waitForChanges();
450
+ menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
451
+ await page.waitForChanges();
452
+ let menuItems = menu.findAll("li");
453
+ expect((await menuItems).length).toBe(2);
454
+ await page.keyboard.press("r");
455
+ await page.waitForChanges();
456
+ menuItems = menu.findAll("li");
457
+ expect((await menuItems).length).toBe(1);
458
+ });
459
+ it("should prevent form submit event when clear is invoked using Enter", async () => {
460
+ const page = await newE2EPage();
461
+ await page.setContent(`
462
462
  <form>
463
463
  <ic-search-bar label="Test Label" name="search01"></ic-search-bar>
464
464
  </form>
@@ -469,654 +469,638 @@ describe("ic-search-bar", () => {
469
469
  })
470
470
  </script>
471
471
  `);
472
- const icClear = await page.spyOnEvent("icClear");
473
- const p = await page.find("#text");
474
- await focusAndTypeIntoInput("foo", page);
475
- await page.waitForChanges();
476
- await page.keyboard.press("Tab");
477
- await page.keyboard.press("Enter");
478
- expect(icClear).toHaveReceivedEvent();
479
- expect(p.innerText).toBe("idle");
480
- });
481
- it("should clear the value when clear is invoked using Space - should not add a whitespace", async () => {
482
- const page = await newE2EPage();
483
- await page.setContent(`<ic-search-bar label="Test Label"></ic-search-bar>`);
484
- const icClear = await page.spyOnEvent("icClear");
485
- const searchBar = await page.find("ic-search-bar");
486
- await focusAndTypeIntoInput("foo", page);
487
- await page.waitForChanges();
488
- await page.keyboard.press("Tab");
489
- await page.keyboard.press("Space");
490
- await page.waitForChanges();
491
- expect(icClear).toHaveReceivedEvent();
492
- expect(searchBar.getAttribute("value")).toBe("");
493
- expect(searchBar.getAttribute("value").length).toBe(0);
494
- });
495
- it("should emit icSubmitSearch when search button pressed with Space", async () => {
496
- const page = await newE2EPage();
497
- await page.setContent(`<ic-search-bar label="Test Label"></ic-search-bar>`);
498
- const icSubmitSearch = await page.spyOnEvent("icSubmitSearch");
499
- await focusAndTypeIntoInput("foo", page);
500
- await page.waitForChanges();
501
- await page.keyboard.press("Tab");
502
- await page.keyboard.press("Tab");
503
- await page.keyboard.press("Space");
504
- await page.waitForChanges();
505
- expect(icSubmitSearch).toHaveReceivedEventDetail({
506
- value: "foo",
472
+ const icClear = await page.spyOnEvent("icClear");
473
+ const p = await page.find("#text");
474
+ await focusAndTypeIntoInput("foo", page);
475
+ await page.waitForChanges();
476
+ await page.keyboard.press("Tab");
477
+ await page.keyboard.press("Enter");
478
+ expect(icClear).toHaveReceivedEvent();
479
+ expect(p.innerText).toBe("idle");
507
480
  });
508
- });
509
- it("should update value and move focus back to input when focus previously on ic-menu", async () => {
510
- const page = await newE2EPage();
511
- await page.setContent(`
512
- <ic-search-bar label="Test Label"></ic-search-bar>
513
- `);
514
- const searchBar = await page.find("ic-search-bar");
515
- searchBar.setProperty("options", options);
516
- await page.waitForChanges();
517
- await focusAndTypeIntoInput("ba", page);
518
- await page.waitForChanges();
519
- await page.keyboard.press("ArrowDown");
520
- await page.waitForChanges();
521
- const focusedElement = await page.evaluate(() => {
522
- const el = document.querySelector("ic-search-bar").shadowRoot;
523
- return el.activeElement.id;
481
+ it("should clear the value when clear is invoked using Space - should not add a whitespace", async () => {
482
+ const page = await newE2EPage();
483
+ await page.setContent(`<ic-search-bar label="Test Label"></ic-search-bar>`);
484
+ const icClear = await page.spyOnEvent("icClear");
485
+ const searchBar = await page.find("ic-search-bar");
486
+ await focusAndTypeIntoInput("foo", page);
487
+ await page.waitForChanges();
488
+ await page.keyboard.press("Tab");
489
+ await page.keyboard.press("Space");
490
+ await page.waitForChanges();
491
+ expect(icClear).toHaveReceivedEvent();
492
+ expect(searchBar.getAttribute("value")).toBe("");
493
+ expect(searchBar.getAttribute("value").length).toBe(0);
524
494
  });
525
- expect(focusedElement).toBe("ic-search-bar-input-0-menu-qux");
526
- await page.keyboard.press("r");
527
- const inputEl = await page.evaluate(() => {
528
- const el = document
529
- .querySelector("ic-search-bar")
530
- .shadowRoot.querySelector("ic-text-field");
531
- return {
532
- focusedEl: el.shadowRoot.activeElement.id,
533
- inputValue: el.value,
534
- };
495
+ it("should emit icSubmitSearch when search button pressed with Space", async () => {
496
+ const page = await newE2EPage();
497
+ await page.setContent(`<ic-search-bar label="Test Label"></ic-search-bar>`);
498
+ const icSubmitSearch = await page.spyOnEvent("icSubmitSearch");
499
+ await focusAndTypeIntoInput("foo", page);
500
+ await page.waitForChanges();
501
+ await page.keyboard.press("Tab");
502
+ await page.keyboard.press("Tab");
503
+ await page.keyboard.press("Space");
504
+ await page.waitForChanges();
505
+ expect(icSubmitSearch).toHaveReceivedEventDetail({
506
+ value: "foo",
507
+ });
535
508
  });
536
- expect(inputEl.focusedEl).toBe("ic-search-bar-input-0");
537
- expect(inputEl.inputValue).toBe("bar");
538
- });
539
- it("should render suggestions after number of characters in value set to 3", async () => {
540
- const page = await newE2EPage();
541
- await page.setContent(`
509
+ it("should update value and move focus back to input when focus previously on ic-menu", async () => {
510
+ const page = await newE2EPage();
511
+ await page.setContent(`
542
512
  <ic-search-bar label="Test Label"></ic-search-bar>
543
513
  `);
544
- const searchBar = await page.find("ic-search-bar");
545
- searchBar.setProperty("options", options);
546
- searchBar.setProperty("charactersUntilSuggestion", 3);
547
- await page.waitForChanges();
548
- await focusAndTypeIntoInput("ba", page);
549
- await page.waitForChanges();
550
- let menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
551
- expect(menu).toBeNull();
552
- await page.waitForChanges();
553
- await focusAndTypeIntoInput("r", page);
554
- await page.waitForChanges();
555
- menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
556
- expect(await menu.isVisible()).toBeTruthy();
557
- });
558
- it("should render no results available if no matches", async () => {
559
- const page = await newE2EPage();
560
- await page.setContent(`
514
+ const searchBar = await page.find("ic-search-bar");
515
+ searchBar.setProperty("options", options);
516
+ await page.waitForChanges();
517
+ await focusAndTypeIntoInput("ba", page);
518
+ await page.waitForChanges();
519
+ await page.keyboard.press("ArrowDown");
520
+ await page.waitForChanges();
521
+ const focusedElement = await page.evaluate(() => {
522
+ const el = document.querySelector("ic-search-bar").shadowRoot;
523
+ return el.activeElement.id;
524
+ });
525
+ expect(focusedElement).toBe("ic-search-bar-input-0-menu-qux");
526
+ await page.keyboard.press("r");
527
+ const inputEl = await page.evaluate(() => {
528
+ const el = document
529
+ .querySelector("ic-search-bar")
530
+ .shadowRoot.querySelector("ic-text-field");
531
+ return {
532
+ focusedEl: el.shadowRoot.activeElement.id,
533
+ inputValue: el.value,
534
+ };
535
+ });
536
+ expect(inputEl.focusedEl).toBe("ic-search-bar-input-0");
537
+ expect(inputEl.inputValue).toBe("bar");
538
+ });
539
+ it("should render suggestions after number of characters in value set to 3", async () => {
540
+ const page = await newE2EPage();
541
+ await page.setContent(`
561
542
  <ic-search-bar label="Test Label"></ic-search-bar>
562
543
  `);
563
- const searchBar = await page.find("ic-search-bar");
564
- searchBar.setProperty("options", options);
565
- await page.waitForChanges();
566
- await focusAndTypeIntoInput("zzz", page);
567
- await page.waitForChanges();
568
- const noOptionsLabel = await page.evaluate(() => {
569
- const menuEl = document
570
- .querySelector("ic-search-bar")
571
- .shadowRoot.querySelector("ic-menu");
572
- const noOptionsItem = menuEl.querySelectorAll("li")[0];
573
- return noOptionsItem.innerText;
544
+ const searchBar = await page.find("ic-search-bar");
545
+ searchBar.setProperty("options", options);
546
+ searchBar.setProperty("charactersUntilSuggestion", 3);
547
+ await page.waitForChanges();
548
+ await focusAndTypeIntoInput("ba", page);
549
+ await page.waitForChanges();
550
+ let menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
551
+ expect(menu).toBeNull();
552
+ await page.waitForChanges();
553
+ await focusAndTypeIntoInput("r", page);
554
+ await page.waitForChanges();
555
+ menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
556
+ expect(await menu.isVisible()).toBeTruthy();
574
557
  });
575
- expect(noOptionsLabel).toBe("No results found");
576
- });
577
- it("should render 0 results if no matches (updated no options text)", async () => {
578
- const NO_OPTIONS = "0 results";
579
- const page = await newE2EPage();
580
- await page.setContent(`
558
+ it("should render no results available if no matches", async () => {
559
+ const page = await newE2EPage();
560
+ await page.setContent(`
581
561
  <ic-search-bar label="Test Label"></ic-search-bar>
582
562
  `);
583
- const searchBar = await page.find("ic-search-bar");
584
- searchBar.setProperty("options", options);
585
- searchBar.setProperty("emptyOptionListText", NO_OPTIONS);
586
- await page.waitForChanges();
587
- await focusAndTypeIntoInput("zzz", page);
588
- await page.waitForChanges();
589
- const noOptionsLabel = await page.evaluate(() => {
590
- const menuEl = document
591
- .querySelector("ic-search-bar")
592
- .shadowRoot.querySelector("ic-menu");
593
- const noOptionsItem = menuEl.querySelectorAll("li")[0];
594
- return noOptionsItem.innerText;
563
+ const searchBar = await page.find("ic-search-bar");
564
+ searchBar.setProperty("options", options);
565
+ await page.waitForChanges();
566
+ await focusAndTypeIntoInput("zzz", page);
567
+ await page.waitForChanges();
568
+ const noOptionsLabel = await page.evaluate(() => {
569
+ const menuEl = document
570
+ .querySelector("ic-search-bar")
571
+ .shadowRoot.querySelector("ic-menu");
572
+ const noOptionsItem = menuEl.querySelectorAll("li")[0];
573
+ return noOptionsItem.innerText;
574
+ });
575
+ expect(noOptionsLabel).toBe("No results found");
595
576
  });
596
- expect(noOptionsLabel).toBe(NO_OPTIONS);
597
- });
598
- it("should disable search button on 0 results", async () => {
599
- const page = await newE2EPage();
600
- await page.setContent(`
577
+ it("should render 0 results if no matches (updated no options text)", async () => {
578
+ const NO_OPTIONS = "0 results";
579
+ const page = await newE2EPage();
580
+ await page.setContent(`
601
581
  <ic-search-bar label="Test Label"></ic-search-bar>
602
582
  `);
603
- const searchBar = await page.find("ic-search-bar");
604
- searchBar.setProperty("options", options);
605
- await page.waitForChanges();
606
- await focusAndTypeIntoInput("zzz", page);
607
- await page.waitForChanges();
608
- const searchSubmitBtn = await page.find("ic-search-bar >>> ic-text-field ic-button.search-submit-button");
609
- expect(await searchSubmitBtn.getProperty("disabled")).toBeTruthy();
610
- });
611
- it("should focus on first option when ic-menu rendered and Enter should select option", async () => {
612
- const page = await newE2EPage();
613
- await page.setContent(`
583
+ const searchBar = await page.find("ic-search-bar");
584
+ searchBar.setProperty("options", options);
585
+ searchBar.setProperty("emptyOptionListText", NO_OPTIONS);
586
+ await page.waitForChanges();
587
+ await focusAndTypeIntoInput("zzz", page);
588
+ await page.waitForChanges();
589
+ const noOptionsLabel = await page.evaluate(() => {
590
+ const menuEl = document
591
+ .querySelector("ic-search-bar")
592
+ .shadowRoot.querySelector("ic-menu");
593
+ const noOptionsItem = menuEl.querySelectorAll("li")[0];
594
+ return noOptionsItem.innerText;
595
+ });
596
+ expect(noOptionsLabel).toBe(NO_OPTIONS);
597
+ });
598
+ it("should disable search button on 0 results", async () => {
599
+ const page = await newE2EPage();
600
+ await page.setContent(`
614
601
  <ic-search-bar label="Test Label"></ic-search-bar>
615
602
  `);
616
- const searchBar = await page.find("ic-search-bar");
617
- searchBar.setProperty("options", options);
618
- await page.waitForChanges();
619
- await focusAndTypeIntoInput("ba", page);
620
- await page.waitForChanges();
621
- const FirstOptionClassIsFocusedOption = await page.evaluate(() => {
622
- const menuEl = document
623
- .querySelector("ic-search-bar")
624
- .shadowRoot.querySelector("ic-menu");
625
- const firstMenuItem = menuEl.querySelectorAll("li")[0];
626
- return firstMenuItem.classList.contains("focused-option");
627
- });
628
- expect(FirstOptionClassIsFocusedOption).toBeTruthy();
629
- await page.keyboard.press("Enter");
630
- await page.waitForChanges();
631
- const input = await page.find("ic-search-bar >>> ic-text-field >>> #ic-search-bar-input-0");
632
- expect(await input.getProperty("value")).toBe("bar");
633
- });
634
- it("should be able to select second menu item after selecting an initial menu item", async () => {
635
- const page = await newE2EPage();
636
- await page.setContent(`<ic-search-bar label="Test Label"></ic-search-bar>`);
637
- const searchBar = await page.find("ic-search-bar");
638
- searchBar.setProperty("options", options);
639
- await page.waitForChanges();
640
- await focusAndTypeIntoInput("ba", page);
641
- await page.waitForChanges();
642
- let menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
643
- let firstOption = (await menu.findAll("li"))[0];
644
- expect(firstOption).toHaveClass("focused-option");
645
- await searchBar.press("Enter");
646
- await page.waitForChanges();
647
- const value = await searchBar.getProperty("value");
648
- await page.waitForChanges();
649
- expect(value).toBe("bar");
650
- await page.keyboard.press("Backspace");
651
- await page.waitForChanges();
652
- await searchBar.press("ArrowDown");
653
- await page.waitForChanges();
654
- menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
655
- firstOption = (await menu.findAll("li"))[0];
656
- const lastOption = (await menu.findAll("li"))[1];
657
- expect(firstOption).not.toHaveClass("focused-option");
658
- expect(lastOption).toHaveClass("focused-option");
659
- await searchBar.press("Enter");
660
- await page.waitForChanges();
661
- expect(await searchBar.getProperty("value")).toBe("qux");
662
- });
663
- it("should tab through search bar from input > clear > submit > ic-menu when options are available", async () => {
664
- const page = await newE2EPage();
665
- await page.setContent(`<ic-search-bar label="Test Label"></ic-search-bar>`);
666
- const searchBar = await page.find("ic-search-bar");
667
- searchBar.setProperty("options", options);
668
- await page.waitForChanges();
669
- await focusAndTypeIntoInput("ba", page);
670
- await page.waitForChanges();
671
- let focusedElement = await page.evaluate(() => {
672
- const el = document
673
- .querySelector("ic-search-bar")
674
- .shadowRoot.querySelector("ic-text-field");
675
- return el.shadowRoot.activeElement.id;
603
+ const searchBar = await page.find("ic-search-bar");
604
+ searchBar.setProperty("options", options);
605
+ await page.waitForChanges();
606
+ await focusAndTypeIntoInput("zzz", page);
607
+ await page.waitForChanges();
608
+ const searchSubmitBtn = await page.find("ic-search-bar >>> ic-text-field ic-button.search-submit-button");
609
+ expect(await searchSubmitBtn.getProperty("disabled")).toBeTruthy();
676
610
  });
677
- expect(focusedElement).toBe("ic-search-bar-input-0");
678
- await page.waitForChanges();
679
- await page.keyboard.press("Tab");
680
- await page.waitForChanges();
681
- focusedElement = await page.evaluate(() => {
682
- const el = document.querySelector("ic-search-bar");
683
- return el.shadowRoot.activeElement.id;
611
+ it("should focus on first option when ic-menu rendered and Enter should select option", async () => {
612
+ const page = await newE2EPage();
613
+ await page.setContent(`
614
+ <ic-search-bar label="Test Label"></ic-search-bar>
615
+ `);
616
+ const searchBar = await page.find("ic-search-bar");
617
+ searchBar.setProperty("options", options);
618
+ await page.waitForChanges();
619
+ await focusAndTypeIntoInput("ba", page);
620
+ await page.waitForChanges();
621
+ const FirstOptionClassIsFocusedOption = await page.evaluate(() => {
622
+ const menuEl = document
623
+ .querySelector("ic-search-bar")
624
+ .shadowRoot.querySelector("ic-menu");
625
+ const firstMenuItem = menuEl.querySelectorAll("li")[0];
626
+ return firstMenuItem.classList.contains("focused-option");
627
+ });
628
+ expect(FirstOptionClassIsFocusedOption).toBeTruthy();
629
+ await page.keyboard.press("Enter");
630
+ await page.waitForChanges();
631
+ const input = await page.find("ic-search-bar >>> ic-text-field >>> #ic-search-bar-input-0");
632
+ expect(await input.getProperty("value")).toBe("bar");
684
633
  });
685
- expect(focusedElement).toBe("clear-button");
686
- await page.keyboard.press("Tab");
687
- await page.waitForChanges();
688
- focusedElement = await page.evaluate(() => {
689
- const el = document.querySelector("ic-search-bar");
690
- return el.shadowRoot.activeElement.id;
634
+ it("should be able to select second menu item after selecting an initial menu item", async () => {
635
+ const page = await newE2EPage();
636
+ await page.setContent(`<ic-search-bar label="Test Label"></ic-search-bar>`);
637
+ const searchBar = await page.find("ic-search-bar");
638
+ searchBar.setProperty("options", options);
639
+ await page.waitForChanges();
640
+ await focusAndTypeIntoInput("ba", page);
641
+ await page.waitForChanges();
642
+ let menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
643
+ let firstOption = (await menu.findAll("li"))[0];
644
+ expect(firstOption).toHaveClass("focused-option");
645
+ await searchBar.press("Enter");
646
+ await page.waitForChanges();
647
+ const value = await searchBar.getProperty("value");
648
+ await page.waitForChanges();
649
+ expect(value).toBe("bar");
650
+ await page.keyboard.press("Backspace");
651
+ await page.waitForChanges();
652
+ await searchBar.press("ArrowDown");
653
+ await page.waitForChanges();
654
+ menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
655
+ firstOption = (await menu.findAll("li"))[0];
656
+ const lastOption = (await menu.findAll("li"))[1];
657
+ expect(firstOption).not.toHaveClass("focused-option");
658
+ expect(lastOption).toHaveClass("focused-option");
659
+ await searchBar.press("Enter");
660
+ await page.waitForChanges();
661
+ expect(await searchBar.getProperty("value")).toBe("qux");
691
662
  });
692
- expect(focusedElement).toBe("search-submit-button");
693
- await page.keyboard.press("Tab");
694
- await page.waitForChanges();
695
- focusedElement = await page.evaluate(() => {
696
- const el = document.querySelector("ic-search-bar").shadowRoot;
697
- return el.activeElement.id;
663
+ it("should tab through search bar from input > clear > submit > ic-menu (when options are available) > back to search bar", async () => {
664
+ const page = await newE2EPage();
665
+ await page.setContent(`<ic-search-bar label="Test Label"></ic-search-bar>`);
666
+ const searchBar = await page.find("ic-search-bar");
667
+ searchBar.setProperty("options", options);
668
+ await page.waitForChanges();
669
+ await focusAndTypeIntoInput("ba", page);
670
+ await page.waitForChanges();
671
+ let focusedElement = await page.evaluate(() => {
672
+ const el = document
673
+ .querySelector("ic-search-bar")
674
+ .shadowRoot.querySelector("ic-text-field");
675
+ return el.shadowRoot.activeElement.id;
676
+ });
677
+ expect(focusedElement).toBe("ic-search-bar-input-0");
678
+ await page.waitForChanges();
679
+ await page.keyboard.press("Tab");
680
+ await page.waitForChanges();
681
+ focusedElement = await page.evaluate(() => {
682
+ const el = document.querySelector("ic-search-bar");
683
+ return el.shadowRoot.activeElement.id;
684
+ });
685
+ expect(focusedElement).toBe("clear-button");
686
+ await page.keyboard.press("Tab");
687
+ await page.waitForChanges();
688
+ focusedElement = await page.evaluate(() => {
689
+ const el = document.querySelector("ic-search-bar");
690
+ return el.shadowRoot.activeElement.id;
691
+ });
692
+ expect(focusedElement).toBe("search-submit-button");
693
+ await page.keyboard.press("Tab");
694
+ await page.waitForChanges();
695
+ focusedElement = await page.evaluate(() => {
696
+ const el = document.querySelector("ic-search-bar").shadowRoot;
697
+ return el.activeElement.id;
698
+ });
699
+ expect(focusedElement).toBe("ic-search-bar-input-0-menu-bar");
700
+ await page.waitForChanges();
701
+ await page.keyboard.down("Shift");
702
+ await page.keyboard.press("Tab");
703
+ await page.keyboard.press("Tab");
704
+ await page.keyboard.press("Tab");
705
+ await page.waitForChanges();
706
+ focusedElement = await page.evaluate(() => {
707
+ const el = document
708
+ .querySelector("ic-search-bar")
709
+ .shadowRoot.querySelector("ic-text-field");
710
+ return el.shadowRoot.activeElement.id;
711
+ });
712
+ expect(focusedElement).toBe("ic-search-bar-input-0");
698
713
  });
699
- expect(focusedElement).toBe("ic-search-bar-input-0-menu-bar");
700
- });
701
- it("menu is still rendered when Shift is pressed while focus on input", async () => {
702
- const page = await newE2EPage();
703
- await page.setContent(`<ic-search-bar label="Test Label"></ic-search-bar>`);
704
- const searchBar = await page.find("ic-search-bar");
705
- searchBar.setProperty("options", options);
706
- await page.waitForChanges();
707
- await focusAndTypeIntoInput("ba", page);
708
- await page.waitForChanges();
709
- await page.keyboard.press("Shift");
710
- const menu = await page.find("ic-search-bar >>> ic-menu");
711
- expect(await menu.isVisible()).toBeTruthy();
712
- });
713
- it("focuses back onto search bar from menu", async () => {
714
- const page = await newE2EPage();
715
- await page.setContent(`<ic-search-bar label="Test Label"></ic-search-bar>`);
716
- const searchBar = await page.find("ic-search-bar");
717
- searchBar.setProperty("options", options);
718
- await page.waitForChanges();
719
- await focusAndTypeIntoInput("ba", page);
720
- await page.waitForChanges();
721
- await page.keyboard.press("Tab");
722
- await page.keyboard.press("Tab");
723
- await page.keyboard.press("Tab");
724
- await page.waitForChanges();
725
- let focusedElement = await page.evaluate(() => {
726
- const el = document.querySelector("ic-search-bar").shadowRoot;
727
- return el.activeElement.id;
714
+ it("menu is still rendered when Shift is pressed while focus on input", async () => {
715
+ const page = await newE2EPage();
716
+ await page.setContent(`<ic-search-bar label="Test Label"></ic-search-bar>`);
717
+ const searchBar = await page.find("ic-search-bar");
718
+ searchBar.setProperty("options", options);
719
+ await page.waitForChanges();
720
+ await focusAndTypeIntoInput("ba", page);
721
+ await page.waitForChanges();
722
+ await page.keyboard.press("Shift");
723
+ const menu = await page.find("ic-search-bar >>> ic-menu");
724
+ expect(await menu.isVisible()).toBeTruthy();
728
725
  });
729
- expect(focusedElement).toBe("ic-search-bar-input-0-menu-bar");
730
- await page.waitForChanges();
731
- await page.keyboard.down("Shift");
732
- await page.keyboard.press("Tab");
733
- await page.keyboard.press("Tab");
734
- await page.keyboard.press("Tab");
735
- await page.waitForChanges();
736
- focusedElement = await page.$eval("ic-search-bar", (el) => {
737
- const textfield = el.shadowRoot.querySelector("ic-text-field");
738
- return textfield.shadowRoot.activeElement.id;
726
+ it("displays tooltip on search buttons when enabled", async () => {
727
+ const page = await newE2EPage();
728
+ await page.setContent(`<ic-search-bar label="Test Label"></ic-search-bar>`);
729
+ await page.keyboard.press("Tab");
730
+ await page.keyboard.press("Tab");
731
+ await page.waitForChanges();
732
+ let submitSearchTooltipDisplay = await page.evaluate(() => {
733
+ const tooltip = document
734
+ .querySelector("ic-search-bar")
735
+ .shadowRoot.querySelector("#search-submit-button")
736
+ .shadowRoot.querySelector("ic-tooltip")
737
+ .shadowRoot.querySelector(".ic-tooltip-container");
738
+ return window.getComputedStyle(tooltip).display;
739
+ });
740
+ expect(submitSearchTooltipDisplay).toBe("none");
741
+ await focusAndTypeIntoInput("ba", page);
742
+ await page.waitForChanges();
743
+ await page.keyboard.press("Tab");
744
+ await page.waitForTimeout(300);
745
+ const clearTooltipDisplay = await page.evaluate(() => {
746
+ const tooltip = document
747
+ .querySelector("ic-search-bar")
748
+ .shadowRoot.querySelector("#clear-button")
749
+ .shadowRoot.querySelector("ic-tooltip")
750
+ .shadowRoot.querySelector(".ic-tooltip-container");
751
+ return window.getComputedStyle(tooltip).display;
752
+ });
753
+ expect(clearTooltipDisplay).toBe("block");
754
+ await page.keyboard.press("Tab");
755
+ await page.waitForTimeout(300);
756
+ submitSearchTooltipDisplay = await page.evaluate(() => {
757
+ const tooltip = document
758
+ .querySelector("ic-search-bar")
759
+ .shadowRoot.querySelector("#search-submit-button")
760
+ .shadowRoot.querySelector("ic-tooltip")
761
+ .shadowRoot.querySelector(".ic-tooltip-container");
762
+ return window.getComputedStyle(tooltip).display;
763
+ });
764
+ expect(submitSearchTooltipDisplay).toBe("block");
739
765
  });
740
- expect(focusedElement).toBe("ic-search-bar-input-0");
741
- });
742
- it("displays tooltip on search buttons when enabled", async () => {
743
- const page = await newE2EPage();
744
- await page.setContent(`<ic-search-bar label="Test Label"></ic-search-bar>`);
745
- await page.keyboard.press("Tab");
746
- await page.keyboard.press("Tab");
747
- await page.waitForChanges();
748
- let submitSearchTooltipDisplay = await page.evaluate(() => {
749
- const tooltip = document
750
- .querySelector("ic-search-bar")
751
- .shadowRoot.querySelector("#search-submit-button")
752
- .shadowRoot.querySelector("ic-tooltip")
753
- .shadowRoot.querySelector(".ic-tooltip-container");
754
- return window.getComputedStyle(tooltip).display;
766
+ it("should highlight first option again after no results found", async () => {
767
+ const page = await newE2EPage();
768
+ await page.setContent(`
769
+ <ic-search-bar label="Test Label"></ic-search-bar>
770
+ `);
771
+ const searchBar = await page.find("ic-search-bar");
772
+ searchBar.setProperty("options", options);
773
+ await page.waitForChanges();
774
+ await focusAndTypeIntoInput("barr", page);
775
+ await page.waitForChanges();
776
+ const noOptionsLabel = await page.evaluate(() => {
777
+ const menuEl = document
778
+ .querySelector("ic-search-bar")
779
+ .shadowRoot.querySelector("ic-menu");
780
+ const noOptionsItem = menuEl.querySelectorAll("li")[0];
781
+ return noOptionsItem.innerText;
782
+ });
783
+ expect(noOptionsLabel).toBe("No results found");
784
+ await page.waitForChanges();
785
+ await page.keyboard.press("Backspace");
786
+ await page.waitForTimeout(500);
787
+ const firstOptionFocused = await page.evaluate(() => {
788
+ const menuEl = document
789
+ .querySelector("ic-search-bar")
790
+ .shadowRoot.querySelector("ic-menu");
791
+ const firstOptionItem = menuEl.querySelectorAll("li")[0];
792
+ return firstOptionItem.classList.contains("focused-option");
793
+ });
794
+ expect(firstOptionFocused).toBeTruthy();
755
795
  });
756
- expect(submitSearchTooltipDisplay).toBe("none");
757
- await focusAndTypeIntoInput("ba", page);
758
- await page.waitForChanges();
759
- await page.keyboard.press("Tab");
760
- await page.waitForTimeout(300);
761
- const clearTooltipDisplay = await page.evaluate(() => {
762
- const tooltip = document
763
- .querySelector("ic-search-bar")
764
- .shadowRoot.querySelector("#clear-button")
765
- .shadowRoot.querySelector("ic-tooltip")
766
- .shadowRoot.querySelector(".ic-tooltip-container");
767
- return window.getComputedStyle(tooltip).display;
796
+ it("focuses onto button from search bar", async () => {
797
+ const page = await newE2EPage();
798
+ await page.setContent(`
799
+ <ic-search-bar label="Test Label"></ic-search-bar>
800
+ <ic-button id="button">Foo</ic-button>
801
+ `);
802
+ const searchBar = await page.find("ic-search-bar");
803
+ searchBar.setProperty("options", options);
804
+ await page.waitForChanges();
805
+ await focusAndTypeIntoInput("ba", page);
806
+ await page.waitForChanges();
807
+ await page.keyboard.press("ArrowDown");
808
+ await page.waitForChanges();
809
+ let focusedElement = await page.evaluate(() => {
810
+ const el = document.querySelector("ic-search-bar").shadowRoot;
811
+ return el.activeElement.id;
812
+ });
813
+ expect(focusedElement).toBe("ic-search-bar-input-0-menu-qux");
814
+ await page.waitForChanges();
815
+ await page.keyboard.press("Tab");
816
+ await page.waitForChanges();
817
+ focusedElement = await page.evaluate(() => {
818
+ return document.activeElement.id;
819
+ });
820
+ expect(focusedElement).toBe("button");
768
821
  });
769
- expect(clearTooltipDisplay).toBe("block");
770
- await page.keyboard.press("Tab");
771
- await page.waitForTimeout(300);
772
- submitSearchTooltipDisplay = await page.evaluate(() => {
773
- const tooltip = document
774
- .querySelector("ic-search-bar")
775
- .shadowRoot.querySelector("#search-submit-button")
776
- .shadowRoot.querySelector("ic-tooltip")
777
- .shadowRoot.querySelector(".ic-tooltip-container");
778
- return window.getComputedStyle(tooltip).display;
822
+ it("should emit icChange on delay", async () => {
823
+ const page = await newE2EPage();
824
+ await page.setContent(`<ic-search-bar label="Test Label" debounce="500"></ic-search-bar>`);
825
+ await page.waitForChanges();
826
+ const icChange = await page.spyOnEvent("icChange");
827
+ await focusAndTypeIntoInput("foo", page);
828
+ await page.waitForTimeout(600);
829
+ expect(icChange).toHaveReceivedEventDetail({
830
+ value: "foo",
831
+ });
832
+ await focusAndTypeIntoInput("bar", page);
833
+ await page.waitForChanges();
834
+ await page.waitForTimeout(100);
835
+ expect(icChange).toHaveReceivedEventDetail({
836
+ value: "foo",
837
+ });
838
+ await page.waitForTimeout(500);
839
+ expect(icChange).toHaveReceivedEventDetail({
840
+ value: "foobar",
841
+ });
779
842
  });
780
- expect(submitSearchTooltipDisplay).toBe("block");
781
- });
782
- it("should highlight first option again after no results found", async () => {
783
- const page = await newE2EPage();
784
- await page.setContent(`
843
+ it("should highlight the menu option items in the correct order with arrowDown", async () => {
844
+ const page = await newE2EPage();
845
+ await page.setContent(`
785
846
  <ic-search-bar label="Test Label"></ic-search-bar>
786
847
  `);
787
- const searchBar = await page.find("ic-search-bar");
788
- searchBar.setProperty("options", options);
789
- await page.waitForChanges();
790
- await focusAndTypeIntoInput("barr", page);
791
- await page.waitForChanges();
792
- const noOptionsLabel = await page.evaluate(() => {
793
- const menuEl = document
794
- .querySelector("ic-search-bar")
795
- .shadowRoot.querySelector("ic-menu");
796
- const noOptionsItem = menuEl.querySelectorAll("li")[0];
797
- return noOptionsItem.innerText;
848
+ const searchBar = await page.find("ic-search-bar");
849
+ searchBar.setProperty("options", longOptions);
850
+ await page.waitForChanges();
851
+ await focusAndTypeIntoInput("it", page);
852
+ await page.waitForChanges();
853
+ const menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
854
+ // First option has focused-option
855
+ let option = (await menu.findAll("li"))[0];
856
+ expect(option).toHaveClass("focused-option");
857
+ // Other options should not
858
+ for (let i = 1; i < longOptions.length; i++) {
859
+ option = (await menu.findAll("li"))[i];
860
+ expect(option).not.toHaveClass("focused-option");
861
+ }
862
+ // Highlight the next option
863
+ await page.keyboard.press("ArrowDown");
864
+ await page.waitForChanges();
865
+ option = (await menu.findAll("li"))[1];
866
+ expect(option).toHaveClass("focused-option");
867
+ for (let i = 2; i < longOptions.length; i++) {
868
+ option = (await menu.findAll("li"))[i];
869
+ expect(option).not.toHaveClass("focused-option");
870
+ }
871
+ await page.keyboard.press("ArrowDown");
872
+ await page.waitForChanges();
873
+ option = (await menu.findAll("li"))[2];
874
+ expect(option).toHaveClass("focused-option");
875
+ for (let i = 3; i < longOptions.length; i++) {
876
+ option = (await menu.findAll("li"))[i];
877
+ expect(option).not.toHaveClass("focused-option");
878
+ }
798
879
  });
799
- expect(noOptionsLabel).toBe("No results found");
800
- await page.waitForChanges();
801
- await page.keyboard.press("Backspace");
802
- await page.waitForTimeout(500);
803
- const firstOptionFocused = await page.evaluate(() => {
804
- const menuEl = document
805
- .querySelector("ic-search-bar")
806
- .shadowRoot.querySelector("ic-menu");
807
- const firstOptionItem = menuEl.querySelectorAll("li")[0];
808
- return firstOptionItem.classList.contains("focused-option");
809
- });
810
- expect(firstOptionFocused).toBeTruthy();
811
- });
812
- it("focuses onto button from search bar", async () => {
813
- const page = await newE2EPage();
814
- await page.setContent(`
880
+ it("should highlight the menu option items in the correct order with arrowUp", async () => {
881
+ const page = await newE2EPage();
882
+ await page.setContent(`
815
883
  <ic-search-bar label="Test Label"></ic-search-bar>
816
- <ic-button id="button">Foo</ic-button>
817
884
  `);
818
- const searchBar = await page.find("ic-search-bar");
819
- searchBar.setProperty("options", options);
820
- await page.waitForChanges();
821
- await focusAndTypeIntoInput("ba", page);
822
- await page.waitForChanges();
823
- await page.keyboard.press("ArrowDown");
824
- await page.waitForChanges();
825
- let focusedElement = await page.evaluate(() => {
826
- const el = document.querySelector("ic-search-bar").shadowRoot;
827
- return el.activeElement.id;
885
+ const searchBar = await page.find("ic-search-bar");
886
+ searchBar.setProperty("options", longOptions);
887
+ await page.waitForChanges();
888
+ await focusAndTypeIntoInput("it", page);
889
+ await page.waitForChanges();
890
+ const menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
891
+ // First option has focused-option class
892
+ let option = (await menu.findAll("li"))[0];
893
+ expect(option).toHaveClass("focused-option");
894
+ // Other options should not have focused-option class
895
+ for (let i = 1; i < longOptions.length; i++) {
896
+ option = (await menu.findAll("li"))[i];
897
+ expect(option).not.toHaveClass("focused-option");
898
+ }
899
+ // Highlight the last option
900
+ await page.keyboard.press("ArrowUp");
901
+ await page.waitForChanges();
902
+ option = (await menu.findAll("li"))[longOptions.length - 1];
903
+ expect(option).toHaveClass("focused-option");
904
+ for (let i = longOptions.length - 2; i >= 0; i--) {
905
+ option = (await menu.findAll("li"))[i];
906
+ expect(option).not.toHaveClass("focused-option");
907
+ }
908
+ await page.keyboard.press("ArrowUp");
909
+ await page.waitForChanges();
910
+ option = (await menu.findAll("li"))[longOptions.length - 2];
911
+ expect(option).toHaveClass("focused-option");
912
+ for (let i = longOptions.length - 3; i >= 0; i--) {
913
+ option = (await menu.findAll("li"))[i];
914
+ expect(option).not.toHaveClass("focused-option");
915
+ }
828
916
  });
829
- expect(focusedElement).toBe("ic-search-bar-input-0-menu-qux");
830
- await page.waitForChanges();
831
- await page.keyboard.press("Tab");
832
- await page.waitForChanges();
833
- focusedElement = await page.evaluate(() => {
834
- return document.activeElement.id;
917
+ it("should reverse tab to submit button", async () => {
918
+ const page = await newE2EPage();
919
+ await page.setContent(`<ic-search-bar label="Test Label"></ic-search-bar>`);
920
+ const searchBar = await page.find("ic-search-bar");
921
+ searchBar.setProperty("options", options);
922
+ await page.waitForChanges();
923
+ await focusAndTypeIntoInput("foo", page);
924
+ await page.waitForChanges();
925
+ await page.keyboard.down("ArrowDown");
926
+ await page.waitForChanges();
927
+ await page.keyboard.down("Shift");
928
+ await page.keyboard.press("Tab");
929
+ await page.waitForChanges();
930
+ const activeElId = await page.$eval("ic-search-bar", (el) => {
931
+ return el.shadowRoot.activeElement.id;
932
+ });
933
+ expect(activeElId).toBe("search-submit-button");
835
934
  });
836
- expect(focusedElement).toBe("button");
837
- });
838
- it("should emit icChange on delay", async () => {
839
- const page = await newE2EPage();
840
- await page.setContent(`<ic-search-bar label="Test Label" debounce="500"></ic-search-bar>`);
841
- await page.waitForChanges();
842
- const icChange = await page.spyOnEvent("icChange");
843
- await focusAndTypeIntoInput("foo", page);
844
- await page.waitForTimeout(600);
845
- expect(icChange).toHaveReceivedEventDetail({
846
- value: "foo",
935
+ it("should not filter options when disable-filter is set to true", async () => {
936
+ const page = await newE2EPage();
937
+ await page.setContent(`<ic-search-bar label="Test Label" disable-filter="true"></ic-search-bar>`);
938
+ const searchBar = await page.find("ic-search-bar");
939
+ searchBar.setProperty("options", options);
940
+ await page.waitForChanges();
941
+ await focusAndTypeIntoInput("foo", page);
942
+ await page.waitForChanges();
943
+ const menuOptions = await page.findAll("ic-search-bar >>> ic-text-field ic-menu li");
944
+ expect(menuOptions).toHaveLength(options.length);
847
945
  });
848
- await focusAndTypeIntoInput("bar", page);
849
- await page.waitForChanges();
850
- await page.waitForTimeout(100);
851
- expect(icChange).toHaveReceivedEventDetail({
852
- value: "foo",
946
+ it("should select the highlighted option when submit search is clicked", async () => {
947
+ const page = await newE2EPage();
948
+ await page.setContent(`<ic-search-bar label="Test Label"></ic-search-bar>`);
949
+ const searchBar = await page.find("ic-search-bar");
950
+ const searchSubmitButton = await page.find("ic-search-bar >>> ic-text-field ic-button.search-submit-button");
951
+ searchBar.setProperty("options", options);
952
+ await page.waitForChanges();
953
+ // Select first filtered option
954
+ await focusAndTypeIntoInput("ba", page);
955
+ await page.waitForChanges();
956
+ let menuOption = (await page.findAll("ic-search-bar >>> ic-text-field ic-menu li"))[0];
957
+ expect(menuOption).toHaveClass("focused-option");
958
+ expect(menuOption).toEqualText("bar");
959
+ await searchSubmitButton.click();
960
+ await page.waitForChanges();
961
+ expect(await searchBar.getProperty("value")).toBe("bar");
962
+ // Select second filtered option
963
+ const clearButton = await page.find("ic-search-bar >>> ic-text-field ic-button.clear-button");
964
+ await clearButton.click();
965
+ await page.waitForChanges();
966
+ await focusAndTypeIntoInput("ba", page);
967
+ await page.waitForChanges();
968
+ await page.keyboard.press("ArrowUp");
969
+ await page.waitForChanges();
970
+ menuOption = (await page.findAll("ic-search-bar >>> ic-text-field ic-menu li"))[1];
971
+ expect(menuOption).toHaveClass("focused-option");
972
+ expect(menuOption).toEqualText("baz");
973
+ await searchSubmitButton.click();
974
+ await page.waitForChanges();
975
+ expect(await searchBar.getProperty("value")).toBe("qux");
853
976
  });
854
- await page.waitForTimeout(500);
855
- expect(icChange).toHaveReceivedEventDetail({
856
- value: "foobar",
977
+ it("should display the loading option in the menu when loading then cancel loading when options provided", async () => {
978
+ const page = await newE2EPage();
979
+ await page.setContent(`<ic-search-bar label="Test Label" loading-label="load" disable-filter="true"></ic-search-bar>`);
980
+ const searchBar = await page.find("ic-search-bar");
981
+ searchBar.setProperty("options", options);
982
+ await page.waitForChanges();
983
+ await focusAndTypeIntoInput("ba", page);
984
+ searchBar.setProperty("loading", true);
985
+ await page.waitForChanges();
986
+ let menuOptions = await page.findAll("ic-search-bar >>> ic-text-field ic-menu li");
987
+ expect(menuOptions).toHaveLength(1);
988
+ expect(menuOptions[0]).toHaveClass("loading-option");
989
+ expect(menuOptions[0]).toEqualText("load");
990
+ searchBar.setProperty("options", options);
991
+ await page.waitForChanges();
992
+ menuOptions = await page.findAll("ic-search-bar >>> ic-text-field ic-menu li");
993
+ expect(menuOptions).toHaveLength(3);
994
+ expect(menuOptions[0]).not.toHaveClass("loading-option");
995
+ expect(searchBar.getProperty("loading")).toBeFalsy;
857
996
  });
858
- });
859
- it("should highlight the menu option items in the correct order with arrowDown", async () => {
860
- const page = await newE2EPage();
861
- await page.setContent(`
862
- <ic-search-bar label="Test Label"></ic-search-bar>
863
- `);
864
- const searchBar = await page.find("ic-search-bar");
865
- searchBar.setProperty("options", longOptions);
866
- await page.waitForChanges();
867
- await focusAndTypeIntoInput("it", page);
868
- await page.waitForChanges();
869
- const menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
870
- // First option has focused-option
871
- let option = (await menu.findAll("li"))[0];
872
- expect(option).toHaveClass("focused-option");
873
- // Other options should not
874
- for (let i = 1; i < longOptions.length; i++) {
875
- option = (await menu.findAll("li"))[i];
876
- expect(option).not.toHaveClass("focused-option");
877
- }
878
- // Highlight the next option
879
- await page.keyboard.press("ArrowDown");
880
- await page.waitForChanges();
881
- option = (await menu.findAll("li"))[1];
882
- expect(option).toHaveClass("focused-option");
883
- for (let i = 2; i < longOptions.length; i++) {
884
- option = (await menu.findAll("li"))[i];
885
- expect(option).not.toHaveClass("focused-option");
886
- }
887
- await page.keyboard.press("ArrowDown");
888
- await page.waitForChanges();
889
- option = (await menu.findAll("li"))[2];
890
- expect(option).toHaveClass("focused-option");
891
- for (let i = 3; i < longOptions.length; i++) {
892
- option = (await menu.findAll("li"))[i];
893
- expect(option).not.toHaveClass("focused-option");
894
- }
895
- });
896
- it("should highlight the menu option items in the correct order with arrowUp", async () => {
897
- const page = await newE2EPage();
898
- await page.setContent(`
899
- <ic-search-bar label="Test Label"></ic-search-bar>
900
- `);
901
- const searchBar = await page.find("ic-search-bar");
902
- searchBar.setProperty("options", longOptions);
903
- await page.waitForChanges();
904
- await focusAndTypeIntoInput("it", page);
905
- await page.waitForChanges();
906
- const menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
907
- // First option has focused-option class
908
- let option = (await menu.findAll("li"))[0];
909
- expect(option).toHaveClass("focused-option");
910
- // Other options should not have focused-option class
911
- for (let i = 1; i < longOptions.length; i++) {
912
- option = (await menu.findAll("li"))[i];
913
- expect(option).not.toHaveClass("focused-option");
914
- }
915
- // Highlight the last option
916
- await page.keyboard.press("ArrowUp");
917
- await page.waitForChanges();
918
- option = (await menu.findAll("li"))[longOptions.length - 1];
919
- expect(option).toHaveClass("focused-option");
920
- for (let i = longOptions.length - 2; i >= 0; i--) {
921
- option = (await menu.findAll("li"))[i];
922
- expect(option).not.toHaveClass("focused-option");
923
- }
924
- await page.keyboard.press("ArrowUp");
925
- await page.waitForChanges();
926
- option = (await menu.findAll("li"))[longOptions.length - 2];
927
- expect(option).toHaveClass("focused-option");
928
- for (let i = longOptions.length - 3; i >= 0; i--) {
929
- option = (await menu.findAll("li"))[i];
930
- expect(option).not.toHaveClass("focused-option");
931
- }
932
- });
933
- it("should reverse tab to submit button", async () => {
934
- const page = await newE2EPage();
935
- await page.setContent(`<ic-search-bar label="Test Label"></ic-search-bar>`);
936
- const searchBar = await page.find("ic-search-bar");
937
- searchBar.setProperty("options", options);
938
- await page.waitForChanges();
939
- await focusAndTypeIntoInput("foo", page);
940
- await page.waitForChanges();
941
- await page.keyboard.down("ArrowDown");
942
- await page.waitForChanges();
943
- await page.keyboard.down("Shift");
944
- await page.keyboard.press("Tab");
945
- await page.waitForChanges();
946
- const activeElId = await page.$eval("ic-search-bar", (el) => {
947
- return el.shadowRoot.activeElement.id;
997
+ it("should display the timeout state in the menu when timed out and should not update the options", async () => {
998
+ const page = await newE2EPage();
999
+ await page.setContent(`<ic-search-bar label="Test Label" loading-error-label="error message" timeout="1000" disable-filter="true"></ic-search-bar>`);
1000
+ const searchBar = await page.find("ic-search-bar");
1001
+ searchBar.setProperty("options", options);
1002
+ await page.waitForChanges();
1003
+ await focusAndTypeIntoInput("ba", page);
1004
+ searchBar.setProperty("loading", true);
1005
+ await page.waitForChanges();
1006
+ await page.waitForTimeout(1000);
1007
+ const menuOptions = await page.findAll("ic-search-bar >>> ic-text-field ic-menu li");
1008
+ expect(menuOptions).toHaveLength(1);
1009
+ expect(menuOptions[0]).toHaveClass("timeout");
1010
+ expect(await menuOptions[0].find("ic-typography")).toEqualText("error message");
1011
+ expect(await menuOptions[0].find("#retry-button")).not.toBeNull;
1012
+ const searchSubmitButton = await page.find("ic-search-bar >>> ic-text-field ic-button.search-submit-button");
1013
+ expect(await searchSubmitButton.getProperty("disabled")).toBeTruthy;
1014
+ searchBar.setProperty("options", options);
1015
+ await page.waitForChanges();
1016
+ expect(menuOptions).toHaveLength(1);
1017
+ expect(menuOptions[0]).toHaveClass("timeout");
1018
+ });
1019
+ it("should be able to focus retry button using tab and should keep loading state when menu closed", async () => {
1020
+ const page = await newE2EPage();
1021
+ await page.setContent(`<ic-search-bar label="Test Label" timeout="1000" disable-filter="true"></ic-search-bar>`);
1022
+ const searchBar = await page.find("ic-search-bar");
1023
+ searchBar.setProperty("options", options);
1024
+ await page.waitForChanges();
1025
+ await focusAndTypeIntoInput("ba", page);
1026
+ searchBar.setProperty("loading", true);
1027
+ await page.waitForChanges();
1028
+ await page.waitForTimeout(1000);
1029
+ await page.keyboard.press("Tab");
1030
+ await page.keyboard.press("Tab");
1031
+ await page.waitForChanges();
1032
+ const activeElId = await page.$eval("ic-search-bar", (el) => el.shadowRoot.activeElement.id);
1033
+ expect(activeElId).toBe("retry-button");
1034
+ await page.keyboard.press("Tab");
1035
+ await page.waitForChanges();
1036
+ let menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
1037
+ expect(menu).toBeNull;
1038
+ await page.keyboard.down("Shift");
1039
+ await page.keyboard.press("Tab");
1040
+ await page.waitForChanges();
1041
+ menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
1042
+ expect(await menu.isVisible()).toBeTruthy;
1043
+ expect(await menu.findAll("li")).toHaveLength(1);
1044
+ });
1045
+ it("should trigger a retry when the retry button is pressed using space and enter", async () => {
1046
+ const page = await newE2EPage();
1047
+ await page.setContent(`<ic-search-bar label="Test Label" timeout="1000" disable-filter="true"></ic-search-bar>`);
1048
+ const searchBar = await page.find("ic-search-bar");
1049
+ searchBar.setProperty("options", options);
1050
+ await page.waitForChanges();
1051
+ await focusAndTypeIntoInput("ba", page);
1052
+ searchBar.setProperty("loading", true);
1053
+ await page.waitForChanges();
1054
+ await page.waitForTimeout(1000);
1055
+ await page.keyboard.press("Tab");
1056
+ await page.keyboard.press("Tab");
1057
+ await page.waitForChanges();
1058
+ const retryButton = await page.find("ic-search-bar >>> ic-text-field ic-menu #retry-button");
1059
+ await retryButton.press("Enter");
1060
+ await page.waitForChanges();
1061
+ let menuOptions = await page.findAll("ic-search-bar >>> ic-text-field ic-menu li");
1062
+ expect(menuOptions[0]).toEqualText("Loading...");
1063
+ await page.waitForTimeout(1000);
1064
+ await page.keyboard.press("Tab");
1065
+ await page.keyboard.press("Tab");
1066
+ await page.waitForChanges();
1067
+ await retryButton.press(" ");
1068
+ await page.waitForChanges();
1069
+ menuOptions = await page.findAll("ic-search-bar >>> ic-text-field ic-menu li");
1070
+ expect(menuOptions[0]).toEqualText("Loading...");
1071
+ });
1072
+ it("should cancel loading when clear button is pressed", async () => {
1073
+ const page = await newE2EPage();
1074
+ await page.setContent(`<ic-search-bar label="Test Label" timeout="1000"></ic-search-bar>`);
1075
+ const searchBar = await page.find("ic-search-bar");
1076
+ searchBar.setProperty("options", options);
1077
+ await page.waitForChanges();
1078
+ await focusAndTypeIntoInput("ba", page);
1079
+ searchBar.setProperty("loading", true);
1080
+ await page.waitForChanges();
1081
+ await page.waitForTimeout(1000);
1082
+ const clearButton = await page.find("ic-search-bar >>> ic-text-field .clear-button");
1083
+ await clearButton.click();
1084
+ await page.waitForChanges();
1085
+ await focusAndTypeIntoInput("ba", page);
1086
+ searchBar.setProperty("loading", true);
1087
+ await page.waitForChanges();
1088
+ await page.waitForTimeout(750);
1089
+ let menuOption = await page.find("ic-search-bar >>> ic-text-field ic-menu li");
1090
+ expect(menuOption).toEqualText("Loading...");
1091
+ await clearButton.click();
1092
+ await page.waitForChanges();
1093
+ //Check that the timeout was cancelled
1094
+ await page.waitForTimeout(1000);
1095
+ await searchBar.click();
1096
+ await page.waitForChanges();
1097
+ expect(await page.find("ic-search-bar >>> ic-text-field ic-menu")).toBeNull;
1098
+ await focusAndTypeIntoInput("ba", page);
1099
+ searchBar.setProperty("loading", true);
1100
+ await page.waitForChanges();
1101
+ await page.waitForTimeout(750);
1102
+ menuOption = await page.find("ic-search-bar >>> ic-text-field ic-menu li");
1103
+ expect(menuOption).toEqualText("Loading...");
948
1104
  });
949
- expect(activeElId).toBe("search-submit-button");
950
- });
951
- it("should not filter options when disable-filter is set to true", async () => {
952
- const page = await newE2EPage();
953
- await page.setContent(`<ic-search-bar label="Test Label" disable-filter="true"></ic-search-bar>`);
954
- const searchBar = await page.find("ic-search-bar");
955
- searchBar.setProperty("options", options);
956
- await page.waitForChanges();
957
- await focusAndTypeIntoInput("foo", page);
958
- await page.waitForChanges();
959
- const menuOptions = await page.findAll("ic-search-bar >>> ic-text-field ic-menu li");
960
- expect(menuOptions).toHaveLength(options.length);
961
- });
962
- it("should select the highlighted option when submit search is clicked", async () => {
963
- const page = await newE2EPage();
964
- await page.setContent(`<ic-search-bar label="Test Label"></ic-search-bar>`);
965
- const searchBar = await page.find("ic-search-bar");
966
- const searchSubmitButton = await page.find("ic-search-bar >>> ic-text-field ic-button.search-submit-button");
967
- searchBar.setProperty("options", options);
968
- await page.waitForChanges();
969
- // Select first filtered option
970
- await focusAndTypeIntoInput("ba", page);
971
- await page.waitForChanges();
972
- let menuOption = (await page.findAll("ic-search-bar >>> ic-text-field ic-menu li"))[0];
973
- expect(menuOption).toHaveClass("focused-option");
974
- expect(menuOption).toEqualText("bar");
975
- await searchSubmitButton.click();
976
- await page.waitForChanges();
977
- expect(await searchBar.getProperty("value")).toBe("bar");
978
- // Select second filtered option
979
- const clearButton = await page.find("ic-search-bar >>> ic-text-field ic-button.clear-button");
980
- await clearButton.click();
981
- await page.waitForChanges();
982
- await focusAndTypeIntoInput("ba", page);
983
- await page.waitForChanges();
984
- await page.keyboard.press("ArrowUp");
985
- await page.waitForChanges();
986
- menuOption = (await page.findAll("ic-search-bar >>> ic-text-field ic-menu li"))[1];
987
- expect(menuOption).toHaveClass("focused-option");
988
- expect(menuOption).toEqualText("baz");
989
- await searchSubmitButton.click();
990
- await page.waitForChanges();
991
- expect(await searchBar.getProperty("value")).toBe("qux");
992
- });
993
- it("should display the loading option in the menu when loading then cancel loading when options provided", async () => {
994
- const page = await newE2EPage();
995
- await page.setContent(`<ic-search-bar label="Test Label" loading-label="load" disable-filter="true"></ic-search-bar>`);
996
- const searchBar = await page.find("ic-search-bar");
997
- searchBar.setProperty("options", options);
998
- await page.waitForChanges();
999
- await focusAndTypeIntoInput("ba", page);
1000
- searchBar.setProperty("loading", true);
1001
- await page.waitForChanges();
1002
- let menuOptions = await page.findAll("ic-search-bar >>> ic-text-field ic-menu li");
1003
- expect(menuOptions).toHaveLength(1);
1004
- expect(menuOptions[0]).toHaveClass("loading-option");
1005
- expect(menuOptions[0]).toEqualText("load");
1006
- searchBar.setProperty("options", options);
1007
- await page.waitForChanges();
1008
- menuOptions = await page.findAll("ic-search-bar >>> ic-text-field ic-menu li");
1009
- expect(menuOptions).toHaveLength(3);
1010
- expect(menuOptions[0]).not.toHaveClass("loading-option");
1011
- expect(searchBar.getProperty("loading")).toBeFalsy;
1012
- });
1013
- it("should display the timeout state in the menu when timed out and should not update the options", async () => {
1014
- const page = await newE2EPage();
1015
- await page.setContent(`<ic-search-bar label="Test Label" loading-error-label="error message" timeout="1000" disable-filter="true"></ic-search-bar>`);
1016
- const searchBar = await page.find("ic-search-bar");
1017
- searchBar.setProperty("options", options);
1018
- await page.waitForChanges();
1019
- await focusAndTypeIntoInput("ba", page);
1020
- searchBar.setProperty("loading", true);
1021
- await page.waitForChanges();
1022
- await page.waitForTimeout(1000);
1023
- const menuOptions = await page.findAll("ic-search-bar >>> ic-text-field ic-menu li");
1024
- expect(menuOptions).toHaveLength(1);
1025
- expect(menuOptions[0]).toHaveClass("timeout");
1026
- expect(await menuOptions[0].find("ic-typography")).toEqualText("error message");
1027
- expect(await menuOptions[0].find("#retry-button")).not.toBeNull;
1028
- const searchSubmitButton = await page.find("ic-search-bar >>> ic-text-field ic-button.search-submit-button");
1029
- expect(await searchSubmitButton.getProperty("disabled")).toBeTruthy;
1030
- searchBar.setProperty("options", options);
1031
- await page.waitForChanges();
1032
- expect(menuOptions).toHaveLength(1);
1033
- expect(menuOptions[0]).toHaveClass("timeout");
1034
- });
1035
- it("should be able to focus retry button using tab and should keep loading state when menu closed", async () => {
1036
- const page = await newE2EPage();
1037
- await page.setContent(`<ic-search-bar label="Test Label" timeout="1000" disable-filter="true"></ic-search-bar>`);
1038
- const searchBar = await page.find("ic-search-bar");
1039
- searchBar.setProperty("options", options);
1040
- await page.waitForChanges();
1041
- await focusAndTypeIntoInput("ba", page);
1042
- searchBar.setProperty("loading", true);
1043
- await page.waitForChanges();
1044
- await page.waitForTimeout(1000);
1045
- await page.keyboard.press("Tab");
1046
- await page.keyboard.press("Tab");
1047
- await page.waitForChanges();
1048
- const activeElId = await page.$eval("ic-search-bar", (el) => el.shadowRoot.activeElement.id);
1049
- expect(activeElId).toBe("retry-button");
1050
- await page.keyboard.press("Tab");
1051
- await page.waitForChanges();
1052
- let menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
1053
- expect(menu).toBeNull;
1054
- await page.keyboard.down("Shift");
1055
- await page.keyboard.press("Tab");
1056
- await page.waitForChanges();
1057
- menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
1058
- expect(await menu.isVisible()).toBeTruthy;
1059
- expect(await menu.findAll("li")).toHaveLength(1);
1060
- });
1061
- it("should trigger a retry when the retry button is pressed using space and enter", async () => {
1062
- const page = await newE2EPage();
1063
- await page.setContent(`<ic-search-bar label="Test Label" timeout="1000" disable-filter="true"></ic-search-bar>`);
1064
- const searchBar = await page.find("ic-search-bar");
1065
- searchBar.setProperty("options", options);
1066
- await page.waitForChanges();
1067
- await focusAndTypeIntoInput("ba", page);
1068
- searchBar.setProperty("loading", true);
1069
- await page.waitForChanges();
1070
- await page.waitForTimeout(1000);
1071
- await page.keyboard.press("Tab");
1072
- await page.keyboard.press("Tab");
1073
- await page.waitForChanges();
1074
- const retryButton = await page.find("ic-search-bar >>> ic-text-field ic-menu #retry-button");
1075
- await retryButton.press("Enter");
1076
- await page.waitForChanges();
1077
- let menuOptions = await page.findAll("ic-search-bar >>> ic-text-field ic-menu li");
1078
- expect(menuOptions[0]).toEqualText("Loading...");
1079
- await page.waitForTimeout(1000);
1080
- await page.keyboard.press("Tab");
1081
- await page.keyboard.press("Tab");
1082
- await page.waitForChanges();
1083
- await retryButton.press(" ");
1084
- await page.waitForChanges();
1085
- menuOptions = await page.findAll("ic-search-bar >>> ic-text-field ic-menu li");
1086
- expect(menuOptions[0]).toEqualText("Loading...");
1087
- });
1088
- it("should cancel loading when clear button is pressed", async () => {
1089
- const page = await newE2EPage();
1090
- await page.setContent(`<ic-search-bar label="Test Label" timeout="1000"></ic-search-bar>`);
1091
- const searchBar = await page.find("ic-search-bar");
1092
- searchBar.setProperty("options", options);
1093
- await page.waitForChanges();
1094
- await focusAndTypeIntoInput("ba", page);
1095
- searchBar.setProperty("loading", true);
1096
- await page.waitForChanges();
1097
- await page.waitForTimeout(1000);
1098
- const clearButton = await page.find("ic-search-bar >>> ic-text-field .clear-button");
1099
- await clearButton.click();
1100
- await page.waitForChanges();
1101
- await focusAndTypeIntoInput("ba", page);
1102
- searchBar.setProperty("loading", true);
1103
- await page.waitForChanges();
1104
- await page.waitForTimeout(750);
1105
- let menuOption = await page.find("ic-search-bar >>> ic-text-field ic-menu li");
1106
- expect(menuOption).toEqualText("Loading...");
1107
- await clearButton.click();
1108
- await page.waitForChanges();
1109
- //Check that the timeout was cancelled
1110
- await page.waitForTimeout(1000);
1111
- await searchBar.click();
1112
- await page.waitForChanges();
1113
- expect(await page.find("ic-search-bar >>> ic-text-field ic-menu")).toBeNull;
1114
- await focusAndTypeIntoInput("ba", page);
1115
- searchBar.setProperty("loading", true);
1116
- await page.waitForChanges();
1117
- await page.waitForTimeout(750);
1118
- menuOption = await page.find("ic-search-bar >>> ic-text-field ic-menu li");
1119
- expect(menuOption).toEqualText("Loading...");
1120
- });
1121
1105
  });
1122
1106
  //# sourceMappingURL=ic-search-bar.e2e.js.map