@ukic/canary-web-components 3.0.0-canary.14 → 3.0.0-canary.16

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 (589) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/core.cjs.js +2 -2
  3. package/dist/cjs/{date-helpers-c9551119.js → date-helpers-6f70dd03.js} +20 -66
  4. package/dist/cjs/date-helpers-6f70dd03.js.map +1 -0
  5. package/dist/cjs/{helpers-fc51fdcb.js → helpers-199b92d5.js} +42 -2
  6. package/dist/cjs/helpers-199b92d5.js.map +1 -0
  7. package/dist/cjs/{helpers-32016c21.js → helpers-d01564f7.js} +15 -15
  8. package/dist/cjs/helpers-d01564f7.js.map +1 -0
  9. package/dist/cjs/ic-accordion-group.cjs.entry.js +2 -2
  10. package/dist/cjs/ic-accordion.cjs.entry.js +2 -2
  11. package/dist/cjs/ic-alert.cjs.entry.js +2 -2
  12. package/dist/cjs/ic-back-to-top.cjs.entry.js +2 -2
  13. package/dist/cjs/ic-badge.cjs.entry.js +3 -3
  14. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +2 -2
  16. package/dist/cjs/ic-breadcrumb.cjs.entry.js +2 -2
  17. package/dist/cjs/ic-button_3.cjs.entry.js +3 -3
  18. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ic-card-horizontal.cjs.entry.js +16 -12
  20. package/dist/cjs/ic-card-horizontal.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ic-card-vertical.cjs.entry.js +3 -3
  22. package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ic-checkbox-group.cjs.entry.js +7 -7
  24. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  25. package/dist/cjs/{ic-empty-state_2.cjs.entry.js → ic-checkbox_3.cjs.entry.js} +158 -24
  26. package/dist/cjs/ic-checkbox_3.cjs.entry.js.map +1 -0
  27. package/dist/cjs/ic-chip.cjs.entry.js +3 -3
  28. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  29. package/dist/cjs/ic-classification-banner.cjs.entry.js +3 -3
  30. package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
  31. package/dist/cjs/ic-data-list.cjs.entry.js +1 -1
  32. package/dist/cjs/ic-data-row.cjs.entry.js +2 -2
  33. package/dist/cjs/ic-data-table-title-bar.cjs.entry.js +7 -7
  34. package/dist/cjs/ic-data-table-title-bar.cjs.entry.js.map +1 -1
  35. package/dist/cjs/ic-data-table.cjs.entry.js +310 -276
  36. package/dist/cjs/ic-data-table.cjs.entry.js.map +1 -1
  37. package/dist/cjs/ic-date-input.cjs.entry.js +130 -148
  38. package/dist/cjs/ic-date-input.cjs.entry.js.map +1 -1
  39. package/dist/cjs/ic-date-picker.cjs.entry.js +87 -70
  40. package/dist/cjs/ic-date-picker.cjs.entry.js.map +1 -1
  41. package/dist/cjs/ic-dialog.cjs.entry.js +38 -47
  42. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  43. package/dist/cjs/ic-divider.cjs.entry.js +2 -2
  44. package/dist/cjs/ic-footer-link-group.cjs.entry.js +2 -2
  45. package/dist/cjs/ic-footer-link.cjs.entry.js +2 -2
  46. package/dist/cjs/ic-footer.cjs.entry.js +2 -2
  47. package/dist/cjs/ic-hero.cjs.entry.js +2 -2
  48. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +2 -2
  49. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +3 -3
  50. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  51. package/dist/cjs/ic-input-label_2.cjs.entry.js +2 -2
  52. package/dist/cjs/ic-link.cjs.entry.js +2 -2
  53. package/dist/cjs/ic-menu-group.cjs.entry.js +2 -2
  54. package/dist/cjs/ic-menu-item.cjs.entry.js +2 -2
  55. package/dist/cjs/ic-navigation-button.cjs.entry.js +2 -2
  56. package/dist/cjs/ic-navigation-group.cjs.entry.js +25 -22
  57. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  58. package/dist/cjs/ic-navigation-item.cjs.entry.js +2 -2
  59. package/dist/cjs/ic-navigation-menu.cjs.entry.js +7 -7
  60. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  61. package/dist/cjs/ic-page-header.cjs.entry.js +12 -11
  62. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  63. package/dist/cjs/ic-pagination_4.cjs.entry.js +52 -29
  64. package/dist/cjs/ic-pagination_4.cjs.entry.js.map +1 -1
  65. package/dist/cjs/ic-popover-menu.cjs.entry.js +6 -6
  66. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  67. package/dist/cjs/ic-radio-group.cjs.entry.js +7 -7
  68. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  69. package/dist/cjs/ic-radio-option.cjs.entry.js +2 -2
  70. package/dist/cjs/ic-search-bar.cjs.entry.js +3 -3
  71. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  72. package/dist/cjs/ic-section-container.cjs.entry.js +3 -3
  73. package/dist/cjs/ic-section-container.cjs.entry.js.map +1 -1
  74. package/dist/cjs/ic-side-navigation.cjs.entry.js +7 -7
  75. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  76. package/dist/cjs/ic-skeleton.cjs.entry.js +3 -3
  77. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  78. package/dist/cjs/ic-skip-link.cjs.entry.js +3 -3
  79. package/dist/cjs/ic-skip-link.cjs.entry.js.map +1 -1
  80. package/dist/cjs/ic-status-tag.cjs.entry.js +5 -5
  81. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  82. package/dist/cjs/ic-step.cjs.entry.js +16 -16
  83. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  84. package/dist/cjs/ic-stepper.cjs.entry.js +4 -4
  85. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  86. package/dist/cjs/ic-switch.cjs.entry.js +6 -6
  87. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  88. package/dist/cjs/ic-tab-context.cjs.entry.js +2 -2
  89. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  90. package/dist/cjs/ic-tab-group.cjs.entry.js +4 -4
  91. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  92. package/dist/cjs/ic-tab-panel.cjs.entry.js +3 -3
  93. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  94. package/dist/cjs/ic-tab.cjs.entry.js +3 -3
  95. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  96. package/dist/cjs/ic-theme.cjs.entry.js +3 -3
  97. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  98. package/dist/cjs/ic-toast-region.cjs.entry.js +2 -2
  99. package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -1
  100. package/dist/cjs/ic-toast.cjs.entry.js +6 -6
  101. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  102. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +4 -4
  103. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  104. package/dist/cjs/ic-toggle-button.cjs.entry.js +5 -5
  105. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  106. package/dist/cjs/ic-top-navigation.cjs.entry.js +5 -9
  107. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  108. package/dist/cjs/ic-tree-item.cjs.entry.js +35 -42
  109. package/dist/cjs/ic-tree-item.cjs.entry.js.map +1 -1
  110. package/dist/cjs/ic-tree-view.cjs.entry.js +25 -21
  111. package/dist/cjs/ic-tree-view.cjs.entry.js.map +1 -1
  112. package/dist/cjs/ic-typography.cjs.entry.js +2 -2
  113. package/dist/cjs/{index-8a24b20c.js → index-d337cd8a.js} +6 -11
  114. package/dist/cjs/index-d337cd8a.js.map +1 -0
  115. package/dist/cjs/loader.cjs.js +2 -2
  116. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.css +1 -1
  117. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.js +27 -23
  118. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.js.map +1 -1
  119. package/dist/collection/components/ic-data-table/ic-data-table.css +16 -0
  120. package/dist/collection/components/ic-data-table/ic-data-table.js +385 -330
  121. package/dist/collection/components/ic-data-table/ic-data-table.js.map +1 -1
  122. package/dist/collection/components/ic-data-table/ic-data-table.stories.js +8 -9
  123. package/dist/collection/components/ic-data-table/ic-data-table.stories.js.map +1 -1
  124. package/dist/collection/components/ic-data-table/story-data.js +13 -14
  125. package/dist/collection/components/ic-data-table/story-data.js.map +1 -1
  126. package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.js +9 -9
  127. package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.js.map +1 -1
  128. package/dist/collection/components/ic-date-input/ic-date-input.js +166 -183
  129. package/dist/collection/components/ic-date-input/ic-date-input.js.map +1 -1
  130. package/dist/collection/components/ic-date-input/ic-date-input.stories.js +1 -1
  131. package/dist/collection/components/ic-date-input/ic-date-input.stories.js.map +1 -1
  132. package/dist/collection/components/ic-date-input/test/helpers/ic-date-input.js +6 -3
  133. package/dist/collection/components/ic-date-input/test/helpers/ic-date-input.js.map +1 -1
  134. package/dist/collection/components/ic-date-picker/ic-date-picker.js +109 -92
  135. package/dist/collection/components/ic-date-picker/ic-date-picker.js.map +1 -1
  136. package/dist/collection/components/ic-date-picker/ic-day-button.js +1 -1
  137. package/dist/collection/components/ic-date-picker/ic-day-button.js.map +1 -1
  138. package/dist/collection/components/ic-date-picker/ic-month-picker.js.map +1 -1
  139. package/dist/collection/components/ic-date-picker/ic-year-picker.js.map +1 -1
  140. package/dist/collection/components/ic-date-picker/story-data.js.map +1 -1
  141. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js +41 -38
  142. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js.map +1 -1
  143. package/dist/collection/components/ic-tree-item/ic-tree-item.js +45 -52
  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 +29 -25
  146. package/dist/collection/components/ic-tree-view/ic-tree-view.js.map +1 -1
  147. package/dist/collection/utils/date-helpers.js +19 -61
  148. package/dist/collection/utils/date-helpers.js.map +1 -1
  149. package/dist/collection/utils/helpers.js +44 -61
  150. package/dist/collection/utils/helpers.js.map +1 -1
  151. package/dist/collection/utils/testa11y.helpers.js +2 -1
  152. package/dist/collection/utils/testa11y.helpers.js.map +1 -1
  153. package/dist/components/helpers.js +40 -1
  154. package/dist/components/helpers.js.map +1 -1
  155. package/dist/components/helpers2.js +13 -13
  156. package/dist/components/helpers2.js.map +1 -1
  157. package/dist/components/ic-badge.js +1 -1
  158. package/dist/components/ic-badge.js.map +1 -1
  159. package/dist/components/ic-button2.js +1 -1
  160. package/dist/components/ic-button2.js.map +1 -1
  161. package/dist/components/ic-card-horizontal.js +14 -10
  162. package/dist/components/ic-card-horizontal.js.map +1 -1
  163. package/dist/components/ic-card-vertical.js +1 -1
  164. package/dist/components/ic-card-vertical.js.map +1 -1
  165. package/dist/components/ic-checkbox-group.js +5 -5
  166. package/dist/components/ic-checkbox-group.js.map +1 -1
  167. package/dist/components/ic-checkbox.js +1 -175
  168. package/dist/components/ic-checkbox.js.map +1 -1
  169. package/dist/{esm/ic-checkbox.entry.js → components/ic-checkbox2.js} +53 -11
  170. package/dist/components/ic-checkbox2.js.map +1 -0
  171. package/dist/components/ic-chip.js +1 -1
  172. package/dist/components/ic-chip.js.map +1 -1
  173. package/dist/components/ic-classification-banner.js +2 -2
  174. package/dist/components/ic-classification-banner.js.map +1 -1
  175. package/dist/components/ic-data-table-title-bar.js +5 -5
  176. package/dist/components/ic-data-table-title-bar.js.map +1 -1
  177. package/dist/components/ic-data-table.js +319 -279
  178. package/dist/components/ic-data-table.js.map +1 -1
  179. package/dist/components/ic-date-input2.js +146 -210
  180. package/dist/components/ic-date-input2.js.map +1 -1
  181. package/dist/components/ic-date-picker.js +84 -67
  182. package/dist/components/ic-date-picker.js.map +1 -1
  183. package/dist/components/ic-dialog.js +38 -47
  184. package/dist/components/ic-dialog.js.map +1 -1
  185. package/dist/components/ic-footer.js +1 -1
  186. package/dist/components/ic-horizontal-scroll2.js +1 -1
  187. package/dist/components/ic-input-component-container2.js +1 -1
  188. package/dist/components/ic-input-component-container2.js.map +1 -1
  189. package/dist/components/ic-navigation-group.js +25 -21
  190. package/dist/components/ic-navigation-group.js.map +1 -1
  191. package/dist/components/ic-navigation-item.js +1 -1
  192. package/dist/components/ic-navigation-menu2.js +6 -6
  193. package/dist/components/ic-navigation-menu2.js.map +1 -1
  194. package/dist/components/ic-page-header.js +10 -9
  195. package/dist/components/ic-page-header.js.map +1 -1
  196. package/dist/components/ic-pagination-bar2.js +22 -20
  197. package/dist/components/ic-pagination-bar2.js.map +1 -1
  198. package/dist/components/ic-pagination-item2.js +2 -2
  199. package/dist/components/ic-pagination-item2.js.map +1 -1
  200. package/dist/components/ic-pagination2.js +5 -5
  201. package/dist/components/ic-pagination2.js.map +1 -1
  202. package/dist/components/ic-popover-menu.js +4 -4
  203. package/dist/components/ic-popover-menu.js.map +1 -1
  204. package/dist/components/ic-radio-group.js +5 -5
  205. package/dist/components/ic-radio-group.js.map +1 -1
  206. package/dist/components/ic-search-bar.js +2 -2
  207. package/dist/components/ic-search-bar.js.map +1 -1
  208. package/dist/components/ic-section-container2.js +2 -2
  209. package/dist/components/ic-section-container2.js.map +1 -1
  210. package/dist/components/ic-select2.js +6 -6
  211. package/dist/components/ic-select2.js.map +1 -1
  212. package/dist/components/ic-side-navigation.js +6 -6
  213. package/dist/components/ic-side-navigation.js.map +1 -1
  214. package/dist/components/ic-skeleton.js +2 -2
  215. package/dist/components/ic-skeleton.js.map +1 -1
  216. package/dist/components/ic-skip-link.js +2 -2
  217. package/dist/components/ic-skip-link.js.map +1 -1
  218. package/dist/components/ic-status-tag.js +3 -3
  219. package/dist/components/ic-status-tag.js.map +1 -1
  220. package/dist/components/ic-step.js +14 -14
  221. package/dist/components/ic-step.js.map +1 -1
  222. package/dist/components/ic-stepper.js +3 -3
  223. package/dist/components/ic-stepper.js.map +1 -1
  224. package/dist/components/ic-switch.js +4 -4
  225. package/dist/components/ic-switch.js.map +1 -1
  226. package/dist/components/ic-tab-context.js +1 -1
  227. package/dist/components/ic-tab-context.js.map +1 -1
  228. package/dist/components/ic-tab-group.js +2 -2
  229. package/dist/components/ic-tab-group.js.map +1 -1
  230. package/dist/components/ic-tab-panel.js +2 -2
  231. package/dist/components/ic-tab-panel.js.map +1 -1
  232. package/dist/components/ic-tab.js +1 -1
  233. package/dist/components/ic-tab.js.map +1 -1
  234. package/dist/components/ic-text-field2.js +42 -15
  235. package/dist/components/ic-text-field2.js.map +1 -1
  236. package/dist/components/ic-theme.js +2 -2
  237. package/dist/components/ic-theme.js.map +1 -1
  238. package/dist/components/ic-toast-region.js +1 -1
  239. package/dist/components/ic-toast-region.js.map +1 -1
  240. package/dist/components/ic-toast.js +5 -5
  241. package/dist/components/ic-toast.js.map +1 -1
  242. package/dist/components/ic-toggle-button-group.js +2 -2
  243. package/dist/components/ic-toggle-button-group.js.map +1 -1
  244. package/dist/components/ic-toggle-button.js +4 -4
  245. package/dist/components/ic-toggle-button.js.map +1 -1
  246. package/dist/components/ic-top-navigation.js +4 -8
  247. package/dist/components/ic-top-navigation.js.map +1 -1
  248. package/dist/components/ic-tree-item.js +33 -40
  249. package/dist/components/ic-tree-item.js.map +1 -1
  250. package/dist/components/ic-tree-view.js +23 -19
  251. package/dist/components/ic-tree-view.js.map +1 -1
  252. package/dist/core/core.css +358 -250
  253. package/dist/core/core.esm.js +1 -1
  254. package/dist/core/core.esm.js.map +1 -1
  255. package/dist/core/{p-f2f7299b.entry.js → p-071f4748.entry.js} +2 -2
  256. package/dist/core/{p-f2f7299b.entry.js.map → p-071f4748.entry.js.map} +1 -1
  257. package/dist/core/p-09e8b002.entry.js +2 -0
  258. package/dist/core/p-09e8b002.entry.js.map +1 -0
  259. package/dist/core/{p-b18a5861.entry.js → p-110486f0.entry.js} +2 -2
  260. package/dist/core/{p-b18a5861.entry.js.map → p-110486f0.entry.js.map} +1 -1
  261. package/dist/core/{p-a30d165d.entry.js → p-123bd8ce.entry.js} +2 -2
  262. package/dist/core/p-123bd8ce.entry.js.map +1 -0
  263. package/dist/core/{p-1334a78f.entry.js → p-12d4803e.entry.js} +2 -2
  264. package/dist/core/{p-8d73a3cc.entry.js → p-19c4cc6c.entry.js} +2 -2
  265. package/dist/core/p-19c4cc6c.entry.js.map +1 -0
  266. package/dist/core/p-19ecd2a6.entry.js +2 -0
  267. package/dist/core/p-19ecd2a6.entry.js.map +1 -0
  268. package/dist/core/{p-d154b26c.entry.js → p-1b31a720.entry.js} +2 -2
  269. package/dist/core/{p-a4582939.entry.js → p-1bfead5b.entry.js} +2 -2
  270. package/dist/core/p-1bfead5b.entry.js.map +1 -0
  271. package/dist/core/{p-08fd225f.entry.js → p-214a48c6.entry.js} +2 -2
  272. package/dist/core/p-236dc1a6.entry.js +2 -0
  273. package/dist/core/p-236dc1a6.entry.js.map +1 -0
  274. package/dist/core/{p-0848efa2.entry.js → p-2c7e9e71.entry.js} +2 -2
  275. package/dist/core/{p-ef25bb6d.entry.js → p-2d9c36a6.entry.js} +2 -2
  276. package/dist/core/{p-ef25bb6d.entry.js.map → p-2d9c36a6.entry.js.map} +1 -1
  277. package/dist/core/{p-b8aa37f9.entry.js → p-336be00c.entry.js} +2 -2
  278. package/dist/core/{p-5dc25d11.entry.js → p-37df68fe.entry.js} +2 -2
  279. package/dist/core/{p-5dc25d11.entry.js.map → p-37df68fe.entry.js.map} +1 -1
  280. package/dist/core/{p-272352cb.entry.js → p-38f612b0.entry.js} +2 -2
  281. package/dist/core/p-3cf6ca89.entry.js +2 -0
  282. package/dist/core/p-3cf6ca89.entry.js.map +1 -0
  283. package/dist/core/{p-4da17eda.entry.js → p-3ee70c45.entry.js} +2 -2
  284. package/dist/core/{p-762a4d7c.entry.js → p-46f64dc5.entry.js} +2 -2
  285. package/dist/core/p-48465394.entry.js +2 -0
  286. package/dist/core/{p-4e5934f3.entry.js.map → p-48465394.entry.js.map} +1 -1
  287. package/dist/core/{p-cd9e1ffa.entry.js → p-50f4d151.entry.js} +2 -2
  288. package/dist/core/{p-cd9e1ffa.entry.js.map → p-50f4d151.entry.js.map} +1 -1
  289. package/dist/core/p-520dce89.entry.js +2 -0
  290. package/dist/core/p-520dce89.entry.js.map +1 -0
  291. package/dist/core/{p-22e0ed96.entry.js → p-5bd43e19.entry.js} +2 -2
  292. package/dist/core/{p-da798f58.entry.js → p-5ec11974.entry.js} +2 -2
  293. package/dist/core/p-643a94c2.entry.js +2 -0
  294. package/dist/core/p-643a94c2.entry.js.map +1 -0
  295. package/dist/core/{p-be5ad372.entry.js → p-65ddc948.entry.js} +2 -2
  296. package/dist/core/p-69f6db9f.entry.js +2 -0
  297. package/dist/core/p-69f6db9f.entry.js.map +1 -0
  298. package/dist/core/p-6cfd6b56.entry.js +2 -0
  299. package/dist/core/{p-144b1dee.entry.js.map → p-6cfd6b56.entry.js.map} +1 -1
  300. package/dist/core/{p-507ec499.entry.js → p-701696aa.entry.js} +2 -2
  301. package/dist/core/{p-507ec499.entry.js.map → p-701696aa.entry.js.map} +1 -1
  302. package/dist/core/p-7b13ccd0.entry.js +2 -0
  303. package/dist/core/p-7b13ccd0.entry.js.map +1 -0
  304. package/dist/core/p-7d054704.js +2 -0
  305. package/dist/core/p-7d054704.js.map +1 -0
  306. package/dist/core/{p-e13b43b1.entry.js → p-8402fcf7.entry.js} +2 -2
  307. package/dist/core/p-858dd362.entry.js +2 -0
  308. package/dist/core/p-858dd362.entry.js.map +1 -0
  309. package/dist/core/p-87c92ab1.entry.js +2 -0
  310. package/dist/core/p-87c92ab1.entry.js.map +1 -0
  311. package/dist/core/{p-0e3cb8d0.entry.js → p-8856dff4.entry.js} +2 -2
  312. package/dist/core/{p-00135a74.js → p-8e4e97b4.js} +3 -3
  313. package/dist/core/p-8e4e97b4.js.map +1 -0
  314. package/dist/core/{p-32720276.entry.js → p-91b8ee39.entry.js} +2 -2
  315. package/dist/core/{p-fd42f129.entry.js → p-91d5efc0.entry.js} +2 -2
  316. package/dist/core/p-91d5efc0.entry.js.map +1 -0
  317. package/dist/core/p-944ea274.entry.js +2 -0
  318. package/dist/core/p-944ea274.entry.js.map +1 -0
  319. package/dist/core/p-951669ca.entry.js +2 -0
  320. package/dist/core/p-951669ca.entry.js.map +1 -0
  321. package/dist/core/{p-b6db0cc1.entry.js → p-9bf0ce9e.entry.js} +2 -2
  322. package/dist/core/{p-afc4ce53.entry.js → p-9e5e6070.entry.js} +2 -2
  323. package/dist/core/{p-a214a9f8.entry.js → p-a12dd148.entry.js} +2 -2
  324. package/dist/core/{p-a214a9f8.entry.js.map → p-a12dd148.entry.js.map} +1 -1
  325. package/dist/core/p-a2fcea60.entry.js +2 -0
  326. package/dist/core/p-a2fcea60.entry.js.map +1 -0
  327. package/dist/core/{p-60a0c711.entry.js → p-a6031c41.entry.js} +2 -2
  328. package/dist/core/{p-60a0c711.entry.js.map → p-a6031c41.entry.js.map} +1 -1
  329. package/dist/core/{p-3d1ba098.entry.js → p-b006976c.entry.js} +2 -2
  330. package/dist/core/p-b17f6b1d.entry.js +2 -0
  331. package/dist/core/p-b17f6b1d.entry.js.map +1 -0
  332. package/dist/core/{p-0c3bd9e6.entry.js → p-b334a20d.entry.js} +2 -2
  333. package/dist/core/p-b603b9ef.entry.js +2 -0
  334. package/dist/core/p-b603b9ef.entry.js.map +1 -0
  335. package/dist/core/{p-3e9564b5.entry.js → p-b88ae211.entry.js} +2 -2
  336. package/dist/core/{p-5d85bd73.entry.js → p-b953b22f.entry.js} +2 -2
  337. package/dist/core/{p-5d85bd73.entry.js.map → p-b953b22f.entry.js.map} +1 -1
  338. package/dist/core/p-b9e73154.js +2 -0
  339. package/dist/core/p-b9e73154.js.map +1 -0
  340. package/dist/core/p-bb9142fe.entry.js +2 -0
  341. package/dist/core/{p-a13dc5ba.entry.js.map → p-bb9142fe.entry.js.map} +1 -1
  342. package/dist/core/{p-48163a2a.entry.js → p-c1dbb35b.entry.js} +2 -2
  343. package/dist/core/{p-48163a2a.entry.js.map → p-c1dbb35b.entry.js.map} +1 -1
  344. package/dist/core/{p-0fd762bf.entry.js → p-c1f653d4.entry.js} +2 -2
  345. package/dist/core/p-c1f653d4.entry.js.map +1 -0
  346. package/dist/core/{p-96551ddf.entry.js → p-c3f26b24.entry.js} +2 -2
  347. package/dist/core/p-c86ca475.js +2 -0
  348. package/dist/core/p-c86ca475.js.map +1 -0
  349. package/dist/core/{p-fd006a9b.entry.js → p-ca5d3a21.entry.js} +2 -2
  350. package/dist/core/{p-f541034c.entry.js → p-cd0dbcea.entry.js} +2 -2
  351. package/dist/core/p-cda2a461.entry.js +2 -0
  352. package/dist/core/p-cda2a461.entry.js.map +1 -0
  353. package/dist/core/p-ed416362.entry.js +2 -0
  354. package/dist/core/p-ed416362.entry.js.map +1 -0
  355. package/dist/core/{p-b17e7059.entry.js → p-f2beca5c.entry.js} +2 -2
  356. package/dist/core/{p-b17e7059.entry.js.map → p-f2beca5c.entry.js.map} +1 -1
  357. package/dist/core/p-f3bb5006.entry.js +2 -0
  358. package/dist/core/p-f3bb5006.entry.js.map +1 -0
  359. package/dist/core/{p-895a3eb1.entry.js → p-f5e9c8c8.entry.js} +2 -2
  360. package/dist/core/p-f5e9c8c8.entry.js.map +1 -0
  361. package/dist/core/{p-0e119312.entry.js → p-fa02a267.entry.js} +2 -2
  362. package/dist/core/{p-0e119312.entry.js.map → p-fa02a267.entry.js.map} +1 -1
  363. package/dist/core/{p-9f4fa820.entry.js → p-fa18f9c6.entry.js} +2 -2
  364. package/dist/core/{p-9f4fa820.entry.js.map → p-fa18f9c6.entry.js.map} +1 -1
  365. package/dist/core/p-fb01a001.entry.js +2 -0
  366. package/dist/core/p-fb01a001.entry.js.map +1 -0
  367. package/dist/esm/core.js +3 -3
  368. package/dist/esm/{date-helpers-0e5e32a7.js → date-helpers-3b8c39ab.js} +20 -66
  369. package/dist/esm/date-helpers-3b8c39ab.js.map +1 -0
  370. package/dist/esm/{helpers-bbab69a2.js → helpers-9fe45194.js} +42 -3
  371. package/dist/esm/helpers-9fe45194.js.map +1 -0
  372. package/dist/esm/{helpers-5479985d.js → helpers-ddc2008a.js} +16 -16
  373. package/dist/esm/helpers-ddc2008a.js.map +1 -0
  374. package/dist/esm/ic-accordion-group.entry.js +2 -2
  375. package/dist/esm/ic-accordion.entry.js +2 -2
  376. package/dist/esm/ic-alert.entry.js +2 -2
  377. package/dist/esm/ic-back-to-top.entry.js +2 -2
  378. package/dist/esm/ic-badge.entry.js +3 -3
  379. package/dist/esm/ic-badge.entry.js.map +1 -1
  380. package/dist/esm/ic-breadcrumb-group.entry.js +2 -2
  381. package/dist/esm/ic-breadcrumb.entry.js +2 -2
  382. package/dist/esm/ic-button_3.entry.js +3 -3
  383. package/dist/esm/ic-button_3.entry.js.map +1 -1
  384. package/dist/esm/ic-card-horizontal.entry.js +16 -12
  385. package/dist/esm/ic-card-horizontal.entry.js.map +1 -1
  386. package/dist/esm/ic-card-vertical.entry.js +3 -3
  387. package/dist/esm/ic-card-vertical.entry.js.map +1 -1
  388. package/dist/esm/ic-checkbox-group.entry.js +7 -7
  389. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  390. package/dist/esm/{ic-empty-state_2.entry.js → ic-checkbox_3.entry.js} +158 -25
  391. package/dist/esm/ic-checkbox_3.entry.js.map +1 -0
  392. package/dist/esm/ic-chip.entry.js +3 -3
  393. package/dist/esm/ic-chip.entry.js.map +1 -1
  394. package/dist/esm/ic-classification-banner.entry.js +3 -3
  395. package/dist/esm/ic-classification-banner.entry.js.map +1 -1
  396. package/dist/esm/ic-data-list.entry.js +1 -1
  397. package/dist/esm/ic-data-row.entry.js +2 -2
  398. package/dist/esm/ic-data-table-title-bar.entry.js +7 -7
  399. package/dist/esm/ic-data-table-title-bar.entry.js.map +1 -1
  400. package/dist/esm/ic-data-table.entry.js +310 -276
  401. package/dist/esm/ic-data-table.entry.js.map +1 -1
  402. package/dist/esm/ic-date-input.entry.js +130 -148
  403. package/dist/esm/ic-date-input.entry.js.map +1 -1
  404. package/dist/esm/ic-date-picker.entry.js +87 -70
  405. package/dist/esm/ic-date-picker.entry.js.map +1 -1
  406. package/dist/esm/ic-dialog.entry.js +38 -47
  407. package/dist/esm/ic-dialog.entry.js.map +1 -1
  408. package/dist/esm/ic-divider.entry.js +2 -2
  409. package/dist/esm/ic-footer-link-group.entry.js +2 -2
  410. package/dist/esm/ic-footer-link.entry.js +2 -2
  411. package/dist/esm/ic-footer.entry.js +2 -2
  412. package/dist/esm/ic-hero.entry.js +2 -2
  413. package/dist/esm/ic-horizontal-scroll.entry.js +2 -2
  414. package/dist/esm/ic-input-component-container_3.entry.js +3 -3
  415. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  416. package/dist/esm/ic-input-label_2.entry.js +2 -2
  417. package/dist/esm/ic-link.entry.js +2 -2
  418. package/dist/esm/ic-menu-group.entry.js +2 -2
  419. package/dist/esm/ic-menu-item.entry.js +2 -2
  420. package/dist/esm/ic-navigation-button.entry.js +2 -2
  421. package/dist/esm/ic-navigation-group.entry.js +25 -22
  422. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  423. package/dist/esm/ic-navigation-item.entry.js +2 -2
  424. package/dist/esm/ic-navigation-menu.entry.js +7 -7
  425. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  426. package/dist/esm/ic-page-header.entry.js +12 -11
  427. package/dist/esm/ic-page-header.entry.js.map +1 -1
  428. package/dist/esm/ic-pagination_4.entry.js +52 -29
  429. package/dist/esm/ic-pagination_4.entry.js.map +1 -1
  430. package/dist/esm/ic-popover-menu.entry.js +6 -6
  431. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  432. package/dist/esm/ic-radio-group.entry.js +7 -7
  433. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  434. package/dist/esm/ic-radio-option.entry.js +2 -2
  435. package/dist/esm/ic-search-bar.entry.js +3 -3
  436. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  437. package/dist/esm/ic-section-container.entry.js +3 -3
  438. package/dist/esm/ic-section-container.entry.js.map +1 -1
  439. package/dist/esm/ic-side-navigation.entry.js +7 -7
  440. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  441. package/dist/esm/ic-skeleton.entry.js +3 -3
  442. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  443. package/dist/esm/ic-skip-link.entry.js +3 -3
  444. package/dist/esm/ic-skip-link.entry.js.map +1 -1
  445. package/dist/esm/ic-status-tag.entry.js +5 -5
  446. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  447. package/dist/esm/ic-step.entry.js +16 -16
  448. package/dist/esm/ic-step.entry.js.map +1 -1
  449. package/dist/esm/ic-stepper.entry.js +4 -4
  450. package/dist/esm/ic-stepper.entry.js.map +1 -1
  451. package/dist/esm/ic-switch.entry.js +6 -6
  452. package/dist/esm/ic-switch.entry.js.map +1 -1
  453. package/dist/esm/ic-tab-context.entry.js +2 -2
  454. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  455. package/dist/esm/ic-tab-group.entry.js +4 -4
  456. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  457. package/dist/esm/ic-tab-panel.entry.js +3 -3
  458. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  459. package/dist/esm/ic-tab.entry.js +3 -3
  460. package/dist/esm/ic-tab.entry.js.map +1 -1
  461. package/dist/esm/ic-theme.entry.js +3 -3
  462. package/dist/esm/ic-theme.entry.js.map +1 -1
  463. package/dist/esm/ic-toast-region.entry.js +2 -2
  464. package/dist/esm/ic-toast-region.entry.js.map +1 -1
  465. package/dist/esm/ic-toast.entry.js +6 -6
  466. package/dist/esm/ic-toast.entry.js.map +1 -1
  467. package/dist/esm/ic-toggle-button-group.entry.js +4 -4
  468. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  469. package/dist/esm/ic-toggle-button.entry.js +5 -5
  470. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  471. package/dist/esm/ic-top-navigation.entry.js +5 -9
  472. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  473. package/dist/esm/ic-tree-item.entry.js +35 -42
  474. package/dist/esm/ic-tree-item.entry.js.map +1 -1
  475. package/dist/esm/ic-tree-view.entry.js +25 -21
  476. package/dist/esm/ic-tree-view.entry.js.map +1 -1
  477. package/dist/esm/ic-typography.entry.js +2 -2
  478. package/dist/esm/{index-163fe708.js → index-a7a720e7.js} +6 -11
  479. package/dist/esm/index-a7a720e7.js.map +1 -0
  480. package/dist/esm/loader.js +3 -3
  481. package/dist/types/components/ic-card-horizontal/ic-card-horizontal.d.ts +3 -3
  482. package/dist/types/components/ic-data-table/ic-data-table.d.ts +30 -20
  483. package/dist/types/components/ic-data-table/ic-data-table.stories.d.ts +3 -9
  484. package/dist/types/components/ic-data-table/story-data.d.ts +15 -4
  485. package/dist/types/components/ic-date-input/ic-date-input.d.ts +34 -28
  486. package/dist/types/components/ic-date-picker/ic-date-picker.d.ts +14 -12
  487. package/dist/types/components/ic-date-picker/ic-day-button.d.ts +2 -2
  488. package/dist/types/components/ic-date-picker/ic-month-picker.d.ts +3 -3
  489. package/dist/types/components/ic-date-picker/ic-year-picker.d.ts +3 -3
  490. package/dist/types/components/ic-pagination-bar/ic-pagination-bar.d.ts +2 -2
  491. package/dist/types/components/ic-tree-item/ic-tree-item.d.ts +3 -3
  492. package/dist/types/components/ic-tree-view/ic-tree-view.d.ts +4 -4
  493. package/dist/types/components.d.ts +95 -72
  494. package/dist/types/utils/date-helpers.d.ts +4 -4
  495. package/dist/types/utils/helpers.d.ts +6 -15
  496. package/hydrate/index.js +898 -851
  497. package/hydrate/index.mjs +898 -851
  498. package/package.json +3 -3
  499. package/dist/cjs/date-helpers-c9551119.js.map +0 -1
  500. package/dist/cjs/helpers-32016c21.js.map +0 -1
  501. package/dist/cjs/helpers-fc51fdcb.js.map +0 -1
  502. package/dist/cjs/ic-checkbox.cjs.entry.js +0 -141
  503. package/dist/cjs/ic-checkbox.cjs.entry.js.map +0 -1
  504. package/dist/cjs/ic-empty-state_2.cjs.entry.js.map +0 -1
  505. package/dist/cjs/index-8a24b20c.js.map +0 -1
  506. package/dist/core/p-00135a74.js.map +0 -1
  507. package/dist/core/p-0ad472d0.entry.js +0 -2
  508. package/dist/core/p-0ad472d0.entry.js.map +0 -1
  509. package/dist/core/p-0c97a53d.entry.js +0 -2
  510. package/dist/core/p-0c97a53d.entry.js.map +0 -1
  511. package/dist/core/p-0efeab8a.entry.js +0 -2
  512. package/dist/core/p-0efeab8a.entry.js.map +0 -1
  513. package/dist/core/p-0f6b9686.js +0 -2
  514. package/dist/core/p-0f6b9686.js.map +0 -1
  515. package/dist/core/p-0fd762bf.entry.js.map +0 -1
  516. package/dist/core/p-144b1dee.entry.js +0 -2
  517. package/dist/core/p-1cf61bf2.entry.js +0 -2
  518. package/dist/core/p-1cf61bf2.entry.js.map +0 -1
  519. package/dist/core/p-250bf568.entry.js +0 -2
  520. package/dist/core/p-250bf568.entry.js.map +0 -1
  521. package/dist/core/p-33dd24eb.js +0 -2
  522. package/dist/core/p-33dd24eb.js.map +0 -1
  523. package/dist/core/p-4e5934f3.entry.js +0 -2
  524. package/dist/core/p-4f00aa91.entry.js +0 -2
  525. package/dist/core/p-4f00aa91.entry.js.map +0 -1
  526. package/dist/core/p-54e01fad.entry.js +0 -2
  527. package/dist/core/p-54e01fad.entry.js.map +0 -1
  528. package/dist/core/p-6040a025.entry.js +0 -2
  529. package/dist/core/p-6040a025.entry.js.map +0 -1
  530. package/dist/core/p-62f7f2bd.entry.js +0 -2
  531. package/dist/core/p-62f7f2bd.entry.js.map +0 -1
  532. package/dist/core/p-6eaf585a.entry.js +0 -2
  533. package/dist/core/p-6eaf585a.entry.js.map +0 -1
  534. package/dist/core/p-72310da8.js +0 -2
  535. package/dist/core/p-72310da8.js.map +0 -1
  536. package/dist/core/p-836d302a.entry.js +0 -2
  537. package/dist/core/p-836d302a.entry.js.map +0 -1
  538. package/dist/core/p-881bb783.entry.js +0 -2
  539. package/dist/core/p-881bb783.entry.js.map +0 -1
  540. package/dist/core/p-895a3eb1.entry.js.map +0 -1
  541. package/dist/core/p-8d73a3cc.entry.js.map +0 -1
  542. package/dist/core/p-9a46b1e5.entry.js +0 -2
  543. package/dist/core/p-9a46b1e5.entry.js.map +0 -1
  544. package/dist/core/p-a13dc5ba.entry.js +0 -2
  545. package/dist/core/p-a30d165d.entry.js.map +0 -1
  546. package/dist/core/p-a4582939.entry.js.map +0 -1
  547. package/dist/core/p-a7f95a61.entry.js +0 -2
  548. package/dist/core/p-a7f95a61.entry.js.map +0 -1
  549. package/dist/core/p-a81c9048.entry.js +0 -2
  550. package/dist/core/p-a81c9048.entry.js.map +0 -1
  551. package/dist/core/p-c0687222.entry.js +0 -2
  552. package/dist/core/p-c0687222.entry.js.map +0 -1
  553. package/dist/core/p-c2aef5cc.entry.js +0 -2
  554. package/dist/core/p-c2aef5cc.entry.js.map +0 -1
  555. package/dist/core/p-c4f7e479.entry.js +0 -2
  556. package/dist/core/p-c4f7e479.entry.js.map +0 -1
  557. package/dist/core/p-fb11ce9b.entry.js +0 -2
  558. package/dist/core/p-fb11ce9b.entry.js.map +0 -1
  559. package/dist/core/p-fba58c42.entry.js +0 -2
  560. package/dist/core/p-fba58c42.entry.js.map +0 -1
  561. package/dist/core/p-fd42f129.entry.js.map +0 -1
  562. package/dist/esm/date-helpers-0e5e32a7.js.map +0 -1
  563. package/dist/esm/helpers-5479985d.js.map +0 -1
  564. package/dist/esm/helpers-bbab69a2.js.map +0 -1
  565. package/dist/esm/ic-checkbox.entry.js.map +0 -1
  566. package/dist/esm/ic-empty-state_2.entry.js.map +0 -1
  567. package/dist/esm/index-163fe708.js.map +0 -1
  568. /package/dist/core/{p-1334a78f.entry.js.map → p-12d4803e.entry.js.map} +0 -0
  569. /package/dist/core/{p-d154b26c.entry.js.map → p-1b31a720.entry.js.map} +0 -0
  570. /package/dist/core/{p-08fd225f.entry.js.map → p-214a48c6.entry.js.map} +0 -0
  571. /package/dist/core/{p-0848efa2.entry.js.map → p-2c7e9e71.entry.js.map} +0 -0
  572. /package/dist/core/{p-b8aa37f9.entry.js.map → p-336be00c.entry.js.map} +0 -0
  573. /package/dist/core/{p-272352cb.entry.js.map → p-38f612b0.entry.js.map} +0 -0
  574. /package/dist/core/{p-4da17eda.entry.js.map → p-3ee70c45.entry.js.map} +0 -0
  575. /package/dist/core/{p-762a4d7c.entry.js.map → p-46f64dc5.entry.js.map} +0 -0
  576. /package/dist/core/{p-22e0ed96.entry.js.map → p-5bd43e19.entry.js.map} +0 -0
  577. /package/dist/core/{p-da798f58.entry.js.map → p-5ec11974.entry.js.map} +0 -0
  578. /package/dist/core/{p-be5ad372.entry.js.map → p-65ddc948.entry.js.map} +0 -0
  579. /package/dist/core/{p-e13b43b1.entry.js.map → p-8402fcf7.entry.js.map} +0 -0
  580. /package/dist/core/{p-0e3cb8d0.entry.js.map → p-8856dff4.entry.js.map} +0 -0
  581. /package/dist/core/{p-32720276.entry.js.map → p-91b8ee39.entry.js.map} +0 -0
  582. /package/dist/core/{p-b6db0cc1.entry.js.map → p-9bf0ce9e.entry.js.map} +0 -0
  583. /package/dist/core/{p-afc4ce53.entry.js.map → p-9e5e6070.entry.js.map} +0 -0
  584. /package/dist/core/{p-3d1ba098.entry.js.map → p-b006976c.entry.js.map} +0 -0
  585. /package/dist/core/{p-0c3bd9e6.entry.js.map → p-b334a20d.entry.js.map} +0 -0
  586. /package/dist/core/{p-3e9564b5.entry.js.map → p-b88ae211.entry.js.map} +0 -0
  587. /package/dist/core/{p-96551ddf.entry.js.map → p-c3f26b24.entry.js.map} +0 -0
  588. /package/dist/core/{p-fd006a9b.entry.js.map → p-ca5d3a21.entry.js.map} +0 -0
  589. /package/dist/core/{p-f541034c.entry.js.map → p-cd0dbcea.entry.js.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  /* eslint-disable @typescript-eslint/explicit-module-boundary-types */
2
2
  import readme from "./readme.md";
3
- import { ActionElement, Basic, CellDescriptions, CellOverrides, ColumnOverrides, CustomIcons, CustomRowHeights, CustomTitleBar, DataTableSizing, Dense, DevArea, DisableSort, Embedded, Empty, EmptySlotted, ExcludeColumnsFromSort, HeaderTruncation, LargeDataSet, LinksHTMLElements, Loading, LongCellDescriptions, MissingCellData, Pagination, RowHeaders, RowOverrides, Scrollable, SlottedElementsWithPagination, SlottedPagination, Sort, SortOptions, Spacious, TruncationShowHide, TruncationTextWrap, TruncationTooltip, TurnOffSelectedRowHighlighting, Updating, UpdatingData, } from "./story-data";
3
+ import { ActionElement, Basic, CellDescriptions, CellOverrides, ColumnOverrides, CustomIcons, CustomRowHeights, CustomTitleBar, DataTableSizing, Dense, DevArea, DisableSort, Embedded, Empty, EmptySlotted, ExcludeColumnsFromSort, HeaderTruncation, LargeDataSet, LinksHTMLElements, Loading, LongCellDescriptions, MissingCellData, Pagination, RowHeaders, RowOverrides, Scrollable, SlottedElementsWithPagination, SlottedPagination, Sort, SortOptions, Spacious, TruncationShowHide, TruncationTextWrap, TruncationTooltip, Updating, UpdatingData, SelectWithCheckbox, } from "./story-data";
4
4
  export default {
5
5
  title: "Web Components/Data Table",
6
6
  component: "ic-data-table",
@@ -402,15 +402,14 @@ export const MissingCellDataExample = {
402
402
  name: "Missing cell data",
403
403
  };
404
404
  /**
405
- * The example below demonstrates the table being configured to not highlight the selected row.
405
+ * By setting `row-selection` to `true`, `ic-checkbox` elements will appear in the leftmost column, with one in the header.
406
+ * When checked, the corresponding row will be selected, with the `icSelectedRowChange` containing the selected row and an array of all the currently selected rows.
407
+ *
408
+ * 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.
406
409
  */
407
- export const TurnOffRowHighlighting = {
408
- render: () => TurnOffSelectedRowHighlighting(),
409
- name: "Turn off selected row highlighting",
410
- };
411
- export const SelectedRowChangeEventExample = {
412
- render: () => SelectedRowChangeEventExample(),
413
- name: "Selected row change event",
410
+ export const SelectRowsUsingCheckboxExample = {
411
+ render: () => SelectWithCheckbox(),
412
+ name: "Select rows with checkbox",
414
413
  };
415
414
  export const DevAreaExample = {
416
415
  render: () => DevArea(),
@@ -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 DisableSort,\n Embedded,\n Empty,\n EmptySlotted,\n ExcludeColumnsFromSort,\n HeaderTruncation,\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 TurnOffSelectedRowHighlighting,\n Updating,\n UpdatingData,\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 * 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 * 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 * The example below demonstrates the table being configured to not highlight the selected row.\n */\nexport const TurnOffRowHighlighting = {\n render: () => TurnOffSelectedRowHighlighting(),\n name: \"Turn off selected row highlighting\",\n};\n\nexport const SelectedRowChangeEventExample = {\n render: () => SelectedRowChangeEventExample(),\n name: \"Selected row change event\",\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":"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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 DisableSort,\n Embedded,\n Empty,\n EmptySlotted,\n ExcludeColumnsFromSort,\n HeaderTruncation,\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 * 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 * 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"]}
@@ -1526,9 +1526,9 @@ export const SlottedElementsWithPagination = () => {
1526
1526
  };
1527
1527
  return dataTable;
1528
1528
  };
1529
- export const Empty = () => createDataTableElement("Empty State", COLS, null);
1529
+ export const Empty = () => createDataTableElement("Empty State", COLS, undefined);
1530
1530
  export const EmptySlotted = () => {
1531
- const dataTable = createDataTableElement("Empty State", COLS, null);
1531
+ const dataTable = createDataTableElement("Empty State", COLS, undefined);
1532
1532
  const emptyState = document.createElement("ic-empty-state");
1533
1533
  emptyState.setAttribute("aligned", "left");
1534
1534
  emptyState.setAttribute("heading", "Data source error");
@@ -1547,7 +1547,7 @@ export const Loading = () => {
1547
1547
  return dataTable;
1548
1548
  };
1549
1549
  export const EmptyLoading = () => {
1550
- const dataTable = createDataTableElement("Empty and Loading State", COLS, null);
1550
+ const dataTable = createDataTableElement("Empty and Loading State", COLS, undefined);
1551
1551
  setTimeout(() => {
1552
1552
  dataTable.setAttribute("loading", "true");
1553
1553
  setTimeout(() => (dataTable.data = DATA), 10);
@@ -1588,7 +1588,7 @@ export const CustomRowHeights = () => {
1588
1588
  export const TruncationShowHide = () => {
1589
1589
  const dataTable = CustomRowHeights().querySelector("ic-data-table");
1590
1590
  dataTable.globalRowHeight = 40;
1591
- dataTable.variableRowHeight = null;
1591
+ dataTable.variableRowHeight = undefined;
1592
1592
  dataTable.truncationPattern = "show-hide";
1593
1593
  const resetButton = document.createElement("ic-button");
1594
1594
  resetButton.addEventListener("click", () => dataTable.resetRowHeights(40));
@@ -1620,7 +1620,7 @@ export const TruncationShowHide = () => {
1620
1620
  export const TruncationTextWrap = () => {
1621
1621
  const dataTable = createDataTableElement("Text Wrap", COLUMNS_TEXT_WRAP, TEXT_WRAP_LONG_DATA);
1622
1622
  dataTable.globalRowHeight = 40;
1623
- dataTable.variableRowHeight = null;
1623
+ dataTable.variableRowHeight = undefined;
1624
1624
  const wrapper = document.createElement("div");
1625
1625
  wrapper.insertAdjacentElement("afterbegin", dataTable);
1626
1626
  return wrapper;
@@ -1628,7 +1628,7 @@ export const TruncationTextWrap = () => {
1628
1628
  export const TruncationTooltip = () => {
1629
1629
  const dataTable = CustomRowHeights().querySelector("ic-data-table");
1630
1630
  dataTable.globalRowHeight = 40;
1631
- dataTable.variableRowHeight = null;
1631
+ dataTable.variableRowHeight = undefined;
1632
1632
  dataTable.setAttribute("truncation-pattern", "tooltip");
1633
1633
  dataTable.setAttribute("sortable", "true");
1634
1634
  const resetButton = document.createElement("ic-button");
@@ -1750,22 +1750,21 @@ export const SlottedPagination = () => {
1750
1750
  };
1751
1751
  export const ActionElement = () => createDataTableElement("Action Element", COLS, ACTION_DATA_ELEMENTS);
1752
1752
  export const MissingCellData = () => createDataTableElement("Missing Cell Data", COLS, DATA_WITH_EMPTY_VALUES);
1753
- export const TurnOffSelectedRowHighlighting = () => {
1754
- const dataTable = createDataTableElement("Turn off selected row highlighting", COLS, DATA);
1755
- dataTable.setAttribute("highlight-selected-row", "false");
1756
- return dataTable;
1757
- };
1758
- export const SelectedRowChangeEvent = () => {
1759
- const dataTable = createDataTableElement("Turn off selected row highlighting", COLS, DATA);
1753
+ export const SelectWithCheckbox = () => {
1754
+ const dataTable = createDataTableElement("Select using checkboxes", COLS, DATA);
1755
+ dataTable.setAttribute("row-selection", "true");
1760
1756
  dataTable.addEventListener("icSelectedRowChange", (event) => {
1761
1757
  console.log("Selected row changed", event.detail);
1762
1758
  });
1759
+ dataTable.addEventListener("icSelectAllRows", (event) => {
1760
+ console.log("Selected all rows", event.detail);
1761
+ });
1763
1762
  return dataTable;
1764
1763
  };
1765
1764
  export const DevArea = () => {
1766
1765
  const dataTable = createDataTableElement("Basic Table", COLS, VERY_LONG_DATA(5));
1767
1766
  dataTable.sortable = true;
1768
- dataTable.variableRowHeight = null;
1767
+ dataTable.variableRowHeight = undefined;
1769
1768
  dataTable.showPagination = true;
1770
1769
  const description = document.createElement("ic-typography");
1771
1770
  description.innerHTML = `