@ukic/web-components 2.5.0 → 2.6.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 (684) hide show
  1. package/dist/cjs/core.cjs.js +2 -2
  2. package/dist/cjs/{helpers-d166f875.js → helpers-498eb0e2.js} +8 -1
  3. package/dist/cjs/helpers-498eb0e2.js.map +1 -0
  4. package/dist/cjs/ic-accordion-group.cjs.entry.js +1 -1
  5. package/dist/cjs/ic-accordion-group.cjs.entry.js.map +1 -1
  6. package/dist/cjs/ic-accordion.cjs.entry.js +2 -2
  7. package/dist/cjs/ic-alert.cjs.entry.js +2 -2
  8. package/dist/cjs/ic-back-to-top.cjs.entry.js +2 -2
  9. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  10. package/dist/cjs/ic-badge.cjs.entry.js +10 -6
  11. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  12. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +6 -4
  13. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
  14. package/dist/cjs/ic-breadcrumb.cjs.entry.js +5 -5
  15. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  16. package/dist/cjs/ic-button_3.cjs.entry.js +70 -71
  17. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  18. package/dist/cjs/ic-card.cjs.entry.js +4 -4
  19. package/dist/cjs/ic-card.cjs.entry.js.map +1 -1
  20. package/dist/cjs/ic-checkbox-group.cjs.entry.js +6 -6
  21. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  22. package/dist/cjs/ic-checkbox.cjs.entry.js +22 -16
  23. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  24. package/dist/cjs/ic-chip.cjs.entry.js +11 -6
  25. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  26. package/dist/cjs/ic-classification-banner.cjs.entry.js +1 -1
  27. package/dist/cjs/ic-data-entity.cjs.entry.js +6 -5
  28. package/dist/cjs/ic-data-entity.cjs.entry.js.map +1 -1
  29. package/dist/cjs/ic-data-row.cjs.entry.js +5 -4
  30. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  31. package/dist/cjs/ic-dialog.cjs.entry.js +46 -10
  32. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  33. package/dist/cjs/ic-divider.cjs.entry.js +2 -2
  34. package/dist/cjs/ic-empty-state.cjs.entry.js +5 -4
  35. package/dist/cjs/ic-empty-state.cjs.entry.js.map +1 -1
  36. package/dist/cjs/ic-footer-link-group.cjs.entry.js +2 -2
  37. package/dist/cjs/ic-footer-link.cjs.entry.js +2 -2
  38. package/dist/cjs/ic-footer.cjs.entry.js +2 -2
  39. package/dist/cjs/ic-hero.cjs.entry.js +9 -6
  40. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  41. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +2 -2
  42. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +42 -23
  43. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  44. package/dist/cjs/ic-input-label_2.cjs.entry.js +5 -4
  45. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  46. package/dist/cjs/ic-link.cjs.entry.js +3 -6
  47. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  48. package/dist/cjs/ic-menu-group.cjs.entry.js +4 -2
  49. package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
  50. package/dist/cjs/ic-menu-item.cjs.entry.js +11 -15
  51. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  52. package/dist/cjs/ic-navigation-button.cjs.entry.js +3 -3
  53. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  54. package/dist/cjs/ic-navigation-group.cjs.entry.js +2 -2
  55. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  56. package/dist/cjs/ic-navigation-item.cjs.entry.js +4 -4
  57. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  58. package/dist/cjs/ic-navigation-menu.cjs.entry.js +2 -2
  59. package/dist/cjs/ic-page-header.cjs.entry.js +8 -4
  60. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  61. package/dist/cjs/ic-pagination-item.cjs.entry.js +2 -2
  62. package/dist/cjs/ic-pagination.cjs.entry.js +6 -6
  63. package/dist/cjs/ic-pagination.cjs.entry.js.map +1 -1
  64. package/dist/cjs/ic-popover-menu.cjs.entry.js +21 -21
  65. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  66. package/dist/cjs/ic-radio-group.cjs.entry.js +9 -8
  67. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  68. package/dist/cjs/ic-radio-option.cjs.entry.js +21 -15
  69. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  70. package/dist/cjs/ic-search-bar.cjs.entry.js +27 -22
  71. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  72. package/dist/cjs/ic-section-container.cjs.entry.js +1 -1
  73. package/dist/cjs/ic-select.cjs.entry.js +24 -17
  74. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  75. package/dist/cjs/ic-side-navigation.cjs.entry.js +23 -21
  76. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  77. package/dist/cjs/ic-skeleton.cjs.entry.js +4 -3
  78. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  79. package/dist/cjs/ic-status-tag.cjs.entry.js +14 -6
  80. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  81. package/dist/cjs/ic-step.cjs.entry.js +7 -5
  82. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  83. package/dist/cjs/ic-stepper.cjs.entry.js +2 -2
  84. package/dist/cjs/ic-switch.cjs.entry.js +7 -6
  85. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  86. package/dist/cjs/ic-tab-context.cjs.entry.js +4 -4
  87. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  88. package/dist/cjs/ic-tab-group.cjs.entry.js +2 -3
  89. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  90. package/dist/cjs/ic-tab-panel.cjs.entry.js +5 -4
  91. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  92. package/dist/cjs/ic-tab.cjs.entry.js +8 -8
  93. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  94. package/dist/cjs/ic-text-field.cjs.entry.js +5 -6
  95. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  96. package/dist/cjs/ic-theme.cjs.entry.js +2 -2
  97. package/dist/cjs/ic-toast-region.cjs.entry.js +1 -1
  98. package/dist/cjs/ic-toast.cjs.entry.js +3 -3
  99. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  100. package/dist/cjs/ic-top-navigation.cjs.entry.js +5 -5
  101. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  102. package/dist/cjs/ic-typography.cjs.entry.js +12 -4
  103. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  104. package/dist/cjs/{index-afe53465.js → index-4f8c900f.js} +14 -1
  105. package/dist/cjs/index-4f8c900f.js.map +1 -0
  106. package/dist/cjs/loader.cjs.js +2 -2
  107. package/dist/cjs/types-7d67439f.js.map +1 -1
  108. package/dist/collection/collection-manifest.json +3 -3
  109. package/dist/collection/components/ic-accordion-group/ic-accordion-group.js +0 -1
  110. package/dist/collection/components/ic-accordion-group/ic-accordion-group.js.map +1 -1
  111. package/dist/collection/components/ic-badge/ic-badge.js +38 -15
  112. package/dist/collection/components/ic-badge/ic-badge.js.map +1 -1
  113. package/dist/collection/components/ic-badge/test/basic/ic-badge.spec.js +92 -0
  114. package/dist/collection/components/ic-badge/test/basic/ic-badge.spec.js.map +1 -1
  115. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js +4 -4
  116. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js.map +1 -1
  117. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js +4 -2
  118. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js.map +1 -1
  119. package/dist/collection/components/ic-button/ic-button.css +36 -19
  120. package/dist/collection/components/ic-button/ic-button.js +98 -62
  121. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  122. package/dist/collection/components/ic-button/test/basic/ic-button.spec.js +30 -2
  123. package/dist/collection/components/ic-button/test/basic/ic-button.spec.js.map +1 -1
  124. package/dist/collection/components/ic-card/ic-card.css +1 -0
  125. package/dist/collection/components/ic-card/ic-card.js +2 -1
  126. package/dist/collection/components/ic-card/ic-card.js.map +1 -1
  127. package/dist/collection/components/ic-checkbox/ic-checkbox.js +126 -15
  128. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  129. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +4 -4
  130. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  131. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js +7 -0
  132. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js.map +1 -1
  133. package/dist/collection/components/ic-chip/ic-chip.css +10 -5
  134. package/dist/collection/components/ic-chip/ic-chip.js +38 -7
  135. package/dist/collection/components/ic-chip/ic-chip.js.map +1 -1
  136. package/dist/collection/components/ic-data-entity/ic-data-entity.js +38 -7
  137. package/dist/collection/components/ic-data-entity/ic-data-entity.js.map +1 -1
  138. package/dist/collection/components/ic-data-entity/test/basic/ic-data-entity.spec.js +3 -3
  139. package/dist/collection/components/ic-data-entity/test/basic/ic-data-entity.spec.js.map +1 -1
  140. package/dist/collection/components/ic-data-row/ic-data-row.js +33 -5
  141. package/dist/collection/components/ic-data-row/ic-data-row.js.map +1 -1
  142. package/dist/collection/components/ic-dialog/ic-dialog.js +91 -19
  143. package/dist/collection/components/ic-dialog/ic-dialog.js.map +1 -1
  144. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.e2e.js +4 -4
  145. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.e2e.js.map +1 -1
  146. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js +58 -0
  147. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js.map +1 -1
  148. package/dist/collection/components/ic-empty-state/ic-empty-state.js +8 -4
  149. package/dist/collection/components/ic-empty-state/ic-empty-state.js.map +1 -1
  150. package/dist/collection/components/ic-hero/ic-hero.js +38 -8
  151. package/dist/collection/components/ic-hero/ic-hero.js.map +1 -1
  152. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +61 -11
  153. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js.map +1 -1
  154. package/dist/collection/components/ic-input-component-container/test/basic/ic-input-component-container.spec.js +2 -2
  155. package/dist/collection/components/ic-input-component-container/test/basic/ic-input-component-container.spec.js.map +1 -1
  156. package/dist/collection/components/ic-input-label/ic-input-label.js +26 -4
  157. package/dist/collection/components/ic-input-label/ic-input-label.js.map +1 -1
  158. package/dist/collection/components/ic-link/ic-link.js +1 -4
  159. package/dist/collection/components/ic-link/ic-link.js.map +1 -1
  160. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +6 -5
  161. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js.map +1 -1
  162. package/dist/collection/components/ic-menu/ic-menu.js +62 -18
  163. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  164. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js +19 -2
  165. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js.map +1 -1
  166. package/dist/collection/components/ic-menu-group/ic-menu-group.js +2 -1
  167. package/dist/collection/components/ic-menu-group/ic-menu-group.js.map +1 -1
  168. package/dist/collection/components/ic-menu-item/ic-menu-item.js +10 -14
  169. package/dist/collection/components/ic-menu-item/ic-menu-item.js.map +1 -1
  170. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js +3 -2
  171. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js.map +1 -1
  172. package/dist/collection/components/ic-navigation-group/ic-navigation-group.css +1 -0
  173. package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +1 -0
  174. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +3 -2
  175. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -1
  176. package/dist/collection/components/ic-page-header/ic-page-header.js +35 -4
  177. package/dist/collection/components/ic-page-header/ic-page-header.js.map +1 -1
  178. package/dist/collection/components/ic-pagination/ic-pagination.js +4 -4
  179. package/dist/collection/components/ic-pagination/ic-pagination.js.map +1 -1
  180. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +20 -20
  181. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js.map +1 -1
  182. package/dist/collection/components/ic-radio-group/ic-radio-group.js +37 -9
  183. package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
  184. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js +7 -0
  185. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js.map +1 -1
  186. package/dist/collection/components/ic-radio-option/ic-radio-option.js +125 -14
  187. package/dist/collection/components/ic-radio-option/ic-radio-option.js.map +1 -1
  188. package/dist/collection/components/ic-search-bar/ic-search-bar.js +54 -22
  189. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  190. package/dist/collection/components/ic-select/ic-select.js +154 -18
  191. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  192. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js +7 -0
  193. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js.map +1 -1
  194. package/dist/collection/components/ic-side-navigation/ic-side-navigation.css +226 -224
  195. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +39 -19
  196. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
  197. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.e2e.js +1 -1
  198. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.e2e.js.map +1 -1
  199. package/dist/collection/components/ic-skeleton/ic-skeleton.js +26 -4
  200. package/dist/collection/components/ic-skeleton/ic-skeleton.js.map +1 -1
  201. package/dist/collection/components/ic-status-tag/ic-status-tag.js +71 -10
  202. package/dist/collection/components/ic-status-tag/ic-status-tag.js.map +1 -1
  203. package/dist/collection/components/ic-step/ic-step.js +5 -4
  204. package/dist/collection/components/ic-step/ic-step.js.map +1 -1
  205. package/dist/collection/components/ic-switch/ic-switch.js +34 -6
  206. package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
  207. package/dist/collection/components/ic-tab/ic-tab.js +6 -6
  208. package/dist/collection/components/ic-tab/ic-tab.js.map +1 -1
  209. package/dist/collection/components/ic-tab-context/ic-tab-context.js +3 -3
  210. package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -1
  211. package/dist/collection/components/ic-tab-group/ic-tab-group.js +0 -1
  212. package/dist/collection/components/ic-tab-group/ic-tab-group.js.map +1 -1
  213. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +4 -3
  214. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js.map +1 -1
  215. package/dist/collection/components/ic-text-field/ic-text-field.js +34 -8
  216. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  217. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js +1 -1
  218. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js.map +1 -1
  219. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.textarea.spec.js +17 -17
  220. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.textarea.spec.js.map +1 -1
  221. package/dist/collection/components/ic-toast/ic-toast.js +2 -2
  222. package/dist/collection/components/ic-toast/ic-toast.js.map +1 -1
  223. package/dist/collection/components/ic-tooltip/ic-tooltip.css +7 -1
  224. package/dist/collection/components/ic-tooltip/ic-tooltip.js +25 -29
  225. package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
  226. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.e2e.js +0 -8
  227. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.e2e.js.map +1 -1
  228. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.spec.js +10 -1
  229. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.spec.js.map +1 -1
  230. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +4 -4
  231. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
  232. package/dist/collection/components/ic-typography/ic-typography.js +10 -2
  233. package/dist/collection/components/ic-typography/ic-typography.js.map +1 -1
  234. package/dist/collection/utils/constants.js +2 -0
  235. package/dist/collection/utils/constants.js.map +1 -1
  236. package/dist/collection/utils/helpers.js +4 -0
  237. package/dist/collection/utils/helpers.js.map +1 -1
  238. package/dist/collection/utils/types.js.map +1 -1
  239. package/dist/components/helpers.js +7 -1
  240. package/dist/components/helpers.js.map +1 -1
  241. package/dist/components/ic-accordion-group.js.map +1 -1
  242. package/dist/components/ic-back-to-top.js +1 -1
  243. package/dist/components/ic-badge.js +10 -6
  244. package/dist/components/ic-badge.js.map +1 -1
  245. package/dist/components/ic-breadcrumb-group.js +5 -3
  246. package/dist/components/ic-breadcrumb-group.js.map +1 -1
  247. package/dist/components/ic-breadcrumb2.js +4 -4
  248. package/dist/components/ic-breadcrumb2.js.map +1 -1
  249. package/dist/components/ic-button2.js +62 -42
  250. package/dist/components/ic-button2.js.map +1 -1
  251. package/dist/components/ic-card.js +2 -2
  252. package/dist/components/ic-card.js.map +1 -1
  253. package/dist/components/ic-checkbox-group.js +5 -5
  254. package/dist/components/ic-checkbox-group.js.map +1 -1
  255. package/dist/components/ic-checkbox.js +27 -15
  256. package/dist/components/ic-checkbox.js.map +1 -1
  257. package/dist/components/ic-chip.js +10 -4
  258. package/dist/components/ic-chip.js.map +1 -1
  259. package/dist/components/ic-data-entity.js +6 -4
  260. package/dist/components/ic-data-entity.js.map +1 -1
  261. package/dist/components/ic-data-row.js +5 -3
  262. package/dist/components/ic-data-row.js.map +1 -1
  263. package/dist/components/ic-dialog.js +47 -9
  264. package/dist/components/ic-dialog.js.map +1 -1
  265. package/dist/components/ic-divider2.js +1 -1
  266. package/dist/components/ic-empty-state.js +4 -3
  267. package/dist/components/ic-empty-state.js.map +1 -1
  268. package/dist/components/ic-footer-link-group.js +1 -1
  269. package/dist/components/ic-footer-link.js +1 -1
  270. package/dist/components/ic-footer.js +1 -1
  271. package/dist/components/ic-hero.js +9 -5
  272. package/dist/components/ic-hero.js.map +1 -1
  273. package/dist/components/ic-horizontal-scroll2.js +1 -1
  274. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  275. package/dist/components/ic-input-component-container2.js +11 -7
  276. package/dist/components/ic-input-component-container2.js.map +1 -1
  277. package/dist/components/ic-input-label2.js +5 -3
  278. package/dist/components/ic-input-label2.js.map +1 -1
  279. package/dist/components/ic-input-validation2.js +1 -1
  280. package/dist/components/ic-link2.js +1 -4
  281. package/dist/components/ic-link2.js.map +1 -1
  282. package/dist/components/ic-loading-indicator2.js +6 -5
  283. package/dist/components/ic-loading-indicator2.js.map +1 -1
  284. package/dist/components/ic-menu-group.js +2 -1
  285. package/dist/components/ic-menu-group.js.map +1 -1
  286. package/dist/components/ic-menu-item2.js +10 -14
  287. package/dist/components/ic-menu-item2.js.map +1 -1
  288. package/dist/components/ic-menu2.js +34 -16
  289. package/dist/components/ic-menu2.js.map +1 -1
  290. package/dist/components/ic-navigation-button.js +2 -2
  291. package/dist/components/ic-navigation-button.js.map +1 -1
  292. package/dist/components/ic-navigation-group.js +1 -1
  293. package/dist/components/ic-navigation-group.js.map +1 -1
  294. package/dist/components/ic-navigation-item.js +3 -3
  295. package/dist/components/ic-navigation-item.js.map +1 -1
  296. package/dist/components/ic-navigation-menu2.js +1 -1
  297. package/dist/components/ic-page-header.js +8 -3
  298. package/dist/components/ic-page-header.js.map +1 -1
  299. package/dist/components/ic-pagination.js +4 -4
  300. package/dist/components/ic-pagination.js.map +1 -1
  301. package/dist/components/ic-popover-menu.js +20 -20
  302. package/dist/components/ic-popover-menu.js.map +1 -1
  303. package/dist/components/ic-radio-group.js +9 -7
  304. package/dist/components/ic-radio-group.js.map +1 -1
  305. package/dist/components/ic-radio-option.js +26 -14
  306. package/dist/components/ic-radio-option.js.map +1 -1
  307. package/dist/components/ic-search-bar.js +27 -21
  308. package/dist/components/ic-search-bar.js.map +1 -1
  309. package/dist/components/ic-select.js +30 -16
  310. package/dist/components/ic-select.js.map +1 -1
  311. package/dist/components/ic-side-navigation.js +23 -20
  312. package/dist/components/ic-side-navigation.js.map +1 -1
  313. package/dist/components/ic-skeleton.js +4 -2
  314. package/dist/components/ic-skeleton.js.map +1 -1
  315. package/dist/components/ic-status-tag.js +15 -5
  316. package/dist/components/ic-status-tag.js.map +1 -1
  317. package/dist/components/ic-step.js +5 -4
  318. package/dist/components/ic-step.js.map +1 -1
  319. package/dist/components/ic-stepper.js +1 -1
  320. package/dist/components/ic-switch.js +7 -5
  321. package/dist/components/ic-switch.js.map +1 -1
  322. package/dist/components/ic-tab-context.js +3 -3
  323. package/dist/components/ic-tab-context.js.map +1 -1
  324. package/dist/components/ic-tab-group.js +0 -1
  325. package/dist/components/ic-tab-group.js.map +1 -1
  326. package/dist/components/ic-tab-panel.js +4 -3
  327. package/dist/components/ic-tab-panel.js.map +1 -1
  328. package/dist/components/ic-tab.js +6 -6
  329. package/dist/components/ic-tab.js.map +1 -1
  330. package/dist/components/ic-text-field2.js +6 -6
  331. package/dist/components/ic-text-field2.js.map +1 -1
  332. package/dist/components/ic-theme.js +1 -1
  333. package/dist/components/ic-toast.js +2 -2
  334. package/dist/components/ic-toast.js.map +1 -1
  335. package/dist/components/ic-tooltip2.js +9 -28
  336. package/dist/components/ic-tooltip2.js.map +1 -1
  337. package/dist/components/ic-top-navigation.js +4 -4
  338. package/dist/components/ic-top-navigation.js.map +1 -1
  339. package/dist/components/ic-typography2.js +10 -2
  340. package/dist/components/ic-typography2.js.map +1 -1
  341. package/dist/components/types.js.map +1 -1
  342. package/dist/core/core.esm.js +1 -1
  343. package/dist/core/core.esm.js.map +1 -1
  344. package/dist/core/p-027ea4ff.entry.js +2 -0
  345. package/dist/core/{p-9ee852d9.entry.js → p-09022de8.entry.js} +2 -2
  346. package/dist/core/{p-ac82781b.entry.js → p-09eb825d.entry.js} +2 -2
  347. package/dist/core/p-0baa2141.entry.js +2 -0
  348. package/dist/core/p-0baa2141.entry.js.map +1 -0
  349. package/dist/core/p-0dd70d92.entry.js +2 -0
  350. package/dist/core/p-0dd70d92.entry.js.map +1 -0
  351. package/dist/core/p-134b407d.entry.js +2 -0
  352. package/dist/core/p-134b407d.entry.js.map +1 -0
  353. package/dist/core/p-1a5353ed.entry.js +2 -0
  354. package/dist/core/p-1a5353ed.entry.js.map +1 -0
  355. package/dist/core/{p-675fe4db.entry.js → p-27b46a68.entry.js} +2 -2
  356. package/dist/core/p-27b46a68.entry.js.map +1 -0
  357. package/dist/core/{p-64999983.entry.js → p-30f9fabc.entry.js} +2 -2
  358. package/dist/core/p-30f9fabc.entry.js.map +1 -0
  359. package/dist/core/{p-4fbe1dc3.entry.js → p-31236329.entry.js} +2 -2
  360. package/dist/core/p-31236329.entry.js.map +1 -0
  361. package/dist/core/{p-4ef8342f.entry.js → p-3758c2b5.entry.js} +2 -2
  362. package/dist/core/{p-60fef702.entry.js → p-39db6642.entry.js} +2 -2
  363. package/dist/core/p-39db6642.entry.js.map +1 -0
  364. package/dist/core/p-409e437f.js +2 -0
  365. package/dist/core/p-409e437f.js.map +1 -0
  366. package/dist/core/{p-e904d985.entry.js → p-4164e7d5.entry.js} +2 -2
  367. package/dist/core/{p-0e1a4f8d.entry.js → p-46053a32.entry.js} +2 -2
  368. package/dist/core/p-46053a32.entry.js.map +1 -0
  369. package/dist/core/{p-0fdb1e52.entry.js → p-48525498.entry.js} +2 -2
  370. package/dist/core/p-4af7cb4c.entry.js +2 -0
  371. package/dist/core/p-4af7cb4c.entry.js.map +1 -0
  372. package/dist/core/{p-cf95dd66.entry.js → p-500e8584.entry.js} +2 -2
  373. package/dist/core/{p-1650c1c2.entry.js → p-522947f5.entry.js} +2 -2
  374. package/dist/core/p-522947f5.entry.js.map +1 -0
  375. package/dist/core/{p-b42b8ffa.entry.js → p-53533992.entry.js} +2 -2
  376. package/dist/core/p-536b3c97.entry.js +2 -0
  377. package/dist/core/p-536b3c97.entry.js.map +1 -0
  378. package/dist/core/{p-4f070381.entry.js → p-5bb6c79b.entry.js} +2 -2
  379. package/dist/core/p-5bb6c79b.entry.js.map +1 -0
  380. package/dist/core/{p-913da6d0.entry.js → p-5c722379.entry.js} +2 -2
  381. package/dist/core/{p-913da6d0.entry.js.map → p-5c722379.entry.js.map} +1 -1
  382. package/dist/core/p-5c9457e2.entry.js +2 -0
  383. package/dist/core/p-5c9457e2.entry.js.map +1 -0
  384. package/dist/core/p-613aa265.js.map +1 -1
  385. package/dist/core/p-6286ad7b.entry.js +2 -0
  386. package/dist/core/p-6286ad7b.entry.js.map +1 -0
  387. package/dist/core/p-65715458.entry.js +2 -0
  388. package/dist/core/p-65715458.entry.js.map +1 -0
  389. package/dist/core/p-667711a8.entry.js +2 -0
  390. package/dist/core/p-667711a8.entry.js.map +1 -0
  391. package/dist/core/p-6991655b.entry.js +2 -0
  392. package/dist/core/p-6991655b.entry.js.map +1 -0
  393. package/dist/core/{p-038601a3.entry.js → p-69948c3e.entry.js} +2 -2
  394. package/dist/core/{p-038601a3.entry.js.map → p-69948c3e.entry.js.map} +1 -1
  395. package/dist/core/p-6ce0a089.entry.js +2 -0
  396. package/dist/core/p-6ce0a089.entry.js.map +1 -0
  397. package/dist/core/{p-0d71a937.entry.js → p-700559ee.entry.js} +2 -2
  398. package/dist/core/{p-05249867.entry.js → p-72d6619c.entry.js} +2 -2
  399. package/dist/core/{p-2184a72f.entry.js → p-78f0118c.entry.js} +2 -2
  400. package/dist/core/p-78f0118c.entry.js.map +1 -0
  401. package/dist/core/{p-ca6e5474.entry.js → p-7bc6eb83.entry.js} +2 -2
  402. package/dist/core/p-7c913098.entry.js +2 -0
  403. package/dist/core/p-7c913098.entry.js.map +1 -0
  404. package/dist/core/p-8ae11ca6.entry.js +2 -0
  405. package/dist/core/p-8ae11ca6.entry.js.map +1 -0
  406. package/dist/core/p-8fc9b82b.entry.js +2 -0
  407. package/dist/core/p-8fc9b82b.entry.js.map +1 -0
  408. package/dist/core/{p-85903a81.js → p-9d124fc7.js} +3 -3
  409. package/dist/core/p-9d124fc7.js.map +1 -0
  410. package/dist/core/p-9ea62161.entry.js +2 -0
  411. package/dist/core/p-9ea62161.entry.js.map +1 -0
  412. package/dist/core/p-a69c8001.entry.js +2 -0
  413. package/dist/core/p-a69c8001.entry.js.map +1 -0
  414. package/dist/core/p-ae1ed418.entry.js +2 -0
  415. package/dist/core/p-ae1ed418.entry.js.map +1 -0
  416. package/dist/core/{p-a388750d.entry.js → p-af9f1caa.entry.js} +2 -2
  417. package/dist/core/p-af9f1caa.entry.js.map +1 -0
  418. package/dist/core/{p-482397ae.entry.js → p-b80520e9.entry.js} +2 -2
  419. package/dist/core/p-ba25f08a.entry.js +2 -0
  420. package/dist/core/p-ba25f08a.entry.js.map +1 -0
  421. package/dist/core/p-bb085716.entry.js +2 -0
  422. package/dist/core/p-bb085716.entry.js.map +1 -0
  423. package/dist/core/{p-2d21de19.entry.js → p-bb3e7ce5.entry.js} +2 -2
  424. package/dist/core/p-bb3e7ce5.entry.js.map +1 -0
  425. package/dist/core/p-c01d43cf.entry.js +2 -0
  426. package/dist/core/p-c01d43cf.entry.js.map +1 -0
  427. package/dist/core/{p-d9fc7243.entry.js → p-c08b5a9a.entry.js} +2 -2
  428. package/dist/core/p-c08b5a9a.entry.js.map +1 -0
  429. package/dist/core/p-c5b6d645.entry.js +2 -0
  430. package/dist/core/p-c5b6d645.entry.js.map +1 -0
  431. package/dist/core/p-d4522596.entry.js +2 -0
  432. package/dist/core/p-d4522596.entry.js.map +1 -0
  433. package/dist/core/p-d8022cec.entry.js +2 -0
  434. package/dist/core/p-d8022cec.entry.js.map +1 -0
  435. package/dist/core/{p-e59d2d50.entry.js → p-e465a208.entry.js} +2 -2
  436. package/dist/core/{p-1db57a3f.entry.js → p-e71ec1fe.entry.js} +2 -2
  437. package/dist/core/p-e71ec1fe.entry.js.map +1 -0
  438. package/dist/core/{p-c1e8d13e.entry.js → p-ed256f1d.entry.js} +2 -2
  439. package/dist/core/p-f2f8e4aa.entry.js +2 -0
  440. package/dist/core/p-f2f8e4aa.entry.js.map +1 -0
  441. package/dist/core/p-f5947c60.entry.js +2 -0
  442. package/dist/core/p-f5947c60.entry.js.map +1 -0
  443. package/dist/core/p-f5d1a0d7.entry.js +2 -0
  444. package/dist/core/p-f5d1a0d7.entry.js.map +1 -0
  445. package/dist/core/{p-9bd160bb.entry.js → p-f62c902b.entry.js} +2 -2
  446. package/dist/core/p-f62c902b.entry.js.map +1 -0
  447. package/dist/core/p-fee7caf1.entry.js +2 -0
  448. package/dist/core/p-fee7caf1.entry.js.map +1 -0
  449. package/dist/esm/core.js +3 -3
  450. package/dist/esm/{helpers-81a88a11.js → helpers-c325e537.js} +8 -2
  451. package/dist/esm/helpers-c325e537.js.map +1 -0
  452. package/dist/esm/ic-accordion-group.entry.js +1 -1
  453. package/dist/esm/ic-accordion-group.entry.js.map +1 -1
  454. package/dist/esm/ic-accordion.entry.js +2 -2
  455. package/dist/esm/ic-alert.entry.js +2 -2
  456. package/dist/esm/ic-back-to-top.entry.js +2 -2
  457. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  458. package/dist/esm/ic-badge.entry.js +10 -6
  459. package/dist/esm/ic-badge.entry.js.map +1 -1
  460. package/dist/esm/ic-breadcrumb-group.entry.js +6 -4
  461. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  462. package/dist/esm/ic-breadcrumb.entry.js +5 -5
  463. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  464. package/dist/esm/ic-button_3.entry.js +70 -71
  465. package/dist/esm/ic-button_3.entry.js.map +1 -1
  466. package/dist/esm/ic-card.entry.js +4 -4
  467. package/dist/esm/ic-card.entry.js.map +1 -1
  468. package/dist/esm/ic-checkbox-group.entry.js +6 -6
  469. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  470. package/dist/esm/ic-checkbox.entry.js +22 -16
  471. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  472. package/dist/esm/ic-chip.entry.js +11 -6
  473. package/dist/esm/ic-chip.entry.js.map +1 -1
  474. package/dist/esm/ic-classification-banner.entry.js +1 -1
  475. package/dist/esm/ic-data-entity.entry.js +6 -5
  476. package/dist/esm/ic-data-entity.entry.js.map +1 -1
  477. package/dist/esm/ic-data-row.entry.js +5 -4
  478. package/dist/esm/ic-data-row.entry.js.map +1 -1
  479. package/dist/esm/ic-dialog.entry.js +46 -10
  480. package/dist/esm/ic-dialog.entry.js.map +1 -1
  481. package/dist/esm/ic-divider.entry.js +2 -2
  482. package/dist/esm/ic-empty-state.entry.js +5 -4
  483. package/dist/esm/ic-empty-state.entry.js.map +1 -1
  484. package/dist/esm/ic-footer-link-group.entry.js +2 -2
  485. package/dist/esm/ic-footer-link.entry.js +2 -2
  486. package/dist/esm/ic-footer.entry.js +2 -2
  487. package/dist/esm/ic-hero.entry.js +9 -6
  488. package/dist/esm/ic-hero.entry.js.map +1 -1
  489. package/dist/esm/ic-horizontal-scroll.entry.js +2 -2
  490. package/dist/esm/ic-input-component-container_3.entry.js +42 -23
  491. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  492. package/dist/esm/ic-input-label_2.entry.js +5 -4
  493. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  494. package/dist/esm/ic-link.entry.js +3 -6
  495. package/dist/esm/ic-link.entry.js.map +1 -1
  496. package/dist/esm/ic-menu-group.entry.js +4 -2
  497. package/dist/esm/ic-menu-group.entry.js.map +1 -1
  498. package/dist/esm/ic-menu-item.entry.js +11 -15
  499. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  500. package/dist/esm/ic-navigation-button.entry.js +3 -3
  501. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  502. package/dist/esm/ic-navigation-group.entry.js +2 -2
  503. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  504. package/dist/esm/ic-navigation-item.entry.js +4 -4
  505. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  506. package/dist/esm/ic-navigation-menu.entry.js +2 -2
  507. package/dist/esm/ic-page-header.entry.js +8 -4
  508. package/dist/esm/ic-page-header.entry.js.map +1 -1
  509. package/dist/esm/ic-pagination-item.entry.js +2 -2
  510. package/dist/esm/ic-pagination.entry.js +6 -6
  511. package/dist/esm/ic-pagination.entry.js.map +1 -1
  512. package/dist/esm/ic-popover-menu.entry.js +21 -21
  513. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  514. package/dist/esm/ic-radio-group.entry.js +9 -8
  515. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  516. package/dist/esm/ic-radio-option.entry.js +21 -15
  517. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  518. package/dist/esm/ic-search-bar.entry.js +27 -22
  519. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  520. package/dist/esm/ic-section-container.entry.js +1 -1
  521. package/dist/esm/ic-select.entry.js +24 -17
  522. package/dist/esm/ic-select.entry.js.map +1 -1
  523. package/dist/esm/ic-side-navigation.entry.js +23 -21
  524. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  525. package/dist/esm/ic-skeleton.entry.js +4 -3
  526. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  527. package/dist/esm/ic-status-tag.entry.js +14 -6
  528. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  529. package/dist/esm/ic-step.entry.js +7 -5
  530. package/dist/esm/ic-step.entry.js.map +1 -1
  531. package/dist/esm/ic-stepper.entry.js +2 -2
  532. package/dist/esm/ic-switch.entry.js +7 -6
  533. package/dist/esm/ic-switch.entry.js.map +1 -1
  534. package/dist/esm/ic-tab-context.entry.js +4 -4
  535. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  536. package/dist/esm/ic-tab-group.entry.js +2 -3
  537. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  538. package/dist/esm/ic-tab-panel.entry.js +5 -4
  539. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  540. package/dist/esm/ic-tab.entry.js +8 -8
  541. package/dist/esm/ic-tab.entry.js.map +1 -1
  542. package/dist/esm/ic-text-field.entry.js +5 -6
  543. package/dist/esm/ic-text-field.entry.js.map +1 -1
  544. package/dist/esm/ic-theme.entry.js +2 -2
  545. package/dist/esm/ic-toast-region.entry.js +1 -1
  546. package/dist/esm/ic-toast.entry.js +3 -3
  547. package/dist/esm/ic-toast.entry.js.map +1 -1
  548. package/dist/esm/ic-top-navigation.entry.js +5 -5
  549. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  550. package/dist/esm/ic-typography.entry.js +12 -4
  551. package/dist/esm/ic-typography.entry.js.map +1 -1
  552. package/dist/esm/{index-b006ae9d.js → index-813020f1.js} +14 -2
  553. package/dist/esm/index-813020f1.js.map +1 -0
  554. package/dist/esm/loader.js +3 -3
  555. package/dist/esm/types-b2398b37.js.map +1 -1
  556. package/dist/types/components/ic-badge/ic-badge.d.ts +7 -3
  557. package/dist/types/components/ic-button/ic-button.d.ts +12 -5
  558. package/dist/types/components/ic-card/ic-card.d.ts +1 -0
  559. package/dist/types/components/ic-checkbox/ic-checkbox.d.ts +28 -1
  560. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +1 -1
  561. package/dist/types/components/ic-chip/ic-chip.d.ts +6 -2
  562. package/dist/types/components/ic-data-entity/ic-data-entity.d.ts +10 -2
  563. package/dist/types/components/ic-data-row/ic-data-row.d.ts +7 -2
  564. package/dist/types/components/ic-dialog/ic-dialog.d.ts +11 -5
  565. package/dist/types/components/ic-empty-state/ic-empty-state.d.ts +4 -1
  566. package/dist/types/components/ic-hero/ic-hero.d.ts +7 -3
  567. package/dist/types/components/ic-input-component-container/ic-input-component-container.d.ts +13 -5
  568. package/dist/types/components/ic-input-label/ic-input-label.d.ts +5 -1
  569. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.d.ts +1 -1
  570. package/dist/types/components/ic-menu/ic-menu.d.ts +8 -3
  571. package/dist/types/components/ic-navigation-button/ic-navigation-button.d.ts +1 -0
  572. package/dist/types/components/ic-navigation-item/ic-navigation-item.d.ts +1 -0
  573. package/dist/types/components/ic-page-header/ic-page-header.d.ts +6 -2
  574. package/dist/types/components/ic-popover-menu/ic-popover-menu.d.ts +1 -1
  575. package/dist/types/components/ic-radio-group/ic-radio-group.d.ts +8 -4
  576. package/dist/types/components/ic-radio-option/ic-radio-option.d.ts +28 -1
  577. package/dist/types/components/ic-search-bar/ic-search-bar.d.ts +6 -2
  578. package/dist/types/components/ic-select/ic-select.d.ts +34 -4
  579. package/dist/types/components/ic-side-navigation/ic-side-navigation.d.ts +5 -0
  580. package/dist/types/components/ic-skeleton/ic-skeleton.d.ts +5 -1
  581. package/dist/types/components/ic-status-tag/ic-status-tag.d.ts +12 -2
  582. package/dist/types/components/ic-switch/ic-switch.d.ts +6 -1
  583. package/dist/types/components/ic-tab/ic-tab.d.ts +1 -1
  584. package/dist/types/components/ic-tab-context/ic-tab-context.d.ts +1 -1
  585. package/dist/types/components/ic-tab-group/ic-tab-group.d.ts +0 -1
  586. package/dist/types/components/ic-tab-panel/ic-tab-panel.d.ts +1 -1
  587. package/dist/types/components/ic-text-field/ic-text-field.d.ts +7 -3
  588. package/dist/types/components/ic-tooltip/ic-tooltip.d.ts +5 -3
  589. package/dist/types/components.d.ts +370 -57
  590. package/dist/types/utils/helpers.d.ts +1 -0
  591. package/dist/types/utils/types.d.ts +2 -0
  592. package/hydrate/index.js +480 -310
  593. package/package.json +5 -5
  594. package/dist/cjs/helpers-d166f875.js.map +0 -1
  595. package/dist/cjs/index-afe53465.js.map +0 -1
  596. package/dist/core/p-0353a1d8.entry.js +0 -2
  597. package/dist/core/p-0353a1d8.entry.js.map +0 -1
  598. package/dist/core/p-08c6119a.entry.js +0 -2
  599. package/dist/core/p-08c6119a.entry.js.map +0 -1
  600. package/dist/core/p-09004694.entry.js +0 -2
  601. package/dist/core/p-09004694.entry.js.map +0 -1
  602. package/dist/core/p-0e1a4f8d.entry.js.map +0 -1
  603. package/dist/core/p-10bfc292.entry.js +0 -2
  604. package/dist/core/p-10bfc292.entry.js.map +0 -1
  605. package/dist/core/p-1650c1c2.entry.js.map +0 -1
  606. package/dist/core/p-1db57a3f.entry.js.map +0 -1
  607. package/dist/core/p-1ed0a71d.entry.js +0 -2
  608. package/dist/core/p-1ed0a71d.entry.js.map +0 -1
  609. package/dist/core/p-2184a72f.entry.js.map +0 -1
  610. package/dist/core/p-293f4c5f.entry.js +0 -2
  611. package/dist/core/p-293f4c5f.entry.js.map +0 -1
  612. package/dist/core/p-2afa6d29.entry.js +0 -2
  613. package/dist/core/p-2afa6d29.entry.js.map +0 -1
  614. package/dist/core/p-2c09f9e0.entry.js +0 -2
  615. package/dist/core/p-2c09f9e0.entry.js.map +0 -1
  616. package/dist/core/p-2d21de19.entry.js.map +0 -1
  617. package/dist/core/p-32510505.entry.js +0 -2
  618. package/dist/core/p-32510505.entry.js.map +0 -1
  619. package/dist/core/p-4f070381.entry.js.map +0 -1
  620. package/dist/core/p-4fbe1dc3.entry.js.map +0 -1
  621. package/dist/core/p-5401863e.entry.js +0 -2
  622. package/dist/core/p-5401863e.entry.js.map +0 -1
  623. package/dist/core/p-59b24198.entry.js +0 -2
  624. package/dist/core/p-59b24198.entry.js.map +0 -1
  625. package/dist/core/p-5cc070c4.entry.js +0 -2
  626. package/dist/core/p-5cc070c4.entry.js.map +0 -1
  627. package/dist/core/p-5f881644.entry.js +0 -2
  628. package/dist/core/p-5f881644.entry.js.map +0 -1
  629. package/dist/core/p-60fef702.entry.js.map +0 -1
  630. package/dist/core/p-64999983.entry.js.map +0 -1
  631. package/dist/core/p-675fe4db.entry.js.map +0 -1
  632. package/dist/core/p-6aec6bce.entry.js +0 -2
  633. package/dist/core/p-6aec6bce.entry.js.map +0 -1
  634. package/dist/core/p-6ec3cd12.entry.js +0 -2
  635. package/dist/core/p-6ec3cd12.entry.js.map +0 -1
  636. package/dist/core/p-76daa5b0.entry.js +0 -2
  637. package/dist/core/p-777e5556.entry.js +0 -2
  638. package/dist/core/p-777e5556.entry.js.map +0 -1
  639. package/dist/core/p-7a61d94a.entry.js +0 -2
  640. package/dist/core/p-7a61d94a.entry.js.map +0 -1
  641. package/dist/core/p-85903a81.js.map +0 -1
  642. package/dist/core/p-932fe2a0.entry.js +0 -2
  643. package/dist/core/p-932fe2a0.entry.js.map +0 -1
  644. package/dist/core/p-9bd160bb.entry.js.map +0 -1
  645. package/dist/core/p-a388750d.entry.js.map +0 -1
  646. package/dist/core/p-a46c1690.entry.js +0 -2
  647. package/dist/core/p-a46c1690.entry.js.map +0 -1
  648. package/dist/core/p-abf60097.entry.js +0 -2
  649. package/dist/core/p-abf60097.entry.js.map +0 -1
  650. package/dist/core/p-ad520f36.entry.js +0 -2
  651. package/dist/core/p-ad520f36.entry.js.map +0 -1
  652. package/dist/core/p-b96bd8be.entry.js +0 -2
  653. package/dist/core/p-b96bd8be.entry.js.map +0 -1
  654. package/dist/core/p-c30d9b20.js +0 -2
  655. package/dist/core/p-c30d9b20.js.map +0 -1
  656. package/dist/core/p-ceed0fee.entry.js +0 -2
  657. package/dist/core/p-ceed0fee.entry.js.map +0 -1
  658. package/dist/core/p-d005a71a.entry.js +0 -2
  659. package/dist/core/p-d005a71a.entry.js.map +0 -1
  660. package/dist/core/p-d5282ede.entry.js +0 -2
  661. package/dist/core/p-d5282ede.entry.js.map +0 -1
  662. package/dist/core/p-d9fc7243.entry.js.map +0 -1
  663. package/dist/core/p-db4a15bd.entry.js +0 -2
  664. package/dist/core/p-db4a15bd.entry.js.map +0 -1
  665. package/dist/core/p-e75b04af.entry.js +0 -2
  666. package/dist/core/p-e75b04af.entry.js.map +0 -1
  667. package/dist/core/p-ea55f25c.entry.js +0 -2
  668. package/dist/core/p-ea55f25c.entry.js.map +0 -1
  669. package/dist/esm/helpers-81a88a11.js.map +0 -1
  670. package/dist/esm/index-b006ae9d.js.map +0 -1
  671. /package/dist/core/{p-76daa5b0.entry.js.map → p-027ea4ff.entry.js.map} +0 -0
  672. /package/dist/core/{p-9ee852d9.entry.js.map → p-09022de8.entry.js.map} +0 -0
  673. /package/dist/core/{p-ac82781b.entry.js.map → p-09eb825d.entry.js.map} +0 -0
  674. /package/dist/core/{p-4ef8342f.entry.js.map → p-3758c2b5.entry.js.map} +0 -0
  675. /package/dist/core/{p-e904d985.entry.js.map → p-4164e7d5.entry.js.map} +0 -0
  676. /package/dist/core/{p-0fdb1e52.entry.js.map → p-48525498.entry.js.map} +0 -0
  677. /package/dist/core/{p-cf95dd66.entry.js.map → p-500e8584.entry.js.map} +0 -0
  678. /package/dist/core/{p-b42b8ffa.entry.js.map → p-53533992.entry.js.map} +0 -0
  679. /package/dist/core/{p-0d71a937.entry.js.map → p-700559ee.entry.js.map} +0 -0
  680. /package/dist/core/{p-05249867.entry.js.map → p-72d6619c.entry.js.map} +0 -0
  681. /package/dist/core/{p-ca6e5474.entry.js.map → p-7bc6eb83.entry.js.map} +0 -0
  682. /package/dist/core/{p-482397ae.entry.js.map → p-b80520e9.entry.js.map} +0 -0
  683. /package/dist/core/{p-e59d2d50.entry.js.map → p-e465a208.entry.js.map} +0 -0
  684. /package/dist/core/{p-c1e8d13e.entry.js.map → p-ed256f1d.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"ic-toast.js","sourceRoot":"","sources":["../../../src/components/ic-toast/ic-toast.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Method,\n Prop,\n State,\n} from \"@stencil/core\";\nimport closeIcon from \"../../assets/close-icon.svg\";\nimport { VARIANT_ICONS } from \"../../utils/constants\";\nimport {\n getSlot,\n isSlotUsed,\n onComponentRequiredPropUndefined,\n} from \"../../utils/helpers\";\nimport {\n IcActivationTypes,\n IcStatusVariants,\n IcThemeForegroundEnum,\n} from \"../../utils/types\";\nimport { ActionAreaElementTypes } from \"./ic-toast.types\";\n\nconst AUTO_DISMISS_TIMER_REFRESH_RATE_MS = 1000;\nconst TOAST_HEADING_CHAR_LIMIT = 70;\nconst TOAST_MESSAGE_CHAR_LIMIT = 140;\n\n/**\n * @slot action - IcButton or IcLink is placed below header and message. If used will default toast to manual `dismiss` type.\n * @slot neutral-icon - A custom neutral icon is placed on the left side of the component. If used will default toast to `neutral` variant.\n */\n@Component({\n tag: \"ic-toast\",\n styleUrl: \"ic-toast.css\",\n shadow: true,\n})\nexport class Toast {\n private dismissTimeout: number;\n private interactiveElements: ActionAreaElementTypes[] = [];\n private isManual: boolean;\n private neutralVariantLabel: string;\n private timerRefreshInterval: number;\n\n @Element() el: HTMLIcToastElement;\n\n @State() timerProgress = 100;\n @State() visible = false;\n\n /**\n * If toast dismissMode is set to `automatic`, use this prop to define the time before the toast dismisses (in MILLISECONDS)\n * (NOTE: Has a minimum value of `5000ms`)\n */\n @Prop({ mutable: true }) autoDismissTimeout? = 5000;\n\n /**\n * If toast can be manually dismissed, this prop sets a custom aria-label for the ic-button component\n */\n @Prop() dismissButtonAriaLabel? = \"dismiss\";\n\n /**\n * How the toast will be dismissed. If manual will display a dismiss button.\n */\n @Prop({ mutable: true }) dismissMode?: IcActivationTypes = \"manual\";\n\n /**\n * The title to display at the start of the toast. (NOTE: Should be no more than `70` characters)\n */\n @Prop() heading!: string;\n\n /**\n * The main body message of the toast. (NOTE: Should be no more than `140` characters)\n */\n @Prop() message?: string;\n\n /**\n * Provides a custom alt-text to be announced to screen readers, if slotting a custom neutral icon\n */\n @Prop() neutralIconAriaLabel?: string;\n\n /**\n * The variant of the toast being rendered\n */\n @Prop({ mutable: true }) variant?: IcStatusVariants;\n\n /**\n * Is emitted when the user dismisses the toast\n */\n @Event() icDismiss: EventEmitter<void>;\n\n disconnectedCallback(): void {\n window.clearTimeout(this.dismissTimeout);\n window.clearInterval(this.timerRefreshInterval);\n }\n\n componentWillLoad(): void {\n this.handleLongText(\n this.heading.length > TOAST_HEADING_CHAR_LIMIT,\n this.message?.length > TOAST_MESSAGE_CHAR_LIMIT\n );\n\n if (this.autoDismissTimeout < 5000) this.autoDismissTimeout = 5000;\n\n if (isSlotUsed(this.el, \"action\")) this.dismissMode = \"manual\";\n this.isManual = this.dismissMode === \"manual\";\n\n if (isSlotUsed(this.el, \"neutral-icon\")) this.variant = \"neutral\";\n if (this.variant === \"neutral\") {\n this.neutralVariantLabel =\n this.neutralIconAriaLabel ?? VARIANT_ICONS[this.variant].ariaLabel;\n }\n\n if (this.isManual) {\n this.el.setAttribute(\n \"aria-label\",\n this.variant\n ? this.neutralVariantLabel || VARIANT_ICONS[this.variant].ariaLabel\n : this.heading\n );\n (this.variant || this.message) &&\n this.el.setAttribute(\n \"aria-description\",\n this.variant\n ? `${this.heading}${\n this.message !== undefined ? `. ${this.message}` : \"\"\n }`\n : this.message\n );\n }\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.heading, propName: \"heading\" }],\n \"Toast\"\n );\n const actionContent = getSlot(this.el, \"action\") as ActionAreaElementTypes;\n const dismissButton = this.el.shadowRoot.querySelector(\"ic-button\");\n if (actionContent) this.interactiveElements.push(actionContent);\n if (dismissButton) this.interactiveElements.push(dismissButton);\n }\n\n @Listen(\"icDismiss\", { capture: true })\n handleDismiss(): void {\n this.visible = false;\n clearInterval(this.timerRefreshInterval);\n this.timerProgress = 100;\n }\n\n @Listen(\"keydown\", { target: \"document\" })\n handleKeyboard(ev: KeyboardEvent): void {\n if (this.isManual && this.visible) {\n switch (ev.key) {\n case \"Tab\":\n ev.preventDefault();\n this.findNextInteractiveElement(ev.shiftKey).setFocus();\n break;\n case \"Escape\":\n !ev.repeat && this.dismissAction();\n ev.stopImmediatePropagation();\n break;\n }\n }\n }\n\n @Listen(\"mouseenter\")\n @Listen(\"mouseleave\")\n handleTimer(ev: MouseEvent): void {\n if (!this.isManual) {\n switch (ev.type) {\n case \"mouseenter\":\n window.clearTimeout(this.dismissTimeout);\n window.clearInterval(this.timerRefreshInterval);\n this.timerProgress = 100;\n break;\n case \"mouseleave\":\n this.dismissTimeout = window.setTimeout(\n this.dismissAction,\n this.autoDismissTimeout\n );\n this.timerRefreshInterval = window.setInterval(\n this.handleProgressChange,\n AUTO_DISMISS_TIMER_REFRESH_RATE_MS\n );\n break;\n }\n }\n }\n\n /**\n * Used to display the individual toast\n * @returns The element that previously had focus before the toast appeared\n */\n @Method()\n async setVisible(): Promise<HTMLElement> {\n if (!this.visible) this.visible = true;\n if (!this.isManual) {\n this.dismissTimeout = window.setTimeout(\n this.dismissAction,\n this.autoDismissTimeout\n );\n this.timerRefreshInterval = window.setInterval(\n this.handleProgressChange,\n AUTO_DISMISS_TIMER_REFRESH_RATE_MS\n );\n return null;\n } else {\n window.setTimeout(() => this.interactiveElements[0].setFocus(), 200);\n return document.activeElement as HTMLElement;\n }\n }\n\n private dismissAction = (): void => {\n this.icDismiss.emit();\n };\n\n private handleProgressChange = () => {\n this.timerProgress -=\n (AUTO_DISMISS_TIMER_REFRESH_RATE_MS / this.autoDismissTimeout) * 100;\n };\n\n private handleLongText(\n headingTooLong: boolean,\n messageTooLong?: boolean\n ): void {\n if (messageTooLong || headingTooLong) {\n console.error(\n `Too many characters in toast ${headingTooLong ? \"heading\" : \"\"}${\n headingTooLong && messageTooLong ? \" and \" : \"\"\n }${\n messageTooLong ? \"message\" : \"\"\n }. Refer to character limits specified in the prop description`\n );\n }\n }\n\n private findNextInteractiveElement(\n isBackwards: boolean\n ): ActionAreaElementTypes {\n const first = this.interactiveElements[0];\n const last = this.interactiveElements[this.interactiveElements.length - 1];\n\n const source = isBackwards ? first : last;\n const target = isBackwards ? last : first;\n if (this.isActive(source)) return target;\n\n let currentIndex: number;\n const found = this.interactiveElements.some((el, index) => {\n if (!this.isActive(el)) return false;\n currentIndex = index;\n return true;\n });\n\n if (!found) return first;\n return this.interactiveElements[currentIndex + (isBackwards ? -1 : 1)];\n }\n\n private isActive(targetEl: HTMLElement): boolean {\n if (targetEl === this.el) return !!this.el.shadowRoot.activeElement;\n return document.activeElement === targetEl;\n }\n\n render() {\n const {\n variant,\n heading,\n message,\n visible,\n isManual,\n dismissButtonAriaLabel,\n } = this;\n return (\n <Host\n class={{ [\"hidden\"]: !visible }}\n role={isManual ? \"dialog\" : \"status\"}\n >\n <div class=\"container\">\n {variant && visible && (\n <div class=\"toast-icon-container\">\n <div\n class={{\n [\"divider\"]: true,\n [`divider-${variant}`]: true,\n }}\n ></div>\n {variant === \"neutral\" ? (\n <slot name=\"neutral-icon\" />\n ) : (\n <span\n class=\"toast-icon\"\n innerHTML={VARIANT_ICONS[variant].icon}\n ></span>\n )}\n </div>\n )}\n <div\n class={{\n [\"toast-content\"]: true,\n [\"no-icon\"]:\n variant === \"neutral\" && !isSlotUsed(this.el, \"neutral-icon\"),\n }}\n >\n <div class=\"toast-message\">\n <ic-typography variant=\"subtitle-large\">\n {visible && <h5>{heading}</h5>}\n </ic-typography>\n {message && (\n <ic-typography variant=\"body\">\n {visible && <p>{message}</p>}\n </ic-typography>\n )}\n </div>\n {isSlotUsed(this.el, \"action\") && (\n <div class=\"toast-action-container\">\n <slot name=\"action\" />\n </div>\n )}\n </div>\n {!isManual ? (\n <ic-loading-indicator\n class=\"toast-dismiss-timer\"\n appearance=\"light\"\n size=\"icon\"\n progress={this.timerProgress}\n ></ic-loading-indicator>\n ) : (\n <ic-button\n id=\"dismiss-button\"\n innerHTML={closeIcon}\n onClick={this.dismissAction}\n variant=\"icon\"\n appearance={IcThemeForegroundEnum.Light}\n aria-label={dismissButtonAriaLabel}\n ></ic-button>\n )}\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"ic-toast.js","sourceRoot":"","sources":["../../../src/components/ic-toast/ic-toast.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Method,\n Prop,\n State,\n} from \"@stencil/core\";\nimport closeIcon from \"../../assets/close-icon.svg\";\nimport { VARIANT_ICONS } from \"../../utils/constants\";\nimport {\n getSlot,\n isPropDefined,\n isSlotUsed,\n onComponentRequiredPropUndefined,\n} from \"../../utils/helpers\";\nimport {\n IcActivationTypes,\n IcStatusVariants,\n IcThemeForegroundEnum,\n} from \"../../utils/types\";\nimport { ActionAreaElementTypes } from \"./ic-toast.types\";\n\nconst AUTO_DISMISS_TIMER_REFRESH_RATE_MS = 1000;\nconst TOAST_HEADING_CHAR_LIMIT = 70;\nconst TOAST_MESSAGE_CHAR_LIMIT = 140;\n\n/**\n * @slot action - IcButton or IcLink is placed below header and message. If used will default toast to manual `dismiss` type.\n * @slot neutral-icon - A custom neutral icon is placed on the left side of the component. If used will default toast to `neutral` variant.\n */\n@Component({\n tag: \"ic-toast\",\n styleUrl: \"ic-toast.css\",\n shadow: true,\n})\nexport class Toast {\n private dismissTimeout: number;\n private interactiveElements: ActionAreaElementTypes[] = [];\n private isManual: boolean;\n private neutralVariantLabel: string;\n private timerRefreshInterval: number;\n\n @Element() el: HTMLIcToastElement;\n\n @State() timerProgress = 100;\n @State() visible = false;\n\n /**\n * If toast dismissMode is set to `automatic`, use this prop to define the time before the toast dismisses (in MILLISECONDS)\n * (NOTE: Has a minimum value of `5000ms`)\n */\n @Prop({ mutable: true }) autoDismissTimeout? = 5000;\n\n /**\n * If toast can be manually dismissed, this prop sets a custom aria-label for the ic-button component\n */\n @Prop() dismissButtonAriaLabel? = \"dismiss\";\n\n /**\n * How the toast will be dismissed. If manual will display a dismiss button.\n */\n @Prop({ mutable: true }) dismissMode?: IcActivationTypes = \"manual\";\n\n /**\n * The title to display at the start of the toast. (NOTE: Should be no more than `70` characters)\n */\n @Prop() heading!: string;\n\n /**\n * The main body message of the toast. (NOTE: Should be no more than `140` characters)\n */\n @Prop() message?: string;\n\n /**\n * Provides a custom alt-text to be announced to screen readers, if slotting a custom neutral icon\n */\n @Prop() neutralIconAriaLabel?: string;\n\n /**\n * The variant of the toast being rendered\n */\n @Prop({ mutable: true }) variant?: IcStatusVariants;\n\n /**\n * Is emitted when the user dismisses the toast\n */\n @Event() icDismiss: EventEmitter<void>;\n\n disconnectedCallback(): void {\n window.clearTimeout(this.dismissTimeout);\n window.clearInterval(this.timerRefreshInterval);\n }\n\n componentWillLoad(): void {\n this.handleLongText(\n this.heading.length > TOAST_HEADING_CHAR_LIMIT,\n this.message?.length > TOAST_MESSAGE_CHAR_LIMIT\n );\n\n if (this.autoDismissTimeout < 5000) this.autoDismissTimeout = 5000;\n\n if (isSlotUsed(this.el, \"action\")) this.dismissMode = \"manual\";\n this.isManual = this.dismissMode === \"manual\";\n\n if (isSlotUsed(this.el, \"neutral-icon\")) this.variant = \"neutral\";\n if (this.variant === \"neutral\") {\n this.neutralVariantLabel =\n this.neutralIconAriaLabel ?? VARIANT_ICONS[this.variant].ariaLabel;\n }\n\n if (this.isManual) {\n this.el.setAttribute(\n \"aria-label\",\n this.variant\n ? this.neutralVariantLabel || VARIANT_ICONS[this.variant].ariaLabel\n : this.heading\n );\n (this.variant || this.message) &&\n this.el.setAttribute(\n \"aria-description\",\n this.variant\n ? `${this.heading}${\n isPropDefined(this.message) ? `. ${this.message}` : \"\"\n }`\n : this.message\n );\n }\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.heading, propName: \"heading\" }],\n \"Toast\"\n );\n const actionContent = getSlot(this.el, \"action\") as ActionAreaElementTypes;\n const dismissButton = this.el.shadowRoot.querySelector(\"ic-button\");\n if (actionContent) this.interactiveElements.push(actionContent);\n if (dismissButton) this.interactiveElements.push(dismissButton);\n }\n\n @Listen(\"icDismiss\", { capture: true })\n handleDismiss(): void {\n this.visible = false;\n clearInterval(this.timerRefreshInterval);\n this.timerProgress = 100;\n }\n\n @Listen(\"keydown\", { target: \"document\" })\n handleKeyboard(ev: KeyboardEvent): void {\n if (this.isManual && this.visible) {\n switch (ev.key) {\n case \"Tab\":\n ev.preventDefault();\n this.findNextInteractiveElement(ev.shiftKey).setFocus();\n break;\n case \"Escape\":\n !ev.repeat && this.dismissAction();\n ev.stopImmediatePropagation();\n break;\n }\n }\n }\n\n @Listen(\"mouseenter\")\n @Listen(\"mouseleave\")\n handleTimer(ev: MouseEvent): void {\n if (!this.isManual) {\n switch (ev.type) {\n case \"mouseenter\":\n window.clearTimeout(this.dismissTimeout);\n window.clearInterval(this.timerRefreshInterval);\n this.timerProgress = 100;\n break;\n case \"mouseleave\":\n this.dismissTimeout = window.setTimeout(\n this.dismissAction,\n this.autoDismissTimeout\n );\n this.timerRefreshInterval = window.setInterval(\n this.handleProgressChange,\n AUTO_DISMISS_TIMER_REFRESH_RATE_MS\n );\n break;\n }\n }\n }\n\n /**\n * Used to display the individual toast\n * @returns The element that previously had focus before the toast appeared\n */\n @Method()\n async setVisible(): Promise<HTMLElement> {\n if (!this.visible) this.visible = true;\n if (!this.isManual) {\n this.dismissTimeout = window.setTimeout(\n this.dismissAction,\n this.autoDismissTimeout\n );\n this.timerRefreshInterval = window.setInterval(\n this.handleProgressChange,\n AUTO_DISMISS_TIMER_REFRESH_RATE_MS\n );\n return null;\n } else {\n window.setTimeout(() => this.interactiveElements[0].setFocus(), 200);\n return document.activeElement as HTMLElement;\n }\n }\n\n private dismissAction = (): void => {\n this.icDismiss.emit();\n };\n\n private handleProgressChange = () => {\n this.timerProgress -=\n (AUTO_DISMISS_TIMER_REFRESH_RATE_MS / this.autoDismissTimeout) * 100;\n };\n\n private handleLongText(\n headingTooLong: boolean,\n messageTooLong?: boolean\n ): void {\n if (messageTooLong || headingTooLong) {\n console.error(\n `Too many characters in toast ${headingTooLong ? \"heading\" : \"\"}${\n headingTooLong && messageTooLong ? \" and \" : \"\"\n }${\n messageTooLong ? \"message\" : \"\"\n }. Refer to character limits specified in the prop description`\n );\n }\n }\n\n private findNextInteractiveElement(\n isBackwards: boolean\n ): ActionAreaElementTypes {\n const first = this.interactiveElements[0];\n const last = this.interactiveElements[this.interactiveElements.length - 1];\n\n const source = isBackwards ? first : last;\n const target = isBackwards ? last : first;\n if (this.isActive(source)) return target;\n\n let currentIndex: number;\n const found = this.interactiveElements.some((el, index) => {\n if (!this.isActive(el)) return false;\n currentIndex = index;\n return true;\n });\n\n if (!found) return first;\n return this.interactiveElements[currentIndex + (isBackwards ? -1 : 1)];\n }\n\n private isActive(targetEl: HTMLElement): boolean {\n if (targetEl === this.el) return !!this.el.shadowRoot.activeElement;\n return document.activeElement === targetEl;\n }\n\n render() {\n const {\n variant,\n heading,\n message,\n visible,\n isManual,\n dismissButtonAriaLabel,\n } = this;\n return (\n <Host\n class={{ [\"hidden\"]: !visible }}\n role={isManual ? \"dialog\" : \"status\"}\n >\n <div class=\"container\">\n {variant && visible && (\n <div class=\"toast-icon-container\">\n <div\n class={{\n [\"divider\"]: true,\n [`divider-${variant}`]: true,\n }}\n ></div>\n {variant === \"neutral\" ? (\n <slot name=\"neutral-icon\" />\n ) : (\n <span\n class=\"toast-icon\"\n innerHTML={VARIANT_ICONS[variant].icon}\n ></span>\n )}\n </div>\n )}\n <div\n class={{\n [\"toast-content\"]: true,\n [\"no-icon\"]:\n variant === \"neutral\" && !isSlotUsed(this.el, \"neutral-icon\"),\n }}\n >\n <div class=\"toast-message\">\n <ic-typography variant=\"subtitle-large\">\n {visible && <h5>{heading}</h5>}\n </ic-typography>\n {message && (\n <ic-typography variant=\"body\">\n {visible && <p>{message}</p>}\n </ic-typography>\n )}\n </div>\n {isSlotUsed(this.el, \"action\") && (\n <div class=\"toast-action-container\">\n <slot name=\"action\" />\n </div>\n )}\n </div>\n {!isManual ? (\n <ic-loading-indicator\n class=\"toast-dismiss-timer\"\n appearance=\"light\"\n size=\"icon\"\n progress={this.timerProgress}\n ></ic-loading-indicator>\n ) : (\n <ic-button\n id=\"dismiss-button\"\n innerHTML={closeIcon}\n onClick={this.dismissAction}\n variant=\"icon\"\n appearance={IcThemeForegroundEnum.Light}\n aria-label={dismissButtonAriaLabel}\n ></ic-button>\n )}\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -449,7 +449,7 @@ video {
449
449
  background-color: var(--ic-architectural-800);
450
450
  color: #ffff;
451
451
  text-align: center;
452
- padding: var(--ic-space-xxxs) 0.625rem;
452
+ padding: var(--ic-space-xxxs) var(--ic-space-xs);
453
453
  border-radius: var(--ic-border-radius);
454
454
  border: var(--ic-space-1px) solid var(--ic-architectural-40);
455
455
  position: absolute;
@@ -564,6 +564,12 @@ video {
564
564
  ) !important;
565
565
  }
566
566
 
567
+ @media screen and (max-width: 576px) {
568
+ :host(.ic-tooltip) .ic-tooltip-container {
569
+ max-width: 18.875rem;
570
+ }
571
+ }
572
+
567
573
  @media (forced-colors: active) {
568
574
  :host(.ic-tooltip) .ic-tooltip-container,
569
575
  :host(.ic-tooltip) .ic-tooltip-arrow::before {
@@ -1,4 +1,4 @@
1
- import { Host, h, } from "@stencil/core";
1
+ import { Host, h } from "@stencil/core";
2
2
  import { createPopper } from "@popperjs/core";
3
3
  import { onComponentRequiredPropUndefined } from "../../utils/helpers";
4
4
  export class Tooltip {
@@ -9,14 +9,6 @@ export class Tooltip {
9
9
  this.mouseOverTool = false;
10
10
  this.persistTooltip = false;
11
11
  this.onDialog = false;
12
- this.screenReaderOnlyStyles = {
13
- position: "absolute",
14
- left: "-10000px",
15
- top: "auto",
16
- width: "1px",
17
- height: "1px",
18
- overflow: "hidden",
19
- };
20
12
  this.showEvents = this.disableHover
21
13
  ? ["click"]
22
14
  : ["mouseenter", "focusin"];
@@ -157,15 +149,11 @@ export class Tooltip {
157
149
  document[method]("keydown", this.handleKeyDown);
158
150
  };
159
151
  this.disableHover = false;
152
+ this.maxLines = undefined;
160
153
  this.placement = "bottom";
161
154
  this.target = undefined;
162
155
  this.label = undefined;
163
156
  }
164
- updateLabel(newValue) {
165
- if (this.ariaDescribedBy !== null) {
166
- this.ariaDescribedBy.innerText = newValue;
167
- }
168
- }
169
157
  disconnectedCallback() {
170
158
  this.manageEventListeners("remove");
171
159
  if (this.popperInstance !== undefined) {
@@ -180,14 +168,11 @@ export class Tooltip {
180
168
  ((_a = this.icDialogEl) === null || _a === void 0 ? void 0 : _a.getAttribute("data-overflow")) === "true";
181
169
  this.onDialog = this.icDialogEl !== null;
182
170
  onComponentRequiredPropUndefined([{ prop: this.label, propName: "label" }], "Tooltip");
183
- if (this.target !== undefined) {
184
- this.ariaDescribedBy = document.createElement("span");
185
- this.ariaDescribedBy.id = `ic-tooltip-${this.target}`;
186
- this.ariaDescribedBy.innerText = this.label;
187
- this.ariaDescribedBy.classList.add("ic-tooltip-label");
188
- Object.assign(this.ariaDescribedBy.style, this.screenReaderOnlyStyles);
189
- this.el.insertAdjacentElement("beforebegin", this.ariaDescribedBy);
190
- }
171
+ }
172
+ componentDidRender() {
173
+ const typographyEl = this.el.shadowRoot.querySelector(".ic-tooltip-container > ic-typography");
174
+ this.maxLines > 0 &&
175
+ typographyEl.setAttribute("style", `--truncation-max-lines: ${this.maxLines}`);
191
176
  }
192
177
  /**
193
178
  * Method to programmatically show/hide the tooltip without needing to interact with an anchor element
@@ -200,7 +185,7 @@ export class Tooltip {
200
185
  }
201
186
  render() {
202
187
  const { label } = this;
203
- return (h(Host, { class: { "ic-tooltip": true } }, h("div", { ref: (el) => (this.toolTip = el), role: "tooltip", class: "ic-tooltip-container" }, h("ic-typography", { variant: "caption" }, label), h("div", { ref: (el) => (this.arrow = el), class: "ic-tooltip-arrow", "data-popper-arrow": true })), h("slot", null)));
188
+ return (h(Host, { class: { "ic-tooltip": true } }, h("div", { ref: (el) => (this.toolTip = el), role: "tooltip", class: "ic-tooltip-container" }, h("ic-typography", { maxLines: this.maxLines, variant: "caption" }, label), h("div", { ref: (el) => (this.arrow = el), class: "ic-tooltip-arrow" })), h("slot", null)));
204
189
  }
205
190
  static get is() { return "ic-tooltip"; }
206
191
  static get encapsulation() { return "shadow"; }
@@ -234,6 +219,23 @@ export class Tooltip {
234
219
  "reflect": false,
235
220
  "defaultValue": "false"
236
221
  },
222
+ "maxLines": {
223
+ "type": "number",
224
+ "mutable": false,
225
+ "complexType": {
226
+ "original": "number",
227
+ "resolved": "number",
228
+ "references": {}
229
+ },
230
+ "required": false,
231
+ "optional": true,
232
+ "docs": {
233
+ "tags": [],
234
+ "text": "The number of lines to display before truncating the text."
235
+ },
236
+ "attribute": "max-lines",
237
+ "reflect": false
238
+ },
237
239
  "placement": {
238
240
  "type": "string",
239
241
  "mutable": true,
@@ -334,11 +336,5 @@ export class Tooltip {
334
336
  };
335
337
  }
336
338
  static get elementRef() { return "el"; }
337
- static get watchers() {
338
- return [{
339
- "propName": "label",
340
- "methodName": "updateLabel"
341
- }];
342
- }
343
339
  }
344
340
  //# sourceMappingURL=ic-tooltip.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ic-tooltip.js","sourceRoot":"","sources":["../../../src/components/ic-tooltip/ic-tooltip.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n Host,\n Prop,\n h,\n Watch,\n Method,\n} from \"@stencil/core\";\nimport { Instance, createPopper } from \"@popperjs/core\";\nimport { IcTooltipPlacements } from \"./ic-tooltip.types\";\nimport { onComponentRequiredPropUndefined } from \"../../utils/helpers\";\n\n@Component({\n tag: \"ic-tooltip\",\n styleUrl: \"ic-tooltip.css\",\n shadow: true,\n})\nexport class Tooltip {\n private arrow: HTMLDivElement;\n private ariaDescribedBy: HTMLElement;\n private delayedHideEvents = [\"mouseleave\"];\n private dialogOverflow = false;\n private icDialogEl: HTMLIcDialogElement;\n private instantHideEvents = [\"focusout\"];\n private mouseOverTool: boolean = false;\n private persistTooltip = false;\n private popperInstance: Instance;\n private onDialog: boolean = false;\n private screenReaderOnlyStyles = {\n position: \"absolute\",\n left: \"-10000px\",\n top: \"auto\",\n width: \"1px\",\n height: \"1px\",\n overflow: \"hidden\",\n };\n private showEvents = this.disableHover\n ? [\"click\"]\n : [\"mouseenter\", \"focusin\"];\n private toolTip: HTMLDivElement;\n\n @Element() el: HTMLIcTooltipElement;\n\n /**\n * If `true`, the tooltip will not be displayed on hover, it will require a click.\n */\n @Prop() disableHover?: boolean = false;\n\n /**\n * The position of the tool-tip in relation to the parent element.\n */\n @Prop({ mutable: true }) placement?: IcTooltipPlacements = \"bottom\";\n\n /**\n * The ID of the element the tooltip is describing - for when aria-labelledby or aria-describedby is used.\n */\n @Prop({ reflect: true }) target?: string;\n\n /**\n * The text to display on the tooltip.\n */\n @Prop() label!: string;\n\n @Watch(\"label\")\n updateLabel(newValue: string): void {\n if (this.ariaDescribedBy !== null) {\n this.ariaDescribedBy.innerText = newValue;\n }\n }\n\n disconnectedCallback(): void {\n this.manageEventListeners(\"remove\");\n if (this.popperInstance !== undefined) {\n this.popperInstance.destroy();\n }\n }\n\n componentDidLoad(): void {\n this.manageEventListeners(\"add\");\n\n this.icDialogEl = this.el.closest(\"ic-dialog\");\n this.dialogOverflow =\n this.icDialogEl?.getAttribute(\"data-overflow\") === \"true\";\n\n this.onDialog = this.icDialogEl !== null;\n\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Tooltip\"\n );\n\n if (this.target !== undefined) {\n this.ariaDescribedBy = document.createElement(\"span\");\n this.ariaDescribedBy.id = `ic-tooltip-${this.target}`;\n this.ariaDescribedBy.innerText = this.label;\n this.ariaDescribedBy.classList.add(\"ic-tooltip-label\");\n Object.assign(this.ariaDescribedBy.style, this.screenReaderOnlyStyles);\n\n this.el.insertAdjacentElement(\"beforebegin\", this.ariaDescribedBy);\n }\n }\n\n /**\n * Method to programmatically show/hide the tooltip without needing to interact with an anchor element\n * @param show Whether to show or hide the tooltip\n * @param persistTooltip Whether the tooltip should stay on the screen when actions are performed that would previously dismiss the tooltip, such as on hover\n */\n @Method()\n async displayTooltip(show: boolean, persistTooltip?: boolean): Promise<void> {\n this.persistTooltip = persistTooltip;\n show ? this.show() : this.hide();\n }\n\n private getTooltipTranslate = (dialogEl: DOMRect) => {\n const child = this.el.children[0].getBoundingClientRect();\n let tooltipX;\n let tooltipY;\n switch (this.placement) {\n case \"bottom\":\n tooltipX = child.left - dialogEl.left - 0.5 * child.width;\n tooltipY = child.bottom - dialogEl.top;\n break;\n case \"bottom-start\":\n tooltipX = child.left - dialogEl.left;\n tooltipY = child.bottom - dialogEl.top;\n break;\n case \"bottom-end\":\n tooltipX = child.right - dialogEl.right;\n tooltipY = child.bottom - dialogEl.top;\n break;\n case \"top\":\n tooltipX = child.left - dialogEl.left - 0.5 * child.width;\n tooltipY = child.top - dialogEl.bottom;\n break;\n case \"top-start\":\n tooltipX = child.left - dialogEl.left;\n tooltipY = child.top - dialogEl.bottom;\n break;\n case \"top-end\":\n tooltipX = child.right - dialogEl.right;\n tooltipY = child.top - dialogEl.bottom;\n break;\n case \"left\":\n case \"left-start\":\n tooltipX = child.right - dialogEl.right - child.width;\n tooltipY = child.bottom - dialogEl.top - child.height;\n break;\n case \"left-end\":\n tooltipX = child.right - dialogEl.right - child.width;\n tooltipY = child.top - dialogEl.bottom + child.height;\n break;\n case \"right\":\n case \"right-start\":\n tooltipX = child.left - dialogEl.left + child.width;\n tooltipY = child.bottom - dialogEl.top - child.height;\n break;\n case \"right-end\":\n tooltipX = child.left - dialogEl.left + child.width;\n tooltipY = child.top - dialogEl.bottom + child.height;\n break;\n }\n if (this.dialogOverflow && tooltipX < 0) {\n if (this.placement.includes(\"top\") || this.placement.includes(\"bottom\")) {\n this.toolTip.style.setProperty(\n \"--tooltip-arrow-translate\",\n `${tooltipX}px`\n );\n tooltipX = child.left - dialogEl.left;\n }\n if (this.placement.includes(\"left\")) {\n this.placement = \"right\";\n tooltipX = child.left - dialogEl.left + child.width;\n }\n }\n\n this.toolTip.style.setProperty(\"--tooltip-translate-x\", `${tooltipX}px`);\n this.toolTip.style.setProperty(\"--tooltip-translate-y\", `${tooltipY}px`);\n };\n\n private show = () => {\n this.toolTip.setAttribute(\"data-show\", \"\");\n\n if (this.onDialog) {\n this.el.classList.add(\"on-dialog\");\n const dialogEl = this.icDialogEl.shadowRoot\n .querySelector(\"dialog\")\n .getBoundingClientRect();\n\n this.getTooltipTranslate(dialogEl);\n }\n\n this.popperInstance = createPopper(this.el, this.toolTip, {\n placement: this.placement,\n modifiers: [\n {\n name: \"offset\",\n options: {\n offset: [0, 10],\n },\n },\n {\n name: \"arrow\",\n options: {\n element: this.arrow,\n },\n },\n {\n name: \"eventListeners\",\n options: { scroll: false, resize: false },\n },\n ],\n });\n };\n\n private hide = () => {\n this.toolTip.removeAttribute(\"data-show\");\n this.persistTooltip = false;\n };\n\n private checkCloseTooltip = () => {\n setTimeout(() => {\n if (!this.mouseOverTool && !this.persistTooltip) {\n this.hide();\n }\n }, 100);\n };\n\n private mouseEnterTooltip = () => {\n this.mouseOverTool = true;\n };\n\n private mouseLeaveTooltip = () => {\n this.mouseOverTool = false;\n this.checkCloseTooltip();\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === \"Escape\" && !this.persistTooltip) {\n this.hide();\n }\n };\n\n private manageEventListeners = (action: \"add\" | \"remove\") => {\n const method =\n action === \"add\" ? \"addEventListener\" : \"removeEventListener\";\n\n this.showEvents.forEach((event) => {\n this.el[method](event, this.show);\n if (this.toolTip !== undefined) {\n this.toolTip[method](event, this.mouseEnterTooltip);\n }\n });\n\n if (!this.persistTooltip) {\n this.instantHideEvents.forEach((event) => {\n this.el[method](event, this.hide);\n });\n }\n\n this.delayedHideEvents.forEach((event) => {\n this.el[method](event, this.checkCloseTooltip);\n if (this.toolTip !== undefined) {\n this.toolTip[method](event, this.mouseLeaveTooltip);\n }\n });\n\n document[method](\"keydown\", this.handleKeyDown);\n };\n\n render() {\n const { label } = this;\n return (\n <Host class={{ \"ic-tooltip\": true }}>\n <div\n ref={(el) => (this.toolTip = el as HTMLDivElement)}\n role=\"tooltip\"\n class=\"ic-tooltip-container\"\n >\n <ic-typography variant=\"caption\">{label}</ic-typography>\n <div\n ref={(el) => (this.arrow = el as HTMLDivElement)}\n class=\"ic-tooltip-arrow\"\n data-popper-arrow\n ></div>\n </div>\n <slot></slot>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"ic-tooltip.js","sourceRoot":"","sources":["../../../src/components/ic-tooltip/ic-tooltip.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Host, Prop, h, Method } from \"@stencil/core\";\nimport { Instance, createPopper } from \"@popperjs/core\";\nimport { IcTooltipPlacements } from \"./ic-tooltip.types\";\nimport { onComponentRequiredPropUndefined } from \"../../utils/helpers\";\n\n@Component({\n tag: \"ic-tooltip\",\n styleUrl: \"ic-tooltip.css\",\n shadow: true,\n})\nexport class Tooltip {\n private arrow: HTMLDivElement;\n private delayedHideEvents = [\"mouseleave\"];\n private dialogOverflow = false;\n private icDialogEl: HTMLIcDialogElement;\n private instantHideEvents = [\"focusout\"];\n private mouseOverTool: boolean = false;\n private persistTooltip = false;\n private popperInstance: Instance;\n private onDialog: boolean = false;\n private showEvents = this.disableHover\n ? [\"click\"]\n : [\"mouseenter\", \"focusin\"];\n private toolTip: HTMLDivElement;\n\n @Element() el: HTMLIcTooltipElement;\n\n /**\n * If `true`, the tooltip will not be displayed on hover, it will require a click.\n */\n @Prop() disableHover?: boolean = false;\n\n /**\n * The number of lines to display before truncating the text.\n */\n @Prop() maxLines?: number;\n\n /**\n * The position of the tool-tip in relation to the parent element.\n */\n @Prop({ mutable: true }) placement?: IcTooltipPlacements = \"bottom\";\n\n /**\n * The ID of the element the tooltip is describing - for when aria-labelledby or aria-describedby is used.\n */\n @Prop({ reflect: true }) target?: string;\n\n /**\n * The text to display on the tooltip.\n */\n @Prop() label!: string;\n\n disconnectedCallback(): void {\n this.manageEventListeners(\"remove\");\n if (this.popperInstance !== undefined) {\n this.popperInstance.destroy();\n }\n }\n\n componentDidLoad(): void {\n this.manageEventListeners(\"add\");\n\n this.icDialogEl = this.el.closest(\"ic-dialog\");\n this.dialogOverflow =\n this.icDialogEl?.getAttribute(\"data-overflow\") === \"true\";\n\n this.onDialog = this.icDialogEl !== null;\n\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Tooltip\"\n );\n }\n\n componentDidRender(): void {\n const typographyEl = this.el.shadowRoot.querySelector(\n \".ic-tooltip-container > ic-typography\"\n );\n this.maxLines > 0 &&\n typographyEl.setAttribute(\n \"style\",\n `--truncation-max-lines: ${this.maxLines}`\n );\n }\n /**\n * Method to programmatically show/hide the tooltip without needing to interact with an anchor element\n * @param show Whether to show or hide the tooltip\n * @param persistTooltip Whether the tooltip should stay on the screen when actions are performed that would previously dismiss the tooltip, such as on hover\n */\n @Method()\n async displayTooltip(show: boolean, persistTooltip?: boolean): Promise<void> {\n this.persistTooltip = persistTooltip;\n show ? this.show() : this.hide();\n }\n\n private getTooltipTranslate = (dialogEl: DOMRect) => {\n const child = this.el.children[0].getBoundingClientRect();\n let tooltipX;\n let tooltipY;\n switch (this.placement) {\n case \"bottom\":\n tooltipX = child.left - dialogEl.left - 0.5 * child.width;\n tooltipY = child.bottom - dialogEl.top;\n break;\n case \"bottom-start\":\n tooltipX = child.left - dialogEl.left;\n tooltipY = child.bottom - dialogEl.top;\n break;\n case \"bottom-end\":\n tooltipX = child.right - dialogEl.right;\n tooltipY = child.bottom - dialogEl.top;\n break;\n case \"top\":\n tooltipX = child.left - dialogEl.left - 0.5 * child.width;\n tooltipY = child.top - dialogEl.bottom;\n break;\n case \"top-start\":\n tooltipX = child.left - dialogEl.left;\n tooltipY = child.top - dialogEl.bottom;\n break;\n case \"top-end\":\n tooltipX = child.right - dialogEl.right;\n tooltipY = child.top - dialogEl.bottom;\n break;\n case \"left\":\n case \"left-start\":\n tooltipX = child.right - dialogEl.right - child.width;\n tooltipY = child.bottom - dialogEl.top - child.height;\n break;\n case \"left-end\":\n tooltipX = child.right - dialogEl.right - child.width;\n tooltipY = child.top - dialogEl.bottom + child.height;\n break;\n case \"right\":\n case \"right-start\":\n tooltipX = child.left - dialogEl.left + child.width;\n tooltipY = child.bottom - dialogEl.top - child.height;\n break;\n case \"right-end\":\n tooltipX = child.left - dialogEl.left + child.width;\n tooltipY = child.top - dialogEl.bottom + child.height;\n break;\n }\n if (this.dialogOverflow && tooltipX < 0) {\n if (this.placement.includes(\"top\") || this.placement.includes(\"bottom\")) {\n this.toolTip.style.setProperty(\n \"--tooltip-arrow-translate\",\n `${tooltipX}px`\n );\n tooltipX = child.left - dialogEl.left;\n }\n if (this.placement.includes(\"left\")) {\n this.placement = \"right\";\n tooltipX = child.left - dialogEl.left + child.width;\n }\n }\n\n this.toolTip.style.setProperty(\"--tooltip-translate-x\", `${tooltipX}px`);\n this.toolTip.style.setProperty(\"--tooltip-translate-y\", `${tooltipY}px`);\n };\n\n private show = () => {\n this.toolTip.setAttribute(\"data-show\", \"\");\n\n if (this.onDialog) {\n this.el.classList.add(\"on-dialog\");\n const dialogEl = this.icDialogEl.shadowRoot\n .querySelector(\"dialog\")\n .getBoundingClientRect();\n\n this.getTooltipTranslate(dialogEl);\n }\n\n this.popperInstance = createPopper(this.el, this.toolTip, {\n placement: this.placement,\n modifiers: [\n {\n name: \"offset\",\n options: {\n offset: [0, 10],\n },\n },\n {\n name: \"arrow\",\n options: {\n element: this.arrow,\n },\n },\n {\n name: \"eventListeners\",\n options: { scroll: false, resize: false },\n },\n ],\n });\n };\n\n private hide = () => {\n this.toolTip.removeAttribute(\"data-show\");\n this.persistTooltip = false;\n };\n\n private checkCloseTooltip = () => {\n setTimeout(() => {\n if (!this.mouseOverTool && !this.persistTooltip) {\n this.hide();\n }\n }, 100);\n };\n\n private mouseEnterTooltip = () => {\n this.mouseOverTool = true;\n };\n\n private mouseLeaveTooltip = () => {\n this.mouseOverTool = false;\n this.checkCloseTooltip();\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === \"Escape\" && !this.persistTooltip) {\n this.hide();\n }\n };\n\n private manageEventListeners = (action: \"add\" | \"remove\") => {\n const method =\n action === \"add\" ? \"addEventListener\" : \"removeEventListener\";\n\n this.showEvents.forEach((event) => {\n this.el[method](event, this.show);\n if (this.toolTip !== undefined) {\n this.toolTip[method](event, this.mouseEnterTooltip);\n }\n });\n\n if (!this.persistTooltip) {\n this.instantHideEvents.forEach((event) => {\n this.el[method](event, this.hide);\n });\n }\n\n this.delayedHideEvents.forEach((event) => {\n this.el[method](event, this.checkCloseTooltip);\n if (this.toolTip !== undefined) {\n this.toolTip[method](event, this.mouseLeaveTooltip);\n }\n });\n\n document[method](\"keydown\", this.handleKeyDown);\n };\n\n render() {\n const { label } = this;\n return (\n <Host class={{ \"ic-tooltip\": true }}>\n <div\n ref={(el) => (this.toolTip = el as HTMLDivElement)}\n role=\"tooltip\"\n class=\"ic-tooltip-container\"\n >\n <ic-typography maxLines={this.maxLines} variant=\"caption\">\n {label}\n </ic-typography>\n <div\n ref={(el) => (this.arrow = el as HTMLDivElement)}\n class=\"ic-tooltip-arrow\"\n ></div>\n </div>\n <slot></slot>\n </Host>\n );\n }\n}\n"]}
@@ -79,14 +79,6 @@ describe("ic-tooltip component", () => {
79
79
  await page.keyboard.press("Escape");
80
80
  expect(await tooltip.isVisible()).toBe(false);
81
81
  });
82
- it("should apply the aria description from hidden span to an element using aria-describedby", async () => {
83
- const page = await newE2EPage();
84
- await page.setContent(`<ic-tooltip target="ic-tooltip-test-button-right-end" label="test-label" placement="right-end"><button aria-describedby="test-button-right-end">IC Tooltip Test</button></ic-tooltip>`);
85
- await page.waitForChanges();
86
- const tooltipSpan = await page.find("span.ic-tooltip-label");
87
- const text = await tooltipSpan.innerText;
88
- expect(text).toBe("test-label");
89
- });
90
82
  it("should display the tooltip when the displayTooltip method is called", async () => {
91
83
  const page = await newE2EPage();
92
84
  await page.setContent(`<ic-tooltip target="test-id" label="test-label"><button>IC Tooltip Test</button></ic-tooltip>`);
@@ -1 +1 @@
1
- {"version":3,"file":"ic-tooltip.e2e.js","sourceRoot":"","sources":["../../../../../src/components/ic-tooltip/test/basic/ic-tooltip.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { newE2EPage } from \"@stencil/core/testing\";\n\ndescribe(\"ic-tooltip component\", () => {\n it(\"should apply the correct label\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n `<ic-tooltip target=\"test-id\" label=\"test-label\" placement=\"right-end\"><button>IC Tooltip Test</button></ic-tooltip>`\n );\n await page.waitForChanges();\n\n const tooltip = await page.find(\".ic-tooltip >>> ic-typography\");\n const text = await tooltip.innerText;\n\n expect(text).toBe(\"test-label\");\n });\n\n it(\"should apply the correct placement\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n `<ic-tooltip target=\"test-id\" label=\"test-label\" placement=\"right-end\"><button>IC Tooltip Test</button></ic-tooltip>`\n );\n await page.waitForChanges();\n\n const tooltip = await page.find(\".ic-tooltip >>> .ic-tooltip-container\");\n const button = await page.find(\"button\");\n\n await button.hover();\n\n expect(await tooltip.getAttribute(\"data-popper-placement\")).toBe(\n \"right-end\"\n );\n });\n\n it(\"should show on focus\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n `<ic-tooltip target=\"test-id\" label=\"test-label\"><button>IC Tooltip Test</button></ic-tooltip>`\n );\n await page.waitForChanges();\n\n const tooltip = await page.find(\".ic-tooltip >>> .ic-tooltip-container\");\n const button = await page.find(\"button\");\n\n await button.focus();\n\n expect(await tooltip.isVisible()).toBe(true);\n });\n\n it(\"should show on hover\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n `<ic-tooltip target=\"test-id\" label=\"test-label\"><button>IC Tooltip Test</button></ic-tooltip>`\n );\n await page.waitForChanges();\n\n const tooltip = await page.find(\".ic-tooltip >>> .ic-tooltip-container\");\n const button = await page.find(\"button\");\n\n await button.hover();\n\n expect(await tooltip.isVisible()).toBe(true);\n });\n\n it(\"should still show when cursor moves to tooltip\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n `<ic-tooltip target=\"test-id\" label=\"test-label\"><button>IC Tooltip Test</button></ic-tooltip>`\n );\n await page.waitForChanges();\n\n const tooltip = await page.find(\".ic-tooltip >>> .ic-tooltip-container\");\n const button = await page.find(\"button\");\n\n await button.hover();\n await tooltip.hover();\n\n expect(await tooltip.isVisible()).toBe(true);\n });\n\n it(\"should close when cursor moves away\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n `<ic-tooltip target=\"test-id\" label=\"test-label\"><button id=\"button-1\">Button 1</button></ic-tooltip><button id=\"button-2\">Button 2</button>`\n );\n await page.waitForChanges();\n\n const tooltip = await page.find(\".ic-tooltip >>> .ic-tooltip-container\");\n const button1 = await page.find(\"#button-1\");\n const button2 = await page.find(\"#button-2\");\n\n await button1.hover();\n await button2.hover();\n await page.waitForTimeout(200);\n\n expect(await tooltip.isVisible()).toBe(false);\n });\n\n it(\"should close when focus moves away\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n `<ic-tooltip target=\"test-id\" label=\"test-label\"><button id=\"button-1\">Button 1</button></ic-tooltip><button id=\"button-2\">Button 2</button>`\n );\n await page.waitForChanges();\n\n const tooltip = await page.find(\".ic-tooltip >>> .ic-tooltip-container\");\n const button1 = await page.find(\"#button-1\");\n const button2 = await page.find(\"#button-2\");\n\n await button1.focus();\n await button2.focus();\n await page.waitForTimeout(200);\n\n expect(await tooltip.isVisible()).toBe(false);\n });\n\n it(\"should close when escape key pressed\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n `<ic-tooltip target=\"test-id\" label=\"test-label\"><button>IC Tooltip Test</button></ic-tooltip>`\n );\n await page.waitForChanges();\n\n const tooltip = await page.find(\".ic-tooltip >>> .ic-tooltip-container\");\n const button = await page.find(\"button\");\n\n await button.focus();\n await page.keyboard.press(\"Escape\");\n\n expect(await tooltip.isVisible()).toBe(false);\n });\n\n it(\"should apply the aria description from hidden span to an element using aria-describedby\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n `<ic-tooltip target=\"ic-tooltip-test-button-right-end\" label=\"test-label\" placement=\"right-end\"><button aria-describedby=\"test-button-right-end\">IC Tooltip Test</button></ic-tooltip>`\n );\n await page.waitForChanges();\n\n const tooltipSpan = await page.find(\"span.ic-tooltip-label\");\n const text = await tooltipSpan.innerText;\n\n expect(text).toBe(\"test-label\");\n });\n\n it(\"should display the tooltip when the displayTooltip method is called\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n `<ic-tooltip target=\"test-id\" label=\"test-label\"><button>IC Tooltip Test</button></ic-tooltip>`\n );\n await page.waitForChanges();\n\n const tooltip = await page.find(\"ic-tooltip\");\n const tooltipContainer = await page.find(\n \".ic-tooltip >>> .ic-tooltip-container\"\n );\n expect(await tooltipContainer.isVisible()).toBe(false);\n\n await tooltip.callMethod(\"displayTooltip\", true, true);\n expect(await tooltipContainer.isVisible()).toBe(true);\n\n await page.keyboard.press(\"Escape\");\n expect(await tooltipContainer.isVisible()).toBe(true);\n\n await tooltip.callMethod(\"displayTooltip\", false);\n expect(await tooltipContainer.isVisible()).toBe(false);\n });\n\n it(\"should still dismiss the tooltip using the keyboard if persistTooltip is false\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n `<ic-tooltip target=\"test-id\" label=\"test-label\"><button>IC Tooltip Test</button></ic-tooltip>`\n );\n await page.waitForChanges();\n\n const tooltip = await page.find(\"ic-tooltip\");\n const tooltipContainer = await page.find(\n \".ic-tooltip >>> .ic-tooltip-container\"\n );\n expect(await tooltipContainer.isVisible()).toBe(false);\n\n await tooltip.callMethod(\"displayTooltip\", true, false);\n expect(await tooltipContainer.isVisible()).toBe(true);\n\n await page.keyboard.press(\"Escape\");\n expect(await tooltipContainer.isVisible()).toBe(false);\n });\n});\n"]}
1
+ {"version":3,"file":"ic-tooltip.e2e.js","sourceRoot":"","sources":["../../../../../src/components/ic-tooltip/test/basic/ic-tooltip.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { newE2EPage } from \"@stencil/core/testing\";\n\ndescribe(\"ic-tooltip component\", () => {\n it(\"should apply the correct label\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n `<ic-tooltip target=\"test-id\" label=\"test-label\" placement=\"right-end\"><button>IC Tooltip Test</button></ic-tooltip>`\n );\n await page.waitForChanges();\n\n const tooltip = await page.find(\".ic-tooltip >>> ic-typography\");\n const text = await tooltip.innerText;\n\n expect(text).toBe(\"test-label\");\n });\n\n it(\"should apply the correct placement\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n `<ic-tooltip target=\"test-id\" label=\"test-label\" placement=\"right-end\"><button>IC Tooltip Test</button></ic-tooltip>`\n );\n await page.waitForChanges();\n\n const tooltip = await page.find(\".ic-tooltip >>> .ic-tooltip-container\");\n const button = await page.find(\"button\");\n\n await button.hover();\n\n expect(await tooltip.getAttribute(\"data-popper-placement\")).toBe(\n \"right-end\"\n );\n });\n\n it(\"should show on focus\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n `<ic-tooltip target=\"test-id\" label=\"test-label\"><button>IC Tooltip Test</button></ic-tooltip>`\n );\n await page.waitForChanges();\n\n const tooltip = await page.find(\".ic-tooltip >>> .ic-tooltip-container\");\n const button = await page.find(\"button\");\n\n await button.focus();\n\n expect(await tooltip.isVisible()).toBe(true);\n });\n\n it(\"should show on hover\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n `<ic-tooltip target=\"test-id\" label=\"test-label\"><button>IC Tooltip Test</button></ic-tooltip>`\n );\n await page.waitForChanges();\n\n const tooltip = await page.find(\".ic-tooltip >>> .ic-tooltip-container\");\n const button = await page.find(\"button\");\n\n await button.hover();\n\n expect(await tooltip.isVisible()).toBe(true);\n });\n\n it(\"should still show when cursor moves to tooltip\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n `<ic-tooltip target=\"test-id\" label=\"test-label\"><button>IC Tooltip Test</button></ic-tooltip>`\n );\n await page.waitForChanges();\n\n const tooltip = await page.find(\".ic-tooltip >>> .ic-tooltip-container\");\n const button = await page.find(\"button\");\n\n await button.hover();\n await tooltip.hover();\n\n expect(await tooltip.isVisible()).toBe(true);\n });\n\n it(\"should close when cursor moves away\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n `<ic-tooltip target=\"test-id\" label=\"test-label\"><button id=\"button-1\">Button 1</button></ic-tooltip><button id=\"button-2\">Button 2</button>`\n );\n await page.waitForChanges();\n\n const tooltip = await page.find(\".ic-tooltip >>> .ic-tooltip-container\");\n const button1 = await page.find(\"#button-1\");\n const button2 = await page.find(\"#button-2\");\n\n await button1.hover();\n await button2.hover();\n await page.waitForTimeout(200);\n\n expect(await tooltip.isVisible()).toBe(false);\n });\n\n it(\"should close when focus moves away\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n `<ic-tooltip target=\"test-id\" label=\"test-label\"><button id=\"button-1\">Button 1</button></ic-tooltip><button id=\"button-2\">Button 2</button>`\n );\n await page.waitForChanges();\n\n const tooltip = await page.find(\".ic-tooltip >>> .ic-tooltip-container\");\n const button1 = await page.find(\"#button-1\");\n const button2 = await page.find(\"#button-2\");\n\n await button1.focus();\n await button2.focus();\n await page.waitForTimeout(200);\n\n expect(await tooltip.isVisible()).toBe(false);\n });\n\n it(\"should close when escape key pressed\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n `<ic-tooltip target=\"test-id\" label=\"test-label\"><button>IC Tooltip Test</button></ic-tooltip>`\n );\n await page.waitForChanges();\n\n const tooltip = await page.find(\".ic-tooltip >>> .ic-tooltip-container\");\n const button = await page.find(\"button\");\n\n await button.focus();\n await page.keyboard.press(\"Escape\");\n\n expect(await tooltip.isVisible()).toBe(false);\n });\n\n it(\"should display the tooltip when the displayTooltip method is called\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n `<ic-tooltip target=\"test-id\" label=\"test-label\"><button>IC Tooltip Test</button></ic-tooltip>`\n );\n await page.waitForChanges();\n\n const tooltip = await page.find(\"ic-tooltip\");\n const tooltipContainer = await page.find(\n \".ic-tooltip >>> .ic-tooltip-container\"\n );\n expect(await tooltipContainer.isVisible()).toBe(false);\n\n await tooltip.callMethod(\"displayTooltip\", true, true);\n expect(await tooltipContainer.isVisible()).toBe(true);\n\n await page.keyboard.press(\"Escape\");\n expect(await tooltipContainer.isVisible()).toBe(true);\n\n await tooltip.callMethod(\"displayTooltip\", false);\n expect(await tooltipContainer.isVisible()).toBe(false);\n });\n\n it(\"should still dismiss the tooltip using the keyboard if persistTooltip is false\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n `<ic-tooltip target=\"test-id\" label=\"test-label\"><button>IC Tooltip Test</button></ic-tooltip>`\n );\n await page.waitForChanges();\n\n const tooltip = await page.find(\"ic-tooltip\");\n const tooltipContainer = await page.find(\n \".ic-tooltip >>> .ic-tooltip-container\"\n );\n expect(await tooltipContainer.isVisible()).toBe(false);\n\n await tooltip.callMethod(\"displayTooltip\", true, false);\n expect(await tooltipContainer.isVisible()).toBe(true);\n\n await page.keyboard.press(\"Escape\");\n expect(await tooltipContainer.isVisible()).toBe(false);\n });\n});\n"]}
@@ -1,6 +1,7 @@
1
1
  import { newSpecPage } from "@stencil/core/testing";
2
2
  import { waitForTimeout } from "../../../../testspec.setup";
3
3
  import { Tooltip } from "../../ic-tooltip";
4
+ import { Typography } from "../../../ic-typography/ic-typography";
4
5
  beforeAll(() => {
5
6
  jest.spyOn(console, "error").mockImplementation(jest.fn());
6
7
  });
@@ -99,7 +100,6 @@ describe("ic-tooltip component", () => {
99
100
  });
100
101
  expect(page.rootInstance.label).toBe("tooltip");
101
102
  page.root.label = "new tooltip";
102
- page.rootInstance.updateLabel();
103
103
  await page.waitForChanges();
104
104
  expect(page.rootInstance.label).toBe("new tooltip");
105
105
  page.rootInstance.disconnectedCallback();
@@ -283,5 +283,14 @@ describe("ic-tooltip component", () => {
283
283
  expect(page.root.placement).toBe("right");
284
284
  });
285
285
  });
286
+ it("should truncate text and pass the maxLines value to ic-typography if maxLines prop has been set", async () => {
287
+ const page = await newSpecPage({
288
+ components: [Tooltip, Typography],
289
+ html: `<ic-tooltip target="test-button" label="This is a body of text that is truncated to three lines within a tooltip. It has been truncated based on the max-lines property. The number of lines in the text is clamped to the number passed through the max-lines property." max-lines="2"><button id="test-button">Click</button></ic-tooltip>`,
290
+ });
291
+ expect(page.root).toMatchSnapshot();
292
+ const typographyEl = page.root.shadowRoot.querySelector("div > ic-typography");
293
+ expect(typographyEl.maxLines).toEqual(2);
294
+ });
286
295
  });
287
296
  //# sourceMappingURL=ic-tooltip.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ic-tooltip.spec.js","sourceRoot":"","sources":["../../../../../src/components/ic-tooltip/test/basic/ic-tooltip.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,SAAS,CAAC,GAAG,EAAE;EACb,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;AAC7D,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;EACpC,EAAE,CAAC,eAAe,EAAE,KAAK,IAAI,EAAE;IAC7B,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;MAC7B,UAAU,EAAE,CAAC,OAAO,CAAC;MACrB,IAAI,EAAE,2CAA2C;KAClD,CAAC,CAAC;IAEH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC;EACzD,CAAC,CAAC,CAAC;EAEH,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;IAC5C,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;MAC7B,UAAU,EAAE,CAAC,OAAO,CAAC;MACrB,IAAI,EAAE,uGAAuG;KAC9G,CAAC,CAAC;IAEH,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;IAErE,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IAC/D,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAE5B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;EACvE,CAAC,CAAC,CAAC;EAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;IACrD,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;MAC7B,UAAU,EAAE,CAAC,OAAO,CAAC;MACrB,IAAI,EAAE,0HAA0H;KACjI,CAAC,CAAC;IAEH,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;IAErE,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IAC/D,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAE5B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;EACvE,CAAC,CAAC,CAAC;EAEH,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;IAC/C,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;MAC7B,UAAU,EAAE,CAAC,OAAO,CAAC;MACrB,IAAI,EAAE,uGAAuG;KAC9G,CAAC,CAAC;IAEH,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;IAErE,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IAC/D,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAE5B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAErE,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IAC/D,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAE5B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;EACvE,CAAC,CAAC,CAAC;EAEH,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;IAC9C,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;MAC7B,UAAU,EAAE,CAAC,OAAO,CAAC;MACrB,IAAI,EAAE,uGAAuG;KAC9G,CAAC,CAAC;IAEH,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;IAErE,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IAC/D,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAE5B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAErE,MAAM,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IAE5E,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC;IAE1B,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAE5B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;EACvE,CAAC,CAAC,CAAC;EAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;IAC3D,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;MAC7B,UAAU,EAAE,CAAC,OAAO,CAAC;MACrB,IAAI,EAAE,uGAAuG;KAC9G,CAAC,CAAC;IAEH,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;IAErE,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IAC/D,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAE5B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAErE,MAAM,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,CAAC;IAC5C,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAE5B,MAAM,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IAC5E,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAE5B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;EACvE,CAAC,CAAC,CAAC;EAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;IAC1D,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;MAC7B,UAAU,EAAE,CAAC,OAAO,CAAC;MACrB,IAAI,EAAE,uGAAuG;KAC9G,CAAC,CAAC;IAEH,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;IAErE,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IAC/D,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAE5B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAErE,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;IAElC,IAAI,CAAC,aAAa,CAChB,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE;MACzC,GAAG,EAAE,QAAQ;MACb,OAAO,EAAE,IAAI;MACb,UAAU,EAAE,IAAI;KACjB,CAAC,CACH,CAAC;IAEF,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAE5B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;EACvE,CAAC,CAAC,CAAC;EAEH,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;IAC9C,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;MAC7B,UAAU,EAAE,CAAC,OAAO,CAAC;MACrB,IAAI,EAAE,uGAAuG;KAC9G,CAAC,CAAC;IAEH,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAEhD,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC;IAEhC,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;IAChC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAE5B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAEpD,IAAI,CAAC,YAAY,CAAC,oBAAoB,EAAE,CAAC;EAC3C,CAAC,CAAC,CAAC;EAEH,EAAE,CAAC,wGAAwG,EAAE,KAAK,IAAI,EAAE;IACtH,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;MAC7B,UAAU,EAAE,CAAC,OAAO,CAAC;MACrB,IAAI,EAAE,uGAAuG;KAC9G,CAAC,CAAC;IAEH,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;IAErE,MAAM,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnD,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAE5B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC;IAEzE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAChC,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE;MACzC,GAAG,EAAE,QAAQ;MACb,OAAO,EAAE,IAAI;MACb,UAAU,EAAE,IAAI;KACjB,CAAC,CACH,CAAC;IAEF,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAE5B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC;IAEzE,MAAM,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACrD,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAE5B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;EACvE,CAAC,CAAC,CAAC;EAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;MACxC,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;QAC7B,UAAU,EAAE,CAAC,OAAO,CAAC;QACrB,IAAI,EAAE,uGAAuG;OAC9G,CAAC,CAAC;MAEH,MAAM,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC;QAC1C,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,EAAE;QACT,GAAG,EAAE,GAAG;QACR,MAAM,EAAE,GAAG;OACZ,CAAC,CAAC;MACH,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;MAE5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;MAC9C,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;QAC7B,UAAU,EAAE,CAAC,OAAO,CAAC;QACrB,IAAI,EAAE,gIAAgI;OACvI,CAAC,CAAC;MAEH,MAAM,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC;QAC1C,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,EAAE;QACT,GAAG,EAAE,GAAG;QACR,MAAM,EAAE,GAAG;OACZ,CAAC,CAAC;MACH,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;MAE5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;MAC5C,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;QAC7B,UAAU,EAAE,CAAC,OAAO,CAAC;QACrB,IAAI,EAAE,8HAA8H;OACrI,CAAC,CAAC;MAEH,MAAM,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC;QAC1C,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,EAAE;QACT,GAAG,EAAE,GAAG;QACR,MAAM,EAAE,GAAG;OACZ,CAAC,CAAC;MACH,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;MAE5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;MACrC,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;QAC7B,UAAU,EAAE,CAAC,OAAO,CAAC;QACrB,IAAI,EAAE,uHAAuH;OAC9H,CAAC,CAAC;MAEH,MAAM,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC;QAC1C,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,EAAE;QACT,GAAG,EAAE,GAAG;QACR,MAAM,EAAE,GAAG;OACZ,CAAC,CAAC;MACH,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;MAE5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;MAC3C,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;QAC7B,UAAU,EAAE,CAAC,OAAO,CAAC;QACrB,IAAI,EAAE,6HAA6H;OACpI,CAAC,CAAC;MAEH,MAAM,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC;QAC1C,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,EAAE;QACT,GAAG,EAAE,GAAG;QACR,MAAM,EAAE,GAAG;OACZ,CAAC,CAAC;MACH,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;MAE5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;MACzC,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;QAC7B,UAAU,EAAE,CAAC,OAAO,CAAC;QACrB,IAAI,EAAE,2HAA2H;OAClI,CAAC,CAAC;MAEH,MAAM,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC;QAC1C,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,EAAE;QACT,GAAG,EAAE,GAAG;QACR,MAAM,EAAE,GAAG;OACZ,CAAC,CAAC;MACH,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;MAE5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;MACtC,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;QAC7B,UAAU,EAAE,CAAC,OAAO,CAAC;QACrB,IAAI,EAAE,wHAAwH;OAC/H,CAAC,CAAC;MAEH,MAAM,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC;QAC1C,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,EAAE;QACT,GAAG,EAAE,GAAG;QACR,MAAM,EAAE,GAAG;OACZ,CAAC,CAAC;MACH,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;MAE5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;MAC1C,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;QAC7B,UAAU,EAAE,CAAC,OAAO,CAAC;QACrB,IAAI,EAAE,4HAA4H;OACnI,CAAC,CAAC;MAEH,MAAM,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC;QAC1C,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,EAAE;QACT,GAAG,EAAE,GAAG;QACR,MAAM,EAAE,GAAG;OACZ,CAAC,CAAC;MACH,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;MAE5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;MACvC,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;QAC7B,UAAU,EAAE,CAAC,OAAO,CAAC;QACrB,IAAI,EAAE,yHAAyH;OAChI,CAAC,CAAC;MAEH,MAAM,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC;QAC1C,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,EAAE;QACT,GAAG,EAAE,GAAG;QACR,MAAM,EAAE,GAAG;OACZ,CAAC,CAAC;MACH,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;MAE5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;MAC3C,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;QAC7B,UAAU,EAAE,CAAC,OAAO,CAAC;QACrB,IAAI,EAAE,6HAA6H;OACpI,CAAC,CAAC;MAEH,MAAM,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC;QAC1C,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,EAAE;QACT,GAAG,EAAE,GAAG;QACR,MAAM,EAAE,GAAG;OACZ,CAAC,CAAC;MACH,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;MAE5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;MAC/D,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;QAC7B,UAAU,EAAE,CAAC,OAAO,CAAC;QACrB,IAAI,EAAE,wHAAwH;OAC/H,CAAC,CAAC;MAEH,IAAI,CAAC,YAAY,CAAC,cAAc,GAAG,IAAI,CAAC;MACxC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;MAE5B,MAAM,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC;QAC1C,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,EAAE;QACT,GAAG,EAAE,GAAG;QACR,MAAM,EAAE,GAAG;OACZ,CAAC,CAAC;MACH,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;MAE5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;MACpC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;EACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { newSpecPage } from \"@stencil/core/testing\";\nimport { waitForTimeout } from \"../../../../testspec.setup\";\nimport { Tooltip } from \"../../ic-tooltip\";\n\nbeforeAll(() => {\n jest.spyOn(console, \"error\").mockImplementation(jest.fn());\n});\n\ndescribe(\"ic-tooltip component\", () => {\n it(\"should render\", async () => {\n const page = await newSpecPage({\n components: [Tooltip],\n html: `<ic-tooltip label=\"tooltip\"></ic-tooltip>`,\n });\n\n expect(page.root).toMatchSnapshot(`ic-tooltip-render`);\n });\n\n it(\"should appear when triggered\", async () => {\n const page = await newSpecPage({\n components: [Tooltip],\n html: `<ic-tooltip target=\"test-button\" label=\"tooltip\"><button id=\"test-button\">Click</button></ic-tooltip>`,\n });\n\n expect(page.rootInstance.toolTip.getAttribute(\"data-show\")).toBeNull;\n\n await page.rootInstance.show(page.rootInstance.popperInstance);\n await page.waitForChanges();\n\n expect(page.rootInstance.toolTip.getAttribute(\"data-show\")).toBe(\"\");\n });\n\n it(\"should appear when triggered by click\", async () => {\n const page = await newSpecPage({\n components: [Tooltip],\n html: `<ic-tooltip target=\"test-button\" label=\"tooltip\" disable-hover=true><button id=\"test-button\">Click</button></ic-tooltip>`,\n });\n\n expect(page.rootInstance.toolTip.getAttribute(\"data-show\")).toBeNull;\n\n await page.rootInstance.show(page.rootInstance.popperInstance);\n await page.waitForChanges();\n\n expect(page.rootInstance.toolTip.getAttribute(\"data-show\")).toBe(\"\");\n });\n\n it(\"should disappear when triggered\", async () => {\n const page = await newSpecPage({\n components: [Tooltip],\n html: `<ic-tooltip target=\"test-button\" label=\"tooltip\"><button id=\"test-button\">Click</button></ic-tooltip>`,\n });\n\n expect(page.rootInstance.toolTip.getAttribute(\"data-show\")).toBeNull;\n\n await page.rootInstance.show(page.rootInstance.popperInstance);\n await page.waitForChanges();\n\n expect(page.rootInstance.toolTip.getAttribute(\"data-show\")).toBe(\"\");\n\n await page.rootInstance.hide(page.rootInstance.popperInstance);\n await page.waitForChanges();\n\n expect(page.rootInstance.toolTip.getAttribute(\"data-show\")).toBeNull;\n });\n\n it(\"should disappear on mouseleave\", async () => {\n const page = await newSpecPage({\n components: [Tooltip],\n html: `<ic-tooltip target=\"test-button\" label=\"tooltip\"><button id=\"test-button\">Click</button></ic-tooltip>`,\n });\n\n expect(page.rootInstance.toolTip.getAttribute(\"data-show\")).toBeNull;\n\n await page.rootInstance.show(page.rootInstance.popperInstance);\n await page.waitForChanges();\n\n expect(page.rootInstance.toolTip.getAttribute(\"data-show\")).toBe(\"\");\n\n await page.rootInstance.mouseLeaveTooltip(page.rootInstance.popperInstance);\n\n await waitForTimeout(200);\n\n await page.waitForChanges();\n\n expect(page.rootInstance.toolTip.getAttribute(\"data-show\")).toBeNull;\n });\n\n it(\"should remain when mouse remains on tooltip\", async () => {\n const page = await newSpecPage({\n components: [Tooltip],\n html: `<ic-tooltip target=\"test-button\" label=\"tooltip\"><button id=\"test-button\">Click</button></ic-tooltip>`,\n });\n\n expect(page.rootInstance.toolTip.getAttribute(\"data-show\")).toBeNull;\n\n await page.rootInstance.show(page.rootInstance.popperInstance);\n await page.waitForChanges();\n\n expect(page.rootInstance.toolTip.getAttribute(\"data-show\")).toBe(\"\");\n\n await page.rootInstance.mouseEnterTooltip();\n await page.waitForChanges();\n\n await page.rootInstance.checkCloseTooltip(page.rootInstance.popperInstance);\n await page.waitForChanges();\n\n expect(page.rootInstance.toolTip.getAttribute(\"data-show\")).toBe(\"\");\n });\n\n it(\"should close the tooltip on Escape keydown\", async () => {\n const page = await newSpecPage({\n components: [Tooltip],\n html: `<ic-tooltip target=\"test-button\" label=\"tooltip\"><button id=\"test-button\">Click</button></ic-tooltip>`,\n });\n\n expect(page.rootInstance.toolTip.getAttribute(\"data-show\")).toBeNull;\n\n await page.rootInstance.show(page.rootInstance.popperInstance);\n await page.waitForChanges();\n\n expect(page.rootInstance.toolTip.getAttribute(\"data-show\")).toBe(\"\");\n\n const body = window.document.body;\n\n body.dispatchEvent(\n new window.window.KeyboardEvent(\"keydown\", {\n key: \"Escape\",\n bubbles: true,\n cancelable: true,\n })\n );\n\n await page.waitForChanges();\n\n expect(page.rootInstance.toolTip.getAttribute(\"data-show\")).toBeNull;\n });\n\n it(\"should watch for label updates\", async () => {\n const page = await newSpecPage({\n components: [Tooltip],\n html: `<ic-tooltip target=\"test-button\" label=\"tooltip\"><button id=\"test-button\">Click</button></ic-tooltip>`,\n });\n\n expect(page.rootInstance.label).toBe(\"tooltip\");\n\n page.root.label = \"new tooltip\";\n\n page.rootInstance.updateLabel();\n await page.waitForChanges();\n\n expect(page.rootInstance.label).toBe(\"new tooltip\");\n\n page.rootInstance.disconnectedCallback();\n });\n\n it(\"should open the tooltip using the displayTooltip method and should persist when persistTooltip is true\", async () => {\n const page = await newSpecPage({\n components: [Tooltip],\n html: `<ic-tooltip target=\"test-button\" label=\"tooltip\"><button id=\"test-button\">Click</button></ic-tooltip>`,\n });\n\n expect(page.rootInstance.toolTip.getAttribute(\"data-show\")).toBeNull;\n\n await page.rootInstance.displayTooltip(true, true);\n await page.waitForChanges();\n\n expect(page.rootInstance.toolTip.getAttribute(\"data-show\")).not.toBeNull;\n\n window.document.body.dispatchEvent(\n new window.window.KeyboardEvent(\"keydown\", {\n key: \"Escape\",\n bubbles: true,\n cancelable: true,\n })\n );\n\n await page.waitForChanges();\n\n expect(page.rootInstance.toolTip.getAttribute(\"data-show\")).not.toBeNull;\n\n await page.rootInstance.displayTooltip(false, false);\n await page.waitForChanges();\n\n expect(page.rootInstance.toolTip.getAttribute(\"data-show\")).toBeNull;\n });\n\n describe(\"getTooltipTranslate\", () => {\n it(\"should update for bottom\", async () => {\n const page = await newSpecPage({\n components: [Tooltip],\n html: `<ic-tooltip target=\"test-button\" label=\"tooltip\"><button id=\"test-button\">Click</button></ic-tooltip>`,\n });\n\n await page.rootInstance.getTooltipTranslate({\n left: 0,\n right: 40,\n top: 100,\n bottom: 132,\n });\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should update for bottom-start\", async () => {\n const page = await newSpecPage({\n components: [Tooltip],\n html: `<ic-tooltip target=\"test-button\" label=\"tooltip\" placement=\"bottom-start\"><button id=\"test-button\">Click</button></ic-tooltip>`,\n });\n\n await page.rootInstance.getTooltipTranslate({\n left: 0,\n right: 40,\n top: 100,\n bottom: 132,\n });\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should update for bottom-end\", async () => {\n const page = await newSpecPage({\n components: [Tooltip],\n html: `<ic-tooltip target=\"test-button\" label=\"tooltip\" placement=\"bottom-end\"><button id=\"test-button\">Click</button></ic-tooltip>`,\n });\n\n await page.rootInstance.getTooltipTranslate({\n left: 0,\n right: 40,\n top: 100,\n bottom: 132,\n });\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should update for top\", async () => {\n const page = await newSpecPage({\n components: [Tooltip],\n html: `<ic-tooltip target=\"test-button\" label=\"tooltip\" placement=\"top\"><button id=\"test-button\">Click</button></ic-tooltip>`,\n });\n\n await page.rootInstance.getTooltipTranslate({\n left: 0,\n right: 40,\n top: 100,\n bottom: 132,\n });\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should update for top-start\", async () => {\n const page = await newSpecPage({\n components: [Tooltip],\n html: `<ic-tooltip target=\"test-button\" label=\"tooltip\" placement=\"top-start\"><button id=\"test-button\">Click</button></ic-tooltip>`,\n });\n\n await page.rootInstance.getTooltipTranslate({\n left: 0,\n right: 40,\n top: 100,\n bottom: 132,\n });\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should update for top-end\", async () => {\n const page = await newSpecPage({\n components: [Tooltip],\n html: `<ic-tooltip target=\"test-button\" label=\"tooltip\" placement=\"top-end\"><button id=\"test-button\">Click</button></ic-tooltip>`,\n });\n\n await page.rootInstance.getTooltipTranslate({\n left: 0,\n right: 40,\n top: 100,\n bottom: 132,\n });\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should update for left\", async () => {\n const page = await newSpecPage({\n components: [Tooltip],\n html: `<ic-tooltip target=\"test-button\" label=\"tooltip\" placement=\"left\"><button id=\"test-button\">Click</button></ic-tooltip>`,\n });\n\n await page.rootInstance.getTooltipTranslate({\n left: 0,\n right: 40,\n top: 100,\n bottom: 132,\n });\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should update for left-end\", async () => {\n const page = await newSpecPage({\n components: [Tooltip],\n html: `<ic-tooltip target=\"test-button\" label=\"tooltip\" placement=\"left-end\"><button id=\"test-button\">Click</button></ic-tooltip>`,\n });\n\n await page.rootInstance.getTooltipTranslate({\n left: 0,\n right: 40,\n top: 100,\n bottom: 132,\n });\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should update for right\", async () => {\n const page = await newSpecPage({\n components: [Tooltip],\n html: `<ic-tooltip target=\"test-button\" label=\"tooltip\" placement=\"right\"><button id=\"test-button\">Click</button></ic-tooltip>`,\n });\n\n await page.rootInstance.getTooltipTranslate({\n left: 0,\n right: 40,\n top: 100,\n bottom: 132,\n });\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should update for right-end\", async () => {\n const page = await newSpecPage({\n components: [Tooltip],\n html: `<ic-tooltip target=\"test-button\" label=\"tooltip\" placement=\"right-end\"><button id=\"test-button\">Click</button></ic-tooltip>`,\n });\n\n await page.rootInstance.getTooltipTranslate({\n left: 0,\n right: 40,\n top: 100,\n bottom: 132,\n });\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should update when tooltip is outside of dialog\", async () => {\n const page = await newSpecPage({\n components: [Tooltip],\n html: `<ic-tooltip target=\"test-button\" label=\"tooltip\" placement=\"left\"><button id=\"test-button\">Click</button></ic-tooltip>`,\n });\n\n page.rootInstance.dialogOverflow = true;\n await page.waitForChanges();\n\n await page.rootInstance.getTooltipTranslate({\n left: 0,\n right: 40,\n top: 100,\n bottom: 132,\n });\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n expect(page.root.placement).toBe(\"right\");\n });\n });\n});\n"]}
1
+ {"version":3,"file":"ic-tooltip.spec.js","sourceRoot":"","sources":["../../../../../src/components/ic-tooltip/test/basic/ic-tooltip.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { newSpecPage } from \"@stencil/core/testing\";\nimport { waitForTimeout } from \"../../../../testspec.setup\";\nimport { Tooltip } from \"../../ic-tooltip\";\nimport { Typography } from \"../../../ic-typography/ic-typography\";\n\nbeforeAll(() => {\n jest.spyOn(console, \"error\").mockImplementation(jest.fn());\n});\n\ndescribe(\"ic-tooltip component\", () => {\n it(\"should render\", async () => {\n const page = await newSpecPage({\n components: [Tooltip],\n html: `<ic-tooltip label=\"tooltip\"></ic-tooltip>`,\n });\n\n expect(page.root).toMatchSnapshot(`ic-tooltip-render`);\n });\n\n it(\"should appear when triggered\", async () => {\n const page = await newSpecPage({\n components: [Tooltip],\n html: `<ic-tooltip target=\"test-button\" label=\"tooltip\"><button id=\"test-button\">Click</button></ic-tooltip>`,\n });\n\n expect(page.rootInstance.toolTip.getAttribute(\"data-show\")).toBeNull;\n\n await page.rootInstance.show(page.rootInstance.popperInstance);\n await page.waitForChanges();\n\n expect(page.rootInstance.toolTip.getAttribute(\"data-show\")).toBe(\"\");\n });\n\n it(\"should appear when triggered by click\", async () => {\n const page = await newSpecPage({\n components: [Tooltip],\n html: `<ic-tooltip target=\"test-button\" label=\"tooltip\" disable-hover=true><button id=\"test-button\">Click</button></ic-tooltip>`,\n });\n\n expect(page.rootInstance.toolTip.getAttribute(\"data-show\")).toBeNull;\n\n await page.rootInstance.show(page.rootInstance.popperInstance);\n await page.waitForChanges();\n\n expect(page.rootInstance.toolTip.getAttribute(\"data-show\")).toBe(\"\");\n });\n\n it(\"should disappear when triggered\", async () => {\n const page = await newSpecPage({\n components: [Tooltip],\n html: `<ic-tooltip target=\"test-button\" label=\"tooltip\"><button id=\"test-button\">Click</button></ic-tooltip>`,\n });\n\n expect(page.rootInstance.toolTip.getAttribute(\"data-show\")).toBeNull;\n\n await page.rootInstance.show(page.rootInstance.popperInstance);\n await page.waitForChanges();\n\n expect(page.rootInstance.toolTip.getAttribute(\"data-show\")).toBe(\"\");\n\n await page.rootInstance.hide(page.rootInstance.popperInstance);\n await page.waitForChanges();\n\n expect(page.rootInstance.toolTip.getAttribute(\"data-show\")).toBeNull;\n });\n\n it(\"should disappear on mouseleave\", async () => {\n const page = await newSpecPage({\n components: [Tooltip],\n html: `<ic-tooltip target=\"test-button\" label=\"tooltip\"><button id=\"test-button\">Click</button></ic-tooltip>`,\n });\n\n expect(page.rootInstance.toolTip.getAttribute(\"data-show\")).toBeNull;\n\n await page.rootInstance.show(page.rootInstance.popperInstance);\n await page.waitForChanges();\n\n expect(page.rootInstance.toolTip.getAttribute(\"data-show\")).toBe(\"\");\n\n await page.rootInstance.mouseLeaveTooltip(page.rootInstance.popperInstance);\n\n await waitForTimeout(200);\n\n await page.waitForChanges();\n\n expect(page.rootInstance.toolTip.getAttribute(\"data-show\")).toBeNull;\n });\n\n it(\"should remain when mouse remains on tooltip\", async () => {\n const page = await newSpecPage({\n components: [Tooltip],\n html: `<ic-tooltip target=\"test-button\" label=\"tooltip\"><button id=\"test-button\">Click</button></ic-tooltip>`,\n });\n\n expect(page.rootInstance.toolTip.getAttribute(\"data-show\")).toBeNull;\n\n await page.rootInstance.show(page.rootInstance.popperInstance);\n await page.waitForChanges();\n\n expect(page.rootInstance.toolTip.getAttribute(\"data-show\")).toBe(\"\");\n\n await page.rootInstance.mouseEnterTooltip();\n await page.waitForChanges();\n\n await page.rootInstance.checkCloseTooltip(page.rootInstance.popperInstance);\n await page.waitForChanges();\n\n expect(page.rootInstance.toolTip.getAttribute(\"data-show\")).toBe(\"\");\n });\n\n it(\"should close the tooltip on Escape keydown\", async () => {\n const page = await newSpecPage({\n components: [Tooltip],\n html: `<ic-tooltip target=\"test-button\" label=\"tooltip\"><button id=\"test-button\">Click</button></ic-tooltip>`,\n });\n\n expect(page.rootInstance.toolTip.getAttribute(\"data-show\")).toBeNull;\n\n await page.rootInstance.show(page.rootInstance.popperInstance);\n await page.waitForChanges();\n\n expect(page.rootInstance.toolTip.getAttribute(\"data-show\")).toBe(\"\");\n\n const body = window.document.body;\n\n body.dispatchEvent(\n new window.window.KeyboardEvent(\"keydown\", {\n key: \"Escape\",\n bubbles: true,\n cancelable: true,\n })\n );\n\n await page.waitForChanges();\n\n expect(page.rootInstance.toolTip.getAttribute(\"data-show\")).toBeNull;\n });\n\n it(\"should watch for label updates\", async () => {\n const page = await newSpecPage({\n components: [Tooltip],\n html: `<ic-tooltip target=\"test-button\" label=\"tooltip\"><button id=\"test-button\">Click</button></ic-tooltip>`,\n });\n\n expect(page.rootInstance.label).toBe(\"tooltip\");\n\n page.root.label = \"new tooltip\";\n\n await page.waitForChanges();\n\n expect(page.rootInstance.label).toBe(\"new tooltip\");\n\n page.rootInstance.disconnectedCallback();\n });\n\n it(\"should open the tooltip using the displayTooltip method and should persist when persistTooltip is true\", async () => {\n const page = await newSpecPage({\n components: [Tooltip],\n html: `<ic-tooltip target=\"test-button\" label=\"tooltip\"><button id=\"test-button\">Click</button></ic-tooltip>`,\n });\n\n expect(page.rootInstance.toolTip.getAttribute(\"data-show\")).toBeNull;\n\n await page.rootInstance.displayTooltip(true, true);\n await page.waitForChanges();\n\n expect(page.rootInstance.toolTip.getAttribute(\"data-show\")).not.toBeNull;\n\n window.document.body.dispatchEvent(\n new window.window.KeyboardEvent(\"keydown\", {\n key: \"Escape\",\n bubbles: true,\n cancelable: true,\n })\n );\n\n await page.waitForChanges();\n\n expect(page.rootInstance.toolTip.getAttribute(\"data-show\")).not.toBeNull;\n\n await page.rootInstance.displayTooltip(false, false);\n await page.waitForChanges();\n\n expect(page.rootInstance.toolTip.getAttribute(\"data-show\")).toBeNull;\n });\n\n describe(\"getTooltipTranslate\", () => {\n it(\"should update for bottom\", async () => {\n const page = await newSpecPage({\n components: [Tooltip],\n html: `<ic-tooltip target=\"test-button\" label=\"tooltip\"><button id=\"test-button\">Click</button></ic-tooltip>`,\n });\n\n await page.rootInstance.getTooltipTranslate({\n left: 0,\n right: 40,\n top: 100,\n bottom: 132,\n });\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should update for bottom-start\", async () => {\n const page = await newSpecPage({\n components: [Tooltip],\n html: `<ic-tooltip target=\"test-button\" label=\"tooltip\" placement=\"bottom-start\"><button id=\"test-button\">Click</button></ic-tooltip>`,\n });\n\n await page.rootInstance.getTooltipTranslate({\n left: 0,\n right: 40,\n top: 100,\n bottom: 132,\n });\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should update for bottom-end\", async () => {\n const page = await newSpecPage({\n components: [Tooltip],\n html: `<ic-tooltip target=\"test-button\" label=\"tooltip\" placement=\"bottom-end\"><button id=\"test-button\">Click</button></ic-tooltip>`,\n });\n\n await page.rootInstance.getTooltipTranslate({\n left: 0,\n right: 40,\n top: 100,\n bottom: 132,\n });\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should update for top\", async () => {\n const page = await newSpecPage({\n components: [Tooltip],\n html: `<ic-tooltip target=\"test-button\" label=\"tooltip\" placement=\"top\"><button id=\"test-button\">Click</button></ic-tooltip>`,\n });\n\n await page.rootInstance.getTooltipTranslate({\n left: 0,\n right: 40,\n top: 100,\n bottom: 132,\n });\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should update for top-start\", async () => {\n const page = await newSpecPage({\n components: [Tooltip],\n html: `<ic-tooltip target=\"test-button\" label=\"tooltip\" placement=\"top-start\"><button id=\"test-button\">Click</button></ic-tooltip>`,\n });\n\n await page.rootInstance.getTooltipTranslate({\n left: 0,\n right: 40,\n top: 100,\n bottom: 132,\n });\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should update for top-end\", async () => {\n const page = await newSpecPage({\n components: [Tooltip],\n html: `<ic-tooltip target=\"test-button\" label=\"tooltip\" placement=\"top-end\"><button id=\"test-button\">Click</button></ic-tooltip>`,\n });\n\n await page.rootInstance.getTooltipTranslate({\n left: 0,\n right: 40,\n top: 100,\n bottom: 132,\n });\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should update for left\", async () => {\n const page = await newSpecPage({\n components: [Tooltip],\n html: `<ic-tooltip target=\"test-button\" label=\"tooltip\" placement=\"left\"><button id=\"test-button\">Click</button></ic-tooltip>`,\n });\n\n await page.rootInstance.getTooltipTranslate({\n left: 0,\n right: 40,\n top: 100,\n bottom: 132,\n });\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should update for left-end\", async () => {\n const page = await newSpecPage({\n components: [Tooltip],\n html: `<ic-tooltip target=\"test-button\" label=\"tooltip\" placement=\"left-end\"><button id=\"test-button\">Click</button></ic-tooltip>`,\n });\n\n await page.rootInstance.getTooltipTranslate({\n left: 0,\n right: 40,\n top: 100,\n bottom: 132,\n });\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should update for right\", async () => {\n const page = await newSpecPage({\n components: [Tooltip],\n html: `<ic-tooltip target=\"test-button\" label=\"tooltip\" placement=\"right\"><button id=\"test-button\">Click</button></ic-tooltip>`,\n });\n\n await page.rootInstance.getTooltipTranslate({\n left: 0,\n right: 40,\n top: 100,\n bottom: 132,\n });\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should update for right-end\", async () => {\n const page = await newSpecPage({\n components: [Tooltip],\n html: `<ic-tooltip target=\"test-button\" label=\"tooltip\" placement=\"right-end\"><button id=\"test-button\">Click</button></ic-tooltip>`,\n });\n\n await page.rootInstance.getTooltipTranslate({\n left: 0,\n right: 40,\n top: 100,\n bottom: 132,\n });\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should update when tooltip is outside of dialog\", async () => {\n const page = await newSpecPage({\n components: [Tooltip],\n html: `<ic-tooltip target=\"test-button\" label=\"tooltip\" placement=\"left\"><button id=\"test-button\">Click</button></ic-tooltip>`,\n });\n\n page.rootInstance.dialogOverflow = true;\n await page.waitForChanges();\n\n await page.rootInstance.getTooltipTranslate({\n left: 0,\n right: 40,\n top: 100,\n bottom: 132,\n });\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n expect(page.root.placement).toBe(\"right\");\n });\n });\n\n it(\"should truncate text and pass the maxLines value to ic-typography if maxLines prop has been set\", async () => {\n const page = await newSpecPage({\n components: [Tooltip, Typography],\n html: `<ic-tooltip target=\"test-button\" label=\"This is a body of text that is truncated to three lines within a tooltip. It has been truncated based on the max-lines property. The number of lines in the text is clamped to the number passed through the max-lines property.\" max-lines=\"2\"><button id=\"test-button\">Click</button></ic-tooltip>`,\n });\n\n expect(page.root).toMatchSnapshot();\n\n const typographyEl = page.root.shadowRoot.querySelector(\n \"div > ic-typography\"\n ) as HTMLIcTypographyElement;\n expect(typographyEl.maxLines).toEqual(2);\n });\n});\n"]}
@@ -1,6 +1,6 @@
1
1
  import { Host, h, } from "@stencil/core";
2
2
  import { IcThemeForegroundEnum, } from "../../utils/types";
3
- import { checkResizeObserver, DEVICE_SIZES, getCurrentDeviceSize, getThemeForegroundColor, getSlot, onComponentPropUndefinedChange, onComponentRequiredPropUndefined, isSlotUsed, isEmptyString, } from "../../utils/helpers";
3
+ import { checkResizeObserver, DEVICE_SIZES, getCurrentDeviceSize, getThemeForegroundColor, getSlot, onComponentPropUndefinedChange, onComponentRequiredPropUndefined, isSlotUsed, isEmptyString, isPropDefined, } from "../../utils/helpers";
4
4
  /**
5
5
  * @slot app-icon - Content will be rendered to left of app title.
6
6
  * @slot app-title - Handle routing by nesting a route in the app title.
@@ -145,7 +145,7 @@ export class TopNavigation {
145
145
  this.mobileSearchBarVisible = !this.mobileSearchBarVisible;
146
146
  if (this.searchBar !== null) {
147
147
  if (this.mobileSearchBarVisible) {
148
- this.mobileSearchButtonEl.updateAriaLabel("Hide search");
148
+ this.mobileSearchButtonEl.setAttribute("aria-label", "Hide search");
149
149
  this.hasFullWidthSearchBar = true;
150
150
  this.searchBar.fullWidth = true;
151
151
  setTimeout(() => {
@@ -153,7 +153,7 @@ export class TopNavigation {
153
153
  }, 100);
154
154
  }
155
155
  else {
156
- this.mobileSearchButtonEl.updateAriaLabel("Show search");
156
+ this.mobileSearchButtonEl.setAttribute("aria-label", "Show search");
157
157
  this.hasFullWidthSearchBar = false;
158
158
  this.searchBar.fullWidth = false;
159
159
  }
@@ -179,7 +179,7 @@ export class TopNavigation {
179
179
  this.version !== "";
180
180
  const searchButtonSize = this.deviceSize <= DEVICE_SIZES.S ? "default" : "large";
181
181
  let appTitleVariant = "h3";
182
- const hasTitle = this.appTitle !== "" && this.appTitle !== undefined;
182
+ const hasTitle = this.appTitle !== "" && isPropDefined(this.appTitle);
183
183
  if (this.deviceSize <= DEVICE_SIZES.L) {
184
184
  appTitleVariant = "h4";
185
185
  if (this.deviceSize <= DEVICE_SIZES.S) {