@ukic/canary-web-components 3.0.0-canary.4 → 3.0.0-canary.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (606) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/{helpers-36cdc6cb.js → helpers-0d86316e.js} +33 -28
  3. package/dist/cjs/helpers-0d86316e.js.map +1 -0
  4. package/dist/cjs/{helpers-a67ad3a4.js → helpers-e0da4ae1.js} +27 -25
  5. package/dist/cjs/helpers-e0da4ae1.js.map +1 -0
  6. package/dist/cjs/ic-accordion-group.cjs.entry.js +1 -1
  7. package/dist/cjs/ic-accordion.cjs.entry.js +8 -1
  8. package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ic-alert.cjs.entry.js +4 -4
  10. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  11. package/dist/cjs/ic-back-to-top.cjs.entry.js +8 -5
  12. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  13. package/dist/cjs/ic-badge.cjs.entry.js +3 -3
  14. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +43 -20
  16. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-breadcrumb.cjs.entry.js +2 -2
  18. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ic-button_3.cjs.entry.js +18 -17
  20. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ic-card-horizontal.cjs.entry.js +17 -8
  22. package/dist/cjs/ic-card-horizontal.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ic-card-vertical.cjs.entry.js +20 -10
  24. package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -1
  25. package/dist/cjs/ic-checkbox-group.cjs.entry.js +5 -1
  26. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  27. package/dist/cjs/ic-checkbox.cjs.entry.js +5 -1
  28. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  29. package/dist/cjs/ic-chip.cjs.entry.js +9 -4
  30. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  31. package/dist/cjs/ic-data-row.cjs.entry.js +1 -1
  32. package/dist/cjs/ic-data-table-title-bar.cjs.entry.js +7 -7
  33. package/dist/cjs/ic-data-table-title-bar.cjs.entry.js.map +1 -1
  34. package/dist/cjs/ic-data-table.cjs.entry.js +86 -72
  35. package/dist/cjs/ic-data-table.cjs.entry.js.map +1 -1
  36. package/dist/cjs/ic-date-input.cjs.entry.js +14 -9
  37. package/dist/cjs/ic-date-input.cjs.entry.js.map +1 -1
  38. package/dist/cjs/ic-date-picker.cjs.entry.js +14 -5
  39. package/dist/cjs/ic-date-picker.cjs.entry.js.map +1 -1
  40. package/dist/cjs/ic-dialog.cjs.entry.js +2 -2
  41. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  42. package/dist/cjs/ic-divider.cjs.entry.js +3 -3
  43. package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
  44. package/dist/cjs/ic-empty-state_2.cjs.entry.js +9 -6
  45. package/dist/cjs/ic-empty-state_2.cjs.entry.js.map +1 -1
  46. package/dist/cjs/ic-footer-link-group.cjs.entry.js +6 -7
  47. package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
  48. package/dist/cjs/ic-footer-link.cjs.entry.js +4 -5
  49. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  50. package/dist/cjs/ic-footer.cjs.entry.js +7 -8
  51. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  52. package/dist/cjs/ic-hero.cjs.entry.js +6 -7
  53. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  54. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +14 -7
  55. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  56. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +22 -25
  57. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  58. package/dist/cjs/ic-input-label_2.cjs.entry.js +21 -25
  59. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  60. package/dist/cjs/ic-link.cjs.entry.js +10 -12
  61. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  62. package/dist/cjs/ic-menu-group.cjs.entry.js +1 -1
  63. package/dist/cjs/ic-menu-item.cjs.entry.js +16 -9
  64. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  65. package/dist/cjs/ic-navigation-button.cjs.entry.js +11 -8
  66. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  67. package/dist/cjs/ic-navigation-group.cjs.entry.js +7 -6
  68. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  69. package/dist/cjs/ic-navigation-item.cjs.entry.js +31 -6
  70. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  71. package/dist/cjs/ic-navigation-menu.cjs.entry.js +5 -4
  72. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  73. package/dist/cjs/ic-page-header.cjs.entry.js +5 -3
  74. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  75. package/dist/cjs/ic-pagination_4.cjs.entry.js +66 -54
  76. package/dist/cjs/ic-pagination_4.cjs.entry.js.map +1 -1
  77. package/dist/cjs/ic-popover-menu.cjs.entry.js +6 -6
  78. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  79. package/dist/cjs/ic-radio-group.cjs.entry.js +9 -1
  80. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  81. package/dist/cjs/ic-radio-option.cjs.entry.js +5 -1
  82. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  83. package/dist/cjs/ic-search-bar.cjs.entry.js +10 -6
  84. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  85. package/dist/cjs/ic-side-navigation.cjs.entry.js +14 -10
  86. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  87. package/dist/cjs/ic-status-tag.cjs.entry.js +5 -4
  88. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  89. package/dist/cjs/ic-step.cjs.entry.js +1 -1
  90. package/dist/cjs/ic-stepper.cjs.entry.js +1 -1
  91. package/dist/cjs/ic-switch.cjs.entry.js +7 -3
  92. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  93. package/dist/cjs/ic-tab-group.cjs.entry.js +3 -19
  94. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  95. package/dist/cjs/ic-tab-panel.cjs.entry.js +1 -1
  96. package/dist/cjs/ic-tab.cjs.entry.js +5 -2
  97. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  98. package/dist/cjs/ic-theme.cjs.entry.js +20 -20
  99. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  100. package/dist/cjs/ic-toast.cjs.entry.js +1 -1
  101. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +31 -4
  102. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  103. package/dist/cjs/ic-toggle-button.cjs.entry.js +15 -6
  104. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  105. package/dist/cjs/ic-top-navigation.cjs.entry.js +13 -7
  106. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  107. package/dist/cjs/ic-tree-item.cjs.entry.js +13 -4
  108. package/dist/cjs/ic-tree-item.cjs.entry.js.map +1 -1
  109. package/dist/cjs/ic-tree-view.cjs.entry.js +16 -4
  110. package/dist/cjs/ic-tree-view.cjs.entry.js.map +1 -1
  111. package/dist/cjs/ic-typography.cjs.entry.js +2 -2
  112. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  113. package/dist/cjs/loader.cjs.js +1 -1
  114. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.css +14 -11
  115. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.js +22 -10
  116. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.js.map +1 -1
  117. package/dist/collection/components/ic-card-horizontal/test/basic/ic-card-horizontal.spec.js +10 -0
  118. package/dist/collection/components/ic-card-horizontal/test/basic/ic-card-horizontal.spec.js.map +1 -1
  119. package/dist/collection/components/ic-data-table/ic-data-table.css +70 -32
  120. package/dist/collection/components/ic-data-table/ic-data-table.js +116 -90
  121. package/dist/collection/components/ic-data-table/ic-data-table.js.map +1 -1
  122. package/dist/collection/components/ic-data-table/story-data.js +129 -2
  123. package/dist/collection/components/ic-data-table/story-data.js.map +1 -1
  124. package/dist/collection/components/ic-data-table/test/basic/ic-data-table.spec.js +39 -1
  125. package/dist/collection/components/ic-data-table/test/basic/ic-data-table.spec.js.map +1 -1
  126. package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.css +9 -4
  127. package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.js +5 -5
  128. package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.js.map +1 -1
  129. package/dist/collection/components/ic-date-input/ic-date-input.css +60 -7
  130. package/dist/collection/components/ic-date-input/ic-date-input.js +40 -9
  131. package/dist/collection/components/ic-date-input/ic-date-input.js.map +1 -1
  132. package/dist/collection/components/ic-date-picker/ic-date-picker.css +16 -15
  133. package/dist/collection/components/ic-date-picker/ic-date-picker.js +39 -4
  134. package/dist/collection/components/ic-date-picker/ic-date-picker.js.map +1 -1
  135. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.css +1 -5
  136. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js +8 -5
  137. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js.map +1 -1
  138. package/dist/collection/components/ic-tree-item/ic-tree-item.css +24 -4
  139. package/dist/collection/components/ic-tree-item/ic-tree-item.js +33 -5
  140. package/dist/collection/components/ic-tree-item/ic-tree-item.js.map +1 -1
  141. package/dist/collection/components/ic-tree-item/test/basic/ic-tree-item.spec.js +3 -0
  142. package/dist/collection/components/ic-tree-item/test/basic/ic-tree-item.spec.js.map +1 -1
  143. package/dist/collection/components/ic-tree-view/ic-tree-view.css +16 -2
  144. package/dist/collection/components/ic-tree-view/ic-tree-view.js +53 -3
  145. package/dist/collection/components/ic-tree-view/ic-tree-view.js.map +1 -1
  146. package/dist/collection/utils/helpers.js +31 -32
  147. package/dist/collection/utils/helpers.js.map +1 -1
  148. package/dist/collection/utils/types.js +6 -6
  149. package/dist/collection/utils/types.js.map +1 -1
  150. package/dist/components/helpers.js +30 -25
  151. package/dist/components/helpers.js.map +1 -1
  152. package/dist/components/helpers2.js +26 -24
  153. package/dist/components/helpers2.js.map +1 -1
  154. package/dist/components/ic-accordion.js +9 -1
  155. package/dist/components/ic-accordion.js.map +1 -1
  156. package/dist/components/ic-alert.js +4 -4
  157. package/dist/components/ic-alert.js.map +1 -1
  158. package/dist/components/ic-back-to-top.js +9 -5
  159. package/dist/components/ic-back-to-top.js.map +1 -1
  160. package/dist/components/ic-badge.js +3 -3
  161. package/dist/components/ic-badge.js.map +1 -1
  162. package/dist/components/ic-breadcrumb-group.js +43 -19
  163. package/dist/components/ic-breadcrumb-group.js.map +1 -1
  164. package/dist/components/ic-breadcrumb2.js +1 -1
  165. package/dist/components/ic-breadcrumb2.js.map +1 -1
  166. package/dist/components/ic-button2.js +21 -19
  167. package/dist/components/ic-button2.js.map +1 -1
  168. package/dist/components/ic-card-horizontal.js +20 -9
  169. package/dist/components/ic-card-horizontal.js.map +1 -1
  170. package/dist/components/ic-card-vertical.js +25 -13
  171. package/dist/components/ic-card-vertical.js.map +1 -1
  172. package/dist/components/ic-checkbox-group.js +5 -0
  173. package/dist/components/ic-checkbox-group.js.map +1 -1
  174. package/dist/components/ic-checkbox.js +5 -0
  175. package/dist/components/ic-checkbox.js.map +1 -1
  176. package/dist/components/ic-chip.js +11 -4
  177. package/dist/components/ic-chip.js.map +1 -1
  178. package/dist/components/ic-data-table-title-bar.js +6 -6
  179. package/dist/components/ic-data-table-title-bar.js.map +1 -1
  180. package/dist/components/ic-data-table.js +86 -71
  181. package/dist/components/ic-data-table.js.map +1 -1
  182. package/dist/components/ic-date-input2.js +16 -9
  183. package/dist/components/ic-date-input2.js.map +1 -1
  184. package/dist/components/ic-date-picker.js +16 -5
  185. package/dist/components/ic-date-picker.js.map +1 -1
  186. package/dist/components/ic-dialog.js +1 -1
  187. package/dist/components/ic-dialog.js.map +1 -1
  188. package/dist/components/ic-divider2.js +4 -4
  189. package/dist/components/ic-divider2.js.map +1 -1
  190. package/dist/components/ic-footer-link-group.js +7 -8
  191. package/dist/components/ic-footer-link-group.js.map +1 -1
  192. package/dist/components/ic-footer-link.js +5 -6
  193. package/dist/components/ic-footer-link.js.map +1 -1
  194. package/dist/components/ic-footer.js +8 -9
  195. package/dist/components/ic-footer.js.map +1 -1
  196. package/dist/components/ic-hero.js +7 -8
  197. package/dist/components/ic-hero.js.map +1 -1
  198. package/dist/components/ic-horizontal-scroll2.js +16 -7
  199. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  200. package/dist/components/ic-input-component-container2.js +21 -23
  201. package/dist/components/ic-input-component-container2.js.map +1 -1
  202. package/dist/components/ic-input-label2.js +12 -17
  203. package/dist/components/ic-input-label2.js.map +1 -1
  204. package/dist/components/ic-input-validation2.js +8 -8
  205. package/dist/components/ic-input-validation2.js.map +1 -1
  206. package/dist/components/ic-link2.js +13 -15
  207. package/dist/components/ic-link2.js.map +1 -1
  208. package/dist/components/ic-menu-item2.js +20 -11
  209. package/dist/components/ic-menu-item2.js.map +1 -1
  210. package/dist/components/ic-menu2.js +4 -4
  211. package/dist/components/ic-menu2.js.map +1 -1
  212. package/dist/components/ic-navigation-button.js +13 -9
  213. package/dist/components/ic-navigation-button.js.map +1 -1
  214. package/dist/components/ic-navigation-group.js +9 -7
  215. package/dist/components/ic-navigation-group.js.map +1 -1
  216. package/dist/components/ic-navigation-item.js +33 -7
  217. package/dist/components/ic-navigation-item.js.map +1 -1
  218. package/dist/components/ic-navigation-menu2.js +6 -4
  219. package/dist/components/ic-navigation-menu2.js.map +1 -1
  220. package/dist/components/ic-page-header.js +5 -2
  221. package/dist/components/ic-page-header.js.map +1 -1
  222. package/dist/components/ic-pagination-bar2.js +7 -4
  223. package/dist/components/ic-pagination-bar2.js.map +1 -1
  224. package/dist/components/ic-pagination-item2.js +6 -1
  225. package/dist/components/ic-pagination-item2.js.map +1 -1
  226. package/dist/components/ic-pagination2.js +9 -22
  227. package/dist/components/ic-pagination2.js.map +1 -1
  228. package/dist/components/ic-popover-menu.js +5 -5
  229. package/dist/components/ic-popover-menu.js.map +1 -1
  230. package/dist/components/ic-radio-group.js +8 -0
  231. package/dist/components/ic-radio-group.js.map +1 -1
  232. package/dist/components/ic-radio-option.js +6 -1
  233. package/dist/components/ic-radio-option.js.map +1 -1
  234. package/dist/components/ic-search-bar.js +11 -6
  235. package/dist/components/ic-search-bar.js.map +1 -1
  236. package/dist/components/ic-select2.js +20 -14
  237. package/dist/components/ic-select2.js.map +1 -1
  238. package/dist/components/ic-side-navigation.js +15 -11
  239. package/dist/components/ic-side-navigation.js.map +1 -1
  240. package/dist/components/ic-status-tag.js +5 -3
  241. package/dist/components/ic-status-tag.js.map +1 -1
  242. package/dist/components/ic-switch.js +9 -4
  243. package/dist/components/ic-switch.js.map +1 -1
  244. package/dist/components/ic-tab-group.js +2 -18
  245. package/dist/components/ic-tab-group.js.map +1 -1
  246. package/dist/components/ic-tab.js +5 -2
  247. package/dist/components/ic-tab.js.map +1 -1
  248. package/dist/components/ic-text-field2.js +40 -20
  249. package/dist/components/ic-text-field2.js.map +1 -1
  250. package/dist/components/ic-theme.js +22 -22
  251. package/dist/components/ic-theme.js.map +1 -1
  252. package/dist/components/ic-toast.js +1 -1
  253. package/dist/components/ic-toggle-button-group.js +38 -6
  254. package/dist/components/ic-toggle-button-group.js.map +1 -1
  255. package/dist/components/ic-toggle-button.js +20 -8
  256. package/dist/components/ic-toggle-button.js.map +1 -1
  257. package/dist/components/ic-top-navigation.js +15 -8
  258. package/dist/components/ic-top-navigation.js.map +1 -1
  259. package/dist/components/ic-tree-item.js +15 -4
  260. package/dist/components/ic-tree-item.js.map +1 -1
  261. package/dist/components/ic-tree-view.js +19 -4
  262. package/dist/components/ic-tree-view.js.map +1 -1
  263. package/dist/components/ic-typography2.js +1 -1
  264. package/dist/components/ic-typography2.js.map +1 -1
  265. package/dist/core/core.css +899 -123
  266. package/dist/core/core.esm.js +1 -1
  267. package/dist/core/core.esm.js.map +1 -1
  268. package/dist/core/p-006d37d0.entry.js +2 -0
  269. package/dist/core/p-006d37d0.entry.js.map +1 -0
  270. package/dist/core/p-06cda732.entry.js +2 -0
  271. package/dist/core/p-06cda732.entry.js.map +1 -0
  272. package/dist/core/{p-606ad46f.entry.js → p-07881c14.entry.js} +2 -2
  273. package/dist/core/{p-1d24a02a.entry.js → p-1084a7f9.entry.js} +2 -2
  274. package/dist/core/p-1084a7f9.entry.js.map +1 -0
  275. package/dist/core/p-1893f635.entry.js +2 -0
  276. package/dist/core/p-1893f635.entry.js.map +1 -0
  277. package/dist/core/{p-fbb5c8f2.entry.js → p-19f85b60.entry.js} +2 -2
  278. package/dist/core/p-21f6619f.entry.js +2 -0
  279. package/dist/core/p-21f6619f.entry.js.map +1 -0
  280. package/dist/core/p-2412ba0b.entry.js +2 -0
  281. package/dist/core/p-2412ba0b.entry.js.map +1 -0
  282. package/dist/core/p-2664bfab.entry.js +2 -0
  283. package/dist/core/p-2664bfab.entry.js.map +1 -0
  284. package/dist/core/{p-42f1b9cc.entry.js → p-26a41692.entry.js} +2 -2
  285. package/dist/core/p-29a86adf.entry.js +2 -0
  286. package/dist/core/p-29a86adf.entry.js.map +1 -0
  287. package/dist/core/p-2c38ff71.entry.js +2 -0
  288. package/dist/core/p-2c38ff71.entry.js.map +1 -0
  289. package/dist/core/p-324be8cf.entry.js +2 -0
  290. package/dist/core/p-324be8cf.entry.js.map +1 -0
  291. package/dist/core/p-3272931c.entry.js +2 -0
  292. package/dist/core/p-3272931c.entry.js.map +1 -0
  293. package/dist/core/p-34e57694.entry.js +2 -0
  294. package/dist/core/p-34e57694.entry.js.map +1 -0
  295. package/dist/core/{p-5eecd3fc.entry.js → p-35caddb3.entry.js} +2 -2
  296. package/dist/core/p-35caddb3.entry.js.map +1 -0
  297. package/dist/core/p-38aca488.entry.js +2 -0
  298. package/dist/core/p-38aca488.entry.js.map +1 -0
  299. package/dist/core/{p-878df16f.entry.js → p-39190da3.entry.js} +2 -2
  300. package/dist/core/p-39190da3.entry.js.map +1 -0
  301. package/dist/core/p-3ae329ab.entry.js +2 -0
  302. package/dist/core/p-3ae329ab.entry.js.map +1 -0
  303. package/dist/core/p-3b84953c.entry.js +2 -0
  304. package/dist/core/p-3b84953c.entry.js.map +1 -0
  305. package/dist/core/p-3bc4bc81.entry.js +2 -0
  306. package/dist/core/p-3bc4bc81.entry.js.map +1 -0
  307. package/dist/core/{p-cc22644d.entry.js → p-47f2f713.entry.js} +2 -2
  308. package/dist/core/p-4bcd86cf.js +2 -0
  309. package/dist/core/p-4bcd86cf.js.map +1 -0
  310. package/dist/core/{p-3b0fae40.entry.js → p-5284ccab.entry.js} +2 -2
  311. package/dist/core/p-5284ccab.entry.js.map +1 -0
  312. package/dist/core/p-5d749879.entry.js +2 -0
  313. package/dist/core/p-5d749879.entry.js.map +1 -0
  314. package/dist/core/{p-8ffdd236.entry.js → p-670c10af.entry.js} +2 -2
  315. package/dist/core/p-670c10af.entry.js.map +1 -0
  316. package/dist/core/p-68eb216b.entry.js +2 -0
  317. package/dist/core/p-68eb216b.entry.js.map +1 -0
  318. package/dist/core/{p-7c6710f8.entry.js → p-6a2ed698.entry.js} +2 -2
  319. package/dist/core/p-6aa0f42b.entry.js +2 -0
  320. package/dist/core/p-6aa0f42b.entry.js.map +1 -0
  321. package/dist/core/p-6d179eed.entry.js +2 -0
  322. package/dist/core/p-6d179eed.entry.js.map +1 -0
  323. package/dist/core/p-7765a219.entry.js +2 -0
  324. package/dist/core/p-7765a219.entry.js.map +1 -0
  325. package/dist/core/p-77a98aa2.entry.js +2 -0
  326. package/dist/core/p-77a98aa2.entry.js.map +1 -0
  327. package/dist/core/p-78f747ee.entry.js +2 -0
  328. package/dist/core/p-78f747ee.entry.js.map +1 -0
  329. package/dist/core/{p-80b296cd.entry.js → p-7a9de1bb.entry.js} +2 -2
  330. package/dist/core/{p-e6a330e4.js → p-808715e2.js} +2 -2
  331. package/dist/core/p-808715e2.js.map +1 -0
  332. package/dist/core/{p-7aa6b76e.entry.js → p-83f39782.entry.js} +2 -2
  333. package/dist/core/p-8e300091.entry.js +2 -0
  334. package/dist/core/p-8e300091.entry.js.map +1 -0
  335. package/dist/core/p-92398f47.entry.js +2 -0
  336. package/dist/core/p-92398f47.entry.js.map +1 -0
  337. package/dist/core/p-95d1c9e6.entry.js +2 -0
  338. package/dist/core/p-95d1c9e6.entry.js.map +1 -0
  339. package/dist/core/p-9b600ef3.entry.js +2 -0
  340. package/dist/core/p-9b600ef3.entry.js.map +1 -0
  341. package/dist/core/{p-53228014.entry.js → p-a0dfd2cf.entry.js} +2 -2
  342. package/dist/core/p-a0dfd2cf.entry.js.map +1 -0
  343. package/dist/core/p-a7cda2d6.entry.js +2 -0
  344. package/dist/core/p-a7cda2d6.entry.js.map +1 -0
  345. package/dist/core/p-aa876e5e.entry.js +2 -0
  346. package/dist/core/p-aa876e5e.entry.js.map +1 -0
  347. package/dist/core/p-b047cd84.entry.js +2 -0
  348. package/dist/core/p-b047cd84.entry.js.map +1 -0
  349. package/dist/core/p-b1c68968.entry.js +2 -0
  350. package/dist/core/p-b1c68968.entry.js.map +1 -0
  351. package/dist/core/{p-00ff3a06.entry.js → p-b7e5b682.entry.js} +2 -2
  352. package/dist/core/p-b7e5b682.entry.js.map +1 -0
  353. package/dist/core/{p-e7b6d9c5.entry.js → p-b9081a99.entry.js} +2 -2
  354. package/dist/core/p-b9081a99.entry.js.map +1 -0
  355. package/dist/core/p-c6bdbee1.entry.js +2 -0
  356. package/dist/core/p-c6bdbee1.entry.js.map +1 -0
  357. package/dist/core/p-ca4bfffd.entry.js +2 -0
  358. package/dist/core/p-ca4bfffd.entry.js.map +1 -0
  359. package/dist/core/p-ccd141a9.entry.js +2 -0
  360. package/dist/core/p-ccd141a9.entry.js.map +1 -0
  361. package/dist/core/{p-b3d93bc1.entry.js → p-d5648fdc.entry.js} +2 -2
  362. package/dist/core/p-d5648fdc.entry.js.map +1 -0
  363. package/dist/core/p-d7bc2e7f.entry.js +2 -0
  364. package/dist/core/p-d7bc2e7f.entry.js.map +1 -0
  365. package/dist/core/p-d981ef7a.entry.js +2 -0
  366. package/dist/core/p-d981ef7a.entry.js.map +1 -0
  367. package/dist/core/p-e0b556b4.entry.js +2 -0
  368. package/dist/core/p-e0b556b4.entry.js.map +1 -0
  369. package/dist/core/{p-8bec76d1.entry.js → p-eb6e3878.entry.js} +2 -2
  370. package/dist/core/p-eb6e3878.entry.js.map +1 -0
  371. package/dist/core/{p-82aa8136.entry.js → p-efd608ab.entry.js} +2 -2
  372. package/dist/core/p-efd608ab.entry.js.map +1 -0
  373. package/dist/core/p-f02d5539.entry.js +2 -0
  374. package/dist/core/p-f02d5539.entry.js.map +1 -0
  375. package/dist/core/p-f95e52d8.entry.js +2 -0
  376. package/dist/core/p-f95e52d8.entry.js.map +1 -0
  377. package/dist/core/{p-26613dbd.entry.js → p-fafc157b.entry.js} +2 -2
  378. package/dist/core/p-fafc157b.entry.js.map +1 -0
  379. package/dist/esm/core.js +1 -1
  380. package/dist/esm/{helpers-1e2516ae.js → helpers-759bbf51.js} +27 -25
  381. package/dist/esm/helpers-759bbf51.js.map +1 -0
  382. package/dist/esm/{helpers-c326255f.js → helpers-fcc7a364.js} +31 -26
  383. package/dist/esm/helpers-fcc7a364.js.map +1 -0
  384. package/dist/esm/ic-accordion-group.entry.js +1 -1
  385. package/dist/esm/ic-accordion.entry.js +8 -1
  386. package/dist/esm/ic-accordion.entry.js.map +1 -1
  387. package/dist/esm/ic-alert.entry.js +4 -4
  388. package/dist/esm/ic-alert.entry.js.map +1 -1
  389. package/dist/esm/ic-back-to-top.entry.js +9 -6
  390. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  391. package/dist/esm/ic-badge.entry.js +3 -3
  392. package/dist/esm/ic-badge.entry.js.map +1 -1
  393. package/dist/esm/ic-breadcrumb-group.entry.js +43 -20
  394. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  395. package/dist/esm/ic-breadcrumb.entry.js +2 -2
  396. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  397. package/dist/esm/ic-button_3.entry.js +18 -17
  398. package/dist/esm/ic-button_3.entry.js.map +1 -1
  399. package/dist/esm/ic-card-horizontal.entry.js +17 -8
  400. package/dist/esm/ic-card-horizontal.entry.js.map +1 -1
  401. package/dist/esm/ic-card-vertical.entry.js +20 -10
  402. package/dist/esm/ic-card-vertical.entry.js.map +1 -1
  403. package/dist/esm/ic-checkbox-group.entry.js +5 -1
  404. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  405. package/dist/esm/ic-checkbox.entry.js +5 -1
  406. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  407. package/dist/esm/ic-chip.entry.js +9 -4
  408. package/dist/esm/ic-chip.entry.js.map +1 -1
  409. package/dist/esm/ic-data-row.entry.js +1 -1
  410. package/dist/esm/ic-data-table-title-bar.entry.js +7 -7
  411. package/dist/esm/ic-data-table-title-bar.entry.js.map +1 -1
  412. package/dist/esm/ic-data-table.entry.js +86 -72
  413. package/dist/esm/ic-data-table.entry.js.map +1 -1
  414. package/dist/esm/ic-date-input.entry.js +14 -9
  415. package/dist/esm/ic-date-input.entry.js.map +1 -1
  416. package/dist/esm/ic-date-picker.entry.js +14 -5
  417. package/dist/esm/ic-date-picker.entry.js.map +1 -1
  418. package/dist/esm/ic-dialog.entry.js +2 -2
  419. package/dist/esm/ic-dialog.entry.js.map +1 -1
  420. package/dist/esm/ic-divider.entry.js +3 -3
  421. package/dist/esm/ic-divider.entry.js.map +1 -1
  422. package/dist/esm/ic-empty-state_2.entry.js +9 -6
  423. package/dist/esm/ic-empty-state_2.entry.js.map +1 -1
  424. package/dist/esm/ic-footer-link-group.entry.js +6 -7
  425. package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
  426. package/dist/esm/ic-footer-link.entry.js +4 -5
  427. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  428. package/dist/esm/ic-footer.entry.js +7 -8
  429. package/dist/esm/ic-footer.entry.js.map +1 -1
  430. package/dist/esm/ic-hero.entry.js +6 -7
  431. package/dist/esm/ic-hero.entry.js.map +1 -1
  432. package/dist/esm/ic-horizontal-scroll.entry.js +14 -7
  433. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  434. package/dist/esm/ic-input-component-container_3.entry.js +22 -25
  435. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  436. package/dist/esm/ic-input-label_2.entry.js +21 -25
  437. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  438. package/dist/esm/ic-link.entry.js +10 -12
  439. package/dist/esm/ic-link.entry.js.map +1 -1
  440. package/dist/esm/ic-menu-group.entry.js +1 -1
  441. package/dist/esm/ic-menu-item.entry.js +16 -9
  442. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  443. package/dist/esm/ic-navigation-button.entry.js +11 -8
  444. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  445. package/dist/esm/ic-navigation-group.entry.js +7 -6
  446. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  447. package/dist/esm/ic-navigation-item.entry.js +31 -6
  448. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  449. package/dist/esm/ic-navigation-menu.entry.js +5 -4
  450. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  451. package/dist/esm/ic-page-header.entry.js +5 -3
  452. package/dist/esm/ic-page-header.entry.js.map +1 -1
  453. package/dist/esm/ic-pagination_4.entry.js +66 -54
  454. package/dist/esm/ic-pagination_4.entry.js.map +1 -1
  455. package/dist/esm/ic-popover-menu.entry.js +6 -6
  456. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  457. package/dist/esm/ic-radio-group.entry.js +9 -1
  458. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  459. package/dist/esm/ic-radio-option.entry.js +5 -1
  460. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  461. package/dist/esm/ic-search-bar.entry.js +10 -6
  462. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  463. package/dist/esm/ic-side-navigation.entry.js +14 -10
  464. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  465. package/dist/esm/ic-status-tag.entry.js +5 -4
  466. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  467. package/dist/esm/ic-step.entry.js +1 -1
  468. package/dist/esm/ic-stepper.entry.js +1 -1
  469. package/dist/esm/ic-switch.entry.js +7 -3
  470. package/dist/esm/ic-switch.entry.js.map +1 -1
  471. package/dist/esm/ic-tab-group.entry.js +3 -19
  472. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  473. package/dist/esm/ic-tab-panel.entry.js +1 -1
  474. package/dist/esm/ic-tab.entry.js +5 -2
  475. package/dist/esm/ic-tab.entry.js.map +1 -1
  476. package/dist/esm/ic-theme.entry.js +20 -20
  477. package/dist/esm/ic-theme.entry.js.map +1 -1
  478. package/dist/esm/ic-toast.entry.js +1 -1
  479. package/dist/esm/ic-toggle-button-group.entry.js +31 -4
  480. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  481. package/dist/esm/ic-toggle-button.entry.js +15 -6
  482. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  483. package/dist/esm/ic-top-navigation.entry.js +13 -7
  484. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  485. package/dist/esm/ic-tree-item.entry.js +13 -4
  486. package/dist/esm/ic-tree-item.entry.js.map +1 -1
  487. package/dist/esm/ic-tree-view.entry.js +16 -4
  488. package/dist/esm/ic-tree-view.entry.js.map +1 -1
  489. package/dist/esm/ic-typography.entry.js +2 -2
  490. package/dist/esm/ic-typography.entry.js.map +1 -1
  491. package/dist/esm/loader.js +1 -1
  492. package/dist/types/components/ic-card-horizontal/ic-card-horizontal.d.ts +4 -3
  493. package/dist/types/components/ic-data-table/ic-data-table.d.ts +8 -5
  494. package/dist/types/components/ic-data-table/story-data.d.ts +103 -0
  495. package/dist/types/components/ic-date-input/ic-date-input.d.ts +6 -1
  496. package/dist/types/components/ic-date-picker/ic-date-picker.d.ts +6 -1
  497. package/dist/types/components/ic-pagination-bar/ic-pagination-bar.d.ts +1 -1
  498. package/dist/types/components/ic-tree-item/ic-tree-item.d.ts +7 -2
  499. package/dist/types/components/ic-tree-view/ic-tree-view.d.ts +10 -2
  500. package/dist/types/components.d.ts +55 -17
  501. package/dist/types/utils/helpers.d.ts +9 -9
  502. package/dist/types/utils/types.d.ts +5 -5
  503. package/hydrate/index.js +736 -493
  504. package/package.json +3 -3
  505. package/dist/cjs/helpers-36cdc6cb.js.map +0 -1
  506. package/dist/cjs/helpers-a67ad3a4.js.map +0 -1
  507. package/dist/core/p-00ff3a06.entry.js.map +0 -1
  508. package/dist/core/p-036d251b.entry.js +0 -2
  509. package/dist/core/p-036d251b.entry.js.map +0 -1
  510. package/dist/core/p-043cf5de.js +0 -2
  511. package/dist/core/p-043cf5de.js.map +0 -1
  512. package/dist/core/p-13d2db9b.entry.js +0 -2
  513. package/dist/core/p-13d2db9b.entry.js.map +0 -1
  514. package/dist/core/p-1d24a02a.entry.js.map +0 -1
  515. package/dist/core/p-235b461f.entry.js +0 -2
  516. package/dist/core/p-235b461f.entry.js.map +0 -1
  517. package/dist/core/p-24d03bbd.entry.js +0 -2
  518. package/dist/core/p-24d03bbd.entry.js.map +0 -1
  519. package/dist/core/p-26613dbd.entry.js.map +0 -1
  520. package/dist/core/p-2873f871.entry.js +0 -2
  521. package/dist/core/p-2873f871.entry.js.map +0 -1
  522. package/dist/core/p-2a3bd99a.entry.js +0 -2
  523. package/dist/core/p-2a3bd99a.entry.js.map +0 -1
  524. package/dist/core/p-2f4bec06.entry.js +0 -2
  525. package/dist/core/p-2f4bec06.entry.js.map +0 -1
  526. package/dist/core/p-350074d4.entry.js +0 -2
  527. package/dist/core/p-350074d4.entry.js.map +0 -1
  528. package/dist/core/p-39101ffc.entry.js +0 -2
  529. package/dist/core/p-39101ffc.entry.js.map +0 -1
  530. package/dist/core/p-3b0fae40.entry.js.map +0 -1
  531. package/dist/core/p-50dd2744.entry.js +0 -2
  532. package/dist/core/p-50dd2744.entry.js.map +0 -1
  533. package/dist/core/p-53228014.entry.js.map +0 -1
  534. package/dist/core/p-574355c9.entry.js +0 -2
  535. package/dist/core/p-574355c9.entry.js.map +0 -1
  536. package/dist/core/p-5af1273f.entry.js +0 -2
  537. package/dist/core/p-5af1273f.entry.js.map +0 -1
  538. package/dist/core/p-5eecd3fc.entry.js.map +0 -1
  539. package/dist/core/p-620b758c.entry.js +0 -2
  540. package/dist/core/p-620b758c.entry.js.map +0 -1
  541. package/dist/core/p-637035c3.entry.js +0 -2
  542. package/dist/core/p-637035c3.entry.js.map +0 -1
  543. package/dist/core/p-6727166b.entry.js +0 -2
  544. package/dist/core/p-6727166b.entry.js.map +0 -1
  545. package/dist/core/p-6dc00a8f.entry.js +0 -2
  546. package/dist/core/p-6dc00a8f.entry.js.map +0 -1
  547. package/dist/core/p-6dffaac0.entry.js +0 -2
  548. package/dist/core/p-6dffaac0.entry.js.map +0 -1
  549. package/dist/core/p-72210cd4.entry.js +0 -2
  550. package/dist/core/p-72210cd4.entry.js.map +0 -1
  551. package/dist/core/p-7b90f0ae.entry.js +0 -2
  552. package/dist/core/p-7b90f0ae.entry.js.map +0 -1
  553. package/dist/core/p-7c3c080a.entry.js +0 -2
  554. package/dist/core/p-7c3c080a.entry.js.map +0 -1
  555. package/dist/core/p-7c663d4a.entry.js +0 -2
  556. package/dist/core/p-7c663d4a.entry.js.map +0 -1
  557. package/dist/core/p-80dee118.entry.js +0 -2
  558. package/dist/core/p-80dee118.entry.js.map +0 -1
  559. package/dist/core/p-82aa8136.entry.js.map +0 -1
  560. package/dist/core/p-83b4efe2.entry.js +0 -2
  561. package/dist/core/p-83b4efe2.entry.js.map +0 -1
  562. package/dist/core/p-83e4d955.entry.js +0 -2
  563. package/dist/core/p-83e4d955.entry.js.map +0 -1
  564. package/dist/core/p-85d51975.entry.js +0 -2
  565. package/dist/core/p-85d51975.entry.js.map +0 -1
  566. package/dist/core/p-878df16f.entry.js.map +0 -1
  567. package/dist/core/p-8bec76d1.entry.js.map +0 -1
  568. package/dist/core/p-8ffdd236.entry.js.map +0 -1
  569. package/dist/core/p-97953d8b.entry.js +0 -2
  570. package/dist/core/p-97953d8b.entry.js.map +0 -1
  571. package/dist/core/p-9a62c3b8.entry.js +0 -2
  572. package/dist/core/p-9a62c3b8.entry.js.map +0 -1
  573. package/dist/core/p-a22d335b.entry.js +0 -2
  574. package/dist/core/p-a22d335b.entry.js.map +0 -1
  575. package/dist/core/p-a22e5356.entry.js +0 -2
  576. package/dist/core/p-a22e5356.entry.js.map +0 -1
  577. package/dist/core/p-b03218df.entry.js +0 -2
  578. package/dist/core/p-b03218df.entry.js.map +0 -1
  579. package/dist/core/p-b3d93bc1.entry.js.map +0 -1
  580. package/dist/core/p-c1feb2b2.entry.js +0 -2
  581. package/dist/core/p-c1feb2b2.entry.js.map +0 -1
  582. package/dist/core/p-c40c57ee.entry.js +0 -2
  583. package/dist/core/p-c40c57ee.entry.js.map +0 -1
  584. package/dist/core/p-c883b5c1.entry.js +0 -2
  585. package/dist/core/p-c883b5c1.entry.js.map +0 -1
  586. package/dist/core/p-d7632baf.entry.js +0 -2
  587. package/dist/core/p-d7632baf.entry.js.map +0 -1
  588. package/dist/core/p-dcbfc485.entry.js +0 -2
  589. package/dist/core/p-dcbfc485.entry.js.map +0 -1
  590. package/dist/core/p-e6a330e4.js.map +0 -1
  591. package/dist/core/p-e7b6d9c5.entry.js.map +0 -1
  592. package/dist/core/p-ea3e2419.entry.js +0 -2
  593. package/dist/core/p-ea3e2419.entry.js.map +0 -1
  594. package/dist/core/p-f32ab3de.entry.js +0 -2
  595. package/dist/core/p-f32ab3de.entry.js.map +0 -1
  596. package/dist/core/p-f3f9acbb.entry.js +0 -2
  597. package/dist/core/p-f3f9acbb.entry.js.map +0 -1
  598. package/dist/esm/helpers-1e2516ae.js.map +0 -1
  599. package/dist/esm/helpers-c326255f.js.map +0 -1
  600. /package/dist/core/{p-606ad46f.entry.js.map → p-07881c14.entry.js.map} +0 -0
  601. /package/dist/core/{p-fbb5c8f2.entry.js.map → p-19f85b60.entry.js.map} +0 -0
  602. /package/dist/core/{p-42f1b9cc.entry.js.map → p-26a41692.entry.js.map} +0 -0
  603. /package/dist/core/{p-cc22644d.entry.js.map → p-47f2f713.entry.js.map} +0 -0
  604. /package/dist/core/{p-7c6710f8.entry.js.map → p-6a2ed698.entry.js.map} +0 -0
  605. /package/dist/core/{p-80b296cd.entry.js.map → p-7a9de1bb.entry.js.map} +0 -0
  606. /package/dist/core/{p-7aa6b76e.entry.js.map → p-83f39782.entry.js.map} +0 -0
@@ -471,7 +471,7 @@ video {
471
471
 
472
472
  a {
473
473
  text-decoration: none !important;
474
- color: var(--ic-card-text) !important;
474
+ color: var(--ic-card-text-primary) !important;
475
475
  }
476
476
 
477
477
  button {
@@ -485,11 +485,11 @@ button {
485
485
  .card.clickable {
486
486
  display: flex;
487
487
  flex-direction: row;
488
- border: var(--ic-border-default);
488
+ border: var(--ic-space-1px) solid var(--ic-card-border-primary);
489
489
  border-radius: var(--ic-border-radius);
490
490
  box-sizing: border-box;
491
491
  text-align: left;
492
- color: var(--ic-card-text);
492
+ color: var(--ic-card-text-primary);
493
493
  transition: var(--ic-easing-transition-fast);
494
494
  position: relative;
495
495
  max-width: var(--card-max-width);
@@ -506,26 +506,26 @@ button {
506
506
  }
507
507
 
508
508
  .card.clickable:hover {
509
- background-color: var(--ic-card-clickable-focus-hover-bg);
510
- border: var(--ic-border-hover);
509
+ background-color: var(--ic-card-background-hover);
510
+ border: var(--ic-space-1px) solid var(--ic-card-hover-border-color);
511
511
  cursor: pointer;
512
512
  }
513
513
 
514
514
  .card.clickable:focus,
515
515
  .card.clickable.focussed {
516
- background-color: var(--ic-card-clickable-focus-hover-bg);
516
+ background-color: var(--ic-card-background-hover);
517
517
  box-shadow: var(--ic-border-focus);
518
518
  outline: var(--ic-hc-focus-outline);
519
- border: var(--ic-border-pressed-default);
519
+ border: var(--ic-space-1px) solid var(--ic-card-pressed-border-color);
520
520
  }
521
521
 
522
522
  .card.clickable:active {
523
- background-color: var(--ic-card-clickable-active-bg);
523
+ background-color: var(--ic-card-background-pressed);
524
524
  box-shadow: var(--ic-border-focus);
525
525
  }
526
526
 
527
527
  .card.disabled {
528
- border: var(--ic-border-disabled);
528
+ border: var(--ic-space-1px) dashed var(--ic-card-disabled-border-color);
529
529
  }
530
530
 
531
531
  .card-header {
@@ -540,7 +540,7 @@ button {
540
540
  }
541
541
 
542
542
  .card ::slotted(svg) {
543
- fill: var(--ic-card-text);
543
+ fill: var(--ic-card-icon);
544
544
  }
545
545
 
546
546
  .card.disabled ::slotted(svg) {
@@ -588,9 +588,12 @@ button {
588
588
 
589
589
  .image {
590
590
  display: flex;
591
+ border-radius: var(--ic-border-radius);
592
+ }
593
+
594
+ .image ::slotted([slot="image"]) {
591
595
  height: var(--image-size);
592
596
  width: var(--image-size);
593
- border-radius: var(--ic-border-radius);
594
597
  }
595
598
 
596
599
  .card-content {
@@ -1,6 +1,6 @@
1
1
  import { h, forceUpdate, Host, } from "@stencil/core";
2
- import { onComponentRequiredPropUndefined, isSlotUsed, getThemeFromContext, removeDisabledFalse, checkSlotInChildMutations, } from "../../utils/helpers";
3
- import { IcThemeForegroundEnum, } from "../../utils/types";
2
+ import { onComponentRequiredPropUndefined, isSlotUsed, getBrandFromContext, removeDisabledFalse, checkSlotInChildMutations, } from "../../utils/helpers";
3
+ import { IcBrandForegroundEnum, } from "../../utils/types";
4
4
  /**
5
5
  * @slot heading - Content will be placed at the top of the horizontal card to the right of the icon.
6
6
  * @slot message - Content will be placed in the main body of the horizontal card.
@@ -39,6 +39,9 @@ export class Card {
39
39
  this.target = undefined;
40
40
  this.theme = "inherit";
41
41
  }
42
+ watchDisabledHandler() {
43
+ removeDisabledFalse(this.disabled, this.el);
44
+ }
42
45
  disconnectedCallback() {
43
46
  var _a;
44
47
  if (this.parentIsAnchorTag) {
@@ -72,7 +75,7 @@ export class Card {
72
75
  event.stopImmediatePropagation();
73
76
  }
74
77
  }
75
- themeChangeHandler(ev) {
78
+ brandChangeHandler(ev) {
76
79
  this.updateTheme(ev.detail.mode);
77
80
  }
78
81
  /**
@@ -86,10 +89,13 @@ export class Card {
86
89
  this.el.shadowRoot.querySelector("button").focus();
87
90
  }
88
91
  }
89
- updateTheme(newTheme = null) {
90
- const foregroundColor = getThemeFromContext(this.el, newTheme);
91
- if (foregroundColor !== IcThemeForegroundEnum.Default) {
92
- this.appearance = foregroundColor;
92
+ updateTheme(mode = null) {
93
+ const foregroundColor = getBrandFromContext(this.el, mode);
94
+ if (foregroundColor !== IcBrandForegroundEnum.Default) {
95
+ this.theme =
96
+ foregroundColor === IcBrandForegroundEnum.Light
97
+ ? IcBrandForegroundEnum.Dark
98
+ : IcBrandForegroundEnum.Light;
93
99
  }
94
100
  }
95
101
  render() {
@@ -111,7 +117,7 @@ export class Card {
111
117
  clickable: clickable && !disabled,
112
118
  disabled,
113
119
  focussed: isFocussed,
114
- dark: appearance === IcThemeForegroundEnum.Dark,
120
+ dark: appearance === IcBrandForegroundEnum.Dark,
115
121
  [`${size}`]: true,
116
122
  "with-icon": isSlotUsed(this.el, "icon"),
117
123
  "with-image": isSlotUsed(this.el, "image"),
@@ -373,6 +379,12 @@ export class Card {
373
379
  };
374
380
  }
375
381
  static get elementRef() { return "el"; }
382
+ static get watchers() {
383
+ return [{
384
+ "propName": "disabled",
385
+ "methodName": "watchDisabledHandler"
386
+ }];
387
+ }
376
388
  static get listeners() {
377
389
  return [{
378
390
  "name": "click",
@@ -381,8 +393,8 @@ export class Card {
381
393
  "capture": true,
382
394
  "passive": false
383
395
  }, {
384
- "name": "themeChange",
385
- "method": "themeChangeHandler",
396
+ "name": "brandChange",
397
+ "method": "brandChangeHandler",
386
398
  "target": "document",
387
399
  "capture": false,
388
400
  "passive": false
@@ -1 +1 @@
1
- {"version":3,"file":"ic-card-horizontal.js","sourceRoot":"","sources":["../../../src/components/ic-card-horizontal/ic-card-horizontal.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 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 { IcCardSizes } from \"./ic-card-horizontal.types\";\n\n/**\n * @slot heading - Content will be placed at the top of the horizontal card to the right of the icon.\n * @slot message - Content will be placed in the main body of the horizontal card.\n * @slot image - Content will be placed to the left of all other content.\n * @slot icon - Content will be placed to the left of the horizontal card heading.\n * @slot badge - Badge component overlaying the top right of the horizontal card.\n */\n@Component({\n tag: \"ic-card-horizontal\",\n styleUrl: \"ic-card-horizontal.css\",\n shadow: true,\n})\nexport class Card {\n private hostMutationObserver: MutationObserver = null;\n\n @Element() el: HTMLIcCardHorizontalElement;\n\n @State() appearance?: IcThemeForeground = \"default\";\n @State() isFocussed: boolean = false;\n @State() parentEl: HTMLElement | null = null;\n @State() parentIsAnchorTag: boolean = false;\n\n /**\n * If `true`, the horizontal card will be a clickable variant, instead of static.\n */\n @Prop({ mutable: true }) clickable?: boolean = false;\n\n /**\n * If `true`, the horizontal card will be disabled if it is clickable.\n */\n @Prop() disabled?: boolean = false;\n\n /**\n * The heading for the horizontal card. This is required, unless a slotted heading is used.\n */\n @Prop() heading?: string;\n\n /**\n * The URL that the clickable horizontal card link points to. If set, the clickable horizontal 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 horizontal 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 size of the horizontal card.\n */\n @Prop() size: IcCardSizes = \"medium\";\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 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 hostMutationCallback = (mutationList: MutationRecord[]): void => {\n if (\n mutationList.some(\n ({ type, addedNodes, removedNodes }) =>\n type === \"childList\" &&\n checkSlotInChildMutations(addedNodes, removedNodes, \"image\")\n )\n ) {\n forceUpdate(this);\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 render() {\n const {\n appearance,\n clickable,\n disabled,\n heading,\n message,\n href,\n hreflang,\n referrerpolicy,\n rel,\n target,\n parentIsAnchorTag,\n isFocussed,\n size,\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 class={{ [`ic-theme-${theme}`]: theme !== \"inherit\" }}>\n <Component\n class={{\n card: true,\n clickable: clickable && !disabled,\n disabled,\n focussed: isFocussed,\n dark: appearance === IcThemeForegroundEnum.Dark,\n [`${size}`]: true,\n \"with-icon\": isSlotUsed(this.el, \"icon\"),\n \"with-image\": isSlotUsed(this.el, \"image\"),\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\") && (\n <div class=\"image\">\n <slot name=\"image\"></slot>\n </div>\n )}\n <div class=\"card-content\">\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 </div>\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 </div>\n {isSlotUsed(this.el, \"badge\") && <slot name=\"badge\"></slot>}\n </Component>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"ic-card-horizontal.js","sourceRoot":"","sources":["../../../src/components/ic-card-horizontal/ic-card-horizontal.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 Host,\n Watch,\n} from \"@stencil/core\";\nimport {\n onComponentRequiredPropUndefined,\n isSlotUsed,\n getBrandFromContext,\n removeDisabledFalse,\n checkSlotInChildMutations,\n} from \"../../utils/helpers\";\nimport {\n IcBrand,\n IcBrandForeground,\n IcBrandForegroundEnum,\n IcThemeMode,\n} from \"../../utils/types\";\nimport { IcCardSizes } from \"./ic-card-horizontal.types\";\n\n/**\n * @slot heading - Content will be placed at the top of the horizontal card to the right of the icon.\n * @slot message - Content will be placed in the main body of the horizontal card.\n * @slot image - Content will be placed to the left of all other content.\n * @slot icon - Content will be placed to the left of the horizontal card heading.\n * @slot badge - Badge component overlaying the top right of the horizontal card.\n */\n@Component({\n tag: \"ic-card-horizontal\",\n styleUrl: \"ic-card-horizontal.css\",\n shadow: true,\n})\nexport class Card {\n private hostMutationObserver: MutationObserver = null;\n\n @Element() el: HTMLIcCardHorizontalElement;\n\n @State() appearance?: IcBrandForeground = \"default\";\n @State() isFocussed: boolean = false;\n @State() parentEl: HTMLElement | null = null;\n @State() parentIsAnchorTag: boolean = false;\n\n /**\n * If `true`, the horizontal card will be a clickable variant, instead of static.\n */\n @Prop({ mutable: true }) clickable?: boolean = false;\n\n /**\n * If `true`, the horizontal card will be disabled if it is clickable.\n */\n @Prop() disabled?: boolean = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * The heading for the horizontal card. This is required, unless a slotted heading is used.\n */\n @Prop() heading?: string;\n\n /**\n * The URL that the clickable horizontal card link points to. If set, the clickable horizontal 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 horizontal 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 size of the horizontal card.\n */\n @Prop() size: IcCardSizes = \"medium\";\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 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(\"brandChange\", { target: \"document\" })\n brandChangeHandler(ev: CustomEvent<IcBrand>): 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 hostMutationCallback = (mutationList: MutationRecord[]): void => {\n if (\n mutationList.some(\n ({ type, addedNodes, removedNodes }) =>\n type === \"childList\" &&\n checkSlotInChildMutations(addedNodes, removedNodes, \"image\")\n )\n ) {\n forceUpdate(this);\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(mode: IcBrandForeground = null): void {\n const foregroundColor = getBrandFromContext(this.el, mode);\n\n if (foregroundColor !== IcBrandForegroundEnum.Default) {\n this.theme =\n foregroundColor === IcBrandForegroundEnum.Light\n ? IcBrandForegroundEnum.Dark\n : IcBrandForegroundEnum.Light;\n }\n }\n\n render() {\n const {\n appearance,\n clickable,\n disabled,\n heading,\n message,\n href,\n hreflang,\n referrerpolicy,\n rel,\n target,\n parentIsAnchorTag,\n isFocussed,\n size,\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 class={{ [`ic-theme-${theme}`]: theme !== \"inherit\" }}>\n <Component\n class={{\n card: true,\n clickable: clickable && !disabled,\n disabled,\n focussed: isFocussed,\n dark: appearance === IcBrandForegroundEnum.Dark,\n [`${size}`]: true,\n \"with-icon\": isSlotUsed(this.el, \"icon\"),\n \"with-image\": isSlotUsed(this.el, \"image\"),\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\") && (\n <div class=\"image\">\n <slot name=\"image\"></slot>\n </div>\n )}\n <div class=\"card-content\">\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 </div>\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 </div>\n {isSlotUsed(this.el, \"badge\") && <slot name=\"badge\"></slot>}\n </Component>\n </Host>\n );\n }\n}\n"]}
@@ -51,6 +51,16 @@ describe("ic-card-horizontal", () => {
51
51
  });
52
52
  expect(page.root).toMatchSnapshot();
53
53
  });
54
+ it("should render disabled", async () => {
55
+ const page = await newSpecPage({
56
+ components: [Card],
57
+ html: `<ic-card-horizontal heading="Card" message="This is a static card" disabled clickable></ic-card-horizontal>`,
58
+ });
59
+ expect(page.root).toMatchSnapshot();
60
+ page.rootInstance.disabled = false;
61
+ await page.waitForChanges();
62
+ expect(page.root).toMatchSnapshot("disabled-removed");
63
+ });
54
64
  it("should apply 'focussed' style when parent is focussed", async () => {
55
65
  const page = await newSpecPage({
56
66
  components: [Card],
@@ -1 +1 @@
1
- {"version":3,"file":"ic-card-horizontal.spec.js","sourceRoot":"","sources":["../../../../../src/components/ic-card-horizontal/test/basic/ic-card-horizontal.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { newSpecPage } from \"@stencil/core/testing\";\nimport { Card } from \"../../ic-card-horizontal\";\nimport { IcTypography as Typography } from \"@ukic/web-components/dist/components/ic-typography\";\n\ndescribe(\"ic-card-horizontal\", () => {\n it(\"should render\", async () => {\n const page = await newSpecPage({\n components: [Card],\n html: `<ic-card-horizontal heading=\"Card\" message=\"This is a static card\"></ic-card-horizontal>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render small\", async () => {\n const page = await newSpecPage({\n components: [Card],\n html: `<ic-card-horizontal heading=\"Card\" message=\"This is a static card\" size=\"small\"></ic-card-horizontal>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render large\", async () => {\n const page = await newSpecPage({\n components: [Card],\n html: `<ic-card-horizontal heading=\"Card\" message=\"This is a static card\" size=\"large\"></ic-card-horizontal>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render extra large\", async () => {\n const page = await newSpecPage({\n components: [Card],\n html: `<ic-card-horizontal heading=\"Card\" message=\"This is a static card\" size=\"extra large\"></ic-card-horizontal>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render as a button\", async () => {\n const page = await newSpecPage({\n components: [Card],\n html: `<ic-card-horizontal heading=\"Card\" message=\"This is a clickable card rendered as a button\" clickable=true></ic-card-horizontal>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render as a link\", async () => {\n const page = await newSpecPage({\n components: [Card],\n html: `<ic-card-horizontal heading=\"Card\" message=\"This is a clickable card rendered as a button\" clickable=true href=\"/\"></ic-card-horizontal>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with a link parent\", async () => {\n const page = await newSpecPage({\n components: [Card],\n html: `<a href=\"/\"><ic-card-horizontal heading=\"Card\" message=\"This is a clickable card\" clickable=true></ic-card-horizontal></a>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should apply 'focussed' style when parent is focussed\", async () => {\n const page = await newSpecPage({\n components: [Card],\n html: `<a href=\"/\"><ic-card-horizontal id=\"test-id\" heading=\"Card\" message=\"This is a clickable card\" clickable=true></ic-card-horizontal></a>`,\n });\n\n expect(page.root).not.toBeNull;\n\n const element = await document.getElementById(\"test-id\");\n\n await expect(element.classList.contains(\"focussed\")).toBeFalsy;\n\n await element.focus();\n\n await expect(element.classList.contains(\"focussed\")).toBeTruthy;\n });\n\n it(\"should lose 'focussed' style when parent loses focus\", async () => {\n const page = await newSpecPage({\n components: [Card],\n html: `<a href=\"/\"><ic-card-horizontal id=\"test-card\" heading=\"Card\" message=\"This is a clickable card\" clickable=true></ic-card-horizontal></a>`,\n });\n\n expect(page.root).not.toBeNull;\n\n const element = await document.getElementById(\"test-card\");\n\n await element.focus();\n\n await expect(element.classList.contains(\"focussed\")).toBeTruthy;\n\n await element.blur();\n\n await expect(element.classList.contains(\"focussed\")).toBeFalsy;\n\n await page.rootInstance.disconnectedCallback();\n });\n\n it(\"should stop immediate propagation of a click event when disabled\", async () => {\n const page = await newSpecPage({\n components: [Card],\n html: `<ic-card-horizontal id=\"test-card\" heading=\"Card\" message=\"This is a clickable card\" clickable=true disabled=true onclick=\"alert('test')\"></ic-card-horizontal>`,\n });\n\n jest.spyOn(window, \"alert\").mockImplementation();\n\n const element = await document.getElementById(\"test-card\");\n\n element.click();\n\n await page.waitForChanges();\n\n await expect(window.alert).not.toHaveBeenCalled;\n });\n\n it(\"should render with an image\", async () => {\n const page = await newSpecPage({\n components: [Card],\n html: `<ic-card-horizontal id=\"test-card\" heading=\"Card\" message=\"This is a card\"><div slot=\"image\">Image placeholder</div></ic-card-horizontal>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with an icon\", async () => {\n const page = await newSpecPage({\n components: [Card],\n html: `<ic-card-horizontal id=\"test-card\" heading=\"Card\" message=\"This is a card\"><div slot=\"icon\">Image placeholder</div></ic-card-horizontal>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with a slotted heading and message\", async () => {\n const page = await newSpecPage({\n components: [Card, Typography],\n html: `<ic-card-horizontal id=\"test-card\">\n <ic-typography slot=\"heading\">Heading</ic-typography>\n <ic-typography slot=\"message\">Message</ic-typography>\n </ic-card-horizontal>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should call 'setFocus' when card as a button is focused\", async () => {\n const page = await newSpecPage({\n components: [Card],\n html: `<ic-card-horizontal heading=\"Card\" message=\"This is a clickable card rendered as a button\" clickable=true></ic-card-horizontal>`,\n });\n\n //Can't expect anything in this test - this is to increase code coverage only\n await page.rootInstance.setFocus().toHaveBeenCalled;\n });\n\n it(\"should call 'setFocus' when card as a link is focused\", async () => {\n const page = await newSpecPage({\n components: [Card],\n html: `<ic-card-horizontal heading=\"Card\" message=\"This is a clickable card rendered as a button\" clickable=true href=\"/\"></ic-card-horizontal>`,\n });\n\n //Can't expect anything in this test - this is to increase code coverage only\n await page.rootInstance.setFocus().toHaveBeenCalled;\n });\n});\n"]}
1
+ {"version":3,"file":"ic-card-horizontal.spec.js","sourceRoot":"","sources":["../../../../../src/components/ic-card-horizontal/test/basic/ic-card-horizontal.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAE,YAAY,IAAI,UAAU,EAAE,MAAM,oDAAoD,CAAC;AAEhG,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,eAAe,EAAE,KAAK,IAAI,EAAE;QAC7B,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,IAAI,CAAC;YAClB,IAAI,EAAE,0FAA0F;SACjG,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;QACnC,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,IAAI,CAAC;YAClB,IAAI,EAAE,uGAAuG;SAC9G,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;QACnC,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,IAAI,CAAC;YAClB,IAAI,EAAE,uGAAuG;SAC9G,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;QACzC,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,IAAI,CAAC;YAClB,IAAI,EAAE,6GAA6G;SACpH,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;QACzC,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,IAAI,CAAC;YAClB,IAAI,EAAE,iIAAiI;SACxI,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;QACvC,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,IAAI,CAAC;YAClB,IAAI,EAAE,0IAA0I;SACjJ,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,IAAI,CAAC;YAClB,IAAI,EAAE,4HAA4H;SACnI,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;QACtC,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,IAAI,CAAC;YAClB,IAAI,EAAE,6GAA6G;SACpH,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;QAEpC,IAAI,CAAC,YAAY,CAAC,QAAQ,GAAG,KAAK,CAAC;QAEnC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;QACrE,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,IAAI,CAAC;YAClB,IAAI,EAAE,yIAAyI;SAChJ,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC;QAE/B,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAEzD,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;QAE/D,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QAEtB,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QACpE,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,IAAI,CAAC;YAClB,IAAI,EAAE,2IAA2I;SAClJ,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC;QAE/B,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAE3D,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QAEtB,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;QAEhE,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QAErB,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;QAE/D,MAAM,IAAI,CAAC,YAAY,CAAC,oBAAoB,EAAE,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;QAChF,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,IAAI,CAAC;YAClB,IAAI,EAAE,iKAAiK;SACxK,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,kBAAkB,EAAE,CAAC;QAEjD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAE3D,OAAO,CAAC,KAAK,EAAE,CAAC;QAEhB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;QAC3C,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,IAAI,CAAC;YAClB,IAAI,EAAE,2IAA2I;SAClJ,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;QAC1C,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,IAAI,CAAC;YAClB,IAAI,EAAE,0IAA0I;SACjJ,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;QAChE,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC;YAC9B,IAAI,EAAE;;;0BAGc;SACrB,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;QACvE,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,IAAI,CAAC;YAClB,IAAI,EAAE,iIAAiI;SACxI,CAAC,CAAC;QAEH,6EAA6E;QAC7E,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,gBAAgB,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;QACrE,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,IAAI,CAAC;YAClB,IAAI,EAAE,0IAA0I;SACjJ,CAAC,CAAC;QAEH,6EAA6E;QAC7E,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,gBAAgB,CAAC;IACtD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { newSpecPage } from \"@stencil/core/testing\";\nimport { Card } from \"../../ic-card-horizontal\";\nimport { IcTypography as Typography } from \"@ukic/web-components/dist/components/ic-typography\";\n\ndescribe(\"ic-card-horizontal\", () => {\n it(\"should render\", async () => {\n const page = await newSpecPage({\n components: [Card],\n html: `<ic-card-horizontal heading=\"Card\" message=\"This is a static card\"></ic-card-horizontal>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render small\", async () => {\n const page = await newSpecPage({\n components: [Card],\n html: `<ic-card-horizontal heading=\"Card\" message=\"This is a static card\" size=\"small\"></ic-card-horizontal>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render large\", async () => {\n const page = await newSpecPage({\n components: [Card],\n html: `<ic-card-horizontal heading=\"Card\" message=\"This is a static card\" size=\"large\"></ic-card-horizontal>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render extra large\", async () => {\n const page = await newSpecPage({\n components: [Card],\n html: `<ic-card-horizontal heading=\"Card\" message=\"This is a static card\" size=\"extra large\"></ic-card-horizontal>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render as a button\", async () => {\n const page = await newSpecPage({\n components: [Card],\n html: `<ic-card-horizontal heading=\"Card\" message=\"This is a clickable card rendered as a button\" clickable=true></ic-card-horizontal>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render as a link\", async () => {\n const page = await newSpecPage({\n components: [Card],\n html: `<ic-card-horizontal heading=\"Card\" message=\"This is a clickable card rendered as a button\" clickable=true href=\"/\"></ic-card-horizontal>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with a link parent\", async () => {\n const page = await newSpecPage({\n components: [Card],\n html: `<a href=\"/\"><ic-card-horizontal heading=\"Card\" message=\"This is a clickable card\" clickable=true></ic-card-horizontal></a>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render disabled\", async () => {\n const page = await newSpecPage({\n components: [Card],\n html: `<ic-card-horizontal heading=\"Card\" message=\"This is a static card\" disabled clickable></ic-card-horizontal>`,\n });\n\n expect(page.root).toMatchSnapshot();\n\n page.rootInstance.disabled = false;\n\n await page.waitForChanges();\n expect(page.root).toMatchSnapshot(\"disabled-removed\");\n });\n\n it(\"should apply 'focussed' style when parent is focussed\", async () => {\n const page = await newSpecPage({\n components: [Card],\n html: `<a href=\"/\"><ic-card-horizontal id=\"test-id\" heading=\"Card\" message=\"This is a clickable card\" clickable=true></ic-card-horizontal></a>`,\n });\n\n expect(page.root).not.toBeNull;\n\n const element = await document.getElementById(\"test-id\");\n\n await expect(element.classList.contains(\"focussed\")).toBeFalsy;\n\n await element.focus();\n\n await expect(element.classList.contains(\"focussed\")).toBeTruthy;\n });\n\n it(\"should lose 'focussed' style when parent loses focus\", async () => {\n const page = await newSpecPage({\n components: [Card],\n html: `<a href=\"/\"><ic-card-horizontal id=\"test-card\" heading=\"Card\" message=\"This is a clickable card\" clickable=true></ic-card-horizontal></a>`,\n });\n\n expect(page.root).not.toBeNull;\n\n const element = await document.getElementById(\"test-card\");\n\n await element.focus();\n\n await expect(element.classList.contains(\"focussed\")).toBeTruthy;\n\n await element.blur();\n\n await expect(element.classList.contains(\"focussed\")).toBeFalsy;\n\n await page.rootInstance.disconnectedCallback();\n });\n\n it(\"should stop immediate propagation of a click event when disabled\", async () => {\n const page = await newSpecPage({\n components: [Card],\n html: `<ic-card-horizontal id=\"test-card\" heading=\"Card\" message=\"This is a clickable card\" clickable=true disabled=true onclick=\"alert('test')\"></ic-card-horizontal>`,\n });\n\n jest.spyOn(window, \"alert\").mockImplementation();\n\n const element = await document.getElementById(\"test-card\");\n\n element.click();\n\n await page.waitForChanges();\n\n await expect(window.alert).not.toHaveBeenCalled;\n });\n\n it(\"should render with an image\", async () => {\n const page = await newSpecPage({\n components: [Card],\n html: `<ic-card-horizontal id=\"test-card\" heading=\"Card\" message=\"This is a card\"><div slot=\"image\">Image placeholder</div></ic-card-horizontal>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with an icon\", async () => {\n const page = await newSpecPage({\n components: [Card],\n html: `<ic-card-horizontal id=\"test-card\" heading=\"Card\" message=\"This is a card\"><div slot=\"icon\">Image placeholder</div></ic-card-horizontal>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render with a slotted heading and message\", async () => {\n const page = await newSpecPage({\n components: [Card, Typography],\n html: `<ic-card-horizontal id=\"test-card\">\n <ic-typography slot=\"heading\">Heading</ic-typography>\n <ic-typography slot=\"message\">Message</ic-typography>\n </ic-card-horizontal>`,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should call 'setFocus' when card as a button is focused\", async () => {\n const page = await newSpecPage({\n components: [Card],\n html: `<ic-card-horizontal heading=\"Card\" message=\"This is a clickable card rendered as a button\" clickable=true></ic-card-horizontal>`,\n });\n\n //Can't expect anything in this test - this is to increase code coverage only\n await page.rootInstance.setFocus().toHaveBeenCalled;\n });\n\n it(\"should call 'setFocus' when card as a link is focused\", async () => {\n const page = await newSpecPage({\n components: [Card],\n html: `<ic-card-horizontal heading=\"Card\" message=\"This is a clickable card rendered as a button\" clickable=true href=\"/\"></ic-card-horizontal>`,\n });\n\n //Can't expect anything in this test - this is to increase code coverage only\n await page.rootInstance.setFocus().toHaveBeenCalled;\n });\n});\n"]}
@@ -25,6 +25,8 @@ tbody {
25
25
  min-height: 1.5rem;
26
26
  overflow-y: hidden;
27
27
  height: var(--row-height);
28
+
29
+ --ic-typography-color: var(--ic-data-table-text-default-emphasis);
28
30
  }
29
31
 
30
32
  .truncation-show-hide {
@@ -45,18 +47,6 @@ ic-loading-indicator {
45
47
  top: 20px;
46
48
  }
47
49
 
48
- ic-loading-indicator.ic-theme-dark {
49
- --inner-color: var(--ic-action-default-dark);
50
- --outer-color: var(--ic-action-neutral-light);
51
- --label-color: var(--ic-color-text-primary-dark);
52
- }
53
-
54
- ic-loading-indicator.ic-theme-dark.ic-loading-indicator-monochrome {
55
- --inner-color: var(--ic-action-light);
56
- --outer-color: var(--ic-action-neutral-dark);
57
- --label-color: var(--ic-color-text-inverse-dark);
58
- }
59
-
60
50
  .table-row-container {
61
51
  position: relative;
62
52
  height: 100%;
@@ -85,7 +75,7 @@ table {
85
75
  }
86
76
 
87
77
  :host([embedded="true"]) .table-row-container {
88
- border: var(--ic-border-light);
78
+ border: var(--ic-space-1px) solid var(--ic-data-table-border);
89
79
  }
90
80
 
91
81
  .column-header-inner-container {
@@ -130,7 +120,17 @@ table {
130
120
  }
131
121
 
132
122
  .table-row-selected {
133
- background-color: var(--ic-table-row-selected) !important;
123
+ background-color: var(--ic-data-table-cell-background-selected) !important;
124
+ }
125
+
126
+ .table-row:hover {
127
+ background-color: var(--ic-data-table-cell-background-hover) !important;
128
+ }
129
+
130
+ .table-row-selected:hover {
131
+ background-color: var(
132
+ --ic-data-table-cell-background-selected-hover
133
+ ) !important;
134
134
  }
135
135
 
136
136
  .sort-button {
@@ -138,19 +138,19 @@ table {
138
138
  }
139
139
 
140
140
  .sort-button:hover {
141
- background-color: var(--ic-action-dark-bg-hover);
141
+ background-color: var(--ic-data-table-icon-button-background-hover);
142
142
  }
143
143
 
144
144
  .sort-button:active {
145
- background-color: var(--ic-action-dark-bg-pressed);
145
+ background-color: var(--ic-data-table-icon-button-background-pressed);
146
146
  }
147
147
 
148
148
  .sort-button svg {
149
- color: var(--ic-architectural-black);
149
+ color: var(--ic-data-table-sort-toggle-icon);
150
150
  }
151
151
 
152
152
  .sort-button-unsorted svg {
153
- color: var(--ic-color-text-tertiary);
153
+ color: var(--ic-data-table-sort-toggle-icon-default);
154
154
  }
155
155
 
156
156
  .table-density-dense .column-header-inner-container,
@@ -187,9 +187,10 @@ td.table-density-spacious {
187
187
  .column-header {
188
188
  text-align: left;
189
189
  padding: var(--ic-space-xs);
190
- background-color: var(--ic-architectural-40);
191
- border-right: var(--ic-border-light);
192
- border-bottom: var(--ic-border-light);
190
+ background-color: var(--ic-data-table-header-background);
191
+ border-right: var(--ic-space-1px) solid var(--ic-data-table-header-keyline);
192
+ border-bottom: var(--ic-space-1px) solid var(--ic-data-table-header-keyline);
193
+ color: var(--ic-data-table-header-text);
193
194
  }
194
195
 
195
196
  .column-header {
@@ -204,7 +205,7 @@ td.table-density-spacious {
204
205
  }
205
206
 
206
207
  .scrollable .column-header:last-child {
207
- border-right: var(--ic-border-light) !important;
208
+ border-right: var(--ic-space-1px) solid var(--ic-data-table-header-keyline) !important;
208
209
  }
209
210
 
210
211
  :host([embedded="true"]) tr:last-child .table-cell,
@@ -241,13 +242,17 @@ td.table-density-spacious {
241
242
  justify-content: center !important;
242
243
  }
243
244
 
245
+ .table-row {
246
+ background-color: var(--ic-data-table-cell-background);
247
+ }
248
+
244
249
  .table-row:nth-child(even) {
245
- background-color: var(--ic-architectural-20);
250
+ background-color: var(--ic-data-table-cell-background-stripe);
246
251
  }
247
252
 
248
253
  .table-cell {
249
254
  padding: var(--ic-space-xs);
250
- border-bottom: solid var(--ic-architectural-100) var(--ic-space-1px);
255
+ border-bottom: solid var(--ic-data-table-cell-keyline) var(--ic-space-1px);
251
256
  overflow: hidden;
252
257
  box-sizing: border-box;
253
258
  max-width: var(--column-max-width);
@@ -286,17 +291,20 @@ td.table-density-spacious {
286
291
  align-items: flex-end;
287
292
  }
288
293
 
289
- .cell-emphasis-low {
290
- --ic-typography-color: var(--ic-color-text-secondary);
294
+ .cell-emphasis-low ic-typography {
295
+ --ic-typography-color: var(--ic-data-table-text-low-emphasis);
291
296
  }
292
297
 
293
- .cell-emphasis-high {
298
+ .cell-emphasis-high ic-typography {
299
+ --ic-typography-color: var(--ic-data-table-text-high-emphasis);
300
+
294
301
  font-weight: var(--ic-font-weight-bold);
295
302
  }
296
303
 
297
304
  .pagination-container {
298
- background-color: var(--ic-architectural-40);
299
- border-top: var(--ic-border-light);
305
+ background-color: var(--ic-data-table-pagination-bar-background-color);
306
+ border-top: var(--ic-space-1px) solid
307
+ var(--ic-data-table-pagination-bar-keyline);
300
308
  }
301
309
 
302
310
  .screen-reader-sort-text,
@@ -319,7 +327,7 @@ td.table-density-spacious {
319
327
 
320
328
  .updating-state {
321
329
  padding: 0;
322
- border-bottom: var(--ic-border-light);
330
+ border-bottom: var(--ic-space-1px) solid var(--ic-data-table-header-keyline);
323
331
  }
324
332
 
325
333
  .updating-state-headers {
@@ -334,8 +342,8 @@ td.table-density-spacious {
334
342
  }
335
343
 
336
344
  .loading.show-background {
337
- background-color: var(--ic-architectural-white);
338
- border: var(--ic-border-light);
345
+ background-color: var(--ic-data-table-overlay-background);
346
+ border: var(--ic-space-1px) solid var(--ic-data-table-overlay-border);
339
347
  }
340
348
 
341
349
  .loading.show {
@@ -349,6 +357,26 @@ td.table-density-spacious {
349
357
  margin-right: var(--ic-space-xxs);
350
358
  }
351
359
 
360
+ .column-header .icon > svg,
361
+ .column-header ::slotted(svg) {
362
+ fill: var(--ic-data-table-icon);
363
+ }
364
+
365
+ .table-cell .icon > svg,
366
+ .table-cell ::slotted(svg) {
367
+ fill: var(--ic-data-table-icon-default-emphasis);
368
+ }
369
+
370
+ .cell-emphasis-high .icon > svg,
371
+ .cell-emphasis-high ::slotted(svg) {
372
+ fill: var(--ic-data-table-icon-high-emphasis);
373
+ }
374
+
375
+ .cell-emphasis-low .icon > svg,
376
+ .cell-emphasis-low ::slotted(svg) {
377
+ fill: var(--ic-data-table-icon-low-emphasis);
378
+ }
379
+
352
380
  .column-header-alignment-right > .icon,
353
381
  .row-header-alignment-right > .icon,
354
382
  .cell-alignment-right > .icon,
@@ -387,6 +415,16 @@ td.table-density-spacious {
387
415
  width: 100%;
388
416
  }
389
417
 
418
+ .action-element {
419
+ display: flex;
420
+ justify-content: right;
421
+ }
422
+
423
+ .cell-grid-wrapper {
424
+ display: grid;
425
+ grid-template-columns: auto auto;
426
+ }
427
+
390
428
  @media screen and (min-width: 577px) {
391
429
  .column-header-inner-container {
392
430
  display: flex;