@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,7 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h, Fragment, Host } from '@stencil/core/internal/client';
2
2
  import { d as dynamicDebounce, b as isEmptyString, p as pxToRem, i as isSlotUsed, c as addDataToPosition, e as deviceSizeMatches, f as getSlotElements, h as checkResizeObserver, j as IC_DEVICE_SIZES } from './helpers2.js';
3
- import { d as defineCustomElement$h } from './ic-button2.js';
3
+ import { d as defineCustomElement$i } from './ic-button2.js';
4
+ import { d as defineCustomElement$h } from './ic-checkbox2.js';
4
5
  import { d as defineCustomElement$g } from './ic-empty-state2.js';
5
6
  import { d as defineCustomElement$f } from './ic-input-component-container2.js';
6
7
  import { d as defineCustomElement$e } from './ic-input-container2.js';
@@ -29,7 +30,7 @@ const descendingIcon = `<svg focusable="false" aria-hidden="true" viewBox="0 0 2
29
30
  <path d="M16.01 11H4v2h12.01v3L20 12l-3.99-4z"></path>
30
31
  </svg>`;
31
32
 
32
- const icDataTableCss = ":host{position:relative;display:inline-flex;max-height:100%;width:var(--table-width, 100%);height:100%;min-width:var(--table-min-width);max-width:var(--table-max-width)}tbody{vertical-align:top}.table-container{position:relative;height:calc(100% - var(--ic-space-xxxs));display:flex;flex-direction:column;width:100%}.cell-container{display:flex;min-height:1.5rem;overflow-y:hidden;height:var(--row-height);--ic-typography-color:var(--ic-data-table-text-default-emphasis)}.truncation-show-hide{display:block}.cell-icon.truncation-show-hide{display:flex}.cell-container:not(.data-type-element,.truncation-show-hide){overflow-x:hidden}ic-loading-indicator{position:sticky;top:20px}.table-row-container{position:relative;height:100%;overflow:auto;transition:var(--ic-easing-transition-fast);overflow-anchor:none}:host([show-pagination=\"true\"]) .table-row-container{height:calc(100% - 3.5625rem)}table{table-layout:var(--table-layout, \"fixed\");border-spacing:0;width:100%;height:var(--table-height, auto)}.table-row-container:focus{outline:none;box-shadow:var(--ic-border-focus);border-radius:var(--ic-border-radius);transition:var(--ic-easing-transition-fast);z-index:1}:host([embedded=\"true\"]) .table-row-container{border:var(--ic-space-1px) solid var(--ic-data-table-border)}.column-header-inner-container{padding:var(--ic-space-xs);box-sizing:border-box}.column-header-inner-container ic-tooltip{pointer-events:none}.column-header-inner-container ic-tooltip.show-trunc-tooltip{pointer-events:auto}.column-header-inner-container ic-tooltip .column-header-text{--ic-line-clamp:1}.column-header-sticky{position:sticky;top:0;z-index:1}.column-header-overlay{position:sticky;top:0;z-index:1;box-shadow:0 0.375rem var(--ic-space-xs) calc(var(--ic-space-xxs * -1))\n rgb(0 0 0 / 20%)}.row-header-sticky{position:sticky;left:0}.column-header,.table-row{box-sizing:border-box}.table-row-selected{background-color:var(--ic-data-table-cell-background-selected) !important}.table-row:hover{background-color:var(--ic-data-table-cell-background-hover) !important}.table-row-selected:hover{background-color:var(\n --ic-data-table-cell-background-selected-hover\n ) !important}.sort-button{margin-left:auto}.sort-button:hover{background-color:var(--ic-data-table-icon-button-background-hover)}.sort-button:active{background-color:var(--ic-data-table-icon-button-background-pressed)}.sort-button svg{color:var(--ic-data-table-sort-toggle-icon)}.sort-button-unsorted svg{color:var(--ic-data-table-sort-toggle-icon-default)}.table-density-dense .column-header-inner-container,td.table-density-dense{padding:var(--ic-space-xxs) var(--ic-space-xs) !important}.text-dense{font-size:var(--ic-font-size-label)}.table-density-spacious .column-header-inner-container,td.table-density-spacious{padding:0.625rem var(--ic-space-xs) !important}.text-spacious{font-size:1.125rem}.column-header-text{font-weight:var(--ic-font-weight-bold)}.dummy-column-header-text{white-space:nowrap;overflow:hidden;height:0;width:-moz-fit-content;width:fit-content}.row-header,.column-header{text-align:left;padding:var(--ic-space-xs);background-color:var(--ic-data-table-header-background);border-right:var(--ic-space-1px) solid var(--ic-data-table-header-keyline);border-bottom:var(--ic-space-1px) solid var(--ic-data-table-header-keyline);color:var(--ic-data-table-header-text)}.column-header{padding:0;width:var(--column-width);min-width:var(--column-min-width, 4rem);max-width:var(--column-max-width)}.column-header:last-child{border-right:none}.scrollable .column-header:last-child{border-right:var(--ic-space-1px) solid var(--ic-data-table-header-keyline) !important}:host([embedded=\"true\"]) tr:last-child .table-cell,:host([embedded=\"true\"]) tr:last-child .row-header{border-bottom:none}.column-header-alignment-left,.row-header-alignment-left,.cell-alignment-left{text-align:left !important;justify-content:start !important}.column-header-alignment-right,.row-header-alignment-right,.cell-alignment-right{text-align:right !important;justify-content:end !important}.cell-alignment-right.truncation-tooltip ic-tooltip ic-typography{padding-right:calc(var(--ic-space-xxs) + var(--ic-space-xs))}.cell-alignment-right.truncation-show-hide ic-typography{--ellipsis-padding-right:calc(var(--ic-space-xxs) + var(--ic-space-xs))}.column-header-alignment-center,.row-header-alignment-center,.cell-alignment-center{text-align:center !important;justify-content:center !important}.table-row{background-color:var(--ic-data-table-cell-background)}.table-row:nth-child(even){background-color:var(--ic-data-table-cell-background-stripe)}.table-cell{padding:var(--ic-space-xs);border-bottom:solid var(--ic-data-table-cell-keyline) var(--ic-space-1px);overflow:hidden;box-sizing:border-box;max-width:var(--column-max-width);min-width:var(--column-min-width)}.table-cell.with-overflow{overflow:visible}.data-type-string,.data-type-address{text-align:left;vertical-align:top}.data-type-number,.data-type-date{text-align:right;justify-content:end;vertical-align:top}.cell-alignment-top{vertical-align:top;align-items:flex-start}.cell-alignment-middle{vertical-align:middle;align-items:center}.cell-alignment-bottom{vertical-align:bottom;align-items:flex-end}.cell-emphasis-low ic-typography{--ic-typography-color:var(--ic-data-table-text-low-emphasis)}.cell-emphasis-high ic-typography{--ic-typography-color:var(--ic-data-table-text-high-emphasis);font-weight:var(--ic-font-weight-bold)}.pagination-container{background-color:var(--ic-data-table-pagination-bar-background-color);border-top:var(--ic-space-1px) solid\n var(--ic-data-table-pagination-bar-keyline)}.screen-reader-sort-text,.table-caption{position:absolute;left:-100rem}.table-cell,.column-header,.row-header{word-wrap:break-word;white-space:pre-wrap}.loading-empty{padding:var(--ic-space-xl) var(--ic-space-xxl);margin-top:var(--ic-space-xl)}.updating-state{padding:0;border-bottom:var(--ic-space-1px) solid var(--ic-data-table-header-keyline)}.updating-state-headers{border-bottom:none}.loading{position:absolute;left:calc(50% - 5.9741rem);opacity:0;transition:opacity var(--ic-transition-duration-slow);z-index:calc(var(--ic-z-index-dialog) - 1);background-color:var(--ic-data-table-overlay-background);border:var(--ic-space-1px) solid var(--ic-data-table-overlay-border)}.loading.show{opacity:1}.icon,::slotted(svg){height:var(--ic-space-lg);width:var(--ic-space-lg);margin-right:var(--ic-space-xxs)}.column-header .icon>svg,.column-header ::slotted(svg){fill:var(--ic-data-table-icon)}.table-cell .icon>svg,.table-cell ::slotted(svg),.cell-description-icon>svg{fill:var(--ic-data-table-icon-default-emphasis)}.cell-emphasis-high .icon>svg,.cell-emphasis-high ::slotted(svg){fill:var(--ic-data-table-icon-high-emphasis)}.cell-emphasis-low .icon>svg,.cell-emphasis-low ::slotted(svg){fill:var(--ic-data-table-icon-low-emphasis)}.column-header-alignment-right>.icon,.row-header-alignment-right>.icon,.cell-alignment-right>.icon,.column-header-alignment-right>::slotted(svg),.row-header-alignment-right>::slotted(svg),.cell-alignment-right>::slotted(svg){margin-right:auto}.column-header-alignment-center>ic-typography,.column-header-alignment-center>.cell-text-wrapper,.row-header-alignment-right>ic-typography,.row-header-alignment-right>.cell-text-wrapper,.cell-alignment-center>ic-typography,.cell-alignment-center>.cell-text-wrapper{flex:1}.icon>svg{height:var(--ic-space-lg);width:var(--ic-space-lg);display:inline-block}.truncation-tooltip ic-typography{display:-webkit-box;-webkit-line-clamp:var(--ic-line-clamp, 0);-webkit-box-orient:vertical;overflow:hidden}.truncation-tooltip ic-typography,.truncation-show-hide ic-typography{white-space:normal}.ic-tooltip-overflow{overflow:hidden;width:100%}.action-element{display:flex;justify-content:right}.cell-grid-wrapper{display:grid;grid-template-columns:auto auto}.loading-overlay{visibility:hidden;position:absolute;top:0;left:0;width:100%;height:100%;background:var(--ic-data-table-loading-indicator-overlay-background);z-index:calc(var(--ic-z-index-dialog) - 2);opacity:0;transition:opacity var(--ic-transition-duration-slow)}.loading-overlay.show{visibility:visible;opacity:0.6}.sr-only{position:absolute;left:-9999px}@media (prefers-reduced-motion: reduce){.loading-overlay{transition:none}}.cell-text-wrapper{overflow:hidden}.cell-text-wrapper>ic-typography{margin-left:2px}.cell-text-no-wrap{word-wrap:initial}.cell-container-with-description{display:flex;flex-direction:row}.cell-description{display:flex;flex-direction:row;margin-top:var(--ic-space-xxs);word-break:break-all}.cell-description-text{color:var(--ic-data-table-cell-description-text)}.cell-description-icon{padding-right:var(--ic-space-xs)}.cell-description-icon>svg{height:calc(var(--ic-space-lg) - var(--ic-space-xxs));width:calc(var(--ic-space-lg) - var(--ic-space-xxs));display:flex}@media (min-width: 577px){.column-header-inner-container{display:flex;align-items:center}}@media (max-width: 577px){.cell-icon{flex-wrap:wrap}.cell-description-icon{padding-right:0}}@media (forced-colors: active){.icon,::slotted(svg),.cell-description-icon>svg{fill:currentcolor}.sort-button svg{color:currentcolor}.table-row-selected{background-color:Highlight !important}}";
33
+ const icDataTableCss = ":host{position:relative;display:inline-flex;max-height:100%;width:var(--table-width, 100%);height:100%;min-width:var(--table-min-width);max-width:var(--table-max-width)}tbody{vertical-align:top}.table-container{position:relative;height:calc(100% - var(--ic-space-xxxs));display:flex;flex-direction:column;width:100%}.cell-container{display:flex;min-height:1.5rem;overflow-y:hidden;height:var(--row-height);--ic-typography-color:var(--ic-data-table-text-default-emphasis)}.truncation-show-hide{display:block}.cell-icon.truncation-show-hide{display:flex}.cell-container:not(.data-type-element,.truncation-show-hide){overflow-x:hidden}ic-loading-indicator{position:sticky;top:20px}.table-row-container{position:relative;height:100%;overflow:auto;transition:var(--ic-easing-transition-fast);overflow-anchor:none}:host([show-pagination=\"true\"]) .table-row-container{height:calc(100% - 3.5625rem)}table{table-layout:var(--table-layout, \"fixed\");border-spacing:0;width:100%;height:var(--table-height, auto)}.table-row-container:focus{outline:none;box-shadow:var(--ic-border-focus);border-radius:var(--ic-border-radius);transition:var(--ic-easing-transition-fast);z-index:1}:host([embedded=\"true\"]) .table-row-container{border:var(--ic-space-1px) solid var(--ic-data-table-border)}.column-header-inner-container{padding:var(--ic-space-xs);box-sizing:border-box}.column-header-inner-container ic-tooltip{pointer-events:none}.column-header-inner-container ic-tooltip.show-trunc-tooltip{pointer-events:auto}.column-header-inner-container ic-tooltip .column-header-text{--ic-line-clamp:1}.column-header-sticky{position:sticky;top:0;z-index:1}.column-header-overlay{position:sticky;top:0;z-index:1;box-shadow:0 0.375rem var(--ic-space-xs) calc(var(--ic-space-xxs * -1))\n rgb(0 0 0 / 20%)}.row-header-sticky{position:sticky;left:0}.column-header,.table-row{box-sizing:border-box}.table-row-selected{background-color:var(--ic-data-table-cell-background-selected) !important}.table-row:hover{background-color:var(--ic-data-table-cell-background-hover) !important}.table-row-selected:hover{background-color:var(\n --ic-data-table-cell-background-selected-hover\n ) !important}.sort-button{margin-left:auto}.sort-button:hover{background-color:var(--ic-data-table-icon-button-background-hover)}.sort-button:active{background-color:var(--ic-data-table-icon-button-background-pressed)}.sort-button svg{color:var(--ic-data-table-sort-toggle-icon)}.sort-button-unsorted svg{color:var(--ic-data-table-sort-toggle-icon-default)}.table-density-dense .column-header-inner-container,td.table-density-dense{padding:var(--ic-space-xxs) var(--ic-space-xs) !important}.text-dense{font-size:var(--ic-font-size-label)}.table-density-spacious .column-header-inner-container,td.table-density-spacious{padding:0.625rem var(--ic-space-xs) !important}.text-spacious{font-size:1.125rem}.column-header-text{font-weight:var(--ic-font-weight-bold)}.dummy-column-header-text{white-space:nowrap;overflow:hidden;height:0;width:-moz-fit-content;width:fit-content}.row-header,.column-header{text-align:left;padding:var(--ic-space-xs);background-color:var(--ic-data-table-header-background);border-right:var(--ic-space-1px) solid var(--ic-data-table-header-keyline);border-bottom:var(--ic-space-1px) solid var(--ic-data-table-header-keyline);color:var(--ic-data-table-header-text)}.column-header{padding:0;width:var(--column-width);min-width:var(--column-min-width, 4rem);max-width:var(--column-max-width)}.column-header:last-child{border-right:none}.scrollable .column-header:last-child{border-right:var(--ic-space-1px) solid var(--ic-data-table-header-keyline) !important}:host([embedded=\"true\"]) tr:last-child .table-cell,:host([embedded=\"true\"]) tr:last-child .row-header{border-bottom:none}.column-header-alignment-left,.row-header-alignment-left,.cell-alignment-left{text-align:left !important;justify-content:start !important}.column-header-alignment-right,.row-header-alignment-right,.cell-alignment-right{text-align:right !important;justify-content:end !important}.cell-alignment-right.truncation-tooltip ic-tooltip ic-typography{padding-right:calc(var(--ic-space-xxs) + var(--ic-space-xs))}.cell-alignment-right.truncation-show-hide ic-typography{--ellipsis-padding-right:calc(var(--ic-space-xxs) + var(--ic-space-xs))}.column-header-alignment-center,.row-header-alignment-center,.cell-alignment-center{text-align:center !important;justify-content:center !important}.table-row{background-color:var(--ic-data-table-cell-background)}.table-row:nth-child(even){background-color:var(--ic-data-table-cell-background-stripe)}.table-cell{padding:var(--ic-space-xs);border-bottom:solid var(--ic-data-table-cell-keyline) var(--ic-space-1px);overflow:hidden;box-sizing:border-box;max-width:var(--column-max-width);min-width:var(--column-min-width)}.table-cell.with-overflow{overflow:visible}.data-type-string,.data-type-address{text-align:left;vertical-align:top}.data-type-number,.data-type-date{text-align:right;justify-content:end;vertical-align:top}.cell-alignment-top{vertical-align:top;align-items:flex-start}.cell-alignment-middle{vertical-align:middle;align-items:center}.cell-alignment-bottom{vertical-align:bottom;align-items:flex-end}.cell-emphasis-low ic-typography{--ic-typography-color:var(--ic-data-table-text-low-emphasis)}.cell-emphasis-high ic-typography{--ic-typography-color:var(--ic-data-table-text-high-emphasis);font-weight:var(--ic-font-weight-bold)}.pagination-container{background-color:var(--ic-data-table-pagination-bar-background-color);border-top:var(--ic-space-1px) solid\n var(--ic-data-table-pagination-bar-keyline)}.screen-reader-sort-text,.table-caption{position:absolute;left:-100rem}.table-cell,.column-header,.row-header{word-wrap:break-word;white-space:pre-wrap}.loading-empty{padding:var(--ic-space-xl) var(--ic-space-xxl);margin-top:var(--ic-space-xl)}.updating-state{padding:0;border-bottom:var(--ic-space-1px) solid var(--ic-data-table-header-keyline)}.updating-state-headers{border-bottom:none}.loading{position:absolute;left:calc(50% - 5.9741rem);opacity:0;transition:opacity var(--ic-transition-duration-slow);z-index:calc(var(--ic-z-index-dialog) - 1);background-color:var(--ic-data-table-overlay-background);border:var(--ic-space-1px) solid var(--ic-data-table-overlay-border)}.loading.show{opacity:1}.icon,::slotted(svg){height:var(--ic-space-lg);width:var(--ic-space-lg);margin-right:var(--ic-space-xxs)}.column-header .icon>svg,.column-header ::slotted(svg){fill:var(--ic-data-table-icon)}.table-cell .icon>svg,.table-cell ::slotted(svg),.cell-description-icon>svg{fill:var(--ic-data-table-icon-default-emphasis)}.cell-emphasis-high .icon>svg,.cell-emphasis-high ::slotted(svg){fill:var(--ic-data-table-icon-high-emphasis)}.cell-emphasis-low .icon>svg,.cell-emphasis-low ::slotted(svg){fill:var(--ic-data-table-icon-low-emphasis)}.column-header-alignment-right>.icon,.row-header-alignment-right>.icon,.cell-alignment-right>.icon,.column-header-alignment-right>::slotted(svg),.row-header-alignment-right>::slotted(svg),.cell-alignment-right>::slotted(svg){margin-right:auto}.column-header-alignment-center>ic-typography,.column-header-alignment-center>.cell-text-wrapper,.row-header-alignment-right>ic-typography,.row-header-alignment-right>.cell-text-wrapper,.cell-alignment-center>ic-typography,.cell-alignment-center>.cell-text-wrapper{flex:1}.checkbox-cell{--column-width:var(--ic-space-xxl);align-content:center;border-right:none}.table-density-dense.checkbox-cell{--column-width:2.5rem}.checkbox-wrapper{display:flex;justify-content:center}.icon>svg{height:var(--ic-space-lg);width:var(--ic-space-lg);display:inline-block}.truncation-tooltip ic-typography{display:-webkit-box;-webkit-line-clamp:var(--ic-line-clamp, 0);-webkit-box-orient:vertical;overflow:hidden}.truncation-tooltip ic-typography,.truncation-show-hide ic-typography{white-space:normal}.ic-tooltip-overflow{overflow:hidden;width:100%}.action-element{display:flex;justify-content:right}.cell-grid-wrapper{display:grid;grid-template-columns:auto auto}.loading-overlay{visibility:hidden;position:absolute;top:0;left:0;width:100%;height:100%;background:var(--ic-data-table-loading-indicator-overlay-background);z-index:calc(var(--ic-z-index-dialog) - 2);opacity:0;transition:opacity var(--ic-transition-duration-slow)}.loading-overlay.show{visibility:visible;opacity:0.6}.sr-only{position:absolute;left:-9999px}@media (prefers-reduced-motion: reduce){.loading-overlay{transition:none}}.cell-text-wrapper{overflow:hidden}.cell-text-wrapper>ic-typography{margin-left:2px}.cell-text-no-wrap{word-wrap:initial}.cell-container-with-description{display:flex;flex-direction:row}.cell-description{display:flex;flex-direction:row;margin-top:var(--ic-space-xxs);word-break:break-all}.cell-description-text{color:var(--ic-data-table-cell-description-text)}.cell-description-icon{padding-right:var(--ic-space-xs)}.cell-description-icon>svg{height:calc(var(--ic-space-lg) - var(--ic-space-xxs));width:calc(var(--ic-space-lg) - var(--ic-space-xxs));display:flex}@media (min-width: 577px){.column-header-inner-container{display:flex;align-items:center}}@media (max-width: 577px){.cell-icon{flex-wrap:wrap}.cell-description-icon{padding-right:0}}@media (forced-colors: active){.icon,::slotted(svg),.cell-description-icon>svg{fill:currentcolor}.sort-button svg{color:currentcolor}.table-row-selected{background-color:Highlight !important}}";
33
34
  const IcDataTableStyle0 = icDataTableCss;
34
35
 
35
36
  const DataTable = /*@__PURE__*/ proxyCustomElement(class DataTable extends HTMLElement {
@@ -38,6 +39,7 @@ const DataTable = /*@__PURE__*/ proxyCustomElement(class DataTable extends HTMLE
38
39
  this.__registerHost();
39
40
  this.__attachShadow();
40
41
  this.icRowHeightChange = createEvent(this, "icRowHeightChange", 7);
42
+ this.icSelectAllRows = createEvent(this, "icSelectAllRows", 7);
41
43
  this.icSelectedRowChange = createEvent(this, "icSelectedRowChange", 7);
42
44
  this.icSortChange = createEvent(this, "icSortChange", 7);
43
45
  this.DENSITY_HEIGHT_MULTIPLIER = {
@@ -85,6 +87,7 @@ const DataTable = /*@__PURE__*/ proxyCustomElement(class DataTable extends HTMLE
85
87
  this.fromRow = 0;
86
88
  this.scrollable = false;
87
89
  this.scrollOffset = 0;
90
+ this.selectedRows = [];
88
91
  this.debounceDelay = 0;
89
92
  /**
90
93
  * Determines whether the column header should be truncated and display a tooltip. Default is `false`.
@@ -106,10 +109,6 @@ const DataTable = /*@__PURE__*/ proxyCustomElement(class DataTable extends HTMLE
106
109
  * Sets the row height on all rows in the table that aren't set using the `variableRowHeight` method.
107
110
  */
108
111
  this.globalRowHeight = "auto";
109
- /**
110
- * If `true`, the selected row is highlighted using a background colour.
111
- */
112
- this.highlightSelectedRow = true;
113
112
  /**
114
113
  * If `true`, column headers will not be visible.
115
114
  */
@@ -144,6 +143,10 @@ const DataTable = /*@__PURE__*/ proxyCustomElement(class DataTable extends HTMLE
144
143
  showItemsPerPageControl: true,
145
144
  type: "simple",
146
145
  };
146
+ /**
147
+ * If `true`, a checkbox column will be displayed to the left of the table which allows multiple rows to be selected.
148
+ */
149
+ this.rowSelection = false;
147
150
  /**
148
151
  * If `true`, adds a pagination bar to the bottom of the table.
149
152
  */
@@ -186,11 +189,12 @@ const DataTable = /*@__PURE__*/ proxyCustomElement(class DataTable extends HTMLE
186
189
  this.headerResizeObserver.observe(this.el);
187
190
  };
188
191
  this.headerResizeCallback = () => {
192
+ var _a, _b, _c;
189
193
  if (!this.hideColumnHeaders && this.columnHeaderTruncation) {
190
- const tableContainerWidth = this.el.shadowRoot.querySelector(".table-container").clientWidth;
191
- if (tableContainerWidth !== this.prevTableContainerWidth) {
192
- const headers = this.el.shadowRoot.querySelectorAll("th.column-header");
193
- headers.forEach((header) => {
194
+ const tableContainerWidth = (_b = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(".table-container")) === null || _b === void 0 ? void 0 : _b.clientWidth;
195
+ if (tableContainerWidth &&
196
+ tableContainerWidth !== this.prevTableContainerWidth) {
197
+ (_c = this.el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelectorAll("th.column-header").forEach((header) => {
194
198
  const tooltip = header.querySelector(this.IC_TOOLTIP_STRING);
195
199
  const typographyEls = header.querySelectorAll(this.IC_TYPOGRAPHY_STRING);
196
200
  if (tooltip && typographyEls && typographyEls.length === 2) {
@@ -204,49 +208,46 @@ const DataTable = /*@__PURE__*/ proxyCustomElement(class DataTable extends HTMLE
204
208
  }
205
209
  }
206
210
  };
211
+ this.getRowHeight = (cellContainer) => parseInt(getComputedStyle(document.documentElement).fontSize) *
212
+ parseFloat(cellContainer.getAttribute(this.DATA_ROW_HEIGHT_STRING) || "");
207
213
  this.updateSetRowHeight = (typographyEl) => {
208
- const fontSize = parseInt(getComputedStyle(document.documentElement).fontSize);
209
- if (typographyEl) {
210
- const cellContainer = this.getCellContainer(typographyEl);
211
- const rowHeight = fontSize *
212
- parseFloat(cellContainer.getAttribute(this.DATA_ROW_HEIGHT_STRING));
213
- if (typographyEl.scrollHeight > rowHeight) {
214
+ const removeRowHeightVariable = (element) => {
215
+ const cellContainer = this.getCellContainer(element);
216
+ if (cellContainer &&
217
+ element.scrollHeight > this.getRowHeight(cellContainer)) {
214
218
  cellContainer.style.removeProperty(this.ROW_HEIGHT_CSS_VARIABLE);
215
219
  }
220
+ };
221
+ if (typographyEl) {
222
+ removeRowHeightVariable(typographyEl);
216
223
  }
217
224
  else {
218
225
  this.getTypographyElements().forEach((typographyEl) => {
219
- const cellContainer = this.getCellContainer(typographyEl);
220
- const rowHeight = fontSize *
221
- parseFloat(cellContainer.getAttribute(this.DATA_ROW_HEIGHT_STRING));
222
- if (typographyEl.scrollHeight > rowHeight) {
223
- cellContainer.style.removeProperty(this.ROW_HEIGHT_CSS_VARIABLE);
224
- }
226
+ removeRowHeightVariable(typographyEl);
225
227
  });
226
228
  }
227
229
  };
228
230
  this.debounceDataTruncation = () => {
229
231
  this.getTypographyElements().forEach((typographyEl) => {
230
232
  const cellContainer = this.getCellContainer(typographyEl);
231
- if (!cellContainer.classList.contains(this.TEXT_WRAP_STRING)) {
233
+ if (cellContainer &&
234
+ !cellContainer.classList.contains(this.TEXT_WRAP_STRING)) {
232
235
  this.resizeObserver = new ResizeObserver(
233
236
  // This gets triggered twice due to updated data and see more/see less button
234
237
  dynamicDebounce(() => {
235
238
  this.dataTruncation(typographyEl);
236
239
  if (!this.isNewDebounceDelaySet) {
237
- this.setNewDebounceDelay(200);
240
+ this.debounceDelay = 200;
241
+ this.isNewDebounceDelaySet = true;
238
242
  }
239
243
  }, () => this.debounceDelay));
240
244
  this.resizeObserver.observe(typographyEl);
241
245
  }
242
246
  });
243
247
  };
244
- this.setNewDebounceDelay = (delay) => {
245
- this.debounceDelay = delay;
246
- this.isNewDebounceDelaySet = true;
247
- };
248
248
  this.getLines = (height) => Math.floor(height / this.DEFAULT_LINE_HEIGHT);
249
249
  this.truncate = (typographyEl, cellContainer, tooltip) => {
250
+ var _a;
250
251
  if ((typographyEl === null || typographyEl === void 0 ? void 0 : typographyEl.scrollHeight) > (cellContainer === null || cellContainer === void 0 ? void 0 : cellContainer.clientHeight)) {
251
252
  //24 is the height of a single line
252
253
  if (!typographyEl.closest(this.TEXT_WRAP_CLASS)) {
@@ -261,33 +262,36 @@ const DataTable = /*@__PURE__*/ proxyCustomElement(class DataTable extends HTMLE
261
262
  else {
262
263
  if (this.truncationPattern === this.TOOLTIP_STRING && tooltip) {
263
264
  typographyEl.setAttribute("style", `${this.LINE_CLAMP_CSS_VARIABLE}: 0`);
264
- const cellTextWrapper = cellContainer.querySelector(this.CELL_TEXT_WRAPPER_STRING);
265
- cellTextWrapper.prepend(typographyEl);
265
+ (_a = cellContainer
266
+ .querySelector(this.CELL_TEXT_WRAPPER_STRING)) === null || _a === void 0 ? void 0 : _a.prepend(typographyEl);
266
267
  tooltip.remove();
267
268
  }
268
269
  if (this.truncationPattern === this.SHOW_HIDE_STRING &&
269
- !isEmptyString(typographyEl.getAttribute("max-lines"))) {
270
+ !isEmptyString(typographyEl === null || typographyEl === void 0 ? void 0 : typographyEl.getAttribute("max-lines"))) {
270
271
  this.resetShowHideTruncation(typographyEl);
271
272
  }
272
273
  }
273
274
  };
274
275
  this.dataTruncation = (typographyEl) => {
276
+ var _a;
275
277
  // Tooltip truncation mentioned in AC. Will need revisiting
276
278
  const tooltip = this.getTooltip(typographyEl);
277
279
  const cellContainer = this.getCellContainer(typographyEl);
278
- if ((cellContainer === null || cellContainer === void 0 ? void 0 : cellContainer.classList.contains("data-type-element")) ||
280
+ if (!cellContainer ||
281
+ cellContainer.classList.contains("data-type-element") ||
279
282
  this.dataUpdated) {
280
283
  return;
281
284
  }
282
285
  if (this.truncationPattern === this.SHOW_HIDE_STRING &&
283
- typographyEl.shadowRoot.querySelector("button")) {
286
+ ((_a = typographyEl.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector("button"))) {
284
287
  const showHideBtn = typographyEl.shadowRoot.querySelector("button");
285
288
  // If the see more/see less is present and the max lines is equal to the cell container
286
289
  // remove the see more/see less button
287
290
  if (showHideBtn) {
288
291
  const truncWrapper = this.getTruncWrapper(typographyEl);
289
- if (this.getLines(truncWrapper.scrollHeight) ===
290
- +typographyEl.getAttribute("max-lines")) {
292
+ if (truncWrapper &&
293
+ this.getLines(truncWrapper.scrollHeight) ===
294
+ Number(typographyEl.getAttribute("max-lines"))) {
291
295
  this.resetShowHideTruncation(typographyEl);
292
296
  }
293
297
  }
@@ -317,18 +321,16 @@ const DataTable = /*@__PURE__*/ proxyCustomElement(class DataTable extends HTMLE
317
321
  }
318
322
  this.truncate(typographyEl, cellContainer, tooltip);
319
323
  };
320
- this.getTruncWrapper = (typographyEl) => typographyEl.shadowRoot.querySelector(".trunc-wrapper");
324
+ this.getTruncWrapper = (typographyEl) => { var _a; return (_a = typographyEl.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(".trunc-wrapper"); };
321
325
  this.removeTextWrap = () => {
322
326
  this.getTypographyElements().forEach((typographyEl) => {
323
327
  const tableCell = typographyEl.closest("td");
324
- if (tableCell.classList.contains(this.TEXT_WRAP_STRING)) {
328
+ if (tableCell === null || tableCell === void 0 ? void 0 : tableCell.classList.contains(this.TEXT_WRAP_STRING)) {
325
329
  tableCell.classList.remove(this.TEXT_WRAP_STRING);
326
330
  }
327
331
  });
328
332
  };
329
- this.getCellContainer = (typographyEl) => {
330
- return typographyEl.closest(".cell-container");
331
- };
333
+ this.getCellContainer = (typographyEl) => typographyEl.closest(".cell-container");
332
334
  this.deleteTextWrapDataKey = (array) => Array.isArray(array) &&
333
335
  array.forEach((val) => val.textWrap && delete val.textWrap);
334
336
  this.startLoadingTimer = () => {
@@ -336,7 +338,7 @@ const DataTable = /*@__PURE__*/ proxyCustomElement(class DataTable extends HTMLE
336
338
  this.timerStarted = Date.now();
337
339
  setTimeout(() => {
338
340
  this.hasLoadedForOneSecond = true;
339
- this.timerStarted = null;
341
+ this.timerStarted = 0;
340
342
  }, this.minimumLoadingDisplayDuration);
341
343
  };
342
344
  this.isObject = (value) => value !== undefined && value !== null && typeof value === "object";
@@ -365,32 +367,28 @@ const DataTable = /*@__PURE__*/ proxyCustomElement(class DataTable extends HTMLE
365
367
  const { description, max, min, progress, monochrome } = this.updatingOptions || {};
366
368
  return (h("th", { colSpan: this.columns.length, class: "updating-state" }, h("ic-loading-indicator", { theme: this.theme, monochrome: monochrome, description: description || "Updating table data", fullWidth: true, max: max, min: min, progress: progress, type: "linear", size: "small" })));
367
369
  };
368
- this.setRowHeight = (height) => {
369
- return pxToRem(`${height * this.DENSITY_HEIGHT_MULTIPLIER[this.density] -
370
- this.DENSITY_PADDING_HEIGHT_DIFF[this.density]}px`);
371
- };
370
+ this.setRowHeight = (height) => pxToRem(`${height * this.DENSITY_HEIGHT_MULTIPLIER[this.density] -
371
+ this.DENSITY_PADDING_HEIGHT_DIFF[this.density]}px`);
372
372
  this.setTruncationClass = () => this.truncationPattern
373
373
  ? { [`truncation-${this.truncationPattern}`]: true }
374
374
  : {};
375
375
  this.getColumnWidth = (columnWidth) => {
376
376
  // TODO: Setting max width on columns
377
377
  let columnWidthStyling = {};
378
- if (columnWidth) {
379
- if (typeof columnWidth === "string") {
380
- columnWidthStyling = Object.assign(Object.assign({}, columnWidthStyling), { ["--column-width"]: columnWidth });
378
+ if (typeof columnWidth === "string") {
379
+ columnWidthStyling = Object.assign(Object.assign({}, columnWidthStyling), { ["--column-width"]: columnWidth });
380
+ }
381
+ else if (columnWidth && Object.keys(columnWidth).length > 0) {
382
+ if (columnWidth.minWidth) {
383
+ columnWidthStyling = Object.assign(Object.assign({}, columnWidthStyling), { ["--column-min-width"]: columnWidth.minWidth });
381
384
  }
382
- if (typeof columnWidth === "object" && !!Object.keys(columnWidth)) {
383
- if (columnWidth === null || columnWidth === void 0 ? void 0 : columnWidth.minWidth) {
384
- columnWidthStyling = Object.assign(Object.assign({}, columnWidthStyling), { ["--column-min-width"]: columnWidth === null || columnWidth === void 0 ? void 0 : columnWidth.minWidth });
385
- }
386
- if (columnWidth === null || columnWidth === void 0 ? void 0 : columnWidth.maxWidth) {
387
- columnWidthStyling = Object.assign(Object.assign({}, columnWidthStyling), { ["--column-max-width"]: columnWidth === null || columnWidth === void 0 ? void 0 : columnWidth.maxWidth });
388
- }
385
+ if (columnWidth.maxWidth) {
386
+ columnWidthStyling = Object.assign(Object.assign({}, columnWidthStyling), { ["--column-max-width"]: columnWidth.maxWidth });
389
387
  }
390
388
  }
391
389
  return columnWidthStyling;
392
390
  };
393
- this.getRowHeight = (currentRowHeight, columnProps, rowTextWrap, cell) => {
391
+ this.getCalculatedRowHeight = (columnProps, rowTextWrap, cell, currentRowHeight) => {
394
392
  if ((this.truncationPattern || currentRowHeight) &&
395
393
  !(columnProps === null || columnProps === void 0 ? void 0 : columnProps.textWrap) &&
396
394
  !rowTextWrap &&
@@ -403,20 +401,22 @@ const DataTable = /*@__PURE__*/ proxyCustomElement(class DataTable extends HTMLE
403
401
  return {};
404
402
  };
405
403
  this.adjustWidthForActionElement = () => {
406
- const elements = this.el.shadowRoot.querySelectorAll(".action-element");
407
- elements.forEach((element) => {
404
+ var _a;
405
+ const elements = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll(".action-element");
406
+ elements === null || elements === void 0 ? void 0 : elements.forEach((element) => {
408
407
  const width = element.firstChild.getBoundingClientRect()
409
408
  .width;
410
409
  const gridWrapper = element.closest(".cell-grid-wrapper");
411
- gridWrapper.style.gridTemplateColumns = `auto calc(${width}px + var(--ic-space-xs))`;
410
+ if (gridWrapper)
411
+ gridWrapper.style.gridTemplateColumns = `auto calc(${width}px + var(--ic-space-xs))`;
412
412
  });
413
413
  };
414
- this.createCellContent = (columnProps, cell, cellSlotName, rowOptions, rowAlignment, hasIcon, currentRowHeight, cellValue, rowEmphasis) => {
414
+ this.createCellContent = (columnProps, cell, cellSlotName, rowOptions, rowAlignment, hasIcon, cellValue, rowEmphasis, currentRowHeight) => {
415
415
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
416
416
  return (h("div", { innerHTML: (columnProps === null || columnProps === void 0 ? void 0 : columnProps.dataType) === "element" &&
417
417
  !isSlotUsed(this.el, cellSlotName)
418
418
  ? cell
419
- : null, class: Object.assign(Object.assign({ "cell-container": (columnProps === null || columnProps === void 0 ? void 0 : columnProps.dataType) !== "element", [`cell-alignment-${((_a = columnProps === null || columnProps === void 0 ? void 0 : columnProps.columnAlignment) === null || _a === void 0 ? void 0 : _a.vertical) ||
419
+ : undefined, class: Object.assign(Object.assign({ "cell-container": (columnProps === null || columnProps === void 0 ? void 0 : columnProps.dataType) !== "element", [`cell-alignment-${((_a = columnProps === null || columnProps === void 0 ? void 0 : columnProps.columnAlignment) === null || _a === void 0 ? void 0 : _a.vertical) ||
420
420
  ((_b = rowOptions === null || rowOptions === void 0 ? void 0 : rowOptions.rowAlignment) === null || _b === void 0 ? void 0 : _b.vertical) ||
421
421
  rowAlignment ||
422
422
  this.getCellAlignment(cell, "vertical")}`]: !!((_c = columnProps === null || columnProps === void 0 ? void 0 : columnProps.columnAlignment) === null || _c === void 0 ? void 0 : _c.vertical) ||
@@ -432,7 +432,7 @@ const DataTable = /*@__PURE__*/ proxyCustomElement(class DataTable extends HTMLE
432
432
  (columnProps === null || columnProps === void 0 ? void 0 : columnProps.emphasis) ||
433
433
  rowEmphasis}`]: (this.isObject(cell) && !!cellValue("emphasis")) ||
434
434
  !!(columnProps === null || columnProps === void 0 ? void 0 : columnProps.emphasis) ||
435
- !!rowEmphasis }, this.setTruncationClass()), { [this.CELL_CONTAINER_WITH_DESCRIPTION_STRING]: this.isObject(cell) && Object.keys(cell).includes("description") }), style: Object.assign(Object.assign({}, this.getRowHeight(currentRowHeight, columnProps, rowOptions === null || rowOptions === void 0 ? void 0 : rowOptions.textWrap, cell)), this.getColumnWidth(columnProps === null || columnProps === void 0 ? void 0 : columnProps.columnWidth)), "data-row-height": this.truncationPattern || currentRowHeight
435
+ !!rowEmphasis }, this.setTruncationClass()), { [this.CELL_CONTAINER_WITH_DESCRIPTION_STRING]: this.isObject(cell) && Object.keys(cell).includes("description") }), style: Object.assign(Object.assign({}, this.getCalculatedRowHeight(columnProps, rowOptions === null || rowOptions === void 0 ? void 0 : rowOptions.textWrap, cell, currentRowHeight)), this.getColumnWidth(columnProps === null || columnProps === void 0 ? void 0 : columnProps.columnWidth)), "data-row-height": this.truncationPattern || currentRowHeight
436
436
  ? this.setRowHeight(currentRowHeight)
437
437
  : null }, isSlotUsed(this.el, cellSlotName) ? (h("slot", { name: cellSlotName })) : (h(Fragment, null, isSlotUsed(this.el, `${cellSlotName}-icon`) ? (h("slot", { name: `${cellSlotName}-icon` })) : ((hasIcon || ((_k = columnProps === null || columnProps === void 0 ? void 0 : columnProps.icon) === null || _k === void 0 ? void 0 : _k.onAllCells)) &&
438
438
  (cellValue("icon") || ((_l = columnProps === null || columnProps === void 0 ? void 0 : columnProps.icon) === null || _l === void 0 ? void 0 : _l.icon)) && (h("span", { class: "icon", innerHTML: cellValue("icon") || ((_m = columnProps === null || columnProps === void 0 ? void 0 : columnProps.icon) === null || _m === void 0 ? void 0 : _m.icon) }))), (columnProps === null || columnProps === void 0 ? void 0 : columnProps.dataType) !== "element" &&
@@ -480,17 +480,18 @@ const DataTable = /*@__PURE__*/ proxyCustomElement(class DataTable extends HTMLE
480
480
  ["row-header-sticky"]: this.stickyRowHeaders,
481
481
  } }, cellValue("title")));
482
482
  }
483
+ const CellContent = this.createCellContent(columnProps, cell, cellSlotName, rowOptions, rowAlignment, hasIcon, cellValue, rowEmphasis, currentRowHeight || undefined);
483
484
  if (rowKeys[index] !== "rowOptions") {
484
485
  return (h("td", { class: {
485
486
  ["table-cell"]: true,
486
487
  [`table-density-${this.density}`]: this.notDefaultDensity(),
487
488
  ["with-overflow"]: (columnProps === null || columnProps === void 0 ? void 0 : columnProps.dataType) === "element",
488
489
  }, style: Object.assign({}, this.getColumnWidth(columnProps.columnWidth)) }, this.isObject(cell) &&
489
- Object.keys(cell).includes("actionElement") ? (h("div", { class: "cell-grid-wrapper" }, this.createCellContent(columnProps, cell, cellSlotName, rowOptions, rowAlignment, hasIcon, currentRowHeight, cellValue, rowEmphasis), h("span", { class: "action-element", innerHTML: cellValue("actionElement"),
490
+ Object.keys(cell).includes("actionElement") ? (h("div", { class: "cell-grid-wrapper" }, CellContent, h("span", { class: "action-element", innerHTML: cellValue("actionElement"),
490
491
  // eslint-disable-next-line react/jsx-no-bind
491
492
  onClick: cell.actionOnClick
492
493
  ? (event) => this.handleClick(event, cell.actionOnClick)
493
- : undefined }))) : (this.createCellContent(columnProps, cell, cellSlotName, rowOptions, rowAlignment, hasIcon, currentRowHeight, cellValue, rowEmphasis))));
494
+ : undefined }))) : (CellContent)));
494
495
  }
495
496
  });
496
497
  };
@@ -523,16 +524,28 @@ const DataTable = /*@__PURE__*/ proxyCustomElement(class DataTable extends HTMLE
523
524
  [`text-${this.density}`]: this.notDefaultDensity(),
524
525
  } }, title)))));
525
526
  this.onRowClick = (row) => {
526
- if (!this.loading && !this.updating) {
527
- this.icSelectedRowChange.emit(this.selectedRow !== row ? row : null);
528
- }
529
- this.selectedRow =
530
- this.selectedRow !== row && !this.loading && !this.updating && row;
527
+ const notCurrentlySelected = !this.selectedRows.includes(row);
528
+ this.selectedRows = notCurrentlySelected
529
+ ? [...this.selectedRows, row]
530
+ : this.selectedRows.filter((selectedRow) => selectedRow !== row);
531
+ this.icSelectedRowChange.emit({
532
+ row: notCurrentlySelected ? row : null,
533
+ selectedRows: this.selectedRows,
534
+ });
535
+ };
536
+ this.selectAllRows = () => {
537
+ this.selectedRows =
538
+ this.organisedData &&
539
+ this.selectedRows.length !== this.organisedData.length
540
+ ? [...this.organisedData]
541
+ : [];
542
+ this.icSelectAllRows.emit(this.selectedRows);
531
543
  };
532
544
  this.createRows = () => {
545
+ var _a, _b, _c;
533
546
  const data = this.showPagination
534
- ? this.data.slice(this.fromRow, this.toRow)
535
- : this.data.slice();
547
+ ? (_a = this.data) === null || _a === void 0 ? void 0 : _a.slice(this.fromRow, this.toRow)
548
+ : (_b = this.data) === null || _b === void 0 ? void 0 : _b.slice();
536
549
  const paginationOffset = this.showPagination ? this.fromRow : 0;
537
550
  /**
538
551
  * Ensures that createCells has a value in data to map over to actually render the slot.
@@ -540,7 +553,7 @@ const DataTable = /*@__PURE__*/ proxyCustomElement(class DataTable extends HTMLE
540
553
  * `addDataToPosition` used to add the element in the correct column order.
541
554
  * Adding empty string value in to give `createCells` something to loop over.
542
555
  */
543
- const organisedData = data.map((row, rowIndex) => {
556
+ this.organisedData = data === null || data === void 0 ? void 0 : data.map((row, rowIndex) => {
544
557
  const slottedColumns = this.columns
545
558
  .map(({ key }, index) => isSlotUsed(this.el, `${key}-${rowIndex + paginationOffset}`) && {
546
559
  key,
@@ -553,18 +566,19 @@ const DataTable = /*@__PURE__*/ proxyCustomElement(class DataTable extends HTMLE
553
566
  ? addDataToPosition(row, slottedColumns, "")
554
567
  : row;
555
568
  });
556
- return organisedData
557
- .sort(!this.sortable || this.disableAutoSort
569
+ return (_c = this.organisedData) === null || _c === void 0 ? void 0 : _c.sort(!this.sortable || this.disableAutoSort
558
570
  ? undefined
559
- : this.getSortFunction())
560
- .map((row, index) => {
561
- return (h("tr", {
562
- // eslint-disable-next-line react/jsx-no-bind
563
- onClick: () => this.onRowClick(row), class: {
564
- ["table-row"]: true,
565
- ["table-row-selected"]: this.highlightSelectedRow && this.selectedRow === row,
566
- }
567
- }, this.createCells(row, index + paginationOffset)));
571
+ : this.getSortFunction()).map((row, index) => {
572
+ const isRowSelected = this.rowSelection && this.selectedRows.includes(row);
573
+ const cellIndex = index + paginationOffset;
574
+ return (h("tr", { class: {
575
+ "table-row": true,
576
+ "table-row-selected": isRowSelected,
577
+ } }, this.rowSelection && (h("td", { class: {
578
+ "table-cell": true,
579
+ "checkbox-cell": true,
580
+ [`table-density-${this.density}`]: this.notDefaultDensity(),
581
+ } }, h("div", { class: "checkbox-wrapper" }, h("ic-checkbox", { class: "ic-data-table-checkbox", checked: isRowSelected, disabled: this.updating || this.loading, hideLabel: true, label: `${isRowSelected ? "Deselect" : "Select"} row ${cellIndex}`, onIcCheck: () => this.onRowClick(row), size: this.density === "dense" ? "small" : "medium", value: cellIndex })))), this.createCells(row, cellIndex)));
568
582
  });
569
583
  };
570
584
  this.getObjectValue = (cell, key) => Object.values(cell)[Object.keys(cell).indexOf(key)];
@@ -607,12 +621,11 @@ const DataTable = /*@__PURE__*/ proxyCustomElement(class DataTable extends HTMLE
607
621
  }
608
622
  };
609
623
  this.sortRows = (column) => {
610
- const sortButton = this.el.shadowRoot.querySelector(`#sort-button-${column}`);
624
+ var _a, _b, _c, _d;
611
625
  const sortOrders = this.sortOptions.sortOrders;
612
626
  if (column !== this.sortedColumn) {
613
627
  if (this.sortedColumn) {
614
- const previousSortedButton = this.el.shadowRoot.querySelector(`#sort-button-${this.sortedColumn}`);
615
- previousSortedButton.setAttribute("aria-label", this.getSortButtonLabel(column)); // Passing through unsorted column returns correct label for newly unsorted column
628
+ (_b = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(`#sort-button-${this.sortedColumn}`)) === null || _b === void 0 ? void 0 : _b.setAttribute("aria-label", this.getSortButtonLabel(column)); // Passing through unsorted column returns correct label for newly unsorted column
616
629
  }
617
630
  this.sortedColumn = column;
618
631
  this.sortedColumnOrder = "unsorted";
@@ -622,50 +635,57 @@ const DataTable = /*@__PURE__*/ proxyCustomElement(class DataTable extends HTMLE
622
635
  nextSortOrderIndex = 0;
623
636
  }
624
637
  this.sortedColumnOrder = sortOrders[nextSortOrderIndex];
625
- sortButton.setAttribute("aria-label", this.getSortButtonLabel(column));
638
+ (_d = (_c = this.el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector(`#sort-button-${column}`)) === null || _d === void 0 ? void 0 : _d.setAttribute("aria-label", this.getSortButtonLabel(column));
626
639
  this.tableSorted = true;
627
640
  this.icSortChange.emit({
628
641
  columnName: column,
629
642
  sorted: this.sortedColumnOrder,
630
643
  });
631
644
  };
645
+ /** Gets all `ic-typography`elements within the data table, excluding column headers and cell descriptions */
632
646
  this.getTypographyElements = () => {
633
- // Filter out column headers and cell descriptions
634
- return Array.from(this.el.shadowRoot.querySelectorAll("ic-typography:not(.column-header-text,.cell-description-text)"));
635
- };
636
- this.getTooltip = (typographyEl) => {
637
- return typographyEl.closest(this.TOOLTIP);
647
+ var _a;
648
+ return Array.from(((_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll("ic-typography:not(.column-header-text,.cell-description-text)")) || []);
638
649
  };
650
+ this.getTooltip = (typographyEl) => typographyEl.closest(this.TOOLTIP);
639
651
  this.updateTruncationTooltip = (removeTooltipOnly = false) => {
640
652
  this.getTypographyElements().forEach((typographyEl) => {
641
653
  const tooltip = this.getTooltip(typographyEl);
642
654
  const cellContainer = this.getCellContainer(typographyEl);
643
- if (typographyEl.closest(this.TEXT_WRAP_CLASS)) {
644
- this.removeTooltip(cellContainer, typographyEl, tooltip);
645
- typographyEl.setAttribute("style", `${this.LINE_CLAMP_CSS_VARIABLE}: 0`);
646
- return;
655
+ if (cellContainer) {
656
+ if (typographyEl.closest(this.TEXT_WRAP_CLASS)) {
657
+ this.removeTooltip(cellContainer, typographyEl, tooltip);
658
+ typographyEl.setAttribute("style", `${this.LINE_CLAMP_CSS_VARIABLE}: 0`);
659
+ return;
660
+ }
661
+ this.regenerateTooltip(cellContainer, typographyEl, tooltip, removeTooltipOnly);
647
662
  }
648
- this.regenerateTooltip(cellContainer, typographyEl, tooltip, removeTooltipOnly);
649
663
  });
650
664
  };
651
665
  this.updateScrollOffset = () => {
652
- this.scrollOffset = this.el.shadowRoot.querySelector(".table-row-container").scrollTop;
666
+ var _a;
667
+ const tableRowContainer = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(".table-row-container");
668
+ if (tableRowContainer)
669
+ this.scrollOffset = tableRowContainer.scrollTop;
653
670
  };
654
671
  this.updateRowHeightForDescriptions = (rowHeight, cellContainer) => {
655
- cellContainer.setAttribute("data-row-height", rowHeight.toString());
672
+ cellContainer.setAttribute(this.DATA_ROW_HEIGHT_STRING, rowHeight.toString());
656
673
  cellContainer.setAttribute("style", `${this.ROW_HEIGHT_CSS_VARIABLE}: ${rowHeight}px`);
657
674
  };
658
- // Method to update the row heights on cells with descriptions and tooltip truncation
675
+ /** Method to update the row heights on cells with descriptions and tooltip truncation */
659
676
  this.updateCellHeightsWithDescriptions = () => {
660
- const descriptions = this.el.shadowRoot.querySelectorAll(this.CELL_DESCRIPTION_STRING);
661
- descriptions.forEach((description) => {
677
+ var _a, _b;
678
+ (_b = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll(this.CELL_DESCRIPTION_STRING)) === null || _b === void 0 ? void 0 : _b.forEach((description) => {
662
679
  const cellContainer = description.closest(`.${this.CELL_CONTAINER_WITH_DESCRIPTION_STRING}`);
663
- const typography = cellContainer.querySelector(this.IC_TYPOGRAPHY_STRING);
680
+ const typography = cellContainer === null || cellContainer === void 0 ? void 0 : cellContainer.querySelector(this.IC_TYPOGRAPHY_STRING);
664
681
  const descriptionMarginTop = window
665
682
  .getComputedStyle(description)
666
683
  .getPropertyValue("margin-top");
667
684
  const descriptionHeight = description.clientHeight + parseInt(descriptionMarginTop, 10);
668
- if (this.globalRowHeight && this.globalRowHeight !== "auto") {
685
+ if (typography &&
686
+ cellContainer &&
687
+ this.globalRowHeight &&
688
+ this.globalRowHeight !== "auto") {
669
689
  if (!typography.textContent &&
670
690
  descriptionHeight + this.DEFAULT_LINE_HEIGHT > this.globalRowHeight) {
671
691
  this.updateRowHeightForDescriptions(descriptionHeight, cellContainer);
@@ -673,7 +693,7 @@ const DataTable = /*@__PURE__*/ proxyCustomElement(class DataTable extends HTMLE
673
693
  else if (this.truncationPattern === this.TOOLTIP_STRING) {
674
694
  if (descriptionHeight + this.DEFAULT_LINE_HEIGHT >
675
695
  this.globalRowHeight) {
676
- const cellIcon = cellContainer === null || cellContainer === void 0 ? void 0 : cellContainer.querySelector(".icon");
696
+ const cellIcon = cellContainer.querySelector(".icon");
677
697
  if (deviceSizeMatches(IC_DEVICE_SIZES.XS) && cellIcon) {
678
698
  // recalculate descriptionHeight as when a word break occurs this value changes
679
699
  // Additional spacing given for 300-400% zoom
@@ -690,7 +710,8 @@ const DataTable = /*@__PURE__*/ proxyCustomElement(class DataTable extends HTMLE
690
710
  // isn't overflowing the cell to trigger the show more button to appear.
691
711
  }
692
712
  else if (this.truncationPattern === this.SHOW_HIDE_STRING &&
693
- descriptionHeight + this.DEFAULT_LINE_HEIGHT > this.globalRowHeight &&
713
+ descriptionHeight + this.DEFAULT_LINE_HEIGHT >
714
+ this.globalRowHeight &&
694
715
  typography.style.getPropertyValue("--truncation-max-lines") !==
695
716
  "initial") {
696
717
  this.updateRowHeightForDescriptions(descriptionHeight + this.DEFAULT_LINE_HEIGHT, cellContainer);
@@ -718,40 +739,36 @@ const DataTable = /*@__PURE__*/ proxyCustomElement(class DataTable extends HTMLE
718
739
  return tableHostDimensions;
719
740
  };
720
741
  this.fixCellTooltip = (element) => {
721
- var _a, _b, _c;
722
- let tooltip;
742
+ var _a, _b;
743
+ let tooltip = null;
744
+ const tooltipChildElement = (_a = element.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(this.IC_TOOLTIP_STRING);
723
745
  if (element.tagName === "IC-TOOLTIP") {
724
746
  tooltip = element;
725
747
  }
726
- else if ((_a = element.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(this.IC_TOOLTIP_STRING)) {
727
- tooltip = (_b = element.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector(this.IC_TOOLTIP_STRING);
748
+ else if (tooltipChildElement) {
749
+ tooltip = tooltipChildElement;
728
750
  }
729
- else {
730
- if (((_c = element.children) === null || _c === void 0 ? void 0 : _c.length) > 0) {
731
- Array.from(element.children).forEach((el) => {
732
- this.fixCellTooltip(el);
733
- });
734
- }
735
- else {
736
- return;
737
- }
738
- }
739
- if (tooltip) {
740
- tooltip.setExternalPopperProps({
741
- strategy: "fixed",
751
+ else if (((_b = element.children) === null || _b === void 0 ? void 0 : _b.length) > 0) {
752
+ Array.from(element.children).forEach((el) => {
753
+ this.fixCellTooltip(el);
742
754
  });
743
755
  }
756
+ else {
757
+ return;
758
+ }
759
+ tooltip === null || tooltip === void 0 ? void 0 : tooltip.setExternalPopperProps({
760
+ strategy: "fixed",
761
+ });
744
762
  };
745
763
  this.fixCellTooltips = () => {
746
- const elements = this.el.shadowRoot.querySelectorAll(".data-type-element");
747
- elements.forEach((element) => {
764
+ var _a, _b, _c, _d;
765
+ (_b = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll(".data-type-element")) === null || _b === void 0 ? void 0 : _b.forEach((element) => {
748
766
  const slotElements = getSlotElements(element);
749
767
  slotElements === null || slotElements === void 0 ? void 0 : slotElements.forEach((slottedEl) => {
750
768
  this.fixCellTooltip(slottedEl);
751
769
  });
752
770
  });
753
- const actionElements = this.el.shadowRoot.querySelectorAll(".action-element");
754
- actionElements === null || actionElements === void 0 ? void 0 : actionElements.forEach((actionElementSpan) => {
771
+ (_d = (_c = this.el.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelectorAll(".action-element")) === null || _d === void 0 ? void 0 : _d.forEach((actionElementSpan) => {
755
772
  const actionElement = actionElementSpan.firstChild;
756
773
  if (actionElement) {
757
774
  this.fixCellTooltip(actionElement);
@@ -759,7 +776,7 @@ const DataTable = /*@__PURE__*/ proxyCustomElement(class DataTable extends HTMLE
759
776
  });
760
777
  };
761
778
  this.handleClick = (event, callback) => callback(event);
762
- this.renderTableBody = (data, loading, overlay) => {
779
+ this.renderTableBody = (loading, data, overlay) => {
763
780
  if (!(data === null || data === void 0 ? void 0 : data.length))
764
781
  return;
765
782
  if (overlay && loading) {
@@ -778,7 +795,7 @@ const DataTable = /*@__PURE__*/ proxyCustomElement(class DataTable extends HTMLE
778
795
  return (h(Fragment, null, h("div", { class: "loading-overlay", ref: (el) => (this.loadingOverlay = el) }), h("ic-loading-indicator", { theme: this.theme, monochrome: loadingOptions === null || loadingOptions === void 0 ? void 0 : loadingOptions.monochrome, class: {
779
796
  "loading-empty": isLoading,
780
797
  loading: true,
781
- }, description: loadingOptions.description || "Loading table data", label: loadingOptions.label || "Loading...", labelDuration: loadingOptions === null || loadingOptions === void 0 ? void 0 : loadingOptions.labelDuration, max: loadingOptions === null || loadingOptions === void 0 ? void 0 : loadingOptions.max, min: loadingOptions === null || loadingOptions === void 0 ? void 0 : loadingOptions.min, progress: loadingOptions === null || loadingOptions === void 0 ? void 0 : loadingOptions.progress, ref: (el) => (this.loadingIndicator = el) })));
798
+ }, description: (loadingOptions === null || loadingOptions === void 0 ? void 0 : loadingOptions.description) || "Loading table data", label: (loadingOptions === null || loadingOptions === void 0 ? void 0 : loadingOptions.label) || "Loading...", labelDuration: loadingOptions === null || loadingOptions === void 0 ? void 0 : loadingOptions.labelDuration, max: loadingOptions === null || loadingOptions === void 0 ? void 0 : loadingOptions.max, min: loadingOptions === null || loadingOptions === void 0 ? void 0 : loadingOptions.min, progress: loadingOptions === null || loadingOptions === void 0 ? void 0 : loadingOptions.progress, ref: (el) => (this.loadingIndicator = el) })));
782
799
  };
783
800
  this.renderAriaLiveLoading = () => {
784
801
  var _a, _b;
@@ -792,7 +809,7 @@ const DataTable = /*@__PURE__*/ proxyCustomElement(class DataTable extends HTMLE
792
809
  return "";
793
810
  }
794
811
  };
795
- this.renderEmptyState = (data, loading, overlay) => {
812
+ this.renderEmptyState = (loading, data, overlay) => {
796
813
  const emptyStateEl = isSlotUsed(this.el, "empty-state") ? (h("slot", { name: "empty-state" })) : (h("ic-empty-state", { aligned: "center", heading: "No Data", class: "loading-empty" }));
797
814
  if (loading && !(data === null || data === void 0 ? void 0 : data.length) && overlay) {
798
815
  return emptyStateEl;
@@ -806,16 +823,15 @@ const DataTable = /*@__PURE__*/ proxyCustomElement(class DataTable extends HTMLE
806
823
  };
807
824
  }
808
825
  headerTruncationChangeHandler() {
826
+ var _a, _b;
809
827
  if (this.columnHeaderTruncation) {
810
828
  this.prevTableContainerWidth = 0;
811
829
  }
812
830
  else {
813
- const headers = this.el.shadowRoot.querySelectorAll("th.column-header");
814
- headers.forEach((header) => {
815
- const tooltip = header.querySelector(this.IC_TOOLTIP_STRING);
816
- if (tooltip) {
817
- tooltip.classList.remove(this.SHOW_TRUNC_TOOLTIP_STRING);
818
- }
831
+ (_b = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll("th.column-header")) === null || _b === void 0 ? void 0 : _b.forEach((header) => {
832
+ var _a;
833
+ (_a = header
834
+ .querySelector(this.IC_TOOLTIP_STRING)) === null || _a === void 0 ? void 0 : _a.classList.remove(this.SHOW_TRUNC_TOOLTIP_STRING);
819
835
  });
820
836
  }
821
837
  }
@@ -835,14 +851,17 @@ const DataTable = /*@__PURE__*/ proxyCustomElement(class DataTable extends HTMLE
835
851
  this.previousItemsPerPage = this.rowsPerPage;
836
852
  }
837
853
  componentDidLoad() {
838
- const tableElement = this.el.shadowRoot.querySelector("table");
839
- const tableContainer = this.el.shadowRoot.querySelector(".table-container");
854
+ var _a, _b;
855
+ const tableElement = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector("table");
856
+ const tableContainer = (_b = this.el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector(".table-container");
840
857
  checkResizeObserver(this.runHeaderResizeObserver);
841
858
  if (this.dataUpdated) {
842
859
  this.dataUpdated = false;
843
860
  }
844
- if ((tableElement === null || tableElement === void 0 ? void 0 : tableElement.clientHeight) > (tableContainer === null || tableContainer === void 0 ? void 0 : tableContainer.clientHeight) ||
845
- (tableElement === null || tableElement === void 0 ? void 0 : tableElement.clientWidth) > (tableContainer === null || tableContainer === void 0 ? void 0 : tableContainer.clientWidth)) {
861
+ if (tableElement &&
862
+ tableContainer &&
863
+ (tableElement.clientHeight > tableContainer.clientHeight ||
864
+ tableElement.clientWidth > tableContainer.clientWidth)) {
846
865
  this.scrollable = true;
847
866
  }
848
867
  if (this.loading) {
@@ -852,7 +871,8 @@ const DataTable = /*@__PURE__*/ proxyCustomElement(class DataTable extends HTMLE
852
871
  if (this.truncationPattern) {
853
872
  this.getTypographyElements().forEach((typographyEl) => {
854
873
  const cellContainer = this.getCellContainer(typographyEl);
855
- if (!cellContainer.classList.contains(this.TEXT_WRAP_STRING)) {
874
+ if (cellContainer &&
875
+ !cellContainer.classList.contains(this.TEXT_WRAP_STRING)) {
856
876
  this.dataTruncation(typographyEl);
857
877
  }
858
878
  });
@@ -877,19 +897,23 @@ const DataTable = /*@__PURE__*/ proxyCustomElement(class DataTable extends HTMLE
877
897
  this.adjustWidthForActionElement();
878
898
  }
879
899
  truncateUpdatedData() {
900
+ var _a;
880
901
  if (this.dataUpdated) {
881
902
  if (this.truncationPattern === this.SHOW_HIDE_STRING) {
882
903
  this.getTypographyElements().forEach((typographyEl) => {
883
904
  const truncWrapper = this.getTruncWrapper(typographyEl);
884
905
  const cellContainer = this.getCellContainer(typographyEl);
885
- if ((cellContainer === null || cellContainer === void 0 ? void 0 : cellContainer.clientHeight) - this.DEFAULT_LINE_HEIGHT >=
886
- (truncWrapper === null || truncWrapper === void 0 ? void 0 : truncWrapper.scrollHeight)) {
906
+ if (truncWrapper &&
907
+ cellContainer &&
908
+ cellContainer.clientHeight - this.DEFAULT_LINE_HEIGHT >=
909
+ truncWrapper.scrollHeight) {
887
910
  this.resetShowHideTruncation(typographyEl);
888
911
  return;
889
912
  }
890
913
  setTimeout(() => {
891
914
  // slight delay due to data rendering
892
- if ((typographyEl === null || typographyEl === void 0 ? void 0 : typographyEl.scrollHeight) > (cellContainer === null || cellContainer === void 0 ? void 0 : cellContainer.clientHeight)) {
915
+ if (cellContainer &&
916
+ typographyEl.scrollHeight > cellContainer.clientHeight) {
893
917
  this.addShowHideTruncation(cellContainer, typographyEl);
894
918
  }
895
919
  }, 150);
@@ -907,13 +931,15 @@ const DataTable = /*@__PURE__*/ proxyCustomElement(class DataTable extends HTMLE
907
931
  if (this.truncationPattern === this.SHOW_HIDE_STRING) {
908
932
  this.getTypographyElements().forEach((typographyEl) => {
909
933
  const cellContainer = this.getCellContainer(typographyEl);
910
- if (!cellContainer.classList.contains(this.TEXT_WRAP_STRING)) {
911
- this.createShowHideTruncation(typographyEl, cellContainer);
912
- }
913
- else {
914
- typographyEl.resetTruncation().then(() => {
915
- cellContainer.removeAttribute("style");
916
- });
934
+ if (cellContainer) {
935
+ if (!cellContainer.classList.contains(this.TEXT_WRAP_STRING)) {
936
+ this.createShowHideTruncation(typographyEl, cellContainer);
937
+ }
938
+ else {
939
+ typographyEl.resetTruncation().then(() => {
940
+ cellContainer.removeAttribute("style");
941
+ });
942
+ }
917
943
  }
918
944
  });
919
945
  }
@@ -922,49 +948,48 @@ const DataTable = /*@__PURE__*/ proxyCustomElement(class DataTable extends HTMLE
922
948
  // This function recalculates the tooltip truncation when the rowHeight has been set.
923
949
  // This is in componentDidUpdate so a setTimeout is not used to wait for the render to be complete
924
950
  if (this.rowHeightSet) {
925
- const fontSize = parseInt(getComputedStyle(document.documentElement).fontSize);
926
- const hasAutoRowHeight = this.globalRowHeight === "auto";
927
951
  this.getTypographyElements().forEach((typographyEl) => {
928
- var _a;
952
+ var _a, _b;
929
953
  const cellContainer = this.getCellContainer(typographyEl);
930
954
  const tooltipEl = this.getTooltip(typographyEl);
931
- if (hasAutoRowHeight) {
932
- cellContainer.style.height = null;
933
- if (this.truncationPattern === this.TOOLTIP_STRING) {
934
- this.removeTooltip(cellContainer, typographyEl, tooltipEl);
935
- typographyEl.setAttribute("style", `${this.LINE_CLAMP_CSS_VARIABLE}: 0`);
955
+ if (cellContainer) {
956
+ if (this.globalRowHeight === "auto") {
957
+ cellContainer.style.height = "";
958
+ if (this.truncationPattern === this.TOOLTIP_STRING) {
959
+ this.removeTooltip(cellContainer, typographyEl, tooltipEl);
960
+ typographyEl.setAttribute("style", `${this.LINE_CLAMP_CSS_VARIABLE}: 0`);
961
+ }
962
+ else if (this.truncationPattern === this.SHOW_HIDE_STRING) {
963
+ this.resetShowHideTruncation(typographyEl);
964
+ }
965
+ return;
936
966
  }
937
- else if (this.truncationPattern === this.SHOW_HIDE_STRING) {
938
- this.resetShowHideTruncation(typographyEl);
967
+ // If the set row height is bigger than the cell container even
968
+ // with textWrap, set the row height
969
+ if (!cellContainer.classList.contains(this.CELL_CONTAINER_WITH_DESCRIPTION_STRING) &&
970
+ !((_a = cellContainer === null || cellContainer === void 0 ? void 0 : cellContainer.style) === null || _a === void 0 ? void 0 : _a.height) &&
971
+ this.getRowHeight(cellContainer) > cellContainer.clientHeight &&
972
+ !cellContainer.classList.contains(this.TEXT_WRAP_STRING)) {
973
+ cellContainer.style.setProperty(this.ROW_HEIGHT_CSS_VARIABLE, cellContainer.getAttribute(this.DATA_ROW_HEIGHT_STRING));
939
974
  }
940
- return;
941
- }
942
- const rowHeight = fontSize *
943
- parseFloat(cellContainer.getAttribute(this.DATA_ROW_HEIGHT_STRING));
944
- // If the set row height is bigger than the cell container even
945
- // with textWrap, set the row height
946
- if (!cellContainer.classList.contains(this.CELL_CONTAINER_WITH_DESCRIPTION_STRING) &&
947
- !((_a = cellContainer === null || cellContainer === void 0 ? void 0 : cellContainer.style) === null || _a === void 0 ? void 0 : _a.height) &&
948
- rowHeight > cellContainer.clientHeight &&
949
- !cellContainer.classList.contains(this.TEXT_WRAP_STRING)) {
950
- cellContainer.style.setProperty(this.ROW_HEIGHT_CSS_VARIABLE, cellContainer.getAttribute(this.DATA_ROW_HEIGHT_STRING));
951
- }
952
- if (this.truncationPattern) {
953
- // If the set row height is bigger than the typography truncation wrapper
954
- // scroll height, remove see more / see less button
955
- if (this.truncationPattern === this.SHOW_HIDE_STRING) {
956
- const truncWrapper = this.getTruncWrapper(typographyEl);
957
- const showHideBtn = typographyEl.shadowRoot.querySelector("button");
958
- if (showHideBtn &&
959
- (truncWrapper === null || truncWrapper === void 0 ? void 0 : truncWrapper.scrollHeight) <= cellContainer.clientHeight) {
960
- this.resetShowHideTruncation(typographyEl);
961
- return;
975
+ if (this.truncationPattern) {
976
+ // If the set row height is bigger than the typography truncation wrapper
977
+ // scroll height, remove see more / see less button
978
+ if (this.truncationPattern === this.SHOW_HIDE_STRING) {
979
+ const truncWrapper = this.getTruncWrapper(typographyEl);
980
+ const showHideBtn = (_b = typographyEl.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector("button");
981
+ if (showHideBtn &&
982
+ truncWrapper &&
983
+ truncWrapper.scrollHeight <= cellContainer.clientHeight) {
984
+ this.resetShowHideTruncation(typographyEl);
985
+ return;
986
+ }
962
987
  }
988
+ this.truncate(typographyEl, cellContainer, tooltipEl);
989
+ }
990
+ else {
991
+ this.updateSetRowHeight(typographyEl);
963
992
  }
964
- this.truncate(typographyEl, cellContainer, tooltipEl);
965
- }
966
- else {
967
- this.updateSetRowHeight(typographyEl);
968
993
  }
969
994
  });
970
995
  this.rowHeightSet = false;
@@ -972,16 +997,15 @@ const DataTable = /*@__PURE__*/ proxyCustomElement(class DataTable extends HTMLE
972
997
  // Only run truncation on the new rows
973
998
  // when the number of items per page has increased
974
999
  if (this.itemsPerPageChange) {
975
- const allRows = this.el.shadowRoot.querySelectorAll(".table-row");
976
- if (this.rowsPerPage > this.previousItemsPerPage) {
1000
+ const allRows = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll(".table-row");
1001
+ if (allRows && this.rowsPerPage > this.previousItemsPerPage) {
977
1002
  const newRows = Array.from(allRows).slice(this.previousItemsPerPage);
978
1003
  newRows.forEach((row) => {
979
- row
980
- .querySelectorAll(this.IC_TYPOGRAPHY_STRING)
981
- .forEach((typographyEl) => {
1004
+ row.querySelectorAll("ic-typography").forEach((typographyEl) => {
982
1005
  const cellContainer = this.getCellContainer(typographyEl);
983
1006
  const tooltipEl = this.getTooltip(typographyEl);
984
- this.truncate(typographyEl, cellContainer, tooltipEl);
1007
+ if (cellContainer)
1008
+ this.truncate(typographyEl, cellContainer, tooltipEl);
985
1009
  });
986
1010
  });
987
1011
  }
@@ -995,9 +1019,11 @@ const DataTable = /*@__PURE__*/ proxyCustomElement(class DataTable extends HTMLE
995
1019
  // set truncation to see more if opened and next/previous page is pressed
996
1020
  if (this.truncationPattern === this.SHOW_HIDE_STRING) {
997
1021
  this.getTypographyElements().forEach((typographyEl) => {
1022
+ var _a;
998
1023
  const cellContainer = this.getCellContainer(typographyEl);
999
- const showHideBtn = typographyEl.shadowRoot.querySelector("button");
1000
- if ((typographyEl === null || typographyEl === void 0 ? void 0 : typographyEl.scrollHeight) > cellContainer.clientHeight &&
1024
+ const showHideBtn = (_a = typographyEl.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector("button");
1025
+ if (cellContainer &&
1026
+ (typographyEl === null || typographyEl === void 0 ? void 0 : typographyEl.scrollHeight) > cellContainer.clientHeight &&
1001
1027
  !showHideBtn) {
1002
1028
  this.addShowHideTruncation(cellContainer, typographyEl);
1003
1029
  }
@@ -1009,7 +1035,8 @@ const DataTable = /*@__PURE__*/ proxyCustomElement(class DataTable extends HTMLE
1009
1035
  this.getTypographyElements().forEach((typographyEl) => {
1010
1036
  const cellContainer = this.getCellContainer(typographyEl);
1011
1037
  const tooltipEl = this.getTooltip(typographyEl);
1012
- this.truncate(typographyEl, cellContainer, tooltipEl);
1038
+ if (cellContainer)
1039
+ this.truncate(typographyEl, cellContainer, tooltipEl);
1013
1040
  });
1014
1041
  this.densityUpdate = false;
1015
1042
  }
@@ -1018,7 +1045,8 @@ const DataTable = /*@__PURE__*/ proxyCustomElement(class DataTable extends HTMLE
1018
1045
  this.getTypographyElements().forEach((typographyEl) => {
1019
1046
  const cellContainer = this.getCellContainer(typographyEl);
1020
1047
  const tooltipEl = this.getTooltip(typographyEl);
1021
- if (typographyEl.scrollHeight > cellContainer.clientHeight) {
1048
+ if (cellContainer &&
1049
+ typographyEl.scrollHeight > cellContainer.clientHeight) {
1022
1050
  this.addTooltipTruncation(typographyEl, cellContainer, tooltipEl);
1023
1051
  }
1024
1052
  });
@@ -1027,29 +1055,24 @@ const DataTable = /*@__PURE__*/ proxyCustomElement(class DataTable extends HTMLE
1027
1055
  this.getTypographyElements().forEach((typographyEl) => {
1028
1056
  const truncWrapper = this.getTruncWrapper(typographyEl);
1029
1057
  const cellContainer = this.getCellContainer(typographyEl);
1030
- if ((cellContainer === null || cellContainer === void 0 ? void 0 : cellContainer.clientHeight) - this.DEFAULT_LINE_HEIGHT >
1031
- (truncWrapper === null || truncWrapper === void 0 ? void 0 : truncWrapper.scrollHeight)) {
1032
- this.resetShowHideTruncation(typographyEl);
1033
- return;
1034
- }
1035
- if ((typographyEl === null || typographyEl === void 0 ? void 0 : typographyEl.scrollHeight) > (cellContainer === null || cellContainer === void 0 ? void 0 : cellContainer.clientHeight)) {
1036
- this.addShowHideTruncation(cellContainer, typographyEl);
1058
+ if (cellContainer) {
1059
+ if (truncWrapper &&
1060
+ (cellContainer === null || cellContainer === void 0 ? void 0 : cellContainer.clientHeight) - this.DEFAULT_LINE_HEIGHT >
1061
+ truncWrapper.scrollHeight) {
1062
+ this.resetShowHideTruncation(typographyEl);
1063
+ return;
1064
+ }
1065
+ if ((typographyEl === null || typographyEl === void 0 ? void 0 : typographyEl.scrollHeight) > (cellContainer === null || cellContainer === void 0 ? void 0 : cellContainer.clientHeight)) {
1066
+ this.addShowHideTruncation(cellContainer, typographyEl);
1067
+ }
1037
1068
  }
1038
1069
  });
1039
1070
  }
1040
1071
  }
1041
1072
  }
1042
- createShowHideTruncation(typographyEl, cellContainer, descriptionHeight) {
1073
+ createShowHideTruncation(typographyEl, cellContainer, descriptionHeight = 0) {
1043
1074
  typographyEl.checkMaxLines(typographyEl.scrollHeight);
1044
- typographyEl.setAttribute("max-lines", `${Math.floor((cellContainer === null || cellContainer === void 0 ? void 0 : cellContainer.clientHeight) / this.DEFAULT_LINE_HEIGHT)}`);
1045
- if (cellContainer.classList.contains(this.CELL_CONTAINER_WITH_DESCRIPTION_STRING) &&
1046
- descriptionHeight) {
1047
- typographyEl.setAttribute("max-lines", `${Math.floor(((cellContainer === null || cellContainer === void 0 ? void 0 : cellContainer.clientHeight) - descriptionHeight) /
1048
- this.DEFAULT_LINE_HEIGHT)}`);
1049
- }
1050
- else {
1051
- typographyEl.setAttribute("max-lines", `${Math.floor((cellContainer === null || cellContainer === void 0 ? void 0 : cellContainer.clientHeight) / this.DEFAULT_LINE_HEIGHT)}`);
1052
- }
1075
+ typographyEl.setAttribute("max-lines", `${this.getLines(cellContainer.clientHeight - descriptionHeight)}`);
1053
1076
  typographyEl.setShowHideExpanded(false);
1054
1077
  cellContainer.style.setProperty(this.ROW_HEIGHT_CSS_VARIABLE, null);
1055
1078
  }
@@ -1068,26 +1091,30 @@ const DataTable = /*@__PURE__*/ proxyCustomElement(class DataTable extends HTMLE
1068
1091
  handleTypographyTruncationExpandToggle({ detail, }) {
1069
1092
  const { expanded, typographyEl } = detail;
1070
1093
  const cellContainer = this.getCellContainer(typographyEl);
1071
- if (cellContainer.style.getPropertyValue(this.ROW_HEIGHT_CSS_VARIABLE) &&
1094
+ if ((cellContainer === null || cellContainer === void 0 ? void 0 : cellContainer.style.getPropertyValue(this.ROW_HEIGHT_CSS_VARIABLE)) &&
1072
1095
  expanded) {
1073
1096
  cellContainer.style.setProperty(this.ROW_HEIGHT_CSS_VARIABLE, "inherit");
1074
1097
  }
1075
1098
  }
1076
1099
  handlePageChange({ detail, target }) {
1100
+ var _a;
1077
1101
  if (target.parentElement !== this.el) {
1078
1102
  this.fromRow = (detail.value - 1) * this.rowsPerPage;
1079
1103
  this.toRow = this.fromRow + this.rowsPerPage;
1080
- const tableRowsContainer = this.el.shadowRoot.querySelector(".table-row-container");
1081
- if (this.previousRowsPerPage === this.rowsPerPage) {
1082
- tableRowsContainer.scrollTop = 0;
1083
- }
1084
- else if (this.previousRowsPerPage < this.rowsPerPage) {
1085
- tableRowsContainer.scrollTop = this.scrollOffset;
1086
- this.previousRowsPerPage = this.rowsPerPage;
1087
- }
1088
- else {
1089
- this.previousRowsPerPage = this.rowsPerPage;
1104
+ const tableRowsContainer = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(".table-row-container");
1105
+ if (tableRowsContainer) {
1106
+ if (this.previousRowsPerPage === this.rowsPerPage) {
1107
+ tableRowsContainer.scrollTop = 0;
1108
+ }
1109
+ else if (this.previousRowsPerPage < this.rowsPerPage) {
1110
+ tableRowsContainer.scrollTop = this.scrollOffset;
1111
+ this.previousRowsPerPage = this.rowsPerPage;
1112
+ }
1113
+ else {
1114
+ this.previousRowsPerPage = this.rowsPerPage;
1115
+ }
1090
1116
  }
1117
+ this.selectedRows = [];
1091
1118
  }
1092
1119
  if (!this.initialLoad && this.previousPaginationPage !== detail.value) {
1093
1120
  // This is to prevent icPageChange from triggering truncation on first load
@@ -1106,10 +1133,6 @@ const DataTable = /*@__PURE__*/ proxyCustomElement(class DataTable extends HTMLE
1106
1133
  handleDensityChange(ev) {
1107
1134
  this.density = ev.detail.value;
1108
1135
  }
1109
- clickListener(ev) {
1110
- if (ev.target !== this.el)
1111
- this.selectedRow = undefined;
1112
- }
1113
1136
  loadingHandler(newValue) {
1114
1137
  if (newValue)
1115
1138
  this.startLoadingTimer();
@@ -1127,7 +1150,8 @@ const DataTable = /*@__PURE__*/ proxyCustomElement(class DataTable extends HTMLE
1127
1150
  this.getTypographyElements().forEach((typographyEl) => {
1128
1151
  const cellContainer = this.getCellContainer(typographyEl);
1129
1152
  const tooltip = this.getTooltip(typographyEl);
1130
- this.truncate(typographyEl, cellContainer, tooltip);
1153
+ if (cellContainer)
1154
+ this.truncate(typographyEl, cellContainer, tooltip);
1131
1155
  });
1132
1156
  }
1133
1157
  if (newValue === this.SHOW_HIDE_STRING) {
@@ -1137,17 +1161,20 @@ const DataTable = /*@__PURE__*/ proxyCustomElement(class DataTable extends HTMLE
1137
1161
  this.getTypographyElements().forEach((typographyEl) => {
1138
1162
  const truncWrapper = this.getTruncWrapper(typographyEl);
1139
1163
  const cellContainer = this.getCellContainer(typographyEl);
1140
- if ((cellContainer === null || cellContainer === void 0 ? void 0 : cellContainer.clientHeight) - this.DEFAULT_LINE_HEIGHT >
1141
- (truncWrapper === null || truncWrapper === void 0 ? void 0 : truncWrapper.scrollHeight)) {
1142
- this.resetShowHideTruncation(typographyEl);
1143
- return;
1144
- }
1145
- setTimeout(() => {
1146
- // slight delay due to data rendering
1147
- if ((typographyEl === null || typographyEl === void 0 ? void 0 : typographyEl.scrollHeight) > (cellContainer === null || cellContainer === void 0 ? void 0 : cellContainer.clientHeight)) {
1148
- this.addShowHideTruncation(cellContainer, typographyEl);
1164
+ if (cellContainer) {
1165
+ if (truncWrapper &&
1166
+ cellContainer.clientHeight - this.DEFAULT_LINE_HEIGHT >
1167
+ truncWrapper.scrollHeight) {
1168
+ this.resetShowHideTruncation(typographyEl);
1169
+ return;
1149
1170
  }
1150
- }, 150);
1171
+ setTimeout(() => {
1172
+ // slight delay due to data rendering
1173
+ if (typographyEl.scrollHeight > cellContainer.clientHeight) {
1174
+ this.addShowHideTruncation(cellContainer, typographyEl);
1175
+ }
1176
+ }, 150);
1177
+ }
1151
1178
  });
1152
1179
  }
1153
1180
  this.truncationPatternUpdated = true;
@@ -1171,10 +1198,12 @@ const DataTable = /*@__PURE__*/ proxyCustomElement(class DataTable extends HTMLE
1171
1198
  if (typographyEl) {
1172
1199
  const truncWrapper = this.getTruncWrapper(typographyEl);
1173
1200
  const cellContainer = this.getCellContainer(typographyEl);
1174
- if ((truncWrapper === null || truncWrapper === void 0 ? void 0 : truncWrapper.scrollHeight) > (cellContainer === null || cellContainer === void 0 ? void 0 : cellContainer.clientHeight) &&
1201
+ if (!(cellContainer && truncWrapper))
1202
+ return;
1203
+ if (truncWrapper.scrollHeight > cellContainer.clientHeight &&
1175
1204
  !isEmptyString(typographyEl.getAttribute("max-lines")) &&
1176
1205
  Math.floor((cellContainer === null || cellContainer === void 0 ? void 0 : cellContainer.clientHeight) / this.DEFAULT_LINE_HEIGHT) !==
1177
- +typographyEl.getAttribute("max-lines")) {
1206
+ Number(typographyEl.getAttribute("max-lines"))) {
1178
1207
  typographyEl.checkMaxLines(truncWrapper.scrollHeight);
1179
1208
  typographyEl.setAttribute("max-lines", `${Math.floor((cellContainer === null || cellContainer === void 0 ? void 0 : cellContainer.clientHeight) / this.DEFAULT_LINE_HEIGHT)}`);
1180
1209
  typographyEl.setShowHideExpanded(false);
@@ -1192,7 +1221,7 @@ const DataTable = /*@__PURE__*/ proxyCustomElement(class DataTable extends HTMLE
1192
1221
  this.getTypographyElements().forEach((typographyEl) => {
1193
1222
  const cellContainer = this.getCellContainer(typographyEl);
1194
1223
  typographyEl.resetTruncation().then(() => {
1195
- if (!typographyEl.closest(this.TEXT_WRAP_CLASS)) {
1224
+ if (cellContainer && !typographyEl.closest(this.TEXT_WRAP_CLASS)) {
1196
1225
  cellContainer.style.setProperty(this.ROW_HEIGHT_CSS_VARIABLE, cellContainer.getAttribute(this.DATA_ROW_HEIGHT_STRING));
1197
1226
  }
1198
1227
  });
@@ -1213,7 +1242,7 @@ const DataTable = /*@__PURE__*/ proxyCustomElement(class DataTable extends HTMLE
1213
1242
  */
1214
1243
  async resetRowHeights(rowHeight) {
1215
1244
  this.globalRowHeight = rowHeight || "auto";
1216
- this.variableRowHeight = null;
1245
+ this.variableRowHeight = undefined;
1217
1246
  }
1218
1247
  showLoadingIndicator() {
1219
1248
  var _a, _b, _c;
@@ -1257,35 +1286,28 @@ const DataTable = /*@__PURE__*/ proxyCustomElement(class DataTable extends HTMLE
1257
1286
  }
1258
1287
  }
1259
1288
  removeTooltip(cellContainer, typographyEl, tooltip) {
1260
- const cellTextWrapper = cellContainer.querySelector(this.CELL_TEXT_WRAPPER_STRING);
1261
- cellTextWrapper.prepend(typographyEl);
1262
- if (tooltip) {
1263
- tooltip.remove();
1264
- }
1289
+ var _a;
1290
+ (_a = cellContainer
1291
+ .querySelector(this.CELL_TEXT_WRAPPER_STRING)) === null || _a === void 0 ? void 0 : _a.prepend(typographyEl);
1292
+ tooltip === null || tooltip === void 0 ? void 0 : tooltip.remove();
1265
1293
  }
1266
1294
  addLineClampCSS(typographyEl, cellContainer) {
1267
1295
  var _a, _b;
1268
1296
  const descriptionCellHeight = (_a = cellContainer.querySelector(this.CELL_DESCRIPTION_STRING)) === null || _a === void 0 ? void 0 : _a.clientHeight;
1297
+ const cellContainerHeight = cellContainer.clientHeight;
1298
+ let totalHeight = cellContainerHeight;
1269
1299
  if (cellContainer.classList.contains(this.CELL_CONTAINER_WITH_DESCRIPTION_STRING) &&
1270
- (cellContainer === null || cellContainer === void 0 ? void 0 : cellContainer.clientHeight) > descriptionCellHeight) {
1271
- let iconHeight;
1272
- if (deviceSizeMatches(IC_DEVICE_SIZES.XS)) {
1273
- const cellIcon = cellContainer === null || cellContainer === void 0 ? void 0 : cellContainer.querySelector(".icon");
1274
- iconHeight = cellIcon ? cellIcon.clientHeight : 0;
1275
- }
1276
- else {
1277
- iconHeight = 0;
1278
- }
1279
- const height = (cellContainer === null || cellContainer === void 0 ? void 0 : cellContainer.clientHeight) -
1280
- ((_b = cellContainer.querySelector(this.CELL_DESCRIPTION_STRING)) === null || _b === void 0 ? void 0 : _b.clientHeight) -
1281
- iconHeight;
1282
- typographyEl.setAttribute("style", `${this.LINE_CLAMP_CSS_VARIABLE}: ${this.getLines(height || 0)}`);
1283
- }
1284
- else {
1285
- typographyEl.setAttribute("style", `${this.LINE_CLAMP_CSS_VARIABLE}: ${this.getLines(cellContainer === null || cellContainer === void 0 ? void 0 : cellContainer.clientHeight)}`);
1300
+ descriptionCellHeight &&
1301
+ cellContainerHeight > descriptionCellHeight) {
1302
+ const iconHeight = (deviceSizeMatches(IC_DEVICE_SIZES.XS) &&
1303
+ ((_b = cellContainer === null || cellContainer === void 0 ? void 0 : cellContainer.querySelector(".icon")) === null || _b === void 0 ? void 0 : _b.clientHeight)) ||
1304
+ 0;
1305
+ totalHeight = totalHeight - descriptionCellHeight - iconHeight;
1286
1306
  }
1307
+ typographyEl.setAttribute("style", `${this.LINE_CLAMP_CSS_VARIABLE}: ${this.getLines(totalHeight || 0)}`);
1287
1308
  }
1288
1309
  createTruncationTooltip(typographyEl, cellContainer) {
1310
+ var _a;
1289
1311
  const tooltipEl = document.createElement(this.IC_TOOLTIP_STRING);
1290
1312
  tooltipEl.setAttribute("target", typographyEl.id);
1291
1313
  tooltipEl.setAttribute("label", typographyEl.textContent);
@@ -1294,25 +1316,38 @@ const DataTable = /*@__PURE__*/ proxyCustomElement(class DataTable extends HTMLE
1294
1316
  // This might need reverting back to absolute if the tooltip doesn't dynamically position itself correctly
1295
1317
  strategy: "fixed",
1296
1318
  });
1297
- const cellTextWrapper = cellContainer.querySelector(this.CELL_TEXT_WRAPPER_STRING);
1298
- cellTextWrapper.prepend(tooltipEl);
1319
+ (_a = cellContainer
1320
+ .querySelector(this.CELL_TEXT_WRAPPER_STRING)) === null || _a === void 0 ? void 0 : _a.prepend(tooltipEl);
1299
1321
  tooltipEl.prepend(typographyEl);
1300
1322
  }
1301
1323
  render() {
1302
1324
  var _a, _b;
1303
- const { caption, createColumnHeaders, createUpdatingIndicator, data, hideColumnHeaders, loading, loadingOptions, paginationBarOptions, scrollable, scrollOffset, showPagination, sortable, sortedColumn, sortedColumnOrder, stickyColumnHeaders, updateScrollOffset, updating, theme, } = this;
1304
- return (h(Host, { key: '9fa1cc109610d4370a73d9e9d1dc39ad9b2e34fc', style: Object.assign({}, this.setTableDimensions()), class: { [`ic-theme-${theme}`]: theme !== "inherit" } }, h("div", { key: '7af203ceb2819160686a3074b9800820ed7100a3', class: "table-container" }, isSlotUsed(this.el, "title-bar") && h("slot", { key: '3cf4ec7bc6edaea9fe152c48b2dad4a8bdf8e347', name: "title-bar" }), h("div", { key: '6fee471259fe2cb37f1646b5e4ffd83b97d6765c', class: {
1325
+ const { caption, columns, createColumnHeaders, createUpdatingIndicator, data, density, hideColumnHeaders, rowSelection, loading, loadingOptions, paginationBarOptions, rowsPerPage, scrollable, scrollOffset, selectAllRows, selectedRows, showPagination, sortable, sortedColumn, sortedColumnOrder, stickyColumnHeaders, updateScrollOffset, updating, tableLayout, theme, } = this;
1326
+ const rowsSelected = selectedRows.length > 0;
1327
+ const allRowsSelected = selectedRows.length === (showPagination ? rowsPerPage : data === null || data === void 0 ? void 0 : data.length);
1328
+ const headerCheckboxLabelState = rowsSelected
1329
+ ? allRowsSelected
1330
+ ? "deselect all"
1331
+ : "select all remaining"
1332
+ : "select all";
1333
+ return (h(Host, { key: 'c70d98425c01e5f0d7b23d12a0a22fcde6bfa8aa', style: Object.assign({}, this.setTableDimensions()), class: { [`ic-theme-${theme}`]: theme !== "inherit" } }, h("div", { key: 'b7411965f1bd64038922da836d86791d9fce0766', class: "table-container" }, isSlotUsed(this.el, "title-bar") && h("slot", { key: 'de14d3c9613fc5f216f9318c8b584a4fe6d7d0b9', name: "title-bar" }), h("div", { key: 'c28d8074bb81266c7104ce842b2ea0e415ea7576', class: {
1305
1334
  ["table-row-container"]: true,
1306
1335
  scrollable,
1307
- }, tabIndex: scrollable ? 0 : null, onScroll: updateScrollOffset }, h("table", { key: 'e054307fa0e64ba9ee446315db0ab693af13f076', style: {
1308
- ["--table-layout"]: this.tableLayout,
1309
- } }, h("caption", { key: '79a44a034f1718e9a4bca422ec67cba2cf168530', class: "table-caption" }, caption), !hideColumnHeaders && (h("thead", { key: '0275b1bbf9983e1cdda744148ffe2e404dfc343f', class: {
1336
+ }, tabIndex: scrollable ? 0 : undefined, onScroll: updateScrollOffset }, h("table", { key: '283aac0915752eb13c7651fe2594cbbce7eb1164', style: {
1337
+ "--table-layout": tableLayout,
1338
+ } }, h("caption", { key: '9d49941bb4a1f14337af61c35057895a32466c0e', class: "table-caption" }, caption), !hideColumnHeaders && (h("thead", { key: '970d0ecda5d04b06b394f0f1cf1e58dfdd93660f', class: {
1310
1339
  ["column-header-sticky"]: stickyColumnHeaders,
1311
1340
  ["column-header-overlay"]: stickyColumnHeaders && scrollOffset !== 0,
1312
- } }, h("tr", { key: '3be8c99629bef5f9be93a907dacd9c3609ae9167' }, createColumnHeaders()))), updating &&
1341
+ } }, h("tr", { key: 'dd2b7e0e731a8652d726b98c4d4b53de1d4bc89a' }, rowSelection && data && (h("th", { key: 'd1c97faa5830737aa4c9d7020b7bf89a2357d127', class: {
1342
+ "column-header": true,
1343
+ "checkbox-cell": true,
1344
+ "updating-state-headers": updating && !loading,
1345
+ [`table-density-${density}`]: this.notDefaultDensity(),
1346
+ } }, h("div", { key: '93aad327435bc6bc944fc3c7e141c0281beb421b', class: "checkbox-wrapper" }, h("ic-checkbox", { key: '9f984d73bf5172d756d1553c631a571adad238f6', class: "ic-data-table-checkbox", checked: rowsSelected && allRowsSelected, disabled: updating || loading, hideLabel: true, indeterminate: rowsSelected && !allRowsSelected, label: `${caption} ${headerCheckboxLabelState} rows`, nativeIndeterminateBehaviour: true, onIcCheck: () => selectAllRows(), size: density === "dense" ? "small" : "medium", value: caption })))), createColumnHeaders()))), updating &&
1313
1347
  !loading &&
1314
- (hideColumnHeaders ? (h("thead", null, createUpdatingIndicator())) : (createUpdatingIndicator())), this.renderTableBody(data, loading, loadingOptions.overlay)), this.renderEmptyState(data, loading, loadingOptions.overlay)), h("div", { key: 'f39b60c55de7d1769a84429d203ba67d4db7b391', "aria-live": "assertive", class: "sr-only" }, this.renderAriaLiveLoading()), this.renderLoadingIndicator(loading, loadingOptions), (showPagination || isSlotUsed(this.el, "pagination-bar")) && (h("div", { key: '243db49f9f520eb7cc784574e8cd8e55a317069b', class: "pagination-container" }, isSlotUsed(this.el, "pagination-bar") ? (h("slot", { name: "pagination-bar" })) : (h("ic-pagination-bar", { alignment: paginationBarOptions.alignment, hideAllFromItemsPerPage: paginationBarOptions.hideAllFromItemsPerPage, hideRangeLabel: paginationBarOptions.hideRangeLabel, itemLabel: paginationBarOptions.itemLabel, itemsPerPageOptions: paginationBarOptions.itemsPerPageOptions, monochrome: paginationBarOptions.monochrome, pageLabel: paginationBarOptions.pageLabel, rangeLabelType: paginationBarOptions.rangeLabelType, selectedItemsPerPage: paginationBarOptions.selectedItemsPerPage, setToFirstPageOnPaginationChange: paginationBarOptions.setToFirstPageOnPaginationChange, showGoToPageControl: paginationBarOptions.showGoToPageControl, showItemsPerPageControl: paginationBarOptions.showItemsPerPageControl, theme: theme, totalItems: (_a = data === null || data === void 0 ? void 0 : data.length) !== null && _a !== void 0 ? _a : 0, type: paginationBarOptions.type })))), sortable && (h("div", { key: 'c67e73ce64617844507147a3a5abb5c54990918e', class: "screen-reader-sort-text", "aria-live": "polite" }, sortedColumnOrder !== "unsorted" && sortedColumn
1315
- ? `${((_b = this.columns.find((col) => col.key === sortedColumn)) === null || _b === void 0 ? void 0 : _b.title) || sortedColumn} sorted ${sortedColumnOrder}`
1348
+ (hideColumnHeaders ? (h("thead", null, createUpdatingIndicator())) : (createUpdatingIndicator())), this.renderTableBody(loading, data, loadingOptions === null || loadingOptions === void 0 ? void 0 : loadingOptions.overlay)), this.renderEmptyState(loading, data, loadingOptions === null || loadingOptions === void 0 ? void 0 : loadingOptions.overlay)), h("div", { key: '3b3d4811530dabad832180f06631b32724b7c3c8', "aria-live": "assertive", class: "sr-only" }, this.renderAriaLiveLoading()), this.renderLoadingIndicator(loading, loadingOptions), (showPagination || isSlotUsed(this.el, "pagination-bar")) && (h("div", { key: '4efe794f7f5e48ff1ad762780b5a8e3f291cb8f0', class: "pagination-container" }, isSlotUsed(this.el, "pagination-bar") ? (h("slot", { name: "pagination-bar" })) : (h("ic-pagination-bar", { alignment: paginationBarOptions.alignment, hideAllFromItemsPerPage: paginationBarOptions.hideAllFromItemsPerPage, hideRangeLabel: paginationBarOptions.hideRangeLabel, itemLabel: paginationBarOptions.itemLabel, itemsPerPageOptions: paginationBarOptions.itemsPerPageOptions, monochrome: paginationBarOptions.monochrome, pageLabel: paginationBarOptions.pageLabel, rangeLabelType: paginationBarOptions.rangeLabelType, selectedItemsPerPage: paginationBarOptions.selectedItemsPerPage, setToFirstPageOnPaginationChange: paginationBarOptions.setToFirstPageOnPaginationChange, showGoToPageControl: paginationBarOptions.showGoToPageControl, showItemsPerPageControl: paginationBarOptions.showItemsPerPageControl, theme: theme, totalItems: (_a = data === null || data === void 0 ? void 0 : data.length) !== null && _a !== void 0 ? _a : 0, type: paginationBarOptions.type })))), sortable && (h("div", { key: '2eadf2de56bcbccfdb70707846a5eaa920cba050', class: "screen-reader-sort-text", "aria-live": "polite" }, sortedColumnOrder !== "unsorted" && sortedColumn
1349
+ ? `${((_b = columns.find((col) => col.key === sortedColumn)) === null || _b === void 0 ? void 0 : _b.title) ||
1350
+ sortedColumn} sorted ${sortedColumnOrder}`
1316
1351
  : "table unsorted")))));
1317
1352
  }
1318
1353
  get el() { return this; }
@@ -1336,7 +1371,6 @@ const DataTable = /*@__PURE__*/ proxyCustomElement(class DataTable extends HTMLE
1336
1371
  "embedded": [4],
1337
1372
  "globalRowHeight": [1032, "global-row-height"],
1338
1373
  "height": [1],
1339
- "highlightSelectedRow": [4, "highlight-selected-row"],
1340
1374
  "hideColumnHeaders": [4, "hide-column-headers"],
1341
1375
  "loading": [1028],
1342
1376
  "loadingOptions": [16],
@@ -1344,6 +1378,7 @@ const DataTable = /*@__PURE__*/ proxyCustomElement(class DataTable extends HTMLE
1344
1378
  "minWidth": [1, "min-width"],
1345
1379
  "minimumLoadingDisplayDuration": [2, "minimum-loading-display-duration"],
1346
1380
  "paginationBarOptions": [16],
1381
+ "rowSelection": [4, "row-selection"],
1347
1382
  "showPagination": [4, "show-pagination"],
1348
1383
  "sortable": [4],
1349
1384
  "sortOptions": [16],
@@ -1361,14 +1396,14 @@ const DataTable = /*@__PURE__*/ proxyCustomElement(class DataTable extends HTMLE
1361
1396
  "rowsPerPage": [32],
1362
1397
  "scrollable": [32],
1363
1398
  "scrollOffset": [32],
1364
- "selectedRow": [32],
1399
+ "selectedRows": [32],
1365
1400
  "sortedColumn": [32],
1366
1401
  "sortedColumnOrder": [32],
1367
1402
  "toRow": [32],
1368
1403
  "currentRowHeight": [32],
1369
1404
  "debounceDelay": [32],
1370
1405
  "resetRowHeights": [64]
1371
- }, [[0, "typographyTruncationExpandToggle", "handleTypographyTruncationExpandToggle"], [0, "icPageChange", "handlePageChange"], [0, "icItemsPerPageChange", "handleItemsPerPageChange"], [0, "icTableDensityUpdate", "handleDensityChange"], [8, "click", "clickListener"]], {
1406
+ }, [[0, "typographyTruncationExpandToggle", "handleTypographyTruncationExpandToggle"], [0, "icPageChange", "handlePageChange"], [0, "icItemsPerPageChange", "handleItemsPerPageChange"], [0, "icTableDensityUpdate", "handleDensityChange"]], {
1372
1407
  "columnHeaderTruncation": ["headerTruncationChangeHandler"],
1373
1408
  "loading": ["loadingHandler"],
1374
1409
  "truncationPattern": ["truncationPatternHandler"],
@@ -1381,7 +1416,7 @@ function defineCustomElement$1() {
1381
1416
  if (typeof customElements === "undefined") {
1382
1417
  return;
1383
1418
  }
1384
- const components = ["ic-data-table", "ic-button", "ic-empty-state", "ic-input-component-container", "ic-input-container", "ic-input-label", "ic-input-validation", "ic-link", "ic-loading-indicator", "ic-menu", "ic-pagination", "ic-pagination-bar", "ic-pagination-item", "ic-select", "ic-text-field", "ic-tooltip", "ic-typography"];
1419
+ const components = ["ic-data-table", "ic-button", "ic-checkbox", "ic-empty-state", "ic-input-component-container", "ic-input-container", "ic-input-label", "ic-input-validation", "ic-link", "ic-loading-indicator", "ic-menu", "ic-pagination", "ic-pagination-bar", "ic-pagination-item", "ic-select", "ic-text-field", "ic-tooltip", "ic-typography"];
1385
1420
  components.forEach(tagName => { switch (tagName) {
1386
1421
  case "ic-data-table":
1387
1422
  if (!customElements.get(tagName)) {
@@ -1389,6 +1424,11 @@ function defineCustomElement$1() {
1389
1424
  }
1390
1425
  break;
1391
1426
  case "ic-button":
1427
+ if (!customElements.get(tagName)) {
1428
+ defineCustomElement$i();
1429
+ }
1430
+ break;
1431
+ case "ic-checkbox":
1392
1432
  if (!customElements.get(tagName)) {
1393
1433
  defineCustomElement$h();
1394
1434
  }