@ukic/web-components 3.0.0-alpha.9 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1061) hide show
  1. package/README.md +2 -1
  2. package/dist/cjs/app-globals-3a1e7e63.js +7 -0
  3. package/dist/cjs/app-globals-3a1e7e63.js.map +1 -0
  4. package/dist/cjs/core.cjs.js +13 -11
  5. package/dist/cjs/core.cjs.js.map +1 -1
  6. package/dist/cjs/{helpers-eca4c27e.js → helpers-a0a128bd.js} +71 -26
  7. package/dist/cjs/helpers-a0a128bd.js.map +1 -0
  8. package/dist/cjs/ic-accordion-group.cjs.entry.js +31 -14
  9. package/dist/cjs/ic-accordion-group.cjs.entry.js.map +1 -1
  10. package/dist/cjs/ic-accordion.cjs.entry.js +65 -42
  11. package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
  12. package/dist/cjs/ic-alert.cjs.entry.js +38 -17
  13. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  14. package/dist/cjs/ic-back-to-top.cjs.entry.js +29 -15
  15. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  16. package/dist/cjs/ic-badge.cjs.entry.js +60 -18
  17. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  18. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +53 -37
  19. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
  20. package/dist/cjs/ic-breadcrumb.cjs.entry.js +38 -23
  21. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  22. package/dist/cjs/ic-button_3.cjs.entry.js +304 -144
  23. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  24. package/dist/cjs/ic-card-vertical.cjs.entry.js +54 -33
  25. package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -1
  26. package/dist/cjs/ic-checkbox-group.cjs.entry.js +33 -10
  27. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  28. package/dist/cjs/ic-checkbox.cjs.entry.js +49 -30
  29. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  30. package/dist/cjs/ic-chip.cjs.entry.js +45 -24
  31. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  32. package/dist/cjs/ic-classification-banner.cjs.entry.js +22 -6
  33. package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
  34. package/dist/cjs/ic-data-list.cjs.entry.js +11 -5
  35. package/dist/cjs/ic-data-list.cjs.entry.js.map +1 -1
  36. package/dist/cjs/ic-data-row.cjs.entry.js +28 -18
  37. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  38. package/dist/cjs/ic-dialog.cjs.entry.js +164 -115
  39. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  40. package/dist/cjs/ic-divider.cjs.entry.js +35 -15
  41. package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
  42. package/dist/cjs/ic-empty-state.cjs.entry.js +19 -11
  43. package/dist/cjs/ic-empty-state.cjs.entry.js.map +1 -1
  44. package/dist/cjs/ic-footer-link-group.cjs.entry.js +8 -8
  45. package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
  46. package/dist/cjs/ic-footer-link.cjs.entry.js +12 -11
  47. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  48. package/dist/cjs/ic-footer.cjs.entry.js +32 -19
  49. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  50. package/dist/cjs/ic-hero.cjs.entry.js +29 -17
  51. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  52. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +32 -20
  53. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  54. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +126 -68
  55. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  56. package/dist/cjs/ic-input-label_2.cjs.entry.js +45 -17
  57. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  58. package/dist/cjs/ic-link.cjs.entry.js +29 -22
  59. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  60. package/dist/cjs/ic-menu-group.cjs.entry.js +5 -5
  61. package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
  62. package/dist/cjs/ic-menu-item.cjs.entry.js +21 -19
  63. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  64. package/dist/cjs/ic-navigation-button.cjs.entry.js +26 -20
  65. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  66. package/dist/cjs/ic-navigation-group.cjs.entry.js +63 -39
  67. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  68. package/dist/cjs/ic-navigation-item.cjs.entry.js +70 -49
  69. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  70. package/dist/cjs/ic-navigation-menu.cjs.entry.js +55 -33
  71. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  72. package/dist/cjs/ic-page-header.cjs.entry.js +49 -28
  73. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  74. package/dist/cjs/ic-pagination-item.cjs.entry.js +28 -15
  75. package/dist/cjs/ic-pagination-item.cjs.entry.js.map +1 -1
  76. package/dist/cjs/ic-pagination.cjs.entry.js +61 -28
  77. package/dist/cjs/ic-pagination.cjs.entry.js.map +1 -1
  78. package/dist/cjs/ic-popover-menu.cjs.entry.js +74 -42
  79. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  80. package/dist/cjs/ic-radio-group.cjs.entry.js +55 -29
  81. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  82. package/dist/cjs/ic-radio-option.cjs.entry.js +36 -24
  83. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  84. package/dist/cjs/ic-search-bar.cjs.entry.js +154 -64
  85. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  86. package/dist/cjs/ic-section-container.cjs.entry.js +12 -5
  87. package/dist/cjs/ic-section-container.cjs.entry.js.map +1 -1
  88. package/dist/cjs/ic-select.cjs.entry.js +234 -137
  89. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  90. package/dist/cjs/ic-side-navigation.cjs.entry.js +107 -71
  91. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  92. package/dist/cjs/ic-skeleton.cjs.entry.js +11 -4
  93. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  94. package/dist/cjs/ic-skip-link.cjs.entry.js +55 -0
  95. package/dist/cjs/ic-skip-link.cjs.entry.js.map +1 -0
  96. package/dist/cjs/ic-status-tag.cjs.entry.js +26 -7
  97. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  98. package/dist/cjs/ic-step.cjs.entry.js +35 -33
  99. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  100. package/dist/cjs/ic-stepper.cjs.entry.js +50 -35
  101. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  102. package/dist/cjs/ic-switch.cjs.entry.js +50 -22
  103. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  104. package/dist/cjs/ic-tab-context.cjs.entry.js +45 -26
  105. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  106. package/dist/cjs/ic-tab-group.cjs.entry.js +14 -9
  107. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  108. package/dist/cjs/ic-tab-panel.cjs.entry.js +16 -12
  109. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  110. package/dist/cjs/ic-tab.cjs.entry.js +22 -16
  111. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  112. package/dist/cjs/ic-text-field.cjs.entry.js +205 -76
  113. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  114. package/dist/cjs/ic-theme.cjs.entry.js +13 -7
  115. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  116. package/dist/cjs/ic-toast-region.cjs.entry.js +2 -3
  117. package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -1
  118. package/dist/cjs/ic-toast.cjs.entry.js +30 -22
  119. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  120. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +61 -29
  121. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  122. package/dist/cjs/ic-toggle-button.cjs.entry.js +82 -50
  123. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  124. package/dist/cjs/ic-top-navigation.cjs.entry.js +59 -34
  125. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  126. package/dist/cjs/ic-typography.cjs.entry.js +53 -27
  127. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  128. package/dist/cjs/index-d337cd8a.js +2611 -0
  129. package/dist/cjs/index-d337cd8a.js.map +1 -0
  130. package/dist/cjs/loader.cjs.js +5 -3
  131. package/dist/cjs/loader.cjs.js.map +1 -1
  132. package/dist/collection/collection-manifest.json +6 -5
  133. package/dist/collection/components/ic-accordion/ic-accordion.js +80 -46
  134. package/dist/collection/components/ic-accordion/ic-accordion.js.map +1 -1
  135. package/dist/collection/components/ic-accordion/ic-accordion.stories.js +611 -0
  136. package/dist/collection/components/ic-accordion-group/ic-accordion-group.js +49 -21
  137. package/dist/collection/components/ic-accordion-group/ic-accordion-group.js.map +1 -1
  138. package/dist/collection/components/ic-alert/ic-alert.css +1 -1
  139. package/dist/collection/components/ic-alert/ic-alert.js +58 -22
  140. package/dist/collection/components/ic-alert/ic-alert.js.map +1 -1
  141. package/dist/collection/components/ic-alert/ic-alert.stories.js +271 -0
  142. package/dist/collection/components/ic-back-to-top/ic-back-to-top.css +49 -18
  143. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js +59 -14
  144. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js.map +1 -1
  145. package/dist/collection/components/ic-back-to-top/ic-back-to-top.stories.js +216 -0
  146. package/dist/collection/components/ic-back-to-top/ic-back-to-top.types.js.map +1 -1
  147. package/dist/collection/components/ic-badge/ic-badge.css +4 -0
  148. package/dist/collection/components/ic-badge/ic-badge.js +104 -29
  149. package/dist/collection/components/ic-badge/ic-badge.js.map +1 -1
  150. package/dist/collection/components/ic-badge/ic-badge.stories.js +1092 -0
  151. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.css +14 -0
  152. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js +51 -25
  153. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js.map +1 -1
  154. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js +63 -40
  155. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js.map +1 -1
  156. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.stories.js +362 -0
  157. package/dist/collection/components/ic-button/ic-button.css +31 -27
  158. package/dist/collection/components/ic-button/ic-button.js +269 -98
  159. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  160. package/dist/collection/components/ic-button/ic-button.stories.js +2387 -0
  161. package/dist/collection/components/ic-card-vertical/ic-card-vertical.css +6 -1
  162. package/dist/collection/components/ic-card-vertical/ic-card-vertical.js +88 -42
  163. package/dist/collection/components/ic-card-vertical/ic-card-vertical.js.map +1 -1
  164. package/dist/collection/components/ic-card-vertical/ic-card-vertical.stories.js +1050 -0
  165. package/dist/collection/components/ic-checkbox/ic-checkbox.css +29 -0
  166. package/dist/collection/components/ic-checkbox/ic-checkbox.js +91 -45
  167. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  168. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.css +4 -0
  169. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +63 -21
  170. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  171. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.stories.js +726 -0
  172. package/dist/collection/components/ic-chip/ic-chip.css +2 -2
  173. package/dist/collection/components/ic-chip/ic-chip.js +67 -30
  174. package/dist/collection/components/ic-chip/ic-chip.js.map +1 -1
  175. package/dist/collection/components/ic-chip/ic-chip.stories.js +980 -0
  176. package/dist/collection/components/ic-classification-banner/ic-classification-banner.css +4 -0
  177. package/dist/collection/components/ic-classification-banner/ic-classification-banner.js +33 -8
  178. package/dist/collection/components/ic-classification-banner/ic-classification-banner.js.map +1 -1
  179. package/dist/collection/components/ic-classification-banner/ic-classification-banner.stories.js +131 -0
  180. package/dist/collection/components/ic-data-list/ic-data-list.js +18 -7
  181. package/dist/collection/components/ic-data-list/ic-data-list.js.map +1 -1
  182. package/dist/collection/components/ic-data-list/ic-data-list.stories.js +493 -0
  183. package/dist/collection/components/ic-data-row/ic-data-row.js +38 -21
  184. package/dist/collection/components/ic-data-row/ic-data-row.js.map +1 -1
  185. package/dist/collection/components/ic-dialog/ic-dialog.css +0 -6
  186. package/dist/collection/components/ic-dialog/ic-dialog.js +218 -146
  187. package/dist/collection/components/ic-dialog/ic-dialog.js.map +1 -1
  188. package/dist/collection/components/ic-dialog/ic-dialog.stories.js +1118 -0
  189. package/dist/collection/components/ic-divider/ic-divider.css +23 -69
  190. package/dist/collection/components/ic-divider/ic-divider.js +55 -22
  191. package/dist/collection/components/ic-divider/ic-divider.js.map +1 -1
  192. package/dist/collection/components/ic-divider/ic-divider.stories.js +394 -0
  193. package/dist/collection/components/ic-empty-state/ic-empty-state.css +15 -0
  194. package/dist/collection/components/ic-empty-state/ic-empty-state.js +58 -13
  195. package/dist/collection/components/ic-empty-state/ic-empty-state.js.map +1 -1
  196. package/dist/collection/components/ic-empty-state/ic-empty-state.stories.js +404 -0
  197. package/dist/collection/components/ic-footer/ic-footer.js +49 -25
  198. package/dist/collection/components/ic-footer/ic-footer.js.map +1 -1
  199. package/dist/collection/components/ic-footer/ic-footer.stories.js +384 -0
  200. package/dist/collection/components/ic-footer-link/ic-footer-link.css +18 -0
  201. package/dist/collection/components/ic-footer-link/ic-footer-link.js +26 -15
  202. package/dist/collection/components/ic-footer-link/ic-footer-link.js.map +1 -1
  203. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js +6 -5
  204. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js.map +1 -1
  205. package/dist/collection/components/ic-hero/ic-hero.css +1 -1
  206. package/dist/collection/components/ic-hero/ic-hero.js +54 -25
  207. package/dist/collection/components/ic-hero/ic-hero.js.map +1 -1
  208. package/dist/collection/components/ic-hero/ic-hero.stories.js +448 -0
  209. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +40 -21
  210. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js.map +1 -1
  211. package/dist/collection/components/ic-input-component-container/ic-input-component-container.css +11 -1
  212. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +55 -20
  213. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js.map +1 -1
  214. package/dist/collection/components/ic-input-container/ic-input-container.js +16 -6
  215. package/dist/collection/components/ic-input-container/ic-input-container.js.map +1 -1
  216. package/dist/collection/components/ic-input-label/ic-input-label.js +48 -11
  217. package/dist/collection/components/ic-input-label/ic-input-label.js.map +1 -1
  218. package/dist/collection/components/ic-input-validation/ic-input-validation.js +31 -14
  219. package/dist/collection/components/ic-input-validation/ic-input-validation.js.map +1 -1
  220. package/dist/collection/components/ic-link/ic-link.css +17 -8
  221. package/dist/collection/components/ic-link/ic-link.js +49 -28
  222. package/dist/collection/components/ic-link/ic-link.js.map +1 -1
  223. package/dist/collection/components/ic-link/ic-link.stories.js +85 -0
  224. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +124 -66
  225. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js.map +1 -1
  226. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.stories.js +464 -0
  227. package/dist/collection/components/ic-menu/ic-menu.js +136 -74
  228. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  229. package/dist/collection/components/ic-menu/ic-menu.types.js.map +1 -1
  230. package/dist/collection/components/ic-menu-group/ic-menu-group.js +4 -5
  231. package/dist/collection/components/ic-menu-group/ic-menu-group.js.map +1 -1
  232. package/dist/collection/components/ic-menu-item/ic-menu-item.css +1 -0
  233. package/dist/collection/components/ic-menu-item/ic-menu-item.js +53 -28
  234. package/dist/collection/components/ic-menu-item/ic-menu-item.js.map +1 -1
  235. package/dist/collection/components/ic-navigation-button/ic-navigation-button.css +4 -0
  236. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js +44 -23
  237. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js.map +1 -1
  238. package/dist/collection/components/ic-navigation-group/ic-navigation-group.css +47 -49
  239. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +126 -41
  240. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js.map +1 -1
  241. package/dist/collection/components/ic-navigation-group/ic-navigation-group.types.js +2 -0
  242. package/dist/collection/components/ic-navigation-group/ic-navigation-group.types.js.map +1 -0
  243. package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +8 -37
  244. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +107 -63
  245. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -1
  246. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.css +2 -2
  247. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +61 -34
  248. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js.map +1 -1
  249. package/dist/collection/components/ic-page-header/ic-page-header.js +72 -34
  250. package/dist/collection/components/ic-page-header/ic-page-header.js.map +1 -1
  251. package/dist/collection/components/ic-page-header/ic-page-header.stories.js +823 -0
  252. package/dist/collection/components/ic-pagination/ic-pagination.css +10 -2
  253. package/dist/collection/components/ic-pagination/ic-pagination.js +100 -44
  254. package/dist/collection/components/ic-pagination/ic-pagination.js.map +1 -1
  255. package/dist/collection/components/ic-pagination/ic-pagination.stories.js +164 -0
  256. package/dist/collection/components/ic-pagination-item/ic-pagination-item.css +19 -3
  257. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +48 -22
  258. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js.map +1 -1
  259. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +97 -52
  260. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js.map +1 -1
  261. package/dist/collection/components/ic-popover-menu/ic-popover-menu.stories.js +573 -0
  262. package/dist/collection/components/ic-radio-group/ic-radio-group.js +90 -43
  263. package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
  264. package/dist/collection/components/ic-radio-group/ic-radio-group.stories.js +474 -0
  265. package/dist/collection/components/ic-radio-option/ic-radio-option.css +20 -0
  266. package/dist/collection/components/ic-radio-option/ic-radio-option.js +64 -33
  267. package/dist/collection/components/ic-radio-option/ic-radio-option.js.map +1 -1
  268. package/dist/collection/components/ic-search-bar/ic-search-bar.css +6 -13
  269. package/dist/collection/components/ic-search-bar/ic-search-bar.js +252 -101
  270. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  271. package/dist/collection/components/ic-search-bar/ic-search-bar.stories.js +593 -0
  272. package/dist/collection/components/ic-search-bar/ic-search-bar.types.js.map +1 -1
  273. package/dist/collection/components/ic-section-container/ic-section-container.js +15 -5
  274. package/dist/collection/components/ic-section-container/ic-section-container.js.map +1 -1
  275. package/dist/collection/components/ic-section-container/ic-section-container.stories.js +62 -0
  276. package/dist/collection/components/ic-select/ic-select.css +12 -2
  277. package/dist/collection/components/ic-select/ic-select.js +333 -177
  278. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  279. package/dist/collection/components/ic-select/ic-select_(multi).stories.js +892 -0
  280. package/dist/collection/components/ic-select/ic-select_(searchable).stories.js +965 -0
  281. package/dist/collection/components/ic-select/ic-select_(single).stories.js +790 -0
  282. package/dist/collection/components/ic-side-navigation/ic-side-navigation.css +11 -3
  283. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +146 -89
  284. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
  285. package/dist/collection/components/ic-side-navigation/ic-side-navigation.stories.js +2547 -0
  286. package/dist/collection/components/ic-skeleton/ic-skeleton.js +14 -4
  287. package/dist/collection/components/ic-skeleton/ic-skeleton.js.map +1 -1
  288. package/dist/collection/components/ic-skeleton/ic-skeleton.stories.js +143 -0
  289. package/dist/collection/components/ic-skip-link/ic-skip-link.css +46 -0
  290. package/dist/collection/components/ic-skip-link/ic-skip-link.js +203 -0
  291. package/dist/collection/components/ic-skip-link/ic-skip-link.js.map +1 -0
  292. package/dist/collection/components/ic-skip-link/ic-skip-link.stories.js +504 -0
  293. package/dist/collection/components/ic-status-tag/ic-status-tag.css +2 -1
  294. package/dist/collection/components/ic-status-tag/ic-status-tag.js +41 -9
  295. package/dist/collection/components/ic-status-tag/ic-status-tag.js.map +1 -1
  296. package/dist/collection/components/ic-status-tag/ic-status-tag.stories.js +196 -0
  297. package/dist/collection/components/ic-step/ic-step.css +8 -31
  298. package/dist/collection/components/ic-step/ic-step.js +67 -40
  299. package/dist/collection/components/ic-step/ic-step.js.map +1 -1
  300. package/dist/collection/components/ic-stepper/ic-stepper.js +61 -37
  301. package/dist/collection/components/ic-stepper/ic-stepper.js.map +1 -1
  302. package/dist/collection/components/ic-stepper/ic-stepper.stories.js +281 -0
  303. package/dist/collection/components/ic-switch/ic-switch.js +72 -27
  304. package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
  305. package/dist/collection/components/ic-switch/ic-switch.stories.js +149 -0
  306. package/dist/collection/components/ic-tab/ic-tab.css +13 -3
  307. package/dist/collection/components/ic-tab/ic-tab.js +40 -21
  308. package/dist/collection/components/ic-tab/ic-tab.js.map +1 -1
  309. package/dist/collection/components/ic-tab-context/ic-tab-context.js +60 -31
  310. package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -1
  311. package/dist/collection/components/ic-tab-context/ic-tabs.stories.js +316 -0
  312. package/dist/collection/components/ic-tab-group/ic-tab-group.js +21 -9
  313. package/dist/collection/components/ic-tab-group/ic-tab-group.js.map +1 -1
  314. package/dist/collection/components/ic-tab-panel/ic-tab-panel.css +5 -1
  315. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +50 -14
  316. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js.map +1 -1
  317. package/dist/collection/components/ic-text-field/ic-text-field.css +1 -0
  318. package/dist/collection/components/ic-text-field/ic-text-field.js +432 -148
  319. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  320. package/dist/collection/components/ic-text-field/ic-text-field.stories.js +1048 -0
  321. package/dist/collection/components/ic-theme/ic-theme.js +19 -9
  322. package/dist/collection/components/ic-theme/ic-theme.js.map +1 -1
  323. package/dist/collection/components/ic-theme/ic-theme.stories.js +434 -0
  324. package/dist/collection/components/ic-toast/ic-toast.css +1 -1
  325. package/dist/collection/components/ic-toast/ic-toast.js +49 -28
  326. package/dist/collection/components/ic-toast/ic-toast.js.map +1 -1
  327. package/dist/collection/components/ic-toast/ic-toast.stories.js +396 -0
  328. package/dist/collection/components/ic-toast-region/ic-toast-region.js +6 -5
  329. package/dist/collection/components/ic-toast-region/ic-toast-region.js.map +1 -1
  330. package/dist/collection/components/ic-toggle-button/ic-toggle-button.css +8 -17
  331. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js +116 -61
  332. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js.map +1 -1
  333. package/dist/collection/components/ic-toggle-button/ic-toggle-button.stories.js +427 -0
  334. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js +90 -35
  335. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js.map +1 -1
  336. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.stories.js +585 -0
  337. package/dist/collection/components/ic-tooltip/ic-tooltip.js +67 -38
  338. package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
  339. package/dist/collection/components/ic-tooltip/ic-tooltip.stories.js +366 -0
  340. package/dist/collection/components/ic-top-navigation/ic-top-navigation.css +9 -5
  341. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +89 -47
  342. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
  343. package/dist/collection/components/ic-top-navigation/ic-top-navigation.stories.js +1091 -0
  344. package/dist/collection/components/ic-typography/ic-typography.js +73 -32
  345. package/dist/collection/components/ic-typography/ic-typography.js.map +1 -1
  346. package/dist/collection/components/ic-typography/ic-typography.stories.js +447 -0
  347. package/dist/collection/patterns/top-nav-content-footer.stories.js +109 -0
  348. package/dist/collection/patterns/z-index.stories.js +474 -0
  349. package/dist/collection/utils/constants.js +39 -0
  350. package/dist/collection/utils/constants.js.map +1 -1
  351. package/dist/collection/utils/helpers.js +29 -24
  352. package/dist/collection/utils/helpers.js.map +1 -1
  353. package/dist/collection/utils/testa11y.helpers.js +2 -1
  354. package/dist/collection/utils/testa11y.helpers.js.map +1 -1
  355. package/dist/collection/utils/types.js.map +1 -1
  356. package/dist/components/helpers.js +69 -25
  357. package/dist/components/helpers.js.map +1 -1
  358. package/dist/components/ic-accordion-group.js +29 -12
  359. package/dist/components/ic-accordion-group.js.map +1 -1
  360. package/dist/components/ic-accordion.js +63 -40
  361. package/dist/components/ic-accordion.js.map +1 -1
  362. package/dist/components/ic-alert.js +36 -15
  363. package/dist/components/ic-alert.js.map +1 -1
  364. package/dist/components/ic-back-to-top.js +28 -13
  365. package/dist/components/ic-back-to-top.js.map +1 -1
  366. package/dist/components/ic-badge.js +60 -18
  367. package/dist/components/ic-badge.js.map +1 -1
  368. package/dist/components/ic-breadcrumb-group.js +51 -35
  369. package/dist/components/ic-breadcrumb-group.js.map +1 -1
  370. package/dist/components/ic-breadcrumb2.js +36 -21
  371. package/dist/components/ic-breadcrumb2.js.map +1 -1
  372. package/dist/components/ic-button2.js +171 -63
  373. package/dist/components/ic-button2.js.map +1 -1
  374. package/dist/components/ic-card-vertical.js +52 -31
  375. package/dist/components/ic-card-vertical.js.map +1 -1
  376. package/dist/components/ic-checkbox-group.js +31 -8
  377. package/dist/components/ic-checkbox-group.js.map +1 -1
  378. package/dist/components/ic-checkbox.js +47 -28
  379. package/dist/components/ic-checkbox.js.map +1 -1
  380. package/dist/components/ic-chip.js +43 -22
  381. package/dist/components/ic-chip.js.map +1 -1
  382. package/dist/components/ic-classification-banner.js +21 -5
  383. package/dist/components/ic-classification-banner.js.map +1 -1
  384. package/dist/components/ic-data-list.js +10 -4
  385. package/dist/components/ic-data-list.js.map +1 -1
  386. package/dist/components/ic-data-row.js +27 -17
  387. package/dist/components/ic-data-row.js.map +1 -1
  388. package/dist/components/ic-dialog.js +165 -116
  389. package/dist/components/ic-dialog.js.map +1 -1
  390. package/dist/components/ic-divider2.js +33 -13
  391. package/dist/components/ic-divider2.js.map +1 -1
  392. package/dist/components/ic-empty-state.js +19 -10
  393. package/dist/components/ic-empty-state.js.map +1 -1
  394. package/dist/components/ic-footer-link-group.js +6 -6
  395. package/dist/components/ic-footer-link-group.js.map +1 -1
  396. package/dist/components/ic-footer-link.js +10 -9
  397. package/dist/components/ic-footer-link.js.map +1 -1
  398. package/dist/components/ic-footer.js +31 -18
  399. package/dist/components/ic-footer.js.map +1 -1
  400. package/dist/components/ic-hero.js +27 -15
  401. package/dist/components/ic-hero.js.map +1 -1
  402. package/dist/components/ic-horizontal-scroll2.js +30 -18
  403. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  404. package/dist/components/ic-input-component-container2.js +31 -9
  405. package/dist/components/ic-input-component-container2.js.map +1 -1
  406. package/dist/components/ic-input-container2.js +12 -5
  407. package/dist/components/ic-input-container2.js.map +1 -1
  408. package/dist/components/ic-input-label2.js +28 -8
  409. package/dist/components/ic-input-label2.js.map +1 -1
  410. package/dist/components/ic-input-validation2.js +15 -7
  411. package/dist/components/ic-input-validation2.js.map +1 -1
  412. package/dist/components/ic-link2.js +27 -20
  413. package/dist/components/ic-link2.js.map +1 -1
  414. package/dist/components/ic-loading-indicator2.js +89 -54
  415. package/dist/components/ic-loading-indicator2.js.map +1 -1
  416. package/dist/components/ic-menu-group.js +3 -3
  417. package/dist/components/ic-menu-group.js.map +1 -1
  418. package/dist/components/ic-menu-item2.js +19 -17
  419. package/dist/components/ic-menu-item2.js.map +1 -1
  420. package/dist/components/ic-menu2.js +81 -52
  421. package/dist/components/ic-menu2.js.map +1 -1
  422. package/dist/components/ic-navigation-button.js +24 -18
  423. package/dist/components/ic-navigation-button.js.map +1 -1
  424. package/dist/components/ic-navigation-group.js +64 -39
  425. package/dist/components/ic-navigation-group.js.map +1 -1
  426. package/dist/components/ic-navigation-item.js +69 -48
  427. package/dist/components/ic-navigation-item.js.map +1 -1
  428. package/dist/components/ic-navigation-menu2.js +54 -32
  429. package/dist/components/ic-navigation-menu2.js.map +1 -1
  430. package/dist/components/ic-page-header.js +48 -27
  431. package/dist/components/ic-page-header.js.map +1 -1
  432. package/dist/components/ic-pagination-item2.js +26 -13
  433. package/dist/components/ic-pagination-item2.js.map +1 -1
  434. package/dist/components/ic-pagination.js +59 -26
  435. package/dist/components/ic-pagination.js.map +1 -1
  436. package/dist/components/ic-popover-menu.js +72 -40
  437. package/dist/components/ic-popover-menu.js.map +1 -1
  438. package/dist/components/ic-radio-group.js +53 -27
  439. package/dist/components/ic-radio-group.js.map +1 -1
  440. package/dist/components/ic-radio-option.js +34 -22
  441. package/dist/components/ic-radio-option.js.map +1 -1
  442. package/dist/components/ic-search-bar.js +152 -62
  443. package/dist/components/ic-search-bar.js.map +1 -1
  444. package/dist/components/ic-section-container2.js +11 -4
  445. package/dist/components/ic-section-container2.js.map +1 -1
  446. package/dist/components/ic-select.js +232 -135
  447. package/dist/components/ic-select.js.map +1 -1
  448. package/dist/components/ic-side-navigation.js +106 -70
  449. package/dist/components/ic-side-navigation.js.map +1 -1
  450. package/dist/components/ic-skeleton.js +10 -3
  451. package/dist/components/ic-skeleton.js.map +1 -1
  452. package/dist/components/ic-skip-link.d.ts +11 -0
  453. package/dist/components/ic-skip-link.js +83 -0
  454. package/dist/components/ic-skip-link.js.map +1 -0
  455. package/dist/components/ic-status-tag.js +24 -5
  456. package/dist/components/ic-status-tag.js.map +1 -1
  457. package/dist/components/ic-step.js +33 -31
  458. package/dist/components/ic-step.js.map +1 -1
  459. package/dist/components/ic-stepper.js +48 -33
  460. package/dist/components/ic-stepper.js.map +1 -1
  461. package/dist/components/ic-switch.js +48 -20
  462. package/dist/components/ic-switch.js.map +1 -1
  463. package/dist/components/ic-tab-context.js +44 -25
  464. package/dist/components/ic-tab-context.js.map +1 -1
  465. package/dist/components/ic-tab-group.js +12 -7
  466. package/dist/components/ic-tab-group.js.map +1 -1
  467. package/dist/components/ic-tab-panel.js +16 -11
  468. package/dist/components/ic-tab-panel.js.map +1 -1
  469. package/dist/components/ic-tab.js +20 -14
  470. package/dist/components/ic-tab.js.map +1 -1
  471. package/dist/components/ic-text-field.js +208 -75
  472. package/dist/components/ic-text-field.js.map +1 -1
  473. package/dist/components/ic-theme.js +12 -6
  474. package/dist/components/ic-theme.js.map +1 -1
  475. package/dist/components/ic-toast-region.js +1 -2
  476. package/dist/components/ic-toast-region.js.map +1 -1
  477. package/dist/components/ic-toast.js +29 -21
  478. package/dist/components/ic-toast.js.map +1 -1
  479. package/dist/components/ic-toggle-button-group.js +59 -27
  480. package/dist/components/ic-toggle-button-group.js.map +1 -1
  481. package/dist/components/ic-toggle-button.js +81 -49
  482. package/dist/components/ic-toggle-button.js.map +1 -1
  483. package/dist/components/ic-tooltip2.js +42 -25
  484. package/dist/components/ic-tooltip2.js.map +1 -1
  485. package/dist/components/ic-top-navigation.js +58 -33
  486. package/dist/components/ic-top-navigation.js.map +1 -1
  487. package/dist/components/ic-typography2.js +51 -25
  488. package/dist/components/ic-typography2.js.map +1 -1
  489. package/dist/core/core.css +395 -264
  490. package/dist/core/core.esm.js +1 -1
  491. package/dist/core/core.esm.js.map +1 -1
  492. package/dist/core/index.esm.js.map +1 -1
  493. package/dist/core/p-06d97789.entry.js +2 -0
  494. package/dist/core/p-06d97789.entry.js.map +1 -0
  495. package/dist/core/{p-27274ca8.entry.js → p-071f4748.entry.js} +2 -2
  496. package/dist/core/p-071f4748.entry.js.map +1 -0
  497. package/dist/core/p-09070f61.entry.js +2 -0
  498. package/dist/core/p-09070f61.entry.js.map +1 -0
  499. package/dist/core/p-0c0ac69d.entry.js +2 -0
  500. package/dist/core/p-0c0ac69d.entry.js.map +1 -0
  501. package/dist/core/p-0d016565.entry.js +2 -0
  502. package/dist/core/p-0d016565.entry.js.map +1 -0
  503. package/dist/core/p-0e96d4d8.entry.js +2 -0
  504. package/dist/core/p-0e96d4d8.entry.js.map +1 -0
  505. package/dist/core/p-10cd26dc.entry.js +2 -0
  506. package/dist/core/p-10cd26dc.entry.js.map +1 -0
  507. package/dist/core/{p-a87d13b3.entry.js → p-110486f0.entry.js} +2 -2
  508. package/dist/core/p-110486f0.entry.js.map +1 -0
  509. package/dist/core/p-116ad73d.entry.js +2 -0
  510. package/dist/core/p-116ad73d.entry.js.map +1 -0
  511. package/dist/core/{p-8b554299.entry.js → p-1171a945.entry.js} +2 -2
  512. package/dist/core/p-1171a945.entry.js.map +1 -0
  513. package/dist/core/{p-0cb72d37.entry.js → p-17cf7b50.entry.js} +2 -2
  514. package/dist/core/p-17cf7b50.entry.js.map +1 -0
  515. package/dist/core/p-1ac08e6d.entry.js +2 -0
  516. package/dist/core/p-1ac08e6d.entry.js.map +1 -0
  517. package/dist/core/p-1f455336.entry.js +2 -0
  518. package/dist/core/p-1f455336.entry.js.map +1 -0
  519. package/dist/core/p-20c4d90b.entry.js +2 -0
  520. package/dist/core/p-20c4d90b.entry.js.map +1 -0
  521. package/dist/core/{p-641e244d.entry.js → p-2537f33e.entry.js} +2 -2
  522. package/dist/core/p-2537f33e.entry.js.map +1 -0
  523. package/dist/core/{p-87aa30b4.entry.js → p-264ce7a0.entry.js} +2 -2
  524. package/dist/core/p-264ce7a0.entry.js.map +1 -0
  525. package/dist/core/p-28656111.entry.js +2 -0
  526. package/dist/core/p-28656111.entry.js.map +1 -0
  527. package/dist/core/p-2b1a331b.entry.js +2 -0
  528. package/dist/core/p-2b1a331b.entry.js.map +1 -0
  529. package/dist/core/p-33243fff.entry.js +2 -0
  530. package/dist/core/p-33243fff.entry.js.map +1 -0
  531. package/dist/core/p-37df68fe.entry.js +2 -0
  532. package/dist/core/p-37df68fe.entry.js.map +1 -0
  533. package/dist/core/p-3b185c32.js.map +1 -1
  534. package/dist/core/p-426ec638.js.map +1 -1
  535. package/dist/core/{p-199b9196.entry.js → p-44e32417.entry.js} +2 -2
  536. package/dist/core/p-44e32417.entry.js.map +1 -0
  537. package/dist/core/{p-6e630778.entry.js → p-45595f98.entry.js} +2 -2
  538. package/dist/core/p-45595f98.entry.js.map +1 -0
  539. package/dist/core/p-49768069.entry.js +2 -0
  540. package/dist/core/p-49768069.entry.js.map +1 -0
  541. package/dist/core/p-4c68494c.entry.js +2 -0
  542. package/dist/core/p-4c68494c.entry.js.map +1 -0
  543. package/dist/core/{p-f37c6a76.entry.js → p-4f2a1950.entry.js} +2 -2
  544. package/dist/core/p-4f2a1950.entry.js.map +1 -0
  545. package/dist/core/p-50f4d151.entry.js +2 -0
  546. package/dist/core/p-50f4d151.entry.js.map +1 -0
  547. package/dist/core/p-55a37101.entry.js +2 -0
  548. package/dist/core/p-55a37101.entry.js.map +1 -0
  549. package/dist/core/{p-1223d0e9.entry.js → p-5c349c9d.entry.js} +2 -2
  550. package/dist/core/p-5c349c9d.entry.js.map +1 -0
  551. package/dist/core/p-5e1fd097.entry.js +2 -0
  552. package/dist/core/p-5e1fd097.entry.js.map +1 -0
  553. package/dist/core/p-68a5aaff.js.map +1 -1
  554. package/dist/core/p-69e4daec.entry.js +2 -0
  555. package/dist/core/p-69e4daec.entry.js.map +1 -0
  556. package/dist/core/p-701696aa.entry.js +2 -0
  557. package/dist/core/p-701696aa.entry.js.map +1 -0
  558. package/dist/core/{p-8452846e.entry.js → p-729745d3.entry.js} +2 -2
  559. package/dist/core/p-729745d3.entry.js.map +1 -0
  560. package/dist/core/{p-1bf956cb.entry.js → p-73fc198f.entry.js} +2 -2
  561. package/dist/core/p-73fc198f.entry.js.map +1 -0
  562. package/dist/core/p-74600ed8.entry.js +2 -0
  563. package/dist/core/p-74600ed8.entry.js.map +1 -0
  564. package/dist/core/p-78e7a859.entry.js +2 -0
  565. package/dist/core/p-78e7a859.entry.js.map +1 -0
  566. package/dist/core/{p-419d3378.entry.js → p-7e79bd0e.entry.js} +2 -2
  567. package/dist/core/p-7e79bd0e.entry.js.map +1 -0
  568. package/dist/core/p-7eaf8da8.entry.js +2 -0
  569. package/dist/core/p-7eaf8da8.entry.js.map +1 -0
  570. package/dist/core/p-811d447b.entry.js +2 -0
  571. package/dist/core/p-811d447b.entry.js.map +1 -0
  572. package/dist/core/p-85734ebf.entry.js +2 -0
  573. package/dist/core/p-85734ebf.entry.js.map +1 -0
  574. package/dist/core/p-85b7d931.entry.js +2 -0
  575. package/dist/core/p-85b7d931.entry.js.map +1 -0
  576. package/dist/core/{p-26bc7c62.entry.js → p-8856dff4.entry.js} +2 -2
  577. package/dist/core/p-8856dff4.entry.js.map +1 -0
  578. package/dist/core/p-8b268274.entry.js +2 -0
  579. package/dist/core/p-8b268274.entry.js.map +1 -0
  580. package/dist/core/p-8e4e97b4.js +3 -0
  581. package/dist/core/p-8e4e97b4.js.map +1 -0
  582. package/dist/core/p-972671ea.entry.js +2 -0
  583. package/dist/core/p-972671ea.entry.js.map +1 -0
  584. package/dist/core/{p-6c1cf351.entry.js → p-98328cb9.entry.js} +2 -2
  585. package/dist/core/p-98328cb9.entry.js.map +1 -0
  586. package/dist/core/{p-5be2c26a.entry.js → p-a103068b.entry.js} +2 -2
  587. package/dist/core/p-a103068b.entry.js.map +1 -0
  588. package/dist/core/{p-e4cb5585.entry.js → p-a20a7cd3.entry.js} +2 -2
  589. package/dist/core/p-a20a7cd3.entry.js.map +1 -0
  590. package/dist/core/p-a22658fb.entry.js +2 -0
  591. package/dist/core/p-a22658fb.entry.js.map +1 -0
  592. package/dist/core/{p-5dcc0489.entry.js → p-a55e7988.entry.js} +2 -2
  593. package/dist/core/p-a55e7988.entry.js.map +1 -0
  594. package/dist/core/{p-20ac0d2a.entry.js → p-a71055c9.entry.js} +2 -2
  595. package/dist/core/p-a71055c9.entry.js.map +1 -0
  596. package/dist/core/p-a794b724.entry.js +2 -0
  597. package/dist/core/p-a794b724.entry.js.map +1 -0
  598. package/dist/core/p-b21b4fea.entry.js +2 -0
  599. package/dist/core/p-b21b4fea.entry.js.map +1 -0
  600. package/dist/core/p-b953b22f.entry.js +2 -0
  601. package/dist/core/p-b953b22f.entry.js.map +1 -0
  602. package/dist/core/p-c2e091d7.js.map +1 -1
  603. package/dist/core/p-c9726fbd.entry.js +2 -0
  604. package/dist/core/p-c9726fbd.entry.js.map +1 -0
  605. package/dist/core/p-d981598e.entry.js +2 -0
  606. package/dist/core/p-d981598e.entry.js.map +1 -0
  607. package/dist/core/p-d9aec0dd.entry.js +2 -0
  608. package/dist/core/p-d9aec0dd.entry.js.map +1 -0
  609. package/dist/core/p-e1255160.js +2 -0
  610. package/dist/core/p-e1255160.js.map +1 -0
  611. package/dist/core/p-ed8957da.js +2 -0
  612. package/dist/core/p-ed8957da.js.map +1 -0
  613. package/dist/core/p-f074ef5b.js.map +1 -1
  614. package/dist/core/p-f3315216.entry.js +2 -0
  615. package/dist/core/p-f3315216.entry.js.map +1 -0
  616. package/dist/core/p-f34efc17.entry.js +2 -0
  617. package/dist/core/p-f34efc17.entry.js.map +1 -0
  618. package/dist/core/p-f43f411a.entry.js +2 -0
  619. package/dist/core/p-f43f411a.entry.js.map +1 -0
  620. package/dist/core/{p-96b4ca6e.entry.js → p-fa02a267.entry.js} +2 -2
  621. package/dist/core/p-fa02a267.entry.js.map +1 -0
  622. package/dist/core/p-ff995eb8.entry.js +2 -0
  623. package/dist/core/p-ff995eb8.entry.js.map +1 -0
  624. package/dist/esm/app-globals-0f993ce5.js +5 -0
  625. package/dist/esm/app-globals-0f993ce5.js.map +1 -0
  626. package/dist/esm/core.js +14 -12
  627. package/dist/esm/core.js.map +1 -1
  628. package/dist/esm/{helpers-2624c32c.js → helpers-dd035d0d.js} +71 -27
  629. package/dist/esm/helpers-dd035d0d.js.map +1 -0
  630. package/dist/esm/ic-accordion-group.entry.js +31 -14
  631. package/dist/esm/ic-accordion-group.entry.js.map +1 -1
  632. package/dist/esm/ic-accordion.entry.js +65 -42
  633. package/dist/esm/ic-accordion.entry.js.map +1 -1
  634. package/dist/esm/ic-alert.entry.js +38 -17
  635. package/dist/esm/ic-alert.entry.js.map +1 -1
  636. package/dist/esm/ic-back-to-top.entry.js +29 -15
  637. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  638. package/dist/esm/ic-badge.entry.js +60 -18
  639. package/dist/esm/ic-badge.entry.js.map +1 -1
  640. package/dist/esm/ic-breadcrumb-group.entry.js +53 -37
  641. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  642. package/dist/esm/ic-breadcrumb.entry.js +38 -23
  643. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  644. package/dist/esm/ic-button_3.entry.js +304 -144
  645. package/dist/esm/ic-button_3.entry.js.map +1 -1
  646. package/dist/esm/ic-card-vertical.entry.js +54 -33
  647. package/dist/esm/ic-card-vertical.entry.js.map +1 -1
  648. package/dist/esm/ic-checkbox-group.entry.js +33 -10
  649. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  650. package/dist/esm/ic-checkbox.entry.js +49 -30
  651. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  652. package/dist/esm/ic-chip.entry.js +45 -24
  653. package/dist/esm/ic-chip.entry.js.map +1 -1
  654. package/dist/esm/ic-classification-banner.entry.js +22 -6
  655. package/dist/esm/ic-classification-banner.entry.js.map +1 -1
  656. package/dist/esm/ic-data-list.entry.js +11 -5
  657. package/dist/esm/ic-data-list.entry.js.map +1 -1
  658. package/dist/esm/ic-data-row.entry.js +28 -18
  659. package/dist/esm/ic-data-row.entry.js.map +1 -1
  660. package/dist/esm/ic-dialog.entry.js +164 -115
  661. package/dist/esm/ic-dialog.entry.js.map +1 -1
  662. package/dist/esm/ic-divider.entry.js +35 -15
  663. package/dist/esm/ic-divider.entry.js.map +1 -1
  664. package/dist/esm/ic-empty-state.entry.js +19 -11
  665. package/dist/esm/ic-empty-state.entry.js.map +1 -1
  666. package/dist/esm/ic-footer-link-group.entry.js +8 -8
  667. package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
  668. package/dist/esm/ic-footer-link.entry.js +12 -11
  669. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  670. package/dist/esm/ic-footer.entry.js +32 -19
  671. package/dist/esm/ic-footer.entry.js.map +1 -1
  672. package/dist/esm/ic-hero.entry.js +29 -17
  673. package/dist/esm/ic-hero.entry.js.map +1 -1
  674. package/dist/esm/ic-horizontal-scroll.entry.js +32 -20
  675. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  676. package/dist/esm/ic-input-component-container_3.entry.js +126 -68
  677. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  678. package/dist/esm/ic-input-label_2.entry.js +45 -17
  679. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  680. package/dist/esm/ic-link.entry.js +29 -22
  681. package/dist/esm/ic-link.entry.js.map +1 -1
  682. package/dist/esm/ic-menu-group.entry.js +5 -5
  683. package/dist/esm/ic-menu-group.entry.js.map +1 -1
  684. package/dist/esm/ic-menu-item.entry.js +21 -19
  685. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  686. package/dist/esm/ic-navigation-button.entry.js +26 -20
  687. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  688. package/dist/esm/ic-navigation-group.entry.js +63 -39
  689. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  690. package/dist/esm/ic-navigation-item.entry.js +70 -49
  691. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  692. package/dist/esm/ic-navigation-menu.entry.js +55 -33
  693. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  694. package/dist/esm/ic-page-header.entry.js +49 -28
  695. package/dist/esm/ic-page-header.entry.js.map +1 -1
  696. package/dist/esm/ic-pagination-item.entry.js +28 -15
  697. package/dist/esm/ic-pagination-item.entry.js.map +1 -1
  698. package/dist/esm/ic-pagination.entry.js +61 -28
  699. package/dist/esm/ic-pagination.entry.js.map +1 -1
  700. package/dist/esm/ic-popover-menu.entry.js +74 -42
  701. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  702. package/dist/esm/ic-radio-group.entry.js +55 -29
  703. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  704. package/dist/esm/ic-radio-option.entry.js +36 -24
  705. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  706. package/dist/esm/ic-search-bar.entry.js +154 -64
  707. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  708. package/dist/esm/ic-section-container.entry.js +12 -5
  709. package/dist/esm/ic-section-container.entry.js.map +1 -1
  710. package/dist/esm/ic-select.entry.js +234 -137
  711. package/dist/esm/ic-select.entry.js.map +1 -1
  712. package/dist/esm/ic-side-navigation.entry.js +107 -71
  713. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  714. package/dist/esm/ic-skeleton.entry.js +11 -4
  715. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  716. package/dist/esm/ic-skip-link.entry.js +51 -0
  717. package/dist/esm/ic-skip-link.entry.js.map +1 -0
  718. package/dist/esm/ic-status-tag.entry.js +26 -7
  719. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  720. package/dist/esm/ic-step.entry.js +35 -33
  721. package/dist/esm/ic-step.entry.js.map +1 -1
  722. package/dist/esm/ic-stepper.entry.js +50 -35
  723. package/dist/esm/ic-stepper.entry.js.map +1 -1
  724. package/dist/esm/ic-switch.entry.js +50 -22
  725. package/dist/esm/ic-switch.entry.js.map +1 -1
  726. package/dist/esm/ic-tab-context.entry.js +45 -26
  727. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  728. package/dist/esm/ic-tab-group.entry.js +14 -9
  729. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  730. package/dist/esm/ic-tab-panel.entry.js +16 -12
  731. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  732. package/dist/esm/ic-tab.entry.js +22 -16
  733. package/dist/esm/ic-tab.entry.js.map +1 -1
  734. package/dist/esm/ic-text-field.entry.js +205 -76
  735. package/dist/esm/ic-text-field.entry.js.map +1 -1
  736. package/dist/esm/ic-theme.entry.js +13 -7
  737. package/dist/esm/ic-theme.entry.js.map +1 -1
  738. package/dist/esm/ic-toast-region.entry.js +2 -3
  739. package/dist/esm/ic-toast-region.entry.js.map +1 -1
  740. package/dist/esm/ic-toast.entry.js +30 -22
  741. package/dist/esm/ic-toast.entry.js.map +1 -1
  742. package/dist/esm/ic-toggle-button-group.entry.js +61 -29
  743. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  744. package/dist/esm/ic-toggle-button.entry.js +82 -50
  745. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  746. package/dist/esm/ic-top-navigation.entry.js +59 -34
  747. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  748. package/dist/esm/ic-typography.entry.js +53 -27
  749. package/dist/esm/ic-typography.entry.js.map +1 -1
  750. package/dist/esm/index-a7a720e7.js +2580 -0
  751. package/dist/esm/index-a7a720e7.js.map +1 -0
  752. package/dist/esm/loader.js +6 -4
  753. package/dist/esm/loader.js.map +1 -1
  754. package/dist/types/components/ic-accordion/ic-accordion.d.ts +3 -3
  755. package/dist/types/components/ic-accordion-group/ic-accordion-group.d.ts +5 -5
  756. package/dist/types/components/ic-alert/ic-alert.d.ts +1 -1
  757. package/dist/types/components/ic-back-to-top/ic-back-to-top.d.ts +6 -2
  758. package/dist/types/components/ic-back-to-top/ic-back-to-top.types.d.ts +1 -0
  759. package/dist/types/components/ic-badge/ic-badge.d.ts +6 -1
  760. package/dist/types/components/ic-breadcrumb/ic-breadcrumb.d.ts +2 -1
  761. package/dist/types/components/ic-breadcrumb-group/ic-breadcrumb-group.d.ts +2 -2
  762. package/dist/types/components/ic-button/ic-button.d.ts +7 -6
  763. package/dist/types/components/ic-checkbox/ic-checkbox.d.ts +10 -10
  764. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +7 -7
  765. package/dist/types/components/ic-data-list/ic-data-list.d.ts +1 -1
  766. package/dist/types/components/ic-data-row/ic-data-row.d.ts +2 -2
  767. package/dist/types/components/ic-dialog/ic-dialog.d.ts +15 -11
  768. package/dist/types/components/ic-divider/ic-divider.d.ts +3 -3
  769. package/dist/types/components/ic-empty-state/ic-empty-state.d.ts +5 -1
  770. package/dist/types/components/ic-footer/ic-footer.d.ts +4 -4
  771. package/dist/types/components/ic-hero/ic-hero.d.ts +3 -3
  772. package/dist/types/components/ic-input-component-container/ic-input-component-container.d.ts +6 -6
  773. package/dist/types/components/ic-input-label/ic-input-label.d.ts +2 -2
  774. package/dist/types/components/ic-input-validation/ic-input-validation.d.ts +4 -4
  775. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.d.ts +2 -2
  776. package/dist/types/components/ic-menu/ic-menu.d.ts +10 -10
  777. package/dist/types/components/ic-menu/ic-menu.types.d.ts +1 -1
  778. package/dist/types/components/ic-menu-item/ic-menu-item.d.ts +2 -2
  779. package/dist/types/components/ic-navigation-button/ic-navigation-button.d.ts +1 -1
  780. package/dist/types/components/ic-navigation-group/ic-navigation-group.d.ts +18 -6
  781. package/dist/types/components/ic-navigation-group/ic-navigation-group.types.d.ts +6 -0
  782. package/dist/types/components/ic-navigation-item/ic-navigation-item.d.ts +8 -8
  783. package/dist/types/components/ic-navigation-menu/ic-navigation-menu.d.ts +5 -3
  784. package/dist/types/components/ic-pagination/ic-pagination.d.ts +9 -9
  785. package/dist/types/components/ic-pagination-item/ic-pagination-item.d.ts +4 -4
  786. package/dist/types/components/ic-popover-menu/ic-popover-menu.d.ts +4 -4
  787. package/dist/types/components/ic-radio-group/ic-radio-group.d.ts +9 -9
  788. package/dist/types/components/ic-radio-option/ic-radio-option.d.ts +6 -6
  789. package/dist/types/components/ic-search-bar/ic-search-bar.d.ts +12 -12
  790. package/dist/types/components/ic-search-bar/ic-search-bar.types.d.ts +1 -1
  791. package/dist/types/components/ic-select/ic-select.d.ts +20 -20
  792. package/dist/types/components/ic-side-navigation/ic-side-navigation.d.ts +12 -12
  793. package/dist/types/components/ic-skip-link/ic-skip-link.d.ts +33 -0
  794. package/dist/types/components/ic-stepper/ic-stepper.d.ts +1 -1
  795. package/dist/types/components/ic-switch/ic-switch.d.ts +1 -1
  796. package/dist/types/components/ic-tab/ic-tab.d.ts +2 -2
  797. package/dist/types/components/ic-tab-panel/ic-tab-panel.d.ts +7 -1
  798. package/dist/types/components/ic-text-field/ic-text-field.d.ts +51 -34
  799. package/dist/types/components/ic-theme/ic-theme.d.ts +2 -2
  800. package/dist/types/components/ic-toast/ic-toast.d.ts +3 -3
  801. package/dist/types/components/ic-toast-region/ic-toast-region.d.ts +1 -1
  802. package/dist/types/components/ic-toggle-button/ic-toggle-button.d.ts +3 -3
  803. package/dist/types/components/ic-tooltip/ic-tooltip.d.ts +1 -1
  804. package/dist/types/components/ic-top-navigation/ic-top-navigation.d.ts +9 -9
  805. package/dist/types/components/ic-typography/ic-typography.d.ts +1 -1
  806. package/dist/types/components.d.ts +358 -215
  807. package/dist/types/stencil-public-runtime.d.ts +9 -10
  808. package/dist/types/utils/constants.d.ts +1 -0
  809. package/dist/types/utils/helpers.d.ts +10 -10
  810. package/dist/types/utils/types.d.ts +8 -4
  811. package/hydrate/index.d.ts +53 -12
  812. package/hydrate/index.js +32726 -20605
  813. package/hydrate/index.mjs +34407 -0
  814. package/hydrate/package.json +7 -1
  815. package/loader/cdn.js +1 -3
  816. package/loader/index.cjs.js +1 -3
  817. package/loader/index.d.ts +3 -0
  818. package/loader/index.es2017.js +1 -3
  819. package/loader/index.js +1 -3
  820. package/package.json +19 -13
  821. package/vscode-data.json +109 -339
  822. package/dist/cjs/helpers-eca4c27e.js.map +0 -1
  823. package/dist/cjs/index-f982899d.js +0 -3047
  824. package/dist/cjs/index-f982899d.js.map +0 -1
  825. package/dist/collection/components/ic-accordion/test/basic/ic-accordion.spec.js +0 -349
  826. package/dist/collection/components/ic-accordion/test/basic/ic-accordion.spec.js.map +0 -1
  827. package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.spec.js +0 -129
  828. package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.spec.js.map +0 -1
  829. package/dist/collection/components/ic-alert/test/basic/ic-alert.spec.js +0 -329
  830. package/dist/collection/components/ic-alert/test/basic/ic-alert.spec.js.map +0 -1
  831. package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.spec.js +0 -145
  832. package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.spec.js.map +0 -1
  833. package/dist/collection/components/ic-badge/test/basic/ic-badge.spec.js +0 -256
  834. package/dist/collection/components/ic-badge/test/basic/ic-badge.spec.js.map +0 -1
  835. package/dist/collection/components/ic-breadcrumb/test/basic/ic-breadcrumb.spec.js +0 -162
  836. package/dist/collection/components/ic-breadcrumb/test/basic/ic-breadcrumb.spec.js.map +0 -1
  837. package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group.spec.js +0 -219
  838. package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group.spec.js.map +0 -1
  839. package/dist/collection/components/ic-button/test/basic/ic-button.spec.js +0 -332
  840. package/dist/collection/components/ic-button/test/basic/ic-button.spec.js.map +0 -1
  841. package/dist/collection/components/ic-card-vertical/test/basic/ic-card-vertical.spec.js +0 -214
  842. package/dist/collection/components/ic-card-vertical/test/basic/ic-card-vertical.spec.js.map +0 -1
  843. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js +0 -284
  844. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js.map +0 -1
  845. package/dist/collection/components/ic-chip/test/basic/ic-chip.spec.js +0 -188
  846. package/dist/collection/components/ic-chip/test/basic/ic-chip.spec.js.map +0 -1
  847. package/dist/collection/components/ic-classification-banner/test/basic/ic-classification-banner.spec.js +0 -188
  848. package/dist/collection/components/ic-classification-banner/test/basic/ic-classification-banner.spec.js.map +0 -1
  849. package/dist/collection/components/ic-data-list/test/basic/ic-data-list.spec.js +0 -161
  850. package/dist/collection/components/ic-data-list/test/basic/ic-data-list.spec.js.map +0 -1
  851. package/dist/collection/components/ic-data-row/test/basic/ic-data-row.spec.js +0 -74
  852. package/dist/collection/components/ic-data-row/test/basic/ic-data-row.spec.js.map +0 -1
  853. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js +0 -448
  854. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js.map +0 -1
  855. package/dist/collection/components/ic-divider/test/basic/ic-divider.spec.js +0 -109
  856. package/dist/collection/components/ic-divider/test/basic/ic-divider.spec.js.map +0 -1
  857. package/dist/collection/components/ic-footer/test/basic/ic-footer.spec.js +0 -181
  858. package/dist/collection/components/ic-footer/test/basic/ic-footer.spec.js.map +0 -1
  859. package/dist/collection/components/ic-footer-link/test/basic/ic-footer-link.spec.js +0 -46
  860. package/dist/collection/components/ic-footer-link/test/basic/ic-footer-link.spec.js.map +0 -1
  861. package/dist/collection/components/ic-footer-link-group/test/basic/ic-footer-link-group.spec.js +0 -66
  862. package/dist/collection/components/ic-footer-link-group/test/basic/ic-footer-link-group.spec.js.map +0 -1
  863. package/dist/collection/components/ic-hero/test/basic/ic-hero.spec.js +0 -109
  864. package/dist/collection/components/ic-hero/test/basic/ic-hero.spec.js.map +0 -1
  865. package/dist/collection/components/ic-horizontal-scroll/test/basic/ic-horizontal-scroll.spec.js +0 -223
  866. package/dist/collection/components/ic-horizontal-scroll/test/basic/ic-horizontal-scroll.spec.js.map +0 -1
  867. package/dist/collection/components/ic-input-component-container/test/basic/ic-input-component-container.spec.js +0 -172
  868. package/dist/collection/components/ic-input-component-container/test/basic/ic-input-component-container.spec.js.map +0 -1
  869. package/dist/collection/components/ic-input-container/test/basic/ic-input-container.spec.js +0 -38
  870. package/dist/collection/components/ic-input-container/test/basic/ic-input-container.spec.js.map +0 -1
  871. package/dist/collection/components/ic-input-label/test/basic/ic-input-label.spec.js +0 -84
  872. package/dist/collection/components/ic-input-label/test/basic/ic-input-label.spec.js.map +0 -1
  873. package/dist/collection/components/ic-input-validation/test/basic/ic-input-validation.spec.js +0 -89
  874. package/dist/collection/components/ic-input-validation/test/basic/ic-input-validation.spec.js.map +0 -1
  875. package/dist/collection/components/ic-link/test/basic/ic-link.spec.js +0 -120
  876. package/dist/collection/components/ic-link/test/basic/ic-link.spec.js.map +0 -1
  877. package/dist/collection/components/ic-loading-indicator/test/basic/ic-loading-indicator.spec.js +0 -149
  878. package/dist/collection/components/ic-loading-indicator/test/basic/ic-loading-indicator.spec.js.map +0 -1
  879. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js +0 -1108
  880. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js.map +0 -1
  881. package/dist/collection/components/ic-menu-group/test/basic/ic-menu-group.spec.js +0 -94
  882. package/dist/collection/components/ic-menu-group/test/basic/ic-menu-group.spec.js.map +0 -1
  883. package/dist/collection/components/ic-menu-item/test/basic/ic-menu-item.spec.js +0 -121
  884. package/dist/collection/components/ic-menu-item/test/basic/ic-menu-item.spec.js.map +0 -1
  885. package/dist/collection/components/ic-navigation-button/test/basic/ic-navigation-button.spec.js +0 -95
  886. package/dist/collection/components/ic-navigation-button/test/basic/ic-navigation-button.spec.js.map +0 -1
  887. package/dist/collection/components/ic-navigation-group/test/basic/ic-navigation-group.spec.js +0 -309
  888. package/dist/collection/components/ic-navigation-group/test/basic/ic-navigation-group.spec.js.map +0 -1
  889. package/dist/collection/components/ic-navigation-item/test/basic/ic-navigation-item.spec.js +0 -130
  890. package/dist/collection/components/ic-navigation-item/test/basic/ic-navigation-item.spec.js.map +0 -1
  891. package/dist/collection/components/ic-navigation-menu/test/basic/ic-navigation-menu.spec.js +0 -176
  892. package/dist/collection/components/ic-navigation-menu/test/basic/ic-navigation-menu.spec.js.map +0 -1
  893. package/dist/collection/components/ic-page-header/test/basic/ic-page-header.spec.js +0 -291
  894. package/dist/collection/components/ic-page-header/test/basic/ic-page-header.spec.js.map +0 -1
  895. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js +0 -390
  896. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js.map +0 -1
  897. package/dist/collection/components/ic-pagination-item/test/basic/ic-pagination-item.spec.js +0 -79
  898. package/dist/collection/components/ic-pagination-item/test/basic/ic-pagination-item.spec.js.map +0 -1
  899. package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.spec.js +0 -398
  900. package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.spec.js.map +0 -1
  901. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js +0 -389
  902. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js.map +0 -1
  903. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.spec.js +0 -553
  904. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.spec.js.map +0 -1
  905. package/dist/collection/components/ic-section-container/test/basic/ic-section-container.spec.js +0 -69
  906. package/dist/collection/components/ic-section-container/test/basic/ic-section-container.spec.js.map +0 -1
  907. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js +0 -1672
  908. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js.map +0 -1
  909. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.spec.js +0 -503
  910. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.spec.js.map +0 -1
  911. package/dist/collection/components/ic-skeleton/test/basic/ic-skeleton.spec.js +0 -89
  912. package/dist/collection/components/ic-skeleton/test/basic/ic-skeleton.spec.js.map +0 -1
  913. package/dist/collection/components/ic-status-tag/test/basic/ic-status-tag.spec.js +0 -26
  914. package/dist/collection/components/ic-status-tag/test/basic/ic-status-tag.spec.js.map +0 -1
  915. package/dist/collection/components/ic-step/test/basic/ic-step.spec.js +0 -176
  916. package/dist/collection/components/ic-step/test/basic/ic-step.spec.js.map +0 -1
  917. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.spec.js +0 -752
  918. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.spec.js.map +0 -1
  919. package/dist/collection/components/ic-switch/test/basic/ic-switch.spec.js +0 -93
  920. package/dist/collection/components/ic-switch/test/basic/ic-switch.spec.js.map +0 -1
  921. package/dist/collection/components/ic-tab/test/basic/ic-tab.spec.js +0 -175
  922. package/dist/collection/components/ic-tab/test/basic/ic-tab.spec.js.map +0 -1
  923. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.spec.js +0 -390
  924. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.spec.js.map +0 -1
  925. package/dist/collection/components/ic-tab-panel/test/basic/ic-tab-panel.spec.js +0 -50
  926. package/dist/collection/components/ic-tab-panel/test/basic/ic-tab-panel.spec.js.map +0 -1
  927. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js +0 -312
  928. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js.map +0 -1
  929. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.textarea.spec.js +0 -341
  930. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.textarea.spec.js.map +0 -1
  931. package/dist/collection/components/ic-theme/test/basic/ic-theme.e2e.js +0 -72
  932. package/dist/collection/components/ic-theme/test/basic/ic-theme.e2e.js.map +0 -1
  933. package/dist/collection/components/ic-theme/test/basic/ic-theme.spec.js +0 -79
  934. package/dist/collection/components/ic-theme/test/basic/ic-theme.spec.js.map +0 -1
  935. package/dist/collection/components/ic-toast/test/basic/ic-toast.spec.js +0 -314
  936. package/dist/collection/components/ic-toast/test/basic/ic-toast.spec.js.map +0 -1
  937. package/dist/collection/components/ic-toast-region/test/basic/ic-toast-region.spec.js +0 -64
  938. package/dist/collection/components/ic-toast-region/test/basic/ic-toast-region.spec.js.map +0 -1
  939. package/dist/collection/components/ic-toggle-button/test/basic/ic-toggle-button.spec.js +0 -126
  940. package/dist/collection/components/ic-toggle-button/test/basic/ic-toggle-button.spec.js.map +0 -1
  941. package/dist/collection/components/ic-toggle-button-group/test/ic-toggle-button-group.spec.js +0 -337
  942. package/dist/collection/components/ic-toggle-button-group/test/ic-toggle-button-group.spec.js.map +0 -1
  943. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.spec.js +0 -321
  944. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.spec.js.map +0 -1
  945. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.spec.js +0 -314
  946. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.spec.js.map +0 -1
  947. package/dist/collection/components/ic-typography/test/basic/ic-typography.spec.js +0 -407
  948. package/dist/collection/components/ic-typography/test/basic/ic-typography.spec.js.map +0 -1
  949. package/dist/collection/testspec.setup.js +0 -77
  950. package/dist/collection/testspec.setup.js.map +0 -1
  951. package/dist/core/p-0cb72d37.entry.js.map +0 -1
  952. package/dist/core/p-1223d0e9.entry.js.map +0 -1
  953. package/dist/core/p-190c3474.entry.js +0 -2
  954. package/dist/core/p-190c3474.entry.js.map +0 -1
  955. package/dist/core/p-199b9196.entry.js.map +0 -1
  956. package/dist/core/p-1bf956cb.entry.js.map +0 -1
  957. package/dist/core/p-20ac0d2a.entry.js.map +0 -1
  958. package/dist/core/p-243ad74c.entry.js +0 -2
  959. package/dist/core/p-243ad74c.entry.js.map +0 -1
  960. package/dist/core/p-24a34d72.entry.js +0 -2
  961. package/dist/core/p-24a34d72.entry.js.map +0 -1
  962. package/dist/core/p-26bc7c62.entry.js.map +0 -1
  963. package/dist/core/p-27274ca8.entry.js.map +0 -1
  964. package/dist/core/p-29afeb33.entry.js +0 -2
  965. package/dist/core/p-29afeb33.entry.js.map +0 -1
  966. package/dist/core/p-2cc0d6b9.entry.js +0 -2
  967. package/dist/core/p-2cc0d6b9.entry.js.map +0 -1
  968. package/dist/core/p-31c84a47.entry.js +0 -2
  969. package/dist/core/p-31c84a47.entry.js.map +0 -1
  970. package/dist/core/p-36ac5305.entry.js +0 -2
  971. package/dist/core/p-36ac5305.entry.js.map +0 -1
  972. package/dist/core/p-3ea4a005.entry.js +0 -2
  973. package/dist/core/p-3ea4a005.entry.js.map +0 -1
  974. package/dist/core/p-404b482e.entry.js +0 -2
  975. package/dist/core/p-404b482e.entry.js.map +0 -1
  976. package/dist/core/p-419d3378.entry.js.map +0 -1
  977. package/dist/core/p-47038ea3.entry.js +0 -2
  978. package/dist/core/p-47038ea3.entry.js.map +0 -1
  979. package/dist/core/p-490bf0ee.entry.js +0 -2
  980. package/dist/core/p-490bf0ee.entry.js.map +0 -1
  981. package/dist/core/p-4e6e34fe.entry.js +0 -2
  982. package/dist/core/p-4e6e34fe.entry.js.map +0 -1
  983. package/dist/core/p-4fce49bd.entry.js +0 -2
  984. package/dist/core/p-4fce49bd.entry.js.map +0 -1
  985. package/dist/core/p-5b42dbef.entry.js +0 -2
  986. package/dist/core/p-5b42dbef.entry.js.map +0 -1
  987. package/dist/core/p-5be2c26a.entry.js.map +0 -1
  988. package/dist/core/p-5d5345a4.entry.js +0 -2
  989. package/dist/core/p-5d5345a4.entry.js.map +0 -1
  990. package/dist/core/p-5dcc0489.entry.js.map +0 -1
  991. package/dist/core/p-5f6d6b3f.entry.js +0 -2
  992. package/dist/core/p-5f6d6b3f.entry.js.map +0 -1
  993. package/dist/core/p-5f74782e.entry.js +0 -2
  994. package/dist/core/p-5f74782e.entry.js.map +0 -1
  995. package/dist/core/p-6227fff5.entry.js +0 -2
  996. package/dist/core/p-6227fff5.entry.js.map +0 -1
  997. package/dist/core/p-641e244d.entry.js.map +0 -1
  998. package/dist/core/p-6b5e91e2.js +0 -3
  999. package/dist/core/p-6b5e91e2.js.map +0 -1
  1000. package/dist/core/p-6c1cf351.entry.js.map +0 -1
  1001. package/dist/core/p-6e630778.entry.js.map +0 -1
  1002. package/dist/core/p-7c8cd719.entry.js +0 -2
  1003. package/dist/core/p-7c8cd719.entry.js.map +0 -1
  1004. package/dist/core/p-7fa74998.entry.js +0 -2
  1005. package/dist/core/p-7fa74998.entry.js.map +0 -1
  1006. package/dist/core/p-7ff4632d.entry.js +0 -2
  1007. package/dist/core/p-7ff4632d.entry.js.map +0 -1
  1008. package/dist/core/p-8452846e.entry.js.map +0 -1
  1009. package/dist/core/p-84c3a870.entry.js +0 -2
  1010. package/dist/core/p-84c3a870.entry.js.map +0 -1
  1011. package/dist/core/p-8624bb98.entry.js +0 -2
  1012. package/dist/core/p-8624bb98.entry.js.map +0 -1
  1013. package/dist/core/p-87aa30b4.entry.js.map +0 -1
  1014. package/dist/core/p-8b554299.entry.js.map +0 -1
  1015. package/dist/core/p-932f3e3c.js +0 -2
  1016. package/dist/core/p-932f3e3c.js.map +0 -1
  1017. package/dist/core/p-96b4ca6e.entry.js.map +0 -1
  1018. package/dist/core/p-9cfd6855.entry.js +0 -2
  1019. package/dist/core/p-9cfd6855.entry.js.map +0 -1
  1020. package/dist/core/p-a87d13b3.entry.js.map +0 -1
  1021. package/dist/core/p-abb383bd.entry.js +0 -2
  1022. package/dist/core/p-abb383bd.entry.js.map +0 -1
  1023. package/dist/core/p-af934e73.entry.js +0 -2
  1024. package/dist/core/p-af934e73.entry.js.map +0 -1
  1025. package/dist/core/p-b73b7139.entry.js +0 -2
  1026. package/dist/core/p-b73b7139.entry.js.map +0 -1
  1027. package/dist/core/p-b9941d97.entry.js +0 -2
  1028. package/dist/core/p-b9941d97.entry.js.map +0 -1
  1029. package/dist/core/p-c1e93306.entry.js +0 -2
  1030. package/dist/core/p-c1e93306.entry.js.map +0 -1
  1031. package/dist/core/p-d21d8014.entry.js +0 -2
  1032. package/dist/core/p-d21d8014.entry.js.map +0 -1
  1033. package/dist/core/p-df957570.entry.js +0 -2
  1034. package/dist/core/p-df957570.entry.js.map +0 -1
  1035. package/dist/core/p-e1f8d915.entry.js +0 -2
  1036. package/dist/core/p-e1f8d915.entry.js.map +0 -1
  1037. package/dist/core/p-e4cb5585.entry.js.map +0 -1
  1038. package/dist/core/p-f073fc69.entry.js +0 -2
  1039. package/dist/core/p-f073fc69.entry.js.map +0 -1
  1040. package/dist/core/p-f2d9eefe.entry.js +0 -2
  1041. package/dist/core/p-f2d9eefe.entry.js.map +0 -1
  1042. package/dist/core/p-f37c6a76.entry.js.map +0 -1
  1043. package/dist/core/p-f7872eef.entry.js +0 -2
  1044. package/dist/core/p-f7872eef.entry.js.map +0 -1
  1045. package/dist/core/p-f9dceda0.entry.js +0 -2
  1046. package/dist/core/p-f9dceda0.entry.js.map +0 -1
  1047. package/dist/core/p-fac53f92.entry.js +0 -2
  1048. package/dist/core/p-fac53f92.entry.js.map +0 -1
  1049. package/dist/core/p-fddcf298.entry.js +0 -2
  1050. package/dist/core/p-fddcf298.entry.js.map +0 -1
  1051. package/dist/core/p-ffc150c5.entry.js +0 -2
  1052. package/dist/core/p-ffc150c5.entry.js.map +0 -1
  1053. package/dist/esm/helpers-2624c32c.js.map +0 -1
  1054. package/dist/esm/index-d1d2c456.js +0 -3016
  1055. package/dist/esm/index-d1d2c456.js.map +0 -1
  1056. package/dist/esm/polyfills/core-js.js +0 -11
  1057. package/dist/esm/polyfills/dom.js +0 -79
  1058. package/dist/esm/polyfills/es5-html-element.js +0 -1
  1059. package/dist/esm/polyfills/index.js +0 -34
  1060. package/dist/esm/polyfills/system.js +0 -6
  1061. package/dist/types/testspec.setup.d.ts +0 -24
@@ -1 +1 @@
1
- {"file":"ic-text-field.entry.cjs.js","mappings":"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","names":["IC_INHERITED_ARIA","checkSlotInChildMutations","forceUpdate","removeDisabledFalse","debounceEvent","removeFormResetListener","inheritAttributes","addFormResetListener","onComponentRequiredPropUndefined","IcInformationStatus","getInputDescribedByText","renderHiddenInput","removeHiddenInput","h","Host","isSlotUsed","isEmptyString"],"sources":["src/components/ic-text-field/ic-text-field.css?tag=ic-text-field&encapsulation=shadow","src/components/ic-text-field/ic-text-field.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n /**\n * @prop --input-width: Width of the input field\n */\n display: block;\n\n --ic-input-label-helpertext-padding: var(--ic-space-xxs);\n --border-color: var(--ic-text-field-border-neutral);\n --border-color-hover: var(--ic-text-field-border-neutral-hover);\n --border-color-pressed: var(--ic-text-field-border-neutral-pressed);\n --border-color-disabled: var(--ic-text-field-border-disabled);\n --border-color-error: var(--ic-text-field-border-error);\n --border-color-error-hover: var(--ic-text-field-border-error-hover);\n --border-color-error-pressed: var(--ic-text-field-border-error-pressed);\n --border-color-success: var(--ic-text-field-border-success);\n --border-color-success-hover: var(--ic-text-field-border-success-hover);\n --border-color-success-pressed: var(--ic-text-field-border-success-pressed);\n --border-color-warning: var(--ic-text-field-border-warning);\n --border-color-warning-hover: var(--ic-text-field-border-warning-hover);\n --border-color-warning-pressed: var(--ic-text-field-border-warning-pressed);\n --ic-input-label-text-color: var(--ic-text-field-label);\n --ic-input-label-helper-text-color: var(--ic-text-field-subtitle);\n --ic-input-validation-status-text-color: var(--ic-text-field-state-text);\n --ic-input-validation-error: var(--ic-text-field-state-icon-error);\n --ic-input-validation-warning-icon-color: var(\n --ic-text-field-state-icon-warning\n );\n --ic-input-validation-success-icon-color: var(\n --ic-text-field-state-icon-success\n );\n --ic-input-component-container-success-icon-inline-color: var(\n --ic-text-field-state-icon-success\n );\n}\n\n:host(.ic-text-field-disabled) {\n --ic-input-label-text-color: var(--ic-text-field-label-disabled);\n --ic-input-label-helper-text-color: var(--ic-text-field-subtitle-disabled);\n --text-field-placeholder-color: var(\n --ic-text-field-text-area-placeholder-text-disabled\n );\n}\n\n:host(.ic-text-field-full-width) {\n width: 100%;\n}\n\n::placeholder {\n color: var(\n --text-field-placeholder-color,\n var(--ic-text-field-placeholder-text)\n );\n opacity: 1;\n}\n\ninput,\ntextarea {\n border: 0;\n border-radius: var(--ic-border-radius);\n color: var(--text-field-text-color, var(--ic-text-field-text));\n background-color: var(--input-bg-color, var(--ic-text-field-background));\n line-height: 1.5rem;\n letter-spacing: 0.005rem;\n width: 100%;\n padding-right: var(--ic-space-xs);\n padding-left: var(--ic-space-xs);\n caret-color: var(\n --text-field-typing-cursor,\n var(--ic-text-field-typing-cursor)\n );\n}\n\ntextarea {\n min-height: var(--ic-space-lg);\n resize: vertical;\n padding-top: 0.375rem;\n}\n\ninput:focus,\ntextarea:focus {\n border: 0;\n outline: 0;\n}\n\ninput:disabled,\ntextarea:disabled {\n color: var(\n --text-field-disabled-text-color,\n var(--ic-text-field-text-disabled)\n );\n}\n\ninput.readonly,\ntextarea.readonly {\n color: var(--ic-text-field-read-only-input-text-internal);\n}\n\n/* Chrome, Safari, Edge */\ninput::-webkit-outer-spin-button,\ninput::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n}\n\n/* Firefox */\ninput[type=\"number\"] {\n -moz-appearance: textfield;\n}\n\ntextarea.no-resize {\n resize: none;\n}\n\n.char-count-text {\n --ic-typography-color: var(--ic-text-field-character-limit);\n\n padding-right: var(--ic-space-xxxs);\n}\n\n:host(.ic-text-field-disabled) .char-count-text {\n --ic-typography-color: var(--ic-text-field-character-limit-disabled);\n}\n\n.no-left-pad {\n padding-left: 0;\n}\n\n::slotted([slot=\"icon\"]) {\n fill: var(--ic-text-field-text-disabled);\n}\n\n.has-value ::slotted([slot=\"icon\"]) {\n fill: var(--ic-text-field-input-internal-icon);\n}\n\n.char-count {\n margin-right: calc(-1 * var(--ic-space-xxxs));\n}\n\n.remaining-char-count-desc {\n position: absolute;\n left: -9999px;\n}\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration,\ninput[type=\"search\"]::-webkit-search-results-button,\ninput[type=\"search\"]::-webkit-search-results-decoration {\n display: none;\n}\n\ninput[type=\"search\"].truncate-value {\n width: 100%;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n@media (forced-colors: active) {\n input.readonly,\n textarea.readonly {\n color: canvastext;\n }\n\n .has-value ::slotted([slot=\"icon\"]) {\n fill: currentcolor;\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Listen,\n Prop,\n State,\n Watch,\n Method,\n h,\n forceUpdate,\n} from \"@stencil/core\";\nimport {\n IcInformationStatus,\n IcAutocompleteTypes,\n IcAutocorrectStates,\n IcInformationStatusOrEmpty,\n IcValueEventDetail,\n IcSizesNoLarge,\n IcThemeMode,\n} from \"../../utils/types\";\nimport {\n inheritAttributes,\n debounceEvent,\n getInputDescribedByText,\n renderHiddenInput,\n isEmptyString,\n onComponentRequiredPropUndefined,\n addFormResetListener,\n removeFormResetListener,\n isSlotUsed,\n removeDisabledFalse,\n checkSlotInChildMutations,\n removeHiddenInput,\n} from \"../../utils/helpers\";\nimport { IC_INHERITED_ARIA } from \"../../utils/constants\";\nimport {\n IcAriaAutocompleteTypes,\n IcTextFieldInputModes,\n IcTextFieldTypes,\n} from \"./ic-text-field.types\";\n\nlet inputIds = 0;\nconst MUTABLE_ATTRIBUTES = [...IC_INHERITED_ARIA, \"title\"];\n\n/**\n * @slot icon - Content will be placed to the left of the text input.\n */\n@Component({\n tag: \"ic-text-field\",\n styleUrl: \"ic-text-field.css\",\n shadow: true,\n})\nexport class TextField {\n private inheritedAttributes: { [k: string]: string } = {};\n private inputEl: HTMLInputElement | HTMLTextAreaElement;\n private hostMutationObserver: MutationObserver = null;\n private interval: ReturnType<typeof setInterval>;\n\n @Element() el: HTMLIcTextFieldElement;\n\n @State() numChars: number = 0;\n @State() maxCharactersReached: boolean = false;\n @State() maxCharactersWarning: boolean = false;\n @State() minCharactersUnattained: boolean = false;\n @State() maxValueExceeded: boolean = false;\n @State() minValueUnattained: boolean = false;\n\n /**\n * @slot clear-button - an ic-button clear component will render as an end adornment to the input.\n * @slot search-submit-button - an ic-button search submit component will render as an end adornment to the input.\n * @slot menu - an ic-menu component will appear below the input.\n */\n\n /**\n * @internal The active element when focus is on the ic-menu items.\n */\n @Prop() ariaActiveDescendant?: string;\n\n /**\n * @internal Used to identify whether inputting any text triggers more predictions\n */\n @Prop() ariaAutocomplete: IcAriaAutocompleteTypes = undefined;\n\n /**\n * @internal Used to identify if the slotted menu is rendered\n */\n @Prop() ariaExpanded: string;\n\n /**\n * @internal Used to identify any related child component\n */\n @Prop() ariaOwns: string;\n\n /**\n * The automatic capitalisation of the text value as it is entered/edited by the user.\n * Available options: \"off\", \"none\", \"on\", \"sentences\", \"words\", \"characters\".\n */\n @Prop() autocapitalize = \"off\";\n\n /**\n * The state of autocompletion the browser can apply on the text value.\n */\n @Prop() autocomplete: IcAutocompleteTypes = \"off\";\n\n /**\n * The state of autocorrection the browser can apply when the user is entering/editing the text value.\n */\n @Prop() autocorrect: IcAutocorrectStates = \"off\";\n\n /**\n * If `true`, the form control will have input focus when the page loads.\n */\n @Prop() autofocus = false;\n\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled: boolean = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * Specify whether the text field fills the full width of the container.\n * If `true`, this overrides the --input-width CSS variable.\n */\n @Prop() fullWidth: boolean = false;\n\n /**\n * The helper text that will be displayed for additional field guidance.\n */\n @Prop() helperText: string = \"\";\n\n /**\n * If `true`, the character count which is displayed when `maxCharacters` is set will be visually hidden.\n */\n @Prop() hideCharCount: boolean = false;\n\n /**\n * If `true`, the label will be hidden and the required label value will be applied as an aria-label.\n */\n @Prop() hideLabel: boolean = false;\n\n /**\n * @internal If `true`, the hidden form input will stop rendering for form submission.\n */\n @Prop() hiddenInput: boolean = true;\n\n /**\n * The ID for the input.\n */\n @Prop() inputId?: string = `ic-text-field-input-${inputIds++}`;\n\n /**\n * A hint to the browser for which keyboard to display.\n * Possible values: `\"none\"`, `\"text\"`, `\"tel\"`, `\"url\"`,\n * `\"email\"`, `\"numeric\"`, `\"decimal\"`, and `\"search\"`.\n */\n @Prop() inputmode: IcTextFieldInputModes = \"text\";\n\n /**\n * The label for the input.\n */\n @Prop() label!: string;\n\n /**\n * The maximum number that can be accepted as a value, when `type` is `number` and `rows` is `1`. (NOTE: Ensure to include visual indication of max value in `helperText` or `label`)\n */\n @Prop() max: string | number = undefined;\n\n /**\n * The count of characters in the field. Will display a warning if the bound is reached. (NOTE: If the value of the text field has been set using the `value` prop, it will be truncated to this number of characters)\n */\n @Prop() maxCharacters: number = 0;\n\n /**\n * The minimum number that can be accepted as a value, when `type` is `number` and `rows` is `1`. (NOTE: Ensure to include visual indication of min value in `helperText` or `label`)\n */\n @Prop() min: string | number = undefined;\n\n /**\n * The minimum number of characters that can be entered in the field.\n */\n @Prop() minCharacters: number = 0;\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name: string = this.inputId;\n\n /**\n * The placeholder value to be displayed.\n */\n @Prop() placeholder: string = \"\";\n\n /**\n * If `true`, the read only state will be set.\n */\n @Prop({ reflect: true }) readonly: boolean = false;\n\n /**\n * If `true`, the input will require a value.\n */\n @Prop() required: boolean = false;\n\n /**\n * If `true`, the multiline text area will be resizeable.\n */\n @Prop() resize: boolean = false;\n\n /**\n * @internal Used to set the role if not default textbox;\n */\n @Prop() role: string;\n\n /**\n * The number of rows to transform the text field into a text area with a specific height.\n */\n @Prop() rows: number = 1;\n\n /**\n * The size of the text field component.\n */\n @Prop() size?: IcSizesNoLarge = \"medium\";\n\n /**\n * If `true`, the value of the text field will have its spelling and grammar checked.\n */\n @Prop() spellcheck: boolean = false;\n\n /**\n * Sets the theme 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 * @internal If `true`, an ellipsis will be displayed at the end of the value if the value is longer than the container.\n */\n @Prop() truncateValue?: boolean;\n\n /**\n * The type of control to display. The default type is text.\n */\n @Prop() type: IcTextFieldTypes = \"text\";\n\n /**\n * If `true`, the icon in input control will be displayed - only applies when validationStatus ='success'.\n */\n @Prop() validationInline: boolean = false;\n\n /**\n * @internal If `true`, the validation will display inline.\n */\n @Prop() validationInlineInternal: boolean = false;\n\n /**\n * The validation state - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() validationStatus: IcInformationStatusOrEmpty = \"\";\n\n /**\n * The validation state - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() validationText: string = \"\";\n\n /**\n * The amount of time, in milliseconds, to wait to trigger the `icChange` event after each keystroke.\n */\n @Prop() debounce: number = 0;\n\n @Watch(\"debounce\")\n private debounceChanged() {\n this.icChange = debounceEvent(this.icChange, this.debounce);\n }\n\n /**\n * The value of the text field.\n */\n @Prop({ reflect: true, mutable: true }) value: string = \"\";\n @State() initialValue = this.value;\n\n @Watch(\"value\")\n private watchValueHandler(newValue: string): void {\n let value;\n\n if (this.maxCharacters > 0) {\n value = newValue.substring(0, this.maxCharacters);\n this.value = value;\n } else {\n value = newValue;\n }\n\n if (this.inputEl && this.inputEl.value !== value) {\n this.inputEl.value = value;\n }\n\n this.getMaxValueExceeded(value);\n\n this.getMaxCharactersReached(value);\n\n this.icChange.emit({ value });\n }\n\n /**\n * @internal Emitted when the validationInlineInternal is `true`\n */\n @Event() getValidationText: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when input loses focus.\n */\n @Event() icBlur: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when the value has changed.\n */\n @Event() icChange: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when input gains focus.\n */\n @Event() icFocus: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when a keyboard input occurred.\n */\n @Event() icInput: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when a keydown event occurred.\n */\n @Event() icKeydown: EventEmitter<{ event: KeyboardEvent }>;\n\n connectedCallback(): void {\n this.debounceChanged();\n }\n\n disconnectedCallback(): void {\n removeFormResetListener(this.el, this.handleFormReset);\n this.hostMutationObserver?.disconnect();\n }\n\n componentWillLoad(): void {\n if (this.value !== this.initialValue) {\n this.watchValueHandler(this.value);\n } else if (this.maxCharacters > 0) {\n this.value = this.value.substring(0, this.maxCharacters);\n }\n\n this.getMaxValueExceeded(this.value);\n this.getMaxCharactersReached(this.value);\n\n this.inheritedAttributes = inheritAttributes(this.el, MUTABLE_ATTRIBUTES);\n\n if (this.readonly) {\n this.maxValueExceeded = false;\n this.minValueUnattained = false;\n }\n\n addFormResetListener(this.el, this.handleFormReset);\n\n removeDisabledFalse(this.disabled, this.el);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Text Field\"\n );\n if (this.validationInlineInternal) {\n this.getValidationText.emit({ value: this.validationText });\n }\n\n this.hostMutationObserver = new MutationObserver(this.hostMutationCallback);\n this.hostMutationObserver.observe(this.el, {\n attributes: true,\n childList: true,\n });\n\n if (this.autofocus && !this.disabled && !this.readonly) {\n this.interval = setInterval(this.checkChildHydration, 50);\n }\n }\n\n private checkChildHydration = () => {\n const el = this.el.shadowRoot?.querySelector(\"ic-typography\");\n if (this.hideLabel || (el && el.classList.contains(\"hydrated\"))) {\n this.setFocus();\n clearInterval(this.interval);\n }\n };\n\n @Listen(\"keydown\", {})\n handleKeyDown(ev: KeyboardEvent): void {\n this.icKeydown.emit({ event: ev });\n this.maxCharactersWarning = this.maxCharactersReached;\n }\n\n /**\n * Sets focus on the native `input`.\n */\n\n @Method()\n async setFocus() {\n this.inputEl?.focus();\n }\n\n private getNumberOfCharacters = (value: string) =>\n value !== null && value !== undefined ? value.length : 0;\n\n private getMaxValueExceeded = (value: string) => {\n this.numChars = this.getNumberOfCharacters(value);\n\n if (this.type === \"number\") {\n this.minValueUnattained = value && Number(value) < Number(this.min);\n this.maxValueExceeded = Number(value) > Number(this.max);\n }\n };\n\n private getMaxCharactersReached = (value: string) => {\n this.numChars = this.getNumberOfCharacters(value);\n\n this.maxCharactersReached =\n this.maxCharacters > 0 ? this.numChars >= this.maxCharacters : false;\n\n if (this.maxCharactersWarning && !this.maxCharactersReached) {\n this.maxCharactersWarning = false;\n }\n };\n\n private onInput = (ev: Event) => {\n this.value = (ev.target as HTMLInputElement).value;\n this.icInput.emit({ value: this.value });\n };\n\n private onBlur = (ev: Event) => {\n const value = (ev.target as HTMLInputElement).value;\n this.numChars = value.length;\n this.minCharactersUnattained =\n this.minCharacters > 0 ? this.numChars < this.minCharacters : false;\n this.icBlur.emit({ value: value });\n };\n\n private onFocus = (ev: Event) => {\n this.icFocus.emit({ value: (ev.target as HTMLInputElement).value });\n };\n\n private hasStatus = (status: IcInformationStatusOrEmpty) =>\n status !== \"\" && !this.disabled;\n\n private handleFormReset = (): void => {\n this.value = this.initialValue;\n };\n\n // triggered when attributes of host element change\n private hostMutationCallback = (mutationList: MutationRecord[]): void => {\n let forceComponentUpdate = false;\n mutationList.forEach(\n ({ attributeName, type, addedNodes, removedNodes }) => {\n if (MUTABLE_ATTRIBUTES.includes(attributeName)) {\n this.inheritedAttributes[attributeName] =\n this.el.getAttribute(attributeName);\n forceComponentUpdate = true;\n } else if (type === \"childList\") {\n forceComponentUpdate = checkSlotInChildMutations(\n addedNodes,\n removedNodes,\n \"icon\"\n );\n }\n }\n );\n if (forceComponentUpdate) {\n forceUpdate(this);\n }\n };\n\n render() {\n const {\n inputId,\n name,\n label,\n required,\n size,\n placeholder,\n helperText,\n hideCharCount,\n rows,\n resize,\n disabled,\n value,\n min,\n max,\n numChars,\n readonly,\n maxCharacters,\n maxCharactersWarning,\n maxCharactersReached,\n minCharacters,\n minCharactersUnattained,\n minValueUnattained,\n maxValueExceeded,\n validationStatus,\n validationText,\n validationInline,\n validationInlineInternal,\n spellcheck,\n inputmode,\n fullWidth,\n truncateValue,\n hiddenInput,\n theme,\n } = this;\n\n const disabledMode = readonly || disabled;\n\n const currentStatus =\n maxValueExceeded ||\n minValueUnattained ||\n minCharactersUnattained ||\n maxCharactersWarning\n ? maxCharactersWarning\n ? IcInformationStatus.Warning\n : IcInformationStatus.Error\n : validationStatus;\n\n const currentValidationText = maxCharactersWarning\n ? `Maximum input is ${maxCharacters} characters`\n : maxValueExceeded\n ? `Maximum value of ${max} exceeded`\n : minValueUnattained\n ? `Minimum value of ${min} not met`\n : minCharactersUnattained\n ? `Minimum input is ${minCharacters} characters`\n : validationText;\n\n const maxNumChars = readonly ? 0 : maxCharacters;\n const messageAriaLive =\n maxCharactersWarning ||\n maxValueExceeded ||\n minValueUnattained ||\n currentStatus === IcInformationStatus.Error\n ? \"assertive\"\n : \"polite\";\n\n const showStatusText =\n this.hasStatus(currentStatus) &&\n !(currentStatus == IcInformationStatus.Success && validationInline) &&\n !validationInlineInternal;\n\n const multiline = rows > 1;\n\n const charsRemaining = maxNumChars - numChars;\n const hiddenRemainingCharCountDesc = `${charsRemaining} character${\n charsRemaining === 1 ? \"\" : \"s\"\n } remaining.`;\n const hiddenCharCountDescId =\n maxCharacters > 0 ? `${inputId}-char-count-desc` : \"\";\n\n const describedBy = `${hiddenCharCountDescId} ${getInputDescribedByText(\n inputId,\n helperText !== \"\",\n showStatusText\n )}`.trim();\n\n const disabledText = disabledMode && !readonly;\n const showLeftIcon =\n !!this.el.querySelector(`[slot=\"icon\"]`) && !disabledText;\n\n const invalid = `${currentStatus === IcInformationStatus.Error}`;\n\n hiddenInput\n ? renderHiddenInput(true, this.el, name, value, disabledMode)\n : removeHiddenInput(this.el);\n\n return (\n <Host\n class={{\n \"ic-text-field-full-width\": fullWidth,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n \"ic-text-field-disabled\": disabledMode,\n }}\n >\n <ic-input-container readonly={readonly} disabled={disabledMode}>\n {!this.hideLabel && (\n <ic-input-label\n for={inputId}\n label={label}\n helperText={helperText}\n required={required}\n disabled={disabledText}\n readonly={readonly}\n ></ic-input-label>\n )}\n\n <ic-input-component-container\n size={size}\n validationStatus={currentStatus}\n multiLine={multiline}\n disabled={disabledMode}\n readonly={readonly}\n validationInline={validationInline}\n fullWidth={fullWidth}\n >\n {showLeftIcon && (\n <span\n class={{\n readonly,\n \"has-value\": this.getNumberOfCharacters(value) > 0,\n }}\n slot=\"left-icon\"\n >\n <slot name=\"icon\" />\n </span>\n )}\n\n {!multiline ? (\n <input\n id={inputId}\n name={name}\n ref={(el) => (this.inputEl = el as HTMLInputElement)}\n type={this.type}\n min={min}\n max={max}\n value={value}\n class={{\n \"no-left-pad\": !showLeftIcon && readonly,\n readonly,\n \"truncate-value\": truncateValue,\n }}\n placeholder={placeholder ? placeholder : \"\"}\n required={required}\n disabled={disabledMode}\n readonly={readonly}\n onInput={this.onInput}\n onBlur={this.onBlur}\n onFocus={this.onFocus}\n aria-label={label}\n aria-describedby={describedBy}\n aria-invalid={invalid}\n aria-activedescendant={this.ariaActiveDescendant}\n aria-expanded={this.ariaExpanded}\n aria-owns={this.ariaOwns}\n autocomplete={this.autocomplete}\n autocapitalize={this.autocapitalize}\n spellcheck={spellcheck}\n inputmode={inputmode}\n role={this.role}\n maxlength={maxCharactersReached ? maxCharacters : null}\n minlength={minCharactersUnattained ? minCharacters : null}\n {...this.inheritedAttributes}\n ></input>\n ) : (\n <textarea\n id={inputId}\n class={{\n \"no-resize\": resize === false || readonly,\n \"no-left-pad\": !showLeftIcon && readonly,\n readonly,\n }}\n name={name}\n ref={(el) => (this.inputEl = el as HTMLTextAreaElement)}\n value={value}\n rows={rows}\n required={required}\n disabled={disabledMode}\n placeholder={placeholder ? placeholder : \"\"}\n readonly={readonly}\n onInput={this.onInput}\n onBlur={this.onBlur}\n onFocus={this.onFocus}\n aria-label={label}\n aria-describedby={describedBy}\n aria-invalid={invalid}\n autocapitalize={this.autocapitalize}\n spellcheck={spellcheck}\n inputmode={inputmode}\n maxlength={maxCharactersReached ? maxCharacters : null}\n minlength={minCharactersUnattained ? minCharacters : null}\n {...this.inheritedAttributes}\n ></textarea>\n )}\n {isSlotUsed(this.el, \"clear-button\") && (\n <slot name=\"clear-button\"></slot>\n )}\n {isSlotUsed(this.el, \"search-submit-button\") && (\n <slot name=\"search-submit-button\"></slot>\n )}\n </ic-input-component-container>\n {isSlotUsed(this.el, \"menu\") && <slot name=\"menu\"></slot>}\n {(!isEmptyString(validationStatus) ||\n !isEmptyString(validationText) ||\n maxNumChars > 0 ||\n maxValueExceeded ||\n maxCharactersWarning ||\n minCharactersUnattained ||\n minValueUnattained) &&\n !validationInlineInternal && (\n <ic-input-validation\n status={\n this.hasStatus(currentStatus) === false ||\n (currentStatus === IcInformationStatus.Success &&\n validationInline) ||\n validationInlineInternal\n ? \"\"\n : currentStatus\n }\n message={showStatusText ? currentValidationText : \"\"}\n ariaLiveMode={messageAriaLive}\n for={inputId}\n fullWidth={fullWidth}\n >\n {!readonly && maxNumChars > 0 && (\n <div slot=\"validation-message-adornment\">\n {!hideCharCount && (\n <ic-typography variant=\"caption\" class=\"char-count-text\">\n <span class=\"char-count\">\n {numChars}/{maxNumChars}\n </span>\n </ic-typography>\n )}\n <span class=\"remaining-char-count-desc\" aria-live=\"polite\">\n {hiddenRemainingCharCountDesc}\n </span>\n <span hidden={true} id={hiddenCharCountDescId}>\n Field can contain a maximum of {maxNumChars} characters.\n </span>\n </div>\n )}\n </ic-input-validation>\n )}\n </ic-input-container>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"ic-text-field.entry.cjs.js","mappings":"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","names":["IC_INHERITED_ARIA","checkSlotInChildMutations","forceUpdate","removeDisabledFalse","debounceEvent","removeFormResetListener","inheritAttributes","addFormResetListener","onComponentRequiredPropUndefined","IGNORED_KEYBOARD_CHARACTERS","IcInformationStatus","getInputDescribedByText","renderHiddenInput","removeHiddenInput","h","Host","isSlotUsed","isEmptyString"],"sources":["src/components/ic-text-field/ic-text-field.css?tag=ic-text-field&encapsulation=shadow","src/components/ic-text-field/ic-text-field.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n /**\n * @prop --input-width: Width of the input field\n */\n display: block;\n\n --ic-input-label-helpertext-padding: var(--ic-space-xxs);\n --border-color: var(--ic-text-field-border-neutral);\n --border-color-hover: var(--ic-text-field-border-neutral-hover);\n --border-color-pressed: var(--ic-text-field-border-neutral-pressed);\n --border-color-disabled: var(--ic-text-field-border-disabled);\n --border-color-error: var(--ic-text-field-border-error);\n --border-color-error-hover: var(--ic-text-field-border-error-hover);\n --border-color-error-pressed: var(--ic-text-field-border-error-pressed);\n --border-color-success: var(--ic-text-field-border-success);\n --border-color-success-hover: var(--ic-text-field-border-success-hover);\n --border-color-success-pressed: var(--ic-text-field-border-success-pressed);\n --border-color-warning: var(--ic-text-field-border-warning);\n --border-color-warning-hover: var(--ic-text-field-border-warning-hover);\n --border-color-warning-pressed: var(--ic-text-field-border-warning-pressed);\n --ic-input-label-text-color: var(--ic-text-field-label);\n --ic-input-label-helper-text-color: var(--ic-text-field-subtitle);\n --ic-input-validation-status-text-color: var(--ic-text-field-state-text);\n --ic-input-validation-error: var(--ic-text-field-state-icon-error);\n --ic-input-validation-warning-icon-color: var(\n --ic-text-field-state-icon-warning\n );\n --ic-input-validation-success-icon-color: var(\n --ic-text-field-state-icon-success\n );\n --ic-input-component-container-success-icon-inline-color: var(\n --ic-text-field-state-icon-success\n );\n}\n\n:host(.ic-text-field-disabled) {\n --ic-input-label-text-color: var(--ic-text-field-label-disabled);\n --ic-input-label-helper-text-color: var(--ic-text-field-subtitle-disabled);\n --text-field-placeholder-color: var(\n --ic-text-field-text-area-placeholder-text-disabled\n );\n}\n\n:host(.ic-text-field-full-width) {\n width: 100%;\n}\n\n::placeholder {\n color: var(\n --text-field-placeholder-color,\n var(--ic-text-field-placeholder-text)\n );\n opacity: 1;\n}\n\ninput,\ntextarea {\n border: 0;\n border-radius: var(--ic-border-radius);\n color: var(--text-field-text-color, var(--ic-text-field-text));\n background-color: var(--input-bg-color, var(--ic-text-field-background));\n line-height: 1.5rem;\n letter-spacing: 0.005rem;\n width: 100%;\n padding-right: var(--ic-space-xs);\n padding-left: var(--ic-space-xs);\n caret-color: var(\n --text-field-typing-cursor,\n var(--ic-text-field-typing-cursor)\n );\n}\n\ntextarea {\n min-height: var(--ic-space-lg);\n resize: vertical;\n padding-top: 0.375rem;\n}\n\ninput:focus,\ntextarea:focus {\n border: 0;\n outline: 0;\n}\n\ninput:disabled,\ntextarea:disabled {\n color: var(\n --text-field-disabled-text-color,\n var(--ic-text-field-text-disabled)\n );\n}\n\ninput.readonly,\ntextarea.readonly {\n color: var(--ic-text-field-read-only-input-text-internal);\n background: transparent;\n}\n\n/* Chrome, Safari, Edge */\ninput::-webkit-outer-spin-button,\ninput::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n}\n\n/* Firefox */\ninput[type=\"number\"] {\n -moz-appearance: textfield;\n}\n\ntextarea.no-resize {\n resize: none;\n}\n\n.char-count-text {\n --ic-typography-color: var(--ic-text-field-character-limit);\n\n padding-right: var(--ic-space-xxxs);\n}\n\n:host(.ic-text-field-disabled) .char-count-text {\n --ic-typography-color: var(--ic-text-field-character-limit-disabled);\n}\n\n.no-left-pad {\n padding-left: 0;\n}\n\n::slotted([slot=\"icon\"]) {\n fill: var(--ic-text-field-text-disabled);\n}\n\n.has-value ::slotted([slot=\"icon\"]) {\n fill: var(--ic-text-field-input-internal-icon);\n}\n\n.char-count {\n margin-right: calc(-1 * var(--ic-space-xxxs));\n}\n\n.remaining-char-count-desc {\n position: absolute;\n left: -9999px;\n}\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration,\ninput[type=\"search\"]::-webkit-search-results-button,\ninput[type=\"search\"]::-webkit-search-results-decoration {\n display: none;\n}\n\ninput[type=\"search\"].truncate-value {\n width: 100%;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n@media (forced-colors: active) {\n input.readonly,\n textarea.readonly {\n color: canvastext;\n }\n\n .has-value ::slotted([slot=\"icon\"]) {\n fill: currentcolor;\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Listen,\n Prop,\n State,\n Watch,\n Method,\n h,\n forceUpdate,\n} from \"@stencil/core\";\nimport {\n IcInformationStatus,\n IcAutocompleteTypes,\n IcAutocorrectStates,\n IcInformationStatusOrEmpty,\n IcValueEventDetail,\n IcSizesNoLarge,\n IcThemeMode,\n} from \"../../utils/types\";\nimport {\n inheritAttributes,\n debounceEvent,\n getInputDescribedByText,\n renderHiddenInput,\n isEmptyString,\n onComponentRequiredPropUndefined,\n addFormResetListener,\n removeFormResetListener,\n isSlotUsed,\n removeDisabledFalse,\n checkSlotInChildMutations,\n removeHiddenInput,\n} from \"../../utils/helpers\";\nimport {\n IC_INHERITED_ARIA,\n IGNORED_KEYBOARD_CHARACTERS,\n} from \"../../utils/constants\";\nimport {\n IcAriaAutocompleteTypes,\n IcTextFieldInputModes,\n IcTextFieldTypes,\n} from \"./ic-text-field.types\";\n\nlet inputIds = 0;\nconst MUTABLE_ATTRIBUTES = [...IC_INHERITED_ARIA, \"title\"];\n\n/**\n * @slot icon - Content will be placed to the left of the text input.\n */\n@Component({\n tag: \"ic-text-field\",\n styleUrl: \"ic-text-field.css\",\n shadow: true,\n})\nexport class TextField {\n private inheritedAttributes: { [k: string]: string } = {};\n private inputEl: HTMLInputElement | HTMLTextAreaElement;\n private hostMutationObserver: MutationObserver | null = null;\n private interval: ReturnType<typeof setInterval>;\n\n @Element() el: HTMLIcTextFieldElement;\n\n @State() numChars: number = 0;\n @State() maxCharactersReached: boolean = false;\n @State() maxCharactersWarning: boolean = false;\n @State() minCharactersUnattained: boolean = false;\n @State() maxValueExceeded: boolean = false;\n @State() minValueUnattained: boolean = false;\n\n /**\n * @slot clear-button - an ic-button clear component will render as an end adornment to the input.\n * @slot search-submit-button - an ic-button search submit component will render as an end adornment to the input.\n * @slot menu - an ic-menu component will appear below the input.\n */\n\n /**\n * @internal The active element when focus is on the ic-menu items.\n */\n @Prop() ariaActiveDescendant?: string;\n\n /**\n * @internal Used to identify whether inputting any text triggers more predictions\n */\n @Prop() ariaAutocomplete?: IcAriaAutocompleteTypes = undefined;\n\n /**\n * @internal Used to identify if the slotted menu is rendered\n */\n @Prop() ariaExpanded: string | undefined;\n\n /**\n * @internal Used to identify any related child component\n */\n @Prop() ariaOwns?: string;\n\n /**\n * The automatic capitalisation of the text value as it is entered/edited by the user.\n * Available options: \"off\", \"none\", \"on\", \"sentences\", \"words\", \"characters\".\n */\n @Prop() autocapitalize: string | undefined = \"off\";\n\n /**\n * The state of autocompletion the browser can apply on the text value.\n */\n @Prop() autocomplete?: IcAutocompleteTypes = \"off\";\n\n /**\n * The state of autocorrection the browser can apply when the user is entering/editing the text value.\n */\n @Prop() autocorrect?: IcAutocorrectStates = \"off\";\n\n /**\n * If `true`, the form control will have input focus when the page loads.\n */\n @Prop() autofocus: boolean | undefined = false;\n\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled?: boolean = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el as HTMLElement);\n }\n\n /**\n * Specify whether the text field fills the full width of the container.\n * If `true`, this overrides the --input-width CSS variable.\n */\n @Prop() fullWidth?: boolean = false;\n\n /**\n * The helper text that will be displayed for additional field guidance.\n */\n @Prop() helperText?: string = \"\";\n\n /**\n * If `true`, the character count which is displayed when `maxCharacters` is set will be visually hidden.\n */\n @Prop() hideCharCount?: boolean = false;\n\n /**\n * If `true`, the label will be hidden and the required label value will be applied as an aria-label.\n */\n @Prop() hideLabel?: boolean = false;\n\n /**\n * @internal If `true`, the hidden form input will stop rendering for form submission.\n */\n @Prop() hiddenInput?: boolean = true;\n\n /**\n * The ID for the input.\n */\n @Prop() inputId?: string = `ic-text-field-input-${inputIds++}`;\n\n /**\n * A hint to the browser for which keyboard to display.\n * Possible values: `\"none\"`, `\"text\"`, `\"tel\"`, `\"url\"`,\n * `\"email\"`, `\"numeric\"`, `\"decimal\"`, and `\"search\"`.\n */\n @Prop() inputmode?: IcTextFieldInputModes = \"text\";\n\n /**\n * The label for the input.\n */\n @Prop() label!: string;\n\n /**\n * The maximum number that can be accepted as a value, when `type` is `number` and `rows` is `1`. (NOTE: Ensure to include visual indication of max value in `helperText` or `label`)\n */\n @Prop() max?: string | number;\n\n /**\n * The count of characters in the field. Will display a warning if the bound is reached. (NOTE: If the value of the text field has been set using the `value` prop, it will be truncated to this number of characters)\n */\n @Prop() maxCharacters?: number = 0;\n\n /**\n * The text to display as the warning message when the maximum number of characters (the `maxCharacters` prop value) is reached.\n */\n // prettier-ignore\n @Prop() maxCharactersMessage?: string = `Maximum input is ${this.maxCharacters} characters`;\n\n /**\n * The text to display as the error message when the maximum value (the `max` prop value) has been exceeded.\n */\n @Prop() maxMessage?: string = `Maximum value of ${this.max} exceeded`;\n\n /**\n * The minimum number that can be accepted as a value, when `type` is `number` and `rows` is `1`. (NOTE: Ensure to include visual indication of min value in `helperText` or `label`)\n */\n @Prop() min?: string | number;\n\n /**\n * The minimum number of characters that can be entered in the field.\n */\n @Prop() minCharacters?: number = 0;\n\n /**\n * The text to display as the error message when the minimum number of characters (the `minCharacters` prop value) has not been met.\n */\n // prettier-ignore\n @Prop() minCharactersMessage?: string = `Minimum input is ${this.minCharacters} characters`;\n\n /**\n * The text to display as the error message when the minimum value (the `min` prop value) has not been met.\n */\n @Prop() minMessage?: string = `Minimum value of ${this.min} not met`;\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name?: string = this.inputId;\n\n /**\n * The placeholder value to be displayed.\n */\n @Prop() placeholder?: string = \"\";\n\n /**\n * If `true`, the read only state will be set.\n */\n @Prop({ reflect: true }) readonly?: boolean = false;\n\n /**\n * If `true`, the input will require a value.\n */\n @Prop() required?: boolean = false;\n\n /**\n * If `true`, the multiline text area will be resizeable.\n */\n @Prop() resize?: boolean = false;\n\n /**\n * @internal Used to set the role if not default textbox;\n */\n @Prop() role: string | undefined;\n\n /**\n * The number of rows to transform the text field into a text area with a specific height.\n */\n @Prop() rows?: number = 1;\n\n /**\n * The size of the text field component.\n */\n @Prop() size?: IcSizesNoLarge = \"medium\";\n\n /**\n * If `true`, the value of the text field will have its spelling and grammar checked.\n */\n @Prop() spellcheck: boolean | undefined = false;\n\n /**\n * Sets the theme 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 * @internal If `true`, an ellipsis will be displayed at the end of the value if the value is longer than the container.\n */\n @Prop() truncateValue?: boolean;\n\n /**\n * The type of control to display. The default type is text.\n */\n @Prop() type?: IcTextFieldTypes = \"text\";\n\n /**\n * If `true`, the icon in input control will be displayed - only applies when validationStatus ='success'.\n */\n @Prop() validationInline?: boolean = false;\n\n /**\n * @internal If `true`, the validation will display inline.\n */\n @Prop() validationInlineInternal?: boolean = false;\n\n /**\n * The validation state - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() validationStatus?: IcInformationStatusOrEmpty = \"\";\n\n /**\n * The text to display as the validation message.\n */\n @Prop() validationText?: string = \"\";\n\n /**\n * The amount of time, in milliseconds, to wait to trigger the `icChange` event after each keystroke.\n */\n @Prop() debounce?: number = 0;\n\n @Watch(\"debounce\")\n private debounceChanged() {\n this.icChange = debounceEvent(this.icChange, this.debounce!);\n }\n\n /**\n * The value of the text field.\n */\n @Prop({ reflect: true, mutable: true }) value: string = \"\";\n @State() initialValue = this.value;\n\n @Watch(\"value\")\n private watchValueHandler(newValue: string): void {\n let value;\n\n if (this.maxCharacters! > 0) {\n value = newValue.substring(0, this.maxCharacters);\n if (value!.length < newValue!.length) {\n this.maxCharactersWarning = true;\n }\n this.value = value;\n } else {\n value = newValue;\n }\n\n if (this.inputEl && this.inputEl.value !== value) {\n this.inputEl.value = value;\n }\n\n this.getMaxValueExceeded(value);\n\n this.getMaxCharactersReached(value);\n\n this.icChange.emit({ value });\n }\n\n /**\n * @internal Emitted when the validationInlineInternal is `true`\n */\n @Event() getValidationText: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when input loses focus.\n */\n @Event() icBlur: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when the value has changed.\n */\n @Event() icChange: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when input gains focus.\n */\n @Event() icFocus: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when a keyboard input occurred.\n */\n @Event() icInput: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when a keydown event occurred.\n */\n @Event() icKeydown: EventEmitter<{ event: KeyboardEvent }>;\n\n connectedCallback(): void {\n this.debounceChanged();\n }\n\n disconnectedCallback(): void {\n removeFormResetListener(this.el as HTMLElement, this.handleFormReset);\n this.hostMutationObserver?.disconnect();\n }\n\n componentWillLoad(): void {\n if (this.value !== this.initialValue) {\n this.watchValueHandler(this.value);\n } else if (this.maxCharacters! > 0) {\n this.value = this.value.substring(0, this.maxCharacters);\n }\n\n this.getMaxValueExceeded(this.value);\n this.getMaxCharactersReached(this.value);\n\n this.inheritedAttributes = inheritAttributes(\n this.el as HTMLElement,\n MUTABLE_ATTRIBUTES\n );\n\n if (this.readonly) {\n this.maxValueExceeded = false;\n this.minValueUnattained = false;\n }\n\n addFormResetListener(this.el as HTMLElement, this.handleFormReset);\n\n removeDisabledFalse(this.disabled, this.el as HTMLElement);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Text Field\"\n );\n if (this.validationInlineInternal) {\n this.getValidationText.emit({ value: this.validationText! });\n }\n\n this.hostMutationObserver = new MutationObserver(this.hostMutationCallback);\n this.hostMutationObserver.observe(this.el, {\n attributes: true,\n childList: true,\n });\n\n if (this.autofocus && !this.disabled && !this.readonly) {\n this.interval = setInterval(this.checkChildHydration, 50);\n }\n }\n\n private checkChildHydration = () => {\n const el = this.el.shadowRoot?.querySelector(\"ic-typography\");\n if (this.hideLabel || (el && el.classList.contains(\"hydrated\"))) {\n this.setFocus();\n clearInterval(this.interval);\n }\n };\n\n @Listen(\"keydown\", {})\n handleKeyDown(ev: KeyboardEvent): void {\n this.icKeydown.emit({ event: ev });\n\n if (!ev.ctrlKey && !IGNORED_KEYBOARD_CHARACTERS.includes(ev.key)) {\n this.maxCharactersWarning = this.maxCharactersReached;\n }\n }\n\n /**\n * Sets focus on the native `input`.\n */\n\n @Method()\n async setFocus() {\n this.inputEl?.focus();\n }\n\n private getNumberOfCharacters = (value: string) =>\n value !== null && value !== undefined ? value.length : 0;\n\n private getMaxValueExceeded = (value: string) => {\n this.numChars = this.getNumberOfCharacters(value);\n\n if (this.type === \"number\") {\n this.minValueUnattained = !!value && Number(value) < Number(this.min);\n this.maxValueExceeded = Number(value) > Number(this.max);\n }\n };\n\n private getMaxCharactersReached = (value: string) => {\n this.numChars = this.getNumberOfCharacters(value);\n\n this.maxCharactersReached =\n this.maxCharacters! > 0 ? this.numChars >= this.maxCharacters! : false;\n\n if (this.maxCharactersWarning && !this.maxCharactersReached) {\n this.maxCharactersWarning = false;\n }\n };\n\n private onInput = (ev: Event) => {\n this.value = (ev.target as HTMLInputElement).value;\n this.icInput.emit({ value: this.value });\n };\n\n private onBlur = (ev: Event) => {\n const target = ev.target as HTMLInputElement;\n target.removeEventListener(\"wheel\", this.onWheel);\n const value = (ev.target as HTMLInputElement).value;\n this.numChars = value.length;\n this.minCharactersUnattained =\n this.minCharacters! > 0 ? this.numChars < this.minCharacters! : false;\n this.icBlur.emit({ value: value });\n };\n\n private onFocus = (ev: Event) => {\n const target = ev.target as HTMLInputElement;\n target.addEventListener(\"wheel\", this.onWheel);\n this.icFocus.emit({ value: (ev.target as HTMLInputElement).value });\n };\n\n private onWheel = (ev: WheelEvent) => {\n const target = ev.target as HTMLInputElement;\n if (target.type === \"number\") {\n target.blur();\n setTimeout(() => {\n target.focus();\n }, 0);\n }\n };\n\n private hasStatus = (status: IcInformationStatusOrEmpty) =>\n status !== \"\" && !this.disabled;\n\n private handleFormReset = (): void => {\n this.value = this.initialValue;\n };\n\n // triggered when attributes of host element change\n private hostMutationCallback = (mutationList: MutationRecord[]): void => {\n let forceComponentUpdate = false;\n mutationList.forEach(\n ({ attributeName, type, addedNodes, removedNodes }) => {\n if (attributeName && MUTABLE_ATTRIBUTES.includes(attributeName)) {\n const attribute = this.el.getAttribute(attributeName);\n if (attribute) {\n this.inheritedAttributes[attributeName] = attribute;\n }\n forceComponentUpdate = true;\n } else if (type === \"childList\") {\n forceComponentUpdate = checkSlotInChildMutations(\n addedNodes,\n removedNodes,\n \"icon\"\n );\n }\n }\n );\n if (forceComponentUpdate) {\n forceUpdate(this);\n }\n };\n\n render() {\n const {\n inputId,\n name,\n label,\n required,\n size,\n placeholder,\n helperText,\n hideCharCount,\n rows,\n resize,\n disabled,\n value,\n min,\n max,\n numChars,\n readonly,\n maxCharacters,\n maxCharactersMessage,\n maxCharactersWarning,\n maxCharactersReached,\n maxMessage,\n minCharacters,\n minCharactersMessage,\n minCharactersUnattained,\n minMessage,\n minValueUnattained,\n maxValueExceeded,\n validationStatus,\n validationText,\n validationInline,\n validationInlineInternal,\n spellcheck,\n inputmode,\n fullWidth,\n truncateValue,\n hiddenInput,\n theme,\n } = this;\n\n const el = this.el as HTMLElement;\n\n const disabledMode = readonly || disabled;\n\n const currentStatus =\n maxValueExceeded ||\n minValueUnattained ||\n minCharactersUnattained ||\n maxCharactersWarning\n ? maxCharactersWarning\n ? IcInformationStatus.Warning\n : IcInformationStatus.Error\n : validationStatus;\n\n const currentValidationText = maxCharactersWarning\n ? maxCharactersMessage\n : maxValueExceeded\n ? maxMessage\n : minValueUnattained\n ? minMessage\n : minCharactersUnattained\n ? minCharactersMessage\n : validationText;\n\n const maxNumChars = readonly ? 0 : maxCharacters;\n const messageAriaLive =\n maxCharactersWarning ||\n maxValueExceeded ||\n minValueUnattained ||\n currentStatus === IcInformationStatus.Error\n ? \"assertive\"\n : \"polite\";\n\n const showStatusText =\n this.hasStatus(currentStatus!) &&\n !(currentStatus == IcInformationStatus.Success && validationInline) &&\n !validationInlineInternal;\n\n const multiline = rows! > 1;\n\n const charsRemaining = maxNumChars! - numChars;\n const hiddenRemainingCharCountDesc = `${charsRemaining} character${\n charsRemaining === 1 ? \"\" : \"s\"\n } remaining.`;\n const hiddenCharCountDescId =\n maxCharacters! > 0 ? `${inputId}-char-count-desc` : \"\";\n\n const describedBy = `${hiddenCharCountDescId} ${getInputDescribedByText(\n inputId!,\n helperText !== \"\",\n showStatusText\n )}`.trim();\n\n const disabledText = disabledMode && !readonly;\n const showLeftIcon =\n !!this.el.querySelector(`[slot=\"icon\"]`) && !disabledText;\n\n const invalid = `${currentStatus === IcInformationStatus.Error}`;\n\n hiddenInput\n ? renderHiddenInput(\n true,\n this.el as HTMLElement,\n name!,\n value,\n disabledMode\n )\n : removeHiddenInput(this.el as HTMLElement);\n\n return (\n <Host\n class={{\n \"ic-text-field-full-width\": !!fullWidth,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n \"ic-text-field-disabled\": !!disabledMode,\n }}\n >\n <ic-input-container readonly={readonly} disabled={disabledMode}>\n {!this.hideLabel && (\n <ic-input-label\n for={inputId}\n label={label}\n helperText={helperText}\n required={required}\n disabled={disabledText}\n readonly={readonly}\n ></ic-input-label>\n )}\n\n <ic-input-component-container\n size={size}\n validationStatus={currentStatus}\n multiLine={multiline}\n disabled={disabledMode}\n readonly={readonly}\n validationInline={validationInline}\n fullWidth={fullWidth}\n >\n {showLeftIcon && (\n <span\n class={{\n readonly: !!readonly,\n \"has-value\": this.getNumberOfCharacters(value) > 0,\n }}\n slot=\"left-icon\"\n >\n <slot name=\"icon\" />\n </span>\n )}\n\n {!multiline ? (\n <input\n id={inputId}\n name={name}\n ref={(el) => (this.inputEl = el as HTMLInputElement)}\n type={this.type}\n min={min}\n max={max}\n value={value}\n class={{\n \"no-left-pad\": !showLeftIcon && !!readonly,\n readonly: !!readonly,\n \"truncate-value\": !!truncateValue,\n }}\n placeholder={placeholder ? placeholder : \"\"}\n required={required}\n disabled={disabledMode}\n readonly={readonly}\n onInput={this.onInput}\n onBlur={this.onBlur}\n onFocus={this.onFocus}\n aria-label={label}\n aria-describedby={describedBy}\n aria-invalid={invalid}\n aria-activedescendant={this.ariaActiveDescendant}\n aria-expanded={this.ariaExpanded}\n aria-owns={this.ariaOwns}\n autocomplete={this.autocomplete}\n autocapitalize={this.autocapitalize}\n spellcheck={spellcheck}\n inputmode={inputmode}\n role={this.role}\n maxlength={maxCharactersReached ? maxCharacters : undefined}\n minlength={minCharactersUnattained ? minCharacters : undefined}\n {...this.inheritedAttributes}\n ></input>\n ) : (\n <textarea\n id={inputId}\n class={{\n \"no-resize\": resize === false || !!readonly,\n \"no-left-pad\": !showLeftIcon && !!readonly,\n readonly: !!readonly,\n }}\n name={name}\n ref={(el) => (this.inputEl = el as HTMLTextAreaElement)}\n value={value}\n rows={rows}\n required={required}\n disabled={disabledMode}\n placeholder={placeholder ? placeholder : \"\"}\n readonly={readonly}\n onInput={this.onInput}\n onBlur={this.onBlur}\n onFocus={this.onFocus}\n aria-label={label}\n aria-describedby={describedBy}\n aria-invalid={invalid}\n autocapitalize={this.autocapitalize}\n spellcheck={spellcheck}\n inputmode={inputmode}\n maxlength={maxCharactersReached ? maxCharacters : undefined}\n minlength={minCharactersUnattained ? minCharacters : undefined}\n {...this.inheritedAttributes}\n ></textarea>\n )}\n {isSlotUsed(el, \"clear-button\") && (\n <slot name=\"clear-button\"></slot>\n )}\n {isSlotUsed(el, \"search-submit-button\") && (\n <slot name=\"search-submit-button\"></slot>\n )}\n </ic-input-component-container>\n {isSlotUsed(el, \"menu\") && <slot name=\"menu\"></slot>}\n {(!isEmptyString(validationStatus!) ||\n !isEmptyString(validationText!) ||\n maxNumChars! > 0 ||\n maxValueExceeded ||\n maxCharactersWarning ||\n minCharactersUnattained ||\n minValueUnattained) &&\n !validationInlineInternal && (\n <ic-input-validation\n status={\n this.hasStatus(currentStatus!) === false ||\n (currentStatus === IcInformationStatus.Success &&\n validationInline) ||\n validationInlineInternal\n ? \"\"\n : currentStatus\n }\n message={showStatusText ? currentValidationText! : \"\"}\n ariaLiveMode={messageAriaLive}\n for={inputId}\n fullWidth={fullWidth}\n >\n {!readonly && maxNumChars! > 0 && (\n <div slot=\"validation-message-adornment\">\n {!hideCharCount && (\n <ic-typography variant=\"caption\" class=\"char-count-text\">\n <span class=\"char-count\">\n {numChars}/{maxNumChars}\n </span>\n </ic-typography>\n )}\n <span class=\"remaining-char-count-desc\" aria-live=\"polite\">\n {hiddenRemainingCharCountDesc}\n </span>\n <span hidden={true} id={hiddenCharCountDescId}>\n Field can contain a maximum of {maxNumChars} characters.\n </span>\n </div>\n )}\n </ic-input-validation>\n )}\n </ic-input-container>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -2,13 +2,22 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-f982899d.js');
6
- const helpers = require('./helpers-eca4c27e.js');
5
+ const index = require('./index-d337cd8a.js');
6
+ const helpers = require('./helpers-a0a128bd.js');
7
7
 
8
8
  const Theme = class {
9
9
  constructor(hostRef) {
10
10
  index.registerInstance(this, hostRef);
11
11
  this.brandChange = index.createEvent(this, "brandChange", 7);
12
+ this.themeClass = "";
13
+ /**
14
+ * The brand colour. Can be a hex value e.g. "#ff0000", RGB e.g. "rgb(255, 0, 0)", or RGBA e.g. "rgba(255, 0, 0, 1)".
15
+ */
16
+ this.brandColor = null;
17
+ /**
18
+ * The theme mode. Can be "dark", "light", or "system". "system" will use the device or browser settings.
19
+ */
20
+ this.theme = "light";
12
21
  this.darkModeChangeHandler = () => {
13
22
  if (this.theme === "system") {
14
23
  this.themeClass =
@@ -28,7 +37,7 @@ const Theme = class {
28
37
  }
29
38
  };
30
39
  this.setBrandColor = () => {
31
- const colorRGBA = helpers.convertToRGBA(this.brandColor);
40
+ const colorRGBA = this.brandColor ? helpers.convertToRGBA(this.brandColor) : null;
32
41
  if (colorRGBA) {
33
42
  const { r, g, b, a } = colorRGBA;
34
43
  const { style } = document.documentElement;
@@ -43,9 +52,6 @@ const Theme = class {
43
52
  });
44
53
  }
45
54
  };
46
- this.themeClass = "";
47
- this.brandColor = null;
48
- this.theme = "light";
49
55
  }
50
56
  watchBrandColorPropHandler() {
51
57
  this.setBrandColor();
@@ -63,7 +69,7 @@ const Theme = class {
63
69
  }
64
70
  render() {
65
71
  const { themeClass } = this;
66
- return (index.h(index.Host, { class: themeClass }, index.h("slot", null)));
72
+ return (index.h(index.Host, { key: '8b3a86598f9539940fdfc534c4482246b043985c', class: themeClass }, index.h("slot", { key: '0d55a0ae9b75cfeccf0aa30bd31a2c3a09058ce7' })));
67
73
  }
68
74
  static get watchers() { return {
69
75
  "brandColor": ["watchBrandColorPropHandler"],
@@ -1 +1 @@
1
- {"file":"ic-theme.entry.cjs.js","mappings":";;;;;;;MAyBa,KAAK;;;;QAsCR,0BAAqB,GAAG;YAC9B,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE;gBAC3B,IAAI,CAAC,UAAU;oBACb,MAAM,CAAC,UAAU;wBACjB,MAAM,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC,OAAO;0BACrD,eAAe;0BACf,gBAAgB,CAAC;aACxB;iBAAM;gBACL,IAAI,CAAC,UAAU,GAAG,YAAY,IAAI,CAAC,KAAK,EAAE,CAAC;aAC5C;SACF,CAAC;QAEM,4BAAuB,GAAG;YAChC,IACEA,+BAAuB,EAAE,GAAGC,kCAA0B;gBACtDD,+BAAuB,EAAE,GAAGE,kCAA0B,EACtD;gBACA,OAAO,CAAC,IAAI,CACV,2TAA2T,CAC5T,CAAC;aACH;SACF,CAAC;QAEM,kBAAa,GAAG;YACtB,MAAM,SAAS,GAAGC,qBAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAEjD,IAAI,SAAS,EAAE;gBACb,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC;gBACjC,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;gBAC3C,KAAK,CAAC,WAAW,CAAC,4BAA4B,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBACxD,KAAK,CAAC,WAAW,CAAC,4BAA4B,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBACxD,KAAK,CAAC,WAAW,CAAC,4BAA4B,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBACxD,KAAK,CAAC,WAAW,CAAC,4BAA4B,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBAExD,IAAI,CAAC,uBAAuB,EAAE,CAAC;gBAE/B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;oBACpB,IAAI,EAAEC,oCAA4B,EAAE;oBACpC,KAAK,EAAE,SAAS;iBACjB,CAAC,CAAC;aACJ;SACF,CAAC;0BA9E4B,EAAE;0BAKD,IAAI;qBAUU,OAAO;;IAPpD,0BAA0B;QACxB,IAAI,CAAC,aAAa,EAAE,CAAC;KACtB;IAQD,qBAAqB;QACnB,IAAI,CAAC,qBAAqB,EAAE,CAAC;KAC9B;IAOD,iBAAiB;QACf,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,MAAM,CAAC,UAAU;YACf,MAAM;iBACH,UAAU,CAAC,8BAA8B,CAAC;iBAC1C,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;KAC7D;IA6CD,MAAM;QACJ,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;QAE5B,QACEC,QAACC,UAAI,IAAC,KAAK,EAAE,UAAU,IACrBD,qBAAa,CACR,EACP;KACH;;;;;;;;;","names":["getBrandColorBrightness","BLACK_MIN_COLOR_BRIGHTNESS","WHITE_MAX_COLOR_BRIGHTNESS","convertToRGBA","getBrandForegroundAppearance","h","Host"],"sources":["src/components/ic-theme/ic-theme.tsx"],"sourcesContent":["import {\n Component,\n Host,\n Event,\n EventEmitter,\n h,\n Watch,\n Prop,\n State,\n} from \"@stencil/core\";\n\nimport { IcColor, IcBrand } from \"../../utils/types\";\nimport {\n convertToRGBA,\n getBrandForegroundAppearance,\n} from \"../../utils/helpers\";\nimport { getBrandColorBrightness } from \"../../utils/helpers\";\nimport {\n BLACK_MIN_COLOR_BRIGHTNESS,\n WHITE_MAX_COLOR_BRIGHTNESS,\n} from \"../../utils/constants\";\n\n@Component({\n tag: \"ic-theme\",\n})\nexport class Theme {\n @State() themeClass: string = \"\";\n\n /**\n * The brand colour. Can be a hex value e.g. \"#ff0000\", RGB e.g. \"rgb(255, 0, 0)\", or RGBA e.g. \"rgba(255, 0, 0, 1)\".\n */\n @Prop() brandColor?: IcColor = null;\n\n @Watch(\"brandColor\")\n watchBrandColorPropHandler(): void {\n this.setBrandColor();\n }\n\n /**\n * The theme mode. Can be \"dark\", \"light\", or \"system\". \"system\" will use the device or browser settings.\n */\n @Prop() theme: \"dark\" | \"light\" | \"system\" = \"light\";\n\n @Watch(\"theme\")\n watchThemePropHandler(): void {\n this.darkModeChangeHandler();\n }\n\n /**\n * @internal Emitted when the brand color is changed.\n */\n @Event() brandChange: EventEmitter<IcBrand>;\n\n componentWillLoad(): void {\n this.darkModeChangeHandler();\n this.setBrandColor();\n\n window.matchMedia &&\n window\n .matchMedia(\"(prefers-color-scheme: dark)\")\n .addEventListener(\"change\", this.darkModeChangeHandler);\n }\n\n private darkModeChangeHandler = (): void => {\n if (this.theme === \"system\") {\n this.themeClass =\n window.matchMedia &&\n window.matchMedia(\"(prefers-color-scheme: dark)\").matches\n ? \"ic-theme-dark\"\n : \"ic-theme-light\";\n } else {\n this.themeClass = `ic-theme-${this.theme}`;\n }\n };\n\n private checkBrandColorContrast = (): void => {\n if (\n getBrandColorBrightness() < BLACK_MIN_COLOR_BRIGHTNESS &&\n getBrandColorBrightness() > WHITE_MAX_COLOR_BRIGHTNESS\n ) {\n console.warn(\n `The brand colour does not provide enough contrast with either of the ICDS black or white foreground colours. Consider choosing a colour with a different brightness to achieve sufficient colour contrast for good visibility. See https://www.w3.org/TR/AERT/#color-contrast for more information about colour contrast.`\n );\n }\n };\n\n private setBrandColor = () => {\n const colorRGBA = convertToRGBA(this.brandColor);\n\n if (colorRGBA) {\n const { r, g, b, a } = colorRGBA;\n const { style } = document.documentElement;\n style.setProperty(\"--ic-brand-color-primary-r\", `${r}`);\n style.setProperty(\"--ic-brand-color-primary-g\", `${g}`);\n style.setProperty(\"--ic-brand-color-primary-b\", `${b}`);\n style.setProperty(\"--ic-brand-color-primary-a\", `${a}`);\n\n this.checkBrandColorContrast();\n\n this.brandChange.emit({\n mode: getBrandForegroundAppearance(),\n color: colorRGBA,\n });\n }\n };\n\n render() {\n const { themeClass } = this;\n\n return (\n <Host class={themeClass}>\n <slot></slot>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"ic-theme.entry.cjs.js","mappings":";;;;;;;MAyBa,KAAK;IAHlB;;;QAIW,eAAU,GAAW,EAAE,CAAC;;;;QAKzB,eAAU,GAAoB,IAAI,CAAC;;;;QAUnC,UAAK,GAAiC,OAAO,CAAC;QAsB9C,0BAAqB,GAAG;YAC9B,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE;gBAC3B,IAAI,CAAC,UAAU;oBACb,MAAM,CAAC,UAAU;wBACjB,MAAM,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC,OAAO;0BACrD,eAAe;0BACf,gBAAgB,CAAC;aACxB;iBAAM;gBACL,IAAI,CAAC,UAAU,GAAG,YAAY,IAAI,CAAC,KAAK,EAAE,CAAC;aAC5C;SACF,CAAC;QAEM,4BAAuB,GAAG;YAChC,IACEA,+BAAuB,EAAE,GAAGC,kCAA0B;gBACtDD,+BAAuB,EAAE,GAAGE,kCAA0B,EACtD;gBACA,OAAO,CAAC,IAAI,CACV,2TAA2T,CAC5T,CAAC;aACH;SACF,CAAC;QAEM,kBAAa,GAAG;YACtB,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,GAAGC,qBAAa,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;YAE1E,IAAI,SAAS,EAAE;gBACb,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC;gBACjC,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;gBAC3C,KAAK,CAAC,WAAW,CAAC,4BAA4B,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBACxD,KAAK,CAAC,WAAW,CAAC,4BAA4B,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBACxD,KAAK,CAAC,WAAW,CAAC,4BAA4B,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBACxD,KAAK,CAAC,WAAW,CAAC,4BAA4B,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBAExD,IAAI,CAAC,uBAAuB,EAAE,CAAC;gBAE/B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;oBACpB,IAAI,EAAEC,oCAA4B,EAAE;oBACpC,KAAK,EAAE,SAAS;iBACjB,CAAC,CAAC;aACJ;SACF,CAAC;KAWH;IAjFC,0BAA0B;QACxB,IAAI,CAAC,aAAa,EAAE,CAAC;KACtB;IAQD,qBAAqB;QACnB,IAAI,CAAC,qBAAqB,EAAE,CAAC;KAC9B;IAOD,iBAAiB;QACf,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,MAAM,CAAC,UAAU;YACf,MAAM;iBACH,UAAU,CAAC,8BAA8B,CAAC;iBAC1C,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;KAC7D;IA6CD,MAAM;QACJ,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;QAE5B,QACEC,QAACC,UAAI,qDAAC,KAAK,EAAE,UAAU,IACrBD,oEAAa,CACR,EACP;KACH;;;;;;;;;","names":["getBrandColorBrightness","BLACK_MIN_COLOR_BRIGHTNESS","WHITE_MAX_COLOR_BRIGHTNESS","convertToRGBA","getBrandForegroundAppearance","h","Host"],"sources":["src/components/ic-theme/ic-theme.tsx"],"sourcesContent":["import {\n Component,\n Host,\n Event,\n EventEmitter,\n h,\n Watch,\n Prop,\n State,\n} from \"@stencil/core\";\n\nimport { IcColor, IcBrand } from \"../../utils/types\";\nimport {\n convertToRGBA,\n getBrandForegroundAppearance,\n} from \"../../utils/helpers\";\nimport { getBrandColorBrightness } from \"../../utils/helpers\";\nimport {\n BLACK_MIN_COLOR_BRIGHTNESS,\n WHITE_MAX_COLOR_BRIGHTNESS,\n} from \"../../utils/constants\";\n\n@Component({\n tag: \"ic-theme\",\n})\nexport class Theme {\n @State() themeClass: string = \"\";\n\n /**\n * The brand colour. Can be a hex value e.g. \"#ff0000\", RGB e.g. \"rgb(255, 0, 0)\", or RGBA e.g. \"rgba(255, 0, 0, 1)\".\n */\n @Prop() brandColor?: IcColor | null = null;\n\n @Watch(\"brandColor\")\n watchBrandColorPropHandler(): void {\n this.setBrandColor();\n }\n\n /**\n * The theme mode. Can be \"dark\", \"light\", or \"system\". \"system\" will use the device or browser settings.\n */\n @Prop() theme?: \"dark\" | \"light\" | \"system\" = \"light\";\n\n @Watch(\"theme\")\n watchThemePropHandler(): void {\n this.darkModeChangeHandler();\n }\n\n /**\n * @internal Emitted when the brand color is changed.\n */\n @Event() brandChange: EventEmitter<IcBrand>;\n\n componentWillLoad(): void {\n this.darkModeChangeHandler();\n this.setBrandColor();\n\n window.matchMedia &&\n window\n .matchMedia(\"(prefers-color-scheme: dark)\")\n .addEventListener(\"change\", this.darkModeChangeHandler);\n }\n\n private darkModeChangeHandler = (): void => {\n if (this.theme === \"system\") {\n this.themeClass =\n window.matchMedia &&\n window.matchMedia(\"(prefers-color-scheme: dark)\").matches\n ? \"ic-theme-dark\"\n : \"ic-theme-light\";\n } else {\n this.themeClass = `ic-theme-${this.theme}`;\n }\n };\n\n private checkBrandColorContrast = (): void => {\n if (\n getBrandColorBrightness() < BLACK_MIN_COLOR_BRIGHTNESS &&\n getBrandColorBrightness() > WHITE_MAX_COLOR_BRIGHTNESS\n ) {\n console.warn(\n `The brand colour does not provide enough contrast with either of the ICDS black or white foreground colours. Consider choosing a colour with a different brightness to achieve sufficient colour contrast for good visibility. See https://www.w3.org/TR/AERT/#color-contrast for more information about colour contrast.`\n );\n }\n };\n\n private setBrandColor = () => {\n const colorRGBA = this.brandColor ? convertToRGBA(this.brandColor) : null;\n\n if (colorRGBA) {\n const { r, g, b, a } = colorRGBA;\n const { style } = document.documentElement;\n style.setProperty(\"--ic-brand-color-primary-r\", `${r}`);\n style.setProperty(\"--ic-brand-color-primary-g\", `${g}`);\n style.setProperty(\"--ic-brand-color-primary-b\", `${b}`);\n style.setProperty(\"--ic-brand-color-primary-a\", `${a}`);\n\n this.checkBrandColorContrast();\n\n this.brandChange.emit({\n mode: getBrandForegroundAppearance(),\n color: colorRGBA,\n });\n }\n };\n\n render() {\n const { themeClass } = this;\n\n return (\n <Host class={themeClass}>\n <slot></slot>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-f982899d.js');
5
+ const index = require('./index-d337cd8a.js');
6
6
 
7
7
  const ToastRegion = class {
8
8
  constructor(hostRef) {
@@ -16,7 +16,6 @@ const ToastRegion = class {
16
16
  if (visibleToasts.length > 0)
17
17
  this.pendingVisibility.push(toast);
18
18
  };
19
- this.openToast = undefined;
20
19
  }
21
20
  watchOpenToastHandler(newValue) {
22
21
  if (this.openToast !== undefined) {
@@ -47,7 +46,7 @@ const ToastRegion = class {
47
46
  }
48
47
  }
49
48
  render() {
50
- return index.h("slot", null);
49
+ return index.h("slot", { key: '6dbc76c96060dfd2265e50d622e10ee5c2202b67' });
51
50
  }
52
51
  get el() { return index.getElement(this); }
53
52
  static get watchers() { return {
@@ -1 +1 @@
1
- {"file":"ic-toast-region.entry.cjs.js","mappings":";;;;;;MAIa,WAAW;;;QACd,sBAAiB,GAAyB,EAAE,CAAC;QAsC7C,cAAS,GAAG,CAAC,KAAyB;YAC5C,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAC9B,QAAQ,CAAC,gBAAgB,CAAC,UAAU,CAAC,CACtC,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC;YACjE,IAAI,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,aAAa,CAAC,MAAM,IAAI,CAAC,EAAE;gBACpE,KAAK,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC,CAAC,CAAC;aAClE;YACD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC;gBAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAClE,CAAC;;;IApCF,qBAAqB,CAAC,QAA4B;QAChD,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE;YAChC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YACzB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;SAC5B;KACF;IAED,gBAAgB;QACd,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;SAC5B;KACF;IAGD,oBAAoB;;QAClB,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;YACrC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;iBACtB,UAAU,EAAE;iBACZ,IAAI,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC,CAAC,CAAC;YACjD,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;SAChC;aAAM;YACL,IAAI,IAAI,CAAC,iBAAiB,IAAI,UAAU,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBACjE,IAAI,CAAC,iBAA2C,CAAC,QAAQ,EAAE,CAAC;aAC9D;;gBAAM,MAAA,IAAI,CAAC,iBAAiB,0CAAE,KAAK,EAAE,CAAC;SACxC;KACF;IAYD,MAAM;QACJ,OAAOA,qBAAa,CAAC;KACtB;;;;;;;;;","names":["h"],"sources":["src/components/ic-toast-region/ic-toast-region.tsx"],"sourcesContent":["import { Component, Element, h, Listen, Prop, Watch } from \"@stencil/core\";\nimport { IcFocusableComponents } from \"../../utils/types\";\n\n@Component({ tag: \"ic-toast-region\" })\nexport class ToastRegion {\n private pendingVisibility: HTMLIcToastElement[] = [];\n private previouslyFocused: HTMLElement;\n\n @Element() el: HTMLIcToastRegionElement;\n\n /**\n * The toast element to be displayed.\n */\n @Prop({ mutable: true }) openToast: HTMLIcToastElement;\n @Watch(\"openToast\")\n watchOpenToastHandler(newValue: HTMLIcToastElement): void {\n if (this.openToast !== undefined) {\n this.showToast(newValue);\n this.openToast = undefined;\n }\n }\n\n componentDidLoad(): void {\n if (this.openToast) {\n this.showToast(this.openToast);\n this.openToast = undefined;\n }\n }\n\n @Listen(\"icDismiss\", { capture: true })\n handleDismissedToast(): void {\n if (this.pendingVisibility.length > 0) {\n this.pendingVisibility[0]\n .setVisible()\n .then((res) => (this.previouslyFocused = res));\n this.pendingVisibility.shift();\n } else {\n if (this.previouslyFocused && \"setFocus\" in this.previouslyFocused) {\n (this.previouslyFocused as IcFocusableComponents).setFocus();\n } else this.previouslyFocused?.focus();\n }\n }\n\n private showToast = (toast: HTMLIcToastElement) => {\n const visibleToasts = Array.from(\n document.querySelectorAll(\"ic-toast\")\n ).filter((el) => window.getComputedStyle(el).display !== \"none\");\n if (visibleToasts.indexOf(toast) === -1 && visibleToasts.length <= 0) {\n toast.setVisible().then((res) => (this.previouslyFocused = res));\n }\n if (visibleToasts.length > 0) this.pendingVisibility.push(toast);\n };\n\n render() {\n return <slot></slot>;\n }\n}\n"],"version":3}
1
+ {"file":"ic-toast-region.entry.cjs.js","mappings":";;;;;;MAIa,WAAW;IADxB;;QAEU,sBAAiB,GAAyB,EAAE,CAAC;QAsC7C,cAAS,GAAG,CAAC,KAAyB;YAC5C,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAC9B,QAAQ,CAAC,gBAAgB,CAAC,UAAU,CAAC,CACtC,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC;YACjE,IAAI,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,aAAa,CAAC,MAAM,IAAI,CAAC,EAAE;gBACpE,KAAK,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC,CAAC,CAAC;aAClE;YACD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC;gBAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAClE,CAAC;KAKH;IAzCC,qBAAqB,CAAC,QAA4B;QAChD,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE;YAChC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YACzB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;SAC5B;KACF;IAED,gBAAgB;QACd,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;SAC5B;KACF;IAGD,oBAAoB;;QAClB,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;YACrC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;iBACtB,UAAU,EAAE;iBACZ,IAAI,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC,CAAC,CAAC;YACjD,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;SAChC;aAAM;YACL,IAAI,IAAI,CAAC,iBAAiB,IAAI,UAAU,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBACjE,IAAI,CAAC,iBAA2C,CAAC,QAAQ,EAAE,CAAC;aAC9D;;gBAAM,MAAA,IAAI,CAAC,iBAAiB,0CAAE,KAAK,EAAE,CAAC;SACxC;KACF;IAYD,MAAM;QACJ,OAAOA,oEAAa,CAAC;KACtB;;;;;;;;;","names":["h"],"sources":["src/components/ic-toast-region/ic-toast-region.tsx"],"sourcesContent":["import { Component, Element, h, Listen, Prop, Watch } from \"@stencil/core\";\nimport { IcFocusableComponents } from \"../../utils/types\";\n\n@Component({ tag: \"ic-toast-region\" })\nexport class ToastRegion {\n private pendingVisibility: HTMLIcToastElement[] = [];\n private previouslyFocused: HTMLElement | null;\n\n @Element() el: HTMLIcToastRegionElement;\n\n /**\n * The toast element to be displayed.\n */\n @Prop({ mutable: true }) openToast?: HTMLIcToastElement;\n @Watch(\"openToast\")\n watchOpenToastHandler(newValue: HTMLIcToastElement): void {\n if (this.openToast !== undefined) {\n this.showToast(newValue);\n this.openToast = undefined;\n }\n }\n\n componentDidLoad(): void {\n if (this.openToast) {\n this.showToast(this.openToast);\n this.openToast = undefined;\n }\n }\n\n @Listen(\"icDismiss\", { capture: true })\n handleDismissedToast(): void {\n if (this.pendingVisibility.length > 0) {\n this.pendingVisibility[0]\n .setVisible()\n .then((res) => (this.previouslyFocused = res));\n this.pendingVisibility.shift();\n } else {\n if (this.previouslyFocused && \"setFocus\" in this.previouslyFocused) {\n (this.previouslyFocused as IcFocusableComponents).setFocus();\n } else this.previouslyFocused?.focus();\n }\n }\n\n private showToast = (toast: HTMLIcToastElement) => {\n const visibleToasts = Array.from(\n document.querySelectorAll(\"ic-toast\")\n ).filter((el) => window.getComputedStyle(el).display !== \"none\");\n if (visibleToasts.indexOf(toast) === -1 && visibleToasts.length <= 0) {\n toast.setVisible().then((res) => (this.previouslyFocused = res));\n }\n if (visibleToasts.length > 0) this.pendingVisibility.push(toast);\n };\n\n render() {\n return <slot></slot>;\n }\n}\n"],"version":3}
@@ -2,11 +2,12 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-f982899d.js');
5
+ const index = require('./index-d337cd8a.js');
6
6
  const closeIcon = require('./close-icon-7f6ef8e4.js');
7
- const helpers = require('./helpers-eca4c27e.js');
7
+ const helpers = require('./helpers-a0a128bd.js');
8
8
 
9
- const icToastCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type=\"button\"],[type=\"reset\"],[type=\"submit\"]{-webkit-appearance:button}button::-moz-focus-inner,[type=\"button\"]::-moz-focus-inner,[type=\"reset\"]::-moz-focus-inner,[type=\"submit\"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=\"button\"]:-moz-focusring,[type=\"reset\"]:-moz-focusring,[type=\"submit\"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type=\"checkbox\"],[type=\"radio\"]{box-sizing:border-box;padding:0;}[type=\"number\"]::-webkit-inner-spin-button,[type=\"number\"]::-webkit-outer-spin-button{height:auto}[type=\"search\"]{-webkit-appearance:textfield;outline-offset:-2px;}[type=\"search\"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}@media (prefers-reduced-motion: no-preference){:host{animation:fadein var(--ic-transition-duration-slow) ease-in-out}:host(.hidden){animation:fadeout var(--ic-transition-duration-slow) ease-in-out}}:host{--bottom-position:var(--ic-space-xl);position:fixed;bottom:var(--bottom-position);left:50%;transform:translate(-50%);z-index:var(--ic-z-index-toast)}:host(.ic-toast-hidden){display:none}:host(:focus){outline:none}.container{max-width:32.5rem;min-width:18rem;box-shadow:var(--ic-elevation-overlay);min-height:3.5rem;background-color:var(--ic-toast-background);display:flex;align-items:center;position:relative;border-radius:var(--ic-border-radius)}.toast-icon-container{height:100%;display:flex;align-items:center}.divider{height:100%;width:var(--ic-space-xs);position:absolute;border-radius:var(--ic-space-xxxs) 0 0 var(--ic-space-xxxs)}.divider-neutral{background-color:var(--ic-toast-status-neutral)}.divider-info{background-color:var(--ic-toast-status-info)}.divider-warning{background-color:var(--ic-toast-status-warning)}.divider-error{background-color:var(--ic-toast-status-error)}.divider-success{background-color:var(--ic-toast-status-success)}.toast-icon,::slotted(svg){height:var(--ic-space-lg);width:var(--ic-space-lg);margin-left:var(--ic-space-md)}:host([variant=\"neutral\"]) .toast-icon svg,::slotted(svg){fill:var(--ic-toast-icon-neutral)}:host([variant=\"info\"]) .toast-icon svg{fill:var(--ic-toast-icon-info)}:host([variant=\"warning\"]) .toast-icon svg{fill:var(--ic-toast-icon-warning)}:host([variant=\"error\"]) .toast-icon svg{fill:var(--ic-toast-icon-error)}:host([variant=\"success\"]) .toast-icon svg{fill:var(--ic-toast-icon-success)}.toast-content{margin-left:var(--ic-space-xs);width:100%}.no-icon{margin-left:var(--ic-space-md)}.toast-text{padding:var(--ic-space-xs) var(--ic-space-xs) var(--ic-space-xs) 0}.toast-heading{--ic-typography-color:var(--ic-toast-title)}.toast-message{--ic-typography-color:var(--ic-toast-description)}.toast-action-container{padding-bottom:var(--ic-space-md)}#dismiss-button{padding:var(--ic-space-xs)}#dismiss-button>svg{color:var(--ic-toast-dismiss-button)}ic-loading-indicator{--outer-color:transparent;--inner-color:var(--ic-action-light)}.toast-dismiss-timer{padding:var(--ic-space-sm)}@media (max-width: 576px){:host{--bottom-position:var(--ic-space-lg);width:calc(100% - 2 * var(--ic-space-md))}}@media (min-width: 993px){:host{--bottom-position:calc(var(--ic-space-xl) + var(--ic-space-xs))}}@media (forced-colors: active){.container{border:var(--ic-border-hc)}}@keyframes fadein{from{bottom:0;opacity:0}to{bottom:var(--bottom-position);opacity:1}}@keyframes fadeout{from{bottom:var(--bottom-position);opacity:1}to{bottom:0;opacity:0}}";
9
+ const icToastCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type=\"button\"],[type=\"reset\"],[type=\"submit\"]{-webkit-appearance:button}button::-moz-focus-inner,[type=\"button\"]::-moz-focus-inner,[type=\"reset\"]::-moz-focus-inner,[type=\"submit\"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=\"button\"]:-moz-focusring,[type=\"reset\"]:-moz-focusring,[type=\"submit\"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type=\"checkbox\"],[type=\"radio\"]{box-sizing:border-box;padding:0;}[type=\"number\"]::-webkit-inner-spin-button,[type=\"number\"]::-webkit-outer-spin-button{height:auto}[type=\"search\"]{-webkit-appearance:textfield;outline-offset:-2px;}[type=\"search\"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}@media (prefers-reduced-motion: no-preference){:host{animation:fadein var(--ic-transition-duration-slow) ease-in-out}:host(.hidden){animation:fadeout var(--ic-transition-duration-slow) ease-in-out}}:host{--bottom-position:var(--ic-space-xl);position:fixed;bottom:var(--bottom-position);left:50%;transform:translate(-50%);z-index:var(--ic-z-index-toast)}:host(.ic-toast-hidden){display:none}:host(:focus){outline:none}.container{max-width:32.5rem;min-width:18rem;box-shadow:var(--ic-elevation-overlay);min-height:3.5rem;background-color:var(--ic-toast-background);display:flex;align-items:center;position:relative;border-radius:var(--ic-border-radius)}.toast-icon-container{height:100%;display:flex;align-items:center}.divider{height:100%;width:var(--ic-space-xs);position:absolute;border-radius:var(--ic-space-xxxs) 0 0 var(--ic-space-xxxs)}.divider-neutral{background-color:var(--ic-toast-status-neutral)}.divider-info{background-color:var(--ic-toast-status-info)}.divider-warning{background-color:var(--ic-toast-status-warning)}.divider-error{background-color:var(--ic-toast-status-error)}.divider-success{background-color:var(--ic-toast-status-success)}.toast-icon,::slotted(svg){height:var(--ic-space-lg);width:var(--ic-space-lg);margin-left:var(--ic-space-md)}:host([variant=\"neutral\"]) .toast-icon svg,::slotted(svg){fill:var(--ic-toast-icon-neutral)}:host([variant=\"info\"]) .toast-icon svg{fill:var(--ic-toast-icon-info)}:host([variant=\"warning\"]) .toast-icon svg{fill:var(--ic-toast-icon-warning)}:host([variant=\"error\"]) .toast-icon svg{fill:var(--ic-toast-icon-error)}:host([variant=\"success\"]) .toast-icon svg{fill:var(--ic-toast-icon-success)}.toast-content{margin-left:var(--ic-space-xs);width:100%}.no-icon{margin-left:var(--ic-space-md)}.toast-text{padding:var(--ic-space-xs) var(--ic-space-xs) var(--ic-space-xs) 0}.toast-heading{--ic-typography-color:var(--ic-toast-title)}.toast-message{--ic-typography-color:var(--ic-toast-description)}.toast-action-container{padding-bottom:var(--ic-space-md)}#dismiss-button{padding:var(--ic-space-xs)}#dismiss-button>svg{color:var(--ic-toast-dismiss-button)}ic-loading-indicator{--outer-color:transparent;--inner-color:var(--ic-action-monochrome)}.toast-dismiss-timer{padding:var(--ic-space-sm)}@media (max-width: 576px){:host{--bottom-position:var(--ic-space-lg);width:calc(100% - 2 * var(--ic-space-md))}}@media (min-width: 993px){:host{--bottom-position:calc(var(--ic-space-xl) + var(--ic-space-xs))}}@media (forced-colors: active){.container{border:var(--ic-border-hc)}}@keyframes fadein{from{bottom:0;opacity:0}to{bottom:var(--bottom-position);opacity:1}}@keyframes fadeout{from{bottom:var(--bottom-position);opacity:1}to{bottom:0;opacity:0}}";
10
+ const IcToastStyle0 = icToastCss;
10
11
 
11
12
  const AUTO_DISMISS_TIMER_REFRESH_RATE_MS = 1000;
12
13
  const TOAST_HEADING_CHAR_LIMIT = 70;
@@ -16,6 +17,21 @@ const Toast = class {
16
17
  index.registerInstance(this, hostRef);
17
18
  this.icDismiss = index.createEvent(this, "icDismiss", 7);
18
19
  this.interactiveElements = [];
20
+ this.timerProgress = 100;
21
+ this.visible = false;
22
+ /**
23
+ * If toast dismissMode is set to `automatic`, use this prop to define the time before the toast dismisses (in MILLISECONDS)
24
+ * (NOTE: Has a minimum value of `5000ms`)
25
+ */
26
+ this.autoDismissTimeout = 5000;
27
+ /**
28
+ * If toast can be manually dismissed, this prop sets a custom aria-label for the ic-button component
29
+ */
30
+ this.dismissButtonAriaLabel = "dismiss";
31
+ /**
32
+ * How the toast will be dismissed. If manual will display a dismiss button.
33
+ */
34
+ this.dismissMode = "manual";
19
35
  this.dismissAction = () => {
20
36
  this.icDismiss.emit();
21
37
  };
@@ -31,16 +47,6 @@ const Toast = class {
31
47
  this.onBlur = () => {
32
48
  this.handleTimer({ type: "mouseleave" });
33
49
  };
34
- this.isManual = undefined;
35
- this.timerProgress = 100;
36
- this.visible = false;
37
- this.autoDismissTimeout = 5000;
38
- this.dismissButtonAriaLabel = "dismiss";
39
- this.dismissMode = "manual";
40
- this.heading = undefined;
41
- this.message = undefined;
42
- this.neutralIconAriaLabel = undefined;
43
- this.variant = undefined;
44
50
  }
45
51
  dismissModeChangeHandler(newValue) {
46
52
  this.isManual = newValue === "manual";
@@ -51,7 +57,7 @@ const Toast = class {
51
57
  }
52
58
  componentWillLoad() {
53
59
  var _a, _b;
54
- this.handleLongText(this.heading.length > TOAST_HEADING_CHAR_LIMIT, ((_a = this.message) === null || _a === void 0 ? void 0 : _a.length) > TOAST_MESSAGE_CHAR_LIMIT);
60
+ this.handleLongText(this.heading.length > TOAST_HEADING_CHAR_LIMIT, !!this.message && ((_a = this.message) === null || _a === void 0 ? void 0 : _a.length) > TOAST_MESSAGE_CHAR_LIMIT);
55
61
  if (this.autoDismissTimeout < 5000)
56
62
  this.autoDismissTimeout = 5000;
57
63
  if (helpers.isSlotUsed(this.el, "action"))
@@ -71,17 +77,18 @@ const Toast = class {
71
77
  ? this.neutralVariantLabel || helpers.VARIANT_ICONS[this.variant].ariaLabel
72
78
  : this.heading);
73
79
  (this.variant || this.message) &&
74
- this.el.setAttribute("aria-description", this.variant ? `${this.heading}${toastMessage}` : this.message);
80
+ this.el.setAttribute("aria-description", this.variant ? `${this.heading}${toastMessage}` : this.message || "");
75
81
  }
76
82
  }
77
83
  componentDidLoad() {
78
84
  helpers.onComponentRequiredPropUndefined([{ prop: this.heading, propName: "heading" }], "Toast");
79
85
  }
80
86
  componentDidUpdate() {
87
+ var _a;
81
88
  if (this.focusInteractiveElement && this.isManual) {
82
89
  this.resetAutoDismissTimer();
83
90
  const actionContent = helpers.getSlot(this.el, "action");
84
- const dismissButton = this.el.shadowRoot.querySelector("ic-button");
91
+ const dismissButton = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector("ic-button");
85
92
  if (actionContent)
86
93
  this.interactiveElements.push(actionContent);
87
94
  if (dismissButton)
@@ -92,9 +99,10 @@ const Toast = class {
92
99
  }
93
100
  }
94
101
  watchVisibleHandler() {
102
+ var _a;
95
103
  if (this.visible) {
96
104
  const actionContent = helpers.getSlot(this.el, "action");
97
- const dismissButton = this.el.shadowRoot.querySelector("ic-button");
105
+ const dismissButton = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector("ic-button");
98
106
  if (actionContent)
99
107
  this.interactiveElements.push(actionContent);
100
108
  if (dismissButton)
@@ -177,7 +185,7 @@ const Toast = class {
177
185
  const lastEl = this.interactiveElements[this.interactiveElements.length - 1];
178
186
  if (this.isActive(isBackwards ? firstEl : lastEl))
179
187
  return isBackwards ? lastEl : firstEl;
180
- let currentIndex;
188
+ let currentIndex = 0;
181
189
  return this.interactiveElements.some((el, index) => {
182
190
  if (!this.isActive(el))
183
191
  return false;
@@ -199,13 +207,13 @@ const Toast = class {
199
207
  }
200
208
  render() {
201
209
  const { variant, heading, message, visible, isManual, dismissButtonAriaLabel, } = this;
202
- return (index.h(index.Host, { class: { ["ic-toast-hidden"]: !visible }, role: isManual ? "dialog" : "status", tabindex: "0", onFocus: this.onFocus, onBlur: this.onBlur }, index.h("div", { class: "container" }, variant && visible && (index.h("div", { class: "toast-icon-container" }, index.h("div", { class: {
210
+ return (index.h(index.Host, { key: '3bb9efd8ae3679ba4558b388a275d2cd634268b8', class: { ["ic-toast-hidden"]: !visible }, tabindex: "0", onFocus: this.onFocus, onBlur: this.onBlur, role: isManual ? "dialog" : "alert", "aria-live": isManual ? null : "polite" }, index.h("div", { key: '49277a9c418908cfd3eb9302bae684462e1c6d55', class: "container" }, variant && visible && (index.h("div", { key: '805dbac817d5a7e714ce5b4478e426144df02cb8', class: "toast-icon-container" }, index.h("div", { key: '769af7c12a009955bff31c02008f09530bc19a77', class: {
203
211
  ["divider"]: true,
204
212
  [`divider-${variant}`]: true,
205
- } }), variant === "neutral" ? (index.h("slot", { name: "neutral-icon" })) : (index.h("span", { class: "toast-icon", innerHTML: helpers.VARIANT_ICONS[variant].icon })))), index.h("div", { class: {
213
+ } }), variant === "neutral" ? (index.h("slot", { name: "neutral-icon" })) : (index.h("span", { class: "toast-icon", innerHTML: helpers.VARIANT_ICONS[variant].icon })))), index.h("div", { key: 'b9987c78c1bdd2def39ecd64ad5a7acb19568a90', class: {
206
214
  ["toast-content"]: true,
207
215
  ["no-icon"]: variant === "neutral" && !helpers.isSlotUsed(this.el, "neutral-icon"),
208
- } }, index.h("div", { class: "toast-text" }, index.h("ic-typography", { variant: "subtitle-large", class: "toast-heading" }, visible && index.h("h5", null, heading)), message && (index.h("ic-typography", { variant: "body", class: "toast-message" }, visible && index.h("p", null, message)))), helpers.isSlotUsed(this.el, "action") && (index.h("div", { class: "toast-action-container" }, index.h("slot", { name: "action" })))), !isManual ? (index.h("ic-loading-indicator", { class: "toast-dismiss-timer", theme: "dark", monochrome: true, size: "icon", progress: this.timerProgress, description: "" })) : (index.h("ic-button", { id: "dismiss-button", innerHTML: closeIcon.closeIcon, onClick: this.dismissAction, variant: "icon", "aria-label": dismissButtonAriaLabel })))));
216
+ } }, index.h("div", { key: 'bda1df0dfb9e5a05a84ec6d825a4eef72978127e', class: "toast-text" }, index.h("ic-typography", { key: '9631f1f1ec54f4694cbe3d80849079d04d9e987e', variant: "subtitle-large", class: "toast-heading" }, visible && (isManual ? index.h("h5", null, heading) : index.h("p", null, heading))), message && (index.h("ic-typography", { key: '87dd87445e270972bab5d931c48b0ae2a70c94ad', variant: "body", class: "toast-message" }, visible && index.h("p", { key: 'bfe2daf83b1d9e62c4606a00c8615f1f899d0506' }, message)))), helpers.isSlotUsed(this.el, "action") && (index.h("div", { key: '8041f14d81743cd478241aae8e4921b204d68745', class: "toast-action-container" }, index.h("slot", { key: '0d3cc468aeee3827643be5e0ae17791cd1332f84', name: "action" })))), !isManual ? (index.h("ic-loading-indicator", { class: "toast-dismiss-timer", theme: "dark", monochrome: true, size: "icon", progress: this.timerProgress, description: "Dismiss timer" })) : (index.h("ic-button", { id: "dismiss-button", innerHTML: closeIcon.closeIcon, onClick: this.dismissAction, variant: "icon", "aria-label": dismissButtonAriaLabel })))));
209
217
  }
210
218
  get el() { return index.getElement(this); }
211
219
  static get watchers() { return {
@@ -213,7 +221,7 @@ const Toast = class {
213
221
  "visible": ["watchVisibleHandler"]
214
222
  }; }
215
223
  };
216
- Toast.style = icToastCss;
224
+ Toast.style = IcToastStyle0;
217
225
 
218
226
  exports.ic_toast = Toast;
219
227
 
@@ -1 +1 @@
1
- {"file":"ic-toast.entry.cjs.js","mappings":"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","names":["isSlotUsed","VARIANT_ICONS","isPropDefined","onComponentRequiredPropUndefined","getSlot","h","Host","closeIcon"],"sources":["src/components/ic-toast/ic-toast.css?tag=ic-toast&encapsulation=shadow","src/components/ic-toast/ic-toast.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n/**\n * @prop --ic-z-index-toast: z-index of toast\n */\n\n@media (prefers-reduced-motion: no-preference) {\n :host {\n animation: fadein var(--ic-transition-duration-slow) ease-in-out;\n }\n\n :host(.hidden) {\n animation: fadeout var(--ic-transition-duration-slow) ease-in-out;\n }\n}\n\n:host {\n --bottom-position: var(--ic-space-xl);\n\n position: fixed;\n bottom: var(--bottom-position);\n left: 50%;\n transform: translate(-50%);\n z-index: var(--ic-z-index-toast);\n}\n\n:host(.ic-toast-hidden) {\n display: none;\n}\n\n:host(:focus) {\n outline: none;\n}\n\n.container {\n max-width: 32.5rem;\n min-width: 18rem;\n box-shadow: var(--ic-elevation-overlay);\n min-height: 3.5rem;\n background-color: var(--ic-toast-background);\n display: flex;\n align-items: center;\n position: relative;\n border-radius: var(--ic-border-radius);\n}\n\n.toast-icon-container {\n height: 100%;\n display: flex;\n align-items: center;\n}\n\n.divider {\n height: 100%;\n width: var(--ic-space-xs);\n position: absolute;\n border-radius: var(--ic-space-xxxs) 0 0 var(--ic-space-xxxs);\n}\n\n.divider-neutral {\n background-color: var(--ic-toast-status-neutral);\n}\n\n.divider-info {\n background-color: var(--ic-toast-status-info);\n}\n\n.divider-warning {\n background-color: var(--ic-toast-status-warning);\n}\n\n.divider-error {\n background-color: var(--ic-toast-status-error);\n}\n\n.divider-success {\n background-color: var(--ic-toast-status-success);\n}\n\n.toast-icon,\n::slotted(svg) {\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n margin-left: var(--ic-space-md);\n}\n\n:host([variant=\"neutral\"]) .toast-icon svg,\n::slotted(svg) {\n fill: var(--ic-toast-icon-neutral);\n}\n\n:host([variant=\"info\"]) .toast-icon svg {\n fill: var(--ic-toast-icon-info);\n}\n\n:host([variant=\"warning\"]) .toast-icon svg {\n fill: var(--ic-toast-icon-warning);\n}\n\n:host([variant=\"error\"]) .toast-icon svg {\n fill: var(--ic-toast-icon-error);\n}\n\n:host([variant=\"success\"]) .toast-icon svg {\n fill: var(--ic-toast-icon-success);\n}\n\n.toast-content {\n margin-left: var(--ic-space-xs);\n width: 100%;\n}\n\n.no-icon {\n margin-left: var(--ic-space-md);\n}\n\n.toast-text {\n padding: var(--ic-space-xs) var(--ic-space-xs) var(--ic-space-xs) 0;\n}\n\n.toast-heading {\n --ic-typography-color: var(--ic-toast-title);\n}\n\n.toast-message {\n --ic-typography-color: var(--ic-toast-description);\n}\n\n.toast-action-container {\n padding-bottom: var(--ic-space-md);\n}\n\n#dismiss-button {\n padding: var(--ic-space-xs);\n}\n\n#dismiss-button > svg {\n color: var(--ic-toast-dismiss-button);\n}\n\nic-loading-indicator {\n --outer-color: transparent;\n --inner-color: var(--ic-action-light);\n}\n\n.toast-dismiss-timer {\n padding: var(--ic-space-sm);\n}\n\n@media (max-width: 576px) {\n :host {\n --bottom-position: var(--ic-space-lg);\n\n width: calc(100% - 2 * var(--ic-space-md));\n }\n}\n\n@media (min-width: 993px) {\n :host {\n --bottom-position: calc(var(--ic-space-xl) + var(--ic-space-xs));\n }\n}\n\n@media (forced-colors: active) {\n .container {\n border: var(--ic-border-hc);\n }\n}\n\n@keyframes fadein {\n from {\n bottom: 0;\n opacity: 0;\n }\n\n to {\n bottom: var(--bottom-position);\n opacity: 1;\n }\n}\n\n@keyframes fadeout {\n from {\n bottom: var(--bottom-position);\n opacity: 1;\n }\n\n to {\n bottom: 0;\n opacity: 0;\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Method,\n Prop,\n State,\n Watch,\n} from \"@stencil/core\";\nimport closeIcon from \"../../assets/close-icon.svg\";\nimport { VARIANT_ICONS } from \"../../utils/constants\";\nimport {\n getSlot,\n isPropDefined,\n isSlotUsed,\n onComponentRequiredPropUndefined,\n} from \"../../utils/helpers\";\nimport { IcActivationTypes, IcStatusVariants } from \"../../utils/types\";\nimport { ActionAreaElementTypes } from \"./ic-toast.types\";\n\nconst AUTO_DISMISS_TIMER_REFRESH_RATE_MS = 1000;\nconst TOAST_HEADING_CHAR_LIMIT = 70;\nconst TOAST_MESSAGE_CHAR_LIMIT = 140;\n\n/**\n * @slot action - IcButton or IcLink is placed below header and message. If used will default toast to manual `dismiss` type.\n * @slot neutral-icon - A custom neutral icon is placed on the left side of the component. If used will default toast to `neutral` variant.\n */\n@Component({\n tag: \"ic-toast\",\n styleUrl: \"ic-toast.css\",\n shadow: true,\n})\nexport class Toast {\n private dismissTimeout: number;\n private interactiveElements: ActionAreaElementTypes[] = [];\n private neutralVariantLabel: string;\n private timerRefreshInterval: number;\n private focusInteractiveElement: boolean;\n private shiftKeyPressed: boolean;\n\n @Element() el: HTMLIcToastElement;\n\n @State() isManual: boolean;\n @State() timerProgress = 100;\n @State() visible = false;\n\n /**\n * If toast dismissMode is set to `automatic`, use this prop to define the time before the toast dismisses (in MILLISECONDS)\n * (NOTE: Has a minimum value of `5000ms`)\n */\n @Prop({ mutable: true }) autoDismissTimeout? = 5000;\n\n /**\n * If toast can be manually dismissed, this prop sets a custom aria-label for the ic-button component\n */\n @Prop() dismissButtonAriaLabel? = \"dismiss\";\n\n /**\n * How the toast will be dismissed. If manual will display a dismiss button.\n */\n @Prop({ mutable: true }) dismissMode?: IcActivationTypes = \"manual\";\n @Watch(\"dismissMode\")\n dismissModeChangeHandler(newValue: IcActivationTypes): void {\n this.isManual = newValue === \"manual\";\n }\n\n /**\n * The title to display at the start of the toast. (NOTE: Should be no more than `70` characters)\n */\n @Prop() heading!: string;\n\n /**\n * The main body message of the toast. (NOTE: Should be no more than `140` characters)\n */\n @Prop() message?: string;\n\n /**\n * Provides a custom alt-text to be announced to screen readers, if slotting a custom neutral icon\n */\n @Prop() neutralIconAriaLabel?: string;\n\n /**\n * The variant of the toast being rendered\n */\n @Prop({ mutable: true }) variant?: IcStatusVariants;\n\n /**\n * Is emitted when the user dismisses the toast\n */\n @Event() icDismiss: EventEmitter<void>;\n\n disconnectedCallback(): void {\n window.clearTimeout(this.dismissTimeout);\n window.clearInterval(this.timerRefreshInterval);\n }\n\n componentWillLoad(): void {\n this.handleLongText(\n this.heading.length > TOAST_HEADING_CHAR_LIMIT,\n this.message?.length > TOAST_MESSAGE_CHAR_LIMIT\n );\n\n if (this.autoDismissTimeout < 5000) this.autoDismissTimeout = 5000;\n\n if (isSlotUsed(this.el, \"action\")) this.dismissMode = \"manual\";\n this.isManual = this.dismissMode === \"manual\";\n\n if (isSlotUsed(this.el, \"neutral-icon\")) this.variant = \"neutral\";\n if (this.variant === \"neutral\") {\n this.neutralVariantLabel =\n this.neutralIconAriaLabel ?? VARIANT_ICONS[this.variant].ariaLabel;\n }\n\n if (this.isManual) {\n const toastMessage: string = isPropDefined(this.message)\n ? `. ${this.message}`\n : \"\";\n this.el.setAttribute(\n \"aria-label\",\n this.variant\n ? this.neutralVariantLabel || VARIANT_ICONS[this.variant].ariaLabel\n : this.heading\n );\n (this.variant || this.message) &&\n this.el.setAttribute(\n \"aria-description\",\n this.variant ? `${this.heading}${toastMessage}` : this.message\n );\n }\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.heading, propName: \"heading\" }],\n \"Toast\"\n );\n }\n\n componentDidUpdate(): void {\n if (this.focusInteractiveElement && this.isManual) {\n this.resetAutoDismissTimer();\n\n const actionContent = getSlot(\n this.el,\n \"action\"\n ) as ActionAreaElementTypes;\n const dismissButton = this.el.shadowRoot.querySelector(\"ic-button\");\n if (actionContent) this.interactiveElements.push(actionContent);\n if (dismissButton) this.interactiveElements.push(dismissButton);\n\n this.focusInteractiveElement = false;\n this.findNextInteractiveElement(this.shiftKeyPressed).setFocus();\n this.shiftKeyPressed = false;\n }\n }\n\n @Watch(\"visible\")\n watchVisibleHandler(): void {\n if (this.visible) {\n const actionContent = getSlot(\n this.el,\n \"action\"\n ) as ActionAreaElementTypes;\n const dismissButton = this.el.shadowRoot.querySelector(\"ic-button\");\n if (actionContent) this.interactiveElements.push(actionContent);\n if (dismissButton) this.interactiveElements.push(dismissButton);\n } else {\n this.interactiveElements = [];\n }\n }\n\n @Listen(\"icDismiss\", { capture: true })\n handleDismiss(): void {\n this.visible = false;\n this.resetAutoDismissTimer();\n }\n\n @Listen(\"keydown\", { target: \"document\" })\n handleKeyboard(ev: KeyboardEvent): void {\n if (this.visible) {\n if (this.isManual) {\n switch (ev.key) {\n case \"Tab\":\n ev.preventDefault();\n this.findNextInteractiveElement(ev.shiftKey).setFocus();\n break;\n case \"Escape\":\n !ev.repeat && this.dismissAction();\n ev.stopImmediatePropagation();\n break;\n }\n } else {\n if (ev.key === \"Tab\") {\n this.shiftKeyPressed = ev.shiftKey;\n this.focusInteractiveElement = true;\n }\n }\n }\n }\n\n @Listen(\"mouseenter\")\n @Listen(\"mouseleave\")\n handleTimer(ev: MouseEvent): void {\n switch (ev.type) {\n case \"mouseenter\":\n if (!this.isManual) {\n this.resetAutoDismissTimer();\n }\n this.isManual = true;\n break;\n case \"mouseleave\":\n if (this.dismissMode === \"automatic\") {\n this.isManual = false;\n this.interactiveElements = [];\n if (this.visible) {\n this.dismissTimeout = window.setTimeout(\n this.dismissAction,\n this.autoDismissTimeout\n );\n this.timerRefreshInterval = window.setInterval(\n this.handleProgressChange,\n AUTO_DISMISS_TIMER_REFRESH_RATE_MS\n );\n }\n }\n break;\n }\n }\n\n /**\n * @internal Used to display the individual toast.\n * @returns The element that previously had focus before the toast appeared\n */\n @Method()\n async setVisible(): Promise<HTMLElement> {\n if (!this.visible) this.visible = true;\n if (!this.isManual) {\n this.dismissTimeout = window.setTimeout(\n this.dismissAction,\n this.autoDismissTimeout\n );\n this.timerRefreshInterval = window.setInterval(\n this.handleProgressChange,\n AUTO_DISMISS_TIMER_REFRESH_RATE_MS\n );\n return null;\n } else {\n window.setTimeout(() => this.interactiveElements[0].setFocus(), 200);\n return document.activeElement as HTMLElement;\n }\n }\n\n private dismissAction = (): void => {\n this.icDismiss.emit();\n };\n\n private handleProgressChange = () => {\n this.timerProgress -=\n (AUTO_DISMISS_TIMER_REFRESH_RATE_MS / this.autoDismissTimeout) * 100;\n };\n\n private handleLongText(\n headingTooLong: boolean,\n messageTooLong?: boolean\n ): void {\n if (messageTooLong || headingTooLong) {\n console.error(\n `Too many characters in toast ${headingTooLong ? \"heading\" : \"\"}${\n headingTooLong && messageTooLong ? \" and \" : \"\"\n }${\n messageTooLong ? \"message\" : \"\"\n }. Refer to character limits specified in the prop description`\n );\n }\n }\n\n private findNextInteractiveElement(\n isBackwards: boolean\n ): ActionAreaElementTypes {\n const firstEl = this.interactiveElements[0];\n const lastEl =\n this.interactiveElements[this.interactiveElements.length - 1];\n\n if (this.isActive(isBackwards ? firstEl : lastEl))\n return isBackwards ? lastEl : firstEl;\n\n let currentIndex: number;\n\n return this.interactiveElements.some((el, index) => {\n if (!this.isActive(el)) return false;\n currentIndex = index;\n return true;\n })\n ? this.interactiveElements[currentIndex + (isBackwards ? -1 : 1)]\n : firstEl;\n }\n\n private resetAutoDismissTimer(): void {\n window.clearTimeout(this.dismissTimeout);\n window.clearInterval(this.timerRefreshInterval);\n this.timerProgress = 100;\n }\n\n private isActive(targetEl: HTMLElement): boolean {\n return targetEl === this.el\n ? !!this.el.shadowRoot.activeElement\n : document.activeElement === targetEl;\n }\n\n private onFocus = (): void => {\n if (this.focusInteractiveElement) {\n this.isManual = true;\n }\n };\n\n private onBlur = (): void => {\n this.handleTimer({ type: \"mouseleave\" } as MouseEvent);\n };\n\n render() {\n const {\n variant,\n heading,\n message,\n visible,\n isManual,\n dismissButtonAriaLabel,\n } = this;\n return (\n <Host\n class={{ [\"ic-toast-hidden\"]: !visible }}\n role={isManual ? \"dialog\" : \"status\"}\n tabindex=\"0\"\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n >\n <div class=\"container\">\n {variant && visible && (\n <div class=\"toast-icon-container\">\n <div\n class={{\n [\"divider\"]: true,\n [`divider-${variant}`]: true,\n }}\n ></div>\n {variant === \"neutral\" ? (\n <slot name=\"neutral-icon\" />\n ) : (\n <span\n class=\"toast-icon\"\n innerHTML={VARIANT_ICONS[variant].icon}\n ></span>\n )}\n </div>\n )}\n <div\n class={{\n [\"toast-content\"]: true,\n [\"no-icon\"]:\n variant === \"neutral\" && !isSlotUsed(this.el, \"neutral-icon\"),\n }}\n >\n <div class=\"toast-text\">\n <ic-typography variant=\"subtitle-large\" class=\"toast-heading\">\n {visible && <h5>{heading}</h5>}\n </ic-typography>\n {message && (\n <ic-typography variant=\"body\" class=\"toast-message\">\n {visible && <p>{message}</p>}\n </ic-typography>\n )}\n </div>\n {isSlotUsed(this.el, \"action\") && (\n <div class=\"toast-action-container\">\n <slot name=\"action\" />\n </div>\n )}\n </div>\n {!isManual ? (\n <ic-loading-indicator\n class=\"toast-dismiss-timer\"\n theme=\"dark\"\n monochrome\n size=\"icon\"\n progress={this.timerProgress}\n description=\"\"\n ></ic-loading-indicator>\n ) : (\n <ic-button\n id=\"dismiss-button\"\n innerHTML={closeIcon}\n onClick={this.dismissAction}\n variant=\"icon\"\n aria-label={dismissButtonAriaLabel}\n ></ic-button>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"ic-toast.entry.cjs.js","mappings":"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","names":["isSlotUsed","VARIANT_ICONS","isPropDefined","onComponentRequiredPropUndefined","getSlot","h","Host","closeIcon"],"sources":["src/components/ic-toast/ic-toast.css?tag=ic-toast&encapsulation=shadow","src/components/ic-toast/ic-toast.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n/**\n * @prop --ic-z-index-toast: z-index of toast\n */\n\n@media (prefers-reduced-motion: no-preference) {\n :host {\n animation: fadein var(--ic-transition-duration-slow) ease-in-out;\n }\n\n :host(.hidden) {\n animation: fadeout var(--ic-transition-duration-slow) ease-in-out;\n }\n}\n\n:host {\n --bottom-position: var(--ic-space-xl);\n\n position: fixed;\n bottom: var(--bottom-position);\n left: 50%;\n transform: translate(-50%);\n z-index: var(--ic-z-index-toast);\n}\n\n:host(.ic-toast-hidden) {\n display: none;\n}\n\n:host(:focus) {\n outline: none;\n}\n\n.container {\n max-width: 32.5rem;\n min-width: 18rem;\n box-shadow: var(--ic-elevation-overlay);\n min-height: 3.5rem;\n background-color: var(--ic-toast-background);\n display: flex;\n align-items: center;\n position: relative;\n border-radius: var(--ic-border-radius);\n}\n\n.toast-icon-container {\n height: 100%;\n display: flex;\n align-items: center;\n}\n\n.divider {\n height: 100%;\n width: var(--ic-space-xs);\n position: absolute;\n border-radius: var(--ic-space-xxxs) 0 0 var(--ic-space-xxxs);\n}\n\n.divider-neutral {\n background-color: var(--ic-toast-status-neutral);\n}\n\n.divider-info {\n background-color: var(--ic-toast-status-info);\n}\n\n.divider-warning {\n background-color: var(--ic-toast-status-warning);\n}\n\n.divider-error {\n background-color: var(--ic-toast-status-error);\n}\n\n.divider-success {\n background-color: var(--ic-toast-status-success);\n}\n\n.toast-icon,\n::slotted(svg) {\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n margin-left: var(--ic-space-md);\n}\n\n:host([variant=\"neutral\"]) .toast-icon svg,\n::slotted(svg) {\n fill: var(--ic-toast-icon-neutral);\n}\n\n:host([variant=\"info\"]) .toast-icon svg {\n fill: var(--ic-toast-icon-info);\n}\n\n:host([variant=\"warning\"]) .toast-icon svg {\n fill: var(--ic-toast-icon-warning);\n}\n\n:host([variant=\"error\"]) .toast-icon svg {\n fill: var(--ic-toast-icon-error);\n}\n\n:host([variant=\"success\"]) .toast-icon svg {\n fill: var(--ic-toast-icon-success);\n}\n\n.toast-content {\n margin-left: var(--ic-space-xs);\n width: 100%;\n}\n\n.no-icon {\n margin-left: var(--ic-space-md);\n}\n\n.toast-text {\n padding: var(--ic-space-xs) var(--ic-space-xs) var(--ic-space-xs) 0;\n}\n\n.toast-heading {\n --ic-typography-color: var(--ic-toast-title);\n}\n\n.toast-message {\n --ic-typography-color: var(--ic-toast-description);\n}\n\n.toast-action-container {\n padding-bottom: var(--ic-space-md);\n}\n\n#dismiss-button {\n padding: var(--ic-space-xs);\n}\n\n#dismiss-button > svg {\n color: var(--ic-toast-dismiss-button);\n}\n\nic-loading-indicator {\n --outer-color: transparent;\n --inner-color: var(--ic-action-monochrome);\n}\n\n.toast-dismiss-timer {\n padding: var(--ic-space-sm);\n}\n\n@media (max-width: 576px) {\n :host {\n --bottom-position: var(--ic-space-lg);\n\n width: calc(100% - 2 * var(--ic-space-md));\n }\n}\n\n@media (min-width: 993px) {\n :host {\n --bottom-position: calc(var(--ic-space-xl) + var(--ic-space-xs));\n }\n}\n\n@media (forced-colors: active) {\n .container {\n border: var(--ic-border-hc);\n }\n}\n\n@keyframes fadein {\n from {\n bottom: 0;\n opacity: 0;\n }\n\n to {\n bottom: var(--bottom-position);\n opacity: 1;\n }\n}\n\n@keyframes fadeout {\n from {\n bottom: var(--bottom-position);\n opacity: 1;\n }\n\n to {\n bottom: 0;\n opacity: 0;\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Method,\n Prop,\n State,\n Watch,\n} from \"@stencil/core\";\nimport closeIcon from \"../../assets/close-icon.svg\";\nimport { VARIANT_ICONS } from \"../../utils/constants\";\nimport {\n getSlot,\n isPropDefined,\n isSlotUsed,\n onComponentRequiredPropUndefined,\n} from \"../../utils/helpers\";\nimport { IcActivationTypes, IcStatusVariants } from \"../../utils/types\";\nimport { ActionAreaElementTypes } from \"./ic-toast.types\";\n\nconst AUTO_DISMISS_TIMER_REFRESH_RATE_MS = 1000;\nconst TOAST_HEADING_CHAR_LIMIT = 70;\nconst TOAST_MESSAGE_CHAR_LIMIT = 140;\n\n/**\n * @slot action - IcButton or IcLink is placed below header and message. If used will default toast to manual `dismiss` type.\n * @slot neutral-icon - A custom neutral icon is placed on the left side of the component. If used will default toast to `neutral` variant.\n */\n@Component({\n tag: \"ic-toast\",\n styleUrl: \"ic-toast.css\",\n shadow: true,\n})\nexport class Toast {\n private dismissTimeout: number;\n private interactiveElements: ActionAreaElementTypes[] = [];\n private neutralVariantLabel: string;\n private timerRefreshInterval: number;\n private focusInteractiveElement: boolean;\n private shiftKeyPressed: boolean;\n\n @Element() el: HTMLIcToastElement;\n\n @State() isManual: boolean;\n @State() timerProgress = 100;\n @State() visible = false;\n\n /**\n * If toast dismissMode is set to `automatic`, use this prop to define the time before the toast dismisses (in MILLISECONDS)\n * (NOTE: Has a minimum value of `5000ms`)\n */\n @Prop({ mutable: true }) autoDismissTimeout? = 5000;\n\n /**\n * If toast can be manually dismissed, this prop sets a custom aria-label for the ic-button component\n */\n @Prop() dismissButtonAriaLabel? = \"dismiss\";\n\n /**\n * How the toast will be dismissed. If manual will display a dismiss button.\n */\n @Prop({ mutable: true }) dismissMode?: IcActivationTypes = \"manual\";\n @Watch(\"dismissMode\")\n dismissModeChangeHandler(newValue: IcActivationTypes): void {\n this.isManual = newValue === \"manual\";\n }\n\n /**\n * The title to display at the start of the toast. (NOTE: Should be no more than `70` characters)\n */\n @Prop() heading!: string;\n\n /**\n * The main body message of the toast. (NOTE: Should be no more than `140` characters)\n */\n @Prop() message?: string;\n\n /**\n * Provides a custom alt-text to be announced to screen readers, if slotting a custom neutral icon\n */\n @Prop() neutralIconAriaLabel?: string;\n\n /**\n * The variant of the toast being rendered\n */\n @Prop({ mutable: true }) variant?: IcStatusVariants;\n\n /**\n * Is emitted when the user dismisses the toast\n */\n @Event() icDismiss: EventEmitter<void>;\n\n disconnectedCallback(): void {\n window.clearTimeout(this.dismissTimeout);\n window.clearInterval(this.timerRefreshInterval);\n }\n\n componentWillLoad(): void {\n this.handleLongText(\n this.heading.length > TOAST_HEADING_CHAR_LIMIT,\n !!this.message && this.message?.length > TOAST_MESSAGE_CHAR_LIMIT\n );\n\n if (this.autoDismissTimeout! < 5000) this.autoDismissTimeout = 5000;\n\n if (isSlotUsed(this.el, \"action\")) this.dismissMode = \"manual\";\n this.isManual = this.dismissMode === \"manual\";\n\n if (isSlotUsed(this.el, \"neutral-icon\")) this.variant = \"neutral\";\n if (this.variant === \"neutral\") {\n this.neutralVariantLabel =\n this.neutralIconAriaLabel ?? VARIANT_ICONS[this.variant].ariaLabel;\n }\n\n if (this.isManual) {\n const toastMessage: string = isPropDefined(this.message)\n ? `. ${this.message}`\n : \"\";\n this.el.setAttribute(\n \"aria-label\",\n this.variant\n ? this.neutralVariantLabel || VARIANT_ICONS[this.variant].ariaLabel\n : this.heading\n );\n (this.variant || this.message) &&\n this.el.setAttribute(\n \"aria-description\",\n this.variant ? `${this.heading}${toastMessage}` : this.message || \"\"\n );\n }\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.heading, propName: \"heading\" }],\n \"Toast\"\n );\n }\n\n componentDidUpdate(): void {\n if (this.focusInteractiveElement && this.isManual) {\n this.resetAutoDismissTimer();\n\n const actionContent = getSlot(\n this.el,\n \"action\"\n ) as ActionAreaElementTypes;\n const dismissButton = this.el.shadowRoot?.querySelector(\"ic-button\");\n if (actionContent) this.interactiveElements.push(actionContent);\n if (dismissButton) this.interactiveElements.push(dismissButton);\n\n this.focusInteractiveElement = false;\n this.findNextInteractiveElement(this.shiftKeyPressed).setFocus();\n this.shiftKeyPressed = false;\n }\n }\n\n @Watch(\"visible\")\n watchVisibleHandler(): void {\n if (this.visible) {\n const actionContent = getSlot(\n this.el,\n \"action\"\n ) as ActionAreaElementTypes;\n const dismissButton = this.el.shadowRoot?.querySelector(\"ic-button\");\n if (actionContent) this.interactiveElements.push(actionContent);\n if (dismissButton) this.interactiveElements.push(dismissButton);\n } else {\n this.interactiveElements = [];\n }\n }\n\n @Listen(\"icDismiss\", { capture: true })\n handleDismiss(): void {\n this.visible = false;\n this.resetAutoDismissTimer();\n }\n\n @Listen(\"keydown\", { target: \"document\" })\n handleKeyboard(ev: KeyboardEvent): void {\n if (this.visible) {\n if (this.isManual) {\n switch (ev.key) {\n case \"Tab\":\n ev.preventDefault();\n this.findNextInteractiveElement(ev.shiftKey).setFocus();\n break;\n case \"Escape\":\n !ev.repeat && this.dismissAction();\n ev.stopImmediatePropagation();\n break;\n }\n } else {\n if (ev.key === \"Tab\") {\n this.shiftKeyPressed = ev.shiftKey;\n this.focusInteractiveElement = true;\n }\n }\n }\n }\n\n @Listen(\"mouseenter\")\n @Listen(\"mouseleave\")\n handleTimer(ev: MouseEvent): void {\n switch (ev.type) {\n case \"mouseenter\":\n if (!this.isManual) {\n this.resetAutoDismissTimer();\n }\n this.isManual = true;\n break;\n case \"mouseleave\":\n if (this.dismissMode === \"automatic\") {\n this.isManual = false;\n this.interactiveElements = [];\n if (this.visible) {\n this.dismissTimeout = window.setTimeout(\n this.dismissAction,\n this.autoDismissTimeout\n );\n this.timerRefreshInterval = window.setInterval(\n this.handleProgressChange,\n AUTO_DISMISS_TIMER_REFRESH_RATE_MS\n );\n }\n }\n break;\n }\n }\n\n /**\n * @internal Used to display the individual toast.\n * @returns The element that previously had focus before the toast appeared\n */\n @Method()\n async setVisible(): Promise<HTMLElement | null> {\n if (!this.visible) this.visible = true;\n if (!this.isManual) {\n this.dismissTimeout = window.setTimeout(\n this.dismissAction,\n this.autoDismissTimeout\n );\n this.timerRefreshInterval = window.setInterval(\n this.handleProgressChange,\n AUTO_DISMISS_TIMER_REFRESH_RATE_MS\n );\n return null;\n } else {\n window.setTimeout(() => this.interactiveElements[0].setFocus(), 200);\n return document.activeElement as HTMLElement;\n }\n }\n\n private dismissAction = (): void => {\n this.icDismiss.emit();\n };\n\n private handleProgressChange = () => {\n this.timerProgress -=\n (AUTO_DISMISS_TIMER_REFRESH_RATE_MS / this.autoDismissTimeout!) * 100;\n };\n\n private handleLongText(\n headingTooLong: boolean,\n messageTooLong?: boolean\n ): void {\n if (messageTooLong || headingTooLong) {\n console.error(\n `Too many characters in toast ${headingTooLong ? \"heading\" : \"\"}${\n headingTooLong && messageTooLong ? \" and \" : \"\"\n }${\n messageTooLong ? \"message\" : \"\"\n }. Refer to character limits specified in the prop description`\n );\n }\n }\n\n private findNextInteractiveElement(\n isBackwards: boolean\n ): ActionAreaElementTypes {\n const firstEl = this.interactiveElements[0];\n const lastEl =\n this.interactiveElements[this.interactiveElements.length - 1];\n\n if (this.isActive(isBackwards ? firstEl : lastEl))\n return isBackwards ? lastEl : firstEl;\n\n let currentIndex = 0;\n\n return this.interactiveElements.some((el, index) => {\n if (!this.isActive(el)) return false;\n currentIndex = index;\n return true;\n })\n ? this.interactiveElements[currentIndex + (isBackwards ? -1 : 1)]\n : firstEl;\n }\n\n private resetAutoDismissTimer(): void {\n window.clearTimeout(this.dismissTimeout);\n window.clearInterval(this.timerRefreshInterval);\n this.timerProgress = 100;\n }\n\n private isActive(targetEl: HTMLElement): boolean {\n return targetEl === this.el\n ? !!this.el.shadowRoot!.activeElement\n : document.activeElement === targetEl;\n }\n\n private onFocus = (): void => {\n if (this.focusInteractiveElement) {\n this.isManual = true;\n }\n };\n\n private onBlur = (): void => {\n this.handleTimer({ type: \"mouseleave\" } as MouseEvent);\n };\n\n render() {\n const {\n variant,\n heading,\n message,\n visible,\n isManual,\n dismissButtonAriaLabel,\n } = this;\n return (\n <Host\n class={{ [\"ic-toast-hidden\"]: !visible }}\n tabindex=\"0\"\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n role={isManual ? \"dialog\" : \"alert\"}\n aria-live={isManual ? null : \"polite\"}\n >\n <div class=\"container\">\n {variant && visible && (\n <div class=\"toast-icon-container\">\n <div\n class={{\n [\"divider\"]: true,\n [`divider-${variant}`]: true,\n }}\n ></div>\n {variant === \"neutral\" ? (\n <slot name=\"neutral-icon\" />\n ) : (\n <span\n class=\"toast-icon\"\n innerHTML={VARIANT_ICONS[variant].icon}\n ></span>\n )}\n </div>\n )}\n <div\n class={{\n [\"toast-content\"]: true,\n [\"no-icon\"]:\n variant === \"neutral\" && !isSlotUsed(this.el, \"neutral-icon\"),\n }}\n >\n <div class=\"toast-text\">\n <ic-typography variant=\"subtitle-large\" class=\"toast-heading\">\n {visible && (isManual ? <h5>{heading}</h5> : <p>{heading}</p>)}\n </ic-typography>\n {message && (\n <ic-typography variant=\"body\" class=\"toast-message\">\n {visible && <p>{message}</p>}\n </ic-typography>\n )}\n </div>\n {isSlotUsed(this.el, \"action\") && (\n <div class=\"toast-action-container\">\n <slot name=\"action\" />\n </div>\n )}\n </div>\n {!isManual ? (\n <ic-loading-indicator\n class=\"toast-dismiss-timer\"\n theme=\"dark\"\n monochrome\n size=\"icon\"\n progress={this.timerProgress}\n description=\"Dismiss timer\"\n ></ic-loading-indicator>\n ) : (\n <ic-button\n id=\"dismiss-button\"\n innerHTML={closeIcon}\n onClick={this.dismissAction}\n variant=\"icon\"\n aria-label={dismissButtonAriaLabel}\n ></ic-button>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}