@ukic/web-components 3.0.0-alpha.3 → 3.0.0-alpha.4

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 (447) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/helpers-69219f14.js.map +1 -1
  3. package/dist/cjs/ic-accordion-group.cjs.entry.js +9 -9
  4. package/dist/cjs/ic-accordion-group.cjs.entry.js.map +1 -1
  5. package/dist/cjs/ic-accordion.cjs.entry.js +4 -4
  6. package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
  7. package/dist/cjs/ic-alert.cjs.entry.js +6 -4
  8. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ic-card-vertical.cjs.entry.js +21 -23
  10. package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -1
  11. package/dist/cjs/ic-checkbox-group.cjs.entry.js +15 -4
  12. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  13. package/dist/cjs/ic-checkbox.cjs.entry.js +4 -2
  14. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ic-classification-banner.cjs.entry.js +1 -1
  16. package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-dialog.cjs.entry.js +3 -1
  18. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ic-divider.cjs.entry.js +70 -6
  20. package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ic-footer-link-group.cjs.entry.js +1 -1
  22. package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ic-footer-link.cjs.entry.js +1 -1
  24. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  25. package/dist/cjs/ic-footer.cjs.entry.js +1 -1
  26. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  27. package/dist/cjs/ic-hero.cjs.entry.js +1 -1
  28. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  29. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +3 -2
  30. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  31. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +5 -4
  32. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  33. package/dist/cjs/ic-input-label_2.cjs.entry.js +2 -2
  34. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  35. package/dist/cjs/ic-menu-group.cjs.entry.js +1 -1
  36. package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
  37. package/dist/cjs/ic-menu-item.cjs.entry.js +9 -9
  38. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  39. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  40. package/dist/cjs/ic-navigation-group.cjs.entry.js +3 -2
  41. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  42. package/dist/cjs/ic-navigation-item.cjs.entry.js +28 -1
  43. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  44. package/dist/cjs/ic-pagination-item.cjs.entry.js +7 -10
  45. package/dist/cjs/ic-pagination-item.cjs.entry.js.map +1 -1
  46. package/dist/cjs/ic-pagination.cjs.entry.js +36 -14
  47. package/dist/cjs/ic-pagination.cjs.entry.js.map +1 -1
  48. package/dist/cjs/ic-popover-menu.cjs.entry.js +3 -3
  49. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  50. package/dist/cjs/ic-radio-group.cjs.entry.js +13 -4
  51. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  52. package/dist/cjs/ic-radio-option.cjs.entry.js +7 -3
  53. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  54. package/dist/cjs/ic-search-bar.cjs.entry.js +11 -8
  55. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  56. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  57. package/dist/cjs/ic-side-navigation.cjs.entry.js +3 -2
  58. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  59. package/dist/cjs/ic-tab-context.cjs.entry.js +2 -1
  60. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  61. package/dist/cjs/ic-text-field.cjs.entry.js +1 -1
  62. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  63. package/dist/cjs/ic-toast.cjs.entry.js +2 -2
  64. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  65. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +1 -1
  66. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  67. package/dist/cjs/loader.cjs.js +1 -1
  68. package/dist/collection/ag-theme-icds.css +217 -0
  69. package/dist/collection/collection-manifest.json +1 -1
  70. package/dist/collection/components/ic-accordion/ic-accordion.css +21 -19
  71. package/dist/collection/components/ic-accordion/ic-accordion.js +27 -30
  72. package/dist/collection/components/ic-accordion/ic-accordion.js.map +1 -1
  73. package/dist/collection/components/ic-accordion/test/basic/ic-accordion.spec.js +3 -3
  74. package/dist/collection/components/ic-accordion/test/basic/ic-accordion.spec.js.map +1 -1
  75. package/dist/collection/components/ic-accordion-group/ic-accordion-group.css +2 -12
  76. package/dist/collection/components/ic-accordion-group/ic-accordion-group.js +18 -18
  77. package/dist/collection/components/ic-accordion-group/ic-accordion-group.js.map +1 -1
  78. package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.spec.js +3 -3
  79. package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.spec.js.map +1 -1
  80. package/dist/collection/components/ic-alert/ic-alert.css +22 -17
  81. package/dist/collection/components/ic-alert/ic-alert.js +48 -22
  82. package/dist/collection/components/ic-alert/ic-alert.js.map +1 -1
  83. package/dist/collection/components/ic-alert/test/basic/ic-alert.spec.js +1 -1
  84. package/dist/collection/components/ic-alert/test/basic/ic-alert.spec.js.map +1 -1
  85. package/dist/collection/components/ic-card-vertical/ic-card-vertical.css +98 -114
  86. package/dist/collection/components/ic-card-vertical/ic-card-vertical.js +46 -24
  87. package/dist/collection/components/ic-card-vertical/ic-card-vertical.js.map +1 -1
  88. package/dist/collection/components/ic-checkbox/ic-checkbox.css +42 -39
  89. package/dist/collection/components/ic-checkbox/ic-checkbox.js +28 -2
  90. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  91. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.css +15 -2
  92. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +39 -2
  93. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  94. package/dist/collection/components/ic-classification-banner/ic-classification-banner.css +13 -25
  95. package/dist/collection/components/ic-dialog/ic-dialog.css +16 -3
  96. package/dist/collection/components/ic-dialog/ic-dialog.js +26 -0
  97. package/dist/collection/components/ic-dialog/ic-dialog.js.map +1 -1
  98. package/dist/collection/components/ic-divider/ic-divider.css +341 -4
  99. package/dist/collection/components/ic-divider/ic-divider.js +235 -8
  100. package/dist/collection/components/ic-divider/ic-divider.js.map +1 -1
  101. package/dist/collection/components/ic-divider/ic-divider.types.js +2 -0
  102. package/dist/collection/components/ic-divider/ic-divider.types.js.map +1 -0
  103. package/dist/collection/components/ic-divider/test/basic/ic-divider.spec.js +89 -4
  104. package/dist/collection/components/ic-divider/test/basic/ic-divider.spec.js.map +1 -1
  105. package/dist/collection/components/ic-footer/ic-footer.css +20 -19
  106. package/dist/collection/components/ic-footer-link/ic-footer-link.css +2 -2
  107. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.css +9 -21
  108. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js.map +1 -1
  109. package/dist/collection/components/ic-hero/ic-hero.css +17 -2
  110. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +3 -2
  111. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js.map +1 -1
  112. package/dist/collection/components/ic-input-component-container/ic-input-component-container.css +4 -2
  113. package/dist/collection/components/ic-input-label/ic-input-label.css +12 -1
  114. package/dist/collection/components/ic-input-validation/ic-input-validation.css +5 -1
  115. package/dist/collection/components/ic-menu/ic-menu.css +9 -5
  116. package/dist/collection/components/ic-menu/ic-menu.js +3 -2
  117. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  118. package/dist/collection/components/ic-menu-group/ic-menu-group.js +1 -1
  119. package/dist/collection/components/ic-menu-group/ic-menu-group.js.map +1 -1
  120. package/dist/collection/components/ic-menu-item/ic-menu-item.js +11 -11
  121. package/dist/collection/components/ic-menu-item/ic-menu-item.js.map +1 -1
  122. package/dist/collection/components/ic-menu-item/test/basic/ic-menu-item.spec.js +1 -1
  123. package/dist/collection/components/ic-menu-item/test/basic/ic-menu-item.spec.js.map +1 -1
  124. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js.map +1 -1
  125. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +3 -2
  126. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js.map +1 -1
  127. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +31 -3
  128. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -1
  129. package/dist/collection/components/ic-navigation-item/test/basic/ic-navigation-item.spec.js +12 -0
  130. package/dist/collection/components/ic-navigation-item/test/basic/ic-navigation-item.spec.js.map +1 -1
  131. package/dist/collection/components/ic-pagination/ic-pagination.css +15 -0
  132. package/dist/collection/components/ic-pagination/ic-pagination.js +77 -37
  133. package/dist/collection/components/ic-pagination/ic-pagination.js.map +1 -1
  134. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js +1 -1
  135. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js.map +1 -1
  136. package/dist/collection/components/ic-pagination-item/ic-pagination-item.css +26 -6
  137. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +48 -33
  138. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js.map +1 -1
  139. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +3 -3
  140. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js.map +1 -1
  141. package/dist/collection/components/ic-radio-group/ic-radio-group.css +17 -1
  142. package/dist/collection/components/ic-radio-group/ic-radio-group.js +37 -2
  143. package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
  144. package/dist/collection/components/ic-radio-option/ic-radio-option.css +34 -25
  145. package/dist/collection/components/ic-radio-option/ic-radio-option.js +30 -2
  146. package/dist/collection/components/ic-radio-option/ic-radio-option.js.map +1 -1
  147. package/dist/collection/components/ic-search-bar/ic-search-bar.css +40 -5
  148. package/dist/collection/components/ic-search-bar/ic-search-bar.js +34 -7
  149. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  150. package/dist/collection/components/ic-select/ic-select.css +1 -0
  151. package/dist/collection/components/ic-side-navigation/ic-side-navigation.css +0 -1
  152. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +2 -1
  153. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
  154. package/dist/collection/components/ic-tab-context/ic-tab-context.js +2 -1
  155. package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -1
  156. package/dist/collection/components/ic-text-field/ic-text-field.css +6 -4
  157. package/dist/collection/components/ic-toast/ic-toast.css +25 -16
  158. package/dist/collection/components/ic-toast/ic-toast.js +1 -2
  159. package/dist/collection/components/ic-toast/ic-toast.js.map +1 -1
  160. package/dist/collection/components/ic-toast/test/basic/ic-toast.spec.js +12 -12
  161. package/dist/collection/components/ic-toast/test/basic/ic-toast.spec.js.map +1 -1
  162. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js +1 -1
  163. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js.map +1 -1
  164. package/dist/collection/components/ic-toggle-button-group/test/ic-toggle-button-group.spec.js +1 -0
  165. package/dist/collection/components/ic-toggle-button-group/test/ic-toggle-button-group.spec.js.map +1 -1
  166. package/dist/collection/utils/helpers.js.map +1 -1
  167. package/dist/components/helpers.js.map +1 -1
  168. package/dist/components/ic-accordion-group.js +11 -11
  169. package/dist/components/ic-accordion-group.js.map +1 -1
  170. package/dist/components/ic-accordion.js +5 -5
  171. package/dist/components/ic-accordion.js.map +1 -1
  172. package/dist/components/ic-alert.js +8 -5
  173. package/dist/components/ic-alert.js.map +1 -1
  174. package/dist/components/ic-card-vertical.js +23 -24
  175. package/dist/components/ic-card-vertical.js.map +1 -1
  176. package/dist/components/ic-checkbox-group.js +18 -5
  177. package/dist/components/ic-checkbox-group.js.map +1 -1
  178. package/dist/components/ic-checkbox.js +5 -2
  179. package/dist/components/ic-checkbox.js.map +1 -1
  180. package/dist/components/ic-classification-banner.js +1 -1
  181. package/dist/components/ic-classification-banner.js.map +1 -1
  182. package/dist/components/ic-dialog.js +4 -1
  183. package/dist/components/ic-dialog.js.map +1 -1
  184. package/dist/components/ic-divider2.js +86 -9
  185. package/dist/components/ic-divider2.js.map +1 -1
  186. package/dist/components/ic-footer-link-group.js +1 -1
  187. package/dist/components/ic-footer-link-group.js.map +1 -1
  188. package/dist/components/ic-footer-link.js +1 -1
  189. package/dist/components/ic-footer-link.js.map +1 -1
  190. package/dist/components/ic-footer.js +1 -1
  191. package/dist/components/ic-footer.js.map +1 -1
  192. package/dist/components/ic-hero.js +1 -1
  193. package/dist/components/ic-hero.js.map +1 -1
  194. package/dist/components/ic-horizontal-scroll2.js +3 -2
  195. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  196. package/dist/components/ic-input-component-container2.js +1 -1
  197. package/dist/components/ic-input-component-container2.js.map +1 -1
  198. package/dist/components/ic-input-label2.js +1 -1
  199. package/dist/components/ic-input-label2.js.map +1 -1
  200. package/dist/components/ic-input-validation2.js +1 -1
  201. package/dist/components/ic-input-validation2.js.map +1 -1
  202. package/dist/components/ic-menu-group.js +1 -1
  203. package/dist/components/ic-menu-group.js.map +1 -1
  204. package/dist/components/ic-menu-item2.js +10 -10
  205. package/dist/components/ic-menu-item2.js.map +1 -1
  206. package/dist/components/ic-menu2.js +4 -3
  207. package/dist/components/ic-menu2.js.map +1 -1
  208. package/dist/components/ic-navigation-button.js.map +1 -1
  209. package/dist/components/ic-navigation-group.js +3 -2
  210. package/dist/components/ic-navigation-group.js.map +1 -1
  211. package/dist/components/ic-navigation-item.js +30 -2
  212. package/dist/components/ic-navigation-item.js.map +1 -1
  213. package/dist/components/ic-pagination-item2.js +9 -11
  214. package/dist/components/ic-pagination-item2.js.map +1 -1
  215. package/dist/components/ic-pagination.js +38 -15
  216. package/dist/components/ic-pagination.js.map +1 -1
  217. package/dist/components/ic-popover-menu.js +3 -3
  218. package/dist/components/ic-popover-menu.js.map +1 -1
  219. package/dist/components/ic-radio-group.js +16 -5
  220. package/dist/components/ic-radio-group.js.map +1 -1
  221. package/dist/components/ic-radio-option.js +8 -3
  222. package/dist/components/ic-radio-option.js.map +1 -1
  223. package/dist/components/ic-search-bar.js +12 -8
  224. package/dist/components/ic-search-bar.js.map +1 -1
  225. package/dist/components/ic-select.js.map +1 -1
  226. package/dist/components/ic-side-navigation.js +3 -2
  227. package/dist/components/ic-side-navigation.js.map +1 -1
  228. package/dist/components/ic-tab-context.js +2 -1
  229. package/dist/components/ic-tab-context.js.map +1 -1
  230. package/dist/components/ic-text-field2.js +1 -1
  231. package/dist/components/ic-text-field2.js.map +1 -1
  232. package/dist/components/ic-toast.js +3 -3
  233. package/dist/components/ic-toast.js.map +1 -1
  234. package/dist/components/ic-toggle-button-group.js +1 -1
  235. package/dist/components/ic-toggle-button-group.js.map +1 -1
  236. package/dist/core/ag-theme-icds.css +217 -0
  237. package/dist/core/core.css +125 -13
  238. package/dist/core/core.esm.js +1 -1
  239. package/dist/core/core.esm.js.map +1 -1
  240. package/dist/core/{p-43256b7c.entry.js → p-13d5875c.entry.js} +2 -2
  241. package/dist/core/p-13d5875c.entry.js.map +1 -0
  242. package/dist/core/p-19872973.entry.js +2 -0
  243. package/dist/core/p-19872973.entry.js.map +1 -0
  244. package/dist/core/p-2140431c.entry.js +2 -0
  245. package/dist/core/p-2140431c.entry.js.map +1 -0
  246. package/dist/core/p-29767574.entry.js +2 -0
  247. package/dist/core/p-29767574.entry.js.map +1 -0
  248. package/dist/core/p-2e909738.entry.js +2 -0
  249. package/dist/core/p-2e909738.entry.js.map +1 -0
  250. package/dist/core/p-2eae9b27.entry.js.map +1 -1
  251. package/dist/core/p-2ef46ead.entry.js +2 -0
  252. package/dist/core/p-2ef46ead.entry.js.map +1 -0
  253. package/dist/core/{p-14dfd8db.entry.js → p-428f95f8.entry.js} +2 -2
  254. package/dist/core/{p-14dfd8db.entry.js.map → p-428f95f8.entry.js.map} +1 -1
  255. package/dist/core/p-4973c563.entry.js +2 -0
  256. package/dist/core/p-4973c563.entry.js.map +1 -0
  257. package/dist/core/p-5f4a6555.entry.js +2 -0
  258. package/dist/core/p-5f4a6555.entry.js.map +1 -0
  259. package/dist/core/p-605c0c92.entry.js +2 -0
  260. package/dist/core/p-605c0c92.entry.js.map +1 -0
  261. package/dist/core/p-655a9e0f.entry.js +2 -0
  262. package/dist/core/p-655a9e0f.entry.js.map +1 -0
  263. package/dist/core/p-65a16de9.entry.js +2 -0
  264. package/dist/core/p-65a16de9.entry.js.map +1 -0
  265. package/dist/core/p-705eb610.entry.js +2 -0
  266. package/dist/core/p-705eb610.entry.js.map +1 -0
  267. package/dist/core/p-78c1f1cc.entry.js +2 -0
  268. package/dist/core/p-78c1f1cc.entry.js.map +1 -0
  269. package/dist/core/p-7bff1e96.entry.js +2 -0
  270. package/dist/core/p-7bff1e96.entry.js.map +1 -0
  271. package/dist/core/{p-726673ee.entry.js → p-806a0fab.entry.js} +2 -2
  272. package/dist/core/p-806a0fab.entry.js.map +1 -0
  273. package/dist/core/p-85173458.entry.js +2 -0
  274. package/dist/core/p-85173458.entry.js.map +1 -0
  275. package/dist/core/{p-b01ffa55.entry.js → p-96b4ca6e.entry.js} +2 -2
  276. package/dist/core/p-96b4ca6e.entry.js.map +1 -0
  277. package/dist/core/p-979c2792.entry.js +2 -0
  278. package/dist/core/p-979c2792.entry.js.map +1 -0
  279. package/dist/core/p-9ec7f96c.entry.js +2 -0
  280. package/dist/core/p-9ec7f96c.entry.js.map +1 -0
  281. package/dist/core/{p-f60dbd0e.entry.js → p-9fa93dfe.entry.js} +2 -2
  282. package/dist/core/p-9fa93dfe.entry.js.map +1 -0
  283. package/dist/core/p-a9341313.entry.js +2 -0
  284. package/dist/core/p-a9341313.entry.js.map +1 -0
  285. package/dist/core/{p-31fc8756.entry.js → p-ae0775aa.entry.js} +2 -2
  286. package/dist/core/p-ae0775aa.entry.js.map +1 -0
  287. package/dist/core/p-b7eb8ef9.js.map +1 -1
  288. package/dist/core/p-bbeb03ef.entry.js +2 -0
  289. package/dist/core/p-bbeb03ef.entry.js.map +1 -0
  290. package/dist/core/p-cedc375e.entry.js +2 -0
  291. package/dist/core/p-cedc375e.entry.js.map +1 -0
  292. package/dist/core/{p-dd36bf1b.entry.js → p-d4a83e25.entry.js} +2 -2
  293. package/dist/core/p-d4a83e25.entry.js.map +1 -0
  294. package/dist/core/{p-b78f8b8c.entry.js → p-d93bac01.entry.js} +2 -2
  295. package/dist/core/p-d93bac01.entry.js.map +1 -0
  296. package/dist/core/{p-50ead56c.entry.js → p-df957570.entry.js} +2 -2
  297. package/dist/core/p-df957570.entry.js.map +1 -0
  298. package/dist/core/p-ebafab37.entry.js.map +1 -1
  299. package/dist/core/p-ef78bebc.entry.js +2 -0
  300. package/dist/core/p-ef78bebc.entry.js.map +1 -0
  301. package/dist/core/p-f0ae2b99.entry.js +2 -0
  302. package/dist/core/p-f0ae2b99.entry.js.map +1 -0
  303. package/dist/core/p-fdd0b732.entry.js +2 -0
  304. package/dist/core/p-fdd0b732.entry.js.map +1 -0
  305. package/dist/esm/core.js +1 -1
  306. package/dist/esm/helpers-e8797e8d.js.map +1 -1
  307. package/dist/esm/ic-accordion-group.entry.js +9 -9
  308. package/dist/esm/ic-accordion-group.entry.js.map +1 -1
  309. package/dist/esm/ic-accordion.entry.js +4 -4
  310. package/dist/esm/ic-accordion.entry.js.map +1 -1
  311. package/dist/esm/ic-alert.entry.js +6 -4
  312. package/dist/esm/ic-alert.entry.js.map +1 -1
  313. package/dist/esm/ic-card-vertical.entry.js +22 -24
  314. package/dist/esm/ic-card-vertical.entry.js.map +1 -1
  315. package/dist/esm/ic-checkbox-group.entry.js +15 -4
  316. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  317. package/dist/esm/ic-checkbox.entry.js +4 -2
  318. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  319. package/dist/esm/ic-classification-banner.entry.js +1 -1
  320. package/dist/esm/ic-classification-banner.entry.js.map +1 -1
  321. package/dist/esm/ic-dialog.entry.js +3 -1
  322. package/dist/esm/ic-dialog.entry.js.map +1 -1
  323. package/dist/esm/ic-divider.entry.js +72 -8
  324. package/dist/esm/ic-divider.entry.js.map +1 -1
  325. package/dist/esm/ic-footer-link-group.entry.js +1 -1
  326. package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
  327. package/dist/esm/ic-footer-link.entry.js +1 -1
  328. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  329. package/dist/esm/ic-footer.entry.js +1 -1
  330. package/dist/esm/ic-footer.entry.js.map +1 -1
  331. package/dist/esm/ic-hero.entry.js +1 -1
  332. package/dist/esm/ic-hero.entry.js.map +1 -1
  333. package/dist/esm/ic-horizontal-scroll.entry.js +3 -2
  334. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  335. package/dist/esm/ic-input-component-container_3.entry.js +5 -4
  336. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  337. package/dist/esm/ic-input-label_2.entry.js +2 -2
  338. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  339. package/dist/esm/ic-menu-group.entry.js +1 -1
  340. package/dist/esm/ic-menu-group.entry.js.map +1 -1
  341. package/dist/esm/ic-menu-item.entry.js +9 -9
  342. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  343. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  344. package/dist/esm/ic-navigation-group.entry.js +3 -2
  345. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  346. package/dist/esm/ic-navigation-item.entry.js +29 -2
  347. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  348. package/dist/esm/ic-pagination-item.entry.js +7 -10
  349. package/dist/esm/ic-pagination-item.entry.js.map +1 -1
  350. package/dist/esm/ic-pagination.entry.js +36 -14
  351. package/dist/esm/ic-pagination.entry.js.map +1 -1
  352. package/dist/esm/ic-popover-menu.entry.js +3 -3
  353. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  354. package/dist/esm/ic-radio-group.entry.js +13 -4
  355. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  356. package/dist/esm/ic-radio-option.entry.js +7 -3
  357. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  358. package/dist/esm/ic-search-bar.entry.js +11 -8
  359. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  360. package/dist/esm/ic-select.entry.js.map +1 -1
  361. package/dist/esm/ic-side-navigation.entry.js +3 -2
  362. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  363. package/dist/esm/ic-tab-context.entry.js +2 -1
  364. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  365. package/dist/esm/ic-text-field.entry.js +1 -1
  366. package/dist/esm/ic-text-field.entry.js.map +1 -1
  367. package/dist/esm/ic-toast.entry.js +3 -3
  368. package/dist/esm/ic-toast.entry.js.map +1 -1
  369. package/dist/esm/ic-toggle-button-group.entry.js +1 -1
  370. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  371. package/dist/esm/loader.js +1 -1
  372. package/dist/types/components/ic-accordion/ic-accordion.d.ts +5 -5
  373. package/dist/types/components/ic-accordion-group/ic-accordion-group.d.ts +4 -4
  374. package/dist/types/components/ic-alert/ic-alert.d.ts +9 -5
  375. package/dist/types/components/ic-card-vertical/ic-card-vertical.d.ts +7 -3
  376. package/dist/types/components/ic-checkbox/ic-checkbox.d.ts +6 -2
  377. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +7 -1
  378. package/dist/types/components/ic-dialog/ic-dialog.d.ts +5 -0
  379. package/dist/types/components/ic-divider/ic-divider.d.ts +31 -1
  380. package/dist/types/components/ic-divider/ic-divider.types.d.ts +3 -0
  381. package/dist/types/components/ic-footer-link-group/ic-footer-link-group.d.ts +2 -1
  382. package/dist/types/components/ic-menu-item/ic-menu-item.d.ts +1 -1
  383. package/dist/types/components/ic-navigation-button/ic-navigation-button.d.ts +2 -2
  384. package/dist/types/components/ic-navigation-group/ic-navigation-group.d.ts +2 -2
  385. package/dist/types/components/ic-navigation-item/ic-navigation-item.d.ts +7 -2
  386. package/dist/types/components/ic-pagination/ic-pagination.d.ts +13 -5
  387. package/dist/types/components/ic-pagination-item/ic-pagination-item.d.ts +9 -5
  388. package/dist/types/components/ic-radio-group/ic-radio-group.d.ts +6 -1
  389. package/dist/types/components/ic-radio-option/ic-radio-option.d.ts +5 -1
  390. package/dist/types/components/ic-search-bar/ic-search-bar.d.ts +5 -1
  391. package/dist/types/components.d.ts +176 -31
  392. package/dist/types/utils/helpers.d.ts +2 -2
  393. package/hydrate/index.js +294 -135
  394. package/package.json +2 -2
  395. package/vscode-data.json +281 -48
  396. package/dist/core/p-0395442c.entry.js +0 -2
  397. package/dist/core/p-0395442c.entry.js.map +0 -1
  398. package/dist/core/p-0d233b0c.entry.js +0 -2
  399. package/dist/core/p-0d233b0c.entry.js.map +0 -1
  400. package/dist/core/p-134def81.entry.js +0 -2
  401. package/dist/core/p-134def81.entry.js.map +0 -1
  402. package/dist/core/p-1b116dd1.entry.js +0 -2
  403. package/dist/core/p-1b116dd1.entry.js.map +0 -1
  404. package/dist/core/p-21cc87c0.entry.js +0 -2
  405. package/dist/core/p-21cc87c0.entry.js.map +0 -1
  406. package/dist/core/p-31fc8756.entry.js.map +0 -1
  407. package/dist/core/p-3618ac34.entry.js +0 -2
  408. package/dist/core/p-3618ac34.entry.js.map +0 -1
  409. package/dist/core/p-384d454d.entry.js +0 -2
  410. package/dist/core/p-384d454d.entry.js.map +0 -1
  411. package/dist/core/p-3d417eff.entry.js +0 -2
  412. package/dist/core/p-3d417eff.entry.js.map +0 -1
  413. package/dist/core/p-43256b7c.entry.js.map +0 -1
  414. package/dist/core/p-50ead56c.entry.js.map +0 -1
  415. package/dist/core/p-6d3e4bb1.entry.js +0 -2
  416. package/dist/core/p-6d3e4bb1.entry.js.map +0 -1
  417. package/dist/core/p-726673ee.entry.js.map +0 -1
  418. package/dist/core/p-72d30c8a.entry.js +0 -2
  419. package/dist/core/p-72d30c8a.entry.js.map +0 -1
  420. package/dist/core/p-7827b5cb.entry.js +0 -2
  421. package/dist/core/p-7827b5cb.entry.js.map +0 -1
  422. package/dist/core/p-7fbf2d3e.entry.js +0 -2
  423. package/dist/core/p-7fbf2d3e.entry.js.map +0 -1
  424. package/dist/core/p-91cf9b2b.entry.js +0 -2
  425. package/dist/core/p-91cf9b2b.entry.js.map +0 -1
  426. package/dist/core/p-ac4b7329.entry.js +0 -2
  427. package/dist/core/p-ac4b7329.entry.js.map +0 -1
  428. package/dist/core/p-b01ffa55.entry.js.map +0 -1
  429. package/dist/core/p-b17c94b7.entry.js +0 -2
  430. package/dist/core/p-b17c94b7.entry.js.map +0 -1
  431. package/dist/core/p-b78f8b8c.entry.js.map +0 -1
  432. package/dist/core/p-b95a72a3.entry.js +0 -2
  433. package/dist/core/p-b95a72a3.entry.js.map +0 -1
  434. package/dist/core/p-b997064c.entry.js +0 -2
  435. package/dist/core/p-b997064c.entry.js.map +0 -1
  436. package/dist/core/p-cf7db84a.entry.js +0 -2
  437. package/dist/core/p-cf7db84a.entry.js.map +0 -1
  438. package/dist/core/p-dd36bf1b.entry.js.map +0 -1
  439. package/dist/core/p-e488de54.entry.js +0 -2
  440. package/dist/core/p-e488de54.entry.js.map +0 -1
  441. package/dist/core/p-e4d1839e.entry.js +0 -2
  442. package/dist/core/p-e4d1839e.entry.js.map +0 -1
  443. package/dist/core/p-f0fc1bf0.entry.js +0 -2
  444. package/dist/core/p-f0fc1bf0.entry.js.map +0 -1
  445. package/dist/core/p-f60dbd0e.entry.js.map +0 -1
  446. package/dist/core/p-ff4298b1.entry.js +0 -2
  447. package/dist/core/p-ff4298b1.entry.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ic-alert.spec.js","sourceRoot":"","sources":["../../../../../src/components/ic-alert/test/basic/ic-alert.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { newSpecPage } from \"@stencil/core/testing\";\nimport { Alert } from \"../../ic-alert\";\n\ndescribe(\"ic-alert component\", () => {\n it(\"should render with a heading when supplied\", async () => {\n const page = await newSpecPage({\n components: [Alert],\n html: `<ic-alert heading=\"Test heading\"></ic-alert>`,\n });\n\n expect(page.root).toEqualHtml(`\n <ic-alert class=\"dark\" heading=\"Test heading\" role=\"alert\">\n <mock:shadow-root>\n <div class=\"container container-neutral\">\n <div class=\"alert-icon-container\">\n <div class=\"divider divider-neutral\"></div>\n <span class=\"alert-icon icon-neutral svg-container\">\n svg\n </span>\n </div>\n <div class=\"alert-content\">\n <div class=\"alert-message\">\n <ic-typography class=\"alert-title\" variant=\"subtitle-large\">\n <p>\n Test heading\n </p>\n </ic-typography>\n <slot name=\"message\">\n <ic-typography variant=\"body\"></ic-typography>\n </slot>\n </div>\n </div>\n <div class=\"dismiss-icon-container\">\n </div>\n </div>\n </mock:shadow-root>\n </ic-alert>`);\n });\n\n it(\"should render with a message when supplied\", async () => {\n const page = await newSpecPage({\n components: [Alert],\n html: `<ic-alert message=\"Test message\"></ic-alert>`,\n });\n\n expect(page.root).toEqualHtml(`\n <ic-alert class=\"dark\" message=\"Test message\" role=\"alert\">\n <mock:shadow-root>\n <div class=\"container container-neutral\">\n <div class=\"alert-icon-container\">\n <div class=\"divider divider-neutral\"></div>\n <span class=\"alert-icon icon-neutral svg-container\">\n svg\n </span>\n </div>\n <div class=\"alert-content\">\n <div class=\"alert-message\">\n <slot name=\"message\">\n <ic-typography variant=\"body\">\n Test message\n </ic-typography>\n </slot>\n </div>\n </div>\n <div class=\"dismiss-icon-container\">\n </div>\n </div>\n </mock:shadow-root>\n </ic-alert>`);\n });\n\n it(\"should render an action in the correct position when supplied\", async () => {\n const page = await newSpecPage({\n components: [Alert],\n html: `<ic-alert message=\"This has an action\"><button slot=\"action\"></button></ic-alert>`,\n });\n\n expect(page.root).toEqualHtml(`\n <ic-alert class=\"dark\" message=\"This has an action\" role=\"alert\">\n <mock:shadow-root>\n <div class=\"container container-neutral\">\n <div class=\"alert-icon-container\">\n <div class=\"divider divider-neutral\"></div>\n <span class=\"alert-icon icon-neutral svg-container\">\n svg\n </span>\n </div>\n <div class=\"alert-content\">\n <div class=\"alert-message\">\n <slot name=\"message\">\n <ic-typography variant=\"body\">\n This has an action\n </ic-typography>\n </slot>\n </div>\n <div class=\"alert-action-container\">\n <slot name=\"action\"></slot>\n </div>\n </div>\n <div class=\"dismiss-icon-container\">\n </div>\n </div>\n </mock:shadow-root>\n <button slot=\"action\"></button>\n </ic-alert>`);\n });\n\n it(\"should render with a dismiss icon when the prop is applied\", async () => {\n const page = await newSpecPage({\n components: [Alert],\n html: `<ic-alert message=\"This is dismissible\" dismissible=true></ic-alert>`,\n });\n\n expect(page.root).toEqualHtml(`\n <ic-alert class=\"dark\" message=\"This is dismissible\" dismissible=true role=\"alert\">\n <mock:shadow-root>\n <div class=\"container container-neutral\">\n <div class=\"alert-icon-container\">\n <div class=\"divider divider-neutral\"></div>\n <span class=\"alert-icon icon-neutral svg-container\">\n svg\n </span>\n </div>\n <div class=\"alert-content\">\n <div class=\"alert-message\">\n <slot name=\"message\">\n <ic-typography variant=\"body\">\n This is dismissible\n </ic-typography>\n </slot>\n </div>\n </div>\n <div class=\"dismiss-icon-container\">\n <ic-button appearance=\"dark\" class=\"dismiss-icon svg-container\" title=\"dismiss\" variant=\"icon\">\n svg\n </ic-button>\n </div>\n </div>\n </mock:shadow-root>\n </ic-alert>`);\n });\n\n it(\"should render an element in the message slot\", async () => {\n const page = await newSpecPage({\n components: [Alert],\n html: `<ic-alert heading=\"Using custom message\"><ic-typography variant=\"h1\" slot=\"message\">Custom h1 message</ic-typography></ic-alert>`,\n });\n\n expect(page.root).toEqualHtml(`\n <ic-alert class=\"dark\" heading=\"Using custom message\" role=\"alert\">\n <mock:shadow-root>\n <div class=\"container container-neutral\">\n <div class=\"alert-icon-container\">\n <div class=\"divider divider-neutral\"></div>\n <span class=\"alert-icon icon-neutral svg-container\">\n svg\n </span>\n </div>\n <div class=\"alert-content\">\n <div class=\"alert-message\">\n <ic-typography class=\"alert-title\" variant=\"subtitle-large\">\n <p>\n Using custom message\n </p>\n </ic-typography>\n <slot name=\"message\">\n <ic-typography variant=\"body\"></ic-typography>\n </slot>\n </div>\n </div>\n <div class=\"dismiss-icon-container\"></div>\n </div>\n </mock:shadow-root>\n <ic-typography variant=\"h1\" slot=\"message\">Custom h1 message</ic-typography>\n </ic-alert>`);\n });\n\n it(\"should render an icon in the neutral-icon slot\", async () => {\n const page = await newSpecPage({\n components: [Alert],\n html: `\n <ic-alert heading=\"Using custom icon\" message=\"This has a slotted icon\">\n <svg slot=\"neutral-icon\" xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 0 24 24\" width=\"24px\" fill=\"#000000\">\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\" />\n <path d=\"M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z\"/>\n </svg>\n </ic-alert>\n `,\n });\n\n expect(page.root).toEqualHtml(`\n <ic-alert class=\"dark\" heading=\"Using custom icon\" message=\"This has a slotted icon\" role=\"alert\">\n <mock:shadow-root>\n <div class=\"container container-neutral\">\n <div class=\"alert-icon-container\">\n <div class=\"divider divider-neutral\"></div>\n <div class=\"alert-icon icon-neutral svg-container\">\n <slot name=\"neutral-icon\"></slot>\n </div>\n </div>\n <div class=\"alert-content\">\n <div class=\"alert-message\">\n <ic-typography class=\"alert-title\" variant=\"subtitle-large\">\n <p>\n Using custom icon\n </p>\n </ic-typography>\n <slot name=\"message\">\n <ic-typography variant=\"body\">\n This has a slotted icon\n </ic-typography>\n </slot>\n </div>\n </div>\n <div class=\"dismiss-icon-container\"></div>\n </div>\n </mock:shadow-root>\n <svg fill=\"#000000\" height=\"24px\" slot=\"neutral-icon\" viewBox=\"0 0 24 24\" width=\"24px\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\"></path>\n <path d=\"M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z\"></path>\n </svg>\n </ic-alert>`);\n });\n\n it(\"should render with no icon when the show-default-icon prop is set to false\", async () => {\n const page = await newSpecPage({\n components: [Alert],\n html: `<ic-alert heading=\"No icon\" message=\"This alert has no icon\" show-defaul-icon=false></ic-alert>`,\n });\n\n expect(page.root).toEqualHtml(`\n <ic-alert class=\"dark\" heading=\"No icon\" message=\"This alert has no icon\" role=\"alert\" show-defaul-icon=\"false\">\n <mock:shadow-root>\n <div class=\"container container-neutral\">\n <div class=\"alert-icon-container\">\n <div class=\"divider divider-neutral\"></div>\n <span class=\"alert-icon icon-neutral svg-container\">\n svg\n </span>\n </div>\n <div class=\"alert-content\">\n <div class=\"alert-message\">\n <ic-typography class=\"alert-title\" variant=\"subtitle-large\">\n <p>\n No icon\n </p>\n </ic-typography>\n <slot name=\"message\">\n <ic-typography variant=\"body\">\n This alert has no icon\n </ic-typography>\n </slot>\n </div>\n </div>\n <div class=\"dismiss-icon-container\"></div>\n </div>\n </mock:shadow-root>\n </ic-alert>`);\n });\n\n it(\"should render default icon of success variant when the show-default-icon prop is set to false\", async () => {\n const page = await newSpecPage({\n components: [Alert],\n html: `<ic-alert heading=\"Success\" message=\"This alert has the default success icon\" variant=\"success\" show-default-icon=\"false\"></ic-alert>`,\n });\n\n expect(page.root).toEqualHtml(`\n <ic-alert class=\"dark\" heading=\"Success\" message=\"This alert has the default success icon\" role=\"alert\" show-default-icon=\"false\" variant=\"success\">\n <mock:shadow-root>\n <div class=\"container container-success\">\n <div class=\"alert-icon-container\">\n <div class=\"divider divider-success\"></div>\n <span class=\"alert-icon icon-success svg-container\">\n svg\n </span>\n </div>\n <div class=\"alert-content\">\n <div class=\"alert-message\">\n <ic-typography class=\"alert-title\" variant=\"subtitle-large\">\n <p>\n Success\n </p>\n </ic-typography>\n <slot name=\"message\">\n <ic-typography variant=\"body\">\n This alert has the default success icon\n </ic-typography>\n </slot>\n </div>\n </div>\n <div class=\"dismiss-icon-container\"></div>\n </div>\n </mock:shadow-root>\n </ic-alert>\n `);\n });\n\n it(\"should close on dismiss icon click\", async () => {\n const page = await newSpecPage({\n components: [Alert],\n html: `<ic-alert message=\"This is dismissible\" dismissible=true></ic-alert>`,\n });\n\n let alert = await page.root.shadowRoot.querySelector(\n \"div.container-neutral\"\n );\n const dismissButton = await page.root.shadowRoot.querySelector(\"ic-button\");\n\n expect(alert).not.toBeNull();\n expect(dismissButton).not.toBeNull();\n\n await dismissButton.click();\n\n await page.waitForChanges();\n alert = await page.root.shadowRoot.querySelector(\"div.container-neutral\");\n\n expect(alert).toBeNull();\n });\n\n it(\"should test rendering an action after initial render\", async () => {\n const page = await newSpecPage({\n components: [Alert],\n html: `<ic-alert heading=\"Test heading\"></ic-alert>`,\n });\n\n const action = document.createElement(\"button\");\n action.setAttribute(\"slot\", \"action\");\n\n page.rootInstance.hostMutationCallback([\n {\n type: \"childList\",\n addedNodes: [action],\n removedNodes: [],\n },\n ]);\n });\n});\n"]}
1
+ {"version":3,"file":"ic-alert.spec.js","sourceRoot":"","sources":["../../../../../src/components/ic-alert/test/basic/ic-alert.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { newSpecPage } from \"@stencil/core/testing\";\nimport { Alert } from \"../../ic-alert\";\n\ndescribe(\"ic-alert component\", () => {\n it(\"should render with a heading when supplied\", async () => {\n const page = await newSpecPage({\n components: [Alert],\n html: `<ic-alert heading=\"Test heading\"></ic-alert>`,\n });\n\n expect(page.root).toEqualHtml(`\n <ic-alert class=\"dark\" heading=\"Test heading\" role=\"alert\">\n <mock:shadow-root>\n <div class=\"container container-neutral\">\n <div class=\"alert-icon-container\">\n <div class=\"divider divider-neutral\"></div>\n <span class=\"alert-icon icon-neutral svg-container\">\n svg\n </span>\n </div>\n <div class=\"alert-content\">\n <div class=\"alert-message\">\n <ic-typography class=\"alert-title\" variant=\"subtitle-large\">\n <p>\n Test heading\n </p>\n </ic-typography>\n <slot name=\"message\">\n <ic-typography variant=\"body\"></ic-typography>\n </slot>\n </div>\n </div>\n <div class=\"dismiss-icon-container\">\n </div>\n </div>\n </mock:shadow-root>\n </ic-alert>`);\n });\n\n it(\"should render with a message when supplied\", async () => {\n const page = await newSpecPage({\n components: [Alert],\n html: `<ic-alert message=\"Test message\"></ic-alert>`,\n });\n\n expect(page.root).toEqualHtml(`\n <ic-alert class=\"dark\" message=\"Test message\" role=\"alert\">\n <mock:shadow-root>\n <div class=\"container container-neutral\">\n <div class=\"alert-icon-container\">\n <div class=\"divider divider-neutral\"></div>\n <span class=\"alert-icon icon-neutral svg-container\">\n svg\n </span>\n </div>\n <div class=\"alert-content\">\n <div class=\"alert-message\">\n <slot name=\"message\">\n <ic-typography variant=\"body\">\n Test message\n </ic-typography>\n </slot>\n </div>\n </div>\n <div class=\"dismiss-icon-container\">\n </div>\n </div>\n </mock:shadow-root>\n </ic-alert>`);\n });\n\n it(\"should render an action in the correct position when supplied\", async () => {\n const page = await newSpecPage({\n components: [Alert],\n html: `<ic-alert message=\"This has an action\"><button slot=\"action\"></button></ic-alert>`,\n });\n\n expect(page.root).toEqualHtml(`\n <ic-alert class=\"dark\" message=\"This has an action\" role=\"alert\">\n <mock:shadow-root>\n <div class=\"container container-neutral\">\n <div class=\"alert-icon-container\">\n <div class=\"divider divider-neutral\"></div>\n <span class=\"alert-icon icon-neutral svg-container\">\n svg\n </span>\n </div>\n <div class=\"alert-content\">\n <div class=\"alert-message\">\n <slot name=\"message\">\n <ic-typography variant=\"body\">\n This has an action\n </ic-typography>\n </slot>\n </div>\n <div class=\"alert-action-container\">\n <slot name=\"action\"></slot>\n </div>\n </div>\n <div class=\"dismiss-icon-container\">\n </div>\n </div>\n </mock:shadow-root>\n <button slot=\"action\"></button>\n </ic-alert>`);\n });\n\n it(\"should render with a dismiss icon when the prop is applied\", async () => {\n const page = await newSpecPage({\n components: [Alert],\n html: `<ic-alert message=\"This is dismissible\" dismissible=true></ic-alert>`,\n });\n\n expect(page.root).toEqualHtml(`\n <ic-alert class=\"dark\" message=\"This is dismissible\" dismissible=true role=\"alert\">\n <mock:shadow-root>\n <div class=\"container container-neutral\">\n <div class=\"alert-icon-container\">\n <div class=\"divider divider-neutral\"></div>\n <span class=\"alert-icon icon-neutral svg-container\">\n svg\n </span>\n </div>\n <div class=\"alert-content\">\n <div class=\"alert-message\">\n <slot name=\"message\">\n <ic-typography variant=\"body\">\n This is dismissible\n </ic-typography>\n </slot>\n </div>\n </div>\n <div class=\"dismiss-icon-container\">\n <ic-button class=\"dismiss-icon svg-container\" title=\"dismiss\" variant=\"icon\">\n svg\n </ic-button>\n </div>\n </div>\n </mock:shadow-root>\n </ic-alert>`);\n });\n\n it(\"should render an element in the message slot\", async () => {\n const page = await newSpecPage({\n components: [Alert],\n html: `<ic-alert heading=\"Using custom message\"><ic-typography variant=\"h1\" slot=\"message\">Custom h1 message</ic-typography></ic-alert>`,\n });\n\n expect(page.root).toEqualHtml(`\n <ic-alert class=\"dark\" heading=\"Using custom message\" role=\"alert\">\n <mock:shadow-root>\n <div class=\"container container-neutral\">\n <div class=\"alert-icon-container\">\n <div class=\"divider divider-neutral\"></div>\n <span class=\"alert-icon icon-neutral svg-container\">\n svg\n </span>\n </div>\n <div class=\"alert-content\">\n <div class=\"alert-message\">\n <ic-typography class=\"alert-title\" variant=\"subtitle-large\">\n <p>\n Using custom message\n </p>\n </ic-typography>\n <slot name=\"message\">\n <ic-typography variant=\"body\"></ic-typography>\n </slot>\n </div>\n </div>\n <div class=\"dismiss-icon-container\"></div>\n </div>\n </mock:shadow-root>\n <ic-typography variant=\"h1\" slot=\"message\">Custom h1 message</ic-typography>\n </ic-alert>`);\n });\n\n it(\"should render an icon in the neutral-icon slot\", async () => {\n const page = await newSpecPage({\n components: [Alert],\n html: `\n <ic-alert heading=\"Using custom icon\" message=\"This has a slotted icon\">\n <svg slot=\"neutral-icon\" xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 0 24 24\" width=\"24px\" fill=\"#000000\">\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\" />\n <path d=\"M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z\"/>\n </svg>\n </ic-alert>\n `,\n });\n\n expect(page.root).toEqualHtml(`\n <ic-alert class=\"dark\" heading=\"Using custom icon\" message=\"This has a slotted icon\" role=\"alert\">\n <mock:shadow-root>\n <div class=\"container container-neutral\">\n <div class=\"alert-icon-container\">\n <div class=\"divider divider-neutral\"></div>\n <div class=\"alert-icon icon-neutral svg-container\">\n <slot name=\"neutral-icon\"></slot>\n </div>\n </div>\n <div class=\"alert-content\">\n <div class=\"alert-message\">\n <ic-typography class=\"alert-title\" variant=\"subtitle-large\">\n <p>\n Using custom icon\n </p>\n </ic-typography>\n <slot name=\"message\">\n <ic-typography variant=\"body\">\n This has a slotted icon\n </ic-typography>\n </slot>\n </div>\n </div>\n <div class=\"dismiss-icon-container\"></div>\n </div>\n </mock:shadow-root>\n <svg fill=\"#000000\" height=\"24px\" slot=\"neutral-icon\" viewBox=\"0 0 24 24\" width=\"24px\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\"></path>\n <path d=\"M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z\"></path>\n </svg>\n </ic-alert>`);\n });\n\n it(\"should render with no icon when the show-default-icon prop is set to false\", async () => {\n const page = await newSpecPage({\n components: [Alert],\n html: `<ic-alert heading=\"No icon\" message=\"This alert has no icon\" show-defaul-icon=false></ic-alert>`,\n });\n\n expect(page.root).toEqualHtml(`\n <ic-alert class=\"dark\" heading=\"No icon\" message=\"This alert has no icon\" role=\"alert\" show-defaul-icon=\"false\">\n <mock:shadow-root>\n <div class=\"container container-neutral\">\n <div class=\"alert-icon-container\">\n <div class=\"divider divider-neutral\"></div>\n <span class=\"alert-icon icon-neutral svg-container\">\n svg\n </span>\n </div>\n <div class=\"alert-content\">\n <div class=\"alert-message\">\n <ic-typography class=\"alert-title\" variant=\"subtitle-large\">\n <p>\n No icon\n </p>\n </ic-typography>\n <slot name=\"message\">\n <ic-typography variant=\"body\">\n This alert has no icon\n </ic-typography>\n </slot>\n </div>\n </div>\n <div class=\"dismiss-icon-container\"></div>\n </div>\n </mock:shadow-root>\n </ic-alert>`);\n });\n\n it(\"should render default icon of success variant when the show-default-icon prop is set to false\", async () => {\n const page = await newSpecPage({\n components: [Alert],\n html: `<ic-alert heading=\"Success\" message=\"This alert has the default success icon\" variant=\"success\" show-default-icon=\"false\"></ic-alert>`,\n });\n\n expect(page.root).toEqualHtml(`\n <ic-alert class=\"dark\" heading=\"Success\" message=\"This alert has the default success icon\" role=\"alert\" show-default-icon=\"false\" variant=\"success\">\n <mock:shadow-root>\n <div class=\"container container-success\">\n <div class=\"alert-icon-container\">\n <div class=\"divider divider-success\"></div>\n <span class=\"alert-icon icon-success svg-container\">\n svg\n </span>\n </div>\n <div class=\"alert-content\">\n <div class=\"alert-message\">\n <ic-typography class=\"alert-title\" variant=\"subtitle-large\">\n <p>\n Success\n </p>\n </ic-typography>\n <slot name=\"message\">\n <ic-typography variant=\"body\">\n This alert has the default success icon\n </ic-typography>\n </slot>\n </div>\n </div>\n <div class=\"dismiss-icon-container\"></div>\n </div>\n </mock:shadow-root>\n </ic-alert>\n `);\n });\n\n it(\"should close on dismiss icon click\", async () => {\n const page = await newSpecPage({\n components: [Alert],\n html: `<ic-alert message=\"This is dismissible\" dismissible=true></ic-alert>`,\n });\n\n let alert = await page.root.shadowRoot.querySelector(\n \"div.container-neutral\"\n );\n const dismissButton = await page.root.shadowRoot.querySelector(\"ic-button\");\n\n expect(alert).not.toBeNull();\n expect(dismissButton).not.toBeNull();\n\n await dismissButton.click();\n\n await page.waitForChanges();\n alert = await page.root.shadowRoot.querySelector(\"div.container-neutral\");\n\n expect(alert).toBeNull();\n });\n\n it(\"should test rendering an action after initial render\", async () => {\n const page = await newSpecPage({\n components: [Alert],\n html: `<ic-alert heading=\"Test heading\"></ic-alert>`,\n });\n\n const action = document.createElement(\"button\");\n action.setAttribute(\"slot\", \"action\");\n\n page.rootInstance.hostMutationCallback([\n {\n type: \"childList\",\n addedNodes: [action],\n removedNodes: [],\n },\n ]);\n });\n});\n"]}
@@ -447,7 +447,7 @@ video {
447
447
 
448
448
  a {
449
449
  text-decoration: none !important;
450
- color: var(--ic-architechtural-black) !important;
450
+ color: var(--ic-card-text) !important;
451
451
  }
452
452
 
453
453
  button {
@@ -456,8 +456,7 @@ button {
456
456
  outline: var(--ic-hc-focus-outline);
457
457
  }
458
458
 
459
- .card,
460
- .card.clickable {
459
+ .card {
461
460
  display: flex;
462
461
  flex-direction: column;
463
462
  border: var(--ic-border-default);
@@ -465,7 +464,7 @@ button {
465
464
  box-sizing: border-box;
466
465
  padding: var(--ic-space-md);
467
466
  text-align: left;
468
- color: var(--ic-architechtural-black);
467
+ color: var(--ic-card-text);
469
468
  transition: var(--ic-easing-transition-fast);
470
469
  position: relative;
471
470
  width: inherit;
@@ -474,38 +473,64 @@ button {
474
473
  height: -moz-fit-content;
475
474
  height: fit-content;
476
475
  min-height: 100%;
477
- }
478
-
479
- .dark.card,
480
- .dark.card.clickable {
481
- border: var(--ic-border-width) solid var(--ic-architectural-700);
482
- }
483
-
484
- .card.clickable:hover {
485
- background-color: var(--ic-action-default-bg-hover);
486
- border: var(--ic-border-hover);
487
- cursor: pointer;
488
- }
489
-
490
- .card.clickable:focus,
491
- .card.clickable.focussed {
492
- background-color: var(--ic-action-default-bg-hover);
493
- box-shadow: var(--ic-border-focus);
494
- outline: var(--ic-hc-focus-outline);
495
- border: var(--ic-border-pressed-default);
496
- }
497
-
498
- .card.clickable:active {
499
- background-color: var(--ic-action-default-bg-active);
500
- box-shadow: var(--ic-border-focus);
501
- }
502
476
 
503
- .card.disabled {
504
- border: var(--ic-border-disabled);
505
- }
506
-
507
- .card.fullwidth {
508
- width: 100%;
477
+ ::slotted(svg) {
478
+ fill: var(--ic-card-text);
479
+ }
480
+ &.dark {
481
+ border: var(--ic-border-width) solid
482
+ var(--ic-color-border-neutral-pressed-dark);
483
+ }
484
+ &.fullwidth {
485
+ width: 100%;
486
+ }
487
+ &.clickable {
488
+ &:hover {
489
+ background-color: var(--ic-card-clickable-focus-hover-bg);
490
+ border: var(--ic-border-hover);
491
+ cursor: pointer;
492
+ }
493
+ &.focussed,
494
+ &:focus {
495
+ background-color: var(--ic-card-clickable-focus-hover-bg);
496
+ box-shadow: var(--ic-border-focus);
497
+ outline: var(--ic-hc-focus-outline);
498
+ border: var(--ic-border-pressed-default);
499
+ }
500
+ &:active {
501
+ background-color: var(--ic-card-clickable-active-bg);
502
+ box-shadow: var(--ic-border-focus);
503
+
504
+ .card-title {
505
+ text-decoration: none;
506
+ }
507
+ }
508
+ .card-title {
509
+ --ic-typography-color: var(--ic-card-clickable-text);
510
+
511
+ color: var(--ic-card-clickable-text);
512
+ text-decoration: underline;
513
+ text-decoration-thickness: var(--ic-space-1px);
514
+ }
515
+ }
516
+ &.disabled {
517
+ border: var(--ic-border-disabled);
518
+
519
+ .card-message,
520
+ .subheading,
521
+ .card-title {
522
+ --ic-typography-color: var(--ic-card-disabled-text);
523
+ }
524
+ .card-title {
525
+ text-decoration: underline;
526
+ text-decoration-thickness: var(--ic-space-1px);
527
+ text-decoration-color: var(--ic-card-disabled-text);
528
+ color: var(--ic-card-disabled-text);
529
+ }
530
+ ::slotted(svg) {
531
+ fill: var(--ic-card-disabled-text);
532
+ }
533
+ }
509
534
  }
510
535
 
511
536
  .card-header {
@@ -519,18 +544,6 @@ button {
519
544
  padding-right: var(--ic-space-xs);
520
545
  }
521
546
 
522
- .card.disabled ::slotted(svg) {
523
- fill: var(--ic-color-text-tertiary);
524
- }
525
-
526
- .card.clickable .card-title {
527
- --ic-typography-color: var(--ic-color-hyperlink-default);
528
-
529
- color: var(--ic-color-hyperlink-default);
530
- text-decoration: underline;
531
- text-decoration-thickness: var(--ic-space-1px);
532
- }
533
-
534
547
  .card.clickable:hover .card-title,
535
548
  .card.clickable:focus .card-title,
536
549
  .card.clickable.focussed .card-title {
@@ -552,19 +565,6 @@ button {
552
565
  }
553
566
  }
554
567
 
555
- .card.clickable:active .card-title {
556
- text-decoration: none;
557
- }
558
-
559
- .card.disabled .card-title {
560
- text-decoration: underline;
561
- text-decoration-thickness: var(--ic-space-1px);
562
- text-decoration-color: var(--ic-color-text-tertiary);
563
- color: var(--ic-color-text-tertiary);
564
-
565
- --ic-typography-color: var(--ic-color-text-tertiary);
566
- }
567
-
568
568
  .subheading {
569
569
  margin-top: var(--ic-space-xxs);
570
570
  }
@@ -578,11 +578,6 @@ button {
578
578
  align-items: left;
579
579
  }
580
580
 
581
- .card.disabled .card-message,
582
- .card.disabled .subheading {
583
- --ic-typography-color: var(--ic-color-text-tertiary);
584
- }
585
-
586
581
  .interaction-button {
587
582
  margin-left: auto;
588
583
  }
@@ -615,7 +610,7 @@ button {
615
610
  }
616
611
 
617
612
  .toggle-button {
618
- color: var(--ic-action-default);
613
+ color: var(--ic-card-toggle-button);
619
614
  width: 2.5rem;
620
615
  height: 2.5rem;
621
616
  padding: var(--ic-space-xs);
@@ -633,6 +628,25 @@ button {
633
628
  box-sizing: border-box;
634
629
  white-space: nowrap;
635
630
  vertical-align: middle;
631
+
632
+ &:hover {
633
+ background-color: var(--ic-card-clickable-focus-hover-bg);
634
+ color: var(--ic-card-toggle-button-focus-hover);
635
+ }
636
+ &:focus {
637
+ box-shadow: var(--ic-border-focus);
638
+ }
639
+ &:active:not(:focus) {
640
+ background-color: var(--ic-card-clickable-active-bg);
641
+ color: var(--ic-card-toggle-button-active);
642
+ }
643
+
644
+ svg {
645
+ pointer-events: none;
646
+ width: 100% !important;
647
+ height: 100% !important;
648
+ fill: currentcolor !important;
649
+ }
636
650
  }
637
651
 
638
652
  #ic-tooltip-expand-button {
@@ -640,28 +654,6 @@ button {
640
654
  position: relative;
641
655
  }
642
656
 
643
- .toggle-button:hover,
644
- .toggle-button:hover:focus {
645
- background-color: var(--ic-action-default-bg-hover);
646
- color: var(--ic-action-default-hover);
647
- }
648
-
649
- .toggle-button:focus {
650
- box-shadow: var(--ic-border-focus);
651
- }
652
-
653
- .toggle-button:active:not(:focus) {
654
- background-color: var(--ic-action-default-bg-active);
655
- color: var(--ic-action-default-pressed);
656
- }
657
-
658
- .toggle-button svg {
659
- pointer-events: none;
660
- width: 100% !important;
661
- height: 100% !important;
662
- fill: currentcolor !important;
663
- }
664
-
665
657
  .toggle-button-closed svg {
666
658
  transform: rotate(90deg);
667
659
  }
@@ -676,31 +668,23 @@ button {
676
668
 
677
669
  /** High Contrast **/
678
670
  @media (forced-colors: active) {
679
- .card ::slotted(svg) {
680
- fill: currentcolor;
681
- }
682
-
683
- .card.disabled ::slotted(svg) {
684
- fill: GrayText !important;
685
- }
686
-
687
- .card.disabled {
688
- border-color: GrayText !important;
689
- }
690
-
691
- .card.disabled .card-message,
692
- .card.disabled .subheading,
693
- .card.disabled .card-title {
694
- color: GrayText;
695
-
696
- --ic-typography-color: GrayText;
671
+ .card {
672
+ ::slotted(svg) {
673
+ fill: currentcolor;
674
+ }
675
+ &.disabled {
676
+ border-color: GrayText !important;
677
+
678
+ ::slotted(svg) {
679
+ fill: GrayText !important;
680
+ }
681
+ .card-message,
682
+ .subheading,
683
+ .card-title {
684
+ color: GrayText;
685
+
686
+ --ic-typography-color: GrayText;
687
+ }
688
+ }
697
689
  }
698
690
  }
699
-
700
- /* Add back in after storybook has the `color-scheme: light dark` code */
701
-
702
- /* @media (prefers-color-scheme: dark) and (not (forced-colors: active)) {
703
- ::slotted([slot="icon"]) {
704
- fill: var(--ic-architectural-white);
705
- }
706
- } */
@@ -1,4 +1,4 @@
1
- import { h, forceUpdate, } from "@stencil/core";
1
+ import { h, forceUpdate, Host, } from "@stencil/core";
2
2
  import { onComponentRequiredPropUndefined, isSlotUsed, getThemeFromContext, removeDisabledFalse, checkSlotInChildMutations, } from "../../utils/helpers";
3
3
  import { IcThemeForegroundEnum, } from "../../utils/types";
4
4
  import chevronIcon from "../../assets/chevron-icon.svg";
@@ -61,6 +61,7 @@ export class CardVertical {
61
61
  this.rel = undefined;
62
62
  this.subheading = undefined;
63
63
  this.target = undefined;
64
+ this.theme = "inherit";
64
65
  }
65
66
  disconnectedCallback() {
66
67
  var _a;
@@ -96,8 +97,7 @@ export class CardVertical {
96
97
  }
97
98
  }
98
99
  themeChangeHandler(ev) {
99
- const theme = ev.detail;
100
- this.updateTheme(theme.mode);
100
+ this.updateTheme(ev.detail.mode);
101
101
  }
102
102
  /**
103
103
  * Sets focus on the card.
@@ -111,20 +111,18 @@ export class CardVertical {
111
111
  }
112
112
  }
113
113
  updateTheme(newTheme = null) {
114
- const foregroundColor = getThemeFromContext(this.el, newTheme || null);
114
+ const foregroundColor = getThemeFromContext(this.el, newTheme);
115
115
  if (foregroundColor !== IcThemeForegroundEnum.Default) {
116
116
  this.appearance = foregroundColor;
117
117
  }
118
118
  }
119
119
  render() {
120
- const { clickable, disabled, expandable, heading, message, href, hreflang, referrerpolicy, rel, subheading, target, fullWidth, parentIsAnchorTag, isFocussed, } = this;
121
- const Component = parentIsAnchorTag
120
+ const { appearance, clickable, disabled, expandable, fullWidth, heading, isFocussed, message, href, hreflang, parentIsAnchorTag, referrerpolicy, rel, subheading, target, theme, } = this;
121
+ const Component = parentIsAnchorTag || !clickable
122
122
  ? "div"
123
- : clickable
124
- ? this.href === undefined
125
- ? "button"
126
- : "a"
127
- : "div";
123
+ : href === undefined
124
+ ? "button"
125
+ : "a";
128
126
  const attrs = Component == "a" && {
129
127
  href: href,
130
128
  hrefLang: hreflang,
@@ -132,19 +130,19 @@ export class CardVertical {
132
130
  rel: rel,
133
131
  target: target,
134
132
  };
135
- return (h(Component, Object.assign({ class: {
136
- ["card"]: true,
137
- ["clickable"]: clickable && !disabled,
138
- ["disabled"]: disabled,
139
- ["fullwidth"]: fullWidth,
140
- ["focussed"]: isFocussed,
141
- ["dark"]: this.appearance === IcThemeForegroundEnum.Dark,
142
- }, tabindex: clickable && !parentIsAnchorTag ? 0 : null, "aria-disabled": disabled ? "true" : null, disabled: disabled ? true : null }, attrs), isSlotUsed(this.el, "image-top") && (h("div", { class: "image-top" }, h("slot", { name: "image-top" }))), h("div", { class: "card-header" }, isSlotUsed(this.el, "icon") && (h("div", { class: "icon" }, h("slot", { name: "icon" }))), h("div", { class: "card-title" }, h("slot", { name: "heading" }, h("ic-typography", { variant: "h4" }, h("p", null, heading)))), isSlotUsed(this.el, "interaction-button") && (h("div", { class: "interaction-button" }, h("slot", { name: "interaction-button" })))), (subheading || isSlotUsed(this.el, "subheading")) && (h("div", { class: "subheading" }, h("slot", { name: "subheading" }, h("ic-typography", { variant: "subtitle-small" }, subheading)))), isSlotUsed(this.el, "adornment") && (h("div", { class: "adornment" }, h("slot", { name: "adornment" }))), isSlotUsed(this.el, "image-mid") && (h("div", { class: "image-mid" }, h("slot", { name: "image-mid" }))), (message || isSlotUsed(this.el, "message")) && (h("div", { class: {
143
- ["card-message"]: true,
144
- } }, message && h("ic-typography", { variant: "body" }, message), isSlotUsed(this.el, "message") && h("slot", { name: "message" }))), (isSlotUsed(this.el, "interaction-controls") || expandable) && (h("div", { class: "interaction-area" }, h("div", { class: "interaction-controls" }, h("slot", { name: "interaction-controls" })), expandable && (h("ic-tooltip", { id: "ic-tooltip-expand-button", label: "Toggle expandable area", silent: true }, h("button", { class: {
145
- ["toggle-button"]: true,
133
+ return (h(Host, { class: {
134
+ [`ic-theme-${theme}`]: theme !== "inherit",
135
+ } }, h(Component, Object.assign({ class: {
136
+ card: true,
137
+ clickable: clickable && !disabled,
138
+ disabled,
139
+ fullwidth: fullWidth,
140
+ focussed: isFocussed,
141
+ dark: appearance === IcThemeForegroundEnum.Dark,
142
+ }, tabindex: clickable && !parentIsAnchorTag ? 0 : null, "aria-disabled": disabled ? "true" : null, disabled: disabled ? true : null }, attrs), isSlotUsed(this.el, "image-top") && (h("div", { class: "image-top" }, h("slot", { name: "image-top" }))), h("div", { class: "card-header" }, isSlotUsed(this.el, "icon") && (h("div", { class: "icon" }, h("slot", { name: "icon" }))), h("div", { class: "card-title" }, h("slot", { name: "heading" }, h("ic-typography", { variant: "h4" }, h("p", null, heading)))), isSlotUsed(this.el, "interaction-button") && (h("div", { class: "interaction-button" }, h("slot", { name: "interaction-button" })))), (subheading || isSlotUsed(this.el, "subheading")) && (h("div", { class: "subheading" }, h("slot", { name: "subheading" }, h("ic-typography", { variant: "subtitle-small" }, subheading)))), isSlotUsed(this.el, "adornment") && (h("div", { class: "adornment" }, h("slot", { name: "adornment" }))), isSlotUsed(this.el, "image-mid") && (h("div", { class: "image-mid" }, h("slot", { name: "image-mid" }))), (message || isSlotUsed(this.el, "message")) && (h("div", { class: "card-message" }, message && (h("ic-typography", { variant: "body" }, message)), isSlotUsed(this.el, "message") && h("slot", { name: "message" }))), (isSlotUsed(this.el, "interaction-controls") || expandable) && (h("div", { class: "interaction-area" }, h("div", { class: "interaction-controls" }, h("slot", { name: "interaction-controls" })), expandable && (h("ic-tooltip", { id: "ic-tooltip-expand-button", label: "Toggle expandable area", silent: true }, h("button", { class: {
143
+ "toggle-button": true,
146
144
  [`toggle-button-${this.areaExpanded ? "expanded" : "closed"}`]: true,
147
- }, "aria-label": "Toggle expandable area", "aria-expanded": `${this.areaExpanded}`, "aria-controls": this.areaExpanded ? "expanded-content-area" : null, onClick: this.toggleExpanded, innerHTML: chevronIcon }))))), isSlotUsed(this.el, "expanded-content") && this.areaExpanded && (h("div", { class: "expanded-content", id: "expanded-content-area" }, h("slot", { name: "expanded-content" }))), isSlotUsed(this.el, "badge") && h("slot", { name: "badge" })));
145
+ }, "aria-label": "Toggle expandable area", "aria-expanded": `${this.areaExpanded}`, "aria-controls": this.areaExpanded ? "expanded-content-area" : null, onClick: this.toggleExpanded, innerHTML: chevronIcon }))))), isSlotUsed(this.el, "expanded-content") && this.areaExpanded && (h("div", { class: "expanded-content", id: "expanded-content-area" }, h("slot", { name: "expanded-content" }))), isSlotUsed(this.el, "badge") && h("slot", { name: "badge" }))));
148
146
  }
149
147
  static get is() { return "ic-card-vertical"; }
150
148
  static get encapsulation() { return "shadow"; }
@@ -253,7 +251,7 @@ export class CardVertical {
253
251
  "type": "string",
254
252
  "mutable": false,
255
253
  "complexType": {
256
- "original": "string | undefined",
254
+ "original": "string",
257
255
  "resolved": "string",
258
256
  "references": {}
259
257
  },
@@ -374,6 +372,30 @@ export class CardVertical {
374
372
  },
375
373
  "attribute": "target",
376
374
  "reflect": false
375
+ },
376
+ "theme": {
377
+ "type": "string",
378
+ "mutable": false,
379
+ "complexType": {
380
+ "original": "IcThemeMode",
381
+ "resolved": "\"dark\" | \"inherit\" | \"light\"",
382
+ "references": {
383
+ "IcThemeMode": {
384
+ "location": "import",
385
+ "path": "../../utils/types",
386
+ "id": "src/utils/types.ts::IcThemeMode"
387
+ }
388
+ }
389
+ },
390
+ "required": false,
391
+ "optional": true,
392
+ "docs": {
393
+ "tags": [],
394
+ "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."
395
+ },
396
+ "attribute": "theme",
397
+ "reflect": false,
398
+ "defaultValue": "\"inherit\""
377
399
  }
378
400
  };
379
401
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ic-card-vertical.js","sourceRoot":"","sources":["../../../src/components/ic-card-vertical/ic-card-vertical.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n Listen,\n Prop,\n State,\n h,\n Method,\n forceUpdate,\n} from \"@stencil/core\";\nimport {\n onComponentRequiredPropUndefined,\n isSlotUsed,\n getThemeFromContext,\n removeDisabledFalse,\n checkSlotInChildMutations,\n} from \"../../utils/helpers\";\nimport {\n IcTheme,\n IcThemeForeground,\n IcThemeForegroundEnum,\n} from \"../../utils/types\";\nimport chevronIcon from \"../../assets/chevron-icon.svg\";\n\n/**\n * @slot heading - Content will be placed at the top of the card to the right of the icon.\n * @slot message - Content will be placed in the main body of the card.\n * @slot subheading - Content will be placed below the card heading.\n * @slot adornment - Content will be placed below the card subheading.\n * @slot image-top - Content will be placed at the top of the card above all other content.\n * @slot image-mid - Content will be placed below the card heading section.\n * @slot icon - Content will be placed to the left of the card heading.\n * @slot interaction-button - Content will be placed in the top right corner of the heading section.\n * @slot interaction-controls - Content will be placed below the card message.\n * @slot expanded-content - Content will be placed below the interaction controls but will not initially be rendered.\n * @slot badge - Badge component overlaying the top right of the card.\n */\n@Component({\n tag: \"ic-card-vertical\",\n styleUrl: \"ic-card-vertical.css\",\n shadow: true,\n})\nexport class CardVertical {\n private hostMutationObserver: MutationObserver = null;\n\n @Element() el: HTMLIcCardVerticalElement;\n\n @State() appearance?: IcThemeForeground = \"default\";\n @State() areaExpanded: boolean = false;\n @State() isFocussed: boolean = false;\n @State() parentEl: HTMLElement | null = null;\n @State() parentIsAnchorTag: boolean = false;\n\n /**\n * If `true`, the card will be a clickable variant, instead of static.\n */\n @Prop({ mutable: true }) clickable?: boolean = false;\n\n /**\n * If `true`, the card will be disabled if it is clickable.\n */\n @Prop() disabled?: boolean = false;\n\n /**\n * If `true`, the card will have an expandable area and expansion toggle button.\n */\n @Prop() expandable?: boolean = false;\n\n /**\n * If `true`, the card will fill the width of the container.\n */\n @Prop() fullWidth?: boolean = false;\n\n /**\n * The heading for the card. This is required, unless a slotted heading is used.\n */\n @Prop() heading?: string;\n\n /**\n * The URL that the clickable card link points to. If set, the clickable card will render as an \"a\" tag, otherwise it will render as a button.\n */\n @Prop() href?: string | undefined;\n\n /**\n * The human language of the linked URL.\n */\n @Prop() hreflang?: string = \"\";\n\n /**\n * The main body message of the card.\n */\n @Prop() message?: string = \"\";\n\n /**\n * How much of the referrer to send when following the link.\n */\n @Prop() referrerpolicy?: ReferrerPolicy;\n\n /**\n * The relationship of the linked URL as space-separated link types.\n */\n @Prop() rel?: string;\n\n /**\n * The subheading for the card.\n */\n @Prop() subheading?: string;\n\n /**\n * The place to display the linked URL, as the name for a browsing context (a tab, window, or iframe).\n */\n @Prop() target?: string;\n\n disconnectedCallback(): void {\n if (this.parentIsAnchorTag) {\n this.parentEl.removeEventListener(\"focus\", this.parentFocussed);\n this.parentEl.removeEventListener(\"blur\", this.parentBlurred);\n }\n\n this.hostMutationObserver?.disconnect();\n }\n\n componentWillLoad(): void {\n this.parentEl = this.el.parentElement;\n\n if (this.parentEl.tagName === \"A\") {\n this.clickable = true;\n this.parentIsAnchorTag = true;\n this.parentEl.classList.add(\"ic-card-wrapper-link\");\n this.parentEl.addEventListener(\"focus\", this.parentFocussed);\n this.parentEl.addEventListener(\"blur\", this.parentBlurred);\n }\n removeDisabledFalse(this.disabled, this.el);\n }\n\n componentDidLoad(): void {\n !isSlotUsed(this.el, \"heading\") &&\n onComponentRequiredPropUndefined(\n [{ prop: this.heading, propName: \"heading\" }],\n \"Card\"\n );\n this.updateTheme();\n\n this.hostMutationObserver = new MutationObserver(this.hostMutationCallback);\n this.hostMutationObserver.observe(this.el, {\n childList: true,\n });\n }\n\n @Listen(\"click\", { capture: true })\n handleHostClick(event: Event): void {\n if (this.disabled) {\n event.stopImmediatePropagation();\n }\n }\n\n @Listen(\"themeChange\", { target: \"document\" })\n themeChangeHandler(ev: CustomEvent): void {\n const theme: IcTheme = ev.detail;\n this.updateTheme(theme.mode);\n }\n\n /**\n * Sets focus on the card.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.el.shadowRoot.querySelector(\"a\")) {\n this.el.shadowRoot.querySelector(\"a\").focus();\n } else if (this.el.shadowRoot.querySelector(\"button\")) {\n this.el.shadowRoot.querySelector(\"button\").focus();\n }\n }\n\n private parentFocussed = (): void => {\n this.isFocussed = true;\n };\n\n private parentBlurred = (): void => {\n this.isFocussed = false;\n };\n\n private updateTheme(newTheme: IcThemeForeground = null): void {\n const foregroundColor = getThemeFromContext(this.el, newTheme || null);\n\n if (foregroundColor !== IcThemeForegroundEnum.Default) {\n this.appearance = foregroundColor;\n }\n }\n\n private toggleExpanded = (): void => {\n this.areaExpanded = !this.areaExpanded;\n };\n\n private hostMutationCallback = (mutationList: MutationRecord[]): void => {\n if (\n mutationList.some(({ type, addedNodes, removedNodes }) =>\n type === \"childList\"\n ? checkSlotInChildMutations(addedNodes, removedNodes, [\n \"message\",\n \"adornment\",\n \"expanded-content\",\n \"image-top\",\n \"image-mid\",\n \"icon\",\n \"interaction-button\",\n \"badge\",\n \"interaction-controls\",\n ])\n : false\n )\n ) {\n forceUpdate(this);\n }\n };\n\n render() {\n const {\n clickable,\n disabled,\n expandable,\n heading,\n message,\n href,\n hreflang,\n referrerpolicy,\n rel,\n subheading,\n target,\n fullWidth,\n parentIsAnchorTag,\n isFocussed,\n } = this;\n\n const Component = parentIsAnchorTag\n ? \"div\"\n : clickable\n ? this.href === undefined\n ? \"button\"\n : \"a\"\n : \"div\";\n\n const attrs = Component == \"a\" && {\n href: href,\n hrefLang: hreflang,\n referrerPolicy: referrerpolicy,\n rel: rel,\n target: target,\n };\n\n return (\n <Component\n class={{\n [\"card\"]: true,\n [\"clickable\"]: clickable && !disabled,\n [\"disabled\"]: disabled,\n [\"fullwidth\"]: fullWidth,\n [\"focussed\"]: isFocussed,\n [\"dark\"]: this.appearance === IcThemeForegroundEnum.Dark,\n }}\n tabindex={clickable && !parentIsAnchorTag ? 0 : null}\n aria-disabled={disabled ? \"true\" : null}\n disabled={disabled ? true : null}\n {...attrs}\n >\n {isSlotUsed(this.el, \"image-top\") && (\n <div class=\"image-top\">\n <slot name=\"image-top\"></slot>\n </div>\n )}\n <div class=\"card-header\">\n {isSlotUsed(this.el, \"icon\") && (\n <div class=\"icon\">\n <slot name=\"icon\" />\n </div>\n )}\n <div class=\"card-title\">\n <slot name=\"heading\">\n <ic-typography variant=\"h4\">\n <p>{heading}</p>\n </ic-typography>\n </slot>\n </div>\n {isSlotUsed(this.el, \"interaction-button\") && (\n <div class=\"interaction-button\">\n <slot name=\"interaction-button\"></slot>\n </div>\n )}\n </div>\n {(subheading || isSlotUsed(this.el, \"subheading\")) && (\n <div class=\"subheading\">\n <slot name=\"subheading\">\n <ic-typography variant=\"subtitle-small\">\n {subheading}\n </ic-typography>\n </slot>\n </div>\n )}\n {isSlotUsed(this.el, \"adornment\") && (\n <div class=\"adornment\">\n <slot name=\"adornment\"></slot>\n </div>\n )}\n {isSlotUsed(this.el, \"image-mid\") && (\n <div class=\"image-mid\">\n <slot name=\"image-mid\"></slot>\n </div>\n )}\n {(message || isSlotUsed(this.el, \"message\")) && (\n <div\n class={{\n [\"card-message\"]: true,\n }}\n >\n {message && <ic-typography variant=\"body\">{message}</ic-typography>}\n {isSlotUsed(this.el, \"message\") && <slot name=\"message\"></slot>}\n </div>\n )}\n {(isSlotUsed(this.el, \"interaction-controls\") || expandable) && (\n <div class=\"interaction-area\">\n <div class=\"interaction-controls\">\n <slot name=\"interaction-controls\"></slot>\n </div>\n {expandable && (\n <ic-tooltip\n id=\"ic-tooltip-expand-button\"\n label=\"Toggle expandable area\"\n silent\n >\n <button\n class={{\n [\"toggle-button\"]: true,\n [`toggle-button-${\n this.areaExpanded ? \"expanded\" : \"closed\"\n }`]: true,\n }}\n aria-label=\"Toggle expandable area\"\n aria-expanded={`${this.areaExpanded}`}\n aria-controls={\n this.areaExpanded ? \"expanded-content-area\" : null\n }\n onClick={this.toggleExpanded}\n innerHTML={chevronIcon}\n ></button>\n </ic-tooltip>\n )}\n </div>\n )}\n {isSlotUsed(this.el, \"expanded-content\") && this.areaExpanded && (\n <div class=\"expanded-content\" id=\"expanded-content-area\">\n <slot name=\"expanded-content\"></slot>\n </div>\n )}\n {isSlotUsed(this.el, \"badge\") && <slot name=\"badge\"></slot>}\n </Component>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"ic-card-vertical.js","sourceRoot":"","sources":["../../../src/components/ic-card-vertical/ic-card-vertical.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,OAAO,EACP,MAAM,EACN,IAAI,EACJ,KAAK,EACL,CAAC,EACD,MAAM,EACN,WAAW,EACX,IAAI,GACL,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,gCAAgC,EAChC,UAAU,EACV,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAGL,qBAAqB,GAEtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,WAAW,MAAM,+BAA+B,CAAC;AAExD;;;;;;;;;;;;GAYG;AAMH,MAAM,OAAO,YAAY;;QACf,yBAAoB,GAAqB,IAAI,CAAC;QAuI9C,mBAAc,GAAG,GAAS,EAAE;YAClC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC,CAAC;QAEM,kBAAa,GAAG,GAAS,EAAE;YACjC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QAC1B,CAAC,CAAC;QAUM,mBAAc,GAAG,GAAS,EAAE;YAClC,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;QACzC,CAAC,CAAC;QAEM,yBAAoB,GAAG,CAAC,YAA8B,EAAQ,EAAE;YACtE,IACE,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE,EAAE,CACvD,IAAI,KAAK,WAAW;gBAClB,CAAC,CAAC,yBAAyB,CAAC,UAAU,EAAE,YAAY,EAAE;oBAClD,SAAS;oBACT,WAAW;oBACX,kBAAkB;oBAClB,WAAW;oBACX,WAAW;oBACX,MAAM;oBACN,oBAAoB;oBACpB,OAAO;oBACP,sBAAsB;iBACvB,CAAC;gBACJ,CAAC,CAAC,KAAK,CACV,EACD,CAAC;gBACD,WAAW,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;QACH,CAAC,CAAC;0BA3KwC,SAAS;4BAClB,KAAK;0BACP,KAAK;wBACI,IAAI;iCACN,KAAK;yBAKI,KAAK;wBAKvB,KAAK;0BAKH,KAAK;yBAKN,KAAK;;;wBAeP,EAAE;uBAKH,EAAE;;;;;qBAyBC,SAAS;;IAEvC,oBAAoB;;QAClB,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YAChE,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAChE,CAAC;QAED,MAAA,IAAI,CAAC,oBAAoB,0CAAE,UAAU,EAAE,CAAC;IAC1C,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC;QAEtC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,KAAK,GAAG,EAAE,CAAC;YAClC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;YACpD,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YAC7D,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAC7D,CAAC;QACD,mBAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,gBAAgB;QACd,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC;YAC7B,gCAAgC,CAC9B,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAC7C,MAAM,CACP,CAAC;QACJ,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,IAAI,CAAC,oBAAoB,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC5E,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE;YACzC,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;IACL,CAAC;IAGD,eAAe,CAAC,KAAY;QAC1B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,KAAK,CAAC,wBAAwB,EAAE,CAAC;QACnC,CAAC;IACH,CAAC;IAGD,kBAAkB,CAAC,EAAwB;QACzC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IAEH,KAAK,CAAC,QAAQ;QACZ,IAAI,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;QAChD,CAAC;aAAM,IAAI,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;QACrD,CAAC;IACH,CAAC;IAUO,WAAW,CAAC,WAA8B,IAAI;QACpD,MAAM,eAAe,GAAG,mBAAmB,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAE/D,IAAI,eAAe,KAAK,qBAAqB,CAAC,OAAO,EAAE,CAAC;YACtD,IAAI,CAAC,UAAU,GAAG,eAAe,CAAC;QACpC,CAAC;IACH,CAAC;IA4BD,MAAM;QACJ,MAAM,EACJ,UAAU,EACV,SAAS,EACT,QAAQ,EACR,UAAU,EACV,SAAS,EACT,OAAO,EACP,UAAU,EACV,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,iBAAiB,EACjB,cAAc,EACd,GAAG,EACH,UAAU,EACV,MAAM,EACN,KAAK,GACN,GAAG,IAAI,CAAC;QAET,MAAM,SAAS,GACb,iBAAiB,IAAI,CAAC,SAAS;YAC7B,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,IAAI,KAAK,SAAS;gBACpB,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,GAAG,CAAC;QAEV,MAAM,KAAK,GAAG,SAAS,IAAI,GAAG,IAAI;YAChC,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,QAAQ;YAClB,cAAc,EAAE,cAAc;YAC9B,GAAG,EAAE,GAAG;YACR,MAAM,EAAE,MAAM;SACf,CAAC;QAEF,OAAO,CACL,EAAC,IAAI,IACH,KAAK,EAAE;gBACL,CAAC,YAAY,KAAK,EAAE,CAAC,EAAE,KAAK,KAAK,SAAS;aAC3C;YAED,EAAC,SAAS,kBACR,KAAK,EAAE;oBACL,IAAI,EAAE,IAAI;oBACV,SAAS,EAAE,SAAS,IAAI,CAAC,QAAQ;oBACjC,QAAQ;oBACR,SAAS,EAAE,SAAS;oBACpB,QAAQ,EAAE,UAAU;oBACpB,IAAI,EAAE,UAAU,KAAK,qBAAqB,CAAC,IAAI;iBAChD,EACD,QAAQ,EAAE,SAAS,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,mBACrC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EACvC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAC5B,KAAK;gBAER,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,IAAI,CACnC,WAAK,KAAK,EAAC,WAAW;oBACpB,YAAM,IAAI,EAAC,WAAW,GAAQ,CAC1B,CACP;gBACD,WAAK,KAAK,EAAC,aAAa;oBACrB,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,CAC9B,WAAK,KAAK,EAAC,MAAM;wBACf,YAAM,IAAI,EAAC,MAAM,GAAG,CAChB,CACP;oBACD,WAAK,KAAK,EAAC,YAAY;wBACrB,YAAM,IAAI,EAAC,SAAS;4BAClB,qBAAe,OAAO,EAAC,IAAI;gCACzB,aAAI,OAAO,CAAK,CACF,CACX,CACH;oBACL,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,oBAAoB,CAAC,IAAI,CAC5C,WAAK,KAAK,EAAC,oBAAoB;wBAC7B,YAAM,IAAI,EAAC,oBAAoB,GAAQ,CACnC,CACP,CACG;gBACL,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC,IAAI,CACpD,WAAK,KAAK,EAAC,YAAY;oBACrB,YAAM,IAAI,EAAC,YAAY;wBACrB,qBAAe,OAAO,EAAC,gBAAgB,IACpC,UAAU,CACG,CACX,CACH,CACP;gBACA,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,IAAI,CACnC,WAAK,KAAK,EAAC,WAAW;oBACpB,YAAM,IAAI,EAAC,WAAW,GAAQ,CAC1B,CACP;gBACA,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,IAAI,CACnC,WAAK,KAAK,EAAC,WAAW;oBACpB,YAAM,IAAI,EAAC,WAAW,GAAQ,CAC1B,CACP;gBACA,CAAC,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,IAAI,CAC9C,WAAK,KAAK,EAAC,cAAc;oBACtB,OAAO,IAAI,CACV,qBAAe,OAAO,EAAC,MAAM,IAAE,OAAO,CAAiB,CACxD;oBACA,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,YAAM,IAAI,EAAC,SAAS,GAAQ,CAC3D,CACP;gBACA,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,sBAAsB,CAAC,IAAI,UAAU,CAAC,IAAI,CAC9D,WAAK,KAAK,EAAC,kBAAkB;oBAC3B,WAAK,KAAK,EAAC,sBAAsB;wBAC/B,YAAM,IAAI,EAAC,sBAAsB,GAAQ,CACrC;oBACL,UAAU,IAAI,CACb,kBACE,EAAE,EAAC,0BAA0B,EAC7B,KAAK,EAAC,wBAAwB,EAC9B,MAAM;wBAEN,cACE,KAAK,EAAE;gCACL,eAAe,EAAE,IAAI;gCACrB,CAAC,iBACC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QACnC,EAAE,CAAC,EAAE,IAAI;6BACV,gBACU,wBAAwB,mBACpB,GAAG,IAAI,CAAC,YAAY,EAAE,mBAEnC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI,EAEpD,OAAO,EAAE,IAAI,CAAC,cAAc,EAC5B,SAAS,EAAE,WAAW,GACd,CACC,CACd,CACG,CACP;gBACA,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,kBAAkB,CAAC,IAAI,IAAI,CAAC,YAAY,IAAI,CAC/D,WAAK,KAAK,EAAC,kBAAkB,EAAC,EAAE,EAAC,uBAAuB;oBACtD,YAAM,IAAI,EAAC,kBAAkB,GAAQ,CACjC,CACP;gBACA,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,YAAM,IAAI,EAAC,OAAO,GAAQ,CACjD,CACP,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import {\n Component,\n Element,\n Listen,\n Prop,\n State,\n h,\n Method,\n forceUpdate,\n Host,\n} from \"@stencil/core\";\nimport {\n onComponentRequiredPropUndefined,\n isSlotUsed,\n getThemeFromContext,\n removeDisabledFalse,\n checkSlotInChildMutations,\n} from \"../../utils/helpers\";\nimport {\n IcTheme,\n IcThemeForeground,\n IcThemeForegroundEnum,\n IcThemeMode,\n} from \"../../utils/types\";\nimport chevronIcon from \"../../assets/chevron-icon.svg\";\n\n/**\n * @slot heading - Content will be placed at the top of the card to the right of the icon.\n * @slot message - Content will be placed in the main body of the card.\n * @slot subheading - Content will be placed below the card heading.\n * @slot adornment - Content will be placed below the card subheading.\n * @slot image-top - Content will be placed at the top of the card above all other content.\n * @slot image-mid - Content will be placed below the card heading section.\n * @slot icon - Content will be placed to the left of the card heading.\n * @slot interaction-button - Content will be placed in the top right corner of the heading section.\n * @slot interaction-controls - Content will be placed below the card message.\n * @slot expanded-content - Content will be placed below the interaction controls but will not initially be rendered.\n * @slot badge - Badge component overlaying the top right of the card.\n */\n@Component({\n tag: \"ic-card-vertical\",\n styleUrl: \"ic-card-vertical.css\",\n shadow: true,\n})\nexport class CardVertical {\n private hostMutationObserver: MutationObserver = null;\n\n @Element() el: HTMLIcCardVerticalElement;\n\n @State() appearance?: IcThemeForeground = \"default\";\n @State() areaExpanded: boolean = false;\n @State() isFocussed: boolean = false;\n @State() parentEl: HTMLElement | null = null;\n @State() parentIsAnchorTag: boolean = false;\n\n /**\n * If `true`, the card will be a clickable variant, instead of static.\n */\n @Prop({ mutable: true }) clickable?: boolean = false;\n\n /**\n * If `true`, the card will be disabled if it is clickable.\n */\n @Prop() disabled?: boolean = false;\n\n /**\n * If `true`, the card will have an expandable area and expansion toggle button.\n */\n @Prop() expandable?: boolean = false;\n\n /**\n * If `true`, the card will fill the width of the container.\n */\n @Prop() fullWidth?: boolean = false;\n\n /**\n * The heading for the card. This is required, unless a slotted heading is used.\n */\n @Prop() heading?: string;\n\n /**\n * The URL that the clickable card link points to. If set, the clickable card will render as an \"a\" tag, otherwise it will render as a button.\n */\n @Prop() href?: string;\n\n /**\n * The human language of the linked URL.\n */\n @Prop() hreflang?: string = \"\";\n\n /**\n * The main body message of the card.\n */\n @Prop() message?: string = \"\";\n\n /**\n * How much of the referrer to send when following the link.\n */\n @Prop() referrerpolicy?: ReferrerPolicy;\n\n /**\n * The relationship of the linked URL as space-separated link types.\n */\n @Prop() rel?: string;\n\n /**\n * The subheading for the card.\n */\n @Prop() subheading?: string;\n\n /**\n * The place to display the linked URL, as the name for a browsing context (a tab, window, or iframe).\n */\n @Prop() target?: string;\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 disconnectedCallback(): void {\n if (this.parentIsAnchorTag) {\n this.parentEl.removeEventListener(\"focus\", this.parentFocussed);\n this.parentEl.removeEventListener(\"blur\", this.parentBlurred);\n }\n\n this.hostMutationObserver?.disconnect();\n }\n\n componentWillLoad(): void {\n this.parentEl = this.el.parentElement;\n\n if (this.parentEl.tagName === \"A\") {\n this.clickable = true;\n this.parentIsAnchorTag = true;\n this.parentEl.classList.add(\"ic-card-wrapper-link\");\n this.parentEl.addEventListener(\"focus\", this.parentFocussed);\n this.parentEl.addEventListener(\"blur\", this.parentBlurred);\n }\n removeDisabledFalse(this.disabled, this.el);\n }\n\n componentDidLoad(): void {\n !isSlotUsed(this.el, \"heading\") &&\n onComponentRequiredPropUndefined(\n [{ prop: this.heading, propName: \"heading\" }],\n \"Card\"\n );\n this.updateTheme();\n\n this.hostMutationObserver = new MutationObserver(this.hostMutationCallback);\n this.hostMutationObserver.observe(this.el, {\n childList: true,\n });\n }\n\n @Listen(\"click\", { capture: true })\n handleHostClick(event: Event): void {\n if (this.disabled) {\n event.stopImmediatePropagation();\n }\n }\n\n @Listen(\"themeChange\", { target: \"document\" })\n themeChangeHandler(ev: CustomEvent<IcTheme>): void {\n this.updateTheme(ev.detail.mode);\n }\n\n /**\n * Sets focus on the card.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.el.shadowRoot.querySelector(\"a\")) {\n this.el.shadowRoot.querySelector(\"a\").focus();\n } else if (this.el.shadowRoot.querySelector(\"button\")) {\n this.el.shadowRoot.querySelector(\"button\").focus();\n }\n }\n\n private parentFocussed = (): void => {\n this.isFocussed = true;\n };\n\n private parentBlurred = (): void => {\n this.isFocussed = false;\n };\n\n private updateTheme(newTheme: IcThemeForeground = null): void {\n const foregroundColor = getThemeFromContext(this.el, newTheme);\n\n if (foregroundColor !== IcThemeForegroundEnum.Default) {\n this.appearance = foregroundColor;\n }\n }\n\n private toggleExpanded = (): void => {\n this.areaExpanded = !this.areaExpanded;\n };\n\n private hostMutationCallback = (mutationList: MutationRecord[]): void => {\n if (\n mutationList.some(({ type, addedNodes, removedNodes }) =>\n type === \"childList\"\n ? checkSlotInChildMutations(addedNodes, removedNodes, [\n \"message\",\n \"adornment\",\n \"expanded-content\",\n \"image-top\",\n \"image-mid\",\n \"icon\",\n \"interaction-button\",\n \"badge\",\n \"interaction-controls\",\n ])\n : false\n )\n ) {\n forceUpdate(this);\n }\n };\n\n render() {\n const {\n appearance,\n clickable,\n disabled,\n expandable,\n fullWidth,\n heading,\n isFocussed,\n message,\n href,\n hreflang,\n parentIsAnchorTag,\n referrerpolicy,\n rel,\n subheading,\n target,\n theme,\n } = this;\n\n const Component =\n parentIsAnchorTag || !clickable\n ? \"div\"\n : href === undefined\n ? \"button\"\n : \"a\";\n\n const attrs = Component == \"a\" && {\n href: href,\n hrefLang: hreflang,\n referrerPolicy: referrerpolicy,\n rel: rel,\n target: target,\n };\n\n return (\n <Host\n class={{\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n <Component\n class={{\n card: true,\n clickable: clickable && !disabled,\n disabled,\n fullwidth: fullWidth,\n focussed: isFocussed,\n dark: appearance === IcThemeForegroundEnum.Dark,\n }}\n tabindex={clickable && !parentIsAnchorTag ? 0 : null}\n aria-disabled={disabled ? \"true\" : null}\n disabled={disabled ? true : null}\n {...attrs}\n >\n {isSlotUsed(this.el, \"image-top\") && (\n <div class=\"image-top\">\n <slot name=\"image-top\"></slot>\n </div>\n )}\n <div class=\"card-header\">\n {isSlotUsed(this.el, \"icon\") && (\n <div class=\"icon\">\n <slot name=\"icon\" />\n </div>\n )}\n <div class=\"card-title\">\n <slot name=\"heading\">\n <ic-typography variant=\"h4\">\n <p>{heading}</p>\n </ic-typography>\n </slot>\n </div>\n {isSlotUsed(this.el, \"interaction-button\") && (\n <div class=\"interaction-button\">\n <slot name=\"interaction-button\"></slot>\n </div>\n )}\n </div>\n {(subheading || isSlotUsed(this.el, \"subheading\")) && (\n <div class=\"subheading\">\n <slot name=\"subheading\">\n <ic-typography variant=\"subtitle-small\">\n {subheading}\n </ic-typography>\n </slot>\n </div>\n )}\n {isSlotUsed(this.el, \"adornment\") && (\n <div class=\"adornment\">\n <slot name=\"adornment\"></slot>\n </div>\n )}\n {isSlotUsed(this.el, \"image-mid\") && (\n <div class=\"image-mid\">\n <slot name=\"image-mid\"></slot>\n </div>\n )}\n {(message || isSlotUsed(this.el, \"message\")) && (\n <div class=\"card-message\">\n {message && (\n <ic-typography variant=\"body\">{message}</ic-typography>\n )}\n {isSlotUsed(this.el, \"message\") && <slot name=\"message\"></slot>}\n </div>\n )}\n {(isSlotUsed(this.el, \"interaction-controls\") || expandable) && (\n <div class=\"interaction-area\">\n <div class=\"interaction-controls\">\n <slot name=\"interaction-controls\"></slot>\n </div>\n {expandable && (\n <ic-tooltip\n id=\"ic-tooltip-expand-button\"\n label=\"Toggle expandable area\"\n silent\n >\n <button\n class={{\n \"toggle-button\": true,\n [`toggle-button-${\n this.areaExpanded ? \"expanded\" : \"closed\"\n }`]: true,\n }}\n aria-label=\"Toggle expandable area\"\n aria-expanded={`${this.areaExpanded}`}\n aria-controls={\n this.areaExpanded ? \"expanded-content-area\" : null\n }\n onClick={this.toggleExpanded}\n innerHTML={chevronIcon}\n ></button>\n </ic-tooltip>\n )}\n </div>\n )}\n {isSlotUsed(this.el, \"expanded-content\") && this.areaExpanded && (\n <div class=\"expanded-content\" id=\"expanded-content-area\">\n <slot name=\"expanded-content\"></slot>\n </div>\n )}\n {isSlotUsed(this.el, \"badge\") && <slot name=\"badge\"></slot>}\n </Component>\n </Host>\n );\n }\n}\n"]}