@ukic/canary-web-components 3.0.0-canary.21 → 3.0.0-canary.23

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 (606) hide show
  1. package/README.md +2 -1
  2. package/dist/cjs/clear-icon-547aa9b9.js +10 -0
  3. package/dist/cjs/clear-icon-547aa9b9.js.map +1 -0
  4. package/dist/cjs/core.cjs.js +1 -1
  5. package/dist/cjs/helpers-da852478.js.map +1 -1
  6. package/dist/cjs/ic-action-chip.cjs.entry.js +116 -0
  7. package/dist/cjs/ic-action-chip.cjs.entry.js.map +1 -0
  8. package/dist/cjs/ic-back-to-top.cjs.entry.js +3 -3
  9. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  10. package/dist/cjs/ic-badge.cjs.entry.js +2 -2
  11. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  12. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +2 -2
  13. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
  14. package/dist/cjs/ic-breadcrumb.cjs.entry.js +2 -2
  15. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  16. package/dist/cjs/ic-button_3.cjs.entry.js +41 -86
  17. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  18. package/dist/cjs/ic-card-vertical.cjs.entry.js +4 -4
  19. package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -1
  20. package/dist/cjs/ic-checkbox-group.cjs.entry.js +2 -2
  21. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  22. package/dist/cjs/ic-checkbox_3.cjs.entry.js +6 -6
  23. package/dist/cjs/ic-checkbox_3.cjs.entry.js.map +1 -1
  24. package/dist/cjs/ic-chip.cjs.entry.js +11 -3
  25. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  26. package/dist/cjs/ic-classification-banner.cjs.entry.js +2 -2
  27. package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
  28. package/dist/cjs/ic-data-list.cjs.entry.js +2 -2
  29. package/dist/cjs/ic-data-list.cjs.entry.js.map +1 -1
  30. package/dist/cjs/ic-data-row.cjs.entry.js +2 -2
  31. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  32. package/dist/cjs/ic-data-table.cjs.entry.js +63 -68
  33. package/dist/cjs/ic-data-table.cjs.entry.js.map +1 -1
  34. package/dist/cjs/ic-date-input.cjs.entry.js +25 -17
  35. package/dist/cjs/ic-date-input.cjs.entry.js.map +1 -1
  36. package/dist/cjs/ic-date-picker.cjs.entry.js +17 -10
  37. package/dist/cjs/ic-date-picker.cjs.entry.js.map +1 -1
  38. package/dist/cjs/ic-dialog.cjs.entry.js +1 -1
  39. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  40. package/dist/cjs/ic-footer-link.cjs.entry.js +2 -2
  41. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  42. package/dist/cjs/ic-footer.cjs.entry.js +3 -3
  43. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  44. package/dist/cjs/ic-hero.cjs.entry.js +4 -4
  45. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  46. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +5 -5
  47. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  48. package/dist/cjs/ic-input-component-container_4.cjs.entry.js +224 -0
  49. package/dist/cjs/ic-input-component-container_4.cjs.entry.js.map +1 -0
  50. package/dist/cjs/ic-link.cjs.entry.js +1 -1
  51. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  52. package/dist/cjs/ic-menu-group.cjs.entry.js +1 -1
  53. package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
  54. package/dist/cjs/{ic-input-component-container_3.cjs.entry.js → ic-menu.cjs.entry.js} +41 -140
  55. package/dist/cjs/ic-menu.cjs.entry.js.map +1 -0
  56. package/dist/cjs/ic-navigation-button.cjs.entry.js +2 -2
  57. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  58. package/dist/cjs/ic-navigation-group.cjs.entry.js +1 -1
  59. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  60. package/dist/cjs/ic-navigation-item.cjs.entry.js +3 -10
  61. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  62. package/dist/cjs/ic-navigation-menu.cjs.entry.js +4 -4
  63. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  64. package/dist/cjs/ic-page-header.cjs.entry.js +6 -6
  65. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  66. package/dist/cjs/ic-pagination_4.cjs.entry.js +17 -17
  67. package/dist/cjs/ic-pagination_4.cjs.entry.js.map +1 -1
  68. package/dist/cjs/ic-popover-menu.cjs.entry.js +4 -4
  69. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  70. package/dist/cjs/ic-radio-group.cjs.entry.js +4 -4
  71. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  72. package/dist/cjs/ic-radio-option.cjs.entry.js +4 -4
  73. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  74. package/dist/cjs/ic-search-bar.cjs.entry.js +9 -9
  75. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  76. package/dist/cjs/ic-section-container.cjs.entry.js +2 -2
  77. package/dist/cjs/ic-section-container.cjs.entry.js.map +1 -1
  78. package/dist/cjs/ic-side-navigation.cjs.entry.js +4 -4
  79. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  80. package/dist/cjs/ic-skeleton.cjs.entry.js +2 -2
  81. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  82. package/dist/cjs/ic-skip-link.cjs.entry.js +2 -2
  83. package/dist/cjs/ic-skip-link.cjs.entry.js.map +1 -1
  84. package/dist/cjs/ic-status-tag.cjs.entry.js +2 -2
  85. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  86. package/dist/cjs/ic-step.cjs.entry.js +13 -13
  87. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  88. package/dist/cjs/ic-stepper.cjs.entry.js +2 -2
  89. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  90. package/dist/cjs/ic-switch.cjs.entry.js +4 -4
  91. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  92. package/dist/cjs/ic-tab-context.cjs.entry.js +1 -1
  93. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  94. package/dist/cjs/ic-tab-group.cjs.entry.js +2 -2
  95. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  96. package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
  97. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  98. package/dist/cjs/ic-tab.cjs.entry.js +2 -2
  99. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  100. package/dist/cjs/ic-theme.cjs.entry.js +1 -1
  101. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  102. package/dist/cjs/ic-time-input.cjs.entry.js +943 -0
  103. package/dist/cjs/ic-time-input.cjs.entry.js.map +1 -0
  104. package/dist/cjs/ic-toast-region.cjs.entry.js +1 -1
  105. package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -1
  106. package/dist/cjs/ic-toast.cjs.entry.js +3 -3
  107. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  108. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +15 -4
  109. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  110. package/dist/cjs/ic-toggle-button.cjs.entry.js +13 -4
  111. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  112. package/dist/cjs/ic-top-navigation.cjs.entry.js +4 -4
  113. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  114. package/dist/cjs/ic-tree-item.cjs.entry.js +14 -8
  115. package/dist/cjs/ic-tree-item.cjs.entry.js.map +1 -1
  116. package/dist/cjs/ic-tree-view.cjs.entry.js +23 -15
  117. package/dist/cjs/ic-tree-view.cjs.entry.js.map +1 -1
  118. package/dist/cjs/ic-typography.cjs.entry.js +2 -2
  119. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  120. package/dist/cjs/index-d337cd8a.js +12 -4
  121. package/dist/cjs/loader.cjs.js +1 -1
  122. package/dist/collection/assets/clock.svg +1 -0
  123. package/dist/collection/collection-manifest.json +2 -0
  124. package/dist/collection/components/ic-data-table/ic-data-table.css +3 -2
  125. package/dist/collection/components/ic-data-table/ic-data-table.js +62 -68
  126. package/dist/collection/components/ic-data-table/ic-data-table.js.map +1 -1
  127. package/dist/collection/components/ic-data-table/ic-data-table.stories.js +5 -4
  128. package/dist/collection/components/ic-data-table/ic-data-table.stories.js.map +1 -1
  129. package/dist/collection/components/ic-data-table/ic-data-table.types.js.map +1 -1
  130. package/dist/collection/components/ic-data-table/story-data.js +39 -130
  131. package/dist/collection/components/ic-data-table/story-data.js.map +1 -1
  132. package/dist/collection/components/ic-date-input/ic-date-input.js +24 -12
  133. package/dist/collection/components/ic-date-input/ic-date-input.js.map +1 -1
  134. package/dist/collection/components/ic-date-picker/ic-date-picker.js +37 -10
  135. package/dist/collection/components/ic-date-picker/ic-date-picker.js.map +1 -1
  136. package/dist/collection/components/ic-time-input/ic-time-input.css +648 -0
  137. package/dist/collection/components/ic-time-input/ic-time-input.js +1600 -0
  138. package/dist/collection/components/ic-time-input/ic-time-input.js.map +1 -0
  139. package/dist/collection/components/ic-time-input/ic-time-input.stories.js +320 -0
  140. package/dist/collection/components/ic-time-input/ic-time-input.stories.js.map +1 -0
  141. package/dist/collection/components/ic-time-input/test/helpers/ic-time-input.js +45 -0
  142. package/dist/collection/components/ic-time-input/test/helpers/ic-time-input.js.map +1 -0
  143. package/dist/collection/components/ic-tree-item/ic-tree-item.js +14 -8
  144. package/dist/collection/components/ic-tree-item/ic-tree-item.js.map +1 -1
  145. package/dist/collection/components/ic-tree-view/ic-tree-view.js +23 -15
  146. package/dist/collection/components/ic-tree-view/ic-tree-view.js.map +1 -1
  147. package/dist/collection/utils/types.js.map +1 -1
  148. package/dist/components/clear-icon.js +8 -0
  149. package/dist/components/clear-icon.js.map +1 -0
  150. package/dist/components/helpers2.js.map +1 -1
  151. package/dist/components/ic-action-chip.js +160 -0
  152. package/dist/components/ic-action-chip.js.map +1 -0
  153. package/dist/components/ic-back-to-top.js +3 -3
  154. package/dist/components/ic-back-to-top.js.map +1 -1
  155. package/dist/components/ic-badge.js +2 -2
  156. package/dist/components/ic-badge.js.map +1 -1
  157. package/dist/components/ic-breadcrumb-group.js +2 -2
  158. package/dist/components/ic-breadcrumb-group.js.map +1 -1
  159. package/dist/components/ic-breadcrumb2.js +2 -2
  160. package/dist/components/ic-breadcrumb2.js.map +1 -1
  161. package/dist/components/ic-button2.js +3 -3
  162. package/dist/components/ic-button2.js.map +1 -1
  163. package/dist/components/ic-card-vertical.js +4 -4
  164. package/dist/components/ic-card-vertical.js.map +1 -1
  165. package/dist/components/ic-checkbox-group.js +2 -2
  166. package/dist/components/ic-checkbox-group.js.map +1 -1
  167. package/dist/components/ic-checkbox2.js +4 -4
  168. package/dist/components/ic-checkbox2.js.map +1 -1
  169. package/dist/components/ic-chip.js +12 -4
  170. package/dist/components/ic-chip.js.map +1 -1
  171. package/dist/components/ic-classification-banner.js +2 -2
  172. package/dist/components/ic-classification-banner.js.map +1 -1
  173. package/dist/components/ic-data-list.js +2 -2
  174. package/dist/components/ic-data-list.js.map +1 -1
  175. package/dist/components/ic-data-row.js +2 -2
  176. package/dist/components/ic-data-row.js.map +1 -1
  177. package/dist/components/ic-data-table.js +63 -68
  178. package/dist/components/ic-data-table.js.map +1 -1
  179. package/dist/components/ic-date-input2.js +25 -17
  180. package/dist/components/ic-date-input2.js.map +1 -1
  181. package/dist/components/ic-date-picker.js +18 -10
  182. package/dist/components/ic-date-picker.js.map +1 -1
  183. package/dist/components/ic-dialog.js +1 -1
  184. package/dist/components/ic-dialog.js.map +1 -1
  185. package/dist/components/ic-empty-state2.js +2 -2
  186. package/dist/components/ic-empty-state2.js.map +1 -1
  187. package/dist/components/ic-footer-link.js +2 -2
  188. package/dist/components/ic-footer-link.js.map +1 -1
  189. package/dist/components/ic-footer.js +3 -3
  190. package/dist/components/ic-footer.js.map +1 -1
  191. package/dist/components/ic-hero.js +4 -4
  192. package/dist/components/ic-hero.js.map +1 -1
  193. package/dist/components/ic-horizontal-scroll2.js +5 -5
  194. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  195. package/dist/components/ic-input-component-container2.js +3 -3
  196. package/dist/components/ic-input-component-container2.js.map +1 -1
  197. package/dist/components/ic-input-container2.js +2 -2
  198. package/dist/components/ic-input-container2.js.map +1 -1
  199. package/dist/components/ic-input-label2.js +2 -2
  200. package/dist/components/ic-input-label2.js.map +1 -1
  201. package/dist/components/ic-input-validation2.js +3 -3
  202. package/dist/components/ic-input-validation2.js.map +1 -1
  203. package/dist/components/ic-link2.js +1 -1
  204. package/dist/components/ic-link2.js.map +1 -1
  205. package/dist/components/ic-loading-indicator2.js +6 -6
  206. package/dist/components/ic-loading-indicator2.js.map +1 -1
  207. package/dist/components/ic-menu-group.js +1 -1
  208. package/dist/components/ic-menu-group.js.map +1 -1
  209. package/dist/components/ic-menu2.js +42 -47
  210. package/dist/components/ic-menu2.js.map +1 -1
  211. package/dist/components/ic-navigation-button.js +2 -2
  212. package/dist/components/ic-navigation-button.js.map +1 -1
  213. package/dist/components/ic-navigation-group.js +1 -1
  214. package/dist/components/ic-navigation-group.js.map +1 -1
  215. package/dist/components/ic-navigation-item.js +3 -10
  216. package/dist/components/ic-navigation-item.js.map +1 -1
  217. package/dist/components/ic-navigation-menu2.js +4 -4
  218. package/dist/components/ic-navigation-menu2.js.map +1 -1
  219. package/dist/components/ic-page-header.js +6 -6
  220. package/dist/components/ic-page-header.js.map +1 -1
  221. package/dist/components/ic-pagination-item2.js +1 -1
  222. package/dist/components/ic-pagination-item2.js.map +1 -1
  223. package/dist/components/ic-pagination2.js +4 -4
  224. package/dist/components/ic-pagination2.js.map +1 -1
  225. package/dist/components/ic-popover-menu.js +4 -4
  226. package/dist/components/ic-popover-menu.js.map +1 -1
  227. package/dist/components/ic-radio-group.js +4 -4
  228. package/dist/components/ic-radio-group.js.map +1 -1
  229. package/dist/components/ic-radio-option.js +4 -4
  230. package/dist/components/ic-radio-option.js.map +1 -1
  231. package/dist/components/ic-search-bar.js +9 -9
  232. package/dist/components/ic-search-bar.js.map +1 -1
  233. package/dist/components/ic-section-container2.js +2 -2
  234. package/dist/components/ic-section-container2.js.map +1 -1
  235. package/dist/components/ic-select2.js +6 -6
  236. package/dist/components/ic-select2.js.map +1 -1
  237. package/dist/components/ic-side-navigation.js +4 -4
  238. package/dist/components/ic-side-navigation.js.map +1 -1
  239. package/dist/components/ic-skeleton.js +2 -2
  240. package/dist/components/ic-skeleton.js.map +1 -1
  241. package/dist/components/ic-skip-link.js +2 -2
  242. package/dist/components/ic-skip-link.js.map +1 -1
  243. package/dist/components/ic-status-tag.js +2 -2
  244. package/dist/components/ic-status-tag.js.map +1 -1
  245. package/dist/components/ic-step.js +13 -13
  246. package/dist/components/ic-step.js.map +1 -1
  247. package/dist/components/ic-stepper.js +2 -2
  248. package/dist/components/ic-stepper.js.map +1 -1
  249. package/dist/components/ic-switch.js +4 -4
  250. package/dist/components/ic-switch.js.map +1 -1
  251. package/dist/components/ic-tab-context.js +1 -1
  252. package/dist/components/ic-tab-context.js.map +1 -1
  253. package/dist/components/ic-tab-group.js +2 -2
  254. package/dist/components/ic-tab-group.js.map +1 -1
  255. package/dist/components/ic-tab-panel.js +2 -2
  256. package/dist/components/ic-tab-panel.js.map +1 -1
  257. package/dist/components/ic-tab.js +2 -2
  258. package/dist/components/ic-tab.js.map +1 -1
  259. package/dist/components/ic-text-field2.js +6 -6
  260. package/dist/components/ic-text-field2.js.map +1 -1
  261. package/dist/components/ic-theme.js +1 -1
  262. package/dist/components/ic-theme.js.map +1 -1
  263. package/dist/components/ic-time-input.d.ts +11 -0
  264. package/dist/components/ic-time-input.js +1045 -0
  265. package/dist/components/ic-time-input.js.map +1 -0
  266. package/dist/components/ic-toast-region.js +1 -1
  267. package/dist/components/ic-toast-region.js.map +1 -1
  268. package/dist/components/ic-toast.js +3 -3
  269. package/dist/components/ic-toast.js.map +1 -1
  270. package/dist/components/ic-toggle-button-group.js +17 -4
  271. package/dist/components/ic-toggle-button-group.js.map +1 -1
  272. package/dist/components/ic-toggle-button.js +14 -4
  273. package/dist/components/ic-toggle-button.js.map +1 -1
  274. package/dist/components/ic-tooltip2.js +33 -78
  275. package/dist/components/ic-tooltip2.js.map +1 -1
  276. package/dist/components/ic-top-navigation.js +4 -4
  277. package/dist/components/ic-top-navigation.js.map +1 -1
  278. package/dist/components/ic-tree-item.js +15 -9
  279. package/dist/components/ic-tree-item.js.map +1 -1
  280. package/dist/components/ic-tree-view.js +24 -16
  281. package/dist/components/ic-tree-view.js.map +1 -1
  282. package/dist/components/ic-typography2.js +2 -2
  283. package/dist/components/ic-typography2.js.map +1 -1
  284. package/dist/core/core.css +227 -7
  285. package/dist/core/core.esm.js +1 -1
  286. package/dist/core/core.esm.js.map +1 -1
  287. package/dist/core/{p-137dd76e.entry.js → p-00a89919.entry.js} +2 -2
  288. package/dist/core/{p-137dd76e.entry.js.map → p-00a89919.entry.js.map} +1 -1
  289. package/dist/core/{p-e253a857.js → p-0f22f41e.js} +2 -2
  290. package/dist/core/p-0f22f41e.js.map +1 -0
  291. package/dist/core/{p-97abdbf7.entry.js → p-1521e96b.entry.js} +2 -2
  292. package/dist/core/{p-97abdbf7.entry.js.map → p-1521e96b.entry.js.map} +1 -1
  293. package/dist/core/{p-5d987f8f.entry.js → p-153d3597.entry.js} +2 -2
  294. package/dist/core/{p-5d987f8f.entry.js.map → p-153d3597.entry.js.map} +1 -1
  295. package/dist/core/{p-4b6818d9.entry.js → p-1cc402b8.entry.js} +2 -2
  296. package/dist/core/{p-4b6818d9.entry.js.map → p-1cc402b8.entry.js.map} +1 -1
  297. package/dist/core/{p-8d908a57.entry.js → p-22863d31.entry.js} +2 -2
  298. package/dist/core/{p-8d908a57.entry.js.map → p-22863d31.entry.js.map} +1 -1
  299. package/dist/core/{p-c94e7b0b.entry.js → p-27207aa3.entry.js} +2 -2
  300. package/dist/core/{p-c94e7b0b.entry.js.map → p-27207aa3.entry.js.map} +1 -1
  301. package/dist/core/{p-2c4bf16f.entry.js → p-2d6a1b50.entry.js} +2 -2
  302. package/dist/core/{p-2c4bf16f.entry.js.map → p-2d6a1b50.entry.js.map} +1 -1
  303. package/dist/core/{p-b6b7c15c.entry.js → p-307c13a1.entry.js} +2 -2
  304. package/dist/core/p-307c13a1.entry.js.map +1 -0
  305. package/dist/core/{p-2d8900bf.entry.js → p-30b3afb1.entry.js} +2 -2
  306. package/dist/core/{p-2d8900bf.entry.js.map → p-30b3afb1.entry.js.map} +1 -1
  307. package/dist/core/{p-bf93baea.entry.js → p-324862f7.entry.js} +2 -2
  308. package/dist/core/{p-bf93baea.entry.js.map → p-324862f7.entry.js.map} +1 -1
  309. package/dist/core/{p-0fe08a58.js → p-33927ee1.js} +2 -2
  310. package/dist/core/{p-1bcf49fa.entry.js → p-369f4536.entry.js} +2 -2
  311. package/dist/core/p-369f4536.entry.js.map +1 -0
  312. package/dist/core/{p-b6d1988d.entry.js → p-3a5da30c.entry.js} +2 -2
  313. package/dist/core/{p-b6d1988d.entry.js.map → p-3a5da30c.entry.js.map} +1 -1
  314. package/dist/core/{p-826a6c25.entry.js → p-3d10fa12.entry.js} +2 -2
  315. package/dist/core/{p-826a6c25.entry.js.map → p-3d10fa12.entry.js.map} +1 -1
  316. package/dist/core/{p-f569a91f.entry.js → p-48127d40.entry.js} +2 -2
  317. package/dist/core/{p-f569a91f.entry.js.map → p-48127d40.entry.js.map} +1 -1
  318. package/dist/core/{p-3448c713.entry.js → p-48db785a.entry.js} +2 -2
  319. package/dist/core/{p-3448c713.entry.js.map → p-48db785a.entry.js.map} +1 -1
  320. package/dist/core/{p-b27bc1a1.entry.js → p-4b212968.entry.js} +2 -2
  321. package/dist/core/{p-b27bc1a1.entry.js.map → p-4b212968.entry.js.map} +1 -1
  322. package/dist/core/p-53d50d9e.entry.js +2 -0
  323. package/dist/core/p-53d50d9e.entry.js.map +1 -0
  324. package/dist/core/p-558936fb.entry.js +2 -0
  325. package/dist/core/p-558936fb.entry.js.map +1 -0
  326. package/dist/core/{p-64372a57.entry.js → p-593cc594.entry.js} +2 -2
  327. package/dist/core/{p-64372a57.entry.js.map → p-593cc594.entry.js.map} +1 -1
  328. package/dist/core/{p-bbf39a76.entry.js → p-666a671b.entry.js} +2 -2
  329. package/dist/core/{p-bbf39a76.entry.js.map → p-666a671b.entry.js.map} +1 -1
  330. package/dist/core/{p-8397766e.entry.js → p-726144b4.entry.js} +2 -2
  331. package/dist/core/{p-8397766e.entry.js.map → p-726144b4.entry.js.map} +1 -1
  332. package/dist/core/p-74e0f41f.entry.js +2 -0
  333. package/dist/core/p-74e0f41f.entry.js.map +1 -0
  334. package/dist/core/{p-0dc0d839.entry.js → p-75f3038c.entry.js} +2 -2
  335. package/dist/core/{p-0dc0d839.entry.js.map → p-75f3038c.entry.js.map} +1 -1
  336. package/dist/core/p-7892130d.entry.js +2 -0
  337. package/dist/core/p-7892130d.entry.js.map +1 -0
  338. package/dist/core/{p-b6c3cc1c.entry.js → p-7e5e94a9.entry.js} +2 -2
  339. package/dist/core/p-7e5e94a9.entry.js.map +1 -0
  340. package/dist/core/p-8048c7da.entry.js +2 -0
  341. package/dist/core/{p-1e256460.entry.js.map → p-8048c7da.entry.js.map} +1 -1
  342. package/dist/core/p-80e43591.entry.js +2 -0
  343. package/dist/core/{p-8cb5deba.entry.js.map → p-80e43591.entry.js.map} +1 -1
  344. package/dist/core/{p-75901d06.entry.js → p-86ff903d.entry.js} +2 -2
  345. package/dist/core/{p-ead0acc3.entry.js → p-8908b8e6.entry.js} +2 -2
  346. package/dist/core/{p-832c7042.entry.js → p-8bf1022e.entry.js} +2 -2
  347. package/dist/core/{p-90364cef.entry.js → p-8fa7085e.entry.js} +2 -2
  348. package/dist/core/{p-90364cef.entry.js.map → p-8fa7085e.entry.js.map} +1 -1
  349. package/dist/core/{p-5237f3ac.entry.js → p-97c437bb.entry.js} +2 -2
  350. package/dist/core/p-9c8a98e8.entry.js +2 -0
  351. package/dist/core/p-9c8a98e8.entry.js.map +1 -0
  352. package/dist/core/{p-0f86ea09.entry.js → p-9f792a31.entry.js} +2 -2
  353. package/dist/core/{p-0f86ea09.entry.js.map → p-9f792a31.entry.js.map} +1 -1
  354. package/dist/core/{p-cd8178a9.entry.js → p-abcc90f0.entry.js} +2 -2
  355. package/dist/core/{p-cd8178a9.entry.js.map → p-abcc90f0.entry.js.map} +1 -1
  356. package/dist/core/p-ad48c77c.entry.js +2 -0
  357. package/dist/core/p-ad48c77c.entry.js.map +1 -0
  358. package/dist/core/p-b0462734.entry.js +2 -0
  359. package/dist/core/p-b0462734.entry.js.map +1 -0
  360. package/dist/core/{p-88c5ec78.entry.js → p-b2680959.entry.js} +2 -2
  361. package/dist/core/{p-88c5ec78.entry.js.map → p-b2680959.entry.js.map} +1 -1
  362. package/dist/core/{p-b1b27b7e.entry.js → p-b3ac38c5.entry.js} +2 -2
  363. package/dist/core/{p-b1b27b7e.entry.js.map → p-b3ac38c5.entry.js.map} +1 -1
  364. package/dist/core/p-b5ef2799.entry.js +2 -0
  365. package/dist/core/{p-497918fd.entry.js.map → p-b5ef2799.entry.js.map} +1 -1
  366. package/dist/core/{p-33404c14.entry.js → p-b7a0dc04.entry.js} +2 -2
  367. package/dist/core/{p-33404c14.entry.js.map → p-b7a0dc04.entry.js.map} +1 -1
  368. package/dist/core/p-b8938f93.entry.js +2 -0
  369. package/dist/core/p-b8938f93.entry.js.map +1 -0
  370. package/dist/core/{p-9097a16a.entry.js → p-b9d4c0db.entry.js} +2 -2
  371. package/dist/core/{p-9097a16a.entry.js.map → p-b9d4c0db.entry.js.map} +1 -1
  372. package/dist/core/{p-b3509380.entry.js → p-c4bf8742.entry.js} +2 -2
  373. package/dist/core/{p-3cf99186.entry.js → p-c6eabd53.entry.js} +2 -2
  374. package/dist/core/{p-6f72e6ac.entry.js → p-c7ccc52a.entry.js} +2 -2
  375. package/dist/core/{p-6f72e6ac.entry.js.map → p-c7ccc52a.entry.js.map} +1 -1
  376. package/dist/core/p-c82a2e84.entry.js +2 -0
  377. package/dist/core/p-c82a2e84.entry.js.map +1 -0
  378. package/dist/core/{p-94065f7a.entry.js → p-ca3c6653.entry.js} +2 -2
  379. package/dist/core/{p-94065f7a.entry.js.map → p-ca3c6653.entry.js.map} +1 -1
  380. package/dist/core/{p-d281c3cf.entry.js → p-d47acbd4.entry.js} +2 -2
  381. package/dist/core/{p-d281c3cf.entry.js.map → p-d47acbd4.entry.js.map} +1 -1
  382. package/dist/core/{p-a54eb1d1.entry.js → p-d5f8ef77.entry.js} +2 -2
  383. package/dist/core/{p-c77d6efc.entry.js → p-db3b0c0a.entry.js} +2 -2
  384. package/dist/core/{p-c77d6efc.entry.js.map → p-db3b0c0a.entry.js.map} +1 -1
  385. package/dist/core/{p-cc36abaa.entry.js → p-db6d0463.entry.js} +2 -2
  386. package/dist/core/p-dbde45ff.entry.js +2 -0
  387. package/dist/core/p-dbde45ff.entry.js.map +1 -0
  388. package/dist/core/p-dc8eede2.entry.js +2 -0
  389. package/dist/core/p-dc8eede2.entry.js.map +1 -0
  390. package/dist/core/p-dd7450fb.js +2 -0
  391. package/dist/core/p-dd7450fb.js.map +1 -0
  392. package/dist/core/{p-fc5661ac.entry.js → p-de43d375.entry.js} +2 -2
  393. package/dist/core/{p-fc5661ac.entry.js.map → p-de43d375.entry.js.map} +1 -1
  394. package/dist/core/p-de8081c6.entry.js +2 -0
  395. package/dist/core/{p-a26a60ff.entry.js.map → p-de8081c6.entry.js.map} +1 -1
  396. package/dist/core/p-e4906394.entry.js +2 -0
  397. package/dist/core/{p-032113b9.entry.js.map → p-e4906394.entry.js.map} +1 -1
  398. package/dist/core/p-e595bb87.entry.js +2 -0
  399. package/dist/core/p-e595bb87.entry.js.map +1 -0
  400. package/dist/core/{p-42913c5b.entry.js → p-e75514f1.entry.js} +2 -2
  401. package/dist/core/{p-42913c5b.entry.js.map → p-e75514f1.entry.js.map} +1 -1
  402. package/dist/core/{p-6dd73165.entry.js → p-ee6caf27.entry.js} +2 -2
  403. package/dist/core/{p-6dd73165.entry.js.map → p-ee6caf27.entry.js.map} +1 -1
  404. package/dist/core/{p-2de3287c.entry.js → p-f33eae3c.entry.js} +2 -2
  405. package/dist/core/{p-2de3287c.entry.js.map → p-f33eae3c.entry.js.map} +1 -1
  406. package/dist/core/{p-9e051db4.entry.js → p-f34eee68.entry.js} +2 -2
  407. package/dist/core/{p-9e051db4.entry.js.map → p-f34eee68.entry.js.map} +1 -1
  408. package/dist/core/{p-fb7f4e2e.entry.js → p-fbb0a74d.entry.js} +2 -2
  409. package/dist/core/{p-fb7f4e2e.entry.js.map → p-fbb0a74d.entry.js.map} +1 -1
  410. package/dist/core/{p-9fafa5fa.entry.js → p-fbd80981.entry.js} +2 -2
  411. package/dist/core/p-fbd80981.entry.js.map +1 -0
  412. package/dist/core/{p-e18ba5d6.entry.js → p-fffb98c9.entry.js} +2 -2
  413. package/dist/core/{p-e18ba5d6.entry.js.map → p-fffb98c9.entry.js.map} +1 -1
  414. package/dist/esm/clear-icon-1c79bda2.js +8 -0
  415. package/dist/esm/clear-icon-1c79bda2.js.map +1 -0
  416. package/dist/esm/core.js +1 -1
  417. package/dist/esm/{helpers-d9387cd3.js → helpers-89cb996d.js} +2 -2
  418. package/dist/esm/helpers-89cb996d.js.map +1 -0
  419. package/dist/esm/{helpers-574534c9.js → helpers-dea3fd9b.js} +2 -2
  420. package/dist/esm/{helpers-574534c9.js.map → helpers-dea3fd9b.js.map} +1 -1
  421. package/dist/esm/ic-accordion-group.entry.js +1 -1
  422. package/dist/esm/ic-accordion.entry.js +1 -1
  423. package/dist/esm/ic-action-chip.entry.js +112 -0
  424. package/dist/esm/ic-action-chip.entry.js.map +1 -0
  425. package/dist/esm/ic-alert.entry.js +1 -1
  426. package/dist/esm/ic-back-to-top.entry.js +4 -4
  427. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  428. package/dist/esm/ic-badge.entry.js +3 -3
  429. package/dist/esm/ic-badge.entry.js.map +1 -1
  430. package/dist/esm/ic-breadcrumb-group.entry.js +3 -3
  431. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  432. package/dist/esm/ic-breadcrumb.entry.js +3 -3
  433. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  434. package/dist/esm/ic-button_3.entry.js +42 -87
  435. package/dist/esm/ic-button_3.entry.js.map +1 -1
  436. package/dist/esm/ic-card-horizontal.entry.js +1 -1
  437. package/dist/esm/ic-card-vertical.entry.js +5 -5
  438. package/dist/esm/ic-card-vertical.entry.js.map +1 -1
  439. package/dist/esm/ic-checkbox-group.entry.js +3 -3
  440. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  441. package/dist/esm/ic-checkbox_3.entry.js +8 -8
  442. package/dist/esm/ic-checkbox_3.entry.js.map +1 -1
  443. package/dist/esm/ic-chip.entry.js +12 -4
  444. package/dist/esm/ic-chip.entry.js.map +1 -1
  445. package/dist/esm/ic-classification-banner.entry.js +2 -2
  446. package/dist/esm/ic-classification-banner.entry.js.map +1 -1
  447. package/dist/esm/ic-data-list.entry.js +2 -2
  448. package/dist/esm/ic-data-list.entry.js.map +1 -1
  449. package/dist/esm/ic-data-row.entry.js +3 -3
  450. package/dist/esm/ic-data-row.entry.js.map +1 -1
  451. package/dist/esm/ic-data-table-title-bar.entry.js +1 -1
  452. package/dist/esm/ic-data-table.entry.js +64 -69
  453. package/dist/esm/ic-data-table.entry.js.map +1 -1
  454. package/dist/esm/ic-date-input.entry.js +26 -18
  455. package/dist/esm/ic-date-input.entry.js.map +1 -1
  456. package/dist/esm/ic-date-picker.entry.js +18 -11
  457. package/dist/esm/ic-date-picker.entry.js.map +1 -1
  458. package/dist/esm/ic-dialog.entry.js +2 -2
  459. package/dist/esm/ic-dialog.entry.js.map +1 -1
  460. package/dist/esm/ic-divider.entry.js +1 -1
  461. package/dist/esm/ic-footer-link-group.entry.js +1 -1
  462. package/dist/esm/ic-footer-link.entry.js +3 -3
  463. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  464. package/dist/esm/ic-footer.entry.js +4 -4
  465. package/dist/esm/ic-footer.entry.js.map +1 -1
  466. package/dist/esm/ic-hero.entry.js +5 -5
  467. package/dist/esm/ic-hero.entry.js.map +1 -1
  468. package/dist/esm/ic-horizontal-scroll.entry.js +6 -6
  469. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  470. package/dist/esm/ic-input-component-container_4.entry.js +217 -0
  471. package/dist/esm/ic-input-component-container_4.entry.js.map +1 -0
  472. package/dist/esm/ic-link.entry.js +2 -2
  473. package/dist/esm/ic-link.entry.js.map +1 -1
  474. package/dist/esm/ic-menu-group.entry.js +2 -2
  475. package/dist/esm/ic-menu-group.entry.js.map +1 -1
  476. package/dist/esm/ic-menu-item.entry.js +1 -1
  477. package/dist/esm/{ic-input-component-container_3.entry.js → ic-menu.entry.js} +43 -140
  478. package/dist/esm/ic-menu.entry.js.map +1 -0
  479. package/dist/esm/ic-navigation-button.entry.js +3 -3
  480. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  481. package/dist/esm/ic-navigation-group.entry.js +2 -2
  482. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  483. package/dist/esm/ic-navigation-item.entry.js +4 -11
  484. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  485. package/dist/esm/ic-navigation-menu.entry.js +5 -5
  486. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  487. package/dist/esm/ic-page-header.entry.js +7 -7
  488. package/dist/esm/ic-page-header.entry.js.map +1 -1
  489. package/dist/esm/ic-pagination_4.entry.js +18 -18
  490. package/dist/esm/ic-pagination_4.entry.js.map +1 -1
  491. package/dist/esm/ic-popover-menu.entry.js +5 -5
  492. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  493. package/dist/esm/ic-radio-group.entry.js +5 -5
  494. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  495. package/dist/esm/ic-radio-option.entry.js +5 -5
  496. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  497. package/dist/esm/ic-search-bar.entry.js +10 -10
  498. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  499. package/dist/esm/ic-section-container.entry.js +2 -2
  500. package/dist/esm/ic-section-container.entry.js.map +1 -1
  501. package/dist/esm/ic-side-navigation.entry.js +5 -5
  502. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  503. package/dist/esm/ic-skeleton.entry.js +2 -2
  504. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  505. package/dist/esm/ic-skip-link.entry.js +2 -2
  506. package/dist/esm/ic-skip-link.entry.js.map +1 -1
  507. package/dist/esm/ic-status-tag.entry.js +3 -3
  508. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  509. package/dist/esm/ic-step.entry.js +14 -14
  510. package/dist/esm/ic-step.entry.js.map +1 -1
  511. package/dist/esm/ic-stepper.entry.js +3 -3
  512. package/dist/esm/ic-stepper.entry.js.map +1 -1
  513. package/dist/esm/ic-switch.entry.js +5 -5
  514. package/dist/esm/ic-switch.entry.js.map +1 -1
  515. package/dist/esm/ic-tab-context.entry.js +1 -1
  516. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  517. package/dist/esm/ic-tab-group.entry.js +3 -3
  518. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  519. package/dist/esm/ic-tab-panel.entry.js +2 -2
  520. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  521. package/dist/esm/ic-tab.entry.js +3 -3
  522. package/dist/esm/ic-tab.entry.js.map +1 -1
  523. package/dist/esm/ic-theme.entry.js +2 -2
  524. package/dist/esm/ic-theme.entry.js.map +1 -1
  525. package/dist/esm/ic-time-input.entry.js +939 -0
  526. package/dist/esm/ic-time-input.entry.js.map +1 -0
  527. package/dist/esm/ic-toast-region.entry.js +1 -1
  528. package/dist/esm/ic-toast-region.entry.js.map +1 -1
  529. package/dist/esm/ic-toast.entry.js +4 -4
  530. package/dist/esm/ic-toast.entry.js.map +1 -1
  531. package/dist/esm/ic-toggle-button-group.entry.js +16 -5
  532. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  533. package/dist/esm/ic-toggle-button.entry.js +14 -5
  534. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  535. package/dist/esm/ic-top-navigation.entry.js +5 -5
  536. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  537. package/dist/esm/ic-tree-item.entry.js +15 -9
  538. package/dist/esm/ic-tree-item.entry.js.map +1 -1
  539. package/dist/esm/ic-tree-view.entry.js +24 -16
  540. package/dist/esm/ic-tree-view.entry.js.map +1 -1
  541. package/dist/esm/ic-typography.entry.js +3 -3
  542. package/dist/esm/ic-typography.entry.js.map +1 -1
  543. package/dist/esm/index-a7a720e7.js +12 -4
  544. package/dist/esm/loader.js +1 -1
  545. package/dist/types/components/ic-data-table/ic-data-table.d.ts +1 -1
  546. package/dist/types/components/ic-data-table/ic-data-table.stories.d.ts +1 -1
  547. package/dist/types/components/ic-data-table/ic-data-table.types.d.ts +12 -7
  548. package/dist/types/components/ic-data-table/story-data.d.ts +11 -84
  549. package/dist/types/components/ic-date-input/ic-date-input.d.ts +2 -1
  550. package/dist/types/components/ic-date-picker/ic-date-picker.d.ts +4 -0
  551. package/dist/types/components/ic-time-input/ic-time-input.d.ts +229 -0
  552. package/dist/types/components/ic-time-input/ic-time-input.stories.d.ts +121 -0
  553. package/dist/types/components/ic-time-input/test/helpers/ic-time-input.d.ts +23 -0
  554. package/dist/types/components/ic-tree-item/ic-tree-item.d.ts +2 -0
  555. package/dist/types/components/ic-tree-view/ic-tree-view.d.ts +2 -1
  556. package/dist/types/components.d.ts +242 -2
  557. package/dist/types/utils/types.d.ts +5 -0
  558. package/hydrate/index.js +1611 -493
  559. package/hydrate/index.mjs +1611 -493
  560. package/package.json +3 -3
  561. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +0 -1
  562. package/dist/cjs/ic-input-label_2.cjs.entry.js +0 -133
  563. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +0 -1
  564. package/dist/core/p-032113b9.entry.js +0 -2
  565. package/dist/core/p-145238fe.entry.js +0 -2
  566. package/dist/core/p-145238fe.entry.js.map +0 -1
  567. package/dist/core/p-1b20ab19.entry.js +0 -2
  568. package/dist/core/p-1b20ab19.entry.js.map +0 -1
  569. package/dist/core/p-1bcf49fa.entry.js.map +0 -1
  570. package/dist/core/p-1e256460.entry.js +0 -2
  571. package/dist/core/p-224b2e14.entry.js +0 -2
  572. package/dist/core/p-224b2e14.entry.js.map +0 -1
  573. package/dist/core/p-497918fd.entry.js +0 -2
  574. package/dist/core/p-5f8b09e4.entry.js +0 -2
  575. package/dist/core/p-5f8b09e4.entry.js.map +0 -1
  576. package/dist/core/p-7001f1c1.entry.js +0 -2
  577. package/dist/core/p-7001f1c1.entry.js.map +0 -1
  578. package/dist/core/p-8cb5deba.entry.js +0 -2
  579. package/dist/core/p-95881758.entry.js +0 -2
  580. package/dist/core/p-95881758.entry.js.map +0 -1
  581. package/dist/core/p-9fafa5fa.entry.js.map +0 -1
  582. package/dist/core/p-a26a60ff.entry.js +0 -2
  583. package/dist/core/p-b6b7c15c.entry.js.map +0 -1
  584. package/dist/core/p-b6c3cc1c.entry.js.map +0 -1
  585. package/dist/core/p-b9369ce5.entry.js +0 -2
  586. package/dist/core/p-b9369ce5.entry.js.map +0 -1
  587. package/dist/core/p-cbbba154.entry.js +0 -2
  588. package/dist/core/p-cbbba154.entry.js.map +0 -1
  589. package/dist/core/p-cdd6d5e8.entry.js +0 -2
  590. package/dist/core/p-cdd6d5e8.entry.js.map +0 -1
  591. package/dist/core/p-dc3aba7c.entry.js +0 -2
  592. package/dist/core/p-dc3aba7c.entry.js.map +0 -1
  593. package/dist/core/p-e253a857.js.map +0 -1
  594. package/dist/esm/helpers-d9387cd3.js.map +0 -1
  595. package/dist/esm/ic-input-component-container_3.entry.js.map +0 -1
  596. package/dist/esm/ic-input-label_2.entry.js +0 -128
  597. package/dist/esm/ic-input-label_2.entry.js.map +0 -1
  598. /package/dist/core/{p-0fe08a58.js.map → p-33927ee1.js.map} +0 -0
  599. /package/dist/core/{p-75901d06.entry.js.map → p-86ff903d.entry.js.map} +0 -0
  600. /package/dist/core/{p-ead0acc3.entry.js.map → p-8908b8e6.entry.js.map} +0 -0
  601. /package/dist/core/{p-832c7042.entry.js.map → p-8bf1022e.entry.js.map} +0 -0
  602. /package/dist/core/{p-5237f3ac.entry.js.map → p-97c437bb.entry.js.map} +0 -0
  603. /package/dist/core/{p-b3509380.entry.js.map → p-c4bf8742.entry.js.map} +0 -0
  604. /package/dist/core/{p-3cf99186.entry.js.map → p-c6eabd53.entry.js.map} +0 -0
  605. /package/dist/core/{p-a54eb1d1.entry.js.map → p-d5f8ef77.entry.js.map} +0 -0
  606. /package/dist/core/{p-cc36abaa.entry.js.map → p-db6d0463.entry.js.map} +0 -0
@@ -67,7 +67,7 @@ export const ColumnHeaderTruncation = {
67
67
  };
68
68
  /**
69
69
  * Row headers allow headings to be added to individual rows and styles them as column headings. The column collection includes an additional `header` key which aligns with the row headers. The structure of the `header` column is the same as the columns (i.e. key, title, dataType).
70
- * The data array includes an additional `header` key which takes an object. The title of the row header is set by passing `title` as the key and a value.
70
+ * The data array includes an additional `header` key within the `rowOptions` which takes a string intended to be the title of the row header.
71
71
  */
72
72
  export const RowHeadersExample = {
73
73
  render: () => RowHeaders(),
@@ -137,9 +137,10 @@ export const ColumnOverridesExample = {
137
137
  name: "Column overrides",
138
138
  };
139
139
  /**
140
- * Row overrides allow styling to be applied at a row level and is set within the `header` object. The row overrides are used in conjunction with row headers. The following row overrides options apply:
140
+ * Row overrides allow styling to be applied at a row level and is set within the `rowOptions` object. The following row overrides options apply:
141
141
  * - `rowAlignment` accepts `left`, `right` and `center`.
142
142
  * - `emphasis` accepts `high` or `low`.
143
+ * - `textWrap` accepts `true` or `false`.
143
144
  */
144
145
  export const RowOverridesExample = {
145
146
  render: () => RowOverrides(),
@@ -371,9 +372,9 @@ export const TableSizingAndColumnWidth = {
371
372
  name: "Table sizing and column width",
372
373
  };
373
374
  /**
374
- * The cell data can contain an `actionElement` which can be a string containing any html to be rendered. The `actionElement` will be displayed to the right of the cell data. An `actionOnClick` can be specified for the `actionElement`. This should be used with a keyboard accessible component such as `icButton` for a function to be run when the `actionElement` is clicked.
375
+ * The cells can contain a slotted `actionElement`. The `actionElement` will be displayed to the right of the cell data.
375
376
  */
376
- export const ActionElementAndOnClickAction = {
377
+ export const ActionElements = {
377
378
  render: () => ActionElement(),
378
379
  name: "Action element",
379
380
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ic-data-table.stories.js","sourceRoot":"","sources":["../../../src/components/ic-data-table/ic-data-table.stories.js"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\nimport readme from \"./readme.md\";\nimport {\n ActionElement,\n Basic,\n CellDescriptions,\n CellOverrides,\n ColumnOverrides,\n CustomIcons,\n CustomRowHeights,\n CustomTitleBar,\n DataTableSizing,\n Dense,\n DevArea,\n DisableAutoSortColumns,\n DisableSort,\n Embedded,\n Empty,\n EmptySlotted,\n ExcludeColumnsFromSort,\n HeaderTruncation,\n HiddenCol,\n LargeDataSet,\n LinksHTMLElements,\n Loading,\n LongCellDescriptions,\n MissingCellData,\n Pagination,\n RowHeaders,\n RowOverrides,\n Scrollable,\n SlottedElementsWithPagination,\n SlottedPagination,\n Sort,\n SortOptions,\n Spacious,\n TruncationShowHide,\n TruncationTextWrap,\n TruncationTooltip,\n Updating,\n UpdatingData,\n SelectWithCheckbox,\n} from \"./story-data\";\n\nexport default {\n title: \"Web Components/Data Table\",\n component: \"ic-data-table\",\n parameters: {\n componentAPI: {\n data: readme,\n },\n },\n};\n\n/**\n * Use the data table component to display data in a tabular form.\n *\n * There are two required props for data table:\n * - Caption: `string`\n * - Columns: `IcDataTableColumnObject[]`\n *\n * Click the 'Component API' tab to view all the available props, events and slots for data tables.\n *\n * To use the data table component, import `@ukic/canary-web-components` into your application.\n */\nexport const Default = {\n render: () => Basic(),\n name: \"Basic\",\n};\n\nexport const LargeDataSetExample = {\n render: () => LargeDataSet(),\n name: \"Large data set\",\n};\n\n/**\n * The `embedded` boolean adds a border around the table so it can be added as a standalone table and is not required to stretch the full width of its parent container.\n */\nexport const EmbeddedExample = {\n render: () => Embedded(),\n name: \"Embedded\",\n};\n\n/**\n * The `density` variant provides three different styles for the data table:\n * - `dense` reduces the padding and font size of the table cells to give the data a more dense style.\n * - `default` provides a padding of `8px` which is the default spacing. This variant is seen in the [first](#basic) example.\n * - `spacious` gives the data table a more spacious look and feel by increasing the vertical padding as well as the font size.\n */\nexport const DenseExample = {\n render: () => Dense(),\n name: \"Dense\",\n};\n\nexport const SpaciousExample = {\n render: () => Spacious(),\n name: \"Spacious\",\n};\n\n/**\n * When a height for the data table is set, the scroll bar will appear to the right. However, by default, the column headers will move up and out of view making it difficult to understand what the data means.\n * This can be mitigated by using the `sticky-column-headers` prop which takes a boolean. This can be toggled within the example below.\n */\nexport const StickyColumnHeaders = {\n render: () => Scrollable(),\n name: \"Sticky column headers\",\n};\n\n/**\n * By default, column header labels will wrap when they exceed the column width. To keep the column header height constant, the `columnHeaderTruncation` can be used. When set to `true`, the label will appear truncated and will display a tooltip with the full text when hovered over.\n */\nexport const ColumnHeaderTruncation = {\n render: () => HeaderTruncation(),\n name: \"Column header truncation\",\n};\n\n/**\n * Row headers allow headings to be added to individual rows and styles them as column headings. The column collection includes an additional `header` key which aligns with the row headers. The structure of the `header` column is the same as the columns (i.e. key, title, dataType).\n * The data array includes an additional `header` key which takes an object. The title of the row header is set by passing `title` as the key and a value.\n */\nexport const RowHeadersExample = {\n render: () => RowHeaders(),\n name: \"Row headers\",\n};\n\n/**\n * Set `sortable` to `true` to set the sort functionality on all columns. Sorting can be set to `unsorted`, `ascending` and `descending` by press the sort buttons next to the column heading.\n */\nexport const Sortable = {\n render: () => Sort(),\n name: \"Sortable\",\n};\n\n/**\n * It is possible to change the sort options for the sort buttons. The `sortOptions` prop takes an object with `sortOrders` and `defaultColumn`. `sortOrders` allows the sort order to be amended as we all as remove a sort type. Such as changing the order to `descending`, `unsorted` and remove `ascending`. `defaultColumn` sets which column is ordered by default. This is set by padding the column key as the `defaultColumn` value.\n */\nexport const SortOptionsExample = {\n render: () => SortOptions(),\n name: \"Sort options\",\n};\n\n/**\n * Set `sortable` to `true` and set `disable-auto-sort` to `true` to enable external sorting functionality.\n */\nexport const DisableSortExample = {\n render: () => DisableSort(),\n name: \"Disable sort\",\n};\n\n/**\n * Alternatively, set `disable-auto-sort` to `true` within the column object to have it apply only to certain columns that may require special custom sorting.\n */\nexport const DisableAutoSortOnColumns = {\n render: () => DisableAutoSortColumns(),\n name: \"Disable sort on columns\",\n};\n\n/**\n * Adding 'excludeColumnFromSort: true` to the column object excludes that column from displaying the sort button.\n */\nexport const ExcludeColumnsFromSortExample = {\n render: () => ExcludeColumnsFromSort(),\n name: \"Exclude columns from sort\",\n};\n\n/**\n * Adding 'hidden: true` to the column object hides that column. In this example, the Age column is hidden.\n */\nexport const HideColumnExample = {\n render: () => HiddenCol(),\n name: \"Column visibility\",\n};\n\n/**\n * Pagination allows large data sets to be split into pages in order to make the data easier to digest. Setting `show-pagination` to `true` will add the `ic-pagination` component to the bottom of the table. There a several sub components within pagination which are set via the `paginationBarOptions` prop:\n * - `itemsPerPage` allows customization on the number of items on each page. This requires a collection with `label` and `value` key pairs.\n * - `showItemsPerPageControl` shows or hides the `itemsPerPage` component using `true` or `false`.\n * - `showGoToPageControl` displays controls which allows jumping between pages in a non-linear approach.\n */\nexport const PaginationExample = {\n render: () => Pagination(),\n name: \"Pagination\",\n};\n\n/**\n * There may be a requirement to style a column differently to the rest of the data to add emphasis. For example, centre align data within the 'first name' column. To do this, add `columnAlignment` to the column. `columnAlignment` takes an object which sets the `horizontal` and `vertical` property:\n * - `horizontal` accepts `left`, `right` or `center`.\n * - `vertical` accepts `top`, `middle`, `bottom`.\n *\n * `emphasis` can be added to the column by setting `high` or `low`.\n */\nexport const ColumnOverridesExample = {\n render: () => ColumnOverrides(),\n name: \"Column overrides\",\n};\n\n/**\n * Row overrides allow styling to be applied at a row level and is set within the `header` object. The row overrides are used in conjunction with row headers. The following row overrides options apply:\n * - `rowAlignment` accepts `left`, `right` and `center`.\n * - `emphasis` accepts `high` or `low`.\n */\nexport const RowOverridesExample = {\n render: () => RowOverrides(),\n name: \"Row overrides\",\n};\n\n/**\n * Cell overrides allows styling to be applied at a cell level. The cell which requires an override accepts an object which requires `data` and can contain `cellAlignment` and/or `emphasis`:\n * - `data` is the cell value.\n * - `emphasis` accepts `high` or `low`.\n * - `cellAlignment` accepts an object with the following key pairs:\n * - `horizontal` accepts `left`, `right` or `center`.\n * - `vertical` accepts `top`, `middle`, `bottom`.\n */\nexport const CellOverridesExample = {\n render: () => CellOverrides(),\n name: \"Cell overrides\",\n};\n\n/**\n * When the table receives no data (either `null` or an empty array) it will automatically show an `ic-empty-state` below the headers.\n */\nexport const DefaultEmptyState = {\n render: () => Empty(),\n name: \"Empty state\",\n};\n\n/**\n * You can customise your own `ic-empty-state` component and slot it into the data table using the `empty-state` slot, to reflect different scenarios.\n */\nexport const SlottedEmptyState = {\n render: () => EmptySlotted(),\n name: \"Slotted empty state\",\n};\n\n/**\n * When a user wants to fetch their data asynchronously, a `loading` prop can be set to `true`, which then renders a circular variant of the `ic-loading-indicator`.\n * The loading indicator can be customised using the `loadingOptions` prop:\n * - `description` sets the aria-label of the component\n * - `label` sets the visual message\n * - `labelDuration` is the number of milliseconds before the label changes\n * - `overlay` renders a dark overlay over the previous data set while new data is loaded\n *\n * If it needs to be determinate, use `max`, `min` and `progress`.\n */\nexport const LoadingState = {\n render: () => Loading(),\n name: \"Loading state\",\n height: \"720px\",\n};\n\n/**\n * If data in the table has changed, an `updating` prop has been supplied to show a linear `ic-loading-indicator` just above the data rows.\n *\n * This prop is also accompanied by an `updatingOptions` prop, which contains similar options to `loadingOptions`, minus `label` and `labelDuration` since the linear version is displayed.\n */\nexport const UpdatingState = {\n render: () => Updating(),\n name: \"Updating state\",\n};\n\n/**\n * Custom HTML elements can be slotted or passed via the `data` prop to display in certain cells. When using the slotted method, the slot name follows the format of `{COLUMN_TAG}-{ROW_INDEX}`.\n */\nexport const LinksAndElementsInData = {\n render: () => LinksHTMLElements(),\n name: \"Links and elements in data\",\n};\n\nexport const SlottedElementsWithPaginationExample = {\n render: () => SlottedElementsWithPagination(),\n name: \"Slotted elements with pagination\",\n};\n\n/**\n * Custom icons can be added to cells, columns and headers in the data table. To add it to headers, set the icon via the `columns` prop:\n * ```\n * icon: {\n * icon: //ICON_STRING_GOES_HERE,\n * onAllCells: //Boolean to determine whether column header icon should be replicated on all cells in the column,\n * hideOnHeader: //Boolean for whether this icon should only be shown on cells and not on the header,\n * }\n * ```\n *\n * To add icons to individual cells, they can be added through the `data` prop, in a similar method to overriding the cell. Cell icons take priority over the `onAllCells` prop, meaning specific cells can be made to stand out.\n *\n * Both cells and headers can also have icons slotted in. Cells use the slot format: `{COLUMN_KEY}-{ROW_INDEX}-icon`, and headers use the format: `{COLUMN_KEY}-column-icon`. Slotted icons take priority over icons inserted via the `columns` and `data` props.\n */\nexport const CustomIconsExample = {\n render: () => CustomIcons(),\n name: \"Custom icons\",\n};\n\n/**\n * A data table can have its rows use custom heights, to help display more data per row. This involves using the `globalRowHeight` prop, which applies this custom height to all rows.\n *\n * For a more granular approach, `variableRowHeight` exists. This is passed through the data object for each row of data, as well as that row's `index`. Using these properties, you can write a custom function that will return a number for that row's height based on your criteria.\n * Returning `null` from this function means that the row will use the `globalRowHeight` property value.\n *\n * **_NOTE:_** If the data table uses the `density` prop, then your custom value will be scaled depending on the density, in order to keep content readable as the text size changes:\n * - `Dense` = 80% of `globalRowHeight` or `variableRowHeight`\n * - `Spacious` = 120% of `globalRowHeight` or `variableRowHeight`\n *\n * E.G: If `globalRowHeight` = 100, a dense table will set the height to be **_80_**.\n *\n * **_NOTE:_** If a cell has a description (see \"Description and icons within cells\"), then the row height for that individual row will be increased by the description height in order to fully display it.\n *\n * E.G: If `globalRowHeight` = 100 and a cell has a description with a height of 20, then the row height for that cell's row will be set to **_120_**.\n *\n * To quickly reset all row heights to the default, you can run the `resetRowHeights` method.\n *\n * If you'd rather let the row calculate its own height based on its content, either set `globalRowHeight` to `auto`, or return `auto` from `variableRowHeight`.\n */\nexport const CustomRowHeightsExample = {\n render: () => CustomRowHeights(),\n name: \"Custom row heights\",\n};\n\n/**\n * To add additional information about the data held in your data table, you can use the `title-bar` slot to add an `ic-data-table-title-bar`, which will appear above the column headers.\n *\n * The title bar can have a description and metadata added, to provide supporting information to display some context about the data to the user. Primary and custom action slots also exist to allow for actions to be performed that are related to the data, which can be prominently displayed.\n *\n * The `ic-data-table-title-bar` has a built-in density selector, which allows a user to quickly change the size and padding of cells to make it more readable. This can also be hidden if preferred.\n *\n * More details on `ic-data-table-title-bar` can be found in the <ic-link href=\"/?path=/story/web-components-data-table-title-bar--basic\" inline=\"\">data table title bar documentation</ic-link>.\n */\nexport const CustomTitleBarExample = {\n render: () => CustomTitleBar(),\n name: \"Custom title bar\",\n};\n\n/**\n * The example below demonstrates how the pagination bar responds to changes within the data.\n *\n * More details on `ic-pagination-bar` can be found in the <ic-link href=\"/?path=/story/web-components-pagination-bar--docs\" inline=\"\">pagination bar documentation</ic-link>.\n */\nexport const UpdatingDataExample = {\n render: () => UpdatingData(),\n name: \"Updating data\",\n};\n\n/**\n * There may be scenarios when using `ic-data-table` when pagination and data fetching is done using a backend API.\n *\n * To enable this behaviour, the `pagination-bar` slot can be utilised to provide a custom `ic-pagination-bar` component, allowing the user to have more control over how their data is displayed & interacted with.\n */\nexport const SlottedPaginationBar = {\n render: () => SlottedPagination(),\n name: \"Slotted pagination bar\",\n};\n\n/**\n * When a row is given a set height, and has content that no longer fits into the cell area, the content becomes truncated. There are two types of truncation:\n * - `tooltip`: Adds a line-clamp to the cell and displays the message in a tooltip.\n * - `show-hide`: Adds a `See more/See less` button underneath the cell text, allowing the user to display the full content should they wish.\n *\n * These values are set using the `truncation-pattern` attribute.\n *\n * By default, `global-row-height` is set to `auto`. If the `truncation-pattern` attribute is set to `tooltip` or `show-hide` while `global-row-height` is `auto`, the data will not appear truncated due to the row height being set to the data which has the most height.\n *\n * To see the data truncated, the `global-row-height` or `variable-row-height` needs to be explicitly set to a height which is shorter than data which has the most lines.\n *\n * **_NOTE:_** `truncation-pattern` only applies to a cell's main data value. If a cell has a description (see \"Description and icons within cells\") then this will not be truncated and will still be visible beyond the truncation.\n */\nexport const DataTruncationTooltip = {\n render: () => TruncationTooltip(),\n name: \"Data truncation tooltip\",\n};\n\nexport const TruncationShowHideExample = {\n render: () => TruncationShowHide(),\n name: \"Data truncation see more / see less\",\n};\n\n/**\n * Text can be set to wrap in a particular column, row or cell. Any column, row or cell that text wrap is applied to will ignore the custom height if the custom height is too small and the full content will be shown.\n *\n * To set text to wrap in a column, add `textWrap: true` as a key value:\n * ```\n * const column = [\n * { key: \"name\", title: \"Name\", dataType: \"string\" },\n * ...\n * ]\n * ```\n *\n * To set text to wrap in a row, add `rowOptions: { textWrap: true }` to an object within the data array:\n * ```\n * const data = [\n * {\n * name: \"Tim Rayes\",\n * age: 41,\n * department: \"Sales and Marketing\",\n * employeeNumber: 3,\n * jobTitle:\n * \"Regional Sales and Marketing Strategy Director (Europe, the Middle East, and Africa)\",\n * rowOptions: {\n * textWrap: true\n * }\n * },\n * ...\n * ]\n * ```\n *\n * To set text wrap in a cell, add `textWrap` to a data key within an object:\n * ```\n * const data = [\n * {\n * name: {\n * data:\"Tim Rayes\",\n * textWrap: true\n * },\n * age: 41,\n * department: \"Sales and Marketing\",\n * employeeNumber: 3,\n * jobTitle:\n * \"Regional Sales and Marketing Strategy Director (Europe, the Middle East, and Africa)\",\n * },\n * ...\n * ]\n * ```\n */\nexport const TextWrap = {\n render: () => TruncationTextWrap(),\n name: \"Text wrap\",\n};\n\n/**\n * The dimensions of the data table can be set using the `width` and `height` attributes. The attribute accepts dimensions in `px`, `%`, `rem` and `auto`.\n *\n * By default, the width is set to `100%` so the table spans across the viewport or parent container.\n *\n * To set the column widths, the `columnWidth` property should be added to the relevant column within the column array.\n *\n * The [table layout](https://developer.mozilla.org/en-US/docs/Web/CSS/table-layout) attribute is vital to how the table resizing and column widths behave. By default, the table layout is set to `fixed`. If no column width is set, the columns widths will be equally set within the viewport or parent container.\n *\n * A table with a `fixed` layout will force the table column widths to take precedence over the data with the table cells.\n *\n * For the column widths to be dictated by the content inside, set the `table-layout` attribute to `auto` and set the table `width` to `auto`.\n *\n * To set the min and max width of a table cell, set the `table-layout` attribute to `auto` and set a `minWidth` or `maxWidth` value into `columnWidth`. The min and max width accepts dimensions in `px`, `%`, `rem`.\n */\nexport const TableSizingAndColumnWidth = {\n render: () => DataTableSizing(),\n name: \"Table sizing and column width\",\n};\n\n/**\n * The cell data can contain an `actionElement` which can be a string containing any html to be rendered. The `actionElement` will be displayed to the right of the cell data. An `actionOnClick` can be specified for the `actionElement`. This should be used with a keyboard accessible component such as `icButton` for a function to be run when the `actionElement` is clicked.\n */\nexport const ActionElementAndOnClickAction = {\n render: () => ActionElement(),\n name: \"Action element\",\n};\n\n/**\n * Descriptions and icons can be included in the cells by proving a `description` field in the data. This will populate the cell with an icon (if provided) and a text string underneath the cell data. This can be applied to any cell.\n *\n * You can provide a `description` object with or without an icon:\n * ```\n * // With an icon\n * firstName: {\n * data: \"Joe\",\n * description: {\n * data: \"The name of Joe\",\n * icon: '<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"20\" viewBox=\"0 -960 960 960\" width=\"20\"><path d=\"M180-120q-24 0-42-18t-18-42v-600q0-24 18-42t42-18h600q24 0 42 18t18 42v600q0 24-18 42t-42 18H180Zm0-60h600v-600H180v600Zm56-97h489L578-473 446-302l-93-127-117 152Zm-56 97v-600 600Z\"/></svg>',\n * },\n * }\n * ```\n *\n * ```\n * // Without an icon\n * firstName: {\n * data: \"Joe\",\n * description: \"The name of Joe\"\n * }\n * ```\n */\nexport const CellDescriptionsAndIcons = {\n render: () => CellDescriptions(),\n name: \"Description and icons within cells\",\n};\n\nexport const CellDescriptionsLongText = {\n render: () => LongCellDescriptions(),\n name: \"Description and icons within cells with long text\",\n};\n\n/**\n * The example below demonstrates the table being able to handle empty cell values (null, undefined or empty string).\n */\nexport const MissingCellDataExample = {\n render: () => MissingCellData(),\n name: \"Missing cell data\",\n};\n\n/**\n * By setting `row-selection` to `true`, `ic-checkbox` elements will appear in the leftmost column, with one in the header.\n * When checked, the corresponding row will be selected, with the `icSelectedRowChange` containing the selected row and an array of all the currently selected rows.\n *\n * When checking the header checkbox, all rows will be selected, with the `icSelectAllRows` event being emitted with an array of all the rows. When using pagination, only the rows on the current page will be selected.\n */\nexport const SelectRowsUsingCheckboxExample = {\n render: () => SelectWithCheckbox(),\n name: \"Select rows with checkbox\",\n};\n\nexport const DevAreaExample = {\n render: () => DevArea(),\n name: \"Dev area\",\n};\n"]}
1
+ {"version":3,"file":"ic-data-table.stories.js","sourceRoot":"","sources":["../../../src/components/ic-data-table/ic-data-table.stories.js"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EACL,aAAa,EACb,KAAK,EACL,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,KAAK,EACL,OAAO,EACP,sBAAsB,EACtB,WAAW,EACX,QAAQ,EACR,KAAK,EACL,YAAY,EACZ,sBAAsB,EACtB,gBAAgB,EAChB,SAAS,EACT,YAAY,EACZ,iBAAiB,EACjB,OAAO,EACP,oBAAoB,EACpB,eAAe,EACf,UAAU,EACV,UAAU,EACV,YAAY,EACZ,UAAU,EACV,6BAA6B,EAC7B,iBAAiB,EACjB,IAAI,EACJ,WAAW,EACX,QAAQ,EACR,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,QAAQ,EACR,YAAY,EACZ,kBAAkB,GACnB,MAAM,cAAc,CAAC;AAEtB,eAAe;IACb,KAAK,EAAE,2BAA2B;IAClC,SAAS,EAAE,eAAe;IAC1B,UAAU,EAAE;QACV,YAAY,EAAE;YACZ,IAAI,EAAE,MAAM;SACb;KACF;CACF,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE;IACrB,IAAI,EAAE,OAAO;CACd,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY,EAAE;IAC5B,IAAI,EAAE,gBAAgB;CACvB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE;IACxB,IAAI,EAAE,UAAU;CACjB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE;IACrB,IAAI,EAAE,OAAO;CACd,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE;IACxB,IAAI,EAAE,UAAU;CACjB,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,MAAM,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE;IAC1B,IAAI,EAAE,uBAAuB;CAC9B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,MAAM,EAAE,GAAG,EAAE,CAAC,gBAAgB,EAAE;IAChC,IAAI,EAAE,0BAA0B;CACjC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,MAAM,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE;IAC1B,IAAI,EAAE,aAAa;CACpB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE;IACpB,IAAI,EAAE,UAAU;CACjB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,MAAM,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE;IAC3B,IAAI,EAAE,cAAc;CACrB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,MAAM,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE;IAC3B,IAAI,EAAE,cAAc;CACrB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,MAAM,EAAE,GAAG,EAAE,CAAC,sBAAsB,EAAE;IACtC,IAAI,EAAE,yBAAyB;CAChC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,MAAM,EAAE,GAAG,EAAE,CAAC,sBAAsB,EAAE;IACtC,IAAI,EAAE,2BAA2B;CAClC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE;IACzB,IAAI,EAAE,mBAAmB;CAC1B,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,MAAM,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE;IAC1B,IAAI,EAAE,YAAY;CACnB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,MAAM,EAAE,GAAG,EAAE,CAAC,eAAe,EAAE;IAC/B,IAAI,EAAE,kBAAkB;CACzB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY,EAAE;IAC5B,IAAI,EAAE,eAAe;CACtB,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,MAAM,EAAE,GAAG,EAAE,CAAC,aAAa,EAAE;IAC7B,IAAI,EAAE,gBAAgB;CACvB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE;IACrB,IAAI,EAAE,aAAa;CACpB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY,EAAE;IAC5B,IAAI,EAAE,qBAAqB;CAC5B,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE;IACvB,IAAI,EAAE,eAAe;IACrB,MAAM,EAAE,OAAO;CAChB,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE;IACxB,IAAI,EAAE,gBAAgB;CACvB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,MAAM,EAAE,GAAG,EAAE,CAAC,iBAAiB,EAAE;IACjC,IAAI,EAAE,4BAA4B;CACnC,CAAC;AAEF,MAAM,CAAC,MAAM,oCAAoC,GAAG;IAClD,MAAM,EAAE,GAAG,EAAE,CAAC,6BAA6B,EAAE;IAC7C,IAAI,EAAE,kCAAkC;CACzC,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,MAAM,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE;IAC3B,IAAI,EAAE,cAAc;CACrB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,MAAM,EAAE,GAAG,EAAE,CAAC,gBAAgB,EAAE;IAChC,IAAI,EAAE,oBAAoB;CAC3B,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,MAAM,EAAE,GAAG,EAAE,CAAC,cAAc,EAAE;IAC9B,IAAI,EAAE,kBAAkB;CACzB,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY,EAAE;IAC5B,IAAI,EAAE,eAAe;CACtB,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,MAAM,EAAE,GAAG,EAAE,CAAC,iBAAiB,EAAE;IACjC,IAAI,EAAE,wBAAwB;CAC/B,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,MAAM,EAAE,GAAG,EAAE,CAAC,iBAAiB,EAAE;IACjC,IAAI,EAAE,yBAAyB;CAChC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,MAAM,EAAE,GAAG,EAAE,CAAC,kBAAkB,EAAE;IAClC,IAAI,EAAE,qCAAqC;CAC5C,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,MAAM,EAAE,GAAG,EAAE,CAAC,kBAAkB,EAAE;IAClC,IAAI,EAAE,WAAW;CAClB,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,MAAM,EAAE,GAAG,EAAE,CAAC,eAAe,EAAE;IAC/B,IAAI,EAAE,+BAA+B;CACtC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,MAAM,EAAE,GAAG,EAAE,CAAC,aAAa,EAAE;IAC7B,IAAI,EAAE,gBAAgB;CACvB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,MAAM,EAAE,GAAG,EAAE,CAAC,gBAAgB,EAAE;IAChC,IAAI,EAAE,oCAAoC;CAC3C,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,MAAM,EAAE,GAAG,EAAE,CAAC,oBAAoB,EAAE;IACpC,IAAI,EAAE,mDAAmD;CAC1D,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,MAAM,EAAE,GAAG,EAAE,CAAC,eAAe,EAAE;IAC/B,IAAI,EAAE,mBAAmB;CAC1B,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,MAAM,EAAE,GAAG,EAAE,CAAC,kBAAkB,EAAE;IAClC,IAAI,EAAE,2BAA2B;CAClC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE;IACvB,IAAI,EAAE,UAAU;CACjB,CAAC","sourcesContent":["/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\nimport readme from \"./readme.md\";\nimport {\n ActionElement,\n Basic,\n CellDescriptions,\n CellOverrides,\n ColumnOverrides,\n CustomIcons,\n CustomRowHeights,\n CustomTitleBar,\n DataTableSizing,\n Dense,\n DevArea,\n DisableAutoSortColumns,\n DisableSort,\n Embedded,\n Empty,\n EmptySlotted,\n ExcludeColumnsFromSort,\n HeaderTruncation,\n HiddenCol,\n LargeDataSet,\n LinksHTMLElements,\n Loading,\n LongCellDescriptions,\n MissingCellData,\n Pagination,\n RowHeaders,\n RowOverrides,\n Scrollable,\n SlottedElementsWithPagination,\n SlottedPagination,\n Sort,\n SortOptions,\n Spacious,\n TruncationShowHide,\n TruncationTextWrap,\n TruncationTooltip,\n Updating,\n UpdatingData,\n SelectWithCheckbox,\n} from \"./story-data\";\n\nexport default {\n title: \"Web Components/Data Table\",\n component: \"ic-data-table\",\n parameters: {\n componentAPI: {\n data: readme,\n },\n },\n};\n\n/**\n * Use the data table component to display data in a tabular form.\n *\n * There are two required props for data table:\n * - Caption: `string`\n * - Columns: `IcDataTableColumnObject[]`\n *\n * Click the 'Component API' tab to view all the available props, events and slots for data tables.\n *\n * To use the data table component, import `@ukic/canary-web-components` into your application.\n */\nexport const Default = {\n render: () => Basic(),\n name: \"Basic\",\n};\n\nexport const LargeDataSetExample = {\n render: () => LargeDataSet(),\n name: \"Large data set\",\n};\n\n/**\n * The `embedded` boolean adds a border around the table so it can be added as a standalone table and is not required to stretch the full width of its parent container.\n */\nexport const EmbeddedExample = {\n render: () => Embedded(),\n name: \"Embedded\",\n};\n\n/**\n * The `density` variant provides three different styles for the data table:\n * - `dense` reduces the padding and font size of the table cells to give the data a more dense style.\n * - `default` provides a padding of `8px` which is the default spacing. This variant is seen in the [first](#basic) example.\n * - `spacious` gives the data table a more spacious look and feel by increasing the vertical padding as well as the font size.\n */\nexport const DenseExample = {\n render: () => Dense(),\n name: \"Dense\",\n};\n\nexport const SpaciousExample = {\n render: () => Spacious(),\n name: \"Spacious\",\n};\n\n/**\n * When a height for the data table is set, the scroll bar will appear to the right. However, by default, the column headers will move up and out of view making it difficult to understand what the data means.\n * This can be mitigated by using the `sticky-column-headers` prop which takes a boolean. This can be toggled within the example below.\n */\nexport const StickyColumnHeaders = {\n render: () => Scrollable(),\n name: \"Sticky column headers\",\n};\n\n/**\n * By default, column header labels will wrap when they exceed the column width. To keep the column header height constant, the `columnHeaderTruncation` can be used. When set to `true`, the label will appear truncated and will display a tooltip with the full text when hovered over.\n */\nexport const ColumnHeaderTruncation = {\n render: () => HeaderTruncation(),\n name: \"Column header truncation\",\n};\n\n/**\n * Row headers allow headings to be added to individual rows and styles them as column headings. The column collection includes an additional `header` key which aligns with the row headers. The structure of the `header` column is the same as the columns (i.e. key, title, dataType).\n * The data array includes an additional `header` key within the `rowOptions` which takes a string intended to be the title of the row header.\n */\nexport const RowHeadersExample = {\n render: () => RowHeaders(),\n name: \"Row headers\",\n};\n\n/**\n * Set `sortable` to `true` to set the sort functionality on all columns. Sorting can be set to `unsorted`, `ascending` and `descending` by press the sort buttons next to the column heading.\n */\nexport const Sortable = {\n render: () => Sort(),\n name: \"Sortable\",\n};\n\n/**\n * It is possible to change the sort options for the sort buttons. The `sortOptions` prop takes an object with `sortOrders` and `defaultColumn`. `sortOrders` allows the sort order to be amended as we all as remove a sort type. Such as changing the order to `descending`, `unsorted` and remove `ascending`. `defaultColumn` sets which column is ordered by default. This is set by padding the column key as the `defaultColumn` value.\n */\nexport const SortOptionsExample = {\n render: () => SortOptions(),\n name: \"Sort options\",\n};\n\n/**\n * Set `sortable` to `true` and set `disable-auto-sort` to `true` to enable external sorting functionality.\n */\nexport const DisableSortExample = {\n render: () => DisableSort(),\n name: \"Disable sort\",\n};\n\n/**\n * Alternatively, set `disable-auto-sort` to `true` within the column object to have it apply only to certain columns that may require special custom sorting.\n */\nexport const DisableAutoSortOnColumns = {\n render: () => DisableAutoSortColumns(),\n name: \"Disable sort on columns\",\n};\n\n/**\n * Adding 'excludeColumnFromSort: true` to the column object excludes that column from displaying the sort button.\n */\nexport const ExcludeColumnsFromSortExample = {\n render: () => ExcludeColumnsFromSort(),\n name: \"Exclude columns from sort\",\n};\n\n/**\n * Adding 'hidden: true` to the column object hides that column. In this example, the Age column is hidden.\n */\nexport const HideColumnExample = {\n render: () => HiddenCol(),\n name: \"Column visibility\",\n};\n\n/**\n * Pagination allows large data sets to be split into pages in order to make the data easier to digest. Setting `show-pagination` to `true` will add the `ic-pagination` component to the bottom of the table. There a several sub components within pagination which are set via the `paginationBarOptions` prop:\n * - `itemsPerPage` allows customization on the number of items on each page. This requires a collection with `label` and `value` key pairs.\n * - `showItemsPerPageControl` shows or hides the `itemsPerPage` component using `true` or `false`.\n * - `showGoToPageControl` displays controls which allows jumping between pages in a non-linear approach.\n */\nexport const PaginationExample = {\n render: () => Pagination(),\n name: \"Pagination\",\n};\n\n/**\n * There may be a requirement to style a column differently to the rest of the data to add emphasis. For example, centre align data within the 'first name' column. To do this, add `columnAlignment` to the column. `columnAlignment` takes an object which sets the `horizontal` and `vertical` property:\n * - `horizontal` accepts `left`, `right` or `center`.\n * - `vertical` accepts `top`, `middle`, `bottom`.\n *\n * `emphasis` can be added to the column by setting `high` or `low`.\n */\nexport const ColumnOverridesExample = {\n render: () => ColumnOverrides(),\n name: \"Column overrides\",\n};\n\n/**\n * Row overrides allow styling to be applied at a row level and is set within the `rowOptions` object. The following row overrides options apply:\n * - `rowAlignment` accepts `left`, `right` and `center`.\n * - `emphasis` accepts `high` or `low`.\n * - `textWrap` accepts `true` or `false`.\n */\nexport const RowOverridesExample = {\n render: () => RowOverrides(),\n name: \"Row overrides\",\n};\n\n/**\n * Cell overrides allows styling to be applied at a cell level. The cell which requires an override accepts an object which requires `data` and can contain `cellAlignment` and/or `emphasis`:\n * - `data` is the cell value.\n * - `emphasis` accepts `high` or `low`.\n * - `cellAlignment` accepts an object with the following key pairs:\n * - `horizontal` accepts `left`, `right` or `center`.\n * - `vertical` accepts `top`, `middle`, `bottom`.\n */\nexport const CellOverridesExample = {\n render: () => CellOverrides(),\n name: \"Cell overrides\",\n};\n\n/**\n * When the table receives no data (either `null` or an empty array) it will automatically show an `ic-empty-state` below the headers.\n */\nexport const DefaultEmptyState = {\n render: () => Empty(),\n name: \"Empty state\",\n};\n\n/**\n * You can customise your own `ic-empty-state` component and slot it into the data table using the `empty-state` slot, to reflect different scenarios.\n */\nexport const SlottedEmptyState = {\n render: () => EmptySlotted(),\n name: \"Slotted empty state\",\n};\n\n/**\n * When a user wants to fetch their data asynchronously, a `loading` prop can be set to `true`, which then renders a circular variant of the `ic-loading-indicator`.\n * The loading indicator can be customised using the `loadingOptions` prop:\n * - `description` sets the aria-label of the component\n * - `label` sets the visual message\n * - `labelDuration` is the number of milliseconds before the label changes\n * - `overlay` renders a dark overlay over the previous data set while new data is loaded\n *\n * If it needs to be determinate, use `max`, `min` and `progress`.\n */\nexport const LoadingState = {\n render: () => Loading(),\n name: \"Loading state\",\n height: \"720px\",\n};\n\n/**\n * If data in the table has changed, an `updating` prop has been supplied to show a linear `ic-loading-indicator` just above the data rows.\n *\n * This prop is also accompanied by an `updatingOptions` prop, which contains similar options to `loadingOptions`, minus `label` and `labelDuration` since the linear version is displayed.\n */\nexport const UpdatingState = {\n render: () => Updating(),\n name: \"Updating state\",\n};\n\n/**\n * Custom HTML elements can be slotted or passed via the `data` prop to display in certain cells. When using the slotted method, the slot name follows the format of `{COLUMN_TAG}-{ROW_INDEX}`.\n */\nexport const LinksAndElementsInData = {\n render: () => LinksHTMLElements(),\n name: \"Links and elements in data\",\n};\n\nexport const SlottedElementsWithPaginationExample = {\n render: () => SlottedElementsWithPagination(),\n name: \"Slotted elements with pagination\",\n};\n\n/**\n * Custom icons can be added to cells, columns and headers in the data table. To add it to headers, set the icon via the `columns` prop:\n * ```\n * icon: {\n * icon: //ICON_STRING_GOES_HERE,\n * onAllCells: //Boolean to determine whether column header icon should be replicated on all cells in the column,\n * hideOnHeader: //Boolean for whether this icon should only be shown on cells and not on the header,\n * }\n * ```\n *\n * To add icons to individual cells, they can be added through the `data` prop, in a similar method to overriding the cell. Cell icons take priority over the `onAllCells` prop, meaning specific cells can be made to stand out.\n *\n * Both cells and headers can also have icons slotted in. Cells use the slot format: `{COLUMN_KEY}-{ROW_INDEX}-icon`, and headers use the format: `{COLUMN_KEY}-column-icon`. Slotted icons take priority over icons inserted via the `columns` and `data` props.\n */\nexport const CustomIconsExample = {\n render: () => CustomIcons(),\n name: \"Custom icons\",\n};\n\n/**\n * A data table can have its rows use custom heights, to help display more data per row. This involves using the `globalRowHeight` prop, which applies this custom height to all rows.\n *\n * For a more granular approach, `variableRowHeight` exists. This is passed through the data object for each row of data, as well as that row's `index`. Using these properties, you can write a custom function that will return a number for that row's height based on your criteria.\n * Returning `null` from this function means that the row will use the `globalRowHeight` property value.\n *\n * **_NOTE:_** If the data table uses the `density` prop, then your custom value will be scaled depending on the density, in order to keep content readable as the text size changes:\n * - `Dense` = 80% of `globalRowHeight` or `variableRowHeight`\n * - `Spacious` = 120% of `globalRowHeight` or `variableRowHeight`\n *\n * E.G: If `globalRowHeight` = 100, a dense table will set the height to be **_80_**.\n *\n * **_NOTE:_** If a cell has a description (see \"Description and icons within cells\"), then the row height for that individual row will be increased by the description height in order to fully display it.\n *\n * E.G: If `globalRowHeight` = 100 and a cell has a description with a height of 20, then the row height for that cell's row will be set to **_120_**.\n *\n * To quickly reset all row heights to the default, you can run the `resetRowHeights` method.\n *\n * If you'd rather let the row calculate its own height based on its content, either set `globalRowHeight` to `auto`, or return `auto` from `variableRowHeight`.\n */\nexport const CustomRowHeightsExample = {\n render: () => CustomRowHeights(),\n name: \"Custom row heights\",\n};\n\n/**\n * To add additional information about the data held in your data table, you can use the `title-bar` slot to add an `ic-data-table-title-bar`, which will appear above the column headers.\n *\n * The title bar can have a description and metadata added, to provide supporting information to display some context about the data to the user. Primary and custom action slots also exist to allow for actions to be performed that are related to the data, which can be prominently displayed.\n *\n * The `ic-data-table-title-bar` has a built-in density selector, which allows a user to quickly change the size and padding of cells to make it more readable. This can also be hidden if preferred.\n *\n * More details on `ic-data-table-title-bar` can be found in the <ic-link href=\"/?path=/story/web-components-data-table-title-bar--basic\" inline=\"\">data table title bar documentation</ic-link>.\n */\nexport const CustomTitleBarExample = {\n render: () => CustomTitleBar(),\n name: \"Custom title bar\",\n};\n\n/**\n * The example below demonstrates how the pagination bar responds to changes within the data.\n *\n * More details on `ic-pagination-bar` can be found in the <ic-link href=\"/?path=/story/web-components-pagination-bar--docs\" inline=\"\">pagination bar documentation</ic-link>.\n */\nexport const UpdatingDataExample = {\n render: () => UpdatingData(),\n name: \"Updating data\",\n};\n\n/**\n * There may be scenarios when using `ic-data-table` when pagination and data fetching is done using a backend API.\n *\n * To enable this behaviour, the `pagination-bar` slot can be utilised to provide a custom `ic-pagination-bar` component, allowing the user to have more control over how their data is displayed & interacted with.\n */\nexport const SlottedPaginationBar = {\n render: () => SlottedPagination(),\n name: \"Slotted pagination bar\",\n};\n\n/**\n * When a row is given a set height, and has content that no longer fits into the cell area, the content becomes truncated. There are two types of truncation:\n * - `tooltip`: Adds a line-clamp to the cell and displays the message in a tooltip.\n * - `show-hide`: Adds a `See more/See less` button underneath the cell text, allowing the user to display the full content should they wish.\n *\n * These values are set using the `truncation-pattern` attribute.\n *\n * By default, `global-row-height` is set to `auto`. If the `truncation-pattern` attribute is set to `tooltip` or `show-hide` while `global-row-height` is `auto`, the data will not appear truncated due to the row height being set to the data which has the most height.\n *\n * To see the data truncated, the `global-row-height` or `variable-row-height` needs to be explicitly set to a height which is shorter than data which has the most lines.\n *\n * **_NOTE:_** `truncation-pattern` only applies to a cell's main data value. If a cell has a description (see \"Description and icons within cells\") then this will not be truncated and will still be visible beyond the truncation.\n */\nexport const DataTruncationTooltip = {\n render: () => TruncationTooltip(),\n name: \"Data truncation tooltip\",\n};\n\nexport const TruncationShowHideExample = {\n render: () => TruncationShowHide(),\n name: \"Data truncation see more / see less\",\n};\n\n/**\n * Text can be set to wrap in a particular column, row or cell. Any column, row or cell that text wrap is applied to will ignore the custom height if the custom height is too small and the full content will be shown.\n *\n * To set text to wrap in a column, add `textWrap: true` as a key value:\n * ```\n * const column = [\n * { key: \"name\", title: \"Name\", dataType: \"string\" },\n * ...\n * ]\n * ```\n *\n * To set text to wrap in a row, add `rowOptions: { textWrap: true }` to an object within the data array:\n * ```\n * const data = [\n * {\n * name: \"Tim Rayes\",\n * age: 41,\n * department: \"Sales and Marketing\",\n * employeeNumber: 3,\n * jobTitle:\n * \"Regional Sales and Marketing Strategy Director (Europe, the Middle East, and Africa)\",\n * rowOptions: {\n * textWrap: true\n * }\n * },\n * ...\n * ]\n * ```\n *\n * To set text wrap in a cell, add `textWrap` to a data key within an object:\n * ```\n * const data = [\n * {\n * name: {\n * data:\"Tim Rayes\",\n * textWrap: true\n * },\n * age: 41,\n * department: \"Sales and Marketing\",\n * employeeNumber: 3,\n * jobTitle:\n * \"Regional Sales and Marketing Strategy Director (Europe, the Middle East, and Africa)\",\n * },\n * ...\n * ]\n * ```\n */\nexport const TextWrap = {\n render: () => TruncationTextWrap(),\n name: \"Text wrap\",\n};\n\n/**\n * The dimensions of the data table can be set using the `width` and `height` attributes. The attribute accepts dimensions in `px`, `%`, `rem` and `auto`.\n *\n * By default, the width is set to `100%` so the table spans across the viewport or parent container.\n *\n * To set the column widths, the `columnWidth` property should be added to the relevant column within the column array.\n *\n * The [table layout](https://developer.mozilla.org/en-US/docs/Web/CSS/table-layout) attribute is vital to how the table resizing and column widths behave. By default, the table layout is set to `fixed`. If no column width is set, the columns widths will be equally set within the viewport or parent container.\n *\n * A table with a `fixed` layout will force the table column widths to take precedence over the data with the table cells.\n *\n * For the column widths to be dictated by the content inside, set the `table-layout` attribute to `auto` and set the table `width` to `auto`.\n *\n * To set the min and max width of a table cell, set the `table-layout` attribute to `auto` and set a `minWidth` or `maxWidth` value into `columnWidth`. The min and max width accepts dimensions in `px`, `%`, `rem`.\n */\nexport const TableSizingAndColumnWidth = {\n render: () => DataTableSizing(),\n name: \"Table sizing and column width\",\n};\n\n/**\n * The cells can contain a slotted `actionElement`. The `actionElement` will be displayed to the right of the cell data.\n */\nexport const ActionElements = {\n render: () => ActionElement(),\n name: \"Action element\",\n};\n\n/**\n * Descriptions and icons can be included in the cells by proving a `description` field in the data. This will populate the cell with an icon (if provided) and a text string underneath the cell data. This can be applied to any cell.\n *\n * You can provide a `description` object with or without an icon:\n * ```\n * // With an icon\n * firstName: {\n * data: \"Joe\",\n * description: {\n * data: \"The name of Joe\",\n * icon: '<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"20\" viewBox=\"0 -960 960 960\" width=\"20\"><path d=\"M180-120q-24 0-42-18t-18-42v-600q0-24 18-42t42-18h600q24 0 42 18t18 42v600q0 24-18 42t-42 18H180Zm0-60h600v-600H180v600Zm56-97h489L578-473 446-302l-93-127-117 152Zm-56 97v-600 600Z\"/></svg>',\n * },\n * }\n * ```\n *\n * ```\n * // Without an icon\n * firstName: {\n * data: \"Joe\",\n * description: \"The name of Joe\"\n * }\n * ```\n */\nexport const CellDescriptionsAndIcons = {\n render: () => CellDescriptions(),\n name: \"Description and icons within cells\",\n};\n\nexport const CellDescriptionsLongText = {\n render: () => LongCellDescriptions(),\n name: \"Description and icons within cells with long text\",\n};\n\n/**\n * The example below demonstrates the table being able to handle empty cell values (null, undefined or empty string).\n */\nexport const MissingCellDataExample = {\n render: () => MissingCellData(),\n name: \"Missing cell data\",\n};\n\n/**\n * By setting `row-selection` to `true`, `ic-checkbox` elements will appear in the leftmost column, with one in the header.\n * When checked, the corresponding row will be selected, with the `icSelectedRowChange` containing the selected row and an array of all the currently selected rows.\n *\n * When checking the header checkbox, all rows will be selected, with the `icSelectAllRows` event being emitted with an array of all the rows. When using pagination, only the rows on the current page will be selected.\n */\nexport const SelectRowsUsingCheckboxExample = {\n render: () => SelectWithCheckbox(),\n name: \"Select rows with checkbox\",\n};\n\nexport const DevAreaExample = {\n render: () => DevArea(),\n name: \"Dev area\",\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ic-data-table.types.js","sourceRoot":"","sources":["../../../src/components/ic-data-table/ic-data-table.types.tsx"],"names":[],"mappings":"","sourcesContent":["export type IcDataTableSortOrderOptions =\n | \"unsorted\"\n | \"ascending\"\n | \"descending\";\n\nexport type IcDataTableDensityOptions = \"default\" | \"dense\" | \"spacious\";\n\nexport type IcDataTableColumnDataTypes =\n | \"string\"\n | \"number\"\n | \"address\"\n | \"element\"\n | \"date\";\n\nexport type IcDataTableColumnWidthTypes = {\n width?: string;\n minWidth?: string;\n maxWidth?: string;\n};\n\nexport type IcDataTableColumnObject = {\n key: string;\n title: string;\n dataType: IcDataTableColumnDataTypes;\n columnAlignment?: {\n horizontal?: string;\n vertical?: string;\n };\n rowOptions?: {\n textWrap: boolean;\n };\n columnWidth?: string | IcDataTableColumnWidthTypes;\n textWrap?: boolean;\n cellAlignment?: string;\n emphasis?: string;\n colspan?: number;\n icon?: {\n icon: string;\n onAllCells?: boolean;\n hideOnHeader?: boolean;\n };\n excludeColumnFromSort?: boolean;\n hidden?: boolean;\n disableAutoSort?: boolean;\n};\n\nexport type IcLoadingOptions = {\n monochrome?: boolean;\n description?: string;\n label?: string;\n labelDuration?: number;\n max?: number;\n min?: number;\n progress?: number;\n overlay?: boolean;\n};\n\nexport type IcDataTableRowHeights = number | \"auto\";\n\nexport interface IcDensityUpdateEventDetail {\n value: IcDataTableDensityOptions;\n}\nexport type IcDataTableTruncationTypes = \"tooltip\" | \"show-hide\" | undefined;\n\nexport interface IcSortEventDetail {\n columnName: string;\n sorted: IcDataTableSortOrderOptions;\n}\n\nexport type truncWrapperDetailsTypes = {\n scrollHeight: number | null;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type IcDataTableDataType = { [key: string]: any };\n"]}
1
+ {"version":3,"file":"ic-data-table.types.js","sourceRoot":"","sources":["../../../src/components/ic-data-table/ic-data-table.types.tsx"],"names":[],"mappings":"","sourcesContent":["export type IcDataTableSortOrderOptions =\n | \"unsorted\"\n | \"ascending\"\n | \"descending\";\n\nexport type IcDataTableDensityOptions = \"default\" | \"dense\" | \"spacious\";\n\nexport type IcDataTableColumnDataTypes =\n | \"string\"\n | \"number\"\n | \"address\"\n | \"element\"\n | \"date\";\n\nexport type IcDataTableColumnWidthTypes = {\n width?: string;\n minWidth?: string;\n maxWidth?: string;\n};\n\nexport type IcDataTableAlignmentOptions = {\n horizontal?: string;\n vertical?: string;\n};\n\nexport type IcDataTableColumnObject = {\n key: string;\n title: string;\n dataType: IcDataTableColumnDataTypes;\n columnAlignment?: IcDataTableAlignmentOptions;\n columnWidth?: string | IcDataTableColumnWidthTypes;\n textWrap?: boolean;\n cellAlignment?: string;\n emphasis?: string;\n colspan?: number;\n icon?: {\n icon: string;\n onAllCells?: boolean;\n hideOnHeader?: boolean;\n };\n excludeColumnFromSort?: boolean;\n hidden?: boolean;\n disableAutoSort?: boolean;\n};\n\nexport type IcLoadingOptions = {\n monochrome?: boolean;\n description?: string;\n label?: string;\n labelDuration?: number;\n max?: number;\n min?: number;\n progress?: number;\n overlay?: boolean;\n};\n\nexport type IcDataTableRowHeights = number | \"auto\";\n\nexport interface IcDensityUpdateEventDetail {\n value: IcDataTableDensityOptions;\n}\nexport type IcDataTableTruncationTypes = \"tooltip\" | \"show-hide\" | undefined;\n\nexport interface IcSortEventDetail {\n columnName: string;\n sorted: IcDataTableSortOrderOptions;\n}\n\nexport type truncWrapperDetailsTypes = {\n scrollHeight: number | null;\n};\n\nexport type IcDataTableRowOptions = {\n header?: string;\n emphasis?: string;\n rowAlignment?: IcDataTableAlignmentOptions;\n textWrap?: boolean;\n};\n\nexport type IcDataTableDataType = {\n [key: string]: any;\n rowOptions?: IcDataTableRowOptions;\n};\n"]}
@@ -15,9 +15,9 @@ const ROW_HEADER_TITLES = [
15
15
  const imageIconSVG = '<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 -960 960 960" width="24"><path d="M180-120q-24 0-42-18t-18-42v-600q0-24 18-42t42-18h600q24 0 42 18t18 42v600q0 24-18 42t-42 18H180Zm0-60h600v-600H180v600Zm56-97h489L578-473 446-302l-93-127-117 152Zm-56 97v-600 600Z"/></svg>';
16
16
  const userIconSVG = '<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 -960 960 960" width="24"><path d="M480-481q-66 0-108-42t-42-108q0-66 42-108t108-42q66 0 108 42t42 108q0 66-42 108t-108 42ZM160-160v-94q0-38 19-65t49-41q67-30 128.5-45T480-420q62 0 123 15.5t127.921 44.694q31.301 14.126 50.19 40.966Q800-292 800-254v94H160Zm60-60h520v-34q0-16-9.5-30.5T707-306q-64-31-117-42.5T480-360q-57 0-111 11.5T252-306q-14 7-23 21.5t-9 30.5v34Zm260-321q39 0 64.5-25.5T570-631q0-39-25.5-64.5T480-721q-39 0-64.5 25.5T390-631q0 39 25.5 64.5T480-541Zm0-90Zm0 411Z"/></svg>';
17
17
  const alertIconSVG = '<svg aria-label="alert-icon" xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 24 24" fill="#000000"><path d="M11,15H13V17H11V15M11,7H13V13H11V7M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20Z"/></svg>';
18
- const copyButton = '<ic-button data-testid="copy-button" variant="icon-tertiary" size="small" aria-label="you can disable tooltips on icon buttons"> <svg aria-label="copy-button" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#000000"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg> </ic-button>';
19
- const cellphoneButton = '<ic-button data-testid="cellphone-button" variant="icon-tertiary" size="small" aria-label="you can disable tooltips on icon buttons"> <svg aria-label="cellphone-button" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#000000"><path d="M17,19H7V5H17M17,1H7C5.89,1 5,1.89 5,3V21A2,2 0 0,0 7,23H17A2,2 0 0,0 19,21V3C19,1.89 18.1,1 17,1Z"/></svg> </ic-button>';
20
- const downloadButton = '<ic-button data-testid="download-button" variant="icon-tertiary" size="small" aria-label="you can disable tooltips on icon buttons"> <svg aria-label="download-button" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#000000"><path d="M5,20H19V18H5M19,9H15V3H9V9H5L12,16L19,9Z"/></svg> </ic-button>';
18
+ const copyIconSVG = '<svg aria-label="copy-button" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#000000"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg>';
19
+ const cellphoneIconSVG = '<svg aria-label="cellphone-button" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#000000"><path d="M17,19H7V5H17M17,1H7C5.89,1 5,1.89 5,3V21A2,2 0 0,0 7,23H17A2,2 0 0,0 19,21V3C19,1.89 18.1,1 17,1Z"/></svg>';
20
+ const downloadIconSVG = '<svg aria-label="download-button" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#000000"><path d="M5,20H19V18H5M19,9H15V3H9V9H5L12,16L19,9Z"/></svg>';
21
21
  // TODO: Add columnOptions
22
22
  export const COLS = [
23
23
  {
@@ -521,60 +521,10 @@ export const DATA_EMPHASIS = [
521
521
  address: "5 New Street, Town, Country, Postcode",
522
522
  },
523
523
  ];
524
- export const ROW_ALIGNMENT = [
525
- {
526
- header: {
527
- title: ROW_HEADER_TITLES[0],
528
- rowAlignment: "middle",
529
- emphasis: "high",
530
- },
531
- firstName: "Joe",
532
- lastName: "Bloggs",
533
- age: 30,
534
- jobTitle: "Developer",
535
- address: "1 Main Street, Town, County, Postcode",
536
- },
537
- {
538
- header: {
539
- title: ROW_HEADER_TITLES[1],
540
- },
541
- firstName: "Sarah",
542
- lastName: "Smith",
543
- age: 28,
544
- jobTitle: "Senior Software Developer, Site Reliability Engineering",
545
- address: "2 Main Street, Town, Country, Postcode",
546
- },
547
- {
548
- header: {
549
- title: ROW_HEADER_TITLES[2],
550
- },
551
- firstName: "Mark",
552
- lastName: "Owens",
553
- age: 45,
554
- jobTitle: "Team Lead",
555
- address: "12 Key Street, Town, Country, Postcode",
556
- },
557
- {
558
- header: {
559
- title: ROW_HEADER_TITLES[3],
560
- },
561
- firstName: "Naomi",
562
- lastName: "Thomas",
563
- age: 32,
564
- jobTitle: "Analyst",
565
- address: "8 Side Street, Town, Country, Postcode",
566
- },
567
- {
568
- header: {
569
- title: ROW_HEADER_TITLES[4],
570
- },
571
- firstName: "Luke",
572
- lastName: "Ashford",
573
- age: 18,
574
- jobTitle: "Junior Developer",
575
- address: "5 New Street, Town, Country, Postcode",
576
- },
577
- ];
524
+ export const ROW_ALIGNMENT = DATA.map((row, index) => (Object.assign(Object.assign({}, row), { rowOptions: Object.assign({ header: ROW_HEADER_TITLES[index] }, (index === 0 && {
525
+ rowAlignment: { vertical: "middle" },
526
+ emphasis: "high",
527
+ })) })));
578
528
  export const LONG_COLS = [
579
529
  {
580
530
  key: "employeeNumber",
@@ -895,9 +845,9 @@ export const ROW_HEADER_COLS = [
895
845
  dataType: "address",
896
846
  },
897
847
  ];
898
- export const ROW_HEADER_DATA = DATA.map((data, index) => {
899
- return Object.assign({ header: { title: ROW_HEADER_TITLES[index] } }, data);
900
- });
848
+ export const ROW_HEADER_DATA = DATA.map((data, index) => (Object.assign(Object.assign({}, data), { rowOptions: {
849
+ header: ROW_HEADER_TITLES[index],
850
+ } })));
901
851
  export const COLS_ELEMENTS = [
902
852
  {
903
853
  key: "actions",
@@ -1203,71 +1153,6 @@ export const DATA_REACT_ELEMENTS_WITH_ICONS = [
1203
1153
  address: "5 New Street, Town, Country, Postcode",
1204
1154
  },
1205
1155
  ];
1206
- export const ACTION_DATA_ELEMENTS = [
1207
- {
1208
- firstName: {
1209
- data: "Joe",
1210
- actionElement: `${downloadButton}${cellphoneButton}${copyButton}`,
1211
- actionOnClick: (event) => {
1212
- event === null || event === void 0 ? void 0 : event.stopPropagation();
1213
- console.log("hello");
1214
- },
1215
- },
1216
- lastName: "Bloggs",
1217
- age: 31,
1218
- jobTitle: "Developer",
1219
- address: "1 Main Street, Town, County, Postcode",
1220
- },
1221
- {
1222
- firstName: {
1223
- data: "Sarah",
1224
- actionElement: copyButton,
1225
- },
1226
- lastName: "Jane",
1227
- age: 28,
1228
- jobTitle: {
1229
- data: "Senior Software Developer, Site Reliability Engineering",
1230
- actionElement: `<ic-status-tag role="status" label="Success" status="success"></ic-status-tag>`,
1231
- },
1232
- address: "2 Main Street, Town, Country, Postcode",
1233
- },
1234
- {
1235
- firstName: {
1236
- data: "Mark",
1237
- actionElement: copyButton,
1238
- },
1239
- lastName: "Smith",
1240
- age: {
1241
- data: 45,
1242
- actionElement: `<ic-button variant="icon-tertiary" id="small-button" size="small" aria-label="you can disable tooltips on icon buttons"> <svg aria-label="refresh button" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#000000" > <path d="M0 0h24v24H0V0z" fill="none"></path> <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> </svg></ic-button>`,
1243
- },
1244
- jobTitle: "Team Lead",
1245
- address: "12 Key Street, Town, Country, Postcode",
1246
- },
1247
- {
1248
- firstName: {
1249
- data: "Naomi",
1250
- actionElement: copyButton,
1251
- },
1252
- lastName: "Kens",
1253
- age: 32,
1254
- jobTitle: "Analyst",
1255
- address: "8 Side Street, Town, Country, Postcode",
1256
- },
1257
- {
1258
- firstName: {
1259
- data: "Luke",
1260
- actionElement: copyButton,
1261
- },
1262
- lastName: "Sky",
1263
- age: 18,
1264
- jobTitle: "Junior Developer",
1265
- address: {
1266
- data: "5 New Street, Town, Country, Postcode",
1267
- actionElement: `<ic-status-tag role="status" label="Error" status="danger"></ic-status-tag>`,
1268
- },
1269
- },
1270
- ];
1271
1156
  export const DATA_WITH_EMPTY_VALUES = [
1272
1157
  {
1273
1158
  firstName: "Nigel",
@@ -1299,7 +1184,6 @@ export const LONG_DATA_ELEMENTS_WITH_DESCRIPTIONS = [
1299
1184
  data: "Alias: JB",
1300
1185
  icon: imageIconSVG,
1301
1186
  },
1302
- actionElement: copyButton,
1303
1187
  icon: userIconSVG,
1304
1188
  },
1305
1189
  lastName: "Bloggs",
@@ -1310,7 +1194,6 @@ export const LONG_DATA_ELEMENTS_WITH_DESCRIPTIONS = [
1310
1194
  {
1311
1195
  firstName: {
1312
1196
  data: "Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe Joe",
1313
- actionElement: copyButton,
1314
1197
  },
1315
1198
  lastName: "Bloggs",
1316
1199
  age: 30,
@@ -1324,7 +1207,6 @@ export const LONG_DATA_ELEMENTS_WITH_DESCRIPTIONS = [
1324
1207
  data: "Unverified",
1325
1208
  icon: alertIconSVG,
1326
1209
  },
1327
- actionElement: copyButton,
1328
1210
  },
1329
1211
  lastName: "Bloggy",
1330
1212
  age: 31,
@@ -1333,7 +1215,6 @@ export const LONG_DATA_ELEMENTS_WITH_DESCRIPTIONS = [
1333
1215
  },
1334
1216
  {
1335
1217
  firstName: {
1336
- actionElement: copyButton,
1337
1218
  description: "Alias: The Ghost",
1338
1219
  },
1339
1220
  lastName: "Blogger",
@@ -1859,7 +1740,35 @@ export const SlottedPagination = () => {
1859
1740
  dataTable.appendChild(paginationBar);
1860
1741
  return dataTable;
1861
1742
  };
1862
- export const ActionElement = () => createDataTableElement("Action Element", COLS, ACTION_DATA_ELEMENTS);
1743
+ export const ActionElement = () => {
1744
+ const dataTable = createDataTableElement("Action Element", COLS, DATA);
1745
+ const actionElement = document.createElement("div");
1746
+ actionElement.setAttribute("slot", "firstName-0-action-element");
1747
+ actionElement.setAttribute("style", "display: flex");
1748
+ const downloadButtonEl = document.createElement("ic-button");
1749
+ downloadButtonEl.setAttribute("variant", "icon");
1750
+ downloadButtonEl.setAttribute("size", "small");
1751
+ downloadButtonEl.addEventListener("click", () => alert("Download button clicked"));
1752
+ downloadButtonEl.innerHTML = downloadIconSVG;
1753
+ downloadButtonEl.setAttribute("aria-label", "Download data");
1754
+ actionElement.appendChild(downloadButtonEl);
1755
+ const cellphoneButtonEl = document.createElement("ic-button");
1756
+ cellphoneButtonEl.setAttribute("variant", "icon");
1757
+ cellphoneButtonEl.setAttribute("size", "small");
1758
+ cellphoneButtonEl.addEventListener("click", () => alert("Cellphone button clicked"));
1759
+ cellphoneButtonEl.innerHTML = cellphoneIconSVG;
1760
+ cellphoneButtonEl.setAttribute("aria-label", "Call phone");
1761
+ actionElement.appendChild(cellphoneButtonEl);
1762
+ const copyButtonEl = document.createElement("ic-button");
1763
+ copyButtonEl.setAttribute("variant", "icon");
1764
+ copyButtonEl.setAttribute("size", "small");
1765
+ copyButtonEl.addEventListener("click", () => alert("Copy button clicked"));
1766
+ copyButtonEl.innerHTML = copyIconSVG;
1767
+ copyButtonEl.setAttribute("aria-label", "Copy data");
1768
+ actionElement.appendChild(copyButtonEl);
1769
+ dataTable.appendChild(actionElement);
1770
+ return dataTable;
1771
+ };
1863
1772
  export const MissingCellData = () => createDataTableElement("Missing Cell Data", COLS, DATA_WITH_EMPTY_VALUES);
1864
1773
  export const SelectWithCheckbox = () => {
1865
1774
  const dataTable = createDataTableElement("Select using checkboxes", COLS, DATA);