@ukic/web-components 3.14.0 → 3.16.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 (414) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/ic-button_3.cjs.entry.js +5 -5
  3. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  4. package/dist/cjs/ic-checkbox-group.cjs.entry.js +2 -2
  5. package/dist/cjs/ic-checkbox.cjs.entry.js +31 -8
  6. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  7. package/dist/cjs/ic-data-list.cjs.entry.js +2 -2
  8. package/dist/cjs/ic-data-list.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ic-data-row.cjs.entry.js +2 -2
  10. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  11. package/dist/cjs/ic-dialog.cjs.entry.js +1 -1
  12. package/dist/cjs/ic-empty-state.cjs.entry.js +2 -2
  13. package/dist/cjs/ic-footer-link.cjs.entry.js +2 -2
  14. package/dist/cjs/ic-footer.cjs.entry.js +9 -5
  15. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  16. package/dist/cjs/ic-hero.cjs.entry.js +11 -6
  17. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  18. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +5 -5
  19. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +10 -10
  20. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ic-input-label_2.cjs.entry.js +6 -6
  22. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ic-layout-grid-item.cjs.entry.js +2 -2
  24. package/dist/cjs/ic-layout-grid.cjs.entry.js +2 -2
  25. package/dist/cjs/ic-link.cjs.entry.js +1 -1
  26. package/dist/cjs/ic-menu-group.cjs.entry.js +1 -1
  27. package/dist/cjs/ic-navigation-group.cjs.entry.js +2 -2
  28. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  29. package/dist/cjs/ic-navigation-item.cjs.entry.js +1 -1
  30. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  31. package/dist/cjs/ic-navigation-menu.cjs.entry.js +4 -4
  32. package/dist/cjs/ic-page-header.cjs.entry.js +6 -6
  33. package/dist/cjs/ic-pagination-item.cjs.entry.js +1 -1
  34. package/dist/cjs/ic-pagination.cjs.entry.js +4 -4
  35. package/dist/cjs/ic-popover-menu.cjs.entry.js +4 -4
  36. package/dist/cjs/ic-radio-group.cjs.entry.js +5 -5
  37. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  38. package/dist/cjs/ic-radio-option.cjs.entry.js +9 -6
  39. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  40. package/dist/cjs/ic-search-bar.cjs.entry.js +10 -10
  41. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  42. package/dist/cjs/ic-section-container.cjs.entry.js +2 -2
  43. package/dist/cjs/ic-select.cjs.entry.js +7 -7
  44. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  45. package/dist/cjs/ic-side-navigation.cjs.entry.js +4 -4
  46. package/dist/cjs/ic-skeleton.cjs.entry.js +2 -2
  47. package/dist/cjs/ic-skip-link.cjs.entry.js +2 -2
  48. package/dist/cjs/ic-status-tag.cjs.entry.js +2 -2
  49. package/dist/cjs/ic-step.cjs.entry.js +13 -13
  50. package/dist/cjs/ic-stepper.cjs.entry.js +2 -2
  51. package/dist/cjs/ic-switch.cjs.entry.js +4 -4
  52. package/dist/cjs/ic-tab-context.cjs.entry.js +1 -1
  53. package/dist/cjs/ic-tab-group.cjs.entry.js +2 -2
  54. package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
  55. package/dist/cjs/ic-text-field.cjs.entry.js +6 -6
  56. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  57. package/dist/cjs/ic-theme.cjs.entry.js +1 -1
  58. package/dist/cjs/ic-toast-region.cjs.entry.js +1 -1
  59. package/dist/cjs/ic-toast.cjs.entry.js +14 -6
  60. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  61. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +2 -2
  62. package/dist/cjs/ic-toggle-button.cjs.entry.js +2 -2
  63. package/dist/cjs/loader.cjs.js +1 -1
  64. package/dist/collection/components/ic-button/ic-button.stories.js +3 -3
  65. package/dist/collection/components/ic-checkbox/ic-checkbox.css +11 -2
  66. package/dist/collection/components/ic-checkbox/ic-checkbox.js +31 -7
  67. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  68. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +2 -2
  69. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.stories.js +68 -16
  70. package/dist/collection/components/ic-data-list/ic-data-list.css +1 -0
  71. package/dist/collection/components/ic-data-list/ic-data-list.js +2 -2
  72. package/dist/collection/components/ic-data-row/ic-data-row.css +2 -0
  73. package/dist/collection/components/ic-data-row/ic-data-row.js +2 -2
  74. package/dist/collection/components/ic-dialog/ic-dialog.js +1 -1
  75. package/dist/collection/components/ic-empty-state/ic-empty-state.js +2 -2
  76. package/dist/collection/components/ic-footer/ic-footer.js +29 -5
  77. package/dist/collection/components/ic-footer/ic-footer.js.map +1 -1
  78. package/dist/collection/components/ic-footer/ic-footer.stories.js +31 -0
  79. package/dist/collection/components/ic-footer-link/ic-footer-link.js +2 -2
  80. package/dist/collection/components/ic-hero/ic-hero.css +19 -0
  81. package/dist/collection/components/ic-hero/ic-hero.js +36 -5
  82. package/dist/collection/components/ic-hero/ic-hero.js.map +1 -1
  83. package/dist/collection/components/ic-hero/ic-hero.stories.js +15 -0
  84. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +5 -5
  85. package/dist/collection/components/ic-input-component-container/ic-input-component-container.css +9 -0
  86. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +3 -3
  87. package/dist/collection/components/ic-input-container/ic-input-container.js +2 -2
  88. package/dist/collection/components/ic-input-label/ic-input-label.js +2 -2
  89. package/dist/collection/components/ic-input-validation/ic-input-validation.css +2 -1
  90. package/dist/collection/components/ic-input-validation/ic-input-validation.js +3 -3
  91. package/dist/collection/components/ic-layout-grid/ic-layout-grid.js +2 -2
  92. package/dist/collection/components/ic-layout-grid-item/ic-layout-grid-item.js +2 -2
  93. package/dist/collection/components/ic-link/ic-link.js +1 -1
  94. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +5 -5
  95. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.stories.js +17 -18
  96. package/dist/collection/components/ic-menu/ic-menu.css +8 -0
  97. package/dist/collection/components/ic-menu/ic-menu.js +3 -3
  98. package/dist/collection/components/ic-menu-group/ic-menu-group.js +1 -1
  99. package/dist/collection/components/ic-navigation-group/ic-navigation-group.css +12 -0
  100. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +1 -1
  101. package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +2 -7
  102. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +4 -4
  103. package/dist/collection/components/ic-page-header/ic-page-header.js +6 -6
  104. package/dist/collection/components/ic-pagination/ic-pagination.js +4 -4
  105. package/dist/collection/components/ic-pagination/ic-pagination.stories.js +3 -3
  106. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +1 -1
  107. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +4 -4
  108. package/dist/collection/components/ic-popover-menu/ic-popover-menu.stories.js +7 -7
  109. package/dist/collection/components/ic-radio-group/ic-radio-group.css +6 -6
  110. package/dist/collection/components/ic-radio-group/ic-radio-group.js +4 -4
  111. package/dist/collection/components/ic-radio-group/ic-radio-group.stories.js +12 -12
  112. package/dist/collection/components/ic-radio-option/ic-radio-option.css +60 -54
  113. package/dist/collection/components/ic-radio-option/ic-radio-option.js +9 -5
  114. package/dist/collection/components/ic-radio-option/ic-radio-option.js.map +1 -1
  115. package/dist/collection/components/ic-search-bar/ic-search-bar.css +8 -0
  116. package/dist/collection/components/ic-search-bar/ic-search-bar.js +9 -9
  117. package/dist/collection/components/ic-search-bar/ic-search-bar.stories.js +19 -19
  118. package/dist/collection/components/ic-section-container/ic-section-container.js +2 -2
  119. package/dist/collection/components/ic-select/ic-select.css +1 -1
  120. package/dist/collection/components/ic-select/ic-select.js +6 -6
  121. package/dist/collection/components/ic-select/ic-select_(multi).stories.js +20 -20
  122. package/dist/collection/components/ic-select/ic-select_(searchable).stories.js +21 -21
  123. package/dist/collection/components/ic-select/ic-select_(single).stories.js +21 -5
  124. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +4 -4
  125. package/dist/collection/components/ic-skeleton/ic-skeleton.js +2 -2
  126. package/dist/collection/components/ic-skip-link/ic-skip-link.js +2 -2
  127. package/dist/collection/components/ic-status-tag/ic-status-tag.js +2 -2
  128. package/dist/collection/components/ic-step/ic-step.js +13 -13
  129. package/dist/collection/components/ic-stepper/ic-stepper.js +2 -2
  130. package/dist/collection/components/ic-stepper/ic-stepper.stories.js +16 -6
  131. package/dist/collection/components/ic-switch/ic-switch.js +4 -4
  132. package/dist/collection/components/ic-tab-context/ic-tab-context.js +1 -1
  133. package/dist/collection/components/ic-tab-context/ic-tabs.stories.js +1 -1
  134. package/dist/collection/components/ic-tab-group/ic-tab-group.js +2 -2
  135. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +2 -2
  136. package/dist/collection/components/ic-text-field/ic-text-field.js +6 -6
  137. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  138. package/dist/collection/components/ic-text-field/ic-text-field.stories.js +32 -18
  139. package/dist/collection/components/ic-theme/ic-theme.js +1 -1
  140. package/dist/collection/components/ic-toast/ic-toast.css +26 -1
  141. package/dist/collection/components/ic-toast/ic-toast.js +39 -5
  142. package/dist/collection/components/ic-toast/ic-toast.js.map +1 -1
  143. package/dist/collection/components/ic-toast/ic-toast.stories.js +21 -9
  144. package/dist/collection/components/ic-toast-region/ic-toast-region.js +1 -1
  145. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js +2 -2
  146. package/dist/collection/components/ic-toggle-button/ic-toggle-button.stories.js +14 -14
  147. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js +2 -2
  148. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.stories.js +7 -7
  149. package/dist/collection/components/ic-tooltip/ic-tooltip.stories.js +11 -11
  150. package/dist/collection/components/ic-top-navigation/ic-top-navigation.stories.js +15 -15
  151. package/dist/collection/components/ic-typography/ic-typography.stories.js +1 -1
  152. package/dist/collection/patterns/top-nav-content-footer.stories.js +1 -1
  153. package/dist/components/ic-badge.js.map +1 -1
  154. package/dist/components/ic-checkbox-group.js +2 -2
  155. package/dist/components/ic-checkbox.js +31 -8
  156. package/dist/components/ic-checkbox.js.map +1 -1
  157. package/dist/components/ic-chip.js.map +1 -1
  158. package/dist/components/ic-classification-banner.js.map +1 -1
  159. package/dist/components/ic-data-list.js +2 -2
  160. package/dist/components/ic-data-list.js.map +1 -1
  161. package/dist/components/ic-data-row.js +2 -2
  162. package/dist/components/ic-data-row.js.map +1 -1
  163. package/dist/components/ic-dialog.js +1 -1
  164. package/dist/components/ic-empty-state.js +2 -2
  165. package/dist/components/ic-footer-link.js +2 -2
  166. package/dist/components/ic-footer.js +10 -5
  167. package/dist/components/ic-footer.js.map +1 -1
  168. package/dist/components/ic-hero.js +12 -6
  169. package/dist/components/ic-hero.js.map +1 -1
  170. package/dist/components/ic-horizontal-scroll2.js +5 -5
  171. package/dist/components/ic-input-component-container2.js +4 -4
  172. package/dist/components/ic-input-component-container2.js.map +1 -1
  173. package/dist/components/ic-input-container2.js +2 -2
  174. package/dist/components/ic-input-label2.js +2 -2
  175. package/dist/components/ic-input-validation2.js +4 -4
  176. package/dist/components/ic-input-validation2.js.map +1 -1
  177. package/dist/components/ic-layout-grid-item.js +2 -2
  178. package/dist/components/ic-layout-grid.js +2 -2
  179. package/dist/components/ic-link2.js +1 -1
  180. package/dist/components/ic-loading-indicator2.js +5 -5
  181. package/dist/components/ic-menu-group.js +1 -1
  182. package/dist/components/ic-menu2.js +4 -4
  183. package/dist/components/ic-menu2.js.map +1 -1
  184. package/dist/components/ic-navigation-group.js +2 -2
  185. package/dist/components/ic-navigation-group.js.map +1 -1
  186. package/dist/components/ic-navigation-item.js +1 -1
  187. package/dist/components/ic-navigation-item.js.map +1 -1
  188. package/dist/components/ic-navigation-menu2.js +4 -4
  189. package/dist/components/ic-page-header.js +6 -6
  190. package/dist/components/ic-pagination-item2.js +1 -1
  191. package/dist/components/ic-pagination.js +4 -4
  192. package/dist/components/ic-popover-menu.js +4 -4
  193. package/dist/components/ic-popover-menu.js.map +1 -1
  194. package/dist/components/ic-radio-group.js +5 -5
  195. package/dist/components/ic-radio-group.js.map +1 -1
  196. package/dist/components/ic-radio-option.js +10 -7
  197. package/dist/components/ic-radio-option.js.map +1 -1
  198. package/dist/components/ic-search-bar.js +10 -10
  199. package/dist/components/ic-search-bar.js.map +1 -1
  200. package/dist/components/ic-section-container2.js +2 -2
  201. package/dist/components/ic-select.js +7 -7
  202. package/dist/components/ic-select.js.map +1 -1
  203. package/dist/components/ic-side-navigation.js +4 -4
  204. package/dist/components/ic-side-navigation.js.map +1 -1
  205. package/dist/components/ic-skeleton.js +2 -2
  206. package/dist/components/ic-skip-link.js +2 -2
  207. package/dist/components/ic-status-tag.js +2 -2
  208. package/dist/components/ic-step.js +13 -13
  209. package/dist/components/ic-step.js.map +1 -1
  210. package/dist/components/ic-stepper.js +2 -2
  211. package/dist/components/ic-switch.js +4 -4
  212. package/dist/components/ic-tab-context.js +1 -1
  213. package/dist/components/ic-tab-group.js +2 -2
  214. package/dist/components/ic-tab-panel.js +2 -2
  215. package/dist/components/ic-text-field.js +6 -6
  216. package/dist/components/ic-text-field.js.map +1 -1
  217. package/dist/components/ic-theme.js +1 -1
  218. package/dist/components/ic-toast-region.js +1 -1
  219. package/dist/components/ic-toast.js +15 -6
  220. package/dist/components/ic-toast.js.map +1 -1
  221. package/dist/components/ic-toggle-button-group.js +2 -2
  222. package/dist/components/ic-toggle-button.js +2 -2
  223. package/dist/core/core.css +21 -9
  224. package/dist/core/core.esm.js +1 -1
  225. package/dist/core/core.esm.js.map +1 -1
  226. package/dist/core/{p-889bb8db.entry.js → p-04cb17d7.entry.js} +2 -2
  227. package/dist/core/p-082e0068.entry.js +2 -0
  228. package/dist/core/p-082e0068.entry.js.map +1 -0
  229. package/dist/core/{p-f4e2e41f.entry.js → p-12c30491.entry.js} +2 -2
  230. package/dist/core/{p-109e7fce.entry.js → p-14d43f64.entry.js} +2 -2
  231. package/dist/core/p-1ca4a5ed.entry.js +2 -0
  232. package/dist/core/p-1ca4a5ed.entry.js.map +1 -0
  233. package/dist/core/{p-efc97f21.entry.js → p-1f41818b.entry.js} +2 -2
  234. package/dist/core/{p-5cf704e3.entry.js → p-319e3d5b.entry.js} +2 -2
  235. package/dist/core/p-3238389a.entry.js +2 -0
  236. package/dist/core/p-3238389a.entry.js.map +1 -0
  237. package/dist/core/{p-d1cce122.entry.js → p-33e35173.entry.js} +2 -2
  238. package/dist/core/p-33e35173.entry.js.map +1 -0
  239. package/dist/core/{p-eb1823b3.entry.js → p-34407b13.entry.js} +2 -2
  240. package/dist/core/p-34407b13.entry.js.map +1 -0
  241. package/dist/core/{p-ab26beed.entry.js → p-3d23ce54.entry.js} +2 -2
  242. package/dist/core/{p-ef397b6f.entry.js → p-42d35fc4.entry.js} +2 -2
  243. package/dist/core/{p-0b1ea961.entry.js → p-4d3b219c.entry.js} +2 -2
  244. package/dist/core/{p-93e1ba0a.entry.js → p-5254a078.entry.js} +2 -2
  245. package/dist/core/p-52c66bfe.entry.js +2 -0
  246. package/dist/core/p-52c66bfe.entry.js.map +1 -0
  247. package/dist/core/{p-9c2e9189.entry.js → p-53740194.entry.js} +2 -2
  248. package/dist/core/{p-614953c5.entry.js → p-601d4e3f.entry.js} +2 -2
  249. package/dist/core/{p-0257d59e.entry.js → p-6329ddcb.entry.js} +2 -2
  250. package/dist/core/{p-d8200098.entry.js → p-67c3985d.entry.js} +2 -2
  251. package/dist/core/p-6ed48c46.entry.js +2 -0
  252. package/dist/core/p-6ed48c46.entry.js.map +1 -0
  253. package/dist/core/{p-a8dc3162.entry.js → p-703f3de1.entry.js} +2 -2
  254. package/dist/core/{p-f7706ff7.entry.js → p-762ea31a.entry.js} +2 -2
  255. package/dist/core/{p-2969b5c9.entry.js → p-7d0d85c4.entry.js} +2 -2
  256. package/dist/core/p-8abcc114.entry.js +2 -0
  257. package/dist/core/p-8abcc114.entry.js.map +1 -0
  258. package/dist/core/{p-b00efb15.entry.js → p-9674b63f.entry.js} +2 -2
  259. package/dist/core/p-9c52ee48.entry.js +2 -0
  260. package/dist/core/p-9c52ee48.entry.js.map +1 -0
  261. package/dist/core/{p-fb43abd6.entry.js → p-9ca147f3.entry.js} +2 -2
  262. package/dist/core/{p-4637c326.entry.js → p-a7583faf.entry.js} +2 -2
  263. package/dist/core/{p-6996e94f.entry.js → p-a8e4258f.entry.js} +2 -2
  264. package/dist/core/{p-6996e94f.entry.js.map → p-a8e4258f.entry.js.map} +1 -1
  265. package/dist/core/{p-09c31ac6.entry.js → p-adde6c66.entry.js} +2 -2
  266. package/dist/core/{p-6fb29846.entry.js → p-ae11583f.entry.js} +2 -2
  267. package/dist/core/p-afbba548.entry.js +2 -0
  268. package/dist/core/p-afbba548.entry.js.map +1 -0
  269. package/dist/core/{p-f098e531.entry.js → p-b4a2f6fa.entry.js} +2 -2
  270. package/dist/core/p-b4a2f6fa.entry.js.map +1 -0
  271. package/dist/core/p-b59504f1.entry.js +2 -0
  272. package/dist/core/p-b59504f1.entry.js.map +1 -0
  273. package/dist/core/p-b83a736d.entry.js +3 -0
  274. package/dist/core/p-b83a736d.entry.js.map +1 -0
  275. package/dist/core/{p-4bdeb62d.entry.js → p-bdda404b.entry.js} +2 -2
  276. package/dist/core/p-bdda404b.entry.js.map +1 -0
  277. package/dist/core/{p-0cbd0967.entry.js → p-cce398e1.entry.js} +2 -2
  278. package/dist/core/{p-06b3ae40.entry.js → p-d3223b89.entry.js} +2 -2
  279. package/dist/core/{p-3b13d191.entry.js → p-eca43f7d.entry.js} +2 -2
  280. package/dist/core/{p-44fbe8c2.entry.js → p-f4e3bb5b.entry.js} +2 -2
  281. package/dist/core/p-f51c609d.entry.js +2 -0
  282. package/dist/core/{p-296a41ce.entry.js → p-f57729b8.entry.js} +2 -2
  283. package/dist/core/{p-091a7fbf.entry.js → p-f6bb691a.entry.js} +2 -2
  284. package/dist/core/{p-ad6632a9.entry.js → p-f7105cf9.entry.js} +2 -2
  285. package/dist/core/p-ffd0d9d1.entry.js +2 -0
  286. package/dist/core/p-ffd0d9d1.entry.js.map +1 -0
  287. package/dist/esm/core.js +1 -1
  288. package/dist/esm/ic-button_3.entry.js +5 -5
  289. package/dist/esm/ic-button_3.entry.js.map +1 -1
  290. package/dist/esm/ic-checkbox-group.entry.js +2 -2
  291. package/dist/esm/ic-checkbox.entry.js +31 -8
  292. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  293. package/dist/esm/ic-data-list.entry.js +2 -2
  294. package/dist/esm/ic-data-list.entry.js.map +1 -1
  295. package/dist/esm/ic-data-row.entry.js +2 -2
  296. package/dist/esm/ic-data-row.entry.js.map +1 -1
  297. package/dist/esm/ic-dialog.entry.js +1 -1
  298. package/dist/esm/ic-empty-state.entry.js +2 -2
  299. package/dist/esm/ic-footer-link.entry.js +2 -2
  300. package/dist/esm/ic-footer.entry.js +9 -5
  301. package/dist/esm/ic-footer.entry.js.map +1 -1
  302. package/dist/esm/ic-hero.entry.js +11 -6
  303. package/dist/esm/ic-hero.entry.js.map +1 -1
  304. package/dist/esm/ic-horizontal-scroll.entry.js +5 -5
  305. package/dist/esm/ic-input-component-container_3.entry.js +10 -10
  306. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  307. package/dist/esm/ic-input-label_2.entry.js +6 -6
  308. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  309. package/dist/esm/ic-layout-grid-item.entry.js +2 -2
  310. package/dist/esm/ic-layout-grid.entry.js +2 -2
  311. package/dist/esm/ic-link.entry.js +1 -1
  312. package/dist/esm/ic-menu-group.entry.js +1 -1
  313. package/dist/esm/ic-navigation-group.entry.js +2 -2
  314. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  315. package/dist/esm/ic-navigation-item.entry.js +1 -1
  316. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  317. package/dist/esm/ic-navigation-menu.entry.js +4 -4
  318. package/dist/esm/ic-page-header.entry.js +6 -6
  319. package/dist/esm/ic-pagination-item.entry.js +1 -1
  320. package/dist/esm/ic-pagination.entry.js +4 -4
  321. package/dist/esm/ic-popover-menu.entry.js +4 -4
  322. package/dist/esm/ic-radio-group.entry.js +5 -5
  323. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  324. package/dist/esm/ic-radio-option.entry.js +9 -6
  325. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  326. package/dist/esm/ic-search-bar.entry.js +10 -10
  327. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  328. package/dist/esm/ic-section-container.entry.js +2 -2
  329. package/dist/esm/ic-select.entry.js +7 -7
  330. package/dist/esm/ic-select.entry.js.map +1 -1
  331. package/dist/esm/ic-side-navigation.entry.js +4 -4
  332. package/dist/esm/ic-skeleton.entry.js +2 -2
  333. package/dist/esm/ic-skip-link.entry.js +2 -2
  334. package/dist/esm/ic-status-tag.entry.js +2 -2
  335. package/dist/esm/ic-step.entry.js +13 -13
  336. package/dist/esm/ic-stepper.entry.js +2 -2
  337. package/dist/esm/ic-switch.entry.js +4 -4
  338. package/dist/esm/ic-tab-context.entry.js +1 -1
  339. package/dist/esm/ic-tab-group.entry.js +2 -2
  340. package/dist/esm/ic-tab-panel.entry.js +2 -2
  341. package/dist/esm/ic-text-field.entry.js +6 -6
  342. package/dist/esm/ic-text-field.entry.js.map +1 -1
  343. package/dist/esm/ic-theme.entry.js +1 -1
  344. package/dist/esm/ic-toast-region.entry.js +1 -1
  345. package/dist/esm/ic-toast.entry.js +14 -6
  346. package/dist/esm/ic-toast.entry.js.map +1 -1
  347. package/dist/esm/ic-toggle-button-group.entry.js +2 -2
  348. package/dist/esm/ic-toggle-button.entry.js +2 -2
  349. package/dist/esm/loader.js +1 -1
  350. package/dist/types/components/ic-checkbox/ic-checkbox.d.ts +5 -0
  351. package/dist/types/components/ic-footer/ic-footer.d.ts +4 -0
  352. package/dist/types/components/ic-hero/ic-hero.d.ts +5 -1
  353. package/dist/types/components/ic-toast/ic-toast.d.ts +5 -1
  354. package/dist/types/components.d.ts +24 -0
  355. package/hydrate/index.js +214 -167
  356. package/hydrate/index.mjs +214 -167
  357. package/package.json +4 -4
  358. package/vscode-data.json +34 -0
  359. package/dist/core/p-042cfc35.entry.js +0 -2
  360. package/dist/core/p-042cfc35.entry.js.map +0 -1
  361. package/dist/core/p-053ed367.entry.js +0 -2
  362. package/dist/core/p-053ed367.entry.js.map +0 -1
  363. package/dist/core/p-24d46cab.entry.js +0 -2
  364. package/dist/core/p-24d46cab.entry.js.map +0 -1
  365. package/dist/core/p-48eb7299.entry.js +0 -2
  366. package/dist/core/p-48eb7299.entry.js.map +0 -1
  367. package/dist/core/p-4a358f09.entry.js +0 -2
  368. package/dist/core/p-4a358f09.entry.js.map +0 -1
  369. package/dist/core/p-4bdeb62d.entry.js.map +0 -1
  370. package/dist/core/p-6e61c48a.entry.js +0 -2
  371. package/dist/core/p-6e61c48a.entry.js.map +0 -1
  372. package/dist/core/p-6f60262e.entry.js +0 -3
  373. package/dist/core/p-6f60262e.entry.js.map +0 -1
  374. package/dist/core/p-7970cbed.entry.js +0 -2
  375. package/dist/core/p-7970cbed.entry.js.map +0 -1
  376. package/dist/core/p-8c7d6a85.entry.js +0 -2
  377. package/dist/core/p-8c7d6a85.entry.js.map +0 -1
  378. package/dist/core/p-b29e325f.entry.js +0 -2
  379. package/dist/core/p-bba25812.entry.js +0 -2
  380. package/dist/core/p-bba25812.entry.js.map +0 -1
  381. package/dist/core/p-d1cce122.entry.js.map +0 -1
  382. package/dist/core/p-d20a61a7.entry.js +0 -2
  383. package/dist/core/p-d20a61a7.entry.js.map +0 -1
  384. package/dist/core/p-eb1823b3.entry.js.map +0 -1
  385. package/dist/core/p-f098e531.entry.js.map +0 -1
  386. /package/dist/core/{p-889bb8db.entry.js.map → p-04cb17d7.entry.js.map} +0 -0
  387. /package/dist/core/{p-f4e2e41f.entry.js.map → p-12c30491.entry.js.map} +0 -0
  388. /package/dist/core/{p-109e7fce.entry.js.map → p-14d43f64.entry.js.map} +0 -0
  389. /package/dist/core/{p-efc97f21.entry.js.map → p-1f41818b.entry.js.map} +0 -0
  390. /package/dist/core/{p-5cf704e3.entry.js.map → p-319e3d5b.entry.js.map} +0 -0
  391. /package/dist/core/{p-ab26beed.entry.js.map → p-3d23ce54.entry.js.map} +0 -0
  392. /package/dist/core/{p-ef397b6f.entry.js.map → p-42d35fc4.entry.js.map} +0 -0
  393. /package/dist/core/{p-0b1ea961.entry.js.map → p-4d3b219c.entry.js.map} +0 -0
  394. /package/dist/core/{p-93e1ba0a.entry.js.map → p-5254a078.entry.js.map} +0 -0
  395. /package/dist/core/{p-9c2e9189.entry.js.map → p-53740194.entry.js.map} +0 -0
  396. /package/dist/core/{p-614953c5.entry.js.map → p-601d4e3f.entry.js.map} +0 -0
  397. /package/dist/core/{p-0257d59e.entry.js.map → p-6329ddcb.entry.js.map} +0 -0
  398. /package/dist/core/{p-d8200098.entry.js.map → p-67c3985d.entry.js.map} +0 -0
  399. /package/dist/core/{p-a8dc3162.entry.js.map → p-703f3de1.entry.js.map} +0 -0
  400. /package/dist/core/{p-f7706ff7.entry.js.map → p-762ea31a.entry.js.map} +0 -0
  401. /package/dist/core/{p-2969b5c9.entry.js.map → p-7d0d85c4.entry.js.map} +0 -0
  402. /package/dist/core/{p-b00efb15.entry.js.map → p-9674b63f.entry.js.map} +0 -0
  403. /package/dist/core/{p-fb43abd6.entry.js.map → p-9ca147f3.entry.js.map} +0 -0
  404. /package/dist/core/{p-4637c326.entry.js.map → p-a7583faf.entry.js.map} +0 -0
  405. /package/dist/core/{p-09c31ac6.entry.js.map → p-adde6c66.entry.js.map} +0 -0
  406. /package/dist/core/{p-6fb29846.entry.js.map → p-ae11583f.entry.js.map} +0 -0
  407. /package/dist/core/{p-0cbd0967.entry.js.map → p-cce398e1.entry.js.map} +0 -0
  408. /package/dist/core/{p-06b3ae40.entry.js.map → p-d3223b89.entry.js.map} +0 -0
  409. /package/dist/core/{p-3b13d191.entry.js.map → p-eca43f7d.entry.js.map} +0 -0
  410. /package/dist/core/{p-44fbe8c2.entry.js.map → p-f4e3bb5b.entry.js.map} +0 -0
  411. /package/dist/core/{p-b29e325f.entry.js.map → p-f51c609d.entry.js.map} +0 -0
  412. /package/dist/core/{p-296a41ce.entry.js.map → p-f57729b8.entry.js.map} +0 -0
  413. /package/dist/core/{p-091a7fbf.entry.js.map → p-f6bb691a.entry.js.map} +0 -0
  414. /package/dist/core/{p-ad6632a9.entry.js.map → p-f7105cf9.entry.js.map} +0 -0
@@ -41,7 +41,7 @@ const defaultArgs = {
41
41
  };
42
42
 
43
43
  export const Default = {
44
- render: (args) =>
44
+ render: () =>
45
45
  html`<ic-text-field label="What is your favourite coffee?"> </ic-text-field>
46
46
  <ic-text-field rows="6" label="What is your favourite coffee?">
47
47
  </ic-text-field>`,
@@ -50,7 +50,7 @@ export const Default = {
50
50
  };
51
51
 
52
52
  export const Autofocus = {
53
- render: (args) =>
53
+ render: () =>
54
54
  html`<ic-text-field autofocus label="What is your favourite coffee?">
55
55
  </ic-text-field>`,
56
56
 
@@ -58,7 +58,7 @@ export const Autofocus = {
58
58
  };
59
59
 
60
60
  export const PlaceholderAndRequired = {
61
- render: (args) =>
61
+ render: () =>
62
62
  html`<ic-text-field
63
63
  label="What is your favourite coffee?"
64
64
  required
@@ -77,7 +77,7 @@ export const PlaceholderAndRequired = {
77
77
  };
78
78
 
79
79
  export const HelperText = {
80
- render: (args) =>
80
+ render: () =>
81
81
  html`<ic-text-field
82
82
  label="What is your favourite coffee?"
83
83
  required
@@ -109,7 +109,7 @@ export const HelperText = {
109
109
  };
110
110
 
111
111
  export const WithIcon = {
112
- render: (args) =>
112
+ render: () =>
113
113
  html`<ic-text-field
114
114
  label="What is your favourite coffee?"
115
115
  required
@@ -156,7 +156,7 @@ export const WithIcon = {
156
156
  };
157
157
 
158
158
  export const WithValue = {
159
- render: (args) =>
159
+ render: () =>
160
160
  html`<ic-text-field
161
161
  value="Arabica"
162
162
  label="What is your favourite coffee?"
@@ -205,7 +205,7 @@ export const WithValue = {
205
205
  };
206
206
 
207
207
  export const CustomWidth = {
208
- render: (args) =>
208
+ render: () =>
209
209
  html`<style>
210
210
  ic-text-field {
211
211
  --input-width: 400px;
@@ -264,7 +264,7 @@ export const CustomWidth = {
264
264
  };
265
265
 
266
266
  export const FullWidth = {
267
- render: (args) =>
267
+ render: () =>
268
268
  html`<div style="display: flex">
269
269
  <ic-text-field
270
270
  full-width="true"
@@ -322,7 +322,7 @@ export const FullWidth = {
322
322
  };
323
323
 
324
324
  export const Disabled = {
325
- render: (args) =>
325
+ render: () =>
326
326
  html`<ic-text-field
327
327
  value="Arabica"
328
328
  label="What is your favourite coffee?"
@@ -416,7 +416,7 @@ export const Disabled = {
416
416
  };
417
417
 
418
418
  export const ReadOnly = {
419
- render: (args) =>
419
+ render: () =>
420
420
  html`<ic-text-field
421
421
  value="Arabica"
422
422
  max-characters="25"
@@ -486,7 +486,7 @@ export const ReadOnly = {
486
486
  };
487
487
 
488
488
  export const Validation = {
489
- render: (args) =>
489
+ render: () =>
490
490
  html`<ic-text-field
491
491
  validation-status="success"
492
492
  validation-text="Good choice!"
@@ -802,7 +802,7 @@ export const Validation = {
802
802
  };
803
803
 
804
804
  export const AriaLiveBehaviour = {
805
- render: (args) =>
805
+ render: () =>
806
806
  html`<ic-text-field
807
807
  id="field-1"
808
808
  label="What is your favourite coffee?"
@@ -886,7 +886,7 @@ export const AriaLiveBehaviour = {
886
886
  };
887
887
 
888
888
  export const TextAreaWithResize = {
889
- render: (args) =>
889
+ render: () =>
890
890
  html`<ic-text-field
891
891
  rows="6"
892
892
  value="Arabica"
@@ -915,7 +915,7 @@ export const TextAreaWithResize = {
915
915
  };
916
916
 
917
917
  export const Form = {
918
- render: (args) => html`
918
+ render: () => html`
919
919
  <form>
920
920
  <ic-text-field label="What is your favourite coffee?"></ic-text-field>
921
921
  <br />
@@ -937,7 +937,7 @@ export const Form = {
937
937
  };
938
938
 
939
939
  export const MinAndMax = {
940
- render: (args) =>
940
+ render: () =>
941
941
  html`<ic-text-field
942
942
  inputmode="numeric"
943
943
  label="How many coffees do you want?"
@@ -963,7 +963,7 @@ export const MinAndMax = {
963
963
  };
964
964
 
965
965
  export const LoggingIcChange = {
966
- render: (args) =>
966
+ render: () =>
967
967
  html`<script>
968
968
  function handleIcChange(ev) {
969
969
  console.log(ev.detail.value, "icChange");
@@ -978,7 +978,7 @@ export const LoggingIcChange = {
978
978
  };
979
979
 
980
980
  export const LoggingIcKeydown = {
981
- render: (args) =>
981
+ render: () =>
982
982
  html`<script>
983
983
  function handleIcChange(ev) {
984
984
  console.log(ev.detail.value, "icChange");
@@ -1000,7 +1000,7 @@ export const LoggingIcKeydown = {
1000
1000
  };
1001
1001
 
1002
1002
  export const MaximumAndMinimumCharacters = {
1003
- render: (args) =>
1003
+ render: () =>
1004
1004
  html`<ic-text-field
1005
1005
  max-characters="2"
1006
1006
  label="What is your favourite coffee?"
@@ -1033,6 +1033,20 @@ export const MaximumAndMinimumCharacters = {
1033
1033
  name: "Maximum and minimum characters",
1034
1034
  };
1035
1035
 
1036
+ export const Internationalisation = {
1037
+ render: () =>
1038
+ html`<span lang="fr">
1039
+ <ic-text-field
1040
+ label="Boisson préférée"
1041
+ placeholder="Boisson"
1042
+ helper-text="This textfield will read in french to assistive technologies"
1043
+ >
1044
+ </ic-text-field>
1045
+ </span>`,
1046
+
1047
+ name: "Internationalisation",
1048
+ };
1049
+
1036
1050
  const inlineRadioSelector = "inline-radio";
1037
1051
 
1038
1052
  export const Playground = {
@@ -65,7 +65,7 @@ export class Theme {
65
65
  }
66
66
  render() {
67
67
  const { themeClass } = this;
68
- return (h(Host, { key: '53aa5cb32bce3ebd1b66c22df8c64f615fad4d00', class: themeClass }, h("slot", { key: '6f2d5fa4d0d7a42995dd9d4b31081b421e6fe5a9' })));
68
+ return (h(Host, { key: '603b695aae6f29ef4f3d89d4e1995221b3324753', class: themeClass }, h("slot", { key: '0b4c3bd3f4b078775ff13677feb3f0fbc080d810' })));
69
69
  }
70
70
  static get is() { return "ic-theme"; }
71
71
  static get properties() {
@@ -482,6 +482,7 @@ video {
482
482
  display: flex;
483
483
  align-items: center;
484
484
  position: relative;
485
+ border: var(--ic-space-1px) solid var(--ic-color-border-neutral-grey);
485
486
  border-radius: var(--ic-border-radius);
486
487
  }
487
488
 
@@ -491,11 +492,35 @@ video {
491
492
  align-items: center;
492
493
  }
493
494
 
495
+ .container-neutral {
496
+ border-color: var(--ic-toast-status-neutral);
497
+ }
498
+
499
+ .container-info {
500
+ border-color: var(--ic-toast-status-info);
501
+ }
502
+
503
+ .container-warning {
504
+ border-color: var(--ic-toast-status-warning);
505
+ }
506
+
507
+ .container-error {
508
+ border-color: var(--ic-toast-status-error);
509
+ }
510
+
511
+ .container-success {
512
+ border-color: var(--ic-toast-status-success);
513
+ }
514
+
515
+ .container-ai {
516
+ border-color: var(--ic-toast-status-ai);
517
+ }
518
+
494
519
  .divider {
495
520
  height: 100%;
496
521
  width: var(--ic-space-xs);
497
522
  position: absolute;
498
- border-radius: var(--ic-space-xxxs) 0 0 var(--ic-space-xxxs);
523
+ border-radius: 0;
499
524
  }
500
525
 
501
526
  .divider-neutral {
@@ -14,6 +14,10 @@ export class Toast {
14
14
  this.interactiveElements = [];
15
15
  this.timerProgress = 100;
16
16
  this.visible = false;
17
+ /**
18
+ * 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.
19
+ */
20
+ this.theme = "inherit";
17
21
  /**
18
22
  * If toast dismissMode is set to `automatic`, use this prop to define the time before the toast dismisses (in MILLISECONDS)
19
23
  * (NOTE: Has a minimum value of `5000ms`)
@@ -201,17 +205,21 @@ export class Toast {
201
205
  : document.activeElement === targetEl;
202
206
  }
203
207
  render() {
204
- const { variant, heading, message, visible, isManual, dismissButtonAriaLabel, } = this;
205
- return (h(Host, { key: 'a51a1fe38c35d1efaca12289056be07a2d1e7c40', class: {
208
+ const { variant, heading, message, visible, isManual, dismissButtonAriaLabel, theme, } = this;
209
+ return (h(Host, { key: '9934a16e3f339bec971138aec7d46092216d5554', class: {
210
+ [`ic-theme-${theme}`]: theme !== "inherit",
206
211
  ["ic-toast-hidden"]: !visible,
207
212
  [`ic-toast-variant-${variant}`]: variant !== undefined,
208
- }, tabindex: "0", onFocus: this.onFocus, onBlur: this.onBlur, role: isManual ? "dialog" : "alert", "aria-live": isManual ? null : "polite" }, h("div", { key: '093ae6a039e15465dfe4cee082e5aaaccd3267a4', class: "container" }, variant && visible && (h("div", { key: 'efdcb6cd889c29df5e232fbb864b03185e57909b', class: "toast-icon-container" }, h("div", { key: '01f195c61c7744d2aec5550efe2510b25f0f1617', class: {
213
+ }, tabindex: "0", onFocus: this.onFocus, onBlur: this.onBlur, role: isManual ? "dialog" : "alert", "aria-live": isManual ? null : "polite" }, h("div", { key: '97a03d41017adf58f826e42291906b3225ab091c', class: {
214
+ ["container"]: true,
215
+ [`container-${variant}`]: variant !== undefined,
216
+ } }, variant && visible && (h("div", { key: '289b4544bee27fd02b20deae22b5bbb822844c9e', class: "toast-icon-container" }, h("div", { key: '03dae21944b95c1d96e2a6b2480b0c20e12ccbd7', class: {
209
217
  ["divider"]: true,
210
218
  [`divider-${variant}`]: true,
211
- } }), variant === "neutral" ? (h("slot", { name: "neutral-icon" })) : (h("span", { class: "toast-icon", innerHTML: VARIANT_ICONS[variant].icon })))), h("div", { key: '37b6615f1be94c52612cd89440c8d3421aee069d', class: {
219
+ } }), variant === "neutral" ? (h("slot", { name: "neutral-icon" })) : (h("span", { class: "toast-icon", innerHTML: VARIANT_ICONS[variant].icon })))), h("div", { key: '6191a3f5c39adfa8c5ab4ca5c9e35fd214e00fa2', class: {
212
220
  ["toast-content"]: true,
213
221
  ["no-icon"]: variant === "neutral" && !isSlotUsed(this.el, "neutral-icon"),
214
- } }, h("div", { key: '6f29a977edc1c6b54d1353612dad9479c04522d7', class: "toast-text" }, h("ic-typography", { key: '4fc96f88f2252000e6e96c01ba196dd78f76fca0', variant: "subtitle-large", class: "toast-heading" }, visible && (isManual ? h("h5", null, heading) : h("p", null, heading))), message && (h("ic-typography", { key: 'f8ac42f9700589313920b13b52ecb381a8b35fb7', variant: "body", class: "toast-message" }, visible && h("p", { key: '262ece25eb68c773454cdbfcf8696f16d6edc82d' }, message)))), isSlotUsed(this.el, "action") && (h("div", { key: '273984b9f960cd33b4437271b9fc19b12137b972', class: "toast-action-container" }, h("slot", { key: '128157fb5a7ff7b8fb979648bba140aa712d4409', name: "action" })))), !isManual ? (h("ic-loading-indicator", { class: "toast-dismiss-timer", theme: "dark", monochrome: true, size: "icon", progress: this.timerProgress, description: "Dismiss timer" })) : (h("ic-button", { id: "dismiss-button", innerHTML: closeIcon, onClick: this.dismissAction, variant: "icon-tertiary", "aria-label": dismissButtonAriaLabel })))));
222
+ } }, h("div", { key: '1e08fbbfa2ba920c1b90f2eaf35aa801830d47b0', class: "toast-text" }, h("ic-typography", { key: 'ebc61cb12c3bdd05511ae567d09f5504ad010c47', variant: "subtitle-large", class: "toast-heading" }, visible && (isManual ? h("h5", null, heading) : h("p", null, heading))), message && (h("ic-typography", { key: '48ffe5377a09237ac490c8d4a62e962979ce6dc0', variant: "body", class: "toast-message" }, visible && h("p", { key: '7fbffa0f6e6d30389a9d0e5a3b5e1c279911ed9a' }, message)))), isSlotUsed(this.el, "action") && (h("div", { key: '83ba75d3d7aa54caf13cc7723defee623103dffc', class: "toast-action-container" }, h("slot", { key: '18367dd5f8acdc33129ead64728abc71a82f7e57', name: "action" })))), !isManual ? (h("ic-loading-indicator", { class: "toast-dismiss-timer", theme: "dark", monochrome: true, size: "icon", progress: this.timerProgress, description: "Dismiss timer" })) : (h("ic-button", { id: "dismiss-button", innerHTML: closeIcon, onClick: this.dismissAction, variant: "icon-tertiary", "aria-label": dismissButtonAriaLabel })))));
215
223
  }
216
224
  static get is() { return "ic-toast"; }
217
225
  static get encapsulation() { return "shadow"; }
@@ -227,6 +235,32 @@ export class Toast {
227
235
  }
228
236
  static get properties() {
229
237
  return {
238
+ "theme": {
239
+ "type": "string",
240
+ "mutable": false,
241
+ "complexType": {
242
+ "original": "IcThemeMode",
243
+ "resolved": "\"dark\" | \"inherit\" | \"light\"",
244
+ "references": {
245
+ "IcThemeMode": {
246
+ "location": "import",
247
+ "path": "../../utils/types",
248
+ "id": "src/utils/types.ts::IcThemeMode"
249
+ }
250
+ }
251
+ },
252
+ "required": false,
253
+ "optional": false,
254
+ "docs": {
255
+ "tags": [],
256
+ "text": "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."
257
+ },
258
+ "getter": false,
259
+ "setter": false,
260
+ "attribute": "theme",
261
+ "reflect": false,
262
+ "defaultValue": "\"inherit\""
263
+ },
230
264
  "autoDismissTimeout": {
231
265
  "type": "number",
232
266
  "mutable": true,
@@ -1 +1 @@
1
- {"version":3,"file":"ic-toast.js","sourceRoot":"","sources":["../../../src/components/ic-toast/ic-toast.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Method,\n Prop,\n State,\n 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={{\n [\"ic-toast-hidden\"]: !visible,\n [`ic-toast-variant-${variant}`]: variant !== undefined,\n }}\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-tertiary\"\n aria-label={dismissButtonAriaLabel}\n ></ic-button>\n )}\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"ic-toast.js","sourceRoot":"","sources":["../../../src/components/ic-toast/ic-toast.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Method,\n Prop,\n State,\n 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 {\n IcActivationTypes,\n IcStatusVariants,\n IcThemeMode,\n} from \"../../utils/types\";\nimport { ActionAreaElementTypes } from \"./ic-toast.types\";\n\nconst AUTO_DISMISS_TIMER_REFRESH_RATE_MS = 1000;\nconst TOAST_HEADING_CHAR_LIMIT = 70;\nconst TOAST_MESSAGE_CHAR_LIMIT = 140;\n\n/**\n * @slot action - IcButton or IcLink is placed below header and message. If used will default toast to manual `dismiss` type.\n * @slot neutral-icon - A custom neutral icon is placed on the left side of the component. If used will default toast to `neutral` variant.\n */\n@Component({\n tag: \"ic-toast\",\n styleUrl: \"ic-toast.css\",\n shadow: true,\n})\nexport class Toast {\n private dismissTimeout: number;\n private interactiveElements: ActionAreaElementTypes[] = [];\n private 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 * 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 * 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 theme,\n } = this;\n return (\n <Host\n class={{\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n [\"ic-toast-hidden\"]: !visible,\n [`ic-toast-variant-${variant}`]: variant !== undefined,\n }}\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\n class={{\n [\"container\"]: true,\n [`container-${variant}`]: variant !== undefined,\n }}\n >\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-tertiary\"\n aria-label={dismissButtonAriaLabel}\n ></ic-button>\n )}\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -10,6 +10,7 @@ const defaultArgs = {
10
10
  variant: "neutral",
11
11
  actionSlot: "action",
12
12
  neutralIconSlot: "neutral-icon",
13
+ theme: "inherit",
13
14
  };
14
15
 
15
16
  export default {
@@ -18,7 +19,7 @@ export default {
18
19
  };
19
20
 
20
21
  export const Default = {
21
- render: (args) =>
22
+ render: () =>
22
23
  html`<button onclick="func()">Display toast</button>
23
24
  <script>
24
25
  var toastRegion = document.querySelector("ic-toast-region");
@@ -35,7 +36,7 @@ export const Default = {
35
36
  };
36
37
 
37
38
  export const WithVariant = {
38
- render: (args) =>
39
+ render: () =>
39
40
  html`<button onclick="func()">Display toast</button>
40
41
  <script>
41
42
  var toastRegion = document.querySelector("ic-toast-region");
@@ -57,7 +58,7 @@ export const WithVariant = {
57
58
  };
58
59
 
59
60
  export const MultilineMessage = {
60
- render: (args) =>
61
+ render: () =>
61
62
  html`<button onclick="func()">Display toast</button>
62
63
  <script>
63
64
  var toastRegion = document.querySelector("ic-toast-region");
@@ -78,7 +79,7 @@ export const MultilineMessage = {
78
79
  };
79
80
 
80
81
  export const SlottedActionElements = {
81
- render: (args) =>
82
+ render: () =>
82
83
  html`<button onclick="func()">Display toast 1</button>
83
84
  <button onclick="func2()">Display toast 2</button>
84
85
  <script>
@@ -115,7 +116,7 @@ export const SlottedActionElements = {
115
116
  };
116
117
 
117
118
  export const AutoDismiss = {
118
- render: (args) =>
119
+ render: () =>
119
120
  html`<button onclick="func()">Display toast 1</button>
120
121
  <button onclick="func2()">Display toast 2</button>
121
122
  <script>
@@ -152,7 +153,7 @@ export const AutoDismiss = {
152
153
  };
153
154
 
154
155
  export const CustomNeutralIconAndDismissAriaLabel = {
155
- render: (args) =>
156
+ render: () =>
156
157
  html`<button onclick="func()">Display toast</button>
157
158
  <script>
158
159
  var toastRegion = document.querySelector("ic-toast-region");
@@ -188,7 +189,7 @@ export const CustomNeutralIconAndDismissAriaLabel = {
188
189
  };
189
190
 
190
191
  export const ExampleOnPage = {
191
- render: (args) =>
192
+ render: () =>
192
193
  html` <script>
193
194
  var toastRegion = document.querySelector("ic-toast-region");
194
195
  function func() {
@@ -317,6 +318,8 @@ export const ExampleOnPage = {
317
318
  name: "Example on page",
318
319
  };
319
320
 
321
+ const inlineRadioSelector = "inline-radio";
322
+
320
323
  export const Playground = {
321
324
  render: (args) =>
322
325
  html`<button onclick="func()">Display toast</button>
@@ -337,6 +340,7 @@ export const Playground = {
337
340
  auto-dismiss-timeout=${args.autoDismissTimeout}
338
341
  neutral-icon-aria-label=${args.neutralIconAriaLabel}
339
342
  dismiss-button-aria-label=${args.dismissButtonAriaLabel}
343
+ theme=${args.theme}
340
344
  >
341
345
  <ic-button slot=${args.actionSlot} appearance="light"
342
346
  >Click me</ic-button
@@ -363,7 +367,7 @@ export const Playground = {
363
367
  options: ["manual", "automatic"],
364
368
 
365
369
  control: {
366
- type: "inline-radio",
370
+ type: inlineRadioSelector,
367
371
  },
368
372
  },
369
373
 
@@ -371,7 +375,7 @@ export const Playground = {
371
375
  options: ["neutral", "info", "warning", "error", "success", "ai", ""],
372
376
 
373
377
  control: {
374
- type: "inline-radio",
378
+ type: inlineRadioSelector,
375
379
  },
376
380
  },
377
381
 
@@ -390,6 +394,14 @@ export const Playground = {
390
394
  type: "select",
391
395
  },
392
396
  },
397
+
398
+ theme: {
399
+ options: ["inherit", "light", "dark"],
400
+
401
+ control: {
402
+ type: inlineRadioSelector,
403
+ },
404
+ },
393
405
  },
394
406
 
395
407
  name: "Playground",
@@ -40,7 +40,7 @@ export class ToastRegion {
40
40
  }
41
41
  }
42
42
  render() {
43
- return h("slot", { key: '7c0c88d4aeb9e5141603885ce134e43674e341a9' });
43
+ return h("slot", { key: 'fbb8173202304d09e434a726e85fad986cb79a9f' });
44
44
  }
45
45
  static get is() { return "ic-toast-region"; }
46
46
  static get properties() {
@@ -150,7 +150,7 @@ export class ToggleButton {
150
150
  render() {
151
151
  const { accessibleLabel, checked, disabled, fullWidth, iconPlacement, monochrome, label, loading, outline, size, theme, tooltipPlacement, variant, } = this;
152
152
  const iconVariant = variant === "icon";
153
- return (h(Host, { key: 'd61a2411c44e043dbc0d3adfdd4ef4c041c752b4', class: {
153
+ return (h(Host, { key: '74d882ab9a0ea86b7f1b1eaa74a40ee32fd44800', class: {
154
154
  "ic-toggle-button-checked": checked,
155
155
  "ic-toggle-button-disabled": disabled,
156
156
  "ic-toggle-button-icon": iconVariant,
@@ -160,7 +160,7 @@ export class ToggleButton {
160
160
  "ic-toggle-button-hide-outline": !outline,
161
161
  [`ic-toggle-button-${size}`]: true,
162
162
  [`ic-theme-${theme}`]: theme !== "inherit",
163
- }, onFocus: this.handleFocus }, h("ic-button", { key: 'a19e19a0cfbf6abe36aed52470e753c4410360dd', "aria-pressed": `${checked}`, variant: iconVariant ? "icon-tertiary" : "secondary", onClick: this.handleClick, title: accessibleLabel, "aria-label": `${accessibleLabel ? accessibleLabel : label}, ${checked ? "ticked" : "unticked"}`, disabled: disabled, size: size, fullWidth: fullWidth, loading: loading, tooltipPlacement: tooltipPlacement }, !iconVariant && label, h("slot", { key: 'be68b5556f38f43be5b8e5dee4533550be5271e9' }), isSlotUsed(this.el, "icon") && (h("slot", { key: '1adacf752187c44bb6b16ee3464e57b626893048', name: "icon", slot: `${iconPlacement}-icon` })), isSlotUsed(this.el, "badge") && (h("slot", { key: '2507afeda1b98c00a3801c8deddfb3f8c8c01a65', name: "badge", slot: "badge" })))));
163
+ }, onFocus: this.handleFocus }, h("ic-button", { key: '067df9f2c2b9a6f6a21d1a70ddac41b7ae1c9f13', "aria-pressed": `${checked}`, variant: iconVariant ? "icon-tertiary" : "secondary", onClick: this.handleClick, title: accessibleLabel, "aria-label": `${accessibleLabel ? accessibleLabel : label}, ${checked ? "ticked" : "unticked"}`, disabled: disabled, size: size, fullWidth: fullWidth, loading: loading, tooltipPlacement: tooltipPlacement }, !iconVariant && label, h("slot", { key: 'e6b0d906bda4695ab9e64da852a99da851001974' }), isSlotUsed(this.el, "icon") && (h("slot", { key: '70b5c83cca0a126ab9eafa9d84327c83e6936ce8', name: "icon", slot: `${iconPlacement}-icon` })), isSlotUsed(this.el, "badge") && (h("slot", { key: 'c43ead3695a0f7a019b3eb0aa4b396f85c0e96eb', name: "badge", slot: "badge" })))));
164
164
  }
165
165
  static get is() { return "ic-toggle-button"; }
166
166
  static get encapsulation() { return "shadow"; }