@ukic/web-components 2.6.0 → 2.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (509) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/{helpers-498eb0e2.js → helpers-0d63359f.js} +36 -105
  3. package/dist/cjs/helpers-0d63359f.js.map +1 -0
  4. package/dist/cjs/ic-accordion.cjs.entry.js +5 -3
  5. package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
  6. package/dist/cjs/ic-alert.cjs.entry.js +1 -1
  7. package/dist/cjs/ic-back-to-top.cjs.entry.js +2 -2
  8. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ic-badge.cjs.entry.js +1 -1
  10. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  11. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +1 -1
  12. package/dist/cjs/ic-breadcrumb.cjs.entry.js +1 -1
  13. package/dist/cjs/ic-button_3.cjs.entry.js +3 -3
  14. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ic-card.cjs.entry.js +2 -2
  16. package/dist/cjs/ic-card.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-checkbox-group.cjs.entry.js +8 -1
  18. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ic-checkbox.cjs.entry.js +2 -11
  20. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ic-chip.cjs.entry.js +2 -2
  22. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ic-data-entity.cjs.entry.js +1 -1
  24. package/dist/cjs/ic-data-entity.cjs.entry.js.map +1 -1
  25. package/dist/cjs/ic-data-row.cjs.entry.js +2 -2
  26. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  27. package/dist/cjs/ic-dialog.cjs.entry.js +88 -66
  28. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  29. package/dist/cjs/ic-divider.cjs.entry.js +1 -1
  30. package/dist/cjs/ic-empty-state.cjs.entry.js +1 -1
  31. package/dist/cjs/ic-footer-link-group.cjs.entry.js +1 -1
  32. package/dist/cjs/ic-footer-link.cjs.entry.js +1 -1
  33. package/dist/cjs/ic-footer.cjs.entry.js +1 -1
  34. package/dist/cjs/ic-hero.cjs.entry.js +1 -1
  35. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +4 -3
  36. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  37. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +77 -68
  38. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  39. package/dist/cjs/ic-input-label_2.cjs.entry.js +1 -1
  40. package/dist/cjs/ic-link.cjs.entry.js +1 -1
  41. package/dist/cjs/ic-menu-group.cjs.entry.js +1 -1
  42. package/dist/cjs/ic-menu-item.cjs.entry.js +1 -1
  43. package/dist/cjs/ic-navigation-button.cjs.entry.js +1 -1
  44. package/dist/cjs/ic-navigation-group.cjs.entry.js +2 -2
  45. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  46. package/dist/cjs/ic-navigation-item.cjs.entry.js +2 -2
  47. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  48. package/dist/cjs/ic-navigation-menu.cjs.entry.js +6 -3
  49. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  50. package/dist/cjs/ic-page-header.cjs.entry.js +1 -1
  51. package/dist/cjs/ic-pagination-item.cjs.entry.js +1 -1
  52. package/dist/cjs/ic-pagination.cjs.entry.js +1 -1
  53. package/dist/cjs/ic-popover-menu.cjs.entry.js +29 -60
  54. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  55. package/dist/cjs/ic-radio-group.cjs.entry.js +1 -1
  56. package/dist/cjs/ic-radio-option.cjs.entry.js +2 -2
  57. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  58. package/dist/cjs/ic-search-bar.cjs.entry.js +3 -3
  59. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  60. package/dist/cjs/ic-select.cjs.entry.js +20 -16
  61. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  62. package/dist/cjs/ic-side-navigation.cjs.entry.js +1 -1
  63. package/dist/cjs/ic-status-tag.cjs.entry.js +2 -2
  64. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  65. package/dist/cjs/ic-step.cjs.entry.js +2 -2
  66. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  67. package/dist/cjs/ic-stepper.cjs.entry.js +1 -1
  68. package/dist/cjs/ic-switch.cjs.entry.js +8 -2
  69. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  70. package/dist/cjs/ic-tab-group.cjs.entry.js +3 -3
  71. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  72. package/dist/cjs/ic-tab-panel.cjs.entry.js +1 -1
  73. package/dist/cjs/ic-tab.cjs.entry.js +1 -1
  74. package/dist/cjs/ic-text-field.cjs.entry.js +17 -25
  75. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  76. package/dist/cjs/ic-theme.cjs.entry.js +1 -1
  77. package/dist/cjs/ic-toast-region.cjs.entry.js +20 -8
  78. package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -1
  79. package/dist/cjs/ic-toast.cjs.entry.js +6 -5
  80. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  81. package/dist/cjs/ic-top-navigation.cjs.entry.js +9 -5
  82. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  83. package/dist/cjs/ic-typography.cjs.entry.js +1 -1
  84. package/dist/cjs/loader.cjs.js +1 -1
  85. package/dist/collection/components/ic-accordion/ic-accordion.js +4 -2
  86. package/dist/collection/components/ic-accordion/ic-accordion.js.map +1 -1
  87. package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.e2e.js +3 -0
  88. package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.e2e.js.map +1 -1
  89. package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.spec.js +3 -0
  90. package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.spec.js.map +1 -1
  91. package/dist/collection/components/ic-back-to-top/ic-back-to-top.css +3 -3
  92. package/dist/collection/components/ic-badge/ic-badge.js +4 -1
  93. package/dist/collection/components/ic-badge/ic-badge.js.map +1 -1
  94. package/dist/collection/components/ic-button/ic-button.css +3 -1
  95. package/dist/collection/components/ic-card/ic-card.css +1 -1
  96. package/dist/collection/components/ic-checkbox/ic-checkbox.css +5 -5
  97. package/dist/collection/components/ic-checkbox/ic-checkbox.js +0 -9
  98. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  99. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +13 -0
  100. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  101. package/dist/collection/components/ic-chip/ic-chip.css +1 -1
  102. package/dist/collection/components/ic-data-entity/ic-data-entity.css +1 -1
  103. package/dist/collection/components/ic-data-row/ic-data-row.css +1 -1
  104. package/dist/collection/components/ic-data-row/test/a11y/ic-data-row.test.a11y.js +3 -1
  105. package/dist/collection/components/ic-data-row/test/a11y/ic-data-row.test.a11y.js.map +1 -1
  106. package/dist/collection/components/ic-dialog/ic-dialog.css +56 -21
  107. package/dist/collection/components/ic-dialog/ic-dialog.js +122 -64
  108. package/dist/collection/components/ic-dialog/ic-dialog.js.map +1 -1
  109. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.e2e.js +129 -48
  110. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.e2e.js.map +1 -1
  111. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js +54 -39
  112. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js.map +1 -1
  113. package/dist/collection/components/ic-footer/test/a11y/ic-footer.test.a11y.js +2 -0
  114. package/dist/collection/components/ic-footer/test/a11y/ic-footer.test.a11y.js.map +1 -1
  115. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +24 -2
  116. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js.map +1 -1
  117. package/dist/collection/components/ic-horizontal-scroll/test/a11y/ic-horizontal-scroll.test.a11y.js +2 -0
  118. package/dist/collection/components/ic-horizontal-scroll/test/a11y/ic-horizontal-scroll.test.a11y.js.map +1 -1
  119. package/dist/collection/components/ic-input-component-container/ic-input-component-container.css +4 -4
  120. package/dist/collection/components/ic-menu/ic-menu.css +1 -5
  121. package/dist/collection/components/ic-menu/ic-menu.js +124 -65
  122. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  123. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js +17 -0
  124. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js.map +1 -1
  125. package/dist/collection/components/ic-navigation-group/ic-navigation-group.css +1 -1
  126. package/dist/collection/components/ic-navigation-group/test/a11y/ic-navigation-group.test.a11y.js +2 -0
  127. package/dist/collection/components/ic-navigation-group/test/a11y/ic-navigation-group.test.a11y.js.map +1 -1
  128. package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +11 -5
  129. package/dist/collection/components/ic-navigation-item/test/a11y/ic-navigation-item.test.a11y.js +2 -0
  130. package/dist/collection/components/ic-navigation-item/test/a11y/ic-navigation-item.test.a11y.js.map +1 -1
  131. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.css +7 -3
  132. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +4 -1
  133. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js.map +1 -1
  134. package/dist/collection/components/ic-pagination/test/a11y/ic-pagination.test.a11y.js +1 -1
  135. package/dist/collection/components/ic-pagination/test/a11y/ic-pagination.test.a11y.js.map +1 -1
  136. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js +37 -36
  137. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js.map +1 -1
  138. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +28 -59
  139. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js.map +1 -1
  140. package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.e2e.js +3 -0
  141. package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.e2e.js.map +1 -1
  142. package/dist/collection/components/ic-radio-option/ic-radio-option.css +3 -3
  143. package/dist/collection/components/ic-search-bar/ic-search-bar.css +1 -1
  144. package/dist/collection/components/ic-search-bar/ic-search-bar.js +1 -1
  145. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  146. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.e2e.js +14 -30
  147. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.e2e.js.map +1 -1
  148. package/dist/collection/components/ic-select/ic-select.css +2 -1
  149. package/dist/collection/components/ic-select/ic-select.js +36 -14
  150. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  151. package/dist/collection/components/ic-select/test/basic/ic-select.e2e.js +25 -0
  152. package/dist/collection/components/ic-select/test/basic/ic-select.e2e.js.map +1 -1
  153. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js +12 -4
  154. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js.map +1 -1
  155. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.e2e.js +1 -2
  156. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.e2e.js.map +1 -1
  157. package/dist/collection/components/ic-status-tag/ic-status-tag.css +4 -4
  158. package/dist/collection/components/ic-step/ic-step.css +1 -1
  159. package/dist/collection/components/ic-switch/ic-switch.css +3 -2
  160. package/dist/collection/components/ic-switch/ic-switch.js +9 -0
  161. package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
  162. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.e2e.js +35 -0
  163. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.e2e.js.map +1 -1
  164. package/dist/collection/components/ic-tab-group/ic-tab-group.css +1 -1
  165. package/dist/collection/components/ic-tab-group/ic-tab-group.js +1 -1
  166. package/dist/collection/components/ic-tab-group/ic-tab-group.js.map +1 -1
  167. package/dist/collection/components/ic-text-field/ic-text-field.js +16 -24
  168. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  169. package/dist/collection/components/ic-toast/ic-toast.js +9 -5
  170. package/dist/collection/components/ic-toast/ic-toast.js.map +1 -1
  171. package/dist/collection/components/ic-toast-region/ic-toast-region.js +53 -17
  172. package/dist/collection/components/ic-toast-region/ic-toast-region.js.map +1 -1
  173. package/dist/collection/components/ic-toast-region/test/basic/ic-toast-region.spec.js +23 -1
  174. package/dist/collection/components/ic-toast-region/test/basic/ic-toast-region.spec.js.map +1 -1
  175. package/dist/collection/components/ic-tooltip/ic-tooltip.css +2 -2
  176. package/dist/collection/components/ic-top-navigation/ic-top-navigation.css +3 -3
  177. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +8 -3
  178. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
  179. package/dist/collection/components/ic-top-navigation/test/a11y/ic-top-navigation.test.a11y.js +2 -0
  180. package/dist/collection/components/ic-top-navigation/test/a11y/ic-top-navigation.test.a11y.js.map +1 -1
  181. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.spec.js +15 -0
  182. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.spec.js.map +1 -1
  183. package/dist/collection/utils/helpers.js +35 -104
  184. package/dist/collection/utils/helpers.js.map +1 -1
  185. package/dist/components/helpers.js +35 -104
  186. package/dist/components/helpers.js.map +1 -1
  187. package/dist/components/ic-accordion.js +4 -2
  188. package/dist/components/ic-accordion.js.map +1 -1
  189. package/dist/components/ic-back-to-top.js +1 -1
  190. package/dist/components/ic-back-to-top.js.map +1 -1
  191. package/dist/components/ic-badge.js +1 -1
  192. package/dist/components/ic-badge.js.map +1 -1
  193. package/dist/components/ic-button2.js +1 -1
  194. package/dist/components/ic-button2.js.map +1 -1
  195. package/dist/components/ic-card.js +1 -1
  196. package/dist/components/ic-card.js.map +1 -1
  197. package/dist/components/ic-checkbox-group.js +8 -1
  198. package/dist/components/ic-checkbox-group.js.map +1 -1
  199. package/dist/components/ic-checkbox.js +1 -10
  200. package/dist/components/ic-checkbox.js.map +1 -1
  201. package/dist/components/ic-chip.js +1 -1
  202. package/dist/components/ic-chip.js.map +1 -1
  203. package/dist/components/ic-data-entity.js +1 -1
  204. package/dist/components/ic-data-entity.js.map +1 -1
  205. package/dist/components/ic-data-row.js +1 -1
  206. package/dist/components/ic-data-row.js.map +1 -1
  207. package/dist/components/ic-dialog.js +90 -66
  208. package/dist/components/ic-dialog.js.map +1 -1
  209. package/dist/components/ic-horizontal-scroll2.js +4 -2
  210. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  211. package/dist/components/ic-input-component-container2.js +1 -1
  212. package/dist/components/ic-input-component-container2.js.map +1 -1
  213. package/dist/components/ic-menu2.js +79 -67
  214. package/dist/components/ic-menu2.js.map +1 -1
  215. package/dist/components/ic-navigation-group.js +1 -1
  216. package/dist/components/ic-navigation-group.js.map +1 -1
  217. package/dist/components/ic-navigation-item.js +1 -1
  218. package/dist/components/ic-navigation-item.js.map +1 -1
  219. package/dist/components/ic-navigation-menu2.js +5 -2
  220. package/dist/components/ic-navigation-menu2.js.map +1 -1
  221. package/dist/components/ic-popover-menu.js +28 -59
  222. package/dist/components/ic-popover-menu.js.map +1 -1
  223. package/dist/components/ic-radio-option.js +1 -1
  224. package/dist/components/ic-radio-option.js.map +1 -1
  225. package/dist/components/ic-search-bar.js +2 -2
  226. package/dist/components/ic-search-bar.js.map +1 -1
  227. package/dist/components/ic-select.js +20 -15
  228. package/dist/components/ic-select.js.map +1 -1
  229. package/dist/components/ic-status-tag.js +1 -1
  230. package/dist/components/ic-status-tag.js.map +1 -1
  231. package/dist/components/ic-step.js +1 -1
  232. package/dist/components/ic-step.js.map +1 -1
  233. package/dist/components/ic-switch.js +9 -1
  234. package/dist/components/ic-switch.js.map +1 -1
  235. package/dist/components/ic-tab-group.js +2 -2
  236. package/dist/components/ic-tab-group.js.map +1 -1
  237. package/dist/components/ic-text-field2.js +16 -24
  238. package/dist/components/ic-text-field2.js.map +1 -1
  239. package/dist/components/ic-toast-region.js +24 -9
  240. package/dist/components/ic-toast-region.js.map +1 -1
  241. package/dist/components/ic-toast.js +6 -5
  242. package/dist/components/ic-toast.js.map +1 -1
  243. package/dist/components/ic-tooltip2.js +1 -1
  244. package/dist/components/ic-tooltip2.js.map +1 -1
  245. package/dist/components/ic-top-navigation.js +8 -4
  246. package/dist/components/ic-top-navigation.js.map +1 -1
  247. package/dist/core/core.css +1 -1
  248. package/dist/core/core.esm.js +1 -1
  249. package/dist/core/core.esm.js.map +1 -1
  250. package/dist/core/{p-e71ec1fe.entry.js → p-025f9d2a.entry.js} +2 -2
  251. package/dist/core/p-025f9d2a.entry.js.map +1 -0
  252. package/dist/core/{p-65715458.entry.js → p-03329fd0.entry.js} +2 -2
  253. package/dist/core/{p-667711a8.entry.js → p-08b59078.entry.js} +2 -2
  254. package/dist/core/{p-f5d1a0d7.entry.js → p-0c82048e.entry.js} +2 -2
  255. package/dist/core/{p-7bc6eb83.entry.js → p-2265e418.entry.js} +2 -2
  256. package/dist/core/p-2265e418.entry.js.map +1 -0
  257. package/dist/core/p-24da56e7.entry.js +2 -0
  258. package/dist/core/p-24da56e7.entry.js.map +1 -0
  259. package/dist/core/{p-09022de8.entry.js → p-2c30b583.entry.js} +2 -2
  260. package/dist/core/{p-7c913098.entry.js → p-345fe84a.entry.js} +2 -2
  261. package/dist/core/{p-8fc9b82b.entry.js → p-39c8111d.entry.js} +2 -2
  262. package/dist/core/{p-a69c8001.entry.js → p-3a15202f.entry.js} +2 -2
  263. package/dist/core/{p-bb3e7ce5.entry.js → p-3a814fc4.entry.js} +2 -2
  264. package/dist/core/{p-1a5353ed.entry.js → p-41c6eaa1.entry.js} +2 -2
  265. package/dist/core/p-43af3cf6.entry.js +2 -0
  266. package/dist/core/p-43af3cf6.entry.js.map +1 -0
  267. package/dist/core/{p-5c722379.entry.js → p-475b7bd2.entry.js} +2 -2
  268. package/dist/core/p-4bc35224.entry.js +2 -0
  269. package/dist/core/p-4bc35224.entry.js.map +1 -0
  270. package/dist/core/{p-f2f8e4aa.entry.js → p-59bdafff.entry.js} +2 -2
  271. package/dist/core/p-5a3ca50a.entry.js +2 -0
  272. package/dist/core/p-5a3ca50a.entry.js.map +1 -0
  273. package/dist/core/{p-522947f5.entry.js → p-5ccbb042.entry.js} +2 -2
  274. package/dist/core/p-5ccbb042.entry.js.map +1 -0
  275. package/dist/core/{p-0dd70d92.entry.js → p-5fcd202e.entry.js} +2 -2
  276. package/dist/core/p-5fcd202e.entry.js.map +1 -0
  277. package/dist/core/p-657513b5.entry.js +2 -0
  278. package/dist/core/p-657513b5.entry.js.map +1 -0
  279. package/dist/core/p-69d15528.entry.js +2 -0
  280. package/dist/core/p-69d15528.entry.js.map +1 -0
  281. package/dist/core/p-6c376756.entry.js +2 -0
  282. package/dist/core/p-6c376756.entry.js.map +1 -0
  283. package/dist/core/p-717907de.entry.js +2 -0
  284. package/dist/core/p-717907de.entry.js.map +1 -0
  285. package/dist/core/p-748159fe.entry.js +2 -0
  286. package/dist/core/p-748159fe.entry.js.map +1 -0
  287. package/dist/core/{p-c08b5a9a.entry.js → p-752f0f9a.entry.js} +2 -2
  288. package/dist/core/{p-f62c902b.entry.js → p-76563540.entry.js} +2 -2
  289. package/dist/core/p-7ce86152.entry.js +2 -0
  290. package/dist/core/p-7ce86152.entry.js.map +1 -0
  291. package/dist/core/{p-027ea4ff.entry.js → p-88ea1e49.entry.js} +2 -2
  292. package/dist/core/{p-c5b6d645.entry.js → p-8b18346a.entry.js} +2 -2
  293. package/dist/core/p-8b18346a.entry.js.map +1 -0
  294. package/dist/core/p-8fb4f0c0.js +2 -0
  295. package/dist/core/p-8fb4f0c0.js.map +1 -0
  296. package/dist/core/{p-72d6619c.entry.js → p-932fb4b7.entry.js} +2 -2
  297. package/dist/core/p-99fad66b.entry.js +2 -0
  298. package/dist/core/p-99fad66b.entry.js.map +1 -0
  299. package/dist/core/p-9f6ffced.entry.js +2 -0
  300. package/dist/core/p-9f6ffced.entry.js.map +1 -0
  301. package/dist/core/{p-af9f1caa.entry.js → p-9ff57f09.entry.js} +2 -2
  302. package/dist/core/p-9ff57f09.entry.js.map +1 -0
  303. package/dist/core/{p-4164e7d5.entry.js → p-a4397df4.entry.js} +2 -2
  304. package/dist/core/p-a76912b0.entry.js +2 -0
  305. package/dist/core/p-a76912b0.entry.js.map +1 -0
  306. package/dist/core/{p-3758c2b5.entry.js → p-b0ce60a0.entry.js} +2 -2
  307. package/dist/core/p-b879fa3e.entry.js +2 -0
  308. package/dist/core/p-b879fa3e.entry.js.map +1 -0
  309. package/dist/core/p-ba495175.entry.js +2 -0
  310. package/dist/core/p-ba495175.entry.js.map +1 -0
  311. package/dist/core/p-c0719bf4.entry.js +2 -0
  312. package/dist/core/p-c0719bf4.entry.js.map +1 -0
  313. package/dist/core/{p-134b407d.entry.js → p-c0c62df4.entry.js} +2 -2
  314. package/dist/core/{p-d8022cec.entry.js → p-c9ef9f5c.entry.js} +2 -2
  315. package/dist/core/{p-c01d43cf.entry.js → p-ca6073be.entry.js} +2 -2
  316. package/dist/core/p-ca6073be.entry.js.map +1 -0
  317. package/dist/core/p-cb5f19ea.entry.js +2 -0
  318. package/dist/core/p-cb5f19ea.entry.js.map +1 -0
  319. package/dist/core/{p-e465a208.entry.js → p-ccac1730.entry.js} +2 -2
  320. package/dist/core/{p-bb085716.entry.js → p-cf4bacee.entry.js} +2 -2
  321. package/dist/core/p-d80f99e0.entry.js +2 -0
  322. package/dist/core/p-d80f99e0.entry.js.map +1 -0
  323. package/dist/core/{p-53533992.entry.js → p-e2fd542e.entry.js} +2 -2
  324. package/dist/core/p-e2fd542e.entry.js.map +1 -0
  325. package/dist/core/{p-09eb825d.entry.js → p-e3bffcae.entry.js} +2 -2
  326. package/dist/core/p-e9ddb8cd.entry.js +2 -0
  327. package/dist/core/p-e9ddb8cd.entry.js.map +1 -0
  328. package/dist/core/p-eb4641a9.entry.js +2 -0
  329. package/dist/core/p-eb4641a9.entry.js.map +1 -0
  330. package/dist/core/{p-b80520e9.entry.js → p-f019219c.entry.js} +2 -2
  331. package/dist/core/{p-27b46a68.entry.js → p-fbc8a739.entry.js} +2 -2
  332. package/dist/esm/core.js +1 -1
  333. package/dist/esm/{helpers-c325e537.js → helpers-24f6e762.js} +36 -105
  334. package/dist/esm/helpers-24f6e762.js.map +1 -0
  335. package/dist/esm/ic-accordion.entry.js +5 -3
  336. package/dist/esm/ic-accordion.entry.js.map +1 -1
  337. package/dist/esm/ic-alert.entry.js +1 -1
  338. package/dist/esm/ic-back-to-top.entry.js +2 -2
  339. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  340. package/dist/esm/ic-badge.entry.js +1 -1
  341. package/dist/esm/ic-badge.entry.js.map +1 -1
  342. package/dist/esm/ic-breadcrumb-group.entry.js +1 -1
  343. package/dist/esm/ic-breadcrumb.entry.js +1 -1
  344. package/dist/esm/ic-button_3.entry.js +3 -3
  345. package/dist/esm/ic-button_3.entry.js.map +1 -1
  346. package/dist/esm/ic-card.entry.js +2 -2
  347. package/dist/esm/ic-card.entry.js.map +1 -1
  348. package/dist/esm/ic-checkbox-group.entry.js +8 -1
  349. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  350. package/dist/esm/ic-checkbox.entry.js +2 -11
  351. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  352. package/dist/esm/ic-chip.entry.js +2 -2
  353. package/dist/esm/ic-chip.entry.js.map +1 -1
  354. package/dist/esm/ic-data-entity.entry.js +1 -1
  355. package/dist/esm/ic-data-entity.entry.js.map +1 -1
  356. package/dist/esm/ic-data-row.entry.js +2 -2
  357. package/dist/esm/ic-data-row.entry.js.map +1 -1
  358. package/dist/esm/ic-dialog.entry.js +88 -66
  359. package/dist/esm/ic-dialog.entry.js.map +1 -1
  360. package/dist/esm/ic-divider.entry.js +1 -1
  361. package/dist/esm/ic-empty-state.entry.js +1 -1
  362. package/dist/esm/ic-footer-link-group.entry.js +1 -1
  363. package/dist/esm/ic-footer-link.entry.js +1 -1
  364. package/dist/esm/ic-footer.entry.js +1 -1
  365. package/dist/esm/ic-hero.entry.js +1 -1
  366. package/dist/esm/ic-horizontal-scroll.entry.js +4 -3
  367. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  368. package/dist/esm/ic-input-component-container_3.entry.js +77 -68
  369. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  370. package/dist/esm/ic-input-label_2.entry.js +1 -1
  371. package/dist/esm/ic-link.entry.js +1 -1
  372. package/dist/esm/ic-menu-group.entry.js +1 -1
  373. package/dist/esm/ic-menu-item.entry.js +1 -1
  374. package/dist/esm/ic-navigation-button.entry.js +1 -1
  375. package/dist/esm/ic-navigation-group.entry.js +2 -2
  376. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  377. package/dist/esm/ic-navigation-item.entry.js +2 -2
  378. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  379. package/dist/esm/ic-navigation-menu.entry.js +6 -3
  380. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  381. package/dist/esm/ic-page-header.entry.js +1 -1
  382. package/dist/esm/ic-pagination-item.entry.js +1 -1
  383. package/dist/esm/ic-pagination.entry.js +1 -1
  384. package/dist/esm/ic-popover-menu.entry.js +29 -60
  385. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  386. package/dist/esm/ic-radio-group.entry.js +1 -1
  387. package/dist/esm/ic-radio-option.entry.js +2 -2
  388. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  389. package/dist/esm/ic-search-bar.entry.js +3 -3
  390. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  391. package/dist/esm/ic-select.entry.js +20 -16
  392. package/dist/esm/ic-select.entry.js.map +1 -1
  393. package/dist/esm/ic-side-navigation.entry.js +1 -1
  394. package/dist/esm/ic-status-tag.entry.js +2 -2
  395. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  396. package/dist/esm/ic-step.entry.js +2 -2
  397. package/dist/esm/ic-step.entry.js.map +1 -1
  398. package/dist/esm/ic-stepper.entry.js +1 -1
  399. package/dist/esm/ic-switch.entry.js +8 -2
  400. package/dist/esm/ic-switch.entry.js.map +1 -1
  401. package/dist/esm/ic-tab-group.entry.js +3 -3
  402. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  403. package/dist/esm/ic-tab-panel.entry.js +1 -1
  404. package/dist/esm/ic-tab.entry.js +1 -1
  405. package/dist/esm/ic-text-field.entry.js +17 -25
  406. package/dist/esm/ic-text-field.entry.js.map +1 -1
  407. package/dist/esm/ic-theme.entry.js +1 -1
  408. package/dist/esm/ic-toast-region.entry.js +20 -8
  409. package/dist/esm/ic-toast-region.entry.js.map +1 -1
  410. package/dist/esm/ic-toast.entry.js +6 -5
  411. package/dist/esm/ic-toast.entry.js.map +1 -1
  412. package/dist/esm/ic-top-navigation.entry.js +9 -5
  413. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  414. package/dist/esm/ic-typography.entry.js +1 -1
  415. package/dist/esm/loader.js +1 -1
  416. package/dist/types/components/ic-accordion/ic-accordion.d.ts +1 -0
  417. package/dist/types/components/ic-badge/ic-badge.d.ts +3 -0
  418. package/dist/types/components/ic-checkbox/ic-checkbox.d.ts +0 -1
  419. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +1 -0
  420. package/dist/types/components/ic-dialog/ic-dialog.d.ts +17 -2
  421. package/dist/types/components/ic-horizontal-scroll/ic-horizontal-scroll.d.ts +4 -0
  422. package/dist/types/components/ic-menu/ic-menu.d.ts +12 -2
  423. package/dist/types/components/ic-popover-menu/ic-popover-menu.d.ts +1 -1
  424. package/dist/types/components/ic-select/ic-select.d.ts +4 -0
  425. package/dist/types/components/ic-switch/ic-switch.d.ts +1 -0
  426. package/dist/types/components/ic-text-field/ic-text-field.d.ts +1 -0
  427. package/dist/types/components/ic-toast/ic-toast.d.ts +1 -1
  428. package/dist/types/components/ic-toast-region/ic-toast-region.d.ts +7 -2
  429. package/dist/types/components/ic-top-navigation/ic-top-navigation.d.ts +1 -0
  430. package/dist/types/components.d.ts +36 -3
  431. package/dist/types/utils/helpers.d.ts +2 -2
  432. package/hydrate/index.js +351 -386
  433. package/package.json +2 -2
  434. package/dist/cjs/helpers-498eb0e2.js.map +0 -1
  435. package/dist/core/p-0baa2141.entry.js +0 -2
  436. package/dist/core/p-0baa2141.entry.js.map +0 -1
  437. package/dist/core/p-0dd70d92.entry.js.map +0 -1
  438. package/dist/core/p-30f9fabc.entry.js +0 -2
  439. package/dist/core/p-30f9fabc.entry.js.map +0 -1
  440. package/dist/core/p-31236329.entry.js +0 -2
  441. package/dist/core/p-31236329.entry.js.map +0 -1
  442. package/dist/core/p-39db6642.entry.js +0 -2
  443. package/dist/core/p-39db6642.entry.js.map +0 -1
  444. package/dist/core/p-409e437f.js +0 -2
  445. package/dist/core/p-409e437f.js.map +0 -1
  446. package/dist/core/p-46053a32.entry.js +0 -2
  447. package/dist/core/p-46053a32.entry.js.map +0 -1
  448. package/dist/core/p-4af7cb4c.entry.js +0 -2
  449. package/dist/core/p-4af7cb4c.entry.js.map +0 -1
  450. package/dist/core/p-500e8584.entry.js +0 -2
  451. package/dist/core/p-500e8584.entry.js.map +0 -1
  452. package/dist/core/p-522947f5.entry.js.map +0 -1
  453. package/dist/core/p-53533992.entry.js.map +0 -1
  454. package/dist/core/p-5c9457e2.entry.js +0 -2
  455. package/dist/core/p-5c9457e2.entry.js.map +0 -1
  456. package/dist/core/p-6286ad7b.entry.js +0 -2
  457. package/dist/core/p-6286ad7b.entry.js.map +0 -1
  458. package/dist/core/p-6991655b.entry.js +0 -2
  459. package/dist/core/p-6991655b.entry.js.map +0 -1
  460. package/dist/core/p-6ce0a089.entry.js +0 -2
  461. package/dist/core/p-6ce0a089.entry.js.map +0 -1
  462. package/dist/core/p-700559ee.entry.js +0 -2
  463. package/dist/core/p-700559ee.entry.js.map +0 -1
  464. package/dist/core/p-78f0118c.entry.js +0 -2
  465. package/dist/core/p-78f0118c.entry.js.map +0 -1
  466. package/dist/core/p-7bc6eb83.entry.js.map +0 -1
  467. package/dist/core/p-8ae11ca6.entry.js +0 -2
  468. package/dist/core/p-8ae11ca6.entry.js.map +0 -1
  469. package/dist/core/p-9ea62161.entry.js +0 -2
  470. package/dist/core/p-9ea62161.entry.js.map +0 -1
  471. package/dist/core/p-ae1ed418.entry.js +0 -2
  472. package/dist/core/p-ae1ed418.entry.js.map +0 -1
  473. package/dist/core/p-af9f1caa.entry.js.map +0 -1
  474. package/dist/core/p-ba25f08a.entry.js +0 -2
  475. package/dist/core/p-ba25f08a.entry.js.map +0 -1
  476. package/dist/core/p-c01d43cf.entry.js.map +0 -1
  477. package/dist/core/p-c5b6d645.entry.js.map +0 -1
  478. package/dist/core/p-d4522596.entry.js +0 -2
  479. package/dist/core/p-d4522596.entry.js.map +0 -1
  480. package/dist/core/p-e71ec1fe.entry.js.map +0 -1
  481. package/dist/core/p-f5947c60.entry.js +0 -2
  482. package/dist/core/p-f5947c60.entry.js.map +0 -1
  483. package/dist/core/p-fee7caf1.entry.js +0 -2
  484. package/dist/core/p-fee7caf1.entry.js.map +0 -1
  485. package/dist/esm/helpers-c325e537.js.map +0 -1
  486. /package/dist/core/{p-65715458.entry.js.map → p-03329fd0.entry.js.map} +0 -0
  487. /package/dist/core/{p-667711a8.entry.js.map → p-08b59078.entry.js.map} +0 -0
  488. /package/dist/core/{p-f5d1a0d7.entry.js.map → p-0c82048e.entry.js.map} +0 -0
  489. /package/dist/core/{p-09022de8.entry.js.map → p-2c30b583.entry.js.map} +0 -0
  490. /package/dist/core/{p-7c913098.entry.js.map → p-345fe84a.entry.js.map} +0 -0
  491. /package/dist/core/{p-8fc9b82b.entry.js.map → p-39c8111d.entry.js.map} +0 -0
  492. /package/dist/core/{p-a69c8001.entry.js.map → p-3a15202f.entry.js.map} +0 -0
  493. /package/dist/core/{p-bb3e7ce5.entry.js.map → p-3a814fc4.entry.js.map} +0 -0
  494. /package/dist/core/{p-1a5353ed.entry.js.map → p-41c6eaa1.entry.js.map} +0 -0
  495. /package/dist/core/{p-5c722379.entry.js.map → p-475b7bd2.entry.js.map} +0 -0
  496. /package/dist/core/{p-f2f8e4aa.entry.js.map → p-59bdafff.entry.js.map} +0 -0
  497. /package/dist/core/{p-c08b5a9a.entry.js.map → p-752f0f9a.entry.js.map} +0 -0
  498. /package/dist/core/{p-f62c902b.entry.js.map → p-76563540.entry.js.map} +0 -0
  499. /package/dist/core/{p-027ea4ff.entry.js.map → p-88ea1e49.entry.js.map} +0 -0
  500. /package/dist/core/{p-72d6619c.entry.js.map → p-932fb4b7.entry.js.map} +0 -0
  501. /package/dist/core/{p-4164e7d5.entry.js.map → p-a4397df4.entry.js.map} +0 -0
  502. /package/dist/core/{p-3758c2b5.entry.js.map → p-b0ce60a0.entry.js.map} +0 -0
  503. /package/dist/core/{p-134b407d.entry.js.map → p-c0c62df4.entry.js.map} +0 -0
  504. /package/dist/core/{p-d8022cec.entry.js.map → p-c9ef9f5c.entry.js.map} +0 -0
  505. /package/dist/core/{p-e465a208.entry.js.map → p-ccac1730.entry.js.map} +0 -0
  506. /package/dist/core/{p-bb085716.entry.js.map → p-cf4bacee.entry.js.map} +0 -0
  507. /package/dist/core/{p-09eb825d.entry.js.map → p-e3bffcae.entry.js.map} +0 -0
  508. /package/dist/core/{p-b80520e9.entry.js.map → p-f019219c.entry.js.map} +0 -0
  509. /package/dist/core/{p-27b46a68.entry.js.map → p-fbc8a739.entry.js.map} +0 -0
@@ -145,63 +145,144 @@ describe("ic-dialog", () => {
145
145
  dialogDisplay = (await dialog.getComputedStyle()).display;
146
146
  expect(dialogDisplay).toBe("flex");
147
147
  });
148
- it("should test dialog content overflow", async () => {
148
+ it("should be able to tab to dynamically added interactive element", async () => {
149
149
  const page = await newE2EPage();
150
- await page.setContent(`
151
- <script>
152
- function showDialog() {
153
- dialog = document.querySelector("ic-dialog");
154
- dialog.open = true;
155
- }
156
- </script>
157
- <ic-button id="showBtn" variant="primary" onclick="showDialog()"
158
- >Launch dialog</ic-button
159
- >
160
- <ic-dialog
161
- heading="This dialog has slotted interactive content"
162
- label="slotted"
163
- dismiss-label="Close"
164
- size="medium"
165
- >
166
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
167
- tempor incididunt ut labore et dolore magna aliqua.
168
- <ic-text-field id="text-field" label="What is your favourite coffee?">
169
- </ic-text-field>
170
- <ic-select
171
- id="sel1"
172
- label="What is your favourite coffee?"
173
- placeholder="Placeholder goes here"
174
- ></ic-select>
175
- <ic-checkbox-group
176
- style="margin: 8px 0"
177
- hide-label
178
- label="confirm"
179
- name="confirm-checkbox"
180
- >
181
- <ic-checkbox label="Option" value="confirm" id="checkbox1"></ic-checkbox>
182
- </ic-checkbox-group>
183
- </ic-dialog>
150
+ await page.setContent(`<script>
151
+ function showSmallDialog() {
152
+ dialog = document.querySelector("#small-dialog");
153
+ dialog.showDialog();
154
+ }
155
+ function showNewBtn() {
156
+ var el = document.createElement("ic-button");
157
+ el.innerText = "foo";
158
+ var base = document.querySelector("#base");
159
+ base.after(el);
160
+ }
161
+ </script>
162
+ <ic-button variant="primary" id='showBtn' onclick="showSmallDialog()">
163
+ Launch small dialog
164
+ </ic-button>
165
+ <ic-dialog
166
+ heading="This is a small dialog"
167
+ label="Small"
168
+ id="small-dialog"
169
+ >
170
+ <ic-typography>
171
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
172
+ eiusmod tempor incididunt ut labore et dolore magna aliqua.
173
+ </ic-typography>
174
+ <ic-button class="show" onclick="showNewBtn();">Show</ic-button>
175
+ <div id="base"></div>
176
+ </ic-dialog>
184
177
  `);
185
- await page.setViewport({
186
- width: 800,
187
- height: 480,
188
- });
189
178
  const btn = await page.find("#showBtn");
190
179
  btn.click();
191
180
  await page.waitForChanges();
192
181
  await page.waitForTimeout(DIALOG_DELAY_MS);
193
- let dialog = await page.find("ic-dialog");
194
- let overflow = dialog.getAttribute("data-overflow");
195
- expect(overflow).toBe("true");
196
- await page.setViewport({
197
- width: 800,
198
- height: 800,
182
+ let focusedEl = await page.evaluate(() => {
183
+ const el = document.activeElement;
184
+ return {
185
+ tagName: el.tagName,
186
+ textContent: el.textContent,
187
+ };
188
+ });
189
+ expect(focusedEl.tagName).toBe("IC-BUTTON");
190
+ expect(focusedEl.textContent).toBe("Show");
191
+ await page.keyboard.press("Tab");
192
+ await page.waitForChanges();
193
+ focusedEl = await page.evaluate(() => {
194
+ const dialog = document.querySelector("ic-dialog");
195
+ const el = dialog.shadowRoot.activeElement;
196
+ return {
197
+ tagName: el.tagName,
198
+ textContent: el.textContent,
199
+ };
199
200
  });
201
+ expect(focusedEl.tagName).toBe("IC-BUTTON");
202
+ expect(focusedEl.textContent).toBe("Cancel");
203
+ const showBtn = await page.find(".show");
204
+ await showBtn.click();
205
+ await page.waitForChanges();
206
+ await page.keyboard.press("Tab");
207
+ await page.waitForChanges();
208
+ focusedEl = await page.evaluate(() => {
209
+ const el = document.activeElement;
210
+ return {
211
+ tagName: el.tagName,
212
+ textContent: el.textContent,
213
+ };
214
+ });
215
+ expect(focusedEl.tagName).toBe("IC-BUTTON");
216
+ expect(focusedEl.textContent).toBe("foo");
217
+ });
218
+ it("should not tab to interactive button when hidden and tab to cancel button", async () => {
219
+ const page = await newE2EPage();
220
+ await page.setContent(`<script>
221
+ function showSmallDialog() {
222
+ dialog = document.querySelector("#small-dialog");
223
+ dialog.showDialog();
224
+ }
225
+ function hideNewBtn() {
226
+ var btn = document.querySelector("#hide-btn");
227
+ btn.remove();
228
+ }
229
+ </script>
230
+ <ic-button variant="primary" id='showBtn' onclick="showSmallDialog()">
231
+ Launch small dialog
232
+ </ic-button>
233
+ <ic-dialog
234
+ heading="This is a small dialog"
235
+ label="Small"
236
+ id="small-dialog"
237
+ >
238
+ <ic-typography>
239
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
240
+ eiusmod tempor incididunt ut labore et dolore magna aliqua.
241
+ </ic-typography>
242
+ <ic-button class="hide" onclick="hideNewBtn();">Hide</ic-button>
243
+ <ic-button id='hide-btn'>foo</ic-button>
244
+ <div id="base"></div>
245
+ </ic-dialog>
246
+ `);
247
+ const btn = await page.find("#showBtn");
248
+ await btn.click();
200
249
  await page.waitForChanges();
201
250
  await page.waitForTimeout(DIALOG_DELAY_MS);
202
- dialog = await page.find("ic-dialog");
203
- overflow = dialog.getAttribute("data-overflow");
204
- expect(overflow).toBe("false");
251
+ let focusedEl = await page.evaluate(() => {
252
+ const el = document.activeElement;
253
+ return {
254
+ tagName: el.tagName,
255
+ textContent: el.textContent,
256
+ };
257
+ });
258
+ expect(focusedEl.tagName).toBe("IC-BUTTON");
259
+ expect(focusedEl.textContent).toBe("Hide");
260
+ await page.keyboard.press("Tab");
261
+ await page.waitForChanges();
262
+ focusedEl = await page.evaluate(() => {
263
+ const el = document.activeElement;
264
+ return {
265
+ tagName: el.tagName,
266
+ textContent: el.textContent,
267
+ };
268
+ });
269
+ expect(focusedEl.tagName).toBe("IC-BUTTON");
270
+ expect(focusedEl.textContent).toBe("foo");
271
+ const hideBtn = await page.find(".hide");
272
+ await hideBtn.click();
273
+ await page.waitForChanges();
274
+ await page.keyboard.press("Tab");
275
+ await page.waitForChanges();
276
+ focusedEl = await page.evaluate(() => {
277
+ const dialog = document.querySelector("ic-dialog");
278
+ const el = dialog.shadowRoot.activeElement;
279
+ return {
280
+ tagName: el.tagName,
281
+ textContent: el.textContent,
282
+ };
283
+ });
284
+ expect(focusedEl.tagName).toBe("IC-BUTTON");
285
+ expect(focusedEl.textContent).toBe("Cancel");
205
286
  });
206
287
  });
207
288
  //# sourceMappingURL=ic-dialog.e2e.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ic-dialog.e2e.js","sourceRoot":"","sources":["../../../../../src/components/ic-dialog/test/basic/ic-dialog.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { newE2EPage } from \"@stencil/core/testing\";\n\nbeforeAll(() => {\n jest.spyOn(console, \"warn\").mockImplementation(jest.fn());\n});\n\nconst DIALOG_DELAY_MS = 300;\n\ndescribe(\"ic-dialog\", () => {\n it(\"should test focus and tab key press\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n `\n <script>\n function showDialog() {\n dialog = document.querySelector(\"ic-dialog\");\n dialog.open = true;\n }\n </script>\n <ic-button id=\"showBtn\" variant=\"primary\" onclick=\"showDialog()\"\n >Launch dialog</ic-button\n >\n <ic-dialog\n heading=\"This dialog has slotted interactive content\"\n label=\"slotted\"\n dismiss-label=\"Close\"\n size=\"medium\"\n >\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod\n tempor incididunt ut labore et dolore magna aliqua.\n <ic-text-field id=\"text-field\" label=\"What is your favourite coffee?\">\n </ic-text-field>\n <ic-select\n id=\"sel1\"\n label=\"What is your favourite coffee?\"\n placeholder=\"Placeholder goes here\"\n ></ic-select>\n <ic-checkbox-group\n style=\"margin: 8px 0\"\n hide-label\n label=\"confirm\"\n name=\"confirm-checkbox\"\n >\n <ic-checkbox label=\"Option\" value=\"confirm\" id=\"checkbox1\"></ic-checkbox>\n </ic-checkbox-group>\n </ic-dialog>\n `\n );\n\n const btn = await page.find(\"#showBtn\");\n btn.click();\n\n await page.waitForChanges();\n await page.waitForTimeout(DIALOG_DELAY_MS);\n\n let activeElement = await page.evaluate(() => document.activeElement.id);\n expect(activeElement).toEqual(\"text-field\");\n\n await page.keyboard.press(\"Tab\");\n await page.waitForChanges();\n\n activeElement = await page.evaluate(() => document.activeElement.id);\n expect(activeElement).toEqual(\"sel1\");\n\n await page.keyboard.press(\"Tab\");\n await page.waitForChanges();\n\n activeElement = await page.evaluate(() => document.activeElement.id);\n expect(activeElement).toEqual(\"checkbox1\");\n\n await page.keyboard.press(\"Tab\");\n await page.waitForChanges();\n\n activeElement = await page.evaluate(() => document.activeElement.id);\n expect(activeElement).toEqual(\"\");\n\n await page.keyboard.press(\"Tab\");\n await page.waitForChanges();\n\n activeElement = await page.evaluate(() => document.activeElement.id);\n expect(activeElement).toEqual(\"\");\n\n await page.keyboard.press(\"Tab\");\n await page.waitForChanges();\n\n activeElement = await page.evaluate(() => document.activeElement.id);\n expect(activeElement).toEqual(\"\");\n\n await page.keyboard.press(\"Tab\");\n await page.waitForChanges();\n\n activeElement = await page.evaluate(() => document.activeElement.id);\n expect(activeElement).toEqual(\"text-field\");\n });\n\n it(\"should hide dialog when background clicked\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n `\n <script>\n function showDialog() {\n dialog = document.querySelector(\"ic-dialog\");\n dialog.open = true;\n }\n </script>\n <ic-button id=\"showBtn\" variant=\"primary\" onclick=\"showDialog()\"\n >Launch dialog</ic-button\n >\n <ic-dialog\n heading=\"This dialog has slotted interactive content\"\n label=\"slotted\"\n size=\"medium\"\n >\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod\n tempor incididunt ut labore et dolore magna aliqua. \n </ic-dialog>\n `\n );\n\n const dialog = await page.find(\"ic-dialog\");\n\n let dialogDisplay = (await dialog.getComputedStyle()).display;\n expect(dialogDisplay).toBe(\"none\");\n\n const btn = await page.find(\"#showBtn\");\n btn.click();\n\n await page.waitForChanges();\n await page.waitForTimeout(DIALOG_DELAY_MS);\n\n dialogDisplay = (await dialog.getComputedStyle()).display;\n expect(dialogDisplay).toBe(\"flex\");\n\n await page.mouse.click(10, 10);\n await page.waitForChanges();\n await page.waitForTimeout(DIALOG_DELAY_MS);\n\n dialogDisplay = (await dialog.getComputedStyle()).display;\n expect(dialogDisplay).toBe(\"none\");\n });\n\n it(\"should not hide dialog when background clicked\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n `\n <script>\n function showDialog() {\n dialog = document.querySelector(\"ic-dialog\");\n dialog.open = true;\n }\n </script>\n <ic-button id=\"showBtn\" variant=\"primary\" onclick=\"showDialog()\"\n >Launch dialog</ic-button\n >\n <ic-dialog\n heading=\"This dialog has slotted interactive content\"\n label=\"slotted\"\n size=\"medium\"\n close-on-backdrop-click=\"false\"\n >\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod\n tempor incididunt ut labore et dolore magna aliqua. \n </ic-dialog>\n `\n );\n\n const dialog = await page.find(\"ic-dialog\");\n\n let dialogDisplay = (await dialog.getComputedStyle()).display;\n expect(dialogDisplay).toBe(\"none\");\n\n const btn = await page.find(\"#showBtn\");\n btn.click();\n\n await page.waitForChanges();\n await page.waitForTimeout(DIALOG_DELAY_MS);\n\n dialogDisplay = (await dialog.getComputedStyle()).display;\n expect(dialogDisplay).toBe(\"flex\");\n\n await page.mouse.click(10, 10);\n await page.waitForChanges();\n await page.waitForTimeout(DIALOG_DELAY_MS);\n\n dialogDisplay = (await dialog.getComputedStyle()).display;\n expect(dialogDisplay).toBe(\"flex\");\n });\n\n it(\"should test dialog content overflow\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n `\n <script>\n function showDialog() {\n dialog = document.querySelector(\"ic-dialog\");\n dialog.open = true;\n }\n </script>\n <ic-button id=\"showBtn\" variant=\"primary\" onclick=\"showDialog()\"\n >Launch dialog</ic-button\n >\n <ic-dialog\n heading=\"This dialog has slotted interactive content\"\n label=\"slotted\"\n dismiss-label=\"Close\"\n size=\"medium\"\n >\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod\n tempor incididunt ut labore et dolore magna aliqua.\n <ic-text-field id=\"text-field\" label=\"What is your favourite coffee?\">\n </ic-text-field>\n <ic-select\n id=\"sel1\"\n label=\"What is your favourite coffee?\"\n placeholder=\"Placeholder goes here\"\n ></ic-select>\n <ic-checkbox-group\n style=\"margin: 8px 0\"\n hide-label\n label=\"confirm\"\n name=\"confirm-checkbox\"\n >\n <ic-checkbox label=\"Option\" value=\"confirm\" id=\"checkbox1\"></ic-checkbox>\n </ic-checkbox-group>\n </ic-dialog>\n `\n );\n\n await page.setViewport({\n width: 800,\n height: 480,\n });\n\n const btn = await page.find(\"#showBtn\");\n btn.click();\n\n await page.waitForChanges();\n await page.waitForTimeout(DIALOG_DELAY_MS);\n\n let dialog = await page.find(\"ic-dialog\");\n\n let overflow = dialog.getAttribute(\"data-overflow\");\n expect(overflow).toBe(\"true\");\n\n await page.setViewport({\n width: 800,\n height: 800,\n });\n\n await page.waitForChanges();\n await page.waitForTimeout(DIALOG_DELAY_MS);\n\n dialog = await page.find(\"ic-dialog\");\n\n overflow = dialog.getAttribute(\"data-overflow\");\n expect(overflow).toBe(\"false\");\n });\n});\n"]}
1
+ {"version":3,"file":"ic-dialog.e2e.js","sourceRoot":"","sources":["../../../../../src/components/ic-dialog/test/basic/ic-dialog.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { newE2EPage } from \"@stencil/core/testing\";\n\nbeforeAll(() => {\n jest.spyOn(console, \"warn\").mockImplementation(jest.fn());\n});\n\nconst DIALOG_DELAY_MS = 300;\n\ndescribe(\"ic-dialog\", () => {\n it(\"should test focus and tab key press\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n `\n <script>\n function showDialog() {\n dialog = document.querySelector(\"ic-dialog\");\n dialog.open = true;\n }\n </script>\n <ic-button id=\"showBtn\" variant=\"primary\" onclick=\"showDialog()\"\n >Launch dialog</ic-button\n >\n <ic-dialog\n heading=\"This dialog has slotted interactive content\"\n label=\"slotted\"\n dismiss-label=\"Close\"\n size=\"medium\"\n >\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod\n tempor incididunt ut labore et dolore magna aliqua.\n <ic-text-field id=\"text-field\" label=\"What is your favourite coffee?\">\n </ic-text-field>\n <ic-select\n id=\"sel1\"\n label=\"What is your favourite coffee?\"\n placeholder=\"Placeholder goes here\"\n ></ic-select>\n <ic-checkbox-group\n style=\"margin: 8px 0\"\n hide-label\n label=\"confirm\"\n name=\"confirm-checkbox\"\n >\n <ic-checkbox label=\"Option\" value=\"confirm\" id=\"checkbox1\"></ic-checkbox>\n </ic-checkbox-group>\n </ic-dialog>\n `\n );\n\n const btn = await page.find(\"#showBtn\");\n btn.click();\n\n await page.waitForChanges();\n await page.waitForTimeout(DIALOG_DELAY_MS);\n\n let activeElement = await page.evaluate(() => document.activeElement.id);\n expect(activeElement).toEqual(\"text-field\");\n\n await page.keyboard.press(\"Tab\");\n await page.waitForChanges();\n\n activeElement = await page.evaluate(() => document.activeElement.id);\n expect(activeElement).toEqual(\"sel1\");\n\n await page.keyboard.press(\"Tab\");\n await page.waitForChanges();\n\n activeElement = await page.evaluate(() => document.activeElement.id);\n expect(activeElement).toEqual(\"checkbox1\");\n\n await page.keyboard.press(\"Tab\");\n await page.waitForChanges();\n\n activeElement = await page.evaluate(() => document.activeElement.id);\n expect(activeElement).toEqual(\"\");\n\n await page.keyboard.press(\"Tab\");\n await page.waitForChanges();\n\n activeElement = await page.evaluate(() => document.activeElement.id);\n expect(activeElement).toEqual(\"\");\n\n await page.keyboard.press(\"Tab\");\n await page.waitForChanges();\n\n activeElement = await page.evaluate(() => document.activeElement.id);\n expect(activeElement).toEqual(\"\");\n\n await page.keyboard.press(\"Tab\");\n await page.waitForChanges();\n\n activeElement = await page.evaluate(() => document.activeElement.id);\n expect(activeElement).toEqual(\"text-field\");\n });\n\n it(\"should hide dialog when background clicked\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n `\n <script>\n function showDialog() {\n dialog = document.querySelector(\"ic-dialog\");\n dialog.open = true;\n }\n </script>\n <ic-button id=\"showBtn\" variant=\"primary\" onclick=\"showDialog()\"\n >Launch dialog</ic-button\n >\n <ic-dialog\n heading=\"This dialog has slotted interactive content\"\n label=\"slotted\"\n size=\"medium\"\n >\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod\n tempor incididunt ut labore et dolore magna aliqua. \n </ic-dialog>\n `\n );\n\n const dialog = await page.find(\"ic-dialog\");\n\n let dialogDisplay = (await dialog.getComputedStyle()).display;\n expect(dialogDisplay).toBe(\"none\");\n\n const btn = await page.find(\"#showBtn\");\n btn.click();\n\n await page.waitForChanges();\n await page.waitForTimeout(DIALOG_DELAY_MS);\n\n dialogDisplay = (await dialog.getComputedStyle()).display;\n expect(dialogDisplay).toBe(\"flex\");\n\n await page.mouse.click(10, 10);\n await page.waitForChanges();\n await page.waitForTimeout(DIALOG_DELAY_MS);\n\n dialogDisplay = (await dialog.getComputedStyle()).display;\n expect(dialogDisplay).toBe(\"none\");\n });\n\n it(\"should not hide dialog when background clicked\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n `\n <script>\n function showDialog() {\n dialog = document.querySelector(\"ic-dialog\");\n dialog.open = true;\n }\n </script>\n <ic-button id=\"showBtn\" variant=\"primary\" onclick=\"showDialog()\"\n >Launch dialog</ic-button\n >\n <ic-dialog\n heading=\"This dialog has slotted interactive content\"\n label=\"slotted\"\n size=\"medium\"\n close-on-backdrop-click=\"false\"\n >\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod\n tempor incididunt ut labore et dolore magna aliqua. \n </ic-dialog>\n `\n );\n\n const dialog = await page.find(\"ic-dialog\");\n\n let dialogDisplay = (await dialog.getComputedStyle()).display;\n expect(dialogDisplay).toBe(\"none\");\n\n const btn = await page.find(\"#showBtn\");\n btn.click();\n\n await page.waitForChanges();\n await page.waitForTimeout(DIALOG_DELAY_MS);\n\n dialogDisplay = (await dialog.getComputedStyle()).display;\n expect(dialogDisplay).toBe(\"flex\");\n\n await page.mouse.click(10, 10);\n await page.waitForChanges();\n await page.waitForTimeout(DIALOG_DELAY_MS);\n\n dialogDisplay = (await dialog.getComputedStyle()).display;\n expect(dialogDisplay).toBe(\"flex\");\n });\n\n it(\"should be able to tab to dynamically added interactive element\", async () => {\n const page = await newE2EPage();\n await page.setContent(`<script>\n function showSmallDialog() {\n dialog = document.querySelector(\"#small-dialog\");\n dialog.showDialog();\n }\n function showNewBtn() {\n var el = document.createElement(\"ic-button\");\n el.innerText = \"foo\";\n var base = document.querySelector(\"#base\");\n base.after(el);\n }\n </script>\n <ic-button variant=\"primary\" id='showBtn' onclick=\"showSmallDialog()\">\n Launch small dialog\n </ic-button>\n <ic-dialog\n heading=\"This is a small dialog\"\n label=\"Small\"\n id=\"small-dialog\"\n >\n <ic-typography>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do\n eiusmod tempor incididunt ut labore et dolore magna aliqua.\n </ic-typography>\n <ic-button class=\"show\" onclick=\"showNewBtn();\">Show</ic-button>\n <div id=\"base\"></div>\n </ic-dialog>\n `);\n\n const btn = await page.find(\"#showBtn\");\n btn.click();\n\n await page.waitForChanges();\n await page.waitForTimeout(DIALOG_DELAY_MS);\n\n let focusedEl = await page.evaluate(() => {\n const el = document.activeElement;\n return {\n tagName: el.tagName,\n textContent: el.textContent,\n };\n });\n\n expect(focusedEl.tagName).toBe(\"IC-BUTTON\");\n expect(focusedEl.textContent).toBe(\"Show\");\n\n await page.keyboard.press(\"Tab\");\n await page.waitForChanges();\n\n focusedEl = await page.evaluate(() => {\n const dialog = document.querySelector(\"ic-dialog\");\n const el = dialog.shadowRoot.activeElement;\n return {\n tagName: el.tagName,\n textContent: el.textContent,\n };\n });\n\n expect(focusedEl.tagName).toBe(\"IC-BUTTON\");\n expect(focusedEl.textContent).toBe(\"Cancel\");\n\n const showBtn = await page.find(\".show\");\n await showBtn.click();\n await page.waitForChanges();\n\n await page.keyboard.press(\"Tab\");\n await page.waitForChanges();\n\n focusedEl = await page.evaluate(() => {\n const el = document.activeElement;\n return {\n tagName: el.tagName,\n textContent: el.textContent,\n };\n });\n\n expect(focusedEl.tagName).toBe(\"IC-BUTTON\");\n expect(focusedEl.textContent).toBe(\"foo\");\n });\n\n it(\"should not tab to interactive button when hidden and tab to cancel button\", async () => {\n const page = await newE2EPage();\n await page.setContent(`<script>\n function showSmallDialog() {\n dialog = document.querySelector(\"#small-dialog\");\n dialog.showDialog();\n }\n function hideNewBtn() {\n var btn = document.querySelector(\"#hide-btn\");\n btn.remove();\n }\n </script>\n <ic-button variant=\"primary\" id='showBtn' onclick=\"showSmallDialog()\">\n Launch small dialog\n </ic-button>\n <ic-dialog\n heading=\"This is a small dialog\"\n label=\"Small\"\n id=\"small-dialog\"\n >\n <ic-typography>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do\n eiusmod tempor incididunt ut labore et dolore magna aliqua.\n </ic-typography>\n <ic-button class=\"hide\" onclick=\"hideNewBtn();\">Hide</ic-button>\n <ic-button id='hide-btn'>foo</ic-button>\n <div id=\"base\"></div>\n </ic-dialog>\n `);\n\n const btn = await page.find(\"#showBtn\");\n await btn.click();\n\n await page.waitForChanges();\n await page.waitForTimeout(DIALOG_DELAY_MS);\n\n let focusedEl = await page.evaluate(() => {\n const el = document.activeElement;\n return {\n tagName: el.tagName,\n textContent: el.textContent,\n };\n });\n\n expect(focusedEl.tagName).toBe(\"IC-BUTTON\");\n expect(focusedEl.textContent).toBe(\"Hide\");\n\n await page.keyboard.press(\"Tab\");\n await page.waitForChanges();\n\n focusedEl = await page.evaluate(() => {\n const el = document.activeElement;\n return {\n tagName: el.tagName,\n textContent: el.textContent,\n };\n });\n\n expect(focusedEl.tagName).toBe(\"IC-BUTTON\");\n expect(focusedEl.textContent).toBe(\"foo\");\n\n const hideBtn = await page.find(\".hide\");\n await hideBtn.click();\n await page.waitForChanges();\n\n await page.keyboard.press(\"Tab\");\n await page.waitForChanges();\n\n focusedEl = await page.evaluate(() => {\n const dialog = document.querySelector(\"ic-dialog\");\n const el = dialog.shadowRoot.activeElement;\n return {\n tagName: el.tagName,\n textContent: el.textContent,\n };\n });\n\n expect(focusedEl.tagName).toBe(\"IC-BUTTON\");\n expect(focusedEl.textContent).toBe(\"Cancel\");\n });\n});\n"]}
@@ -8,6 +8,9 @@ const setupDialogMethods = (page) => {
8
8
  page.rootInstance.dialogEl.showModal = jest.fn(function mock() {
9
9
  this.open = true;
10
10
  });
11
+ page.rootInstance.dialogEl.show = jest.fn(function mock() {
12
+ this.open = true;
13
+ });
11
14
  page.rootInstance.dialogEl.close = jest.fn(function mock() {
12
15
  this.open = false;
13
16
  });
@@ -453,43 +456,6 @@ describe("ic-dialog component", () => {
453
456
  await page.waitForChanges();
454
457
  expect(page.rootInstance.dialogRendered).toBe(true);
455
458
  });
456
- it("should set appropriate data-overflow attribute", async () => {
457
- const page = await newSpecPage({
458
- components: [Dialog, TextField, Button],
459
- html: `<ic-dialog heading="Dialog heading"></ic-dialog>`,
460
- });
461
- setupDialogMethods(page);
462
- const dialog = document.querySelector("ic-dialog");
463
- await dialog.showDialog();
464
- dialog.open = true;
465
- await page.waitForChanges();
466
- //delay for setTimeout in code
467
- await waitForTimeout(DIALOG_DELAY_MS);
468
- page.rootInstance.dialogEl.clientHeight = 100;
469
- page.rootInstance.dialogEl.scrollHeight = 100;
470
- await page.waitForChanges();
471
- //delay for setTimeout in code
472
- await waitForTimeout(DIALOG_DELAY_MS);
473
- page.rootInstance.resizeObserverCallback();
474
- expect(page.rootInstance.el.getAttribute("data-overflow")).toBe("false");
475
- await dialog.hideDialog();
476
- dialog.open = false;
477
- await page.waitForChanges();
478
- //delay for setTimeout in code
479
- await waitForTimeout(DIALOG_DELAY_MS);
480
- await dialog.showDialog();
481
- dialog.open = true;
482
- await page.waitForChanges();
483
- //delay for setTimeout in code
484
- await waitForTimeout(DIALOG_DELAY_MS);
485
- page.rootInstance.dialogEl.clientHeight = 50;
486
- page.rootInstance.dialogEl.scrollHeight = 100;
487
- await page.waitForChanges();
488
- //delay for setTimeout in code
489
- await waitForTimeout(DIALOG_DELAY_MS);
490
- page.rootInstance.resizeObserverCallback();
491
- expect(page.rootInstance.el.getAttribute("data-overflow")).toBe("true");
492
- });
493
459
  it("should correctly pass onclick functions to two default buttons", async () => {
494
460
  const page = await newSpecPage({
495
461
  components: [Dialog, Button],
@@ -503,7 +469,6 @@ describe("ic-dialog component", () => {
503
469
  ];
504
470
  await page.waitForChanges();
505
471
  expect(page.rootInstance.dialogRendered).toBe(false);
506
- await dialog.showDialog();
507
472
  dialog.open = true;
508
473
  await page.waitForChanges();
509
474
  //delay for setTimeout in code
@@ -514,7 +479,6 @@ describe("ic-dialog component", () => {
514
479
  //delay for setTimeout in code
515
480
  await waitForTimeout(DIALOG_DELAY_MS);
516
481
  expect(page.rootInstance.dialogRendered).toBe(false);
517
- await dialog.showDialog();
518
482
  dialog.open = true;
519
483
  await page.waitForChanges();
520
484
  //delay for setTimeout in code
@@ -574,5 +538,56 @@ describe("ic-dialog component", () => {
574
538
  await waitForTimeout(DIALOG_DELAY_MS);
575
539
  expect(page.rootInstance.dialogRendered).toBe(false);
576
540
  });
541
+ it("should render with the close button", async () => {
542
+ const page = await newSpecPage({
543
+ components: [Dialog, Button],
544
+ html: '<ic-dialog heading="Dialog with close button test"></ic-dialog>',
545
+ });
546
+ setupDialogMethods(page);
547
+ expect(page.root).toMatchSnapshot();
548
+ });
549
+ it("should render without the close button", async () => {
550
+ const page = await newSpecPage({
551
+ components: [Dialog, Button],
552
+ html: '<ic-dialog heading="Dialog hide close button test" hide-close-button="true"></ic-dialog>',
553
+ });
554
+ setupDialogMethods(page);
555
+ expect(page.root).toMatchSnapshot();
556
+ });
557
+ it("should call this.getInteractiveElements() when slot content changes", async () => {
558
+ const page = await newSpecPage({
559
+ components: [Dialog, Button],
560
+ html: '<ic-dialog heading="Dialog heading" disable-height-constraint="true"></ic-dialog>',
561
+ });
562
+ const contentAreaSlot = document
563
+ .querySelector("ic-dialog")
564
+ .shadowRoot.querySelector(".content-area slot");
565
+ jest
566
+ .spyOn(page.rootInstance, "getInteractiveElements")
567
+ .mockImplementation();
568
+ await page.rootInstance.refreshInteractiveElementsOnSlotChange();
569
+ contentAreaSlot.dispatchEvent(new Event("slotchange"));
570
+ expect(page.rootInstance.getInteractiveElements).toBeCalledTimes(1);
571
+ });
572
+ it("should call dialog.show() disableHeightConstraint is set and showDialog is called", async () => {
573
+ const page = await newSpecPage({
574
+ components: [Dialog, Button],
575
+ html: '<ic-dialog heading="Dialog heading" disable-height-constraint="true"></ic-dialog>',
576
+ });
577
+ setupDialogMethods(page);
578
+ const dialog = document.querySelector("ic-dialog");
579
+ dialog.buttonProps = [
580
+ { label: "Cancel", onclick: "this.hideDialog()" },
581
+ { label: "Options", onclick: "this.hideDialog()" },
582
+ { label: "Confirm", onclick: "this.hideDialog()" },
583
+ ];
584
+ await page.waitForChanges();
585
+ expect(page.rootInstance.dialogRendered).toBe(false);
586
+ await dialog.showDialog();
587
+ await page.waitForChanges();
588
+ //delay for setTimeout in code
589
+ await waitForTimeout(DIALOG_DELAY_MS);
590
+ expect(page.rootInstance.dialogEl.show).toBeCalled();
591
+ });
577
592
  });
578
593
  //# sourceMappingURL=ic-dialog.spec.js.map