@ukic/web-components 2.29.1 → 3.0.0-alpha.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (955) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/{helpers-94b33ab0.js → helpers-f1cf5156.js} +20 -11
  3. package/dist/cjs/helpers-f1cf5156.js.map +1 -0
  4. package/dist/cjs/ic-accordion-group.cjs.entry.js +9 -10
  5. package/dist/cjs/ic-accordion-group.cjs.entry.js.map +1 -1
  6. package/dist/cjs/ic-accordion.cjs.entry.js +5 -6
  7. package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
  8. package/dist/cjs/ic-alert.cjs.entry.js +4 -7
  9. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  10. package/dist/cjs/ic-back-to-top.cjs.entry.js +12 -16
  11. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  12. package/dist/cjs/ic-badge.cjs.entry.js +22 -51
  13. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  14. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +26 -14
  15. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
  16. package/dist/cjs/ic-breadcrumb.cjs.entry.js +8 -7
  17. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  18. package/dist/cjs/ic-button_3.cjs.entry.js +50 -41
  19. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  20. package/dist/cjs/ic-card-vertical.cjs.entry.js +149 -0
  21. package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -0
  22. package/dist/cjs/ic-checkbox-group.cjs.entry.js +7 -7
  23. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  24. package/dist/cjs/ic-checkbox.cjs.entry.js +6 -16
  25. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  26. package/dist/cjs/ic-chip.cjs.entry.js +22 -23
  27. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  28. package/dist/cjs/ic-classification-banner.cjs.entry.js +2 -2
  29. package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
  30. package/dist/cjs/ic-data-list.cjs.entry.js +32 -0
  31. package/dist/cjs/ic-data-list.cjs.entry.js.map +1 -0
  32. package/dist/cjs/ic-data-row.cjs.entry.js +12 -12
  33. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  34. package/dist/cjs/ic-dialog.cjs.entry.js +12 -98
  35. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  36. package/dist/cjs/ic-divider.cjs.entry.js +3 -4
  37. package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
  38. package/dist/cjs/ic-empty-state.cjs.entry.js +7 -8
  39. package/dist/cjs/ic-empty-state.cjs.entry.js.map +1 -1
  40. package/dist/cjs/ic-footer-link-group.cjs.entry.js +9 -10
  41. package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
  42. package/dist/cjs/ic-footer-link.cjs.entry.js +6 -8
  43. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  44. package/dist/cjs/ic-footer.cjs.entry.js +8 -9
  45. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  46. package/dist/cjs/ic-hero.cjs.entry.js +9 -11
  47. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  48. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +5 -6
  49. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  50. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +21 -27
  51. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  52. package/dist/cjs/ic-input-label_2.cjs.entry.js +14 -16
  53. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  54. package/dist/cjs/ic-link.cjs.entry.js +21 -12
  55. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  56. package/dist/cjs/ic-menu-group.cjs.entry.js +2 -3
  57. package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
  58. package/dist/cjs/ic-menu-item.cjs.entry.js +3 -4
  59. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  60. package/dist/cjs/ic-navigation-button.cjs.entry.js +3 -4
  61. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  62. package/dist/cjs/ic-navigation-group.cjs.entry.js +9 -10
  63. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  64. package/dist/cjs/ic-navigation-item.cjs.entry.js +6 -7
  65. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  66. package/dist/cjs/ic-navigation-menu.cjs.entry.js +3 -4
  67. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  68. package/dist/cjs/ic-page-header.cjs.entry.js +8 -10
  69. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  70. package/dist/cjs/ic-pagination-item.cjs.entry.js +2 -3
  71. package/dist/cjs/ic-pagination-item.cjs.entry.js.map +1 -1
  72. package/dist/cjs/ic-pagination.cjs.entry.js +33 -32
  73. package/dist/cjs/ic-pagination.cjs.entry.js.map +1 -1
  74. package/dist/cjs/ic-popover-menu.cjs.entry.js +3 -4
  75. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  76. package/dist/cjs/ic-radio-group.cjs.entry.js +11 -13
  77. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  78. package/dist/cjs/ic-radio-option.cjs.entry.js +5 -19
  79. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  80. package/dist/cjs/ic-search-bar.cjs.entry.js +23 -30
  81. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  82. package/dist/cjs/ic-select.cjs.entry.js +19 -28
  83. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  84. package/dist/cjs/ic-side-navigation.cjs.entry.js +7 -8
  85. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  86. package/dist/cjs/ic-skeleton.cjs.entry.js +5 -6
  87. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  88. package/dist/cjs/ic-status-tag.cjs.entry.js +6 -15
  89. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  90. package/dist/cjs/ic-step.cjs.entry.js +41 -46
  91. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  92. package/dist/cjs/ic-stepper.cjs.entry.js +27 -18
  93. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  94. package/dist/cjs/ic-switch.cjs.entry.js +7 -9
  95. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  96. package/dist/cjs/ic-tab-context.cjs.entry.js +34 -28
  97. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  98. package/dist/cjs/ic-tab-group.cjs.entry.js +25 -11
  99. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  100. package/dist/cjs/ic-tab-panel.cjs.entry.js +12 -11
  101. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  102. package/dist/cjs/ic-tab.cjs.entry.js +10 -9
  103. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  104. package/dist/cjs/ic-text-field.cjs.entry.js +55 -57
  105. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  106. package/dist/cjs/ic-theme.cjs.entry.js +27 -4
  107. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  108. package/dist/cjs/ic-toast-region.cjs.entry.js +0 -7
  109. package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -1
  110. package/dist/cjs/ic-toast.cjs.entry.js +83 -36
  111. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  112. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +17 -17
  113. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  114. package/dist/cjs/ic-toggle-button.cjs.entry.js +14 -15
  115. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  116. package/dist/cjs/ic-top-navigation.cjs.entry.js +8 -9
  117. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  118. package/dist/cjs/ic-typography.cjs.entry.js +9 -8
  119. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  120. package/dist/cjs/index-f982899d.js +12 -12
  121. package/dist/cjs/loader.cjs.js +1 -1
  122. package/dist/collection/collection-manifest.json +3 -3
  123. package/dist/collection/components/ic-accordion/ic-accordion.css +13 -11
  124. package/dist/collection/components/ic-accordion/ic-accordion.js +5 -5
  125. package/dist/collection/components/ic-accordion/ic-accordion.js.map +1 -1
  126. package/dist/collection/components/ic-accordion-group/ic-accordion-group.css +9 -5
  127. package/dist/collection/components/ic-accordion-group/ic-accordion-group.js +12 -12
  128. package/dist/collection/components/ic-accordion-group/ic-accordion-group.js.map +1 -1
  129. package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.spec.js +7 -7
  130. package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.spec.js.map +1 -1
  131. package/dist/collection/components/ic-alert/ic-alert.css +16 -11
  132. package/dist/collection/components/ic-alert/ic-alert.js +0 -19
  133. package/dist/collection/components/ic-alert/ic-alert.js.map +1 -1
  134. package/dist/collection/components/ic-back-to-top/ic-back-to-top.css +21 -61
  135. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js +10 -13
  136. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js.map +1 -1
  137. package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.spec.js +9 -10
  138. package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.spec.js.map +1 -1
  139. package/dist/collection/components/ic-badge/ic-badge.css +65 -41
  140. package/dist/collection/components/ic-badge/ic-badge.js +52 -100
  141. package/dist/collection/components/ic-badge/ic-badge.js.map +1 -1
  142. package/dist/collection/components/ic-badge/test/basic/ic-badge.spec.js +40 -50
  143. package/dist/collection/components/ic-badge/test/basic/ic-badge.spec.js.map +1 -1
  144. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.css +16 -11
  145. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js +54 -31
  146. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js.map +1 -1
  147. package/dist/collection/components/ic-breadcrumb/test/basic/ic-breadcrumb.spec.js +3 -3
  148. package/dist/collection/components/ic-breadcrumb/test/basic/ic-breadcrumb.spec.js.map +1 -1
  149. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.css +7 -5
  150. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js +66 -33
  151. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js.map +1 -1
  152. package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group.spec.js +3 -3
  153. package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group.spec.js.map +1 -1
  154. package/dist/collection/components/ic-button/ic-button.css +263 -238
  155. package/dist/collection/components/ic-button/ic-button.js +16 -18
  156. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  157. package/dist/collection/components/{ic-card/ic-card.css → ic-card-vertical/ic-card-vertical.css} +13 -7
  158. package/dist/collection/components/{ic-card/ic-card.js → ic-card-vertical/ic-card-vertical.js} +5 -5
  159. package/dist/collection/components/ic-card-vertical/ic-card-vertical.js.map +1 -0
  160. package/dist/collection/components/{ic-card/test/basic/ic-card.spec.js → ic-card-vertical/test/basic/ic-card-vertical.spec.js} +41 -41
  161. package/dist/collection/components/ic-card-vertical/test/basic/ic-card-vertical.spec.js.map +1 -0
  162. package/dist/collection/components/ic-checkbox/ic-checkbox.css +20 -14
  163. package/dist/collection/components/ic-checkbox/ic-checkbox.js +5 -137
  164. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  165. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.css +6 -4
  166. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +7 -27
  167. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  168. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js +2 -2
  169. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js.map +1 -1
  170. package/dist/collection/components/ic-chip/ic-chip.css +66 -53
  171. package/dist/collection/components/ic-chip/ic-chip.js +44 -68
  172. package/dist/collection/components/ic-chip/ic-chip.js.map +1 -1
  173. package/dist/collection/components/ic-chip/test/basic/ic-chip.spec.js +16 -0
  174. package/dist/collection/components/ic-chip/test/basic/ic-chip.spec.js.map +1 -1
  175. package/dist/collection/components/ic-classification-banner/ic-classification-banner.css +28 -10
  176. package/dist/collection/components/ic-classification-banner/ic-classification-banner.js +1 -1
  177. package/dist/collection/components/ic-classification-banner/ic-classification-banner.js.map +1 -1
  178. package/dist/collection/components/{ic-data-entity/ic-data-entity.css → ic-data-list/ic-data-list.css} +7 -3
  179. package/dist/collection/components/{ic-data-entity/ic-data-entity.js → ic-data-list/ic-data-list.js} +33 -27
  180. package/dist/collection/components/ic-data-list/ic-data-list.js.map +1 -0
  181. package/dist/collection/components/{ic-data-entity/test/basic/ic-data-entity.spec.js → ic-data-list/test/basic/ic-data-list.spec.js} +32 -32
  182. package/dist/collection/components/ic-data-list/test/basic/ic-data-list.spec.js.map +1 -0
  183. package/dist/collection/components/ic-data-row/ic-data-row.css +6 -3
  184. package/dist/collection/components/ic-data-row/ic-data-row.js +28 -24
  185. package/dist/collection/components/ic-data-row/ic-data-row.js.map +1 -1
  186. package/dist/collection/components/ic-data-row/test/basic/ic-data-row.spec.js +4 -4
  187. package/dist/collection/components/ic-data-row/test/basic/ic-data-row.spec.js.map +1 -1
  188. package/dist/collection/components/ic-dialog/ic-dialog.css +3 -12
  189. package/dist/collection/components/ic-dialog/ic-dialog.js +11 -214
  190. package/dist/collection/components/ic-dialog/ic-dialog.js.map +1 -1
  191. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js +3 -226
  192. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js.map +1 -1
  193. package/dist/collection/components/ic-divider/ic-divider.css +2 -2
  194. package/dist/collection/components/ic-empty-state/ic-empty-state.css +6 -6
  195. package/dist/collection/components/ic-empty-state/ic-empty-state.js +9 -9
  196. package/dist/collection/components/ic-empty-state/ic-empty-state.js.map +1 -1
  197. package/dist/collection/components/ic-footer/ic-footer.css +16 -9
  198. package/dist/collection/components/ic-footer/ic-footer.js +6 -6
  199. package/dist/collection/components/ic-footer/ic-footer.js.map +1 -1
  200. package/dist/collection/components/ic-footer/test/basic/ic-footer.spec.js +1 -1
  201. package/dist/collection/components/ic-footer/test/basic/ic-footer.spec.js.map +1 -1
  202. package/dist/collection/components/ic-footer-link/ic-footer-link.css +36 -105
  203. package/dist/collection/components/ic-footer-link/ic-footer-link.js +4 -5
  204. package/dist/collection/components/ic-footer-link/ic-footer-link.js.map +1 -1
  205. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.css +15 -11
  206. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js +9 -9
  207. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js.map +1 -1
  208. package/dist/collection/components/ic-footer-link-group/test/basic/ic-footer-link-group.spec.js +7 -7
  209. package/dist/collection/components/ic-footer-link-group/test/basic/ic-footer-link-group.spec.js.map +1 -1
  210. package/dist/collection/components/ic-hero/ic-hero.css +14 -14
  211. package/dist/collection/components/ic-hero/ic-hero.js +11 -33
  212. package/dist/collection/components/ic-hero/ic-hero.js.map +1 -1
  213. package/dist/collection/components/ic-hero/test/basic/ic-hero.spec.js +6 -6
  214. package/dist/collection/components/ic-hero/test/basic/ic-hero.spec.js.map +1 -1
  215. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.css +8 -8
  216. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +3 -3
  217. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js.map +1 -1
  218. package/dist/collection/components/ic-input-component-container/ic-input-component-container.css +40 -35
  219. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +12 -57
  220. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js.map +1 -1
  221. package/dist/collection/components/ic-input-component-container/test/basic/ic-input-component-container.spec.js +9 -9
  222. package/dist/collection/components/ic-input-component-container/test/basic/ic-input-component-container.spec.js.map +1 -1
  223. package/dist/collection/components/ic-input-label/ic-input-label.css +7 -7
  224. package/dist/collection/components/ic-input-label/ic-input-label.js +24 -46
  225. package/dist/collection/components/ic-input-label/ic-input-label.js.map +1 -1
  226. package/dist/collection/components/ic-input-label/test/basic/ic-input-label.spec.js +4 -4
  227. package/dist/collection/components/ic-input-label/test/basic/ic-input-label.spec.js.map +1 -1
  228. package/dist/collection/components/ic-input-validation/ic-input-validation.css +4 -4
  229. package/dist/collection/components/ic-input-validation/ic-input-validation.js +2 -2
  230. package/dist/collection/components/ic-input-validation/ic-input-validation.js.map +1 -1
  231. package/dist/collection/components/ic-input-validation/test/basic/ic-input-validation.spec.js +4 -4
  232. package/dist/collection/components/ic-input-validation/test/basic/ic-input-validation.spec.js.map +1 -1
  233. package/dist/collection/components/ic-link/ic-link.css +101 -45
  234. package/dist/collection/components/ic-link/ic-link.js +57 -49
  235. package/dist/collection/components/ic-link/ic-link.js.map +1 -1
  236. package/dist/collection/components/ic-link/test/basic/ic-link.spec.js +16 -111
  237. package/dist/collection/components/ic-link/test/basic/ic-link.spec.js.map +1 -1
  238. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.css +23 -16
  239. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +73 -50
  240. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js.map +1 -1
  241. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.types.js.map +1 -1
  242. package/dist/collection/components/ic-loading-indicator/test/basic/ic-loading-indicator.spec.js +3 -2
  243. package/dist/collection/components/ic-loading-indicator/test/basic/ic-loading-indicator.spec.js.map +1 -1
  244. package/dist/collection/components/ic-menu/ic-menu.css +27 -16
  245. package/dist/collection/components/ic-menu/ic-menu.js +9 -32
  246. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  247. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js +1 -1
  248. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js.map +1 -1
  249. package/dist/collection/components/ic-menu-group/ic-menu-group.css +2 -1
  250. package/dist/collection/components/ic-menu-item/ic-menu-item.css +51 -36
  251. package/dist/collection/components/ic-menu-item/ic-menu-item.js +1 -1
  252. package/dist/collection/components/ic-menu-item/ic-menu-item.js.map +1 -1
  253. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js +1 -1
  254. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js.map +1 -1
  255. package/dist/collection/components/ic-navigation-group/ic-navigation-group.css +14 -12
  256. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +7 -7
  257. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js.map +1 -1
  258. package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +10 -7
  259. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +4 -4
  260. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -1
  261. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.css +7 -2
  262. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +1 -1
  263. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js.map +1 -1
  264. package/dist/collection/components/ic-page-header/ic-page-header.css +2 -2
  265. package/dist/collection/components/ic-page-header/ic-page-header.js +8 -30
  266. package/dist/collection/components/ic-page-header/ic-page-header.js.map +1 -1
  267. package/dist/collection/components/ic-page-header/test/basic/ic-page-header.spec.js +15 -15
  268. package/dist/collection/components/ic-page-header/test/basic/ic-page-header.spec.js.map +1 -1
  269. package/dist/collection/components/ic-pagination/ic-pagination.js +38 -36
  270. package/dist/collection/components/ic-pagination/ic-pagination.js.map +1 -1
  271. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js +26 -26
  272. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js.map +1 -1
  273. package/dist/collection/components/ic-pagination-item/ic-pagination-item.css +13 -10
  274. package/dist/collection/components/ic-popover-menu/ic-popover-menu.css +8 -4
  275. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +1 -1
  276. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js.map +1 -1
  277. package/dist/collection/components/ic-radio-group/ic-radio-group.css +5 -5
  278. package/dist/collection/components/ic-radio-group/ic-radio-group.js +12 -34
  279. package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
  280. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js +1 -1
  281. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js.map +1 -1
  282. package/dist/collection/components/ic-radio-option/ic-radio-option.css +11 -8
  283. package/dist/collection/components/ic-radio-option/ic-radio-option.js +4 -126
  284. package/dist/collection/components/ic-radio-option/ic-radio-option.js.map +1 -1
  285. package/dist/collection/components/ic-search-bar/ic-search-bar.css +11 -11
  286. package/dist/collection/components/ic-search-bar/ic-search-bar.js +32 -99
  287. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  288. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.spec.js +15 -15
  289. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.spec.js.map +1 -1
  290. package/dist/collection/components/ic-select/ic-select.css +23 -21
  291. package/dist/collection/components/ic-select/ic-select.js +16 -151
  292. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  293. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js +6 -6
  294. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js.map +1 -1
  295. package/dist/collection/components/ic-side-navigation/ic-side-navigation.css +18 -17
  296. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +6 -6
  297. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
  298. package/dist/collection/components/ic-skeleton/ic-skeleton.css +5 -28
  299. package/dist/collection/components/ic-skeleton/ic-skeleton.js +17 -33
  300. package/dist/collection/components/ic-skeleton/ic-skeleton.js.map +1 -1
  301. package/dist/collection/components/ic-skeleton/test/basic/ic-skeleton.spec.js +1 -1
  302. package/dist/collection/components/ic-skeleton/test/basic/ic-skeleton.spec.js.map +1 -1
  303. package/dist/collection/components/ic-status-tag/ic-status-tag.css +20 -17
  304. package/dist/collection/components/ic-status-tag/ic-status-tag.js +24 -61
  305. package/dist/collection/components/ic-status-tag/ic-status-tag.js.map +1 -1
  306. package/dist/collection/components/ic-status-tag/ic-status-tag.types.js.map +1 -1
  307. package/dist/collection/components/ic-status-tag/test/basic/ic-status-tag.spec.js +2 -2
  308. package/dist/collection/components/ic-status-tag/test/basic/ic-status-tag.spec.js.map +1 -1
  309. package/dist/collection/components/ic-step/ic-step.css +97 -128
  310. package/dist/collection/components/ic-step/ic-step.js +77 -54
  311. package/dist/collection/components/ic-step/ic-step.js.map +1 -1
  312. package/dist/collection/components/ic-step/test/basic/ic-step.spec.js +30 -30
  313. package/dist/collection/components/ic-step/test/basic/ic-step.spec.js.map +1 -1
  314. package/dist/collection/components/ic-stepper/ic-stepper.css +4 -4
  315. package/dist/collection/components/ic-stepper/ic-stepper.js +51 -33
  316. package/dist/collection/components/ic-stepper/ic-stepper.js.map +1 -1
  317. package/dist/collection/components/ic-stepper/test/basic/ic-stepper-test-examples.js +37 -37
  318. package/dist/collection/components/ic-stepper/test/basic/ic-stepper-test-examples.js.map +1 -1
  319. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.spec.js +237 -237
  320. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.spec.js.map +1 -1
  321. package/dist/collection/components/ic-switch/ic-switch.css +2 -2
  322. package/dist/collection/components/ic-switch/ic-switch.js +7 -29
  323. package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
  324. package/dist/collection/components/ic-switch/test/basic/ic-switch.spec.js +1 -1
  325. package/dist/collection/components/ic-switch/test/basic/ic-switch.spec.js.map +1 -1
  326. package/dist/collection/components/ic-tab/ic-tab.css +47 -21
  327. package/dist/collection/components/ic-tab/ic-tab.js +56 -34
  328. package/dist/collection/components/ic-tab/ic-tab.js.map +1 -1
  329. package/dist/collection/components/ic-tab/test/basic/ic-tab.spec.js +2 -2
  330. package/dist/collection/components/ic-tab/test/basic/ic-tab.spec.js.map +1 -1
  331. package/dist/collection/components/ic-tab-context/ic-tab-context.js +79 -76
  332. package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -1
  333. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.spec.js +3 -3
  334. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.spec.js.map +1 -1
  335. package/dist/collection/components/ic-tab-group/ic-tab-group.css +7 -8
  336. package/dist/collection/components/ic-tab-group/ic-tab-group.js +68 -54
  337. package/dist/collection/components/ic-tab-group/ic-tab-group.js.map +1 -1
  338. package/dist/collection/components/ic-tab-panel/ic-tab-panel.css +2 -2
  339. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +91 -30
  340. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js.map +1 -1
  341. package/dist/collection/components/ic-tab-panel/test/basic/ic-tab-panel.spec.js +50 -0
  342. package/dist/collection/components/ic-tab-panel/test/basic/ic-tab-panel.spec.js.map +1 -0
  343. package/dist/collection/components/ic-text-field/ic-text-field.css +15 -9
  344. package/dist/collection/components/ic-text-field/ic-text-field.js +70 -111
  345. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  346. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js +36 -14
  347. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js.map +1 -1
  348. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.textarea.spec.js +57 -56
  349. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.textarea.spec.js.map +1 -1
  350. package/dist/collection/components/ic-theme/ic-theme.js +50 -2
  351. package/dist/collection/components/ic-theme/ic-theme.js.map +1 -1
  352. package/dist/collection/components/ic-theme/test/basic/ic-theme.spec.js +13 -11
  353. package/dist/collection/components/ic-theme/test/basic/ic-theme.spec.js.map +1 -1
  354. package/dist/collection/components/ic-toast/ic-toast.css +21 -7
  355. package/dist/collection/components/ic-toast/ic-toast.js +83 -32
  356. package/dist/collection/components/ic-toast/ic-toast.js.map +1 -1
  357. package/dist/collection/components/ic-toast/test/basic/ic-toast.spec.js +43 -7
  358. package/dist/collection/components/ic-toast/test/basic/ic-toast.spec.js.map +1 -1
  359. package/dist/collection/components/ic-toast-region/ic-toast-region.js +1 -43
  360. package/dist/collection/components/ic-toast-region/ic-toast-region.js.map +1 -1
  361. package/dist/collection/components/ic-toast-region/test/basic/ic-toast-region.spec.js +0 -20
  362. package/dist/collection/components/ic-toast-region/test/basic/ic-toast-region.spec.js.map +1 -1
  363. package/dist/collection/components/ic-toggle-button/ic-toggle-button.css +58 -51
  364. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js +16 -16
  365. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js.map +1 -1
  366. package/dist/collection/components/ic-toggle-button/test/basic/ic-toggle-button.spec.js +4 -4
  367. package/dist/collection/components/ic-toggle-button/test/basic/ic-toggle-button.spec.js.map +1 -1
  368. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.css +11 -8
  369. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js +18 -18
  370. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js.map +1 -1
  371. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.types.js.map +1 -1
  372. package/dist/collection/components/ic-toggle-button-group/test/ic-toggle-button-group.spec.js +19 -19
  373. package/dist/collection/components/ic-toggle-button-group/test/ic-toggle-button-group.spec.js.map +1 -1
  374. package/dist/collection/components/ic-tooltip/ic-tooltip.css +14 -5
  375. package/dist/collection/components/ic-tooltip/ic-tooltip.js +30 -2
  376. package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
  377. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.spec.js +14 -0
  378. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.spec.js.map +1 -1
  379. package/dist/collection/components/ic-top-navigation/ic-top-navigation.css +9 -7
  380. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +6 -6
  381. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
  382. package/dist/collection/components/ic-typography/ic-typography.css +12 -6
  383. package/dist/collection/components/ic-typography/ic-typography.js +31 -5
  384. package/dist/collection/components/ic-typography/ic-typography.js.map +1 -1
  385. package/dist/collection/components/ic-typography/test/basic/ic-typography.spec.js +14 -0
  386. package/dist/collection/components/ic-typography/test/basic/ic-typography.spec.js.map +1 -1
  387. package/dist/collection/utils/types.js.map +1 -1
  388. package/dist/components/helpers.js +13 -2
  389. package/dist/components/helpers.js.map +1 -1
  390. package/dist/components/ic-accordion-group.js +9 -9
  391. package/dist/components/ic-accordion-group.js.map +1 -1
  392. package/dist/components/ic-accordion.js +4 -4
  393. package/dist/components/ic-accordion.js.map +1 -1
  394. package/dist/components/ic-alert.js +132 -1
  395. package/dist/components/ic-alert.js.map +1 -1
  396. package/dist/components/ic-back-to-top.js +24 -15
  397. package/dist/components/ic-back-to-top.js.map +1 -1
  398. package/dist/components/ic-badge.js +25 -54
  399. package/dist/components/ic-badge.js.map +1 -1
  400. package/dist/components/ic-breadcrumb-group.js +31 -16
  401. package/dist/components/ic-breadcrumb-group.js.map +1 -1
  402. package/dist/components/ic-breadcrumb2.js +10 -7
  403. package/dist/components/ic-breadcrumb2.js.map +1 -1
  404. package/dist/components/ic-button2.js +16 -18
  405. package/dist/components/ic-button2.js.map +1 -1
  406. package/dist/components/{ic-data-entity.d.ts → ic-card-vertical.d.ts} +4 -4
  407. package/dist/components/{ic-card.js → ic-card-vertical.js} +11 -12
  408. package/dist/components/ic-card-vertical.js.map +1 -0
  409. package/dist/components/ic-checkbox-group.js +7 -7
  410. package/dist/components/ic-checkbox-group.js.map +1 -1
  411. package/dist/components/ic-checkbox.js +6 -21
  412. package/dist/components/ic-checkbox.js.map +1 -1
  413. package/dist/components/ic-chip.js +24 -23
  414. package/dist/components/ic-chip.js.map +1 -1
  415. package/dist/components/ic-classification-banner.js +2 -2
  416. package/dist/components/ic-classification-banner.js.map +1 -1
  417. package/dist/components/{ic-card.d.ts → ic-data-list.d.ts} +4 -4
  418. package/dist/components/ic-data-list.js +56 -0
  419. package/dist/components/ic-data-list.js.map +1 -0
  420. package/dist/components/ic-data-row.js +14 -13
  421. package/dist/components/ic-data-row.js.map +1 -1
  422. package/dist/components/ic-dialog.js +14 -112
  423. package/dist/components/ic-dialog.js.map +1 -1
  424. package/dist/components/ic-divider2.js +2 -3
  425. package/dist/components/ic-divider2.js.map +1 -1
  426. package/dist/components/ic-empty-state.js +7 -7
  427. package/dist/components/ic-empty-state.js.map +1 -1
  428. package/dist/components/ic-footer-link-group.js +10 -10
  429. package/dist/components/ic-footer-link-group.js.map +1 -1
  430. package/dist/components/ic-footer-link.js +13 -8
  431. package/dist/components/ic-footer-link.js.map +1 -1
  432. package/dist/components/ic-footer.js +8 -9
  433. package/dist/components/ic-footer.js.map +1 -1
  434. package/dist/components/ic-hero.js +9 -12
  435. package/dist/components/ic-hero.js.map +1 -1
  436. package/dist/components/ic-horizontal-scroll2.js +5 -6
  437. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  438. package/dist/components/ic-input-component-container2.js +12 -18
  439. package/dist/components/ic-input-component-container2.js.map +1 -1
  440. package/dist/components/ic-input-label2.js +10 -12
  441. package/dist/components/ic-input-label2.js.map +1 -1
  442. package/dist/components/ic-input-validation2.js +4 -5
  443. package/dist/components/ic-input-validation2.js.map +1 -1
  444. package/dist/components/ic-link2.js +22 -13
  445. package/dist/components/ic-link2.js.map +1 -1
  446. package/dist/components/ic-loading-indicator2.js +29 -23
  447. package/dist/components/ic-loading-indicator2.js.map +1 -1
  448. package/dist/components/ic-menu-group.js +2 -2
  449. package/dist/components/ic-menu-group.js.map +1 -1
  450. package/dist/components/ic-menu-item2.js +3 -3
  451. package/dist/components/ic-menu-item2.js.map +1 -1
  452. package/dist/components/ic-menu2.js +8 -11
  453. package/dist/components/ic-menu2.js.map +1 -1
  454. package/dist/components/ic-navigation-button.js +2 -3
  455. package/dist/components/ic-navigation-button.js.map +1 -1
  456. package/dist/components/ic-navigation-group.js +9 -9
  457. package/dist/components/ic-navigation-group.js.map +1 -1
  458. package/dist/components/ic-navigation-item.js +6 -6
  459. package/dist/components/ic-navigation-item.js.map +1 -1
  460. package/dist/components/ic-navigation-menu2.js +3 -3
  461. package/dist/components/ic-navigation-menu2.js.map +1 -1
  462. package/dist/components/ic-page-header.js +8 -10
  463. package/dist/components/ic-page-header.js.map +1 -1
  464. package/dist/components/ic-pagination-item2.js +2 -2
  465. package/dist/components/ic-pagination-item2.js.map +1 -1
  466. package/dist/components/ic-pagination.js +36 -34
  467. package/dist/components/ic-pagination.js.map +1 -1
  468. package/dist/components/ic-popover-menu.js +3 -3
  469. package/dist/components/ic-popover-menu.js.map +1 -1
  470. package/dist/components/ic-radio-group.js +11 -13
  471. package/dist/components/ic-radio-group.js.map +1 -1
  472. package/dist/components/ic-radio-option.js +6 -25
  473. package/dist/components/ic-radio-option.js.map +1 -1
  474. package/dist/components/ic-search-bar.js +21 -29
  475. package/dist/components/ic-search-bar.js.map +1 -1
  476. package/dist/components/ic-select.js +15 -31
  477. package/dist/components/ic-select.js.map +1 -1
  478. package/dist/components/ic-side-navigation.js +7 -8
  479. package/dist/components/ic-side-navigation.js.map +1 -1
  480. package/dist/components/ic-skeleton.js +6 -8
  481. package/dist/components/ic-skeleton.js.map +1 -1
  482. package/dist/components/ic-status-tag.js +6 -15
  483. package/dist/components/ic-status-tag.js.map +1 -1
  484. package/dist/components/ic-step.js +48 -51
  485. package/dist/components/ic-step.js.map +1 -1
  486. package/dist/components/ic-stepper.js +28 -17
  487. package/dist/components/ic-stepper.js.map +1 -1
  488. package/dist/components/ic-switch.js +7 -9
  489. package/dist/components/ic-switch.js.map +1 -1
  490. package/dist/components/ic-tab-context.js +39 -31
  491. package/dist/components/ic-tab-context.js.map +1 -1
  492. package/dist/components/ic-tab-group.js +27 -13
  493. package/dist/components/ic-tab-group.js.map +1 -1
  494. package/dist/components/ic-tab-panel.js +17 -13
  495. package/dist/components/ic-tab-panel.js.map +1 -1
  496. package/dist/components/ic-tab.js +11 -9
  497. package/dist/components/ic-tab.js.map +1 -1
  498. package/dist/components/ic-text-field2.js +52 -57
  499. package/dist/components/ic-text-field2.js.map +1 -1
  500. package/dist/components/ic-theme.js +33 -7
  501. package/dist/components/ic-theme.js.map +1 -1
  502. package/dist/components/ic-toast-region.js +1 -9
  503. package/dist/components/ic-toast-region.js.map +1 -1
  504. package/dist/components/ic-toast.js +86 -37
  505. package/dist/components/ic-toast.js.map +1 -1
  506. package/dist/components/ic-toggle-button-group.js +17 -17
  507. package/dist/components/ic-toggle-button-group.js.map +1 -1
  508. package/dist/components/ic-toggle-button.js +14 -14
  509. package/dist/components/ic-toggle-button.js.map +1 -1
  510. package/dist/components/ic-tooltip2.js +8 -3
  511. package/dist/components/ic-tooltip2.js.map +1 -1
  512. package/dist/components/ic-top-navigation.js +7 -8
  513. package/dist/components/ic-top-navigation.js.map +1 -1
  514. package/dist/components/ic-typography2.js +9 -6
  515. package/dist/components/ic-typography2.js.map +1 -1
  516. package/dist/core/core.css +101 -29
  517. package/dist/core/core.esm.js +1 -1
  518. package/dist/core/core.esm.js.map +1 -1
  519. package/dist/core/p-0a808ec3.entry.js +2 -0
  520. package/dist/core/p-0a808ec3.entry.js.map +1 -0
  521. package/dist/core/p-0c872824.entry.js +2 -0
  522. package/dist/core/p-0c872824.entry.js.map +1 -0
  523. package/dist/core/p-0d30ffab.entry.js +2 -0
  524. package/dist/core/p-0d30ffab.entry.js.map +1 -0
  525. package/dist/core/p-0fb047e7.entry.js +2 -0
  526. package/dist/core/p-0fb047e7.entry.js.map +1 -0
  527. package/dist/core/p-1684c8d4.entry.js +2 -0
  528. package/dist/core/p-1684c8d4.entry.js.map +1 -0
  529. package/dist/core/p-1b573920.entry.js +2 -0
  530. package/dist/core/p-1b573920.entry.js.map +1 -0
  531. package/dist/core/p-1f1758a9.entry.js +2 -0
  532. package/dist/core/p-1f1758a9.entry.js.map +1 -0
  533. package/dist/core/p-21e5dd29.entry.js +2 -0
  534. package/dist/core/p-21e5dd29.entry.js.map +1 -0
  535. package/dist/core/p-244d6dba.entry.js +2 -0
  536. package/dist/core/p-244d6dba.entry.js.map +1 -0
  537. package/dist/core/{p-7438ab1f.entry.js → p-26bc7c62.entry.js} +2 -2
  538. package/dist/core/p-26bc7c62.entry.js.map +1 -0
  539. package/dist/core/{p-3eda4e14.entry.js → p-27274ca8.entry.js} +2 -2
  540. package/dist/core/p-27274ca8.entry.js.map +1 -0
  541. package/dist/core/p-312cacae.js +2 -0
  542. package/dist/core/p-312cacae.js.map +1 -0
  543. package/dist/core/p-31fc8756.entry.js +2 -0
  544. package/dist/core/p-31fc8756.entry.js.map +1 -0
  545. package/dist/core/p-322edabc.entry.js +2 -0
  546. package/dist/core/p-322edabc.entry.js.map +1 -0
  547. package/dist/core/p-34db8aaf.entry.js +2 -0
  548. package/dist/core/p-34db8aaf.entry.js.map +1 -0
  549. package/dist/core/p-355acffa.entry.js +2 -0
  550. package/dist/core/p-355acffa.entry.js.map +1 -0
  551. package/dist/core/p-363d6e88.entry.js +2 -0
  552. package/dist/core/p-363d6e88.entry.js.map +1 -0
  553. package/dist/core/{p-3969d3c0.entry.js → p-3ea4a005.entry.js} +2 -2
  554. package/dist/core/p-3ea4a005.entry.js.map +1 -0
  555. package/dist/core/p-4055f22c.entry.js +2 -0
  556. package/dist/core/p-4055f22c.entry.js.map +1 -0
  557. package/dist/core/p-408344d3.entry.js +2 -0
  558. package/dist/core/p-408344d3.entry.js.map +1 -0
  559. package/dist/core/p-40e9e76a.entry.js +2 -0
  560. package/dist/core/p-40e9e76a.entry.js.map +1 -0
  561. package/dist/core/p-43f9a711.entry.js +2 -0
  562. package/dist/core/p-43f9a711.entry.js.map +1 -0
  563. package/dist/core/p-4502d3c1.entry.js +2 -0
  564. package/dist/core/p-4502d3c1.entry.js.map +1 -0
  565. package/dist/core/p-49525194.entry.js +2 -0
  566. package/dist/core/p-49525194.entry.js.map +1 -0
  567. package/dist/core/p-4ff6d16f.entry.js +2 -0
  568. package/dist/core/p-4ff6d16f.entry.js.map +1 -0
  569. package/dist/core/p-50ead56c.entry.js +2 -0
  570. package/dist/core/p-50ead56c.entry.js.map +1 -0
  571. package/dist/core/p-5deb9730.entry.js +2 -0
  572. package/dist/core/p-5deb9730.entry.js.map +1 -0
  573. package/dist/core/p-60efd7fa.entry.js +2 -0
  574. package/dist/core/{p-223889da.entry.js.map → p-60efd7fa.entry.js.map} +1 -1
  575. package/dist/core/p-6bd2e938.entry.js +2 -0
  576. package/dist/core/p-6bd2e938.entry.js.map +1 -0
  577. package/dist/core/p-6d40baa9.entry.js +2 -0
  578. package/dist/core/p-6d40baa9.entry.js.map +1 -0
  579. package/dist/core/p-7c89fc86.entry.js +2 -0
  580. package/dist/core/p-7c89fc86.entry.js.map +1 -0
  581. package/dist/core/p-82375dca.entry.js +2 -0
  582. package/dist/core/p-82375dca.entry.js.map +1 -0
  583. package/dist/core/p-84526c3e.entry.js +2 -0
  584. package/dist/core/p-84526c3e.entry.js.map +1 -0
  585. package/dist/core/p-93c23a35.entry.js +2 -0
  586. package/dist/core/p-93c23a35.entry.js.map +1 -0
  587. package/dist/core/p-9dba6823.entry.js +2 -0
  588. package/dist/core/p-9dba6823.entry.js.map +1 -0
  589. package/dist/core/p-aa0619ce.entry.js +2 -0
  590. package/dist/core/p-aa0619ce.entry.js.map +1 -0
  591. package/dist/core/p-aab2c7aa.entry.js +2 -0
  592. package/dist/core/p-aab2c7aa.entry.js.map +1 -0
  593. package/dist/core/p-af20322c.entry.js +2 -0
  594. package/dist/core/p-af20322c.entry.js.map +1 -0
  595. package/dist/core/{p-6fae7e1f.entry.js → p-b01ffa55.entry.js} +2 -2
  596. package/dist/core/p-b01ffa55.entry.js.map +1 -0
  597. package/dist/core/p-bf1f0ac7.entry.js +2 -0
  598. package/dist/core/p-bf1f0ac7.entry.js.map +1 -0
  599. package/dist/core/{p-9df32798.entry.js → p-c06a3b97.entry.js} +2 -2
  600. package/dist/core/p-c06a3b97.entry.js.map +1 -0
  601. package/dist/core/p-c86d48b6.entry.js +2 -0
  602. package/dist/core/p-c86d48b6.entry.js.map +1 -0
  603. package/dist/core/p-cbcd4427.entry.js +2 -0
  604. package/dist/core/p-cbcd4427.entry.js.map +1 -0
  605. package/dist/core/p-d1c9c32b.entry.js +2 -0
  606. package/dist/core/p-d1c9c32b.entry.js.map +1 -0
  607. package/dist/core/p-d2f89cb5.entry.js +2 -0
  608. package/dist/core/p-d2f89cb5.entry.js.map +1 -0
  609. package/dist/core/p-d2f8e03f.entry.js +2 -0
  610. package/dist/core/p-d2f8e03f.entry.js.map +1 -0
  611. package/dist/core/p-d58a10ec.entry.js +2 -0
  612. package/dist/core/p-d58a10ec.entry.js.map +1 -0
  613. package/dist/core/p-d8870804.entry.js +2 -0
  614. package/dist/core/p-d8870804.entry.js.map +1 -0
  615. package/dist/core/p-da14cd3c.entry.js +2 -0
  616. package/dist/core/p-da14cd3c.entry.js.map +1 -0
  617. package/dist/core/p-dc83a0e9.entry.js +2 -0
  618. package/dist/core/p-dc83a0e9.entry.js.map +1 -0
  619. package/dist/core/p-de3a5423.entry.js +2 -0
  620. package/dist/core/p-de3a5423.entry.js.map +1 -0
  621. package/dist/core/p-e3ed9110.entry.js +2 -0
  622. package/dist/core/p-e3ed9110.entry.js.map +1 -0
  623. package/dist/core/p-e4b276b5.entry.js +2 -0
  624. package/dist/core/p-e4b276b5.entry.js.map +1 -0
  625. package/dist/core/p-e53309b0.entry.js +2 -0
  626. package/dist/core/p-e53309b0.entry.js.map +1 -0
  627. package/dist/core/p-f30f3a3e.entry.js +2 -0
  628. package/dist/core/p-f30f3a3e.entry.js.map +1 -0
  629. package/dist/core/p-f38bce8d.entry.js +2 -0
  630. package/dist/core/p-f38bce8d.entry.js.map +1 -0
  631. package/dist/core/p-f828a6e1.entry.js +2 -0
  632. package/dist/core/p-f828a6e1.entry.js.map +1 -0
  633. package/dist/core/p-fa1b7a80.entry.js +2 -0
  634. package/dist/core/p-fa1b7a80.entry.js.map +1 -0
  635. package/dist/core/p-fa587e6d.entry.js +2 -0
  636. package/dist/core/p-fa587e6d.entry.js.map +1 -0
  637. package/dist/esm/core.js +1 -1
  638. package/dist/esm/{helpers-3905ccc4.js → helpers-1c9151ef.js} +14 -3
  639. package/dist/esm/helpers-1c9151ef.js.map +1 -0
  640. package/dist/esm/ic-accordion-group.entry.js +9 -10
  641. package/dist/esm/ic-accordion-group.entry.js.map +1 -1
  642. package/dist/esm/ic-accordion.entry.js +5 -6
  643. package/dist/esm/ic-accordion.entry.js.map +1 -1
  644. package/dist/esm/ic-alert.entry.js +2 -5
  645. package/dist/esm/ic-alert.entry.js.map +1 -1
  646. package/dist/esm/ic-back-to-top.entry.js +12 -16
  647. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  648. package/dist/esm/ic-badge.entry.js +22 -51
  649. package/dist/esm/ic-badge.entry.js.map +1 -1
  650. package/dist/esm/ic-breadcrumb-group.entry.js +26 -14
  651. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  652. package/dist/esm/ic-breadcrumb.entry.js +8 -7
  653. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  654. package/dist/esm/ic-button_3.entry.js +49 -40
  655. package/dist/esm/ic-button_3.entry.js.map +1 -1
  656. package/dist/esm/ic-card-vertical.entry.js +145 -0
  657. package/dist/esm/ic-card-vertical.entry.js.map +1 -0
  658. package/dist/esm/ic-checkbox-group.entry.js +7 -7
  659. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  660. package/dist/esm/ic-checkbox.entry.js +6 -16
  661. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  662. package/dist/esm/ic-chip.entry.js +23 -24
  663. package/dist/esm/ic-chip.entry.js.map +1 -1
  664. package/dist/esm/ic-classification-banner.entry.js +2 -2
  665. package/dist/esm/ic-classification-banner.entry.js.map +1 -1
  666. package/dist/esm/ic-data-list.entry.js +28 -0
  667. package/dist/esm/ic-data-list.entry.js.map +1 -0
  668. package/dist/esm/ic-data-row.entry.js +12 -12
  669. package/dist/esm/ic-data-row.entry.js.map +1 -1
  670. package/dist/esm/ic-dialog.entry.js +12 -98
  671. package/dist/esm/ic-dialog.entry.js.map +1 -1
  672. package/dist/esm/ic-divider.entry.js +2 -3
  673. package/dist/esm/ic-divider.entry.js.map +1 -1
  674. package/dist/esm/ic-empty-state.entry.js +7 -8
  675. package/dist/esm/ic-empty-state.entry.js.map +1 -1
  676. package/dist/esm/ic-footer-link-group.entry.js +9 -10
  677. package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
  678. package/dist/esm/ic-footer-link.entry.js +6 -8
  679. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  680. package/dist/esm/ic-footer.entry.js +8 -9
  681. package/dist/esm/ic-footer.entry.js.map +1 -1
  682. package/dist/esm/ic-hero.entry.js +9 -11
  683. package/dist/esm/ic-hero.entry.js.map +1 -1
  684. package/dist/esm/ic-horizontal-scroll.entry.js +5 -6
  685. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  686. package/dist/esm/ic-input-component-container_3.entry.js +20 -26
  687. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  688. package/dist/esm/ic-input-label_2.entry.js +11 -13
  689. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  690. package/dist/esm/ic-link.entry.js +20 -11
  691. package/dist/esm/ic-link.entry.js.map +1 -1
  692. package/dist/esm/ic-menu-group.entry.js +2 -3
  693. package/dist/esm/ic-menu-group.entry.js.map +1 -1
  694. package/dist/esm/ic-menu-item.entry.js +3 -4
  695. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  696. package/dist/esm/ic-navigation-button.entry.js +2 -3
  697. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  698. package/dist/esm/ic-navigation-group.entry.js +9 -10
  699. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  700. package/dist/esm/ic-navigation-item.entry.js +6 -7
  701. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  702. package/dist/esm/ic-navigation-menu.entry.js +3 -4
  703. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  704. package/dist/esm/ic-page-header.entry.js +8 -10
  705. package/dist/esm/ic-page-header.entry.js.map +1 -1
  706. package/dist/esm/ic-pagination-item.entry.js +2 -3
  707. package/dist/esm/ic-pagination-item.entry.js.map +1 -1
  708. package/dist/esm/ic-pagination.entry.js +33 -32
  709. package/dist/esm/ic-pagination.entry.js.map +1 -1
  710. package/dist/esm/ic-popover-menu.entry.js +3 -4
  711. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  712. package/dist/esm/ic-radio-group.entry.js +11 -13
  713. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  714. package/dist/esm/ic-radio-option.entry.js +5 -19
  715. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  716. package/dist/esm/ic-search-bar.entry.js +19 -26
  717. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  718. package/dist/esm/ic-select.entry.js +14 -23
  719. package/dist/esm/ic-select.entry.js.map +1 -1
  720. package/dist/esm/ic-side-navigation.entry.js +7 -8
  721. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  722. package/dist/esm/ic-skeleton.entry.js +5 -6
  723. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  724. package/dist/esm/ic-status-tag.entry.js +6 -15
  725. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  726. package/dist/esm/ic-step.entry.js +41 -46
  727. package/dist/esm/ic-step.entry.js.map +1 -1
  728. package/dist/esm/ic-stepper.entry.js +27 -18
  729. package/dist/esm/ic-stepper.entry.js.map +1 -1
  730. package/dist/esm/ic-switch.entry.js +7 -9
  731. package/dist/esm/ic-switch.entry.js.map +1 -1
  732. package/dist/esm/ic-tab-context.entry.js +34 -28
  733. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  734. package/dist/esm/ic-tab-group.entry.js +25 -11
  735. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  736. package/dist/esm/ic-tab-panel.entry.js +12 -11
  737. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  738. package/dist/esm/ic-tab.entry.js +10 -9
  739. package/dist/esm/ic-tab.entry.js.map +1 -1
  740. package/dist/esm/ic-text-field.entry.js +50 -52
  741. package/dist/esm/ic-text-field.entry.js.map +1 -1
  742. package/dist/esm/ic-theme.entry.js +27 -4
  743. package/dist/esm/ic-theme.entry.js.map +1 -1
  744. package/dist/esm/ic-toast-region.entry.js +0 -7
  745. package/dist/esm/ic-toast-region.entry.js.map +1 -1
  746. package/dist/esm/ic-toast.entry.js +83 -36
  747. package/dist/esm/ic-toast.entry.js.map +1 -1
  748. package/dist/esm/ic-toggle-button-group.entry.js +17 -17
  749. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  750. package/dist/esm/ic-toggle-button.entry.js +14 -15
  751. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  752. package/dist/esm/ic-top-navigation.entry.js +7 -8
  753. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  754. package/dist/esm/ic-typography.entry.js +9 -8
  755. package/dist/esm/ic-typography.entry.js.map +1 -1
  756. package/dist/esm/index-d1d2c456.js +12 -12
  757. package/dist/esm/loader.js +1 -1
  758. package/dist/types/components/ic-accordion-group/ic-accordion-group.d.ts +2 -2
  759. package/dist/types/components/ic-alert/ic-alert.d.ts +0 -4
  760. package/dist/types/components/ic-back-to-top/ic-back-to-top.d.ts +0 -1
  761. package/dist/types/components/ic-badge/ic-badge.d.ts +8 -15
  762. package/dist/types/components/ic-breadcrumb/ic-breadcrumb.d.ts +9 -5
  763. package/dist/types/components/ic-breadcrumb-group/ic-breadcrumb-group.d.ts +13 -7
  764. package/dist/types/components/ic-button/ic-button.d.ts +0 -1
  765. package/dist/types/components/{ic-card/ic-card.d.ts → ic-card-vertical/ic-card-vertical.d.ts} +2 -2
  766. package/dist/types/components/ic-checkbox/ic-checkbox.d.ts +0 -28
  767. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +0 -4
  768. package/dist/types/components/ic-chip/ic-chip.d.ts +8 -11
  769. package/dist/types/components/ic-data-list/ic-data-list.d.ts +20 -0
  770. package/dist/types/components/ic-data-row/ic-data-row.d.ts +4 -4
  771. package/dist/types/components/ic-dialog/ic-dialog.d.ts +1 -37
  772. package/dist/types/components/ic-empty-state/ic-empty-state.d.ts +1 -1
  773. package/dist/types/components/ic-footer-link-group/ic-footer-link-group.d.ts +1 -1
  774. package/dist/types/components/ic-hero/ic-hero.d.ts +2 -6
  775. package/dist/types/components/ic-input-component-container/ic-input-component-container.d.ts +0 -8
  776. package/dist/types/components/ic-input-label/ic-input-label.d.ts +4 -8
  777. package/dist/types/components/ic-link/ic-link.d.ts +9 -9
  778. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.d.ts +12 -8
  779. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.types.d.ts +1 -1
  780. package/dist/types/components/ic-menu/ic-menu.d.ts +0 -4
  781. package/dist/types/components/ic-page-header/ic-page-header.d.ts +0 -4
  782. package/dist/types/components/ic-pagination/ic-pagination.d.ts +4 -4
  783. package/dist/types/components/ic-radio-group/ic-radio-group.d.ts +0 -4
  784. package/dist/types/components/ic-radio-option/ic-radio-option.d.ts +0 -24
  785. package/dist/types/components/ic-search-bar/ic-search-bar.d.ts +3 -15
  786. package/dist/types/components/ic-select/ic-select.d.ts +1 -31
  787. package/dist/types/components/ic-side-navigation/ic-side-navigation.d.ts +1 -1
  788. package/dist/types/components/ic-skeleton/ic-skeleton.d.ts +3 -6
  789. package/dist/types/components/ic-status-tag/ic-status-tag.d.ts +5 -10
  790. package/dist/types/components/ic-status-tag/ic-status-tag.types.d.ts +0 -1
  791. package/dist/types/components/ic-step/ic-step.d.ts +11 -6
  792. package/dist/types/components/ic-stepper/ic-stepper.d.ts +6 -4
  793. package/dist/types/components/ic-stepper/test/basic/ic-stepper-test-examples.d.ts +4 -4
  794. package/dist/types/components/ic-switch/ic-switch.d.ts +0 -4
  795. package/dist/types/components/ic-tab/ic-tab.d.ts +5 -3
  796. package/dist/types/components/ic-tab-context/ic-tab-context.d.ts +11 -11
  797. package/dist/types/components/ic-tab-group/ic-tab-group.d.ts +9 -10
  798. package/dist/types/components/ic-tab-panel/ic-tab-panel.d.ts +13 -7
  799. package/dist/types/components/ic-text-field/ic-text-field.d.ts +7 -16
  800. package/dist/types/components/ic-theme/ic-theme.d.ts +7 -0
  801. package/dist/types/components/ic-toast/ic-toast.d.ts +8 -1
  802. package/dist/types/components/ic-toast-region/ic-toast-region.d.ts +0 -5
  803. package/dist/types/components/ic-toggle-button/ic-toggle-button.d.ts +1 -1
  804. package/dist/types/components/ic-toggle-button-group/ic-toggle-button-group.types.d.ts +1 -1
  805. package/dist/types/components/ic-tooltip/ic-tooltip.d.ts +5 -0
  806. package/dist/types/components/ic-top-navigation/ic-top-navigation.d.ts +1 -1
  807. package/dist/types/components/ic-typography/ic-typography.d.ts +5 -1
  808. package/dist/types/components.d.ts +264 -562
  809. package/dist/types/utils/types.d.ts +4 -3
  810. package/hydrate/index.js +826 -887
  811. package/package.json +2 -2
  812. package/vscode-data.json +298 -347
  813. package/dist/cjs/helpers-94b33ab0.js.map +0 -1
  814. package/dist/cjs/ic-card.cjs.entry.js +0 -150
  815. package/dist/cjs/ic-card.cjs.entry.js.map +0 -1
  816. package/dist/cjs/ic-data-entity.cjs.entry.js +0 -29
  817. package/dist/cjs/ic-data-entity.cjs.entry.js.map +0 -1
  818. package/dist/cjs/types-dc22e301.js +0 -16
  819. package/dist/cjs/types-dc22e301.js.map +0 -1
  820. package/dist/collection/components/ic-card/ic-card.js.map +0 -1
  821. package/dist/collection/components/ic-card/test/basic/ic-card.spec.js.map +0 -1
  822. package/dist/collection/components/ic-chip/ic-chip.types.js +0 -2
  823. package/dist/collection/components/ic-chip/ic-chip.types.js.map +0 -1
  824. package/dist/collection/components/ic-data-entity/ic-data-entity.js.map +0 -1
  825. package/dist/collection/components/ic-data-entity/test/basic/ic-data-entity.spec.js.map +0 -1
  826. package/dist/components/ic-alert2.js +0 -139
  827. package/dist/components/ic-alert2.js.map +0 -1
  828. package/dist/components/ic-card.js.map +0 -1
  829. package/dist/components/ic-data-entity.js +0 -53
  830. package/dist/components/ic-data-entity.js.map +0 -1
  831. package/dist/components/types.js +0 -16
  832. package/dist/components/types.js.map +0 -1
  833. package/dist/core/p-02262e76.entry.js +0 -2
  834. package/dist/core/p-02262e76.entry.js.map +0 -1
  835. package/dist/core/p-03f23a55.entry.js +0 -2
  836. package/dist/core/p-03f23a55.entry.js.map +0 -1
  837. package/dist/core/p-0432d31a.entry.js +0 -2
  838. package/dist/core/p-0432d31a.entry.js.map +0 -1
  839. package/dist/core/p-093600a2.entry.js +0 -2
  840. package/dist/core/p-093600a2.entry.js.map +0 -1
  841. package/dist/core/p-13a6e7ea.entry.js +0 -2
  842. package/dist/core/p-13a6e7ea.entry.js.map +0 -1
  843. package/dist/core/p-13ec2a00.entry.js +0 -2
  844. package/dist/core/p-13ec2a00.entry.js.map +0 -1
  845. package/dist/core/p-1ae6aadb.entry.js +0 -2
  846. package/dist/core/p-1ae6aadb.entry.js.map +0 -1
  847. package/dist/core/p-1d648b98.entry.js +0 -2
  848. package/dist/core/p-1d648b98.entry.js.map +0 -1
  849. package/dist/core/p-1d6e6ebe.entry.js +0 -2
  850. package/dist/core/p-1d6e6ebe.entry.js.map +0 -1
  851. package/dist/core/p-223889da.entry.js +0 -2
  852. package/dist/core/p-230187a8.entry.js +0 -2
  853. package/dist/core/p-230187a8.entry.js.map +0 -1
  854. package/dist/core/p-26b7b18f.js +0 -2
  855. package/dist/core/p-26b7b18f.js.map +0 -1
  856. package/dist/core/p-2889cc17.entry.js +0 -2
  857. package/dist/core/p-2889cc17.entry.js.map +0 -1
  858. package/dist/core/p-2d930c9c.entry.js +0 -2
  859. package/dist/core/p-2d930c9c.entry.js.map +0 -1
  860. package/dist/core/p-3969d3c0.entry.js.map +0 -1
  861. package/dist/core/p-3af60dee.entry.js +0 -2
  862. package/dist/core/p-3af60dee.entry.js.map +0 -1
  863. package/dist/core/p-3b4c9571.entry.js +0 -2
  864. package/dist/core/p-3b4c9571.entry.js.map +0 -1
  865. package/dist/core/p-3eda4e14.entry.js.map +0 -1
  866. package/dist/core/p-3f2d4108.entry.js +0 -2
  867. package/dist/core/p-3f2d4108.entry.js.map +0 -1
  868. package/dist/core/p-457a4c63.entry.js +0 -2
  869. package/dist/core/p-457a4c63.entry.js.map +0 -1
  870. package/dist/core/p-4b89890b.entry.js +0 -2
  871. package/dist/core/p-4b89890b.entry.js.map +0 -1
  872. package/dist/core/p-4f0e9434.entry.js +0 -2
  873. package/dist/core/p-4f0e9434.entry.js.map +0 -1
  874. package/dist/core/p-55b11f6f.entry.js +0 -2
  875. package/dist/core/p-55b11f6f.entry.js.map +0 -1
  876. package/dist/core/p-5ccd3703.entry.js +0 -2
  877. package/dist/core/p-5ccd3703.entry.js.map +0 -1
  878. package/dist/core/p-604e72ac.entry.js +0 -2
  879. package/dist/core/p-604e72ac.entry.js.map +0 -1
  880. package/dist/core/p-60f7f555.entry.js +0 -2
  881. package/dist/core/p-60f7f555.entry.js.map +0 -1
  882. package/dist/core/p-69576aa0.entry.js +0 -2
  883. package/dist/core/p-69576aa0.entry.js.map +0 -1
  884. package/dist/core/p-6fae7e1f.entry.js.map +0 -1
  885. package/dist/core/p-72b0a5be.entry.js +0 -2
  886. package/dist/core/p-72b0a5be.entry.js.map +0 -1
  887. package/dist/core/p-72b350bc.entry.js +0 -2
  888. package/dist/core/p-72b350bc.entry.js.map +0 -1
  889. package/dist/core/p-7438ab1f.entry.js.map +0 -1
  890. package/dist/core/p-78605899.entry.js +0 -2
  891. package/dist/core/p-78605899.entry.js.map +0 -1
  892. package/dist/core/p-7c2b59fe.entry.js +0 -2
  893. package/dist/core/p-7c2b59fe.entry.js.map +0 -1
  894. package/dist/core/p-836e71de.entry.js +0 -2
  895. package/dist/core/p-836e71de.entry.js.map +0 -1
  896. package/dist/core/p-843ed766.entry.js +0 -2
  897. package/dist/core/p-843ed766.entry.js.map +0 -1
  898. package/dist/core/p-8a8bf98c.entry.js +0 -2
  899. package/dist/core/p-8a8bf98c.entry.js.map +0 -1
  900. package/dist/core/p-8c325d9b.entry.js +0 -2
  901. package/dist/core/p-8c325d9b.entry.js.map +0 -1
  902. package/dist/core/p-936ab032.entry.js +0 -2
  903. package/dist/core/p-936ab032.entry.js.map +0 -1
  904. package/dist/core/p-96505636.entry.js +0 -2
  905. package/dist/core/p-96505636.entry.js.map +0 -1
  906. package/dist/core/p-9c9ba3cd.entry.js +0 -2
  907. package/dist/core/p-9c9ba3cd.entry.js.map +0 -1
  908. package/dist/core/p-9df32798.entry.js.map +0 -1
  909. package/dist/core/p-a6ff78aa.entry.js +0 -2
  910. package/dist/core/p-a6ff78aa.entry.js.map +0 -1
  911. package/dist/core/p-a75f3c4d.entry.js +0 -2
  912. package/dist/core/p-a75f3c4d.entry.js.map +0 -1
  913. package/dist/core/p-aeb001d7.entry.js +0 -2
  914. package/dist/core/p-aeb001d7.entry.js.map +0 -1
  915. package/dist/core/p-b1879a44.entry.js +0 -2
  916. package/dist/core/p-b1879a44.entry.js.map +0 -1
  917. package/dist/core/p-b47021d8.entry.js +0 -2
  918. package/dist/core/p-b47021d8.entry.js.map +0 -1
  919. package/dist/core/p-bb4b7dcb.entry.js +0 -2
  920. package/dist/core/p-bb4b7dcb.entry.js.map +0 -1
  921. package/dist/core/p-bb963aa4.entry.js +0 -2
  922. package/dist/core/p-bb963aa4.entry.js.map +0 -1
  923. package/dist/core/p-be5d5f93.entry.js +0 -2
  924. package/dist/core/p-be5d5f93.entry.js.map +0 -1
  925. package/dist/core/p-c1d5e7f2.entry.js +0 -2
  926. package/dist/core/p-c1d5e7f2.entry.js.map +0 -1
  927. package/dist/core/p-d3750771.entry.js +0 -2
  928. package/dist/core/p-d3750771.entry.js.map +0 -1
  929. package/dist/core/p-dbc0f5da.entry.js +0 -2
  930. package/dist/core/p-dbc0f5da.entry.js.map +0 -1
  931. package/dist/core/p-dd4ef67f.entry.js +0 -2
  932. package/dist/core/p-dd4ef67f.entry.js.map +0 -1
  933. package/dist/core/p-dd9d8e68.entry.js +0 -2
  934. package/dist/core/p-dd9d8e68.entry.js.map +0 -1
  935. package/dist/core/p-def5ba6b.entry.js +0 -2
  936. package/dist/core/p-def5ba6b.entry.js.map +0 -1
  937. package/dist/core/p-e6bad80b.entry.js +0 -2
  938. package/dist/core/p-e6bad80b.entry.js.map +0 -1
  939. package/dist/core/p-e7fa6804.entry.js +0 -2
  940. package/dist/core/p-e7fa6804.entry.js.map +0 -1
  941. package/dist/core/p-e8fa0095.entry.js +0 -2
  942. package/dist/core/p-e8fa0095.entry.js.map +0 -1
  943. package/dist/core/p-ee1c9f20.entry.js +0 -2
  944. package/dist/core/p-ee1c9f20.entry.js.map +0 -1
  945. package/dist/core/p-fef9e8c9.js +0 -2
  946. package/dist/core/p-fef9e8c9.js.map +0 -1
  947. package/dist/esm/helpers-3905ccc4.js.map +0 -1
  948. package/dist/esm/ic-card.entry.js +0 -146
  949. package/dist/esm/ic-card.entry.js.map +0 -1
  950. package/dist/esm/ic-data-entity.entry.js +0 -25
  951. package/dist/esm/ic-data-entity.entry.js.map +0 -1
  952. package/dist/esm/types-6f6b41a5.js +0 -16
  953. package/dist/esm/types-6f6b41a5.js.map +0 -1
  954. package/dist/types/components/ic-chip/ic-chip.types.d.ts +0 -1
  955. package/dist/types/components/ic-data-entity/ic-data-entity.d.ts +0 -20
@@ -72,6 +72,7 @@ export class Typography {
72
72
  this.italic = false;
73
73
  this.maxLines = undefined;
74
74
  this.strikethrough = false;
75
+ this.theme = "inherit";
75
76
  this.underline = false;
76
77
  this.variant = "body";
77
78
  this.expanded = false;
@@ -137,15 +138,16 @@ export class Typography {
137
138
  }
138
139
  render() {
139
140
  var _a, _b;
140
- const { variant, applyVerticalMargins, maxLines, truncated, expanded, strikethrough, underline, italic, bold, } = this;
141
+ const { variant, applyVerticalMargins, maxLines, truncated, expanded, strikethrough, underline, italic, bold, theme, } = this;
141
142
  return (h(Host, { class: {
142
143
  [`ic-typography-${variant}`]: true,
143
144
  [`ic-typography-vertical-margins-${variant}`]: applyVerticalMargins,
144
- ["bold"]: bold,
145
- ["italic"]: italic,
146
- ["strikethrough"]: strikethrough,
147
- ["underline"]: underline,
145
+ ["ic-typography-bold"]: bold,
146
+ ["ic-typography-italic"]: italic,
147
+ ["ic-typography-strikethrough"]: strikethrough,
148
+ ["ic-typography-underline"]: underline,
148
149
  ["in-ag-grid"]: this.inAGGrid,
150
+ [`ic-theme-${theme}`]: theme !== "inherit",
149
151
  } }, (variant === "body" ||
150
152
  ((_b = (_a = this.el.getRootNode()) === null || _a === void 0 ? void 0 : _a.host) === null || _b === void 0 ? void 0 : _b.tagName) ===
151
153
  "IC-TOOLTIP") &&
@@ -254,6 +256,30 @@ export class Typography {
254
256
  "reflect": false,
255
257
  "defaultValue": "false"
256
258
  },
259
+ "theme": {
260
+ "type": "string",
261
+ "mutable": false,
262
+ "complexType": {
263
+ "original": "IcThemeMode",
264
+ "resolved": "\"dark\" | \"inherit\" | \"light\"",
265
+ "references": {
266
+ "IcThemeMode": {
267
+ "location": "import",
268
+ "path": "../../utils/types",
269
+ "id": "src/utils/types.ts::IcThemeMode"
270
+ }
271
+ }
272
+ },
273
+ "required": false,
274
+ "optional": true,
275
+ "docs": {
276
+ "tags": [],
277
+ "text": "Sets the text color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component."
278
+ },
279
+ "attribute": "theme",
280
+ "reflect": false,
281
+ "defaultValue": "\"inherit\""
282
+ },
257
283
  "underline": {
258
284
  "type": "boolean",
259
285
  "mutable": false,
@@ -1 +1 @@
1
- {"version":3,"file":"ic-typography.js","sourceRoot":"","sources":["../../../src/components/ic-typography/ic-typography.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Prop,\n h,\n Element,\n Host,\n State,\n Watch,\n Method,\n Event,\n EventEmitter,\n} from \"@stencil/core\";\n\nimport { IcTypographyVariants } from \"../../utils/types\";\nimport { checkResizeObserver, isElInAGGrid } from \"../../utils/helpers\";\n\n@Component({\n styleUrl: \"ic-typography.css\",\n tag: \"ic-typography\",\n shadow: true,\n})\nexport class Typography {\n private focusBtnFromKeyboard: boolean = true;\n private inAGGrid: boolean = false;\n private lastMarkerTop: number = 0;\n private lastWidth: number = 0;\n private marker: HTMLElement;\n private resizeInterval: number;\n private resizeObserver: ResizeObserver = null;\n private truncatedHeight: number = 0;\n private truncWrapperEl: Element;\n\n @Element() el: HTMLIcTypographyElement;\n\n @State() truncated: boolean = false;\n @State() truncButtonFocussed: boolean = false;\n\n /**\n * If `true`, appropriate top and bottom margins will be applied to the typography.\n */\n @Prop() applyVerticalMargins?: boolean = false;\n\n /**\n * If `true`, the typography will have a bold font weight.\n * Note: This will have no impact on variants that already use an equivalent or higher font weight (h1, h2, and subtitle-large).\n */\n @Prop() bold?: boolean = false;\n\n /**\n * If `true`, the typography will have an italic font style.\n */\n @Prop() italic?: boolean = false;\n\n /**\n * The number of lines to display before truncating the text, only used for the 'body' variant.\n */\n @Prop({ mutable: true }) maxLines?: number;\n\n /**\n * If `true`, the typography will have a line through it.\n */\n @Prop() strikethrough?: boolean = false;\n\n /**\n * If `true`, the typography will have a line under it.\n */\n @Prop() underline?: boolean = false;\n\n /**\n * The ICDS typography style to use.\n */\n @Prop() variant?: IcTypographyVariants = \"body\";\n\n /**\n * @internal Emits and event when the typography truncation button has been clicked.\n */\n @Event() typographyTruncationExpandToggle: EventEmitter<{\n expanded: boolean;\n typographyEl: HTMLIcTypographyElement;\n }>;\n\n @State() expanded: boolean = false;\n\n @Watch(\"expanded\")\n watchExpandedHandler(): void {\n this.el.setAttribute(\n \"style\",\n `--truncation-max-lines: ${this.expanded ? \"initial\" : this.maxLines}`\n );\n }\n\n disconnectedCallback(): void {\n if (this.resizeObserver !== null) {\n this.resizeObserver.disconnect();\n }\n }\n /**\n * @internal This is used by data table to remove all truncation in certain events\n */\n @Method()\n async resetTruncation() {\n if (this.truncated) {\n this.truncated = false;\n this.maxLines = 0;\n this.el.removeAttribute(\"max-lines\");\n this.expanded = false;\n this.el.removeAttribute(\"style\");\n }\n }\n\n componentDidLoad(): void {\n if (\n (this.variant === \"body\" ||\n (this.el.getRootNode() as ShadowRoot)?.host?.tagName ===\n \"IC-TOOLTIP\") &&\n this.maxLines > 0\n ) {\n const marker = document.createElement(\"span\");\n marker.style.visibility = \"hidden\";\n this.el.appendChild(marker);\n this.marker = marker;\n this.lastWidth = this.el.clientWidth;\n this.checkMaxLines(this.el.clientHeight);\n checkResizeObserver(this.runResizeObserver);\n }\n }\n\n componentWillRender(): void {\n if (isElInAGGrid(this.el)) {\n this.inAGGrid = true;\n }\n }\n\n private toggleExpanded = (ev: Event) => {\n ev.stopPropagation();\n\n this.expanded = !this.expanded;\n this.typographyTruncationExpandToggle.emit({\n expanded: this.expanded,\n typographyEl: this.el,\n });\n };\n\n /**\n * @internal This checks if the number of lines of text exceeds the maxLines prop. If so, set the line clamp CSS to the max lines\n * @param height - text container height\n */\n\n @Method()\n async checkMaxLines(height: number) {\n //24 is the height of a single line\n const numLines = Math.floor(height / 24);\n if (numLines > this.maxLines) {\n this.el.setAttribute(\"style\", `--truncation-max-lines: ${this.maxLines}`);\n this.truncatedHeight = this.el.clientHeight;\n this.truncated = true;\n }\n }\n\n /**\n * @internal This method makes it possible to set the expanded status of truncated text outside of ic-typography component\n */\n @Method()\n async setShowHideExpanded(expanded: boolean) {\n this.expanded = expanded;\n }\n\n private checkMarkerPosition = (elTop: number, markerTop: number) => {\n if (markerTop - elTop < this.truncatedHeight) {\n this.truncated = false;\n this.expanded = false;\n } else {\n this.truncated = true;\n }\n };\n\n private getElementTop = (el: HTMLElement) => {\n return el.getClientRects && el.getClientRects()[0]\n ? el.getClientRects()[0].top\n : 0;\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n clearTimeout(this.resizeInterval);\n this.resizeInterval = window.setTimeout(this.resizeObserverCallback, 50);\n });\n this.resizeObserver.observe(this.truncWrapperEl);\n };\n\n private resizeObserverCallback = () => {\n if (this.lastWidth === this.el.clientWidth) {\n return;\n }\n\n if (this.truncatedHeight === 0) {\n this.checkMaxLines(this.el.clientHeight);\n return;\n }\n\n const markerTop = this.getElementTop(this.marker);\n if (markerTop === this.lastMarkerTop) {\n return;\n }\n\n this.checkMarkerPosition(this.getElementTop(this.el), markerTop);\n this.lastMarkerTop = markerTop;\n this.lastWidth = this.el.clientWidth;\n };\n\n private truncButtonFocus = (): void => {\n if (this.focusBtnFromKeyboard) {\n this.truncButtonFocussed = true;\n }\n };\n\n private truncButtonBlur = (): void => {\n this.focusBtnFromKeyboard = true;\n this.truncButtonFocussed = false;\n };\n\n private truncButtonFocusFromMouse = (): void => {\n this.focusBtnFromKeyboard = false;\n };\n\n render() {\n const {\n variant,\n applyVerticalMargins,\n maxLines,\n truncated,\n expanded,\n strikethrough,\n underline,\n italic,\n bold,\n } = this;\n\n return (\n <Host\n class={{\n [`ic-typography-${variant}`]: true,\n [`ic-typography-vertical-margins-${variant}`]: applyVerticalMargins,\n [\"bold\"]: bold,\n [\"italic\"]: italic,\n [\"strikethrough\"]: strikethrough,\n [\"underline\"]: underline,\n [\"in-ag-grid\"]: this.inAGGrid,\n }}\n >\n {(variant === \"body\" ||\n (this.el.getRootNode() as ShadowRoot)?.host?.tagName ===\n \"IC-TOOLTIP\") &&\n maxLines > 0 ? (\n <div class=\"trunc-wrapper\" ref={(el) => (this.truncWrapperEl = el)}>\n <slot />\n </div>\n ) : (\n <slot />\n )}\n {variant === \"body\" && maxLines > 0 && truncated && (\n <button\n class={{ \"trunc-btn\": true, focus: this.truncButtonFocussed }}\n onFocus={this.truncButtonFocus}\n onBlur={this.truncButtonBlur}\n onMouseDown={this.truncButtonFocusFromMouse}\n onClick={this.toggleExpanded}\n >\n {expanded ? \"See less\" : \"See more\"}\n </button>\n )}\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"ic-typography.js","sourceRoot":"","sources":["../../../src/components/ic-typography/ic-typography.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Prop,\n h,\n Element,\n Host,\n State,\n Watch,\n Method,\n Event,\n EventEmitter,\n} from \"@stencil/core\";\n\nimport { IcTypographyVariants, IcThemeMode } from \"../../utils/types\";\nimport { checkResizeObserver, isElInAGGrid } from \"../../utils/helpers\";\n\n@Component({\n styleUrl: \"ic-typography.css\",\n tag: \"ic-typography\",\n shadow: true,\n})\nexport class Typography {\n private focusBtnFromKeyboard: boolean = true;\n private inAGGrid: boolean = false;\n private lastMarkerTop: number = 0;\n private lastWidth: number = 0;\n private marker: HTMLElement;\n private resizeInterval: number;\n private resizeObserver: ResizeObserver = null;\n private truncatedHeight: number = 0;\n private truncWrapperEl: Element;\n\n @Element() el: HTMLIcTypographyElement;\n\n @State() truncated: boolean = false;\n @State() truncButtonFocussed: boolean = false;\n\n /**\n * If `true`, appropriate top and bottom margins will be applied to the typography.\n */\n @Prop() applyVerticalMargins?: boolean = false;\n\n /**\n * If `true`, the typography will have a bold font weight.\n * Note: This will have no impact on variants that already use an equivalent or higher font weight (h1, h2, and subtitle-large).\n */\n @Prop() bold?: boolean = false;\n\n /**\n * If `true`, the typography will have an italic font style.\n */\n @Prop() italic?: boolean = false;\n\n /**\n * The number of lines to display before truncating the text, only used for the 'body' variant.\n */\n @Prop({ mutable: true }) maxLines?: number;\n\n /**\n * If `true`, the typography will have a line through it.\n */\n @Prop() strikethrough?: boolean = false;\n\n /**\n * Sets the text color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n\n /**\n * If `true`, the typography will have a line under it.\n */\n @Prop() underline?: boolean = false;\n\n /**\n * The ICDS typography style to use.\n */\n @Prop() variant?: IcTypographyVariants = \"body\";\n\n /**\n * @internal Emits and event when the typography truncation button has been clicked.\n */\n @Event() typographyTruncationExpandToggle: EventEmitter<{\n expanded: boolean;\n typographyEl: HTMLIcTypographyElement;\n }>;\n\n @State() expanded: boolean = false;\n\n @Watch(\"expanded\")\n watchExpandedHandler(): void {\n this.el.setAttribute(\n \"style\",\n `--truncation-max-lines: ${this.expanded ? \"initial\" : this.maxLines}`\n );\n }\n\n disconnectedCallback(): void {\n if (this.resizeObserver !== null) {\n this.resizeObserver.disconnect();\n }\n }\n /**\n * @internal This is used by data table to remove all truncation in certain events\n */\n @Method()\n async resetTruncation() {\n if (this.truncated) {\n this.truncated = false;\n this.maxLines = 0;\n this.el.removeAttribute(\"max-lines\");\n this.expanded = false;\n this.el.removeAttribute(\"style\");\n }\n }\n\n componentDidLoad(): void {\n if (\n (this.variant === \"body\" ||\n (this.el.getRootNode() as ShadowRoot)?.host?.tagName ===\n \"IC-TOOLTIP\") &&\n this.maxLines > 0\n ) {\n const marker = document.createElement(\"span\");\n marker.style.visibility = \"hidden\";\n this.el.appendChild(marker);\n this.marker = marker;\n this.lastWidth = this.el.clientWidth;\n this.checkMaxLines(this.el.clientHeight);\n checkResizeObserver(this.runResizeObserver);\n }\n }\n\n componentWillRender(): void {\n if (isElInAGGrid(this.el)) {\n this.inAGGrid = true;\n }\n }\n\n private toggleExpanded = (ev: Event) => {\n ev.stopPropagation();\n\n this.expanded = !this.expanded;\n this.typographyTruncationExpandToggle.emit({\n expanded: this.expanded,\n typographyEl: this.el,\n });\n };\n\n /**\n * @internal This checks if the number of lines of text exceeds the maxLines prop. If so, set the line clamp CSS to the max lines\n * @param height - text container height\n */\n\n @Method()\n async checkMaxLines(height: number) {\n //24 is the height of a single line\n const numLines = Math.floor(height / 24);\n if (numLines > this.maxLines) {\n this.el.setAttribute(\"style\", `--truncation-max-lines: ${this.maxLines}`);\n this.truncatedHeight = this.el.clientHeight;\n this.truncated = true;\n }\n }\n\n /**\n * @internal This method makes it possible to set the expanded status of truncated text outside of ic-typography component\n */\n @Method()\n async setShowHideExpanded(expanded: boolean) {\n this.expanded = expanded;\n }\n\n private checkMarkerPosition = (elTop: number, markerTop: number) => {\n if (markerTop - elTop < this.truncatedHeight) {\n this.truncated = false;\n this.expanded = false;\n } else {\n this.truncated = true;\n }\n };\n\n private getElementTop = (el: HTMLElement) => {\n return el.getClientRects && el.getClientRects()[0]\n ? el.getClientRects()[0].top\n : 0;\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n clearTimeout(this.resizeInterval);\n this.resizeInterval = window.setTimeout(this.resizeObserverCallback, 50);\n });\n this.resizeObserver.observe(this.truncWrapperEl);\n };\n\n private resizeObserverCallback = () => {\n if (this.lastWidth === this.el.clientWidth) {\n return;\n }\n\n if (this.truncatedHeight === 0) {\n this.checkMaxLines(this.el.clientHeight);\n return;\n }\n\n const markerTop = this.getElementTop(this.marker);\n if (markerTop === this.lastMarkerTop) {\n return;\n }\n\n this.checkMarkerPosition(this.getElementTop(this.el), markerTop);\n this.lastMarkerTop = markerTop;\n this.lastWidth = this.el.clientWidth;\n };\n\n private truncButtonFocus = (): void => {\n if (this.focusBtnFromKeyboard) {\n this.truncButtonFocussed = true;\n }\n };\n\n private truncButtonBlur = (): void => {\n this.focusBtnFromKeyboard = true;\n this.truncButtonFocussed = false;\n };\n\n private truncButtonFocusFromMouse = (): void => {\n this.focusBtnFromKeyboard = false;\n };\n\n render() {\n const {\n variant,\n applyVerticalMargins,\n maxLines,\n truncated,\n expanded,\n strikethrough,\n underline,\n italic,\n bold,\n theme,\n } = this;\n\n return (\n <Host\n class={{\n [`ic-typography-${variant}`]: true,\n [`ic-typography-vertical-margins-${variant}`]: applyVerticalMargins,\n [\"ic-typography-bold\"]: bold,\n [\"ic-typography-italic\"]: italic,\n [\"ic-typography-strikethrough\"]: strikethrough,\n [\"ic-typography-underline\"]: underline,\n [\"in-ag-grid\"]: this.inAGGrid,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n {(variant === \"body\" ||\n (this.el.getRootNode() as ShadowRoot)?.host?.tagName ===\n \"IC-TOOLTIP\") &&\n maxLines > 0 ? (\n <div class=\"trunc-wrapper\" ref={(el) => (this.truncWrapperEl = el)}>\n <slot />\n </div>\n ) : (\n <slot />\n )}\n {variant === \"body\" && maxLines > 0 && truncated && (\n <button\n class={{ \"trunc-btn\": true, focus: this.truncButtonFocussed }}\n onFocus={this.truncButtonFocus}\n onBlur={this.truncButtonBlur}\n onMouseDown={this.truncButtonFocusFromMouse}\n onClick={this.toggleExpanded}\n >\n {expanded ? \"See less\" : \"See more\"}\n </button>\n )}\n </Host>\n );\n }\n}\n"]}
@@ -335,6 +335,20 @@ describe("ic-typography component", () => {
335
335
  //test disconnected callback
336
336
  page.setContent("");
337
337
  });
338
+ it("should test dark theme", async () => {
339
+ const page = await newSpecPage({
340
+ components: [Typography],
341
+ html: `<ic-typography theme="dark">IC Typography Test</ic-typography>`,
342
+ });
343
+ expect(page.root).toMatchSnapshot();
344
+ });
345
+ it("should test light theme", async () => {
346
+ const page = await newSpecPage({
347
+ components: [Typography],
348
+ html: `<ic-typography theme="light">IC Typography Test</ic-typography>`,
349
+ });
350
+ expect(page.root).toMatchSnapshot();
351
+ });
338
352
  it("should apply the correct class when in an AG Grid", async () => {
339
353
  Object.defineProperty(helpers, "isElInAGGrid", {
340
354
  value: jest.fn().mockReturnValue(true),
@@ -1 +1 @@
1
- {"version":3,"file":"ic-typography.spec.js","sourceRoot":"","sources":["../../../../../src/components/ic-typography/test/basic/ic-typography.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { newSpecPage } from \"@stencil/core/testing\";\nimport { Typography } from \"../../ic-typography\";\nimport * as helpers from \"../../../../utils/helpers\";\n\ndescribe(\"ic-typography component\", () => {\n it(\"should render with default body styles\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography>IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render h1 with h1 variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"h1\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render h2 with h2 variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"h2\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render h3 with h3 variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"h3\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render h4 with h4 variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"h4\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render h5 with subtitle-large variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"subtitle-large\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render h6 with subtitle-small variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"subtitle-small\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with body variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"body\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render caption variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"caption\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render caption uppercase variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"caption-uppercase\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render label with label variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"label\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render label uppercase with label-uppercase variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"label-uppercase\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render code large with code-large variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"code-large\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render code small with code-small variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"code-small\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render code extra small with code-extra-small variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"code-extra-small\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render badge with badge variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"badge\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render badge small with badge-small variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"badge-small\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with italic style\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"body\" italic=\"true\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with bold style\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"body\" bold=\"true\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with strikethrough\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"body\" strikethrough=\"true\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with underline\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"body\" underline=\"true\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should allow semantic component to be passed in and variant styling applied\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"h1\"><h3>IC Typography Test</h3></ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should apply vertical margins class if vertical margins prop true\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography apply-vertical-margins>IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should apply className provided to root element to typography element\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography class=\"test-class\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render the typography with truncation\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography max-lines=\"3\">\n Body of text that is truncated to three lines. Click the 'See more' link to\n expand the text, then click 'See less' to truncate the text once more!\n Dripper caramelization java saucer grounds galão, mocha, and robusta\n kopi-luwak, percolator, instant, qui saucer latte in brewed café au\n lait. Con panna, cup, cream, body americano affogato cup espresso, rich\n milk seasonal saucer grinder spoon that cultivar strong redeye\n frappuccino barista extraction redeye mazagran.\n </ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n\n page.rootInstance.truncated = true;\n\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should test toggle of see more/less\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography max-lines=\"3\">\n Body of text that is truncated to three lines. Click the 'See more' link to\n expand the text, then click 'See less' to truncate the text once more!\n Dripper caramelization java saucer grounds galão, mocha, and robusta\n kopi-luwak, percolator, instant, qui saucer latte in brewed café au\n lait. Con panna, cup, cream, body americano affogato cup espresso, rich\n milk seasonal saucer grinder spoon that cultivar strong redeye\n frappuccino barista extraction redeye mazagran.\n </ic-typography>`,\n });\n\n page.rootInstance.checkMaxLines(96);\n await page.waitForChanges();\n\n expect(page.rootInstance.truncated).toBe(true);\n expect(page.rootInstance.expanded).toBe(false);\n\n const button = page.root.shadowRoot.querySelector(\"button\");\n\n button.click();\n await page.waitForChanges();\n expect(page.rootInstance.expanded).toBe(true);\n\n button.click();\n await page.waitForChanges();\n expect(page.rootInstance.expanded).toBe(false);\n });\n\n it(\"should test truncation applied when number of lines exceeds max\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography max-lines=\"3\">\n Body of text that is truncated to three lines. Click the 'See more' link to\n expand the text, then click 'See less' to truncate the text once more!\n Dripper caramelization java saucer grounds galão, mocha, and robusta\n kopi-luwak, percolator, instant, qui saucer latte in brewed café au\n lait. Con panna, cup, cream, body americano affogato cup espresso, rich\n milk seasonal saucer grinder spoon that cultivar strong redeye\n frappuccino barista extraction redeye mazagran.\n </ic-typography>`,\n });\n\n page.rootInstance.checkMaxLines(96);\n await page.waitForChanges();\n\n expect(page.rootInstance.truncated).toBe(true);\n });\n\n it(\"should test checkMarkerPosition\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography max-lines=\"3\">\n Body of text that is truncated to three lines. Click the 'See more' link to\n expand the text, then click 'See less' to truncate the text once more!\n Dripper caramelization java saucer grounds galão, mocha, and robusta\n kopi-luwak, percolator, instant, qui saucer latte in brewed café au\n lait. Con panna, cup, cream, body americano affogato cup espresso, rich\n milk seasonal saucer grinder spoon that cultivar strong redeye\n frappuccino barista extraction redeye mazagran.\n </ic-typography>`,\n });\n\n page.rootInstance.truncatedHeight = 300;\n page.rootInstance.checkMarkerPosition(100, 200);\n\n expect(page.rootInstance.truncated).toBe(false);\n expect(page.rootInstance.expanded).toBe(false);\n\n page.rootInstance.checkMarkerPosition(100, 500);\n expect(page.rootInstance.truncated).toBe(true);\n });\n\n it(\"should test truncation button focus\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography max-lines=\"3\">\n Body of text that is truncated to three lines. Click the 'See more' link to\n expand the text, then click 'See less' to truncate the text once more!\n Dripper caramelization java saucer grounds galão, mocha, and robusta\n kopi-luwak, percolator, instant, qui saucer latte in brewed café au\n lait. Con panna, cup, cream, body americano affogato cup espresso, rich\n milk seasonal saucer grinder spoon that cultivar strong redeye\n frappuccino barista extraction redeye mazagran.\n </ic-typography>`,\n });\n\n page.rootInstance.truncated = true;\n await page.waitForChanges();\n\n const button = page.root.shadowRoot.querySelector(\"button\");\n button.focus();\n await page.waitForChanges();\n expect(button).toHaveClass(\"focus\");\n\n button.blur();\n await page.waitForChanges();\n expect(button).not.toHaveClass(\"focus\");\n });\n\n it(\"should test truncation button mousedown handler\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography max-lines=\"3\">\n Body of text that is truncated to three lines. Click the 'See more' link to\n expand the text, then click 'See less' to truncate the text once more!\n Dripper caramelization java saucer grounds galão, mocha, and robusta\n kopi-luwak, percolator, instant, qui saucer latte in brewed café au\n lait. Con panna, cup, cream, body americano affogato cup espresso, rich\n milk seasonal saucer grinder spoon that cultivar strong redeye\n frappuccino barista extraction redeye mazagran.\n </ic-typography>`,\n });\n\n page.rootInstance.truncated = true;\n await page.waitForChanges();\n\n const button = page.root.shadowRoot.querySelector(\"button\");\n\n const event = new Event(\"mousedown\", {\n bubbles: true,\n cancelable: true,\n });\n\n button.dispatchEvent(event);\n await page.waitForChanges();\n expect(page.rootInstance.focusBtnFromKeyboard).toBe(false);\n\n button.focus();\n await page.waitForChanges();\n expect(button).not.toHaveClass(\"focus\");\n });\n\n it(\"should test resizeObserver\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography max-lines=\"3\">\n Body of text that is truncated to three lines. Click the 'See more' link to\n expand the text, then click 'See less' to truncate the text once more!\n Dripper caramelization java saucer grounds galão, mocha, and robusta\n kopi-luwak, percolator, instant, qui saucer latte in brewed café au\n lait. Con panna, cup, cream, body americano affogato cup espresso, rich\n milk seasonal saucer grinder spoon that cultivar strong redeye\n frappuccino barista extraction redeye mazagran.\n </ic-typography>`,\n });\n\n page.rootInstance.el.clientHeight = 96;\n page.rootInstance.el.clientWidth = 200;\n page.rootInstance.resizeObserverCallback();\n expect(page.rootInstance.lastWidth).toBe(undefined);\n expect(page.rootInstance.truncated).toBe(true);\n\n //lastMarkerTop will get overwritten with 0\n page.rootInstance.lastMarkerTop = 120;\n page.rootInstance.resizeObserverCallback();\n expect(page.rootInstance.lastWidth).toBe(200);\n expect(page.rootInstance.lastMarkerTop).toBe(0);\n\n //test lastMarkerTop not overwritten with 0 as widths should match\n page.rootInstance.lastMarkerTop = 120;\n page.rootInstance.resizeObserverCallback();\n expect(page.rootInstance.lastMarkerTop).toBe(120);\n\n //test lastWidth not overwritten as markerTop should match lastMarkerTop\n page.rootInstance.el.clientWidth = 300;\n page.rootInstance.lastMarkerTop = 0;\n page.rootInstance.resizeObserverCallback();\n expect(page.rootInstance.lastWidth).toBe(200);\n\n //test disconnected callback\n page.setContent(\"\");\n });\n\n it(\"should apply the correct class when in an AG Grid\", async () => {\n Object.defineProperty(helpers, \"isElInAGGrid\", {\n value: jest.fn().mockReturnValue(true),\n });\n\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography><p>IC Typography Test</p></ic-typography>`,\n });\n\n await page.waitForChanges();\n\n expect(page.rootInstance.inAGGrid).toBe(true);\n expect(\n document.querySelector(\"ic-typography\").classList.contains(\"in-ag-grid\")\n ).toBe(true);\n });\n\n it(\"should set the typography expanded state\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography max-lines=\"3\">\n Body of text that is truncated to three lines. Click the 'See more' link to\n expand the text, then click 'See less' to truncate the text once more!\n Dripper caramelization java saucer grounds galão, mocha, and robusta\n kopi-luwak, percolator, instant, qui saucer latte in brewed café au\n lait. Con panna, cup, cream, body americano affogato cup espresso, rich\n milk seasonal saucer grinder spoon that cultivar strong redeye\n frappuccino barista extraction redeye mazagran.\n </ic-typography>`,\n });\n\n expect(page.rootInstance.expanded).toBe(false);\n\n await page.rootInstance.setShowHideExpanded(true);\n\n expect(page.rootInstance.expanded).toBe(true);\n });\n\n it(\"should reset truncation properties\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography max-lines=\"3\" style='--truncation-max-lines: 1;'>\n Body of text that is truncated to three lines. Click the 'See more' link to\n expand the text, then click 'See less' to truncate the text once more!\n Dripper caramelization java saucer grounds galão, mocha, and robusta\n kopi-luwak, percolator, instant, qui saucer latte in brewed café au\n lait. Con panna, cup, cream, body americano affogato cup espresso, rich\n milk seasonal saucer grinder spoon that cultivar strong redeye\n frappuccino barista extraction redeye mazagran.\n </ic-typography>`,\n });\n\n page.rootInstance.el.clientHeight = 96;\n page.rootInstance.el.clientWidth = 200;\n page.rootInstance.resizeObserverCallback();\n await page.rootInstance.setShowHideExpanded(true);\n\n expect(page.rootInstance.truncated).toBe(true);\n expect(page.rootInstance.maxLines).toBe(3);\n expect(page.rootInstance.expanded).toBe(true);\n\n await page.rootInstance.resetTruncation();\n\n expect(page.rootInstance.truncated).toBe(false);\n expect(page.rootInstance.maxLines).toBe(null);\n expect(page.rootInstance.expanded).toBe(false);\n });\n});\n"]}
1
+ {"version":3,"file":"ic-typography.spec.js","sourceRoot":"","sources":["../../../../../src/components/ic-typography/test/basic/ic-typography.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { newSpecPage } from \"@stencil/core/testing\";\nimport { Typography } from \"../../ic-typography\";\nimport * as helpers from \"../../../../utils/helpers\";\n\ndescribe(\"ic-typography component\", () => {\n it(\"should render with default body styles\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography>IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render h1 with h1 variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"h1\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render h2 with h2 variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"h2\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render h3 with h3 variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"h3\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render h4 with h4 variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"h4\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render h5 with subtitle-large variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"subtitle-large\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render h6 with subtitle-small variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"subtitle-small\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with body variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"body\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render caption variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"caption\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render caption uppercase variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"caption-uppercase\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render label with label variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"label\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render label uppercase with label-uppercase variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"label-uppercase\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render code large with code-large variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"code-large\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render code small with code-small variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"code-small\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render code extra small with code-extra-small variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"code-extra-small\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render badge with badge variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"badge\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render badge small with badge-small variant\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"badge-small\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with italic style\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"body\" italic=\"true\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with bold style\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"body\" bold=\"true\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with strikethrough\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"body\" strikethrough=\"true\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with underline\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"body\" underline=\"true\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should allow semantic component to be passed in and variant styling applied\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography variant=\"h1\"><h3>IC Typography Test</h3></ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should apply vertical margins class if vertical margins prop true\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography apply-vertical-margins>IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should apply className provided to root element to typography element\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography class=\"test-class\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render the typography with truncation\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography max-lines=\"3\">\n Body of text that is truncated to three lines. Click the 'See more' link to\n expand the text, then click 'See less' to truncate the text once more!\n Dripper caramelization java saucer grounds galão, mocha, and robusta\n kopi-luwak, percolator, instant, qui saucer latte in brewed café au\n lait. Con panna, cup, cream, body americano affogato cup espresso, rich\n milk seasonal saucer grinder spoon that cultivar strong redeye\n frappuccino barista extraction redeye mazagran.\n </ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n\n page.rootInstance.truncated = true;\n\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should test toggle of see more/less\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography max-lines=\"3\">\n Body of text that is truncated to three lines. Click the 'See more' link to\n expand the text, then click 'See less' to truncate the text once more!\n Dripper caramelization java saucer grounds galão, mocha, and robusta\n kopi-luwak, percolator, instant, qui saucer latte in brewed café au\n lait. Con panna, cup, cream, body americano affogato cup espresso, rich\n milk seasonal saucer grinder spoon that cultivar strong redeye\n frappuccino barista extraction redeye mazagran.\n </ic-typography>`,\n });\n\n page.rootInstance.checkMaxLines(96);\n await page.waitForChanges();\n\n expect(page.rootInstance.truncated).toBe(true);\n expect(page.rootInstance.expanded).toBe(false);\n\n const button = page.root.shadowRoot.querySelector(\"button\");\n\n button.click();\n await page.waitForChanges();\n expect(page.rootInstance.expanded).toBe(true);\n\n button.click();\n await page.waitForChanges();\n expect(page.rootInstance.expanded).toBe(false);\n });\n\n it(\"should test truncation applied when number of lines exceeds max\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography max-lines=\"3\">\n Body of text that is truncated to three lines. Click the 'See more' link to\n expand the text, then click 'See less' to truncate the text once more!\n Dripper caramelization java saucer grounds galão, mocha, and robusta\n kopi-luwak, percolator, instant, qui saucer latte in brewed café au\n lait. Con panna, cup, cream, body americano affogato cup espresso, rich\n milk seasonal saucer grinder spoon that cultivar strong redeye\n frappuccino barista extraction redeye mazagran.\n </ic-typography>`,\n });\n\n page.rootInstance.checkMaxLines(96);\n await page.waitForChanges();\n\n expect(page.rootInstance.truncated).toBe(true);\n });\n\n it(\"should test checkMarkerPosition\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography max-lines=\"3\">\n Body of text that is truncated to three lines. Click the 'See more' link to\n expand the text, then click 'See less' to truncate the text once more!\n Dripper caramelization java saucer grounds galão, mocha, and robusta\n kopi-luwak, percolator, instant, qui saucer latte in brewed café au\n lait. Con panna, cup, cream, body americano affogato cup espresso, rich\n milk seasonal saucer grinder spoon that cultivar strong redeye\n frappuccino barista extraction redeye mazagran.\n </ic-typography>`,\n });\n\n page.rootInstance.truncatedHeight = 300;\n page.rootInstance.checkMarkerPosition(100, 200);\n\n expect(page.rootInstance.truncated).toBe(false);\n expect(page.rootInstance.expanded).toBe(false);\n\n page.rootInstance.checkMarkerPosition(100, 500);\n expect(page.rootInstance.truncated).toBe(true);\n });\n\n it(\"should test truncation button focus\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography max-lines=\"3\">\n Body of text that is truncated to three lines. Click the 'See more' link to\n expand the text, then click 'See less' to truncate the text once more!\n Dripper caramelization java saucer grounds galão, mocha, and robusta\n kopi-luwak, percolator, instant, qui saucer latte in brewed café au\n lait. Con panna, cup, cream, body americano affogato cup espresso, rich\n milk seasonal saucer grinder spoon that cultivar strong redeye\n frappuccino barista extraction redeye mazagran.\n </ic-typography>`,\n });\n\n page.rootInstance.truncated = true;\n await page.waitForChanges();\n\n const button = page.root.shadowRoot.querySelector(\"button\");\n button.focus();\n await page.waitForChanges();\n expect(button).toHaveClass(\"focus\");\n\n button.blur();\n await page.waitForChanges();\n expect(button).not.toHaveClass(\"focus\");\n });\n\n it(\"should test truncation button mousedown handler\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography max-lines=\"3\">\n Body of text that is truncated to three lines. Click the 'See more' link to\n expand the text, then click 'See less' to truncate the text once more!\n Dripper caramelization java saucer grounds galão, mocha, and robusta\n kopi-luwak, percolator, instant, qui saucer latte in brewed café au\n lait. Con panna, cup, cream, body americano affogato cup espresso, rich\n milk seasonal saucer grinder spoon that cultivar strong redeye\n frappuccino barista extraction redeye mazagran.\n </ic-typography>`,\n });\n\n page.rootInstance.truncated = true;\n await page.waitForChanges();\n\n const button = page.root.shadowRoot.querySelector(\"button\");\n\n const event = new Event(\"mousedown\", {\n bubbles: true,\n cancelable: true,\n });\n\n button.dispatchEvent(event);\n await page.waitForChanges();\n expect(page.rootInstance.focusBtnFromKeyboard).toBe(false);\n\n button.focus();\n await page.waitForChanges();\n expect(button).not.toHaveClass(\"focus\");\n });\n\n it(\"should test resizeObserver\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography max-lines=\"3\">\n Body of text that is truncated to three lines. Click the 'See more' link to\n expand the text, then click 'See less' to truncate the text once more!\n Dripper caramelization java saucer grounds galão, mocha, and robusta\n kopi-luwak, percolator, instant, qui saucer latte in brewed café au\n lait. Con panna, cup, cream, body americano affogato cup espresso, rich\n milk seasonal saucer grinder spoon that cultivar strong redeye\n frappuccino barista extraction redeye mazagran.\n </ic-typography>`,\n });\n\n page.rootInstance.el.clientHeight = 96;\n page.rootInstance.el.clientWidth = 200;\n page.rootInstance.resizeObserverCallback();\n expect(page.rootInstance.lastWidth).toBe(undefined);\n expect(page.rootInstance.truncated).toBe(true);\n\n //lastMarkerTop will get overwritten with 0\n page.rootInstance.lastMarkerTop = 120;\n page.rootInstance.resizeObserverCallback();\n expect(page.rootInstance.lastWidth).toBe(200);\n expect(page.rootInstance.lastMarkerTop).toBe(0);\n\n //test lastMarkerTop not overwritten with 0 as widths should match\n page.rootInstance.lastMarkerTop = 120;\n page.rootInstance.resizeObserverCallback();\n expect(page.rootInstance.lastMarkerTop).toBe(120);\n\n //test lastWidth not overwritten as markerTop should match lastMarkerTop\n page.rootInstance.el.clientWidth = 300;\n page.rootInstance.lastMarkerTop = 0;\n page.rootInstance.resizeObserverCallback();\n expect(page.rootInstance.lastWidth).toBe(200);\n\n //test disconnected callback\n page.setContent(\"\");\n });\n\n it(\"should test dark theme\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography theme=\"dark\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should test light theme\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography theme=\"light\">IC Typography Test</ic-typography>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should apply the correct class when in an AG Grid\", async () => {\n Object.defineProperty(helpers, \"isElInAGGrid\", {\n value: jest.fn().mockReturnValue(true),\n });\n\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography><p>IC Typography Test</p></ic-typography>`,\n });\n\n await page.waitForChanges();\n\n expect(page.rootInstance.inAGGrid).toBe(true);\n expect(\n document.querySelector(\"ic-typography\").classList.contains(\"in-ag-grid\")\n ).toBe(true);\n });\n\n it(\"should set the typography expanded state\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography max-lines=\"3\">\n Body of text that is truncated to three lines. Click the 'See more' link to\n expand the text, then click 'See less' to truncate the text once more!\n Dripper caramelization java saucer grounds galão, mocha, and robusta\n kopi-luwak, percolator, instant, qui saucer latte in brewed café au\n lait. Con panna, cup, cream, body americano affogato cup espresso, rich\n milk seasonal saucer grinder spoon that cultivar strong redeye\n frappuccino barista extraction redeye mazagran.\n </ic-typography>`,\n });\n\n expect(page.rootInstance.expanded).toBe(false);\n\n await page.rootInstance.setShowHideExpanded(true);\n\n expect(page.rootInstance.expanded).toBe(true);\n });\n\n it(\"should reset truncation properties\", async () => {\n const page = await newSpecPage({\n components: [Typography],\n html: `<ic-typography max-lines=\"3\" style='--truncation-max-lines: 1;'>\n Body of text that is truncated to three lines. Click the 'See more' link to\n expand the text, then click 'See less' to truncate the text once more!\n Dripper caramelization java saucer grounds galão, mocha, and robusta\n kopi-luwak, percolator, instant, qui saucer latte in brewed café au\n lait. Con panna, cup, cream, body americano affogato cup espresso, rich\n milk seasonal saucer grinder spoon that cultivar strong redeye\n frappuccino barista extraction redeye mazagran.\n </ic-typography>`,\n });\n\n page.rootInstance.el.clientHeight = 96;\n page.rootInstance.el.clientWidth = 200;\n page.rootInstance.resizeObserverCallback();\n await page.rootInstance.setShowHideExpanded(true);\n\n expect(page.rootInstance.truncated).toBe(true);\n expect(page.rootInstance.maxLines).toBe(3);\n expect(page.rootInstance.expanded).toBe(true);\n\n await page.rootInstance.resetTruncation();\n\n expect(page.rootInstance.truncated).toBe(false);\n expect(page.rootInstance.maxLines).toBe(null);\n expect(page.rootInstance.expanded).toBe(false);\n });\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":"AAyBA,MAAM,CAAN,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC7B,0CAAmB,CAAA;IACnB,sCAAe,CAAA;IACf,0CAAmB,CAAA;AACrB,CAAC,EAJW,mBAAmB,KAAnB,mBAAmB,QAI9B;AAsED,MAAM,CAAN,IAAY,qBAIX;AAJD,WAAY,qBAAqB;IAC/B,4CAAmB,CAAA;IACnB,sCAAa,CAAA;IACb,wCAAe,CAAA;AACjB,CAAC,EAJW,qBAAqB,KAArB,qBAAqB,QAIhC","sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nexport type IcFocusableComponents =\n | HTMLIcBreadcrumbElement\n | HTMLIcButtonElement\n | HTMLIcCardElement\n | HTMLIcCheckboxElement\n | HTMLIcChipElement\n | HTMLIcLinkElement\n | HTMLIcNavigationButtonElement\n | HTMLIcNavigationGroupElement\n | HTMLIcNavigationItemElement\n | HTMLIcRadioOptionElement\n | HTMLIcSearchBarElement\n | HTMLIcSelectElement\n | HTMLIcSwitchElement\n | HTMLIcTabElement\n | HTMLIcTextFieldElement;\n\nexport type IcStatusVariants =\n | \"neutral\"\n | \"info\"\n | \"warning\"\n | \"error\"\n | \"success\";\n\nexport enum IcInformationStatus {\n Warning = \"warning\",\n Error = \"error\",\n Success = \"success\",\n}\n\nexport type IcSizes = \"default\" | \"large\" | \"small\";\n\nexport type IcSizesNoLarge = \"default\" | \"small\";\n\nexport type IcInformationStatusOrEmpty = \"warning\" | \"error\" | \"success\" | \"\";\n\nexport type IcNavType = \"side\" | \"top\" | \"page-header\";\n\n// From: https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete\nexport type IcAutocompleteTypes =\n | \"on\"\n | \"off\"\n | \"name\"\n | \"honorific-prefix\"\n | \"given-name\"\n | \"additional-name\"\n | \"family-name\"\n | \"honorific-suffix\"\n | \"nickname\"\n | \"email\"\n | \"username\"\n | \"new-password\"\n | \"current-password\"\n | \"one-time-code\"\n | \"organization-title\"\n | \"organization\"\n | \"street-address\"\n | \"address-line1\"\n | \"address-line2\"\n | \"address-line3\"\n | \"address-level4\"\n | \"address-level3\"\n | \"address-level2\"\n | \"address-level1\"\n | \"country\"\n | \"country-name\"\n | \"postal-code\"\n | \"cc-name\"\n | \"cc-given-name\"\n | \"cc-additional-name\"\n | \"cc-family-name\"\n | \"cc-family-name\"\n | \"cc-number\"\n | \"cc-exp\"\n | \"cc-exp-month\"\n | \"cc-exp-year\"\n | \"cc-csc\"\n | \"cc-type\"\n | \"transaction-currency\"\n | \"transaction-amount\"\n | \"language\"\n | \"bday\"\n | \"bday-day\"\n | \"bday-month\"\n | \"bday-year\"\n | \"sex\"\n | \"tel\"\n | \"tel-country-code\"\n | \"tel-national\"\n | \"tel-area-code\"\n | \"tel-local\"\n | \"tel-extension\"\n | \"impp\"\n | \"url\"\n | \"photo\";\n\nexport type IcAlignment = \"left\" | \"center\" | \"full-width\";\n\nexport enum IcThemeForegroundEnum {\n Default = \"default\",\n Dark = \"dark\",\n Light = \"light\",\n}\n\nexport type IcThemeForeground = \"default\" | \"dark\" | \"light\";\n\nexport type IcThemeForegroundNoDefault = \"dark\" | \"light\";\n\nexport type IcTheme = {\n mode: IcThemeForeground;\n color: IcColorRGB;\n};\n\nexport type IcAdditionalFieldTypes = \"static\" | \"dynamic\";\n\nexport type IcColorRGB = {\n r: number;\n g: number;\n b: number;\n};\n\nexport type IcColorRGBA = IcColorRGB & {\n a: number;\n};\n\nexport type IcActivationTypes = \"automatic\" | \"manual\";\n\nexport type IcAutocorrectStates = \"on\" | \"off\";\n\nexport type IcNavParentDetails = {\n navType: IcNavType | \"\";\n parent: HTMLElement;\n};\n\nexport type IcTypographyVariants =\n | \"h1\"\n | \"h2\"\n | \"h3\"\n | \"h4\"\n | \"subtitle-large\"\n | \"subtitle-small\"\n | \"body\"\n | \"label\"\n | \"label-uppercase\"\n | \"caption\"\n | \"caption-uppercase\"\n | \"code-large\"\n | \"code-small\"\n | \"code-extra-small\"\n | \"badge\"\n | \"badge-small\";\n\n/**\n * @interface IcMenuOption\n * @field {string} A label field to options. Defaults to \"label\", but can have any custom name.\n * @field {string} A value field to options. Defaults to \"value\", but can have any custom name.\n */\nexport interface IcMenuOption {\n description?: string;\n disabled?: boolean;\n recommended?: boolean;\n children?: IcMenuOption[];\n loading?: boolean;\n timedOut?: boolean;\n [key: string]: any;\n element?: {\n component: any;\n ariaLabel: string;\n };\n icon?: any;\n}\n\nexport type IcSearchMatchPositions = \"start\" | \"anywhere\";\n\nexport type IcCallbackFunctionNoReturn = (...args: unknown[]) => void;\n\nexport type IcRequiredPropsTypes =\n | string\n | boolean\n | number\n | HTMLElement\n | IcMenuOption[];\n\nexport type IcPropObject = { prop: IcRequiredPropsTypes; propName: string };\n\nexport type IcRelatedTarget = EventTarget | undefined;\n\nexport type IcOrientation = \"horizontal\" | \"vertical\";\n\nexport type IcEmphasisType = \"filled\" | \"outlined\";\n\nexport interface IcValueEventDetail {\n value: string;\n keyPressed?: string;\n}\nexport interface IcBlurEventDetail {\n relatedTarget: IcRelatedTarget;\n}\n\nexport type IcSelectTypes = \"single\" | \"multi\";\n\nexport type IcSelectMethodTypes = \"auto\" | \"manual\";\n\nexport type IcDeviceSizes = 0 | 576 | 768 | 992 | 1200;\n\ntype RGB = `rgb(${string})`;\ntype RGBA = `rgba(${string})`;\ntype HEX = `#${string}`;\n\nexport type IcColor = RGB | RGBA | HEX;\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":"AAyBA,MAAM,CAAN,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC7B,0CAAmB,CAAA;IACnB,sCAAe,CAAA;IACf,0CAAmB,CAAA;AACrB,CAAC,EAJW,mBAAmB,KAAnB,mBAAmB,QAI9B;AAsED,MAAM,CAAN,IAAY,qBAIX;AAJD,WAAY,qBAAqB;IAC/B,4CAAmB,CAAA;IACnB,sCAAa,CAAA;IACb,wCAAe,CAAA;AACjB,CAAC,EAJW,qBAAqB,KAArB,qBAAqB,QAIhC","sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nexport type IcFocusableComponents =\n | HTMLIcBreadcrumbElement\n | HTMLIcButtonElement\n | HTMLIcCardVerticalElement\n | HTMLIcCheckboxElement\n | HTMLIcChipElement\n | HTMLIcLinkElement\n | HTMLIcNavigationButtonElement\n | HTMLIcNavigationGroupElement\n | HTMLIcNavigationItemElement\n | HTMLIcRadioOptionElement\n | HTMLIcSearchBarElement\n | HTMLIcSelectElement\n | HTMLIcSwitchElement\n | HTMLIcTabElement\n | HTMLIcTextFieldElement;\n\nexport type IcStatusVariants =\n | \"neutral\"\n | \"info\"\n | \"warning\"\n | \"error\"\n | \"success\";\n\nexport enum IcInformationStatus {\n Warning = \"warning\",\n Error = \"error\",\n Success = \"success\",\n}\n\nexport type IcSizes = \"medium\" | \"large\" | \"small\";\n\nexport type IcSizesNoLarge = \"medium\" | \"small\";\n\nexport type IcInformationStatusOrEmpty = \"warning\" | \"error\" | \"success\" | \"\";\n\nexport type IcNavType = \"side\" | \"top\" | \"page-header\";\n\n// From: https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete\nexport type IcAutocompleteTypes =\n | \"on\"\n | \"off\"\n | \"name\"\n | \"honorific-prefix\"\n | \"given-name\"\n | \"additional-name\"\n | \"family-name\"\n | \"honorific-suffix\"\n | \"nickname\"\n | \"email\"\n | \"username\"\n | \"new-password\"\n | \"current-password\"\n | \"one-time-code\"\n | \"organization-title\"\n | \"organization\"\n | \"street-address\"\n | \"address-line1\"\n | \"address-line2\"\n | \"address-line3\"\n | \"address-level4\"\n | \"address-level3\"\n | \"address-level2\"\n | \"address-level1\"\n | \"country\"\n | \"country-name\"\n | \"postal-code\"\n | \"cc-name\"\n | \"cc-given-name\"\n | \"cc-additional-name\"\n | \"cc-family-name\"\n | \"cc-family-name\"\n | \"cc-number\"\n | \"cc-exp\"\n | \"cc-exp-month\"\n | \"cc-exp-year\"\n | \"cc-csc\"\n | \"cc-type\"\n | \"transaction-currency\"\n | \"transaction-amount\"\n | \"language\"\n | \"bday\"\n | \"bday-day\"\n | \"bday-month\"\n | \"bday-year\"\n | \"sex\"\n | \"tel\"\n | \"tel-country-code\"\n | \"tel-national\"\n | \"tel-area-code\"\n | \"tel-local\"\n | \"tel-extension\"\n | \"impp\"\n | \"url\"\n | \"photo\";\n\nexport type IcAlignment = \"left\" | \"center\" | \"full-width\";\n\nexport enum IcThemeForegroundEnum {\n Default = \"default\",\n Dark = \"dark\",\n Light = \"light\",\n}\n\nexport type IcThemeMode = \"dark\" | \"light\" | \"inherit\";\n\nexport type IcThemeForeground = \"default\" | \"dark\" | \"light\";\n\nexport type IcThemeForegroundNoDefault = \"dark\" | \"light\";\n\nexport type IcTheme = {\n mode: IcThemeForeground;\n color: IcColorRGB;\n};\n\nexport type IcAdditionalFieldTypes = \"static\" | \"dynamic\";\n\nexport type IcColorRGB = {\n r: number;\n g: number;\n b: number;\n};\n\nexport type IcColorRGBA = IcColorRGB & {\n a: number;\n};\n\nexport type IcActivationTypes = \"automatic\" | \"manual\";\n\nexport type IcAutocorrectStates = \"on\" | \"off\";\n\nexport type IcNavParentDetails = {\n navType: IcNavType | \"\";\n parent: HTMLElement;\n};\n\nexport type IcTypographyVariants =\n | \"h1\"\n | \"h2\"\n | \"h3\"\n | \"h4\"\n | \"subtitle-large\"\n | \"subtitle-small\"\n | \"body\"\n | \"label\"\n | \"label-uppercase\"\n | \"caption\"\n | \"caption-uppercase\"\n | \"code-large\"\n | \"code-small\"\n | \"code-extra-small\"\n | \"badge\"\n | \"badge-small\";\n\n/**\n * @interface IcMenuOption\n * @field {string} A label field to options. Defaults to \"label\", but can have any custom name.\n * @field {string} A value field to options. Defaults to \"value\", but can have any custom name.\n */\nexport interface IcMenuOption {\n description?: string;\n disabled?: boolean;\n recommended?: boolean;\n children?: IcMenuOption[];\n loading?: boolean;\n timedOut?: boolean;\n [key: string]: any;\n element?: {\n component: any;\n ariaLabel: string;\n };\n icon?: any;\n}\n\nexport type IcSearchMatchPositions = \"start\" | \"anywhere\";\n\nexport type IcCallbackFunctionNoReturn = (...args: unknown[]) => void;\n\nexport type IcRequiredPropsTypes =\n | string\n | boolean\n | number\n | HTMLElement\n | IcMenuOption[];\n\nexport type IcPropObject = { prop: IcRequiredPropsTypes; propName: string };\n\nexport type IcRelatedTarget = EventTarget | undefined;\n\nexport type IcOrientation = \"horizontal\" | \"vertical\";\n\nexport type IcEmphasisType = \"filled\" | \"outlined\";\n\nexport interface IcValueEventDetail {\n value: string;\n keyPressed?: string;\n}\nexport interface IcBlurEventDetail {\n relatedTarget: IcRelatedTarget;\n}\n\nexport type IcSelectTypes = \"single\" | \"multi\";\n\nexport type IcSelectMethodTypes = \"auto\" | \"manual\";\n\nexport type IcDeviceSizes = 0 | 576 | 768 | 992 | 1200;\n\ntype RGB = `rgb(${string})`;\ntype RGBA = `rgba(${string})`;\ntype HEX = `#${string}`;\n\nexport type IcColor = RGB | RGBA | HEX;\n"]}
@@ -1,4 +1,15 @@
1
- import { I as IcThemeForegroundEnum } from './types.js';
1
+ var IcInformationStatus;
2
+ (function (IcInformationStatus) {
3
+ IcInformationStatus["Warning"] = "warning";
4
+ IcInformationStatus["Error"] = "error";
5
+ IcInformationStatus["Success"] = "success";
6
+ })(IcInformationStatus || (IcInformationStatus = {}));
7
+ var IcThemeForegroundEnum;
8
+ (function (IcThemeForegroundEnum) {
9
+ IcThemeForegroundEnum["Default"] = "default";
10
+ IcThemeForegroundEnum["Dark"] = "dark";
11
+ IcThemeForegroundEnum["Light"] = "light";
12
+ })(IcThemeForegroundEnum || (IcThemeForegroundEnum = {}));
2
13
 
3
14
  const errorIcon = `<svg aria-labelledby="error-title" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#000000">
4
15
  <title id="error-title">Error</title>
@@ -529,6 +540,6 @@ const checkSlotInChildMutations = (addedNodes, removedNodes, slotName) => {
529
540
  };
530
541
  const isElInAGGrid = (el) => !!el.closest(".ag-cell") && !!el.closest(".ag-root");
531
542
 
532
- export { errorIcon as A, successIcon as B, slotHasContent as C, DEVICE_SIZES as D, IC_DEVICE_SIZES as E, hasClassificationBanner as F, elementOverflowsX as G, getSlotElements as H, IC_INHERITED_ARIA as I, getNavItemParentDetails as J, getSlotContent as K, getSlot as L, capitalize as M, getFilteredMenuOptions as N, handleHiddenFormButtonClick as O, getLabelFromValue as P, debounceEvent as Q, isEmptyString as R, isMobileOrTablet as S, pxToRem as T, getThemeColorBrightness as U, VARIANT_ICONS as V, BLACK_MIN_COLOR_BRIGHTNESS as W, WHITE_MAX_COLOR_BRIGHTNESS as X, isElInAGGrid as a, inheritAttributes as b, checkResizeObserver as c, renderFileHiddenInput as d, isPropDefined as e, checkSlotInChildMutations as f, getThemeFromContext as g, onComponentPropUndefinedChange as h, isSlotUsed as i, convertToRGBA as j, hexToRgba as k, getCssProperty as l, rgbaStrToObj as m, getThemeForegroundColor as n, onComponentRequiredPropUndefined as o, getCurrentDeviceSize as p, addFormResetListener as q, removeDisabledFalse as r, removeFormResetListener as s, renderHiddenInput as t, removeHiddenInput as u, getInputDescribedByText as v, hasValidationStatus as w, getInputHelperTextID as x, getInputValidationTextID as y, warningIcon as z };
543
+ export { successIcon as A, slotHasContent as B, IC_DEVICE_SIZES as C, DEVICE_SIZES as D, hasClassificationBanner as E, elementOverflowsX as F, getSlotElements as G, getNavItemParentDetails as H, IC_INHERITED_ARIA as I, getSlotContent as J, getSlot as K, capitalize as L, getFilteredMenuOptions as M, handleHiddenFormButtonClick as N, getLabelFromValue as O, debounceEvent as P, isEmptyString as Q, isMobileOrTablet as R, getCssProperty as S, pxToRem as T, getThemeColorBrightness as U, VARIANT_ICONS as V, BLACK_MIN_COLOR_BRIGHTNESS as W, WHITE_MAX_COLOR_BRIGHTNESS as X, isElInAGGrid as a, inheritAttributes as b, checkResizeObserver as c, renderFileHiddenInput as d, IcThemeForegroundEnum as e, checkSlotInChildMutations as f, getThemeFromContext as g, onComponentPropUndefinedChange as h, isSlotUsed as i, convertToRGBA as j, getThemeForegroundColor as k, isPropDefined as l, getCurrentDeviceSize as m, addFormResetListener as n, onComponentRequiredPropUndefined as o, removeFormResetListener as p, renderHiddenInput as q, removeDisabledFalse as r, removeHiddenInput as s, getInputDescribedByText as t, hasValidationStatus as u, getInputHelperTextID as v, getInputValidationTextID as w, IcInformationStatus as x, warningIcon as y, errorIcon as z };
533
544
 
534
545
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"file":"helpers.js","mappings":"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","names":[],"sources":["src/utils/constants.ts","src/utils/helpers.ts"],"sourcesContent":["import errorIcon from \"../assets/error-icon.svg\";\nimport infoIcon from \"../assets/info-icon.svg\";\nimport neutralIcon from \"../assets/neutral-icon.svg\";\nimport successIcon from \"../assets/success-icon.svg\";\nimport warningIcon from \"../assets/warning-icon.svg\";\n\n// Global status icons\nexport const VARIANT_ICONS = {\n neutral: {\n icon: neutralIcon,\n ariaLabel: \"Neutral\",\n },\n info: {\n icon: infoIcon,\n ariaLabel: \"For your information\",\n },\n warning: {\n icon: warningIcon,\n ariaLabel: \"Warning\",\n },\n error: {\n icon: errorIcon,\n ariaLabel: \"Error\",\n },\n success: {\n icon: successIcon,\n ariaLabel: \"Success\",\n },\n};\n\n// Global ARIA attributes\nexport const IC_INHERITED_ARIA = [\n \"aria-atomic\",\n \"aria-autocomplete\",\n \"aria-busy\",\n \"aria-controls\",\n \"aria-current\",\n \"aria-describedby\",\n \"aria-description\",\n \"aria-details\",\n \"aria-disabled\",\n \"aria-dropeffect\",\n \"aria-errormessage\",\n \"aria-expanded\",\n \"aria-flowto\",\n \"aria-grabbed\",\n \"aria-haspopup\",\n \"aria-hidden\",\n \"aria-invalid\",\n \"aria-keyshortcuts\",\n \"aria-label\",\n \"aria-labelledby\",\n \"aria-live\",\n \"aria-owns\",\n \"aria-relevant\",\n \"aria-roledescription\",\n];\n\nexport const IC_DEVICE_SIZES = {\n XS: 576,\n S: 768,\n M: 992,\n L: 1200,\n XL: 99999,\n};\n\nexport const IC_BLOCK_COLOR_COMPONENTS = [\n \"ic-hero\",\n \"ic-top-navigation\",\n \"ic-footer\",\n \"ic-side-navigation\",\n \"ic-alert\",\n];\n\nexport const IC_FIXED_COLOR_COMPONENTS = [\"ic-alert\"];\n\nexport interface IcColorExceptions {\n [details: string]: string[];\n}\n\nexport const IC_BLOCK_COLOR_EXCEPTIONS: IcColorExceptions = {\n \"ic-alert\": [\"ic-link\"],\n};\n\n/* Range within which the chosen theme colour would not have a sufficient brightness difference with either of the black or white foreground colours\n * The brightness difference must be greater than 125 to provide good colour visibility\n * Calculated by:\n * - Using the brightness formula for both colours: https://www.w3.org/TR/AERT/#color-contrast\n * - Adding 125 to the brightness of the black foreground colour - RGB(11, 12, 12)\n * - Subtracting 125 from the brightness of the white foreground colour - RGB(255, 255, 255)\n */\nexport const BLACK_MIN_COLOR_BRIGHTNESS = 136.701;\nexport const WHITE_MAX_COLOR_BRIGHTNESS = 130;\n","import { EventEmitter } from \"@stencil/core\";\nimport {\n IcCallbackFunctionNoReturn,\n IcInformationStatusOrEmpty,\n IcNavParentDetails,\n IcPropObject,\n IcSearchMatchPositions,\n IcColorRGBA,\n IcDeviceSizes,\n IcColor,\n} from \"./types\";\n\nimport {\n IcMenuOption,\n IcThemeForeground,\n IcThemeForegroundEnum,\n} from \"../utils/types\";\nimport {\n IC_BLOCK_COLOR_COMPONENTS,\n IC_BLOCK_COLOR_EXCEPTIONS,\n IC_FIXED_COLOR_COMPONENTS,\n} from \"./constants\";\n\nconst DARK_MODE_THRESHOLD = 133.3505;\nconst icInput = \"ic-input\";\nconst linkIcInput = \"input.ic-input\";\n\n/**\n * converts an enum of strings into an array of strings\n */\nexport const stringEnumToArray = (\n theEnum: Record<string, string | number>\n): string[] => {\n const arr: string[] = [];\n Object.values(theEnum).forEach((val) => {\n if (isNaN(Number(val))) {\n const str = val as string;\n arr.push(str);\n }\n });\n return arr;\n};\n\n/**\n * Used to inherit global attributes set on the host. Called in componentWillLoad and assigned\n * to a variable that is later used in the render function.\n *\n * This does not need to be reactive as changing attributes on the host element\n * does not trigger a re-render.\n */\nexport const inheritAttributes = (\n element: HTMLElement,\n attributes: string[] = []\n): { [key: string]: string } => {\n const attributeObject: { [key: string]: string } = {};\n\n attributes.forEach((attr) => {\n if (element.hasAttribute(attr)) {\n const value = element.getAttribute(attr);\n if (value !== null) {\n attributeObject[attr] = value;\n }\n element.removeAttribute(attr);\n }\n });\n\n return attributeObject;\n};\n\nexport const debounceEvent = (\n event: EventEmitter,\n wait: number\n): EventEmitter => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const original = (event as any)._original || event;\n return {\n _original: event,\n emit: debounce(original.emit.bind(original), wait),\n } as EventEmitter;\n};\n\nexport const debounce = (\n func: (...args: unknown[]) => void,\n wait = 0\n): unknown => {\n let timer: ReturnType<typeof setTimeout>;\n return (...args: unknown[]) => {\n clearTimeout(timer);\n timer = setTimeout(func, wait, ...args);\n };\n};\n\n/**\n * This method is used to add a hidden input to a host element that contains\n * a Shadow DOM. It does not add the input inside of the Shadow root which\n * allows it to be picked up inside of forms. It should contain the same\n * values as the host element.\n *\n * @param always Add a hidden input even if the container does not use Shadow\n * @param container The element where the input will be added\n * @param name The name of the input\n * @param value The value of the input\n * @param disabled If true, the input is disabled\n */\nexport const renderHiddenInput = (\n always: boolean,\n container: HTMLElement,\n name: string,\n value: string | Date | undefined | null,\n disabled: boolean\n): void => {\n if (name !== undefined && (always || hasShadowDom(container))) {\n const inputs = container.querySelectorAll(linkIcInput);\n const inputEls = Array.from(inputs);\n const filtered = inputEls.filter((el) => container === el.parentElement);\n\n let input = filtered[0] as HTMLInputElement;\n if (input === null || input === undefined) {\n input = container.ownerDocument.createElement(\"input\");\n input.type = \"hidden\";\n input.classList.add(icInput);\n container.appendChild(input);\n }\n input.disabled = disabled;\n input.name = name;\n\n if (value instanceof Date) {\n input.value = value ? value.toISOString() : null;\n } else {\n input.value = value || \"\";\n }\n }\n};\n\n/**\n * This method is used to add a hidden file input to a host element that contains\n * a Shadow DOM. It does not add the input inside of the Shadow root which\n * allows it to be picked up inside of forms. It should contain the same\n * values as the host element.\n *\n * @param event: The event that is emitted once a file is selected.\n * @param container The element where the input will be added\n * @param multiple If true, multiple files can be selected\n * @param name The name of the input\n * @param value The value of the input\n * @param disabled If true, the input is disabled\n * @param accept A string of the accepted files\n */\nexport const renderFileHiddenInput = (\n event: EventEmitter,\n container: HTMLElement,\n multiple: boolean,\n name: string,\n value: FileList | undefined | null,\n disabled: boolean,\n accept: string\n): void => {\n if (name !== undefined && hasShadowDom(container)) {\n const inputs = container.querySelectorAll(linkIcInput);\n const inputEls = Array.from(inputs);\n const filtered = inputEls.filter((el) => container === el.parentElement);\n\n let input = filtered[0] as HTMLInputElement;\n if (input === null || input === undefined) {\n input = container.ownerDocument.createElement(\"input\");\n input.classList.add(icInput);\n container.appendChild(input);\n }\n input.type = \"file\";\n input.hidden = true;\n input.multiple = multiple;\n input.name = name;\n input.files = value;\n input.disabled = disabled;\n input.accept = accept;\n input.onchange = () => {\n event.emit(input.files);\n };\n input.click();\n }\n};\n\nexport const removeHiddenInput = (container: HTMLElement): void => {\n const inputs = container.querySelectorAll(\"input.ic-input\");\n const inputEls = Array.from(inputs);\n const filtered = inputEls.filter((el) => container === el.parentElement);\n const input = filtered[0] as HTMLInputElement;\n input?.remove();\n};\n\nexport const hasShadowDom = (el: HTMLElement): boolean =>\n !!el.shadowRoot && !!el.attachShadow;\n\nexport const getInputHelperTextID = (id: string): string => id + \"-helper-text\";\n\nexport const getInputValidationTextID = (id: string): string =>\n id + \"-validation-text\";\n\nexport const getInputDescribedByText = (\n inputId: string,\n helperText: boolean,\n validationText: boolean\n): string =>\n `${helperText ? getInputHelperTextID(inputId) : \"\"} ${\n validationText ? getInputValidationTextID(inputId) : \"\"\n }`.trim();\n\n/**\n * This method helps to understand the context in which a component exists,\n * to assist with choosing appropriate foreground colours to use. For example,\n * this method will help you use the 'white' version of a button if it's within\n * a block colour element using white foreground text.\n *\n * This only works for components/elements passed via <slot> and not if they\n * are part of an IC component.\n *\n * \"\"\n * @returns IcThemeForeground depending on the context\n */\nexport const getThemeFromContext = (\n el: Element,\n themeFromEvent: IcThemeForeground = null\n): IcThemeForeground => {\n const parentElement =\n el.parentElement || (<ShadowRoot>el.getRootNode()).host.parentElement;\n const blockColorParent = parentElement.closest(\n IC_BLOCK_COLOR_COMPONENTS.join(\",\")\n );\n\n // If within a block color component\n if (blockColorParent !== null) {\n const parentTag = blockColorParent.tagName.toLowerCase();\n const currentTag = el.tagName.toLowerCase();\n\n if (IC_BLOCK_COLOR_EXCEPTIONS[parentTag]?.includes(currentTag)) {\n return IcThemeForegroundEnum.Default;\n } else if (\n themeFromEvent !== null &&\n !IC_FIXED_COLOR_COMPONENTS.includes(parentTag)\n ) {\n return themeFromEvent;\n } else if (\n blockColorParent.classList.contains(IcThemeForegroundEnum.Dark)\n ) {\n return IcThemeForegroundEnum.Dark;\n }\n\n return IcThemeForegroundEnum.Light;\n }\n\n return IcThemeForegroundEnum.Default;\n};\n\n/**\n * Checks if the current device is a mobile or tablet device.\n * @returns {boolean} Returns true if the device is a mobile or tablet device, otherwise returns false.\n */\nexport const isMobileOrTablet = (): boolean =>\n \"maxTouchPoints\" in navigator && \"userAgent\" in navigator\n ? navigator.maxTouchPoints > 0 &&\n /iPad|iPhone|iPod|Android|webOS|BlackBerry|IEMobile|Opera Mini/i.test(\n navigator.userAgent\n )\n : false;\n\n/**\n * Will create a button within the lightDOM which interacts with the parent form.\n * This is required as buttons within the shadowDOM will not invoke a submit or reset\n *\n * @param form - parent form element which contains shadowDom button\n * @param button - shadowDOM button\n */\nexport const handleHiddenFormButtonClick = (\n form: HTMLFormElement,\n button: HTMLIcButtonElement | HTMLButtonElement\n): void => {\n const hiddenFormButton = document.createElement(\"button\");\n\n hiddenFormButton.setAttribute(\"type\", button.type);\n hiddenFormButton.style.display = \"none\";\n\n form.appendChild(hiddenFormButton);\n\n hiddenFormButton.click();\n hiddenFormButton.remove();\n};\n\nexport const isEmptyString = (value: string): boolean =>\n value ? value.trim().length === 0 : true;\n\n// A helper function that checks if a prop has been defined\nexport const isPropDefined = (prop: string): string | null =>\n prop !== undefined ? prop : null;\n\n/**\n * Extracts the label using the value from an object. Requires the object to have a label and value property.\n * @param value - value from object\n * @param options - list of menu items\n * @returns - label corresponding to value\n */\nexport const getLabelFromValue = (\n value: string,\n options: IcMenuOption[],\n valueField = \"value\",\n labelField = \"label\"\n): string | undefined => {\n const ungroupedOptions: IcMenuOption[] = [];\n if (options.length > 0 && options.map) {\n options.map((option) => {\n if (option.children) {\n option.children.map((option: IcMenuOption) =>\n ungroupedOptions.push(option)\n );\n } else {\n ungroupedOptions.push(option);\n }\n });\n const matchingValue = ungroupedOptions.find(\n (option) => option[valueField] === value\n );\n if (matchingValue !== undefined) return matchingValue[labelField];\n }\n\n return undefined;\n};\n\n/**\n * Filters the options based on the search string.\n * @param options - array of options\n * @param includeDescriptions - determines whether option descriptions are included when filtering options\n * @param searchString - string used to filter the options\n * @param position - whether the search string matches the start of or anywhere in the options\n * @returns filtered array of options\n */\nexport const getFilteredMenuOptions = (\n options: IcMenuOption[],\n includeDescriptions: boolean,\n searchString: string,\n position: IcSearchMatchPositions,\n labelField = \"label\"\n): IcMenuOption[] =>\n options.filter((option) => {\n const label: string = option[labelField].toLowerCase();\n const description = option.description?.toLowerCase();\n const lowerSearchString = searchString.toLowerCase();\n\n return position === \"anywhere\"\n ? includeDescriptions\n ? label.includes(lowerSearchString) ||\n description?.includes(lowerSearchString)\n : label.includes(lowerSearchString)\n : includeDescriptions\n ? label.startsWith(lowerSearchString) ||\n description?.startsWith(lowerSearchString)\n : label.startsWith(lowerSearchString);\n });\n\nexport const deviceSizeMatches = (size: number): boolean =>\n window.matchMedia(`(max-width: ${size}px)`).matches;\n\nexport const getCurrentDeviceSize = (): number => {\n if (deviceSizeMatches(DEVICE_SIZES.S)) {\n return DEVICE_SIZES.S;\n }\n if (deviceSizeMatches(DEVICE_SIZES.M)) {\n return DEVICE_SIZES.M;\n }\n if (deviceSizeMatches(DEVICE_SIZES.L)) {\n return DEVICE_SIZES.L;\n }\n if (deviceSizeMatches(DEVICE_SIZES.XL)) {\n return DEVICE_SIZES.XL;\n }\n //fallback needed as all of above get initialised to 0 in jest tests\n return DEVICE_SIZES.UNDEFINED;\n};\n\nexport const getCssProperty = (cssVar: string): string =>\n getComputedStyle(document.documentElement).getPropertyValue(cssVar);\n\n/**\n * Returns the brightness of the theme colour, calculated by using the theme RGB CSS values by:\n * - Multiplying each RGB value by a set number: https://www.w3.org/TR/AERT/#color-contrast\n * - Adding them together and dividing by 1000\n * This is a similar calculation to its CSS counterpart: \"--ic-theme-text\"\n * @returns number representing the brightness of the theme colour\n */\nexport const getThemeColorBrightness = (): number => {\n const themeRed = getCssProperty(\"--ic-theme-primary-r\");\n const themeGreen = getCssProperty(\"--ic-theme-primary-g\");\n const themeBlue = getCssProperty(\"--ic-theme-primary-b\");\n return (\n (parseInt(themeRed) * 299 +\n parseInt(themeGreen) * 587 +\n parseInt(themeBlue) * 114) /\n 1000\n );\n};\n\n/**\n * Returns if dark or light foreground colors should be used for color contrast reasons\n * @returns \"dark\" or \"light\"\n * @param brightness - Optional custom brightness value. Defaults to `getThemeColorBrightness`\n */\nexport const getThemeForegroundColor = (\n brightness = getThemeColorBrightness()\n): IcThemeForeground =>\n brightness > DARK_MODE_THRESHOLD\n ? IcThemeForegroundEnum.Dark\n : IcThemeForegroundEnum.Light;\n\nexport const getSlot = (element: HTMLElement, name: string): Element | null => {\n if (element && element.querySelector) {\n return element.querySelector(`[slot=\"${name}\"]`);\n }\n return null;\n};\n\nexport const slotHasContent = (element: HTMLElement, name: string): boolean =>\n getSlot(element, name) !== null;\n\nexport const getSlotContent = (\n element: HTMLElement,\n name: string\n): Element[] | NodeListOf<ChildNode> | null => {\n const slot = getSlot(element, name);\n if (slot) {\n return getSlotElements(slot);\n }\n\n return null;\n};\n\nexport const getSlotElements = (\n slot: Element\n): NodeListOf<ChildNode> | Element[] => {\n const slotContent = slot.firstElementChild as HTMLSlotElement;\n\n if (slotContent !== null) {\n const elements = slotContent.assignedElements\n ? slotContent.assignedElements()\n : slotContent.childNodes;\n return elements.length ? elements : slot.tagName ? [slot] : null;\n } else {\n //check for single element\n return slot === null ? null : [slot];\n }\n};\n\nexport const getNavItemParentDetails = ({\n parentElement,\n}: HTMLElement): IcNavParentDetails => {\n let navType: IcNavParentDetails = { navType: \"\", parent: null };\n switch (parentElement.tagName) {\n case \"IC-NAVIGATION-GROUP\":\n navType = getNavItemParentDetails(parentElement);\n break;\n case \"IC-TOP-NAVIGATION\":\n navType = { navType: \"top\", parent: parentElement };\n break;\n case \"IC-SIDE-NAVIGATION\":\n navType = { navType: \"side\", parent: parentElement };\n break;\n case \"IC-PAGE-HEADER\":\n navType = { navType: \"page-header\", parent: null };\n break;\n }\n return navType;\n};\n\nexport const DEVICE_SIZES = {\n XS: Number(\n getCssProperty(\"--ic-breakpoint-xs\").replace(\"px\", \"\")\n ) as IcDeviceSizes, // 0\n S: Number(\n getCssProperty(\"--ic-breakpoint-sm\").replace(\"px\", \"\")\n ) as IcDeviceSizes, // 576\n M: Number(\n getCssProperty(\"--ic-breakpoint-md\").replace(\"px\", \"\")\n ) as IcDeviceSizes, // 768\n L: Number(\n getCssProperty(\"--ic-breakpoint-lg\").replace(\"px\", \"\")\n ) as IcDeviceSizes, // 992\n XL: Number(\n getCssProperty(\"--ic-breakpoint-xl\").replace(\"px\", \"\")\n ) as IcDeviceSizes, // 1200\n UNDEFINED: 1200,\n};\n\nexport const hasValidationStatus = (\n status: IcInformationStatusOrEmpty,\n disabled: boolean\n): boolean => !!status && !disabled;\n\nexport const isSlotUsed = (\n { children }: HTMLElement,\n slotName: string\n): boolean =>\n Array.from(children).some((child) => child.getAttribute(\"slot\") === slotName);\n\n// added as a common method to allow detection of gatsby hydration issue, where (camelCase) props are initially undefined & then update\n// with a value. Allows a callback function to be executed when this is the case\nexport const onComponentPropUndefinedChange = (\n oldValue: string | undefined,\n newValue: string | undefined,\n callback: IcCallbackFunctionNoReturn\n): void => {\n if (oldValue === undefined && newValue !== oldValue) {\n callback();\n }\n};\n\nexport const onComponentRequiredPropUndefined = (\n props: IcPropObject[],\n component: string\n): void => {\n props.forEach(({ prop, propName }) => {\n if (prop === null || prop === undefined) {\n console.error(\n `No ${propName} specified for ${component} component - prop '${propName}' (web components) / '${kebabToCamelCase(\n propName\n )}' (react) required`\n );\n }\n });\n};\n\nexport const kebabToCamelCase = (kebabCase: string): string =>\n kebabCase\n .toLowerCase()\n .split(\"-\")\n .map((word, index) =>\n index === 0\n ? word\n : `${word.substring(0, 1).toUpperCase()}${word.substring(1)}`\n )\n .join(\"\");\n\nexport const checkResizeObserver = (\n callbackFn: IcCallbackFunctionNoReturn\n): void => {\n if (\n typeof window !== \"undefined\" &&\n typeof window.ResizeObserver !== \"undefined\"\n ) {\n callbackFn();\n }\n};\n\nconst hex2dec = (v: string) => parseInt(v, 16);\n\nexport const hexToRgba = (hex: string): IcColorRGBA => {\n const hexChars = hex\n .replace(\"#\", \"\")\n .split(\"\")\n .map((char) => char.repeat(2));\n return {\n r: hex2dec(hex.length === 4 ? hexChars[0] : hex.slice(1, 3)),\n g: hex2dec(hex.length === 4 ? hexChars[1] : hex.slice(3, 5)),\n b: hex2dec(hex.length === 4 ? hexChars[2] : hex.slice(5)),\n a: 1,\n };\n};\n\nexport const rgbaStrToObj = (rgbaStr: string): IcColorRGBA => {\n const isRGBA = rgbaStr.slice(3, 4).toLowerCase() === \"a\";\n const rgbValues = rgbaStr\n .substring(isRGBA ? 5 : 4, rgbaStr.length - 1)\n .replace(/ /g, \"\")\n .split(\",\")\n .map(Number);\n return {\n r: rgbValues[0],\n g: rgbValues[1],\n b: rgbValues[2],\n a: isRGBA ? rgbValues[3] : 1,\n };\n};\n\nexport const elementOverflowsX = ({\n scrollWidth,\n clientWidth,\n}: HTMLElement): boolean => scrollWidth > clientWidth;\n\nexport const hasClassificationBanner = (): boolean =>\n !!document.querySelector(\"ic-classification-banner:not([inline='true'])\");\n\nexport const addFormResetListener = (\n el: HTMLElement,\n callbackFn: IcCallbackFunctionNoReturn\n): void => {\n el.closest(\"FORM\")?.addEventListener(\"reset\", callbackFn);\n};\n\nexport const removeFormResetListener = (\n el: HTMLElement,\n callbackFn: IcCallbackFunctionNoReturn\n): void => {\n el.closest(\"FORM\")?.removeEventListener(\"reset\", callbackFn);\n};\n\nexport const pxToRem = (px: string, base = 16): string =>\n `${(1 / base) * parseInt(px)}rem`;\n\nexport const removeDisabledFalse = (\n disabled: boolean,\n element: HTMLElement\n): void => {\n if (!disabled) {\n element.removeAttribute(\"disabled\");\n }\n};\n\nexport const isMacDevice = (): boolean =>\n window.navigator.userAgent.toUpperCase().indexOf(\"MAC\") >= 0;\n\nexport const isNumeric = (value: string): boolean => /^-?\\d+$/.test(value);\n\nexport async function waitForHydration(): Promise<boolean> {\n const elements = document.getElementsByTagName(\"*\");\n\n for (let i = 0; i < elements.length; i++) {\n if (elements[i].tagName.startsWith(\"IC-\")) {\n if (elements[i].classList.contains(\"hydrated\")) {\n return true;\n }\n } else {\n return false;\n }\n }\n\n return false;\n}\n\nexport const convertToRGBA = (color: IcColor): IcColorRGBA | null => {\n const firstChar = color?.slice(0, 1).toLowerCase();\n return firstChar === \"#\"\n ? hexToRgba(color)\n : firstChar === \"r\"\n ? rgbaStrToObj(color)\n : null;\n};\n\nexport const capitalize = (text: string): string =>\n text.charAt(0).toUpperCase() + text.slice(1);\n\nexport const checkSlotInChildMutations = (\n addedNodes: NodeList,\n removedNodes: NodeList,\n slotName: string | string[]\n): boolean => {\n const hasSlot = (nodeList: NodeList) =>\n Array.from(nodeList).some((node) =>\n Array.isArray(slotName)\n ? slotName.some((name) => (node as Element).slot === name)\n : (node as Element).slot === slotName\n );\n return hasSlot(addedNodes) || hasSlot(removedNodes);\n};\n\nexport const isElInAGGrid = (el: HTMLElement): boolean =>\n !!el.closest(\".ag-cell\") && !!el.closest(\".ag-root\");\n"],"version":3}
1
+ {"file":"helpers.js","mappings":"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","names":[],"sources":["src/utils/types.ts","src/utils/constants.ts","src/utils/helpers.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nexport type IcFocusableComponents =\n | HTMLIcBreadcrumbElement\n | HTMLIcButtonElement\n | HTMLIcCardVerticalElement\n | HTMLIcCheckboxElement\n | HTMLIcChipElement\n | HTMLIcLinkElement\n | HTMLIcNavigationButtonElement\n | HTMLIcNavigationGroupElement\n | HTMLIcNavigationItemElement\n | HTMLIcRadioOptionElement\n | HTMLIcSearchBarElement\n | HTMLIcSelectElement\n | HTMLIcSwitchElement\n | HTMLIcTabElement\n | HTMLIcTextFieldElement;\n\nexport type IcStatusVariants =\n | \"neutral\"\n | \"info\"\n | \"warning\"\n | \"error\"\n | \"success\";\n\nexport enum IcInformationStatus {\n Warning = \"warning\",\n Error = \"error\",\n Success = \"success\",\n}\n\nexport type IcSizes = \"medium\" | \"large\" | \"small\";\n\nexport type IcSizesNoLarge = \"medium\" | \"small\";\n\nexport type IcInformationStatusOrEmpty = \"warning\" | \"error\" | \"success\" | \"\";\n\nexport type IcNavType = \"side\" | \"top\" | \"page-header\";\n\n// From: https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete\nexport type IcAutocompleteTypes =\n | \"on\"\n | \"off\"\n | \"name\"\n | \"honorific-prefix\"\n | \"given-name\"\n | \"additional-name\"\n | \"family-name\"\n | \"honorific-suffix\"\n | \"nickname\"\n | \"email\"\n | \"username\"\n | \"new-password\"\n | \"current-password\"\n | \"one-time-code\"\n | \"organization-title\"\n | \"organization\"\n | \"street-address\"\n | \"address-line1\"\n | \"address-line2\"\n | \"address-line3\"\n | \"address-level4\"\n | \"address-level3\"\n | \"address-level2\"\n | \"address-level1\"\n | \"country\"\n | \"country-name\"\n | \"postal-code\"\n | \"cc-name\"\n | \"cc-given-name\"\n | \"cc-additional-name\"\n | \"cc-family-name\"\n | \"cc-family-name\"\n | \"cc-number\"\n | \"cc-exp\"\n | \"cc-exp-month\"\n | \"cc-exp-year\"\n | \"cc-csc\"\n | \"cc-type\"\n | \"transaction-currency\"\n | \"transaction-amount\"\n | \"language\"\n | \"bday\"\n | \"bday-day\"\n | \"bday-month\"\n | \"bday-year\"\n | \"sex\"\n | \"tel\"\n | \"tel-country-code\"\n | \"tel-national\"\n | \"tel-area-code\"\n | \"tel-local\"\n | \"tel-extension\"\n | \"impp\"\n | \"url\"\n | \"photo\";\n\nexport type IcAlignment = \"left\" | \"center\" | \"full-width\";\n\nexport enum IcThemeForegroundEnum {\n Default = \"default\",\n Dark = \"dark\",\n Light = \"light\",\n}\n\nexport type IcThemeMode = \"dark\" | \"light\" | \"inherit\";\n\nexport type IcThemeForeground = \"default\" | \"dark\" | \"light\";\n\nexport type IcThemeForegroundNoDefault = \"dark\" | \"light\";\n\nexport type IcTheme = {\n mode: IcThemeForeground;\n color: IcColorRGB;\n};\n\nexport type IcAdditionalFieldTypes = \"static\" | \"dynamic\";\n\nexport type IcColorRGB = {\n r: number;\n g: number;\n b: number;\n};\n\nexport type IcColorRGBA = IcColorRGB & {\n a: number;\n};\n\nexport type IcActivationTypes = \"automatic\" | \"manual\";\n\nexport type IcAutocorrectStates = \"on\" | \"off\";\n\nexport type IcNavParentDetails = {\n navType: IcNavType | \"\";\n parent: HTMLElement;\n};\n\nexport type IcTypographyVariants =\n | \"h1\"\n | \"h2\"\n | \"h3\"\n | \"h4\"\n | \"subtitle-large\"\n | \"subtitle-small\"\n | \"body\"\n | \"label\"\n | \"label-uppercase\"\n | \"caption\"\n | \"caption-uppercase\"\n | \"code-large\"\n | \"code-small\"\n | \"code-extra-small\"\n | \"badge\"\n | \"badge-small\";\n\n/**\n * @interface IcMenuOption\n * @field {string} A label field to options. Defaults to \"label\", but can have any custom name.\n * @field {string} A value field to options. Defaults to \"value\", but can have any custom name.\n */\nexport interface IcMenuOption {\n description?: string;\n disabled?: boolean;\n recommended?: boolean;\n children?: IcMenuOption[];\n loading?: boolean;\n timedOut?: boolean;\n [key: string]: any;\n element?: {\n component: any;\n ariaLabel: string;\n };\n icon?: any;\n}\n\nexport type IcSearchMatchPositions = \"start\" | \"anywhere\";\n\nexport type IcCallbackFunctionNoReturn = (...args: unknown[]) => void;\n\nexport type IcRequiredPropsTypes =\n | string\n | boolean\n | number\n | HTMLElement\n | IcMenuOption[];\n\nexport type IcPropObject = { prop: IcRequiredPropsTypes; propName: string };\n\nexport type IcRelatedTarget = EventTarget | undefined;\n\nexport type IcOrientation = \"horizontal\" | \"vertical\";\n\nexport type IcEmphasisType = \"filled\" | \"outlined\";\n\nexport interface IcValueEventDetail {\n value: string;\n keyPressed?: string;\n}\nexport interface IcBlurEventDetail {\n relatedTarget: IcRelatedTarget;\n}\n\nexport type IcSelectTypes = \"single\" | \"multi\";\n\nexport type IcSelectMethodTypes = \"auto\" | \"manual\";\n\nexport type IcDeviceSizes = 0 | 576 | 768 | 992 | 1200;\n\ntype RGB = `rgb(${string})`;\ntype RGBA = `rgba(${string})`;\ntype HEX = `#${string}`;\n\nexport type IcColor = RGB | RGBA | HEX;\n","import errorIcon from \"../assets/error-icon.svg\";\nimport infoIcon from \"../assets/info-icon.svg\";\nimport neutralIcon from \"../assets/neutral-icon.svg\";\nimport successIcon from \"../assets/success-icon.svg\";\nimport warningIcon from \"../assets/warning-icon.svg\";\n\n// Global status icons\nexport const VARIANT_ICONS = {\n neutral: {\n icon: neutralIcon,\n ariaLabel: \"Neutral\",\n },\n info: {\n icon: infoIcon,\n ariaLabel: \"For your information\",\n },\n warning: {\n icon: warningIcon,\n ariaLabel: \"Warning\",\n },\n error: {\n icon: errorIcon,\n ariaLabel: \"Error\",\n },\n success: {\n icon: successIcon,\n ariaLabel: \"Success\",\n },\n};\n\n// Global ARIA attributes\nexport const IC_INHERITED_ARIA = [\n \"aria-atomic\",\n \"aria-autocomplete\",\n \"aria-busy\",\n \"aria-controls\",\n \"aria-current\",\n \"aria-describedby\",\n \"aria-description\",\n \"aria-details\",\n \"aria-disabled\",\n \"aria-dropeffect\",\n \"aria-errormessage\",\n \"aria-expanded\",\n \"aria-flowto\",\n \"aria-grabbed\",\n \"aria-haspopup\",\n \"aria-hidden\",\n \"aria-invalid\",\n \"aria-keyshortcuts\",\n \"aria-label\",\n \"aria-labelledby\",\n \"aria-live\",\n \"aria-owns\",\n \"aria-relevant\",\n \"aria-roledescription\",\n];\n\nexport const IC_DEVICE_SIZES = {\n XS: 576,\n S: 768,\n M: 992,\n L: 1200,\n XL: 99999,\n};\n\nexport const IC_BLOCK_COLOR_COMPONENTS = [\n \"ic-hero\",\n \"ic-top-navigation\",\n \"ic-footer\",\n \"ic-side-navigation\",\n \"ic-alert\",\n];\n\nexport const IC_FIXED_COLOR_COMPONENTS = [\"ic-alert\"];\n\nexport interface IcColorExceptions {\n [details: string]: string[];\n}\n\nexport const IC_BLOCK_COLOR_EXCEPTIONS: IcColorExceptions = {\n \"ic-alert\": [\"ic-link\"],\n};\n\n/* Range within which the chosen theme colour would not have a sufficient brightness difference with either of the black or white foreground colours\n * The brightness difference must be greater than 125 to provide good colour visibility\n * Calculated by:\n * - Using the brightness formula for both colours: https://www.w3.org/TR/AERT/#color-contrast\n * - Adding 125 to the brightness of the black foreground colour - RGB(11, 12, 12)\n * - Subtracting 125 from the brightness of the white foreground colour - RGB(255, 255, 255)\n */\nexport const BLACK_MIN_COLOR_BRIGHTNESS = 136.701;\nexport const WHITE_MAX_COLOR_BRIGHTNESS = 130;\n","import { EventEmitter } from \"@stencil/core\";\nimport {\n IcCallbackFunctionNoReturn,\n IcInformationStatusOrEmpty,\n IcNavParentDetails,\n IcPropObject,\n IcSearchMatchPositions,\n IcColorRGBA,\n IcDeviceSizes,\n IcColor,\n} from \"./types\";\n\nimport {\n IcMenuOption,\n IcThemeForeground,\n IcThemeForegroundEnum,\n} from \"../utils/types\";\nimport {\n IC_BLOCK_COLOR_COMPONENTS,\n IC_BLOCK_COLOR_EXCEPTIONS,\n IC_FIXED_COLOR_COMPONENTS,\n} from \"./constants\";\n\nconst DARK_MODE_THRESHOLD = 133.3505;\nconst icInput = \"ic-input\";\nconst linkIcInput = \"input.ic-input\";\n\n/**\n * converts an enum of strings into an array of strings\n */\nexport const stringEnumToArray = (\n theEnum: Record<string, string | number>\n): string[] => {\n const arr: string[] = [];\n Object.values(theEnum).forEach((val) => {\n if (isNaN(Number(val))) {\n const str = val as string;\n arr.push(str);\n }\n });\n return arr;\n};\n\n/**\n * Used to inherit global attributes set on the host. Called in componentWillLoad and assigned\n * to a variable that is later used in the render function.\n *\n * This does not need to be reactive as changing attributes on the host element\n * does not trigger a re-render.\n */\nexport const inheritAttributes = (\n element: HTMLElement,\n attributes: string[] = []\n): { [key: string]: string } => {\n const attributeObject: { [key: string]: string } = {};\n\n attributes.forEach((attr) => {\n if (element.hasAttribute(attr)) {\n const value = element.getAttribute(attr);\n if (value !== null) {\n attributeObject[attr] = value;\n }\n element.removeAttribute(attr);\n }\n });\n\n return attributeObject;\n};\n\nexport const debounceEvent = (\n event: EventEmitter,\n wait: number\n): EventEmitter => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const original = (event as any)._original || event;\n return {\n _original: event,\n emit: debounce(original.emit.bind(original), wait),\n } as EventEmitter;\n};\n\nexport const debounce = (\n func: (...args: unknown[]) => void,\n wait = 0\n): unknown => {\n let timer: ReturnType<typeof setTimeout>;\n return (...args: unknown[]) => {\n clearTimeout(timer);\n timer = setTimeout(func, wait, ...args);\n };\n};\n\n/**\n * This method is used to add a hidden input to a host element that contains\n * a Shadow DOM. It does not add the input inside of the Shadow root which\n * allows it to be picked up inside of forms. It should contain the same\n * values as the host element.\n *\n * @param always Add a hidden input even if the container does not use Shadow\n * @param container The element where the input will be added\n * @param name The name of the input\n * @param value The value of the input\n * @param disabled If true, the input is disabled\n */\nexport const renderHiddenInput = (\n always: boolean,\n container: HTMLElement,\n name: string,\n value: string | Date | undefined | null,\n disabled: boolean\n): void => {\n if (name !== undefined && (always || hasShadowDom(container))) {\n const inputs = container.querySelectorAll(linkIcInput);\n const inputEls = Array.from(inputs);\n const filtered = inputEls.filter((el) => container === el.parentElement);\n\n let input = filtered[0] as HTMLInputElement;\n if (input === null || input === undefined) {\n input = container.ownerDocument.createElement(\"input\");\n input.type = \"hidden\";\n input.classList.add(icInput);\n container.appendChild(input);\n }\n input.disabled = disabled;\n input.name = name;\n\n if (value instanceof Date) {\n input.value = value ? value.toISOString() : null;\n } else {\n input.value = value || \"\";\n }\n }\n};\n\n/**\n * This method is used to add a hidden file input to a host element that contains\n * a Shadow DOM. It does not add the input inside of the Shadow root which\n * allows it to be picked up inside of forms. It should contain the same\n * values as the host element.\n *\n * @param event: The event that is emitted once a file is selected.\n * @param container The element where the input will be added\n * @param multiple If true, multiple files can be selected\n * @param name The name of the input\n * @param value The value of the input\n * @param disabled If true, the input is disabled\n * @param accept A string of the accepted files\n */\nexport const renderFileHiddenInput = (\n event: EventEmitter,\n container: HTMLElement,\n multiple: boolean,\n name: string,\n value: FileList | undefined | null,\n disabled: boolean,\n accept: string\n): void => {\n if (name !== undefined && hasShadowDom(container)) {\n const inputs = container.querySelectorAll(linkIcInput);\n const inputEls = Array.from(inputs);\n const filtered = inputEls.filter((el) => container === el.parentElement);\n\n let input = filtered[0] as HTMLInputElement;\n if (input === null || input === undefined) {\n input = container.ownerDocument.createElement(\"input\");\n input.classList.add(icInput);\n container.appendChild(input);\n }\n input.type = \"file\";\n input.hidden = true;\n input.multiple = multiple;\n input.name = name;\n input.files = value;\n input.disabled = disabled;\n input.accept = accept;\n input.onchange = () => {\n event.emit(input.files);\n };\n input.click();\n }\n};\n\nexport const removeHiddenInput = (container: HTMLElement): void => {\n const inputs = container.querySelectorAll(\"input.ic-input\");\n const inputEls = Array.from(inputs);\n const filtered = inputEls.filter((el) => container === el.parentElement);\n const input = filtered[0] as HTMLInputElement;\n input?.remove();\n};\n\nexport const hasShadowDom = (el: HTMLElement): boolean =>\n !!el.shadowRoot && !!el.attachShadow;\n\nexport const getInputHelperTextID = (id: string): string => id + \"-helper-text\";\n\nexport const getInputValidationTextID = (id: string): string =>\n id + \"-validation-text\";\n\nexport const getInputDescribedByText = (\n inputId: string,\n helperText: boolean,\n validationText: boolean\n): string =>\n `${helperText ? getInputHelperTextID(inputId) : \"\"} ${\n validationText ? getInputValidationTextID(inputId) : \"\"\n }`.trim();\n\n/**\n * This method helps to understand the context in which a component exists,\n * to assist with choosing appropriate foreground colours to use. For example,\n * this method will help you use the 'white' version of a button if it's within\n * a block colour element using white foreground text.\n *\n * This only works for components/elements passed via <slot> and not if they\n * are part of an IC component.\n *\n * \"\"\n * @returns IcThemeForeground depending on the context\n */\nexport const getThemeFromContext = (\n el: Element,\n themeFromEvent: IcThemeForeground = null\n): IcThemeForeground => {\n const parentElement =\n el.parentElement || (<ShadowRoot>el.getRootNode()).host.parentElement;\n const blockColorParent = parentElement.closest(\n IC_BLOCK_COLOR_COMPONENTS.join(\",\")\n );\n\n // If within a block color component\n if (blockColorParent !== null) {\n const parentTag = blockColorParent.tagName.toLowerCase();\n const currentTag = el.tagName.toLowerCase();\n\n if (IC_BLOCK_COLOR_EXCEPTIONS[parentTag]?.includes(currentTag)) {\n return IcThemeForegroundEnum.Default;\n } else if (\n themeFromEvent !== null &&\n !IC_FIXED_COLOR_COMPONENTS.includes(parentTag)\n ) {\n return themeFromEvent;\n } else if (\n blockColorParent.classList.contains(IcThemeForegroundEnum.Dark)\n ) {\n return IcThemeForegroundEnum.Dark;\n }\n\n return IcThemeForegroundEnum.Light;\n }\n\n return IcThemeForegroundEnum.Default;\n};\n\n/**\n * Checks if the current device is a mobile or tablet device.\n * @returns {boolean} Returns true if the device is a mobile or tablet device, otherwise returns false.\n */\nexport const isMobileOrTablet = (): boolean =>\n \"maxTouchPoints\" in navigator && \"userAgent\" in navigator\n ? navigator.maxTouchPoints > 0 &&\n /iPad|iPhone|iPod|Android|webOS|BlackBerry|IEMobile|Opera Mini/i.test(\n navigator.userAgent\n )\n : false;\n\n/**\n * Will create a button within the lightDOM which interacts with the parent form.\n * This is required as buttons within the shadowDOM will not invoke a submit or reset\n *\n * @param form - parent form element which contains shadowDom button\n * @param button - shadowDOM button\n */\nexport const handleHiddenFormButtonClick = (\n form: HTMLFormElement,\n button: HTMLIcButtonElement | HTMLButtonElement\n): void => {\n const hiddenFormButton = document.createElement(\"button\");\n\n hiddenFormButton.setAttribute(\"type\", button.type);\n hiddenFormButton.style.display = \"none\";\n\n form.appendChild(hiddenFormButton);\n\n hiddenFormButton.click();\n hiddenFormButton.remove();\n};\n\nexport const isEmptyString = (value: string): boolean =>\n value ? value.trim().length === 0 : true;\n\n// A helper function that checks if a prop has been defined\nexport const isPropDefined = (prop: string): string | null =>\n prop !== undefined ? prop : null;\n\n/**\n * Extracts the label using the value from an object. Requires the object to have a label and value property.\n * @param value - value from object\n * @param options - list of menu items\n * @returns - label corresponding to value\n */\nexport const getLabelFromValue = (\n value: string,\n options: IcMenuOption[],\n valueField = \"value\",\n labelField = \"label\"\n): string | undefined => {\n const ungroupedOptions: IcMenuOption[] = [];\n if (options.length > 0 && options.map) {\n options.map((option) => {\n if (option.children) {\n option.children.map((option: IcMenuOption) =>\n ungroupedOptions.push(option)\n );\n } else {\n ungroupedOptions.push(option);\n }\n });\n const matchingValue = ungroupedOptions.find(\n (option) => option[valueField] === value\n );\n if (matchingValue !== undefined) return matchingValue[labelField];\n }\n\n return undefined;\n};\n\n/**\n * Filters the options based on the search string.\n * @param options - array of options\n * @param includeDescriptions - determines whether option descriptions are included when filtering options\n * @param searchString - string used to filter the options\n * @param position - whether the search string matches the start of or anywhere in the options\n * @returns filtered array of options\n */\nexport const getFilteredMenuOptions = (\n options: IcMenuOption[],\n includeDescriptions: boolean,\n searchString: string,\n position: IcSearchMatchPositions,\n labelField = \"label\"\n): IcMenuOption[] =>\n options.filter((option) => {\n const label: string = option[labelField].toLowerCase();\n const description = option.description?.toLowerCase();\n const lowerSearchString = searchString.toLowerCase();\n\n return position === \"anywhere\"\n ? includeDescriptions\n ? label.includes(lowerSearchString) ||\n description?.includes(lowerSearchString)\n : label.includes(lowerSearchString)\n : includeDescriptions\n ? label.startsWith(lowerSearchString) ||\n description?.startsWith(lowerSearchString)\n : label.startsWith(lowerSearchString);\n });\n\nexport const deviceSizeMatches = (size: number): boolean =>\n window.matchMedia(`(max-width: ${size}px)`).matches;\n\nexport const getCurrentDeviceSize = (): number => {\n if (deviceSizeMatches(DEVICE_SIZES.S)) {\n return DEVICE_SIZES.S;\n }\n if (deviceSizeMatches(DEVICE_SIZES.M)) {\n return DEVICE_SIZES.M;\n }\n if (deviceSizeMatches(DEVICE_SIZES.L)) {\n return DEVICE_SIZES.L;\n }\n if (deviceSizeMatches(DEVICE_SIZES.XL)) {\n return DEVICE_SIZES.XL;\n }\n //fallback needed as all of above get initialised to 0 in jest tests\n return DEVICE_SIZES.UNDEFINED;\n};\n\nexport const getCssProperty = (cssVar: string): string =>\n getComputedStyle(document.documentElement).getPropertyValue(cssVar);\n\n/**\n * Returns the brightness of the theme colour, calculated by using the theme RGB CSS values by:\n * - Multiplying each RGB value by a set number: https://www.w3.org/TR/AERT/#color-contrast\n * - Adding them together and dividing by 1000\n * This is a similar calculation to its CSS counterpart: \"--ic-theme-text\"\n * @returns number representing the brightness of the theme colour\n */\nexport const getThemeColorBrightness = (): number => {\n const themeRed = getCssProperty(\"--ic-theme-primary-r\");\n const themeGreen = getCssProperty(\"--ic-theme-primary-g\");\n const themeBlue = getCssProperty(\"--ic-theme-primary-b\");\n return (\n (parseInt(themeRed) * 299 +\n parseInt(themeGreen) * 587 +\n parseInt(themeBlue) * 114) /\n 1000\n );\n};\n\n/**\n * Returns if dark or light foreground colors should be used for color contrast reasons\n * @returns \"dark\" or \"light\"\n * @param brightness - Optional custom brightness value. Defaults to `getThemeColorBrightness`\n */\nexport const getThemeForegroundColor = (\n brightness = getThemeColorBrightness()\n): IcThemeForeground =>\n brightness > DARK_MODE_THRESHOLD\n ? IcThemeForegroundEnum.Dark\n : IcThemeForegroundEnum.Light;\n\nexport const getSlot = (element: HTMLElement, name: string): Element | null => {\n if (element && element.querySelector) {\n return element.querySelector(`[slot=\"${name}\"]`);\n }\n return null;\n};\n\nexport const slotHasContent = (element: HTMLElement, name: string): boolean =>\n getSlot(element, name) !== null;\n\nexport const getSlotContent = (\n element: HTMLElement,\n name: string\n): Element[] | NodeListOf<ChildNode> | null => {\n const slot = getSlot(element, name);\n if (slot) {\n return getSlotElements(slot);\n }\n\n return null;\n};\n\nexport const getSlotElements = (\n slot: Element\n): NodeListOf<ChildNode> | Element[] => {\n const slotContent = slot.firstElementChild as HTMLSlotElement;\n\n if (slotContent !== null) {\n const elements = slotContent.assignedElements\n ? slotContent.assignedElements()\n : slotContent.childNodes;\n return elements.length ? elements : slot.tagName ? [slot] : null;\n } else {\n //check for single element\n return slot === null ? null : [slot];\n }\n};\n\nexport const getNavItemParentDetails = ({\n parentElement,\n}: HTMLElement): IcNavParentDetails => {\n let navType: IcNavParentDetails = { navType: \"\", parent: null };\n switch (parentElement.tagName) {\n case \"IC-NAVIGATION-GROUP\":\n navType = getNavItemParentDetails(parentElement);\n break;\n case \"IC-TOP-NAVIGATION\":\n navType = { navType: \"top\", parent: parentElement };\n break;\n case \"IC-SIDE-NAVIGATION\":\n navType = { navType: \"side\", parent: parentElement };\n break;\n case \"IC-PAGE-HEADER\":\n navType = { navType: \"page-header\", parent: null };\n break;\n }\n return navType;\n};\n\nexport const DEVICE_SIZES = {\n XS: Number(\n getCssProperty(\"--ic-breakpoint-xs\").replace(\"px\", \"\")\n ) as IcDeviceSizes, // 0\n S: Number(\n getCssProperty(\"--ic-breakpoint-sm\").replace(\"px\", \"\")\n ) as IcDeviceSizes, // 576\n M: Number(\n getCssProperty(\"--ic-breakpoint-md\").replace(\"px\", \"\")\n ) as IcDeviceSizes, // 768\n L: Number(\n getCssProperty(\"--ic-breakpoint-lg\").replace(\"px\", \"\")\n ) as IcDeviceSizes, // 992\n XL: Number(\n getCssProperty(\"--ic-breakpoint-xl\").replace(\"px\", \"\")\n ) as IcDeviceSizes, // 1200\n UNDEFINED: 1200,\n};\n\nexport const hasValidationStatus = (\n status: IcInformationStatusOrEmpty,\n disabled: boolean\n): boolean => !!status && !disabled;\n\nexport const isSlotUsed = (\n { children }: HTMLElement,\n slotName: string\n): boolean =>\n Array.from(children).some((child) => child.getAttribute(\"slot\") === slotName);\n\n// added as a common method to allow detection of gatsby hydration issue, where (camelCase) props are initially undefined & then update\n// with a value. Allows a callback function to be executed when this is the case\nexport const onComponentPropUndefinedChange = (\n oldValue: string | undefined,\n newValue: string | undefined,\n callback: IcCallbackFunctionNoReturn\n): void => {\n if (oldValue === undefined && newValue !== oldValue) {\n callback();\n }\n};\n\nexport const onComponentRequiredPropUndefined = (\n props: IcPropObject[],\n component: string\n): void => {\n props.forEach(({ prop, propName }) => {\n if (prop === null || prop === undefined) {\n console.error(\n `No ${propName} specified for ${component} component - prop '${propName}' (web components) / '${kebabToCamelCase(\n propName\n )}' (react) required`\n );\n }\n });\n};\n\nexport const kebabToCamelCase = (kebabCase: string): string =>\n kebabCase\n .toLowerCase()\n .split(\"-\")\n .map((word, index) =>\n index === 0\n ? word\n : `${word.substring(0, 1).toUpperCase()}${word.substring(1)}`\n )\n .join(\"\");\n\nexport const checkResizeObserver = (\n callbackFn: IcCallbackFunctionNoReturn\n): void => {\n if (\n typeof window !== \"undefined\" &&\n typeof window.ResizeObserver !== \"undefined\"\n ) {\n callbackFn();\n }\n};\n\nconst hex2dec = (v: string) => parseInt(v, 16);\n\nexport const hexToRgba = (hex: string): IcColorRGBA => {\n const hexChars = hex\n .replace(\"#\", \"\")\n .split(\"\")\n .map((char) => char.repeat(2));\n return {\n r: hex2dec(hex.length === 4 ? hexChars[0] : hex.slice(1, 3)),\n g: hex2dec(hex.length === 4 ? hexChars[1] : hex.slice(3, 5)),\n b: hex2dec(hex.length === 4 ? hexChars[2] : hex.slice(5)),\n a: 1,\n };\n};\n\nexport const rgbaStrToObj = (rgbaStr: string): IcColorRGBA => {\n const isRGBA = rgbaStr.slice(3, 4).toLowerCase() === \"a\";\n const rgbValues = rgbaStr\n .substring(isRGBA ? 5 : 4, rgbaStr.length - 1)\n .replace(/ /g, \"\")\n .split(\",\")\n .map(Number);\n return {\n r: rgbValues[0],\n g: rgbValues[1],\n b: rgbValues[2],\n a: isRGBA ? rgbValues[3] : 1,\n };\n};\n\nexport const elementOverflowsX = ({\n scrollWidth,\n clientWidth,\n}: HTMLElement): boolean => scrollWidth > clientWidth;\n\nexport const hasClassificationBanner = (): boolean =>\n !!document.querySelector(\"ic-classification-banner:not([inline='true'])\");\n\nexport const addFormResetListener = (\n el: HTMLElement,\n callbackFn: IcCallbackFunctionNoReturn\n): void => {\n el.closest(\"FORM\")?.addEventListener(\"reset\", callbackFn);\n};\n\nexport const removeFormResetListener = (\n el: HTMLElement,\n callbackFn: IcCallbackFunctionNoReturn\n): void => {\n el.closest(\"FORM\")?.removeEventListener(\"reset\", callbackFn);\n};\n\nexport const pxToRem = (px: string, base = 16): string =>\n `${(1 / base) * parseInt(px)}rem`;\n\nexport const removeDisabledFalse = (\n disabled: boolean,\n element: HTMLElement\n): void => {\n if (!disabled) {\n element.removeAttribute(\"disabled\");\n }\n};\n\nexport const isMacDevice = (): boolean =>\n window.navigator.userAgent.toUpperCase().indexOf(\"MAC\") >= 0;\n\nexport const isNumeric = (value: string): boolean => /^-?\\d+$/.test(value);\n\nexport async function waitForHydration(): Promise<boolean> {\n const elements = document.getElementsByTagName(\"*\");\n\n for (let i = 0; i < elements.length; i++) {\n if (elements[i].tagName.startsWith(\"IC-\")) {\n if (elements[i].classList.contains(\"hydrated\")) {\n return true;\n }\n } else {\n return false;\n }\n }\n\n return false;\n}\n\nexport const convertToRGBA = (color: IcColor): IcColorRGBA | null => {\n const firstChar = color?.slice(0, 1).toLowerCase();\n return firstChar === \"#\"\n ? hexToRgba(color)\n : firstChar === \"r\"\n ? rgbaStrToObj(color)\n : null;\n};\n\nexport const capitalize = (text: string): string =>\n text.charAt(0).toUpperCase() + text.slice(1);\n\nexport const checkSlotInChildMutations = (\n addedNodes: NodeList,\n removedNodes: NodeList,\n slotName: string | string[]\n): boolean => {\n const hasSlot = (nodeList: NodeList) =>\n Array.from(nodeList).some((node) =>\n Array.isArray(slotName)\n ? slotName.some((name) => (node as Element).slot === name)\n : (node as Element).slot === slotName\n );\n return hasSlot(addedNodes) || hasSlot(removedNodes);\n};\n\nexport const isElInAGGrid = (el: HTMLElement): boolean =>\n !!el.closest(\".ag-cell\") && !!el.closest(\".ag-root\");\n"],"version":3}