@ukic/web-components 2.1.0-beta.14 → 2.1.0-beta.16

Sign up to get free protection for your applications and to get access to all the features.
Files changed (805) hide show
  1. package/dist/cjs/core.cjs.js +10 -3
  2. package/dist/cjs/core.cjs.js.map +1 -1
  3. package/dist/cjs/{helpers-2021e212.js → helpers-eb53c416.js} +25 -25
  4. package/dist/cjs/helpers-eb53c416.js.map +1 -0
  5. package/dist/cjs/ic-alert.cjs.entry.js +2 -2
  6. package/dist/cjs/ic-back-to-top.cjs.entry.js +2 -2
  7. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +15 -15
  8. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ic-breadcrumb.cjs.entry.js +6 -5
  10. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  11. package/dist/cjs/ic-button_3.cjs.entry.js +33 -36
  12. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  13. package/dist/cjs/ic-card.cjs.entry.js +4 -3
  14. package/dist/cjs/ic-card.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ic-checkbox-group.cjs.entry.js +5 -2
  16. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-checkbox.cjs.entry.js +7 -5
  18. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ic-chip.cjs.entry.js +5 -2
  20. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ic-classification-banner.cjs.entry.js +1 -1
  22. package/dist/cjs/ic-data-entity.cjs.entry.js +1 -1
  23. package/dist/cjs/ic-data-row.cjs.entry.js +2 -2
  24. package/dist/cjs/ic-dialog.cjs.entry.js +296 -0
  25. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -0
  26. package/dist/cjs/ic-divider.cjs.entry.js +2 -2
  27. package/dist/cjs/ic-footer-link-group.cjs.entry.js +2 -2
  28. package/dist/cjs/ic-footer-link.cjs.entry.js +2 -2
  29. package/dist/cjs/ic-footer.cjs.entry.js +4 -4
  30. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  31. package/dist/cjs/ic-hero.cjs.entry.js +2 -2
  32. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +2 -2
  33. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +69 -27
  34. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  35. package/dist/cjs/ic-input-label_2.cjs.entry.js +3 -3
  36. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  37. package/dist/cjs/ic-link.cjs.entry.js +2 -2
  38. package/dist/cjs/ic-menu-group.cjs.entry.js +1 -1
  39. package/dist/cjs/ic-menu-item.cjs.entry.js +6 -4
  40. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  41. package/dist/cjs/ic-navigation-button.cjs.entry.js +2 -2
  42. package/dist/cjs/ic-navigation-group.cjs.entry.js +50 -21
  43. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  44. package/dist/cjs/ic-navigation-item.cjs.entry.js +3 -3
  45. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  46. package/dist/cjs/ic-navigation-menu.cjs.entry.js +2 -8
  47. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  48. package/dist/cjs/ic-page-header.cjs.entry.js +12 -15
  49. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  50. package/dist/cjs/ic-pagination-item.cjs.entry.js +6 -1
  51. package/dist/cjs/ic-pagination-item.cjs.entry.js.map +1 -1
  52. package/dist/cjs/ic-pagination.cjs.entry.js +14 -2
  53. package/dist/cjs/ic-pagination.cjs.entry.js.map +1 -1
  54. package/dist/cjs/ic-popover-menu.cjs.entry.js +7 -6
  55. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  56. package/dist/cjs/ic-radio-group.cjs.entry.js +16 -5
  57. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  58. package/dist/cjs/ic-radio-option.cjs.entry.js +5 -11
  59. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  60. package/dist/cjs/ic-search-bar.cjs.entry.js +6 -3
  61. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  62. package/dist/cjs/ic-section-container.cjs.entry.js +1 -1
  63. package/dist/cjs/ic-select.cjs.entry.js +35 -34
  64. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  65. package/dist/cjs/ic-side-navigation.cjs.entry.js +70 -57
  66. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  67. package/dist/cjs/ic-skeleton.cjs.entry.js +1 -1
  68. package/dist/cjs/ic-status-tag.cjs.entry.js +3 -3
  69. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  70. package/dist/cjs/ic-step.cjs.entry.js +3 -3
  71. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  72. package/dist/cjs/ic-stepper.cjs.entry.js +2 -2
  73. package/dist/cjs/ic-switch.cjs.entry.js +4 -3
  74. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  75. package/dist/cjs/ic-tab-context.cjs.entry.js +8 -6
  76. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  77. package/dist/cjs/ic-tab-group.cjs.entry.js +3 -3
  78. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  79. package/dist/cjs/ic-tab-panel.cjs.entry.js +4 -2
  80. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  81. package/dist/cjs/ic-tab.cjs.entry.js +8 -2
  82. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  83. package/dist/cjs/ic-text-field.cjs.entry.js +9 -18
  84. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  85. package/dist/cjs/ic-theme.cjs.entry.js +2 -2
  86. package/dist/cjs/ic-toast-region.cjs.entry.js +1 -1
  87. package/dist/cjs/ic-toast.cjs.entry.js +2 -2
  88. package/dist/cjs/ic-top-navigation.cjs.entry.js +2 -2
  89. package/dist/cjs/ic-typography.cjs.entry.js +96 -4
  90. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  91. package/dist/cjs/{index-a62312a7.js → index-014e3058.js} +222 -43
  92. package/dist/cjs/index-014e3058.js.map +1 -0
  93. package/dist/cjs/loader.cjs.js +4 -3
  94. package/dist/cjs/loader.cjs.js.map +1 -1
  95. package/dist/collection/collection-manifest.json +13 -12
  96. package/dist/collection/components/ic-alert/ic-alert.e2e.js +16 -0
  97. package/dist/collection/components/ic-alert/ic-alert.e2e.js.map +1 -0
  98. package/dist/collection/components/ic-alert/ic-alert.spec.js +182 -0
  99. package/dist/collection/components/ic-alert/ic-alert.spec.js.map +1 -0
  100. package/dist/collection/components/ic-back-to-top/ic-back-to-top.e2e.js +68 -0
  101. package/dist/collection/components/ic-back-to-top/ic-back-to-top.e2e.js.map +1 -0
  102. package/dist/collection/components/ic-back-to-top/ic-back-to-top.spec.js +123 -0
  103. package/dist/collection/components/ic-back-to-top/ic-back-to-top.spec.js.map +1 -0
  104. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js +4 -3
  105. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js.map +1 -1
  106. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.spec.js +118 -0
  107. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.spec.js.map +1 -0
  108. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.e2e.js +41 -0
  109. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.e2e.js.map +1 -0
  110. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js +13 -13
  111. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js.map +1 -1
  112. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.spec.js +181 -0
  113. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.spec.js.map +1 -0
  114. package/dist/collection/components/ic-button/ic-button.e2e.js +173 -0
  115. package/dist/collection/components/ic-button/ic-button.e2e.js.map +1 -0
  116. package/dist/collection/components/ic-button/ic-button.js +4 -6
  117. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  118. package/dist/collection/components/ic-button/ic-button.spec.js +230 -0
  119. package/dist/collection/components/ic-button/ic-button.spec.js.map +1 -0
  120. package/dist/collection/components/ic-card/ic-card.css +3 -2
  121. package/dist/collection/components/ic-card/ic-card.e2e.js +23 -0
  122. package/dist/collection/components/ic-card/ic-card.e2e.js.map +1 -0
  123. package/dist/collection/components/ic-card/ic-card.js +2 -1
  124. package/dist/collection/components/ic-card/ic-card.js.map +1 -1
  125. package/dist/collection/components/ic-card/ic-card.spec.js +152 -0
  126. package/dist/collection/components/ic-card/ic-card.spec.js.map +1 -0
  127. package/dist/collection/components/ic-checkbox/ic-checkbox.js +6 -4
  128. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  129. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.e2e.js +201 -0
  130. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.e2e.js.map +1 -0
  131. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +4 -1
  132. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  133. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.spec.js +175 -0
  134. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.spec.js.map +1 -0
  135. package/dist/collection/components/ic-chip/ic-chip.js +4 -1
  136. package/dist/collection/components/ic-chip/ic-chip.js.map +1 -1
  137. package/dist/collection/components/ic-chip/ic-chip.spec.js +110 -0
  138. package/dist/collection/components/ic-chip/ic-chip.spec.js.map +1 -0
  139. package/dist/collection/components/ic-classification-banner/ic-classification-banner.spec.js +140 -0
  140. package/dist/collection/components/ic-classification-banner/ic-classification-banner.spec.js.map +1 -0
  141. package/dist/collection/components/ic-data-entity/ic-data-entity.spec.js +161 -0
  142. package/dist/collection/components/ic-data-entity/ic-data-entity.spec.js.map +1 -0
  143. package/dist/collection/components/ic-data-row/ic-data-row.spec.js +185 -0
  144. package/dist/collection/components/ic-data-row/ic-data-row.spec.js.map +1 -0
  145. package/dist/collection/components/ic-dialog/ic-dialog.css +595 -0
  146. package/dist/collection/components/ic-dialog/ic-dialog.e2e.js +204 -0
  147. package/dist/collection/components/ic-dialog/ic-dialog.e2e.js.map +1 -0
  148. package/dist/collection/components/ic-dialog/ic-dialog.js +641 -0
  149. package/dist/collection/components/ic-dialog/ic-dialog.js.map +1 -0
  150. package/dist/collection/components/ic-dialog/ic-dialog.spec.js +520 -0
  151. package/dist/collection/components/ic-dialog/ic-dialog.spec.js.map +1 -0
  152. package/dist/collection/components/ic-dialog/ic-dialog.test.a11y.js +28 -0
  153. package/dist/collection/components/ic-dialog/ic-dialog.test.a11y.js.map +1 -0
  154. package/dist/collection/components/ic-divider/ic-divider.spec.js +24 -0
  155. package/dist/collection/components/ic-divider/ic-divider.spec.js.map +1 -0
  156. package/dist/collection/components/ic-footer/ic-footer.css +2 -2
  157. package/dist/collection/components/ic-footer/ic-footer.e2e.js +50 -0
  158. package/dist/collection/components/ic-footer/ic-footer.e2e.js.map +1 -0
  159. package/dist/collection/components/ic-footer/ic-footer.js +1 -1
  160. package/dist/collection/components/ic-footer/ic-footer.js.map +1 -1
  161. package/dist/collection/components/ic-footer/ic-footer.spec.js +140 -0
  162. package/dist/collection/components/ic-footer/ic-footer.spec.js.map +1 -0
  163. package/dist/collection/components/ic-footer-link/ic-footer-link.spec.js +62 -0
  164. package/dist/collection/components/ic-footer-link/ic-footer-link.spec.js.map +1 -0
  165. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.spec.js +98 -0
  166. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.spec.js.map +1 -0
  167. package/dist/collection/components/ic-hero/ic-hero.spec.js +76 -0
  168. package/dist/collection/components/ic-hero/ic-hero.spec.js.map +1 -0
  169. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.spec.js +180 -0
  170. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.spec.js.map +1 -0
  171. package/dist/collection/components/ic-input-component-container/ic-input-component-container.css +32 -4
  172. package/dist/collection/components/ic-input-component-container/ic-input-component-container.spec.js +117 -0
  173. package/dist/collection/components/ic-input-component-container/ic-input-component-container.spec.js.map +1 -0
  174. package/dist/collection/components/ic-input-container/ic-input-container.spec.js +38 -0
  175. package/dist/collection/components/ic-input-container/ic-input-container.spec.js.map +1 -0
  176. package/dist/collection/components/ic-input-label/ic-input-label.spec.js +98 -0
  177. package/dist/collection/components/ic-input-label/ic-input-label.spec.js.map +1 -0
  178. package/dist/collection/components/ic-input-validation/ic-input-validation.css +0 -8
  179. package/dist/collection/components/ic-input-validation/ic-input-validation.spec.js +89 -0
  180. package/dist/collection/components/ic-input-validation/ic-input-validation.spec.js.map +1 -0
  181. package/dist/collection/components/ic-link/ic-link.spec.js +203 -0
  182. package/dist/collection/components/ic-link/ic-link.spec.js.map +1 -0
  183. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.css +1 -1
  184. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.e2e.js +34 -0
  185. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.e2e.js.map +1 -0
  186. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.spec.js +141 -0
  187. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.spec.js.map +1 -0
  188. package/dist/collection/components/ic-menu/ic-menu.css +9 -1
  189. package/dist/collection/components/ic-menu/ic-menu.js +89 -23
  190. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  191. package/dist/collection/components/ic-menu/ic-menu.spec.js +650 -0
  192. package/dist/collection/components/ic-menu/ic-menu.spec.js.map +1 -0
  193. package/dist/collection/components/ic-menu-group/ic-menu-group.spec.js +94 -0
  194. package/dist/collection/components/ic-menu-group/ic-menu-group.spec.js.map +1 -0
  195. package/dist/collection/components/ic-menu-item/ic-menu-item.css +2 -2
  196. package/dist/collection/components/ic-menu-item/ic-menu-item.js +4 -2
  197. package/dist/collection/components/ic-menu-item/ic-menu-item.js.map +1 -1
  198. package/dist/collection/components/ic-menu-item/ic-menu-item.spec.js +105 -0
  199. package/dist/collection/components/ic-menu-item/ic-menu-item.spec.js.map +1 -0
  200. package/dist/collection/components/ic-navigation-button/ic-navigation-button.spec.js +84 -0
  201. package/dist/collection/components/ic-navigation-button/ic-navigation-button.spec.js.map +1 -0
  202. package/dist/collection/components/ic-navigation-group/ic-navigation-group.css +1 -1
  203. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +47 -18
  204. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js.map +1 -1
  205. package/dist/collection/components/ic-navigation-group/ic-navigation-group.spec.js +309 -0
  206. package/dist/collection/components/ic-navigation-group/ic-navigation-group.spec.js.map +1 -0
  207. package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +13 -7
  208. package/dist/collection/components/ic-navigation-item/ic-navigation-item.spec.js +118 -0
  209. package/dist/collection/components/ic-navigation-item/ic-navigation-item.spec.js.map +1 -0
  210. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.e2e.js +29 -0
  211. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.e2e.js.map +1 -0
  212. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +0 -6
  213. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js.map +1 -1
  214. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.spec.js +176 -0
  215. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.spec.js.map +1 -0
  216. package/dist/collection/components/ic-page-header/ic-page-header.css +1 -1
  217. package/dist/collection/components/ic-page-header/ic-page-header.e2e.js +177 -0
  218. package/dist/collection/components/ic-page-header/ic-page-header.e2e.js.map +1 -0
  219. package/dist/collection/components/ic-page-header/ic-page-header.js +9 -12
  220. package/dist/collection/components/ic-page-header/ic-page-header.js.map +1 -1
  221. package/dist/collection/components/ic-page-header/ic-page-header.spec.js +284 -0
  222. package/dist/collection/components/ic-page-header/ic-page-header.spec.js.map +1 -0
  223. package/dist/collection/components/ic-pagination/ic-pagination.e2e.js +128 -0
  224. package/dist/collection/components/ic-pagination/ic-pagination.e2e.js.map +1 -0
  225. package/dist/collection/components/ic-pagination/ic-pagination.js +55 -3
  226. package/dist/collection/components/ic-pagination/ic-pagination.js.map +1 -1
  227. package/dist/collection/components/ic-pagination/ic-pagination.spec.js +325 -0
  228. package/dist/collection/components/ic-pagination/ic-pagination.spec.js.map +1 -0
  229. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +5 -1
  230. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js.map +1 -1
  231. package/dist/collection/components/ic-popover-menu/ic-popover-menu.css +1 -1
  232. package/dist/collection/components/ic-popover-menu/ic-popover-menu.e2e.js +30 -0
  233. package/dist/collection/components/ic-popover-menu/ic-popover-menu.e2e.js.map +1 -0
  234. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +4 -3
  235. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js.map +1 -1
  236. package/dist/collection/components/ic-popover-menu/ic-popover-menu.spec.js +381 -0
  237. package/dist/collection/components/ic-popover-menu/ic-popover-menu.spec.js.map +1 -0
  238. package/dist/collection/components/ic-radio-group/ic-radio-group.e2e.js +343 -0
  239. package/dist/collection/components/ic-radio-group/ic-radio-group.e2e.js.map +1 -0
  240. package/dist/collection/components/ic-radio-group/ic-radio-group.js +19 -8
  241. package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
  242. package/dist/collection/components/ic-radio-group/ic-radio-group.spec.js +303 -0
  243. package/dist/collection/components/ic-radio-group/ic-radio-group.spec.js.map +1 -0
  244. package/dist/collection/components/ic-radio-group/ic-radio-group.types.js +2 -0
  245. package/dist/collection/components/ic-radio-group/ic-radio-group.types.js.map +1 -0
  246. package/dist/collection/components/ic-radio-option/ic-radio-option.css +1 -1
  247. package/dist/collection/components/ic-radio-option/ic-radio-option.js +5 -14
  248. package/dist/collection/components/ic-radio-option/ic-radio-option.js.map +1 -1
  249. package/dist/collection/components/ic-search-bar/ic-search-bar.e2e.js +1054 -0
  250. package/dist/collection/components/ic-search-bar/ic-search-bar.e2e.js.map +1 -0
  251. package/dist/collection/components/ic-search-bar/ic-search-bar.js +12 -9
  252. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  253. package/dist/collection/components/ic-search-bar/ic-search-bar.spec.js +570 -0
  254. package/dist/collection/components/ic-search-bar/ic-search-bar.spec.js.map +1 -0
  255. package/dist/collection/components/ic-search-bar/ic-search-bar.types.js.map +1 -1
  256. package/dist/collection/components/ic-section-container/ic-section-container.spec.js +69 -0
  257. package/dist/collection/components/ic-section-container/ic-section-container.spec.js.map +1 -0
  258. package/dist/collection/components/ic-select/ic-select.e2e.js +1765 -0
  259. package/dist/collection/components/ic-select/ic-select.e2e.js.map +1 -0
  260. package/dist/collection/components/ic-select/ic-select.js +46 -45
  261. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  262. package/dist/collection/components/ic-select/ic-select.spec.js +1276 -0
  263. package/dist/collection/components/ic-select/ic-select.spec.js.map +1 -0
  264. package/dist/collection/components/ic-side-navigation/ic-side-navigation.css +0 -7
  265. package/dist/collection/components/ic-side-navigation/ic-side-navigation.e2e.js +412 -0
  266. package/dist/collection/components/ic-side-navigation/ic-side-navigation.e2e.js.map +1 -0
  267. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +67 -54
  268. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
  269. package/dist/collection/components/ic-side-navigation/ic-side-navigation.spec.js +470 -0
  270. package/dist/collection/components/ic-side-navigation/ic-side-navigation.spec.js.map +1 -0
  271. package/dist/collection/components/ic-skeleton/ic-skeleton.spec.js +89 -0
  272. package/dist/collection/components/ic-skeleton/ic-skeleton.spec.js.map +1 -0
  273. package/dist/collection/components/ic-status-tag/ic-status-tag.css +2 -6
  274. package/dist/collection/components/ic-status-tag/ic-status-tag.spec.js +43 -0
  275. package/dist/collection/components/ic-status-tag/ic-status-tag.spec.js.map +1 -0
  276. package/dist/collection/components/ic-step/ic-step.css +5 -5
  277. package/dist/collection/components/ic-step/ic-step.js +1 -1
  278. package/dist/collection/components/ic-step/ic-step.js.map +1 -1
  279. package/dist/collection/components/ic-step/ic-step.spec.js +176 -0
  280. package/dist/collection/components/ic-step/ic-step.spec.js.map +1 -0
  281. package/dist/collection/components/ic-stepper/ic-stepper.e2e.js +49 -0
  282. package/dist/collection/components/ic-stepper/ic-stepper.e2e.js.map +1 -0
  283. package/dist/collection/components/ic-stepper/ic-stepper.spec.js +706 -0
  284. package/dist/collection/components/ic-stepper/ic-stepper.spec.js.map +1 -0
  285. package/dist/collection/components/ic-switch/ic-switch.css +1 -1
  286. package/dist/collection/components/ic-switch/ic-switch.js +2 -1
  287. package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
  288. package/dist/collection/components/ic-switch/ic-switch.spec.js +104 -0
  289. package/dist/collection/components/ic-switch/ic-switch.spec.js.map +1 -0
  290. package/dist/collection/components/ic-tab/ic-tab.e2e.js +32 -0
  291. package/dist/collection/components/ic-tab/ic-tab.e2e.js.map +1 -0
  292. package/dist/collection/components/ic-tab/ic-tab.js +7 -1
  293. package/dist/collection/components/ic-tab/ic-tab.js.map +1 -1
  294. package/dist/collection/components/ic-tab/ic-tab.spec.js +159 -0
  295. package/dist/collection/components/ic-tab/ic-tab.spec.js.map +1 -0
  296. package/dist/collection/components/ic-tab-context/ic-tab-context.e2e.js +317 -0
  297. package/dist/collection/components/ic-tab-context/ic-tab-context.e2e.js.map +1 -0
  298. package/dist/collection/components/ic-tab-context/ic-tab-context.js +7 -5
  299. package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -1
  300. package/dist/collection/components/ic-tab-context/ic-tab-context.spec.js +369 -0
  301. package/dist/collection/components/ic-tab-context/ic-tab-context.spec.js.map +1 -0
  302. package/dist/collection/components/ic-tab-group/ic-tab-group.css +2 -2
  303. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +3 -1
  304. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js.map +1 -1
  305. package/dist/collection/components/ic-tab-panel/ic-tab-panel.spec.js +65 -0
  306. package/dist/collection/components/ic-tab-panel/ic-tab-panel.spec.js.map +1 -0
  307. package/dist/collection/components/ic-text-field/ic-text-field.css +0 -4
  308. package/dist/collection/components/ic-text-field/ic-text-field.e2e.js +98 -0
  309. package/dist/collection/components/ic-text-field/ic-text-field.e2e.js.map +1 -0
  310. package/dist/collection/components/ic-text-field/ic-text-field.input.spec.js +236 -0
  311. package/dist/collection/components/ic-text-field/ic-text-field.input.spec.js.map +1 -0
  312. package/dist/collection/components/ic-text-field/ic-text-field.js +16 -25
  313. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  314. package/dist/collection/components/ic-text-field/ic-text-field.textarea.spec.js +310 -0
  315. package/dist/collection/components/ic-text-field/ic-text-field.textarea.spec.js.map +1 -0
  316. package/dist/collection/components/ic-theme/ic-theme.e2e.js +72 -0
  317. package/dist/collection/components/ic-theme/ic-theme.e2e.js.map +1 -0
  318. package/dist/collection/components/ic-theme/ic-theme.spec.js +77 -0
  319. package/dist/collection/components/ic-theme/ic-theme.spec.js.map +1 -0
  320. package/dist/collection/components/ic-toast/ic-toast.e2e.js +82 -0
  321. package/dist/collection/components/ic-toast/ic-toast.e2e.js.map +1 -0
  322. package/dist/collection/components/ic-toast/ic-toast.spec.js +278 -0
  323. package/dist/collection/components/ic-toast/ic-toast.spec.js.map +1 -0
  324. package/dist/collection/components/ic-toast-region/ic-toast-region.spec.js +62 -0
  325. package/dist/collection/components/ic-toast-region/ic-toast-region.spec.js.map +1 -0
  326. package/dist/collection/components/ic-tooltip/ic-tooltip.css +22 -8
  327. package/dist/collection/components/ic-tooltip/ic-tooltip.e2e.js +115 -0
  328. package/dist/collection/components/ic-tooltip/ic-tooltip.e2e.js.map +1 -0
  329. package/dist/collection/components/ic-tooltip/ic-tooltip.js +26 -27
  330. package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
  331. package/dist/collection/components/ic-tooltip/ic-tooltip.spec.js +128 -0
  332. package/dist/collection/components/ic-tooltip/ic-tooltip.spec.js.map +1 -0
  333. package/dist/collection/components/ic-top-navigation/ic-top-navigation.e2e.js +42 -0
  334. package/dist/collection/components/ic-top-navigation/ic-top-navigation.e2e.js.map +1 -0
  335. package/dist/collection/components/ic-top-navigation/ic-top-navigation.mobile.e2e.js +242 -0
  336. package/dist/collection/components/ic-top-navigation/ic-top-navigation.mobile.e2e.js.map +1 -0
  337. package/dist/collection/components/ic-top-navigation/ic-top-navigation.spec.js +286 -0
  338. package/dist/collection/components/ic-top-navigation/ic-top-navigation.spec.js.map +1 -0
  339. package/dist/collection/components/ic-typography/ic-typography.css +39 -0
  340. package/dist/collection/components/ic-typography/ic-typography.e2e.js +36 -0
  341. package/dist/collection/components/ic-typography/ic-typography.e2e.js.map +1 -0
  342. package/dist/collection/components/ic-typography/ic-typography.js +120 -2
  343. package/dist/collection/components/ic-typography/ic-typography.js.map +1 -1
  344. package/dist/collection/components/ic-typography/ic-typography.spec.js +296 -0
  345. package/dist/collection/components/ic-typography/ic-typography.spec.js.map +1 -0
  346. package/dist/collection/testspec.setup.js +11 -0
  347. package/dist/collection/testspec.setup.js.map +1 -1
  348. package/dist/collection/utils/helpers.js +23 -24
  349. package/dist/collection/utils/helpers.js.map +1 -1
  350. package/dist/components/helpers.js +24 -25
  351. package/dist/components/helpers.js.map +1 -1
  352. package/dist/components/ic-alert.js +1 -113
  353. package/dist/components/ic-alert.js.map +1 -1
  354. package/dist/components/ic-alert2.js +117 -0
  355. package/dist/components/ic-alert2.js.map +1 -0
  356. package/dist/components/ic-back-to-top.js +2 -2
  357. package/dist/components/ic-breadcrumb-group.js +15 -15
  358. package/dist/components/ic-breadcrumb-group.js.map +1 -1
  359. package/dist/components/ic-breadcrumb2.js +5 -4
  360. package/dist/components/ic-breadcrumb2.js.map +1 -1
  361. package/dist/components/ic-button2.js +5 -7
  362. package/dist/components/ic-button2.js.map +1 -1
  363. package/dist/components/ic-card.js +4 -3
  364. package/dist/components/ic-card.js.map +1 -1
  365. package/dist/components/ic-checkbox-group.js +5 -2
  366. package/dist/components/ic-checkbox-group.js.map +1 -1
  367. package/dist/components/ic-checkbox.js +7 -5
  368. package/dist/components/ic-checkbox.js.map +1 -1
  369. package/dist/components/ic-chip.js +5 -2
  370. package/dist/components/ic-chip.js.map +1 -1
  371. package/dist/components/ic-classification-banner.js +1 -1
  372. package/dist/components/ic-data-entity.js +1 -1
  373. package/dist/components/ic-data-row.js +2 -2
  374. package/dist/components/ic-dialog.d.ts +11 -0
  375. package/dist/components/ic-dialog.js +357 -0
  376. package/dist/components/ic-dialog.js.map +1 -0
  377. package/dist/components/ic-divider2.js +2 -2
  378. package/dist/components/ic-footer-link-group.js +2 -2
  379. package/dist/components/ic-footer-link.js +2 -2
  380. package/dist/components/ic-footer.js +4 -4
  381. package/dist/components/ic-footer.js.map +1 -1
  382. package/dist/components/ic-hero.js +2 -2
  383. package/dist/components/ic-horizontal-scroll2.js +2 -2
  384. package/dist/components/ic-input-component-container2.js +3 -3
  385. package/dist/components/ic-input-component-container2.js.map +1 -1
  386. package/dist/components/ic-input-container2.js +1 -1
  387. package/dist/components/ic-input-label2.js +2 -2
  388. package/dist/components/ic-input-validation2.js +3 -3
  389. package/dist/components/ic-input-validation2.js.map +1 -1
  390. package/dist/components/ic-link2.js +2 -2
  391. package/dist/components/ic-loading-indicator2.js +2 -2
  392. package/dist/components/ic-loading-indicator2.js.map +1 -1
  393. package/dist/components/ic-menu-group.js +1 -1
  394. package/dist/components/ic-menu-item2.js +6 -4
  395. package/dist/components/ic-menu-item2.js.map +1 -1
  396. package/dist/components/ic-menu2.js +69 -27
  397. package/dist/components/ic-menu2.js.map +1 -1
  398. package/dist/components/ic-navigation-button.js +2 -2
  399. package/dist/components/ic-navigation-group.js +50 -21
  400. package/dist/components/ic-navigation-group.js.map +1 -1
  401. package/dist/components/ic-navigation-item.js +3 -3
  402. package/dist/components/ic-navigation-item.js.map +1 -1
  403. package/dist/components/ic-navigation-menu2.js +2 -8
  404. package/dist/components/ic-navigation-menu2.js.map +1 -1
  405. package/dist/components/ic-page-header.js +12 -15
  406. package/dist/components/ic-page-header.js.map +1 -1
  407. package/dist/components/ic-pagination-item2.js +5 -1
  408. package/dist/components/ic-pagination-item2.js.map +1 -1
  409. package/dist/components/ic-pagination.js +17 -4
  410. package/dist/components/ic-pagination.js.map +1 -1
  411. package/dist/components/ic-popover-menu.js +7 -6
  412. package/dist/components/ic-popover-menu.js.map +1 -1
  413. package/dist/components/ic-radio-group.js +16 -5
  414. package/dist/components/ic-radio-group.js.map +1 -1
  415. package/dist/components/ic-radio-option.js +5 -11
  416. package/dist/components/ic-radio-option.js.map +1 -1
  417. package/dist/components/ic-search-bar.js +6 -3
  418. package/dist/components/ic-search-bar.js.map +1 -1
  419. package/dist/components/ic-section-container2.js +1 -1
  420. package/dist/components/ic-select.js +35 -34
  421. package/dist/components/ic-select.js.map +1 -1
  422. package/dist/components/ic-side-navigation.js +70 -57
  423. package/dist/components/ic-side-navigation.js.map +1 -1
  424. package/dist/components/ic-skeleton.js +1 -1
  425. package/dist/components/ic-status-tag.js +3 -3
  426. package/dist/components/ic-status-tag.js.map +1 -1
  427. package/dist/components/ic-step.js +3 -3
  428. package/dist/components/ic-step.js.map +1 -1
  429. package/dist/components/ic-stepper.js +2 -2
  430. package/dist/components/ic-switch.js +4 -3
  431. package/dist/components/ic-switch.js.map +1 -1
  432. package/dist/components/ic-tab-context.js +8 -6
  433. package/dist/components/ic-tab-context.js.map +1 -1
  434. package/dist/components/ic-tab-group.js +3 -3
  435. package/dist/components/ic-tab-group.js.map +1 -1
  436. package/dist/components/ic-tab-panel.js +4 -2
  437. package/dist/components/ic-tab-panel.js.map +1 -1
  438. package/dist/components/ic-tab.js +8 -2
  439. package/dist/components/ic-tab.js.map +1 -1
  440. package/dist/components/ic-text-field2.js +9 -18
  441. package/dist/components/ic-text-field2.js.map +1 -1
  442. package/dist/components/ic-theme.js +2 -2
  443. package/dist/components/ic-toast-region.js +1 -1
  444. package/dist/components/ic-toast.js +2 -2
  445. package/dist/components/ic-tooltip2.js +29 -30
  446. package/dist/components/ic-tooltip2.js.map +1 -1
  447. package/dist/components/ic-top-navigation.js +2 -2
  448. package/dist/components/ic-typography2.js +100 -5
  449. package/dist/components/ic-typography2.js.map +1 -1
  450. package/dist/components/index.d.ts +9 -60
  451. package/dist/components/index.js +1 -58
  452. package/dist/components/index.js.map +1 -1
  453. package/dist/core/core.css +41 -2
  454. package/dist/core/core.esm.js +1 -1
  455. package/dist/core/core.esm.js.map +1 -1
  456. package/dist/core/index.esm.js.map +1 -1
  457. package/dist/core/{p-de45134c.entry.js → p-04d626ee.entry.js} +2 -2
  458. package/dist/core/p-04d626ee.entry.js.map +1 -0
  459. package/dist/core/p-06321d19.js.map +1 -1
  460. package/dist/core/{p-0575a77f.entry.js → p-0d325b4c.entry.js} +2 -2
  461. package/dist/core/p-0d325b4c.entry.js.map +1 -0
  462. package/dist/core/{p-6a77992e.entry.js → p-249af8ab.entry.js} +2 -2
  463. package/dist/core/p-249af8ab.entry.js.map +1 -0
  464. package/dist/core/{p-d5d9923a.entry.js → p-29d9fea1.entry.js} +2 -2
  465. package/dist/core/p-29d9fea1.entry.js.map +1 -0
  466. package/dist/core/p-2e051e1e.entry.js +2 -0
  467. package/dist/core/p-2e051e1e.entry.js.map +1 -0
  468. package/dist/core/{p-3a67718c.entry.js → p-2ec49a7e.entry.js} +2 -2
  469. package/dist/core/p-2ec49a7e.entry.js.map +1 -0
  470. package/dist/core/{p-223a214f.entry.js → p-3114a4b3.entry.js} +2 -2
  471. package/dist/core/p-3114a4b3.entry.js.map +1 -0
  472. package/dist/core/p-311c38b3.entry.js +2 -0
  473. package/dist/core/p-311c38b3.entry.js.map +1 -0
  474. package/dist/core/p-31ccdd50.entry.js +2 -0
  475. package/dist/core/p-31ccdd50.entry.js.map +1 -0
  476. package/dist/core/p-31e80ccb.entry.js +2 -0
  477. package/dist/core/p-31e80ccb.entry.js.map +1 -0
  478. package/dist/core/p-323bce82.entry.js +2 -0
  479. package/dist/core/p-323bce82.entry.js.map +1 -0
  480. package/dist/core/{p-52fd3533.entry.js → p-3918c27a.entry.js} +2 -2
  481. package/dist/core/p-3918c27a.entry.js.map +1 -0
  482. package/dist/core/p-3ce0aa02.entry.js +2 -0
  483. package/dist/core/p-3ce0aa02.entry.js.map +1 -0
  484. package/dist/core/p-44512ebe.js.map +1 -1
  485. package/dist/core/p-4a385752.js +2 -0
  486. package/dist/core/p-4a385752.js.map +1 -0
  487. package/dist/core/{p-312c10b0.entry.js → p-4c4fa082.entry.js} +2 -2
  488. package/dist/core/p-4c4fa082.entry.js.map +1 -0
  489. package/dist/core/{p-fc7dce3d.entry.js → p-4f7b34ed.entry.js} +2 -2
  490. package/dist/core/p-4f7b34ed.entry.js.map +1 -0
  491. package/dist/core/p-524557bc.entry.js +2 -0
  492. package/dist/core/p-524557bc.entry.js.map +1 -0
  493. package/dist/core/p-551986d1.entry.js +2 -0
  494. package/dist/core/p-551986d1.entry.js.map +1 -0
  495. package/dist/core/p-57460fa3.entry.js +2 -0
  496. package/dist/core/p-57460fa3.entry.js.map +1 -0
  497. package/dist/core/p-5fcd965f.entry.js +2 -0
  498. package/dist/core/p-5fcd965f.entry.js.map +1 -0
  499. package/dist/core/{p-e41e701a.entry.js → p-617950f8.entry.js} +2 -2
  500. package/dist/core/p-617950f8.entry.js.map +1 -0
  501. package/dist/core/{p-e384aaee.entry.js → p-68308ecd.entry.js} +2 -2
  502. package/dist/core/p-68308ecd.entry.js.map +1 -0
  503. package/dist/core/p-6c76c6ba.entry.js +2 -0
  504. package/dist/core/p-6c76c6ba.entry.js.map +1 -0
  505. package/dist/core/p-6f57b13c.js.map +1 -1
  506. package/dist/core/p-79914e0c.entry.js +2 -0
  507. package/dist/core/p-79914e0c.entry.js.map +1 -0
  508. package/dist/core/p-820e4c17.entry.js +2 -0
  509. package/dist/core/p-820e4c17.entry.js.map +1 -0
  510. package/dist/core/{p-3fb307e6.entry.js → p-84c8c4c7.entry.js} +2 -2
  511. package/dist/core/p-84c8c4c7.entry.js.map +1 -0
  512. package/dist/core/p-8911656b.entry.js +2 -0
  513. package/dist/core/p-8911656b.entry.js.map +1 -0
  514. package/dist/core/p-8c7f4343.js.map +1 -1
  515. package/dist/core/p-8d4f7027.js.map +1 -1
  516. package/dist/core/p-97286148.entry.js +2 -0
  517. package/dist/core/p-97286148.entry.js.map +1 -0
  518. package/dist/core/{p-454b1ecd.entry.js → p-97fd0cc1.entry.js} +2 -2
  519. package/dist/core/p-97fd0cc1.entry.js.map +1 -0
  520. package/dist/core/p-a74b8476.entry.js +2 -0
  521. package/dist/core/p-a74b8476.entry.js.map +1 -0
  522. package/dist/core/{p-9413d639.entry.js → p-a9de9aba.entry.js} +2 -2
  523. package/dist/core/p-a9de9aba.entry.js.map +1 -0
  524. package/dist/core/p-ad6c4c02.entry.js +2 -0
  525. package/dist/core/p-ad6c4c02.entry.js.map +1 -0
  526. package/dist/core/{p-a0f4e641.entry.js → p-aeef3c9d.entry.js} +2 -2
  527. package/dist/core/p-aeef3c9d.entry.js.map +1 -0
  528. package/dist/core/p-b03bd9c6.entry.js +2 -0
  529. package/dist/core/p-b03bd9c6.entry.js.map +1 -0
  530. package/dist/core/p-b0685167.entry.js +2 -0
  531. package/dist/core/p-b0685167.entry.js.map +1 -0
  532. package/dist/core/p-b35a9909.entry.js +2 -0
  533. package/dist/core/p-b35a9909.entry.js.map +1 -0
  534. package/dist/core/p-bad10f6c.entry.js +2 -0
  535. package/dist/core/p-bad10f6c.entry.js.map +1 -0
  536. package/dist/core/{p-002a63e9.entry.js → p-bda4414e.entry.js} +2 -2
  537. package/dist/core/p-bda4414e.entry.js.map +1 -0
  538. package/dist/core/p-c0333310.entry.js +2 -0
  539. package/dist/core/p-c0333310.entry.js.map +1 -0
  540. package/dist/core/p-c3f9fb1d.entry.js +2 -0
  541. package/dist/core/p-c3f9fb1d.entry.js.map +1 -0
  542. package/dist/core/{p-5d077cf7.entry.js → p-ca6820dc.entry.js} +2 -2
  543. package/dist/core/p-ca6820dc.entry.js.map +1 -0
  544. package/dist/core/p-d6694b41.entry.js +2 -0
  545. package/dist/core/p-d6694b41.entry.js.map +1 -0
  546. package/dist/core/{p-1eb0992b.entry.js → p-da4c1409.entry.js} +2 -2
  547. package/dist/core/p-da4c1409.entry.js.map +1 -0
  548. package/dist/core/p-dbe06c3b.entry.js +2 -0
  549. package/dist/core/p-dbe06c3b.entry.js.map +1 -0
  550. package/dist/core/{p-28bc3bf0.entry.js → p-df67b151.entry.js} +2 -2
  551. package/dist/core/p-df67b151.entry.js.map +1 -0
  552. package/dist/core/{p-546b620e.entry.js → p-dfd31e28.entry.js} +2 -2
  553. package/dist/core/p-dfd31e28.entry.js.map +1 -0
  554. package/dist/core/{p-dc0b9e80.entry.js → p-e3e6308b.entry.js} +2 -2
  555. package/dist/core/p-e3e6308b.entry.js.map +1 -0
  556. package/dist/core/p-ea233813.entry.js +2 -0
  557. package/dist/core/p-ea233813.entry.js.map +1 -0
  558. package/dist/core/p-ec26fc38.js.map +1 -1
  559. package/dist/core/{p-f3e10149.entry.js → p-ecdcae46.entry.js} +2 -2
  560. package/dist/core/p-ecdcae46.entry.js.map +1 -0
  561. package/dist/core/p-ef91c17e.entry.js +2 -0
  562. package/dist/core/p-ef91c17e.entry.js.map +1 -0
  563. package/dist/core/{p-a33a04b2.entry.js → p-f0714432.entry.js} +2 -2
  564. package/dist/core/p-f0714432.entry.js.map +1 -0
  565. package/dist/core/p-f3053872.js +3 -0
  566. package/dist/core/p-f3053872.js.map +1 -0
  567. package/dist/core/{p-47b0ed42.entry.js → p-f381e93f.entry.js} +2 -2
  568. package/dist/core/p-f381e93f.entry.js.map +1 -0
  569. package/dist/core/p-fd482bd7.entry.js +2 -0
  570. package/dist/core/p-fd482bd7.entry.js.map +1 -0
  571. package/dist/core/p-fe2c4009.entry.js +2 -0
  572. package/dist/core/p-fe2c4009.entry.js.map +1 -0
  573. package/dist/esm/core.js +7 -3
  574. package/dist/esm/core.js.map +1 -1
  575. package/dist/esm/{helpers-b2b47a7d.js → helpers-8e57082b.js} +25 -26
  576. package/dist/esm/helpers-8e57082b.js.map +1 -0
  577. package/dist/esm/ic-alert.entry.js +2 -2
  578. package/dist/esm/ic-back-to-top.entry.js +2 -2
  579. package/dist/esm/ic-breadcrumb-group.entry.js +15 -15
  580. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  581. package/dist/esm/ic-breadcrumb.entry.js +6 -5
  582. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  583. package/dist/esm/ic-button_3.entry.js +33 -36
  584. package/dist/esm/ic-button_3.entry.js.map +1 -1
  585. package/dist/esm/ic-card.entry.js +4 -3
  586. package/dist/esm/ic-card.entry.js.map +1 -1
  587. package/dist/esm/ic-checkbox-group.entry.js +5 -2
  588. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  589. package/dist/esm/ic-checkbox.entry.js +7 -5
  590. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  591. package/dist/esm/ic-chip.entry.js +5 -2
  592. package/dist/esm/ic-chip.entry.js.map +1 -1
  593. package/dist/esm/ic-classification-banner.entry.js +1 -1
  594. package/dist/esm/ic-data-entity.entry.js +1 -1
  595. package/dist/esm/ic-data-row.entry.js +2 -2
  596. package/dist/esm/ic-dialog.entry.js +292 -0
  597. package/dist/esm/ic-dialog.entry.js.map +1 -0
  598. package/dist/esm/ic-divider.entry.js +2 -2
  599. package/dist/esm/ic-footer-link-group.entry.js +2 -2
  600. package/dist/esm/ic-footer-link.entry.js +2 -2
  601. package/dist/esm/ic-footer.entry.js +4 -4
  602. package/dist/esm/ic-footer.entry.js.map +1 -1
  603. package/dist/esm/ic-hero.entry.js +2 -2
  604. package/dist/esm/ic-horizontal-scroll.entry.js +2 -2
  605. package/dist/esm/ic-input-component-container_3.entry.js +69 -27
  606. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  607. package/dist/esm/ic-input-label_2.entry.js +3 -3
  608. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  609. package/dist/esm/ic-link.entry.js +2 -2
  610. package/dist/esm/ic-menu-group.entry.js +1 -1
  611. package/dist/esm/ic-menu-item.entry.js +6 -4
  612. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  613. package/dist/esm/ic-navigation-button.entry.js +2 -2
  614. package/dist/esm/ic-navigation-group.entry.js +50 -21
  615. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  616. package/dist/esm/ic-navigation-item.entry.js +3 -3
  617. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  618. package/dist/esm/ic-navigation-menu.entry.js +2 -8
  619. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  620. package/dist/esm/ic-page-header.entry.js +12 -15
  621. package/dist/esm/ic-page-header.entry.js.map +1 -1
  622. package/dist/esm/ic-pagination-item.entry.js +6 -1
  623. package/dist/esm/ic-pagination-item.entry.js.map +1 -1
  624. package/dist/esm/ic-pagination.entry.js +14 -2
  625. package/dist/esm/ic-pagination.entry.js.map +1 -1
  626. package/dist/esm/ic-popover-menu.entry.js +7 -6
  627. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  628. package/dist/esm/ic-radio-group.entry.js +16 -5
  629. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  630. package/dist/esm/ic-radio-option.entry.js +5 -11
  631. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  632. package/dist/esm/ic-search-bar.entry.js +6 -3
  633. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  634. package/dist/esm/ic-section-container.entry.js +1 -1
  635. package/dist/esm/ic-select.entry.js +35 -34
  636. package/dist/esm/ic-select.entry.js.map +1 -1
  637. package/dist/esm/ic-side-navigation.entry.js +70 -57
  638. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  639. package/dist/esm/ic-skeleton.entry.js +1 -1
  640. package/dist/esm/ic-status-tag.entry.js +3 -3
  641. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  642. package/dist/esm/ic-step.entry.js +3 -3
  643. package/dist/esm/ic-step.entry.js.map +1 -1
  644. package/dist/esm/ic-stepper.entry.js +2 -2
  645. package/dist/esm/ic-switch.entry.js +4 -3
  646. package/dist/esm/ic-switch.entry.js.map +1 -1
  647. package/dist/esm/ic-tab-context.entry.js +8 -6
  648. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  649. package/dist/esm/ic-tab-group.entry.js +3 -3
  650. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  651. package/dist/esm/ic-tab-panel.entry.js +4 -2
  652. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  653. package/dist/esm/ic-tab.entry.js +8 -2
  654. package/dist/esm/ic-tab.entry.js.map +1 -1
  655. package/dist/esm/ic-text-field.entry.js +9 -18
  656. package/dist/esm/ic-text-field.entry.js.map +1 -1
  657. package/dist/esm/ic-theme.entry.js +2 -2
  658. package/dist/esm/ic-toast-region.entry.js +1 -1
  659. package/dist/esm/ic-toast.entry.js +2 -2
  660. package/dist/esm/ic-top-navigation.entry.js +2 -2
  661. package/dist/esm/ic-typography.entry.js +96 -4
  662. package/dist/esm/ic-typography.entry.js.map +1 -1
  663. package/dist/esm/{index-3b144b17.js → index-a77644e1.js} +222 -44
  664. package/dist/esm/index-a77644e1.js.map +1 -0
  665. package/dist/esm/loader.js +4 -3
  666. package/dist/esm/loader.js.map +1 -1
  667. package/dist/esm/polyfills/css-shim.js +1 -1
  668. package/dist/types/components/ic-breadcrumb/ic-breadcrumb.types.d.ts +1 -1
  669. package/dist/types/components/ic-breadcrumb-group/ic-breadcrumb-group.d.ts +3 -0
  670. package/dist/types/components/ic-button/ic-button.types.d.ts +4 -4
  671. package/dist/types/components/ic-checkbox/ic-checkbox.d.ts +1 -0
  672. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +1 -0
  673. package/dist/types/components/ic-chip/ic-chip.d.ts +1 -0
  674. package/dist/types/components/ic-chip/ic-chip.types.d.ts +2 -2
  675. package/dist/types/components/ic-classification-banner/ic-classification-banner.types.d.ts +1 -1
  676. package/dist/types/components/ic-dialog/ic-dialog.d.ts +123 -0
  677. package/dist/types/components/ic-dialog/ic-dialog.test.a11y.d.ts +1 -0
  678. package/dist/types/components/ic-footer/ic-footer.types.d.ts +1 -1
  679. package/dist/types/components/ic-footer-link/ic-footer-link.d.ts +1 -1
  680. package/dist/types/components/ic-hero/ic-hero.types.d.ts +1 -1
  681. package/dist/types/components/ic-input-validation/ic-input-validation.types.d.ts +1 -1
  682. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.types.d.ts +2 -2
  683. package/dist/types/components/ic-menu/ic-menu.d.ts +7 -0
  684. package/dist/types/components/ic-menu-item/ic-menu-item.types.d.ts +1 -1
  685. package/dist/types/components/ic-navigation-button/ic-navigation-button.types.d.ts +1 -1
  686. package/dist/types/components/ic-navigation-group/ic-navigation-group.d.ts +4 -1
  687. package/dist/types/components/ic-pagination/ic-pagination.d.ts +8 -1
  688. package/dist/types/components/ic-pagination/ic-pagination.types.d.ts +1 -1
  689. package/dist/types/components/ic-pagination-item/ic-pagination-item.d.ts +2 -1
  690. package/dist/types/components/ic-pagination-item/ic-pagination-item.types.d.ts +1 -1
  691. package/dist/types/components/ic-popover-menu/ic-popover-menu.d.ts +1 -0
  692. package/dist/types/components/ic-radio-group/ic-radio-group.d.ts +4 -3
  693. package/dist/types/components/ic-radio-group/ic-radio-group.types.d.ts +7 -0
  694. package/dist/types/components/ic-radio-option/ic-radio-option.d.ts +1 -3
  695. package/dist/types/components/ic-search-bar/ic-search-bar.d.ts +1 -1
  696. package/dist/types/components/ic-search-bar/ic-search-bar.types.d.ts +1 -1
  697. package/dist/types/components/ic-select/ic-select.d.ts +14 -14
  698. package/dist/types/components/ic-side-navigation/ic-side-navigation.d.ts +1 -0
  699. package/dist/types/components/ic-skeleton/ic-skeleton.types.d.ts +1 -1
  700. package/dist/types/components/ic-status-tag/ic-status-tag.types.d.ts +2 -2
  701. package/dist/types/components/ic-step/ic-step.types.d.ts +3 -3
  702. package/dist/types/components/ic-stepper/ic-stepper.types.d.ts +1 -1
  703. package/dist/types/components/ic-tab/ic-tab.d.ts +1 -0
  704. package/dist/types/components/ic-text-field/ic-text-field.d.ts +1 -1
  705. package/dist/types/components/ic-text-field/ic-text-field.types.d.ts +3 -3
  706. package/dist/types/components/ic-toast/ic-toast.types.d.ts +1 -1
  707. package/dist/types/components/ic-tooltip/ic-tooltip.types.d.ts +1 -1
  708. package/dist/types/components/ic-typography/ic-typography.d.ts +27 -0
  709. package/dist/types/components.d.ts +222 -42
  710. package/dist/types/stencil-public-runtime.d.ts +72 -15
  711. package/dist/types/testspec.setup.d.ts +9 -0
  712. package/dist/types/utils/helpers.d.ts +1 -0
  713. package/dist/types/utils/types.d.ts +22 -22
  714. package/hydrate/index.d.ts +17 -16
  715. package/hydrate/index.js +920 -384
  716. package/loader/index.d.ts +9 -0
  717. package/package.json +5 -5
  718. package/dist/cjs/helpers-2021e212.js.map +0 -1
  719. package/dist/cjs/index-a62312a7.js.map +0 -1
  720. package/dist/core/p-002a63e9.entry.js.map +0 -1
  721. package/dist/core/p-0575a77f.entry.js.map +0 -1
  722. package/dist/core/p-0a41c3cb.entry.js +0 -2
  723. package/dist/core/p-0a41c3cb.entry.js.map +0 -1
  724. package/dist/core/p-100dbcec.entry.js +0 -2
  725. package/dist/core/p-100dbcec.entry.js.map +0 -1
  726. package/dist/core/p-14835d6f.entry.js +0 -2
  727. package/dist/core/p-14835d6f.entry.js.map +0 -1
  728. package/dist/core/p-1eb0992b.entry.js.map +0 -1
  729. package/dist/core/p-223a214f.entry.js.map +0 -1
  730. package/dist/core/p-276f7ecb.entry.js +0 -2
  731. package/dist/core/p-276f7ecb.entry.js.map +0 -1
  732. package/dist/core/p-28bc3bf0.entry.js.map +0 -1
  733. package/dist/core/p-2e949135.entry.js +0 -2
  734. package/dist/core/p-2e949135.entry.js.map +0 -1
  735. package/dist/core/p-312c10b0.entry.js.map +0 -1
  736. package/dist/core/p-3845b769.entry.js +0 -2
  737. package/dist/core/p-3845b769.entry.js.map +0 -1
  738. package/dist/core/p-3a67718c.entry.js.map +0 -1
  739. package/dist/core/p-3c23f963.entry.js +0 -2
  740. package/dist/core/p-3c23f963.entry.js.map +0 -1
  741. package/dist/core/p-3dc2ff7b.entry.js +0 -2
  742. package/dist/core/p-3dc2ff7b.entry.js.map +0 -1
  743. package/dist/core/p-3dea2867.js +0 -2
  744. package/dist/core/p-3dea2867.js.map +0 -1
  745. package/dist/core/p-3e5eb873.entry.js +0 -2
  746. package/dist/core/p-3e5eb873.entry.js.map +0 -1
  747. package/dist/core/p-3fb307e6.entry.js.map +0 -1
  748. package/dist/core/p-454b1ecd.entry.js.map +0 -1
  749. package/dist/core/p-4595f48f.entry.js +0 -2
  750. package/dist/core/p-4595f48f.entry.js.map +0 -1
  751. package/dist/core/p-47b0ed42.entry.js.map +0 -1
  752. package/dist/core/p-4b87445b.entry.js +0 -2
  753. package/dist/core/p-4b87445b.entry.js.map +0 -1
  754. package/dist/core/p-4c8fcfe6.entry.js +0 -2
  755. package/dist/core/p-4c8fcfe6.entry.js.map +0 -1
  756. package/dist/core/p-52fd3533.entry.js.map +0 -1
  757. package/dist/core/p-546b620e.entry.js.map +0 -1
  758. package/dist/core/p-56fe91ad.entry.js +0 -2
  759. package/dist/core/p-56fe91ad.entry.js.map +0 -1
  760. package/dist/core/p-589f6dd3.js +0 -3
  761. package/dist/core/p-589f6dd3.js.map +0 -1
  762. package/dist/core/p-5d077cf7.entry.js.map +0 -1
  763. package/dist/core/p-6a77992e.entry.js.map +0 -1
  764. package/dist/core/p-6b39f8b4.entry.js +0 -2
  765. package/dist/core/p-6b39f8b4.entry.js.map +0 -1
  766. package/dist/core/p-80eff050.entry.js +0 -2
  767. package/dist/core/p-80eff050.entry.js.map +0 -1
  768. package/dist/core/p-8780890e.entry.js +0 -2
  769. package/dist/core/p-8780890e.entry.js.map +0 -1
  770. package/dist/core/p-895bda21.entry.js +0 -2
  771. package/dist/core/p-895bda21.entry.js.map +0 -1
  772. package/dist/core/p-92c4fa7f.entry.js +0 -2
  773. package/dist/core/p-92c4fa7f.entry.js.map +0 -1
  774. package/dist/core/p-9413d639.entry.js.map +0 -1
  775. package/dist/core/p-a0f4e641.entry.js.map +0 -1
  776. package/dist/core/p-a33a04b2.entry.js.map +0 -1
  777. package/dist/core/p-a5bee11f.entry.js +0 -2
  778. package/dist/core/p-a5bee11f.entry.js.map +0 -1
  779. package/dist/core/p-a7fdb9a8.entry.js +0 -2
  780. package/dist/core/p-a7fdb9a8.entry.js.map +0 -1
  781. package/dist/core/p-b61e76e2.entry.js +0 -2
  782. package/dist/core/p-b61e76e2.entry.js.map +0 -1
  783. package/dist/core/p-c0813424.entry.js +0 -2
  784. package/dist/core/p-c0813424.entry.js.map +0 -1
  785. package/dist/core/p-cb437317.entry.js +0 -2
  786. package/dist/core/p-cb437317.entry.js.map +0 -1
  787. package/dist/core/p-d5d9923a.entry.js.map +0 -1
  788. package/dist/core/p-dc0b9e80.entry.js.map +0 -1
  789. package/dist/core/p-de45134c.entry.js.map +0 -1
  790. package/dist/core/p-de891d3d.entry.js +0 -2
  791. package/dist/core/p-de891d3d.entry.js.map +0 -1
  792. package/dist/core/p-e0f24ccd.entry.js +0 -2
  793. package/dist/core/p-e0f24ccd.entry.js.map +0 -1
  794. package/dist/core/p-e384aaee.entry.js.map +0 -1
  795. package/dist/core/p-e41e701a.entry.js.map +0 -1
  796. package/dist/core/p-e839e5dc.entry.js +0 -2
  797. package/dist/core/p-e839e5dc.entry.js.map +0 -1
  798. package/dist/core/p-ea526b54.entry.js +0 -2
  799. package/dist/core/p-ea526b54.entry.js.map +0 -1
  800. package/dist/core/p-ec8b228c.entry.js +0 -2
  801. package/dist/core/p-ec8b228c.entry.js.map +0 -1
  802. package/dist/core/p-f3e10149.entry.js.map +0 -1
  803. package/dist/core/p-fc7dce3d.entry.js.map +0 -1
  804. package/dist/esm/helpers-b2b47a7d.js.map +0 -1
  805. package/dist/esm/index-3b144b17.js.map +0 -1
@@ -0,0 +1,1054 @@
1
+ import { newE2EPage } from "@stencil/core/testing";
2
+ beforeAll(() => {
3
+ jest.spyOn(console, "warn").mockImplementation(jest.fn());
4
+ });
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();
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();
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",
64
+ });
65
+ });
66
+ it("should invoke submit event when search textfield is in a form", async () => {
67
+ const page = await newE2EPage();
68
+ await page.setContent(`
69
+ <form>
70
+ <ic-search-bar label="Test Label" name="search01"></ic-search-bar>
71
+ </form>
72
+ <p id="text">idle</p>
73
+ <script>
74
+ document.querySelector('form').addEventListener('submit', (ev) => {
75
+ ev.preventDefault();
76
+ document.querySelector('#text').innerText = 'submitted';
77
+ })
78
+ </script>
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",
88
+ });
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(`
95
+ <ic-search-bar label="Test Label"></ic-search-bar>
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 focus on input when menu is initially displayed", async () => {
112
+ const page = await newE2EPage();
113
+ await page.setContent(`
114
+ <ic-search-bar label="Test Label"></ic-search-bar>
115
+ `);
116
+ await page.waitForChanges();
117
+ const searchBar = await page.find("ic-search-bar");
118
+ searchBar.setProperty("options", options);
119
+ await page.waitForChanges();
120
+ await focusAndTypeIntoInput("ba", page);
121
+ await page.waitForChanges();
122
+ await page.waitForTimeout(500);
123
+ const menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
124
+ const activeElId = await page.$eval("ic-search-bar", (el) => {
125
+ const textfield = el.shadowRoot.querySelector("ic-text-field");
126
+ return textfield.shadowRoot.activeElement.id;
127
+ });
128
+ expect(await menu.isVisible()).toBeTruthy();
129
+ expect(activeElId).toBe("ic-search-bar-input-0");
130
+ });
131
+ it("should remove menu when input value is cleared", async () => {
132
+ const page = await newE2EPage();
133
+ await page.setContent(`
134
+ <ic-search-bar label="Test Label"></ic-search-bar>
135
+ `);
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.waitForTimeout(500);
141
+ let menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
142
+ expect(await menu.isVisible()).toBeTruthy();
143
+ const clearButton = await page.find("ic-search-bar >>> ic-text-field .clear-button");
144
+ await clearButton.click();
145
+ menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
146
+ expect(menu).toBeNull();
147
+ });
148
+ it("should not update value when options are highlighted", async () => {
149
+ const page = await newE2EPage();
150
+ await page.setContent(`
151
+ <ic-search-bar label="Test Label"></ic-search-bar>
152
+ `);
153
+ const searchBar = await page.find("ic-search-bar");
154
+ searchBar.setProperty("options", options);
155
+ await page.waitForChanges();
156
+ await focusAndTypeIntoInput("ba", page);
157
+ await page.waitForChanges();
158
+ await searchBar.press("ArrowDown");
159
+ await page.waitForChanges();
160
+ expect(await searchBar.getProperty("value")).toBe("ba");
161
+ });
162
+ it("should focus on menu on ArrowDown from input", async () => {
163
+ const page = await newE2EPage();
164
+ await page.setContent(`
165
+ <ic-search-bar label="Test Label"></ic-search-bar>
166
+ `);
167
+ const searchBar = await page.find("ic-search-bar");
168
+ searchBar.setProperty("options", options);
169
+ await page.waitForChanges();
170
+ await focusAndTypeIntoInput("ba", page);
171
+ await page.waitForChanges();
172
+ await searchBar.press("ArrowDown");
173
+ await page.waitForChanges();
174
+ const activeElId = await page.$eval("ic-search-bar", (el) => {
175
+ return el.shadowRoot.activeElement.id;
176
+ });
177
+ expect(activeElId).toBe("ic-search-bar-input-0-menu-qux");
178
+ });
179
+ it("should focus on menu on ArrowUp from input", async () => {
180
+ const page = await newE2EPage();
181
+ await page.setContent(`
182
+ <ic-search-bar label="Test Label"></ic-search-bar>
183
+ `);
184
+ const searchBar = await page.find("ic-search-bar");
185
+ searchBar.setProperty("options", options);
186
+ await page.waitForChanges();
187
+ await focusAndTypeIntoInput("ba", page);
188
+ await page.waitForChanges();
189
+ await searchBar.press("ArrowUp");
190
+ await page.waitForChanges();
191
+ const activeElId = await page.$eval("ic-search-bar", (el) => {
192
+ return el.shadowRoot.activeElement.id;
193
+ });
194
+ expect(activeElId).toBe("ic-search-bar-input-0-menu-qux");
195
+ });
196
+ it("should highlight first and last options using Home and End and move focus to menu", async () => {
197
+ const page = await newE2EPage();
198
+ await page.setContent(`
199
+ <ic-search-bar label="Test Label"></ic-search-bar>
200
+ `);
201
+ const searchBar = await page.find("ic-search-bar");
202
+ searchBar.setProperty("options", options);
203
+ await page.waitForChanges();
204
+ await focusAndTypeIntoInput("ba", page);
205
+ await page.waitForChanges();
206
+ await page.keyboard.press("End");
207
+ await page.waitForChanges();
208
+ let menuOptions = await page.findAll("ic-search-bar >>> ic-text-field ic-menu li");
209
+ expect(menuOptions[0]).not.toHaveClass("focused-option");
210
+ expect(menuOptions[1]).toHaveClass("focused-option");
211
+ let activeElId = await page.$eval("ic-search-bar", (el) => {
212
+ return el.shadowRoot.activeElement.id;
213
+ });
214
+ expect(activeElId).toBe("ic-search-bar-input-0-menu-qux");
215
+ await page.keyboard.press("Home");
216
+ await page.waitForChanges();
217
+ menuOptions = await page.findAll("ic-search-bar >>> ic-text-field ic-menu li");
218
+ expect(menuOptions[0]).toHaveClass("focused-option");
219
+ expect(menuOptions[1]).not.toHaveClass("focused-option");
220
+ activeElId = await page.$eval("ic-search-bar", (el) => {
221
+ return el.shadowRoot.activeElement.id;
222
+ });
223
+ expect(activeElId).toBe("ic-search-bar-input-0-menu-bar");
224
+ });
225
+ it("should select first option and update value as label on Enter", async () => {
226
+ const page = await newE2EPage();
227
+ await page.setContent(`
228
+ <ic-search-bar label="Test Label"></ic-search-bar>
229
+ `);
230
+ await page.waitForChanges();
231
+ const searchBar = await page.find("ic-search-bar");
232
+ searchBar.setProperty("options", options);
233
+ await page.waitForChanges();
234
+ await focusAndTypeIntoInput("ba", page);
235
+ await page.waitForChanges();
236
+ const menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
237
+ await menu.press("Enter");
238
+ expect(await searchBar.getProperty("value")).toBe("bar");
239
+ });
240
+ it("should add a space to value on Space", async () => {
241
+ const page = await newE2EPage();
242
+ await page.setContent(`
243
+ <ic-search-bar label="Test Label"></ic-search-bar>
244
+ `);
245
+ await page.waitForChanges();
246
+ const searchBar = await page.find("ic-search-bar");
247
+ searchBar.setProperty("options", options);
248
+ await page.waitForChanges();
249
+ await focusAndTypeIntoInput("ba", page);
250
+ await page.waitForChanges();
251
+ const menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
252
+ await menu.press("Space");
253
+ expect(await searchBar.getProperty("value")).toBe("ba ");
254
+ });
255
+ it("should remove a character from value on Backspace", async () => {
256
+ const page = await newE2EPage();
257
+ await page.setContent(`
258
+ <ic-search-bar label="Test Label"></ic-search-bar>
259
+ `);
260
+ await page.waitForChanges();
261
+ const searchBar = await page.find("ic-search-bar");
262
+ searchBar.setProperty("options", options);
263
+ await page.waitForChanges();
264
+ await focusAndTypeIntoInput("ba", page);
265
+ await page.waitForChanges();
266
+ const menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
267
+ await menu.press("Backspace");
268
+ expect(await searchBar.getProperty("value")).toBe("b");
269
+ });
270
+ it("should set value to last option when pressing up on input", async () => {
271
+ const page = await newE2EPage();
272
+ await page.setContent(`
273
+ <ic-search-bar label="Test Label"></ic-search-bar>
274
+ `);
275
+ await page.waitForChanges();
276
+ const searchBar = await page.find("ic-search-bar");
277
+ searchBar.setProperty("options", options);
278
+ await page.waitForChanges();
279
+ await focusAndTypeIntoInput("ba", page);
280
+ await page.waitForChanges();
281
+ await searchBar.press("ArrowUp");
282
+ const menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
283
+ await menu.press("Enter");
284
+ expect(await searchBar.getProperty("value")).toBe("qux");
285
+ });
286
+ it("menu should close on Escape", async () => {
287
+ const page = await newE2EPage();
288
+ await page.setContent(`
289
+ <ic-search-bar label="Test Label"></ic-search-bar>
290
+ `);
291
+ await page.waitForChanges();
292
+ const searchBar = await page.find("ic-search-bar");
293
+ searchBar.setProperty("options", options);
294
+ await page.waitForChanges();
295
+ await focusAndTypeIntoInput("ba", page);
296
+ await page.waitForChanges();
297
+ await page.keyboard.press("ArrowUp");
298
+ let menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
299
+ expect(await menu.isVisible()).toBeTruthy();
300
+ await menu.press("Escape");
301
+ menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
302
+ expect(menu).toBeNull();
303
+ });
304
+ it("menu should close when blurred and open when focused", async () => {
305
+ const page = await newE2EPage();
306
+ await page.setContent(`
307
+ <ic-search-bar label="Test Label"></ic-search-bar>
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
+ // Will focus clear button then blur
316
+ await page.keyboard.press("Tab");
317
+ await page.keyboard.press("Tab");
318
+ await page.waitForChanges();
319
+ let menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
320
+ expect(menu).toBeNull;
321
+ await page.keyboard.down("Shift");
322
+ await page.keyboard.press("Tab");
323
+ await page.waitForChanges();
324
+ menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
325
+ expect(await menu.isVisible()).toBeTruthy();
326
+ });
327
+ it("should emit icOptionSelect when a menu option has been selected", async () => {
328
+ const page = await newE2EPage();
329
+ await page.setContent(`
330
+ <ic-search-bar search label="Test Label"></ic-search-bar>
331
+ `);
332
+ const icOptionSelect = await page.spyOnEvent("icOptionSelect");
333
+ const searchBar = await page.find("ic-search-bar");
334
+ searchBar.setProperty("options", options);
335
+ await page.waitForChanges();
336
+ await focusAndTypeIntoInput("fo", page);
337
+ await page.waitForChanges();
338
+ await searchBar.press("ArrowDown");
339
+ await page.waitForChanges();
340
+ const menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
341
+ await menu.press("Enter");
342
+ expect(icOptionSelect).toHaveReceivedEventDetail({
343
+ value: "foo",
344
+ });
345
+ });
346
+ it("should emit icMenuChange when opening/closing menu", async () => {
347
+ const page = await newE2EPage();
348
+ await page.setContent(`
349
+ <ic-search-bar label="Test Label"></ic-search-bar>
350
+ `);
351
+ const icMenuChange = await page.spyOnEvent("icMenuChange");
352
+ const searchBar = await page.find("ic-search-bar");
353
+ searchBar.setProperty("options", options);
354
+ await page.waitForChanges();
355
+ await focusAndTypeIntoInput("ba", page);
356
+ await page.waitForChanges();
357
+ expect(icMenuChange).toHaveReceivedEventDetail({
358
+ open: true,
359
+ });
360
+ await page.keyboard.press("Enter");
361
+ await page.waitForChanges();
362
+ expect(icMenuChange).toHaveReceivedEventDetail({
363
+ open: false,
364
+ });
365
+ });
366
+ it("should prepopulate textfield with value in search mode", async () => {
367
+ const page = await newE2EPage();
368
+ await page.setContent(`
369
+ <ic-search-bar label="Test Label" value="test value"></ic-search-bar>
370
+ `);
371
+ const input = await page.find("ic-search-bar >>> ic-text-field >>> #ic-search-bar-input-0");
372
+ expect(await input.getProperty("value")).toBe("test value");
373
+ });
374
+ it("should filter options", async () => {
375
+ const page = await newE2EPage();
376
+ await page.setContent(`
377
+ <ic-search-bar label="Test Label"></ic-search-bar>
378
+ `);
379
+ const searchBar = await page.find("ic-search-bar");
380
+ searchBar.setProperty("options", options);
381
+ await page.waitForChanges();
382
+ let menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
383
+ expect(menu).toBeNull();
384
+ await focusAndTypeIntoInput("ba", page);
385
+ await page.waitForChanges();
386
+ menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
387
+ await page.waitForChanges();
388
+ let menuItems = menu.findAll("li");
389
+ expect((await menuItems).length).toBe(2);
390
+ await page.keyboard.press("r");
391
+ await page.waitForChanges();
392
+ menuItems = menu.findAll("li");
393
+ expect((await menuItems).length).toBe(1);
394
+ });
395
+ it("should prevent form submit event when clear is invoked using Enter", async () => {
396
+ const page = await newE2EPage();
397
+ await page.setContent(`
398
+ <form>
399
+ <ic-search-bar label="Test Label" name="search01"></ic-search-bar>
400
+ </form>
401
+ <p id="text">idle</p>
402
+ <script>
403
+ document.querySelector('form').addEventListener('submit', () => {
404
+ document.getElementById('text').innerText = 'submitted';
405
+ })
406
+ </script>
407
+ `);
408
+ const icClear = await page.spyOnEvent("icClear");
409
+ const p = await page.find("#text");
410
+ await focusAndTypeIntoInput("foo", page);
411
+ await page.waitForChanges();
412
+ await page.keyboard.press("Tab");
413
+ await page.keyboard.press("Enter");
414
+ expect(icClear).toHaveReceivedEvent();
415
+ expect(p.innerText).toBe("idle");
416
+ });
417
+ it("should clear the value when clear is invoked using Space - should not add a whitespace", async () => {
418
+ const page = await newE2EPage();
419
+ await page.setContent(`<ic-search-bar label="Test Label"></ic-search-bar>`);
420
+ const icClear = await page.spyOnEvent("icClear");
421
+ const searchBar = await page.find("ic-search-bar");
422
+ await focusAndTypeIntoInput("foo", page);
423
+ await page.waitForChanges();
424
+ await page.keyboard.press("Tab");
425
+ await page.keyboard.press("Space");
426
+ await page.waitForChanges();
427
+ expect(icClear).toHaveReceivedEvent();
428
+ expect(searchBar.getAttribute("value")).toBe("");
429
+ expect(searchBar.getAttribute("value").length).toBe(0);
430
+ });
431
+ it("should emit icSubmitSearch when search button pressed with Space", async () => {
432
+ const page = await newE2EPage();
433
+ await page.setContent(`<ic-search-bar label="Test Label"></ic-search-bar>`);
434
+ const icSubmitSearch = await page.spyOnEvent("icSubmitSearch");
435
+ await focusAndTypeIntoInput("foo", page);
436
+ await page.waitForChanges();
437
+ await page.keyboard.press("Tab");
438
+ await page.keyboard.press("Tab");
439
+ await page.keyboard.press("Space");
440
+ await page.waitForChanges();
441
+ expect(icSubmitSearch).toHaveReceivedEventDetail({
442
+ value: "foo",
443
+ });
444
+ });
445
+ it("should update value and move focus back to input when focus previously on ic-menu", async () => {
446
+ const page = await newE2EPage();
447
+ await page.setContent(`
448
+ <ic-search-bar label="Test Label"></ic-search-bar>
449
+ `);
450
+ const searchBar = await page.find("ic-search-bar");
451
+ searchBar.setProperty("options", options);
452
+ await page.waitForChanges();
453
+ await focusAndTypeIntoInput("ba", page);
454
+ await page.waitForChanges();
455
+ await page.keyboard.press("ArrowDown");
456
+ await page.waitForChanges();
457
+ const focusedElement = await page.evaluate(() => {
458
+ const el = document.querySelector("ic-search-bar").shadowRoot;
459
+ return el.activeElement.id;
460
+ });
461
+ expect(focusedElement).toBe("ic-search-bar-input-0-menu-qux");
462
+ await page.keyboard.press("r");
463
+ const inputEl = await page.evaluate(() => {
464
+ const el = document
465
+ .querySelector("ic-search-bar")
466
+ .shadowRoot.querySelector("ic-text-field");
467
+ return {
468
+ focusedEl: el.shadowRoot.activeElement.id,
469
+ inputValue: el.value,
470
+ };
471
+ });
472
+ expect(inputEl.focusedEl).toBe("ic-search-bar-input-0");
473
+ expect(inputEl.inputValue).toBe("bar");
474
+ });
475
+ it("should render suggestions after number of characters in value set to 3", async () => {
476
+ const page = await newE2EPage();
477
+ await page.setContent(`
478
+ <ic-search-bar label="Test Label"></ic-search-bar>
479
+ `);
480
+ const searchBar = await page.find("ic-search-bar");
481
+ searchBar.setProperty("options", options);
482
+ searchBar.setProperty("charactersUntilSuggestion", 3);
483
+ await page.waitForChanges();
484
+ await focusAndTypeIntoInput("ba", page);
485
+ await page.waitForChanges();
486
+ let menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
487
+ expect(menu).toBeNull();
488
+ await page.waitForChanges();
489
+ await focusAndTypeIntoInput("r", page);
490
+ await page.waitForChanges();
491
+ menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
492
+ expect(await menu.isVisible()).toBeTruthy();
493
+ });
494
+ it("should render no results available if no matches", async () => {
495
+ const page = await newE2EPage();
496
+ await page.setContent(`
497
+ <ic-search-bar label="Test Label"></ic-search-bar>
498
+ `);
499
+ const searchBar = await page.find("ic-search-bar");
500
+ searchBar.setProperty("options", options);
501
+ await page.waitForChanges();
502
+ await focusAndTypeIntoInput("zzz", page);
503
+ await page.waitForChanges();
504
+ const noOptionsLabel = await page.evaluate(() => {
505
+ const menuEl = document
506
+ .querySelector("ic-search-bar")
507
+ .shadowRoot.querySelector("ic-menu");
508
+ const noOptionsItem = menuEl.querySelectorAll("li")[0];
509
+ return noOptionsItem.innerText;
510
+ });
511
+ expect(noOptionsLabel).toBe("No results found");
512
+ });
513
+ it("should render 0 results if no matches (updated no options text)", async () => {
514
+ const NO_OPTIONS = "0 results";
515
+ const page = await newE2EPage();
516
+ await page.setContent(`
517
+ <ic-search-bar label="Test Label"></ic-search-bar>
518
+ `);
519
+ const searchBar = await page.find("ic-search-bar");
520
+ searchBar.setProperty("options", options);
521
+ searchBar.setProperty("emptyOptionListText", NO_OPTIONS);
522
+ await page.waitForChanges();
523
+ await focusAndTypeIntoInput("zzz", page);
524
+ await page.waitForChanges();
525
+ const noOptionsLabel = await page.evaluate(() => {
526
+ const menuEl = document
527
+ .querySelector("ic-search-bar")
528
+ .shadowRoot.querySelector("ic-menu");
529
+ const noOptionsItem = menuEl.querySelectorAll("li")[0];
530
+ return noOptionsItem.innerText;
531
+ });
532
+ expect(noOptionsLabel).toBe(NO_OPTIONS);
533
+ });
534
+ it("should disable search button on 0 results", async () => {
535
+ const page = await newE2EPage();
536
+ await page.setContent(`
537
+ <ic-search-bar label="Test Label"></ic-search-bar>
538
+ `);
539
+ const searchBar = await page.find("ic-search-bar");
540
+ searchBar.setProperty("options", options);
541
+ await page.waitForChanges();
542
+ await focusAndTypeIntoInput("zzz", page);
543
+ await page.waitForChanges();
544
+ const searchSubmitBtn = await page.find("ic-search-bar >>> ic-text-field ic-button.search-submit-button");
545
+ expect(await searchSubmitBtn.getProperty("disabled")).toBeTruthy();
546
+ });
547
+ it("should focus on first option when ic-menu rendered and Enter should select option", async () => {
548
+ const page = await newE2EPage();
549
+ await page.setContent(`
550
+ <ic-search-bar label="Test Label"></ic-search-bar>
551
+ `);
552
+ const searchBar = await page.find("ic-search-bar");
553
+ searchBar.setProperty("options", options);
554
+ await page.waitForChanges();
555
+ await focusAndTypeIntoInput("ba", page);
556
+ await page.waitForChanges();
557
+ const FirstOptionClassIsFocusedOption = await page.evaluate(() => {
558
+ const menuEl = document
559
+ .querySelector("ic-search-bar")
560
+ .shadowRoot.querySelector("ic-menu");
561
+ const firstMenuItem = menuEl.querySelectorAll("li")[0];
562
+ return firstMenuItem.classList.contains("focused-option");
563
+ });
564
+ expect(FirstOptionClassIsFocusedOption).toBeTruthy();
565
+ await page.keyboard.press("Enter");
566
+ await page.waitForChanges();
567
+ const input = await page.find("ic-search-bar >>> ic-text-field >>> #ic-search-bar-input-0");
568
+ expect(await input.getProperty("value")).toBe("bar");
569
+ });
570
+ it("should be able to select second menu item after selecting an initial menu item", async () => {
571
+ const page = await newE2EPage();
572
+ await page.setContent(`<ic-search-bar label="Test Label"></ic-search-bar>`);
573
+ const searchBar = await page.find("ic-search-bar");
574
+ searchBar.setProperty("options", options);
575
+ await page.waitForChanges();
576
+ await focusAndTypeIntoInput("ba", page);
577
+ await page.waitForChanges();
578
+ let menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
579
+ let firstOption = (await menu.findAll("li"))[0];
580
+ expect(firstOption).toHaveClass("focused-option");
581
+ await searchBar.press("Enter");
582
+ await page.waitForChanges();
583
+ const value = await searchBar.getProperty("value");
584
+ await page.waitForChanges();
585
+ expect(value).toBe("bar");
586
+ await page.keyboard.press("Backspace");
587
+ await page.waitForChanges();
588
+ await searchBar.press("ArrowDown");
589
+ await page.waitForChanges();
590
+ menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
591
+ firstOption = (await menu.findAll("li"))[0];
592
+ const lastOption = (await menu.findAll("li"))[1];
593
+ expect(firstOption).not.toHaveClass("focused-option");
594
+ expect(lastOption).toHaveClass("focused-option");
595
+ await searchBar.press("Enter");
596
+ await page.waitForChanges();
597
+ expect(await searchBar.getProperty("value")).toBe("qux");
598
+ });
599
+ it("should tab through search bar from input > clear > submit > ic-menu when options are available", async () => {
600
+ const page = await newE2EPage();
601
+ await page.setContent(`<ic-search-bar label="Test Label"></ic-search-bar>`);
602
+ const searchBar = await page.find("ic-search-bar");
603
+ searchBar.setProperty("options", options);
604
+ await page.waitForChanges();
605
+ await focusAndTypeIntoInput("ba", page);
606
+ await page.waitForChanges();
607
+ let focusedElement = await page.evaluate(() => {
608
+ const el = document
609
+ .querySelector("ic-search-bar")
610
+ .shadowRoot.querySelector("ic-text-field");
611
+ return el.shadowRoot.activeElement.id;
612
+ });
613
+ expect(focusedElement).toBe("ic-search-bar-input-0");
614
+ await page.waitForChanges();
615
+ await page.keyboard.press("Tab");
616
+ await page.waitForChanges();
617
+ focusedElement = await page.evaluate(() => {
618
+ const el = document.querySelector("ic-search-bar");
619
+ return el.shadowRoot.activeElement.id;
620
+ });
621
+ expect(focusedElement).toBe("clear-button");
622
+ await page.keyboard.press("Tab");
623
+ await page.waitForChanges();
624
+ focusedElement = await page.evaluate(() => {
625
+ const el = document.querySelector("ic-search-bar");
626
+ return el.shadowRoot.activeElement.id;
627
+ });
628
+ expect(focusedElement).toBe("search-submit-button");
629
+ await page.keyboard.press("Tab");
630
+ await page.waitForChanges();
631
+ focusedElement = await page.evaluate(() => {
632
+ const el = document.querySelector("ic-search-bar").shadowRoot;
633
+ return el.activeElement.id;
634
+ });
635
+ expect(focusedElement).toBe("ic-search-bar-input-0-menu-bar");
636
+ });
637
+ it("menu is still rendered when Shift is pressed while focus on input", async () => {
638
+ const page = await newE2EPage();
639
+ await page.setContent(`<ic-search-bar label="Test Label"></ic-search-bar>`);
640
+ const searchBar = await page.find("ic-search-bar");
641
+ searchBar.setProperty("options", options);
642
+ await page.waitForChanges();
643
+ await focusAndTypeIntoInput("ba", page);
644
+ await page.waitForChanges();
645
+ await page.keyboard.press("Shift");
646
+ const menu = await page.find("ic-search-bar >>> ic-menu");
647
+ expect(await menu.isVisible()).toBeTruthy();
648
+ });
649
+ it("focuses back onto search bar from menu", async () => {
650
+ const page = await newE2EPage();
651
+ await page.setContent(`<ic-search-bar label="Test Label"></ic-search-bar>`);
652
+ const searchBar = await page.find("ic-search-bar");
653
+ searchBar.setProperty("options", options);
654
+ await page.waitForChanges();
655
+ await focusAndTypeIntoInput("ba", page);
656
+ await page.waitForChanges();
657
+ await page.keyboard.press("Tab");
658
+ await page.keyboard.press("Tab");
659
+ await page.keyboard.press("Tab");
660
+ await page.waitForChanges();
661
+ let focusedElement = await page.evaluate(() => {
662
+ const el = document.querySelector("ic-search-bar").shadowRoot;
663
+ return el.activeElement.id;
664
+ });
665
+ expect(focusedElement).toBe("ic-search-bar-input-0-menu-bar");
666
+ await page.waitForChanges();
667
+ await page.keyboard.down("Shift");
668
+ await page.keyboard.press("Tab");
669
+ await page.keyboard.press("Tab");
670
+ await page.keyboard.press("Tab");
671
+ await page.waitForChanges();
672
+ focusedElement = await page.$eval("ic-search-bar", (el) => {
673
+ const textfield = el.shadowRoot.querySelector("ic-text-field");
674
+ return textfield.shadowRoot.activeElement.id;
675
+ });
676
+ expect(focusedElement).toBe("ic-search-bar-input-0");
677
+ });
678
+ it("displays tooltip on search buttons when enabled", async () => {
679
+ const page = await newE2EPage();
680
+ await page.setContent(`<ic-search-bar label="Test Label"></ic-search-bar>`);
681
+ await page.keyboard.press("Tab");
682
+ await page.keyboard.press("Tab");
683
+ await page.waitForChanges();
684
+ let submitSearchTooltipDisplay = await page.evaluate(() => {
685
+ const tooltip = document
686
+ .querySelector("ic-search-bar")
687
+ .shadowRoot.querySelector("#search-submit-button")
688
+ .shadowRoot.querySelector("ic-tooltip")
689
+ .shadowRoot.querySelector(".ic-tooltip-container");
690
+ return window.getComputedStyle(tooltip).display;
691
+ });
692
+ expect(submitSearchTooltipDisplay).toBe("none");
693
+ await focusAndTypeIntoInput("ba", page);
694
+ await page.waitForChanges();
695
+ await page.keyboard.press("Tab");
696
+ await page.waitForTimeout(300);
697
+ const clearTooltipDisplay = await page.evaluate(() => {
698
+ const tooltip = document
699
+ .querySelector("ic-search-bar")
700
+ .shadowRoot.querySelector("#clear-button")
701
+ .shadowRoot.querySelector("ic-tooltip")
702
+ .shadowRoot.querySelector(".ic-tooltip-container");
703
+ return window.getComputedStyle(tooltip).display;
704
+ });
705
+ expect(clearTooltipDisplay).toBe("block");
706
+ await page.keyboard.press("Tab");
707
+ await page.waitForTimeout(300);
708
+ submitSearchTooltipDisplay = await page.evaluate(() => {
709
+ const tooltip = document
710
+ .querySelector("ic-search-bar")
711
+ .shadowRoot.querySelector("#search-submit-button")
712
+ .shadowRoot.querySelector("ic-tooltip")
713
+ .shadowRoot.querySelector(".ic-tooltip-container");
714
+ return window.getComputedStyle(tooltip).display;
715
+ });
716
+ expect(submitSearchTooltipDisplay).toBe("block");
717
+ });
718
+ it("should highlight first option again after no results found", async () => {
719
+ const page = await newE2EPage();
720
+ await page.setContent(`
721
+ <ic-search-bar label="Test Label"></ic-search-bar>
722
+ `);
723
+ const searchBar = await page.find("ic-search-bar");
724
+ searchBar.setProperty("options", options);
725
+ await page.waitForChanges();
726
+ await focusAndTypeIntoInput("barr", page);
727
+ await page.waitForChanges();
728
+ const noOptionsLabel = await page.evaluate(() => {
729
+ const menuEl = document
730
+ .querySelector("ic-search-bar")
731
+ .shadowRoot.querySelector("ic-menu");
732
+ const noOptionsItem = menuEl.querySelectorAll("li")[0];
733
+ return noOptionsItem.innerText;
734
+ });
735
+ expect(noOptionsLabel).toBe("No results found");
736
+ await page.waitForChanges();
737
+ await page.keyboard.press("Backspace");
738
+ await page.waitForTimeout(500);
739
+ const firstOptionFocused = await page.evaluate(() => {
740
+ const menuEl = document
741
+ .querySelector("ic-search-bar")
742
+ .shadowRoot.querySelector("ic-menu");
743
+ const firstOptionItem = menuEl.querySelectorAll("li")[0];
744
+ return firstOptionItem.classList.contains("focused-option");
745
+ });
746
+ expect(firstOptionFocused).toBeTruthy();
747
+ });
748
+ it("focuses onto button from search bar", async () => {
749
+ const page = await newE2EPage();
750
+ await page.setContent(`
751
+ <ic-search-bar label="Test Label"></ic-search-bar>
752
+ <ic-button id="button">Foo</ic-button>
753
+ `);
754
+ const searchBar = await page.find("ic-search-bar");
755
+ searchBar.setProperty("options", options);
756
+ await page.waitForChanges();
757
+ await focusAndTypeIntoInput("ba", page);
758
+ await page.waitForChanges();
759
+ await page.keyboard.press("ArrowDown");
760
+ await page.waitForChanges();
761
+ let focusedElement = await page.evaluate(() => {
762
+ const el = document.querySelector("ic-search-bar").shadowRoot;
763
+ return el.activeElement.id;
764
+ });
765
+ expect(focusedElement).toBe("ic-search-bar-input-0-menu-qux");
766
+ await page.waitForChanges();
767
+ await page.keyboard.press("Tab");
768
+ await page.waitForChanges();
769
+ focusedElement = await page.evaluate(() => {
770
+ return document.activeElement.id;
771
+ });
772
+ expect(focusedElement).toBe("button");
773
+ });
774
+ it("should emit icChange on delay", async () => {
775
+ const page = await newE2EPage();
776
+ await page.setContent(`<ic-search-bar label="Test Label" debounce="500"></ic-search-bar>`);
777
+ await page.waitForChanges();
778
+ const icChange = await page.spyOnEvent("icChange");
779
+ await focusAndTypeIntoInput("foo", page);
780
+ await page.waitForTimeout(600);
781
+ expect(icChange).toHaveReceivedEventDetail({
782
+ value: "foo",
783
+ });
784
+ await focusAndTypeIntoInput("bar", page);
785
+ await page.waitForChanges();
786
+ await page.waitForTimeout(100);
787
+ expect(icChange).toHaveReceivedEventDetail({
788
+ value: "foo",
789
+ });
790
+ await page.waitForTimeout(500);
791
+ expect(icChange).toHaveReceivedEventDetail({
792
+ value: "foobar",
793
+ });
794
+ });
795
+ it("should highlight the menu option items in the correct order with arrowDown", async () => {
796
+ const page = await newE2EPage();
797
+ await page.setContent(`
798
+ <ic-search-bar label="Test Label"></ic-search-bar>
799
+ `);
800
+ const searchBar = await page.find("ic-search-bar");
801
+ searchBar.setProperty("options", longOptions);
802
+ await page.waitForChanges();
803
+ await focusAndTypeIntoInput("it", page);
804
+ await page.waitForChanges();
805
+ const menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
806
+ // First option has focused-option
807
+ let option = (await menu.findAll("li"))[0];
808
+ expect(option).toHaveClass("focused-option");
809
+ // Other options should not
810
+ for (let i = 1; i < longOptions.length; i++) {
811
+ option = (await menu.findAll("li"))[i];
812
+ expect(option).not.toHaveClass("focused-option");
813
+ }
814
+ // Highlight the next option
815
+ await page.keyboard.press("ArrowDown");
816
+ await page.waitForChanges();
817
+ option = (await menu.findAll("li"))[1];
818
+ expect(option).toHaveClass("focused-option");
819
+ for (let i = 2; i < longOptions.length; i++) {
820
+ option = (await menu.findAll("li"))[i];
821
+ expect(option).not.toHaveClass("focused-option");
822
+ }
823
+ await page.keyboard.press("ArrowDown");
824
+ await page.waitForChanges();
825
+ option = (await menu.findAll("li"))[2];
826
+ expect(option).toHaveClass("focused-option");
827
+ for (let i = 3; i < longOptions.length; i++) {
828
+ option = (await menu.findAll("li"))[i];
829
+ expect(option).not.toHaveClass("focused-option");
830
+ }
831
+ });
832
+ it("should highlight the menu option items in the correct order with arrowUp", async () => {
833
+ const page = await newE2EPage();
834
+ await page.setContent(`
835
+ <ic-search-bar label="Test Label"></ic-search-bar>
836
+ `);
837
+ const searchBar = await page.find("ic-search-bar");
838
+ searchBar.setProperty("options", longOptions);
839
+ await page.waitForChanges();
840
+ await focusAndTypeIntoInput("it", page);
841
+ await page.waitForChanges();
842
+ const menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
843
+ // First option has focused-option class
844
+ let option = (await menu.findAll("li"))[0];
845
+ expect(option).toHaveClass("focused-option");
846
+ // Other options should not have focused-option class
847
+ for (let i = 1; i < longOptions.length; i++) {
848
+ option = (await menu.findAll("li"))[i];
849
+ expect(option).not.toHaveClass("focused-option");
850
+ }
851
+ // Highlight the last option
852
+ await page.keyboard.press("ArrowUp");
853
+ await page.waitForChanges();
854
+ option = (await menu.findAll("li"))[longOptions.length - 1];
855
+ expect(option).toHaveClass("focused-option");
856
+ for (let i = longOptions.length - 2; i >= 0; i--) {
857
+ option = (await menu.findAll("li"))[i];
858
+ expect(option).not.toHaveClass("focused-option");
859
+ }
860
+ await page.keyboard.press("ArrowUp");
861
+ await page.waitForChanges();
862
+ option = (await menu.findAll("li"))[longOptions.length - 2];
863
+ expect(option).toHaveClass("focused-option");
864
+ for (let i = longOptions.length - 3; i >= 0; i--) {
865
+ option = (await menu.findAll("li"))[i];
866
+ expect(option).not.toHaveClass("focused-option");
867
+ }
868
+ });
869
+ it("should reverse tab to submit button", async () => {
870
+ const page = await newE2EPage();
871
+ await page.setContent(`<ic-search-bar label="Test Label"></ic-search-bar>`);
872
+ const searchBar = await page.find("ic-search-bar");
873
+ searchBar.setProperty("options", options);
874
+ await page.waitForChanges();
875
+ await focusAndTypeIntoInput("foo", page);
876
+ await page.waitForChanges();
877
+ await page.keyboard.down("ArrowDown");
878
+ await page.waitForChanges();
879
+ await page.keyboard.down("Shift");
880
+ await page.keyboard.press("Tab");
881
+ await page.waitForChanges();
882
+ const activeElId = await page.$eval("ic-search-bar", (el) => {
883
+ return el.shadowRoot.activeElement.id;
884
+ });
885
+ expect(activeElId).toBe("search-submit-button");
886
+ });
887
+ it("should not filter options when disable-filter is set to true", async () => {
888
+ const page = await newE2EPage();
889
+ await page.setContent(`<ic-search-bar label="Test Label" disable-filter="true"></ic-search-bar>`);
890
+ const searchBar = await page.find("ic-search-bar");
891
+ searchBar.setProperty("options", options);
892
+ await page.waitForChanges();
893
+ await focusAndTypeIntoInput("foo", page);
894
+ await page.waitForChanges();
895
+ const menuOptions = await page.findAll("ic-search-bar >>> ic-text-field ic-menu li");
896
+ expect(menuOptions).toHaveLength(options.length);
897
+ });
898
+ it("should select the highlighted option when submit search is clicked", async () => {
899
+ const page = await newE2EPage();
900
+ await page.setContent(`<ic-search-bar label="Test Label"></ic-search-bar>`);
901
+ const searchBar = await page.find("ic-search-bar");
902
+ const searchSubmitButton = await page.find("ic-search-bar >>> ic-text-field ic-button.search-submit-button");
903
+ searchBar.setProperty("options", options);
904
+ await page.waitForChanges();
905
+ // Select first filtered option
906
+ await focusAndTypeIntoInput("ba", page);
907
+ await page.waitForChanges();
908
+ let menuOption = (await page.findAll("ic-search-bar >>> ic-text-field ic-menu li"))[0];
909
+ expect(menuOption).toHaveClass("focused-option");
910
+ expect(menuOption).toEqualText("bar");
911
+ await searchSubmitButton.click();
912
+ await page.waitForChanges();
913
+ expect(await searchBar.getProperty("value")).toBe("bar");
914
+ // Select second filtered option
915
+ const clearButton = await page.find("ic-search-bar >>> ic-text-field ic-button.clear-button");
916
+ await clearButton.click();
917
+ await page.waitForChanges();
918
+ await focusAndTypeIntoInput("ba", page);
919
+ await page.waitForChanges();
920
+ await page.keyboard.press("ArrowUp");
921
+ await page.waitForChanges();
922
+ menuOption = (await page.findAll("ic-search-bar >>> ic-text-field ic-menu li"))[1];
923
+ expect(menuOption).toHaveClass("focused-option");
924
+ expect(menuOption).toEqualText("baz");
925
+ await searchSubmitButton.click();
926
+ await page.waitForChanges();
927
+ expect(await searchBar.getProperty("value")).toBe("qux");
928
+ });
929
+ it("should display the loading option in the menu when loading then cancel loading when options provided", async () => {
930
+ const page = await newE2EPage();
931
+ await page.setContent(`<ic-search-bar label="Test Label" loading-label="load" disable-filter="true"></ic-search-bar>`);
932
+ const searchBar = await page.find("ic-search-bar");
933
+ searchBar.setProperty("options", options);
934
+ await page.waitForChanges();
935
+ await focusAndTypeIntoInput("ba", page);
936
+ searchBar.setProperty("loading", true);
937
+ await page.waitForChanges();
938
+ let menuOptions = await page.findAll("ic-search-bar >>> ic-text-field ic-menu li");
939
+ expect(menuOptions).toHaveLength(1);
940
+ expect(menuOptions[0]).toHaveClass("loading-option");
941
+ expect(menuOptions[0]).toEqualText("load");
942
+ searchBar.setProperty("options", options);
943
+ await page.waitForChanges();
944
+ menuOptions = await page.findAll("ic-search-bar >>> ic-text-field ic-menu li");
945
+ expect(menuOptions).toHaveLength(3);
946
+ expect(menuOptions[0]).not.toHaveClass("loading-option");
947
+ expect(searchBar.getProperty("loading")).toBeFalsy;
948
+ });
949
+ it("should display the timeout state in the menu when timed out and should not update the options", async () => {
950
+ const page = await newE2EPage();
951
+ await page.setContent(`<ic-search-bar label="Test Label" loading-error-label="error message" timeout="1000" disable-filter="true"></ic-search-bar>`);
952
+ const searchBar = await page.find("ic-search-bar");
953
+ searchBar.setProperty("options", options);
954
+ await page.waitForChanges();
955
+ await focusAndTypeIntoInput("ba", page);
956
+ searchBar.setProperty("loading", true);
957
+ await page.waitForChanges();
958
+ await page.waitForTimeout(1000);
959
+ const menuOptions = await page.findAll("ic-search-bar >>> ic-text-field ic-menu li");
960
+ expect(menuOptions).toHaveLength(1);
961
+ expect(menuOptions[0]).toHaveClass("timeout");
962
+ expect(await menuOptions[0].find("ic-typography")).toEqualText("error message");
963
+ expect(await menuOptions[0].find("#retry-button")).not.toBeNull;
964
+ const searchSubmitButton = await page.find("ic-search-bar >>> ic-text-field ic-button.search-submit-button");
965
+ expect(await searchSubmitButton.getProperty("disabled")).toBeTruthy;
966
+ searchBar.setProperty("options", options);
967
+ await page.waitForChanges();
968
+ expect(menuOptions).toHaveLength(1);
969
+ expect(menuOptions[0]).toHaveClass("timeout");
970
+ });
971
+ it("should be able to focus retry button using tab and should keep loading state when menu closed", async () => {
972
+ const page = await newE2EPage();
973
+ await page.setContent(`<ic-search-bar label="Test Label" timeout="1000" disable-filter="true"></ic-search-bar>`);
974
+ const searchBar = await page.find("ic-search-bar");
975
+ searchBar.setProperty("options", options);
976
+ await page.waitForChanges();
977
+ await focusAndTypeIntoInput("ba", page);
978
+ searchBar.setProperty("loading", true);
979
+ await page.waitForChanges();
980
+ await page.waitForTimeout(1000);
981
+ await page.keyboard.press("Tab");
982
+ await page.keyboard.press("Tab");
983
+ await page.waitForChanges();
984
+ const activeElId = await page.$eval("ic-search-bar", (el) => el.shadowRoot.activeElement.id);
985
+ expect(activeElId).toBe("retry-button");
986
+ await page.keyboard.press("Tab");
987
+ await page.waitForChanges();
988
+ let menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
989
+ expect(menu).toBeNull;
990
+ await page.keyboard.down("Shift");
991
+ await page.keyboard.press("Tab");
992
+ await page.waitForChanges();
993
+ menu = await page.find("ic-search-bar >>> ic-text-field ic-menu");
994
+ expect(await menu.isVisible()).toBeTruthy;
995
+ expect(await menu.findAll("li")).toHaveLength(1);
996
+ });
997
+ it("should trigger a retry when the retry button is pressed using space and enter", async () => {
998
+ const page = await newE2EPage();
999
+ await page.setContent(`<ic-search-bar label="Test Label" 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
+ await page.keyboard.press("Tab");
1008
+ await page.keyboard.press("Tab");
1009
+ const retryButton = await page.find("ic-search-bar >>> ic-text-field ic-menu #retry-button");
1010
+ await retryButton.press("Enter");
1011
+ await page.waitForChanges();
1012
+ let menuOptions = await page.findAll("ic-search-bar >>> ic-text-field ic-menu li");
1013
+ expect(menuOptions[0]).toEqualText("Loading...");
1014
+ await page.waitForTimeout(1000);
1015
+ await page.keyboard.press("Tab");
1016
+ await page.keyboard.press("Tab");
1017
+ await retryButton.press(" ");
1018
+ await page.waitForChanges();
1019
+ menuOptions = await page.findAll("ic-search-bar >>> ic-text-field ic-menu li");
1020
+ expect(menuOptions[0]).toEqualText("Loading...");
1021
+ });
1022
+ it("should cancel loading when clear button is pressed", async () => {
1023
+ const page = await newE2EPage();
1024
+ await page.setContent(`<ic-search-bar label="Test Label" timeout="1000"></ic-search-bar>`);
1025
+ const searchBar = await page.find("ic-search-bar");
1026
+ searchBar.setProperty("options", options);
1027
+ await page.waitForChanges();
1028
+ await focusAndTypeIntoInput("ba", page);
1029
+ searchBar.setProperty("loading", true);
1030
+ await page.waitForChanges();
1031
+ await page.waitForTimeout(1000);
1032
+ const clearButton = await page.find("ic-search-bar >>> ic-text-field .clear-button");
1033
+ await clearButton.click();
1034
+ await page.waitForChanges();
1035
+ await focusAndTypeIntoInput("ba", page);
1036
+ searchBar.setProperty("loading", true);
1037
+ await page.waitForChanges();
1038
+ let menuOption = await page.find("ic-search-bar >>> ic-text-field ic-menu li");
1039
+ expect(menuOption).toEqualText("Loading...");
1040
+ await clearButton.click();
1041
+ await page.waitForChanges();
1042
+ //Check that the timeout was cancelled
1043
+ await page.waitForTimeout(1000);
1044
+ await searchBar.click();
1045
+ await page.waitForChanges();
1046
+ expect(await page.find("ic-search-bar >>> ic-text-field ic-menu")).toBeNull;
1047
+ await focusAndTypeIntoInput("ba", page);
1048
+ searchBar.setProperty("loading", true);
1049
+ await page.waitForChanges();
1050
+ menuOption = await page.find("ic-search-bar >>> ic-text-field ic-menu li");
1051
+ expect(menuOption).toEqualText("Loading...");
1052
+ });
1053
+ });
1054
+ //# sourceMappingURL=ic-search-bar.e2e.js.map