@d4gger/design-system 3.0.0 → 3.0.1

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 (403) hide show
  1. package/dist/{components/controlGroup/ControlGroup.cjs → _internal/floatingLayer.cjs} +11 -26
  2. package/dist/_internal/floatingLayer.cjs.map +7 -0
  3. package/dist/_internal/floatingLayer.d.cts +28 -0
  4. package/dist/_internal/floatingLayer.d.cts.map +1 -0
  5. package/dist/_internal/floatingLayer.d.mts +28 -0
  6. package/dist/_internal/floatingLayer.d.mts.map +1 -0
  7. package/dist/_internal/floatingLayer.d.ts +28 -0
  8. package/dist/_internal/floatingLayer.d.ts.map +1 -0
  9. package/dist/_internal/floatingLayer.js +11 -0
  10. package/dist/_internal/floatingLayer.js.map +7 -0
  11. package/dist/components/banner/Banner.cjs +105 -0
  12. package/dist/components/banner/Banner.cjs.map +7 -0
  13. package/dist/components/banner/Banner.d.cts +27 -0
  14. package/dist/components/banner/Banner.d.cts.map +1 -0
  15. package/dist/components/banner/Banner.d.mts +27 -0
  16. package/dist/components/banner/Banner.d.mts.map +1 -0
  17. package/dist/components/banner/Banner.d.ts +27 -0
  18. package/dist/components/banner/Banner.d.ts.map +1 -0
  19. package/dist/components/banner/Banner.js +80 -0
  20. package/dist/components/banner/Banner.js.map +7 -0
  21. package/dist/components/{controlGroup/controlGroup.props.cjs → banner/banner.props.cjs} +23 -16
  22. package/dist/components/banner/banner.props.cjs.map +7 -0
  23. package/dist/components/banner/banner.props.d.cts +32 -0
  24. package/dist/components/banner/banner.props.d.cts.map +1 -0
  25. package/dist/components/banner/banner.props.d.mts +32 -0
  26. package/dist/components/banner/banner.props.d.mts.map +1 -0
  27. package/dist/components/banner/banner.props.d.ts +32 -0
  28. package/dist/components/banner/banner.props.d.ts.map +1 -0
  29. package/dist/components/banner/banner.props.js +27 -0
  30. package/dist/components/banner/banner.props.js.map +7 -0
  31. package/dist/components/banner.css +60 -0
  32. package/dist/components/button-group.css +25 -0
  33. package/dist/components/button.css +9 -0
  34. package/dist/components/card.css +3 -0
  35. package/dist/components/carousel/Carousel.cjs +109 -39
  36. package/dist/components/carousel/Carousel.cjs.map +3 -3
  37. package/dist/components/carousel/Carousel.d.cts.map +1 -1
  38. package/dist/components/carousel/Carousel.d.mts.map +1 -1
  39. package/dist/components/carousel/Carousel.d.ts.map +1 -1
  40. package/dist/components/carousel/Carousel.js +111 -41
  41. package/dist/components/carousel/Carousel.js.map +3 -3
  42. package/dist/components/carousel.css +93 -26
  43. package/dist/components/chart/Chart.cjs +61 -11
  44. package/dist/components/chart/Chart.cjs.map +2 -2
  45. package/dist/components/chart/Chart.d.cts.map +1 -1
  46. package/dist/components/chart/Chart.d.mts.map +1 -1
  47. package/dist/components/chart/Chart.d.ts.map +1 -1
  48. package/dist/components/chart/Chart.js +62 -11
  49. package/dist/components/chart/Chart.js.map +2 -2
  50. package/dist/components/chart.css +10 -1
  51. package/dist/components/checkbox.css +14 -0
  52. package/dist/components/combobox/Combobox.cjs +3 -1
  53. package/dist/components/combobox/Combobox.cjs.map +2 -2
  54. package/dist/components/combobox/Combobox.d.cts.map +1 -1
  55. package/dist/components/combobox/Combobox.d.mts.map +1 -1
  56. package/dist/components/combobox/Combobox.d.ts.map +1 -1
  57. package/dist/components/combobox/Combobox.js +3 -1
  58. package/dist/components/combobox/Combobox.js.map +2 -2
  59. package/dist/components/combobox.css +5 -1
  60. package/dist/components/command/Command.cjs +1 -1
  61. package/dist/components/command/Command.cjs.map +2 -2
  62. package/dist/components/command/Command.js +1 -1
  63. package/dist/components/command/Command.js.map +2 -2
  64. package/dist/components/context-menu.css +1 -1
  65. package/dist/components/copy-field.css +18 -0
  66. package/dist/components/copyField/CopyField.cjs +3 -3
  67. package/dist/components/copyField/CopyField.cjs.map +2 -2
  68. package/dist/components/copyField/CopyField.d.cts.map +1 -1
  69. package/dist/components/copyField/CopyField.d.mts.map +1 -1
  70. package/dist/components/copyField/CopyField.d.ts.map +1 -1
  71. package/dist/components/copyField/CopyField.js +3 -3
  72. package/dist/components/copyField/CopyField.js.map +2 -2
  73. package/dist/components/data-list.css +19 -4
  74. package/dist/components/data-table.css +190 -0
  75. package/dist/components/dataTable/DataTable.cjs +193 -68
  76. package/dist/components/dataTable/DataTable.cjs.map +3 -3
  77. package/dist/components/dataTable/DataTable.d.cts +29 -1
  78. package/dist/components/dataTable/DataTable.d.cts.map +1 -1
  79. package/dist/components/dataTable/DataTable.d.mts +29 -1
  80. package/dist/components/dataTable/DataTable.d.mts.map +1 -1
  81. package/dist/components/dataTable/DataTable.d.ts +29 -1
  82. package/dist/components/dataTable/DataTable.d.ts.map +1 -1
  83. package/dist/components/dataTable/DataTable.js +193 -68
  84. package/dist/components/dataTable/DataTable.js.map +2 -2
  85. package/dist/components/dataTable/DataTableContext.cjs +41 -0
  86. package/dist/components/dataTable/DataTableContext.cjs.map +7 -0
  87. package/dist/components/dataTable/DataTableContext.d.cts +23 -0
  88. package/dist/components/dataTable/DataTableContext.d.cts.map +1 -0
  89. package/dist/components/dataTable/DataTableContext.d.mts +23 -0
  90. package/dist/components/dataTable/DataTableContext.d.mts.map +1 -0
  91. package/dist/components/dataTable/DataTableContext.d.ts +23 -0
  92. package/dist/components/dataTable/DataTableContext.d.ts.map +1 -0
  93. package/dist/components/dataTable/DataTableContext.js +11 -0
  94. package/dist/components/dataTable/DataTableContext.js.map +7 -0
  95. package/dist/components/dataTable/DataTablePagination.cjs +72 -47
  96. package/dist/components/dataTable/DataTablePagination.cjs.map +2 -2
  97. package/dist/components/dataTable/DataTablePagination.d.cts +5 -1
  98. package/dist/components/dataTable/DataTablePagination.d.cts.map +1 -1
  99. package/dist/components/dataTable/DataTablePagination.d.mts +5 -1
  100. package/dist/components/dataTable/DataTablePagination.d.mts.map +1 -1
  101. package/dist/components/dataTable/DataTablePagination.d.ts +5 -1
  102. package/dist/components/dataTable/DataTablePagination.d.ts.map +1 -1
  103. package/dist/components/dataTable/DataTablePagination.js +75 -47
  104. package/dist/components/dataTable/DataTablePagination.js.map +2 -2
  105. package/dist/components/dataTable/DataTableToolbar.cjs +122 -93
  106. package/dist/components/dataTable/DataTableToolbar.cjs.map +2 -2
  107. package/dist/components/dataTable/DataTableToolbar.d.cts +6 -5
  108. package/dist/components/dataTable/DataTableToolbar.d.cts.map +1 -1
  109. package/dist/components/dataTable/DataTableToolbar.d.mts +6 -5
  110. package/dist/components/dataTable/DataTableToolbar.d.mts.map +1 -1
  111. package/dist/components/dataTable/DataTableToolbar.d.ts +6 -5
  112. package/dist/components/dataTable/DataTableToolbar.d.ts.map +1 -1
  113. package/dist/components/dataTable/DataTableToolbar.js +123 -94
  114. package/dist/components/dataTable/DataTableToolbar.js.map +2 -2
  115. package/dist/components/dataTable/dataTable.export.cjs +83 -0
  116. package/dist/components/dataTable/dataTable.export.cjs.map +7 -0
  117. package/dist/components/dataTable/dataTable.export.d.cts +11 -0
  118. package/dist/components/dataTable/dataTable.export.d.cts.map +1 -0
  119. package/dist/components/dataTable/dataTable.export.d.mts +11 -0
  120. package/dist/components/dataTable/dataTable.export.d.mts.map +1 -0
  121. package/dist/components/dataTable/dataTable.export.d.ts +11 -0
  122. package/dist/components/dataTable/dataTable.export.d.ts.map +1 -0
  123. package/dist/components/dataTable/dataTable.export.js +63 -0
  124. package/dist/components/dataTable/dataTable.export.js.map +7 -0
  125. package/dist/components/dataTable/dataTable.props.cjs +23 -1
  126. package/dist/components/dataTable/dataTable.props.cjs.map +2 -2
  127. package/dist/components/dataTable/dataTable.props.d.cts +21 -1
  128. package/dist/components/dataTable/dataTable.props.d.cts.map +1 -1
  129. package/dist/components/dataTable/dataTable.props.d.mts +21 -1
  130. package/dist/components/dataTable/dataTable.props.d.mts.map +1 -1
  131. package/dist/components/dataTable/dataTable.props.d.ts +21 -1
  132. package/dist/components/dataTable/dataTable.props.d.ts.map +1 -1
  133. package/dist/components/dataTable/dataTable.props.js +23 -1
  134. package/dist/components/dataTable/dataTable.props.js.map +2 -2
  135. package/dist/components/dialog/Dialog.cjs +2 -1
  136. package/dist/components/dialog/Dialog.cjs.map +2 -2
  137. package/dist/components/dialog/Dialog.d.cts.map +1 -1
  138. package/dist/components/dialog/Dialog.d.mts.map +1 -1
  139. package/dist/components/dialog/Dialog.d.ts.map +1 -1
  140. package/dist/components/dialog/Dialog.js +2 -1
  141. package/dist/components/dialog/Dialog.js.map +2 -2
  142. package/dist/components/dropdown-menu.css +1 -1
  143. package/dist/components/empty-state.css +5 -0
  144. package/dist/components/fileUpload/FileUpload.cjs +10 -1
  145. package/dist/components/fileUpload/FileUpload.cjs.map +2 -2
  146. package/dist/components/fileUpload/FileUpload.d.cts +1 -0
  147. package/dist/components/fileUpload/FileUpload.d.cts.map +1 -1
  148. package/dist/components/fileUpload/FileUpload.d.mts +1 -0
  149. package/dist/components/fileUpload/FileUpload.d.mts.map +1 -1
  150. package/dist/components/fileUpload/FileUpload.d.ts +1 -0
  151. package/dist/components/fileUpload/FileUpload.d.ts.map +1 -1
  152. package/dist/components/fileUpload/FileUpload.js +10 -1
  153. package/dist/components/fileUpload/FileUpload.js.map +2 -2
  154. package/dist/components/filter-bar.css +380 -8
  155. package/dist/components/filterBar/FilterBar.cjs +630 -1
  156. package/dist/components/filterBar/FilterBar.cjs.map +2 -2
  157. package/dist/components/filterBar/FilterBar.d.cts +132 -2
  158. package/dist/components/filterBar/FilterBar.d.cts.map +1 -1
  159. package/dist/components/filterBar/FilterBar.d.mts +132 -2
  160. package/dist/components/filterBar/FilterBar.d.mts.map +1 -1
  161. package/dist/components/filterBar/FilterBar.d.ts +132 -2
  162. package/dist/components/filterBar/FilterBar.d.ts.map +1 -1
  163. package/dist/components/filterBar/FilterBar.js +631 -2
  164. package/dist/components/filterBar/FilterBar.js.map +2 -2
  165. package/dist/components/floating-panel.css +1 -1
  166. package/dist/components/fontProvider/FontProvider.cjs +1 -1
  167. package/dist/components/fontProvider/FontProvider.cjs.map +1 -1
  168. package/dist/components/fontProvider/FontProvider.js +1 -1
  169. package/dist/components/fontProvider/FontProvider.js.map +1 -1
  170. package/dist/components/icon/Icon.cjs +25 -2
  171. package/dist/components/icon/Icon.cjs.map +2 -2
  172. package/dist/components/icon/Icon.d.cts +29 -1
  173. package/dist/components/icon/Icon.d.cts.map +1 -1
  174. package/dist/components/icon/Icon.d.mts +29 -1
  175. package/dist/components/icon/Icon.d.mts.map +1 -1
  176. package/dist/components/icon/Icon.d.ts +29 -1
  177. package/dist/components/icon/Icon.d.ts.map +1 -1
  178. package/dist/components/icon/Icon.js +33 -2
  179. package/dist/components/icon/Icon.js.map +2 -2
  180. package/dist/components/icon/icons.cjs +16 -0
  181. package/dist/components/icon/icons.cjs.map +2 -2
  182. package/dist/components/icon/icons.d.cts +40 -0
  183. package/dist/components/icon/icons.d.cts.map +1 -1
  184. package/dist/components/icon/icons.d.mts +40 -0
  185. package/dist/components/icon/icons.d.mts.map +1 -1
  186. package/dist/components/icon/icons.d.ts +40 -0
  187. package/dist/components/icon/icons.d.ts.map +1 -1
  188. package/dist/components/icon/icons.js +16 -0
  189. package/dist/components/icon/icons.js.map +2 -2
  190. package/dist/components/icon-button.css +29 -0
  191. package/dist/components/index.cjs +1 -1
  192. package/dist/components/index.cjs.map +2 -2
  193. package/dist/components/index.d.cts +1 -1
  194. package/dist/components/index.d.cts.map +1 -1
  195. package/dist/components/index.d.mts +1 -1
  196. package/dist/components/index.d.mts.map +1 -1
  197. package/dist/components/index.d.ts +1 -1
  198. package/dist/components/index.d.ts.map +1 -1
  199. package/dist/components/index.js +1 -1
  200. package/dist/components/index.js.map +1 -1
  201. package/dist/components/item/Item.cjs +1 -1
  202. package/dist/components/item/Item.cjs.map +2 -2
  203. package/dist/components/item/Item.js +1 -1
  204. package/dist/components/item/Item.js.map +2 -2
  205. package/dist/components/item.css +12 -1
  206. package/dist/components/marquee/Marquee.cjs +1 -1
  207. package/dist/components/marquee/Marquee.cjs.map +2 -2
  208. package/dist/components/marquee/Marquee.js +1 -1
  209. package/dist/components/marquee/Marquee.js.map +2 -2
  210. package/dist/components/marquee.css +6 -0
  211. package/dist/components/menu/Menu.cjs +3 -1
  212. package/dist/components/menu/Menu.cjs.map +2 -2
  213. package/dist/components/menu/Menu.d.cts.map +1 -1
  214. package/dist/components/menu/Menu.d.mts.map +1 -1
  215. package/dist/components/menu/Menu.d.ts.map +1 -1
  216. package/dist/components/menu/Menu.js +3 -1
  217. package/dist/components/menu/Menu.js.map +2 -2
  218. package/dist/components/menubar.css +1 -1
  219. package/dist/components/metric.css +5 -0
  220. package/dist/components/pagination/Pagination.cjs +143 -17
  221. package/dist/components/pagination/Pagination.cjs.map +2 -2
  222. package/dist/components/pagination/Pagination.d.cts +64 -4
  223. package/dist/components/pagination/Pagination.d.cts.map +1 -1
  224. package/dist/components/pagination/Pagination.d.mts +64 -4
  225. package/dist/components/pagination/Pagination.d.mts.map +1 -1
  226. package/dist/components/pagination/Pagination.d.ts +64 -4
  227. package/dist/components/pagination/Pagination.d.ts.map +1 -1
  228. package/dist/components/pagination/Pagination.js +143 -17
  229. package/dist/components/pagination/Pagination.js.map +2 -2
  230. package/dist/components/pagination.css +50 -8
  231. package/dist/components/phoneInput/PhoneInput.cjs +18 -13
  232. package/dist/components/phoneInput/PhoneInput.cjs.map +2 -2
  233. package/dist/components/phoneInput/PhoneInput.d.cts.map +1 -1
  234. package/dist/components/phoneInput/PhoneInput.d.mts.map +1 -1
  235. package/dist/components/phoneInput/PhoneInput.d.ts.map +1 -1
  236. package/dist/components/phoneInput/PhoneInput.js +19 -14
  237. package/dist/components/phoneInput/PhoneInput.js.map +2 -2
  238. package/dist/components/popover/Popover.cjs +2 -1
  239. package/dist/components/popover/Popover.cjs.map +2 -2
  240. package/dist/components/popover/Popover.d.cts.map +1 -1
  241. package/dist/components/popover/Popover.d.mts.map +1 -1
  242. package/dist/components/popover/Popover.d.ts.map +1 -1
  243. package/dist/components/popover/Popover.js +2 -1
  244. package/dist/components/popover/Popover.js.map +2 -2
  245. package/dist/components/prose.css +1 -1
  246. package/dist/components/qr-code.css +5 -15
  247. package/dist/components/radio-group.css +19 -0
  248. package/dist/components/radioGroup/RadioGroup.cjs +3 -2
  249. package/dist/components/radioGroup/RadioGroup.cjs.map +2 -2
  250. package/dist/components/radioGroup/RadioGroup.d.cts.map +1 -1
  251. package/dist/components/radioGroup/RadioGroup.d.mts.map +1 -1
  252. package/dist/components/radioGroup/RadioGroup.d.ts.map +1 -1
  253. package/dist/components/radioGroup/RadioGroup.js +3 -2
  254. package/dist/components/radioGroup/RadioGroup.js.map +2 -2
  255. package/dist/components/radioGroup/radioGroup.props.cjs +1 -1
  256. package/dist/components/radioGroup/radioGroup.props.cjs.map +2 -2
  257. package/dist/components/radioGroup/radioGroup.props.d.cts +1 -1
  258. package/dist/components/radioGroup/radioGroup.props.d.mts +1 -1
  259. package/dist/components/radioGroup/radioGroup.props.d.ts +1 -1
  260. package/dist/components/radioGroup/radioGroup.props.js +1 -1
  261. package/dist/components/radioGroup/radioGroup.props.js.map +2 -2
  262. package/dist/components/rating.css +12 -0
  263. package/dist/components/result.css +2 -1
  264. package/dist/components/richTextEditor/RichTextEditor.cjs +11 -3
  265. package/dist/components/richTextEditor/RichTextEditor.cjs.map +2 -2
  266. package/dist/components/richTextEditor/RichTextEditor.d.cts.map +1 -1
  267. package/dist/components/richTextEditor/RichTextEditor.d.mts.map +1 -1
  268. package/dist/components/richTextEditor/RichTextEditor.d.ts.map +1 -1
  269. package/dist/components/richTextEditor/RichTextEditor.js +11 -3
  270. package/dist/components/richTextEditor/RichTextEditor.js.map +2 -2
  271. package/dist/components/segmented-control.css +80 -4
  272. package/dist/components/segmentedControl/SegmentedControl.cjs +18 -5
  273. package/dist/components/segmentedControl/SegmentedControl.cjs.map +2 -2
  274. package/dist/components/segmentedControl/SegmentedControl.d.cts.map +1 -1
  275. package/dist/components/segmentedControl/SegmentedControl.d.mts.map +1 -1
  276. package/dist/components/segmentedControl/SegmentedControl.d.ts.map +1 -1
  277. package/dist/components/segmentedControl/SegmentedControl.js +18 -5
  278. package/dist/components/segmentedControl/SegmentedControl.js.map +2 -2
  279. package/dist/components/segmentedControl/segmentedControl.props.cjs +10 -0
  280. package/dist/components/segmentedControl/segmentedControl.props.cjs.map +2 -2
  281. package/dist/components/segmentedControl/segmentedControl.props.d.cts +9 -0
  282. package/dist/components/segmentedControl/segmentedControl.props.d.cts.map +1 -1
  283. package/dist/components/segmentedControl/segmentedControl.props.d.mts +9 -0
  284. package/dist/components/segmentedControl/segmentedControl.props.d.mts.map +1 -1
  285. package/dist/components/segmentedControl/segmentedControl.props.d.ts +9 -0
  286. package/dist/components/segmentedControl/segmentedControl.props.d.ts.map +1 -1
  287. package/dist/components/segmentedControl/segmentedControl.props.js +10 -0
  288. package/dist/components/segmentedControl/segmentedControl.props.js.map +2 -2
  289. package/dist/components/select/Select.cjs +3 -1
  290. package/dist/components/select/Select.cjs.map +2 -2
  291. package/dist/components/select/Select.d.cts.map +1 -1
  292. package/dist/components/select/Select.d.mts.map +1 -1
  293. package/dist/components/select/Select.d.ts.map +1 -1
  294. package/dist/components/select/Select.js +3 -1
  295. package/dist/components/select/Select.js.map +2 -2
  296. package/dist/components/select.css +1 -1
  297. package/dist/components/sonner.css +1 -1
  298. package/dist/components/sortableList/SortableList.cjs +8 -2
  299. package/dist/components/sortableList/SortableList.cjs.map +2 -2
  300. package/dist/components/sortableList/SortableList.d.cts.map +1 -1
  301. package/dist/components/sortableList/SortableList.d.mts.map +1 -1
  302. package/dist/components/sortableList/SortableList.d.ts.map +1 -1
  303. package/dist/components/sortableList/SortableList.js +8 -2
  304. package/dist/components/sortableList/SortableList.js.map +2 -2
  305. package/dist/components/stat-card.css +2 -0
  306. package/dist/components/table/Table.cjs +3 -2
  307. package/dist/components/table/Table.cjs.map +2 -2
  308. package/dist/components/table/Table.d.cts.map +1 -1
  309. package/dist/components/table/Table.d.mts.map +1 -1
  310. package/dist/components/table/Table.d.ts.map +1 -1
  311. package/dist/components/table/Table.js +3 -2
  312. package/dist/components/table/Table.js.map +2 -2
  313. package/dist/components/table/table.props.cjs +6 -0
  314. package/dist/components/table/table.props.cjs.map +2 -2
  315. package/dist/components/table/table.props.d.cts +5 -0
  316. package/dist/components/table/table.props.d.cts.map +1 -1
  317. package/dist/components/table/table.props.d.mts +5 -0
  318. package/dist/components/table/table.props.d.mts.map +1 -1
  319. package/dist/components/table/table.props.d.ts +5 -0
  320. package/dist/components/table/table.props.d.ts.map +1 -1
  321. package/dist/components/table/table.props.js +6 -0
  322. package/dist/components/table/table.props.js.map +2 -2
  323. package/dist/components/table.css +20 -13
  324. package/dist/components/tabs.css +10 -0
  325. package/dist/components/timeline.css +54 -18
  326. package/dist/components/toast.css +33 -1
  327. package/dist/components/toggle-group.css +5 -0
  328. package/dist/components.css +1 -2
  329. package/dist/docs/README.md +1 -1
  330. package/dist/docs/component-contract.md +4 -4
  331. package/dist/docs/component-index.json +9 -9
  332. package/dist/docs/components/banner.md +152 -0
  333. package/dist/docs/components/button-group.md +4 -3
  334. package/dist/docs/components/button.md +2 -2
  335. package/dist/docs/components/card.md +1 -0
  336. package/dist/docs/components/carousel.md +55 -32
  337. package/dist/docs/components/chart.md +25 -7
  338. package/dist/docs/components/checkbox.md +4 -0
  339. package/dist/docs/components/combobox.md +3 -1
  340. package/dist/docs/components/command.md +2 -2
  341. package/dist/docs/components/copy-field.md +2 -2
  342. package/dist/docs/components/data-list.md +15 -3
  343. package/dist/docs/components/data-table.md +98 -17
  344. package/dist/docs/components/dialog.md +4 -0
  345. package/dist/docs/components/dropdown-menu.md +2 -1
  346. package/dist/docs/components/empty-state.md +3 -1
  347. package/dist/docs/components/file-upload.md +1 -0
  348. package/dist/docs/components/filter-bar.md +193 -8
  349. package/dist/docs/components/floating-panel.md +8 -8
  350. package/dist/docs/components/icon-button.md +4 -1
  351. package/dist/docs/components/item.md +18 -13
  352. package/dist/docs/components/marquee.md +2 -2
  353. package/dist/docs/components/menu.md +4 -1
  354. package/dist/docs/components/metric.md +4 -1
  355. package/dist/docs/components/pagination.md +88 -17
  356. package/dist/docs/components/pills.md +1 -1
  357. package/dist/docs/components/popover.md +2 -0
  358. package/dist/docs/components/prose.md +5 -1
  359. package/dist/docs/components/qr-code.md +14 -13
  360. package/dist/docs/components/radio-group.md +5 -2
  361. package/dist/docs/components/rating.md +2 -0
  362. package/dist/docs/components/result.md +6 -0
  363. package/dist/docs/components/segmented-control.md +7 -2
  364. package/dist/docs/components/select.md +3 -2
  365. package/dist/docs/components/sidebar.md +3 -1
  366. package/dist/docs/components/sonner.md +1 -1
  367. package/dist/docs/components/sortable-list.md +2 -0
  368. package/dist/docs/components/stat-card.md +5 -4
  369. package/dist/docs/components/stepper.md +1 -0
  370. package/dist/docs/components/table.md +14 -5
  371. package/dist/docs/components/tag.md +4 -2
  372. package/dist/docs/components/timeline.md +9 -5
  373. package/dist/docs/components/toast.md +1 -1
  374. package/dist/docs/components/toggle-group.md +2 -1
  375. package/dist/fonts.css +1 -1
  376. package/dist/generated/tokens.cjs +1 -1
  377. package/dist/generated/tokens.cjs.map +1 -1
  378. package/dist/generated/tokens.js +1 -1
  379. package/dist/generated/tokens.js.map +1 -1
  380. package/dist/motion.css +18 -3
  381. package/dist/styles.css +1249 -292
  382. package/dist/tokens.css +21 -15
  383. package/package.json +1 -1
  384. package/dist/components/control-group.css +0 -142
  385. package/dist/components/controlGroup/ControlGroup.cjs.map +0 -7
  386. package/dist/components/controlGroup/ControlGroup.d.cts +0 -16
  387. package/dist/components/controlGroup/ControlGroup.d.cts.map +0 -1
  388. package/dist/components/controlGroup/ControlGroup.d.mts +0 -16
  389. package/dist/components/controlGroup/ControlGroup.d.mts.map +0 -1
  390. package/dist/components/controlGroup/ControlGroup.d.ts +0 -16
  391. package/dist/components/controlGroup/ControlGroup.d.ts.map +0 -1
  392. package/dist/components/controlGroup/ControlGroup.js +0 -26
  393. package/dist/components/controlGroup/ControlGroup.js.map +0 -7
  394. package/dist/components/controlGroup/controlGroup.props.cjs.map +0 -7
  395. package/dist/components/controlGroup/controlGroup.props.d.cts +0 -18
  396. package/dist/components/controlGroup/controlGroup.props.d.cts.map +0 -1
  397. package/dist/components/controlGroup/controlGroup.props.d.mts +0 -18
  398. package/dist/components/controlGroup/controlGroup.props.d.mts.map +0 -1
  399. package/dist/components/controlGroup/controlGroup.props.d.ts +0 -18
  400. package/dist/components/controlGroup/controlGroup.props.d.ts.map +0 -1
  401. package/dist/components/controlGroup/controlGroup.props.js +0 -20
  402. package/dist/components/controlGroup/controlGroup.props.js.map +0 -7
  403. package/dist/docs/components/control-group.md +0 -261
@@ -39,24 +39,18 @@ module.exports = __toCommonJS(DataTable_exports);
39
39
  var React = __toESM(require("react"), 1);
40
40
  var import_classnames = __toESM(require("classnames"), 1);
41
41
  var import_extractProps = require("../../_internal/helpers/extractProps");
42
+ var import_Button = require("../button/Button");
42
43
  var import_Checkbox = require("../checkbox/Checkbox");
43
- var import_Input = require("../input/Input");
44
+ var import_Icon = require("../icon/Icon");
44
45
  var import_Table = require("../table/Table");
46
+ var import_DataTableContext = require("./DataTableContext");
45
47
  var import_dataTable = require("./dataTable.props");
48
+ var import_dataTable2 = require("./dataTable.export");
46
49
  var import_DataTableToolbar = require("./DataTableToolbar");
47
50
  var import_DataTablePagination = require("./DataTablePagination");
48
51
  var import_DataTableFacetedFilter = require("./DataTableFacetedFilter");
49
52
  var import_Result = require("../result/Result");
50
53
  var import_jsx_runtime = require("react/jsx-runtime");
51
- const DATA_TABLE_CONTROLS_STYLE = {
52
- display: "flex",
53
- alignItems: "center",
54
- gap: "var(--dsx-space-sm)",
55
- padding: "var(--dsx-space-md)"
56
- };
57
- const DATA_TABLE_SEARCH_STYLE = {
58
- width: "100%"
59
- };
60
54
  const DATA_TABLE_SELECTION_CELL_STYLE = {
61
55
  width: "1%",
62
56
  whiteSpace: "nowrap"
@@ -75,10 +69,6 @@ const DATA_TABLE_HEADER_BUTTON_STYLE = {
75
69
  textAlign: "left",
76
70
  cursor: "pointer"
77
71
  };
78
- const DATA_TABLE_SORT_ICON_STYLE = {
79
- color: "var(--dsx-color-on-surface-variant)",
80
- fontSize: "0.875em"
81
- };
82
72
  const DATA_TABLE_EXPAND_CELL_STYLE = {
83
73
  width: "1%",
84
74
  whiteSpace: "nowrap"
@@ -154,19 +144,7 @@ function getNextSortState(currentSort, columnId) {
154
144
  if (!currentSort || currentSort.columnId !== columnId) {
155
145
  return { columnId, direction: "asc" };
156
146
  }
157
- return {
158
- columnId,
159
- direction: currentSort.direction === "asc" ? "desc" : "asc"
160
- };
161
- }
162
- function getSortIcon(direction) {
163
- if (direction === "asc") {
164
- return "\u2191";
165
- }
166
- if (direction === "desc") {
167
- return "\u2193";
168
- }
169
- return "\u2195";
147
+ return currentSort.direction === "asc" ? { columnId, direction: "desc" } : null;
170
148
  }
171
149
  function getColumnValue(column, row, rowIndex) {
172
150
  if (column.accessorKey) {
@@ -182,7 +160,7 @@ function DataTableInner(props, forwardedRef) {
182
160
  className: propClassName,
183
161
  columns,
184
162
  data,
185
- emptyState = "No results.",
163
+ emptyState,
186
164
  getRowId,
187
165
  visibleColumnIds: controlledVisibleColumnIds,
188
166
  onVisibleColumnIdsChange,
@@ -191,12 +169,28 @@ function DataTableInner(props, forwardedRef) {
191
169
  facetedFilters: controlledFacetedFilters,
192
170
  onFacetedFiltersChange,
193
171
  toolbar,
172
+ query: controlledQuery,
173
+ defaultQuery = "",
174
+ onQueryChange,
194
175
  showToolbar = true,
195
176
  showPagination = false,
177
+ paginationPosition = "bottom",
178
+ paginationAlign,
179
+ paginationFirstLast = false,
180
+ paginationPageInput = false,
181
+ onTableChange,
182
+ bulkActions,
196
183
  sortBy,
197
184
  sortOrder = "asc",
198
185
  onSortChange,
186
+ sorting: controlledSorting,
187
+ defaultSorting = null,
188
+ onSortingChange,
189
+ resetPageOnViewChange = true,
190
+ clearSelectionOnViewChange = true,
199
191
  stickyHeader = false,
192
+ wrapScrollArea = true,
193
+ separator = "rules",
200
194
  selectedRowIds: controlledSelectedRowIds,
201
195
  defaultSelectedRowIds,
202
196
  onSelectedRowIdsChange,
@@ -219,9 +213,10 @@ function DataTableInner(props, forwardedRef) {
219
213
  },
220
214
  import_dataTable.dataTablePropDefs
221
215
  );
222
- const [query, setQuery] = React.useState("");
223
- const [internalSort, setInternalSort] = React.useState(null);
224
- const sort = sortBy ? { columnId: sortBy, direction: sortOrder } : internalSort;
216
+ const [internalQuery, setInternalQuery] = React.useState(defaultQuery);
217
+ const query = controlledQuery ?? internalQuery;
218
+ const [internalSort, setInternalSort] = React.useState(defaultSorting);
219
+ const sort = controlledSorting !== void 0 ? controlledSorting : sortBy ? { columnId: sortBy, direction: sortOrder } : internalSort;
225
220
  const [internalSelectedRowIds, setInternalSelectedRowIds] = React.useState(() => new Set(defaultSelectedRowIds));
226
221
  const selectedRowIds = controlledSelectedRowIds ?? internalSelectedRowIds;
227
222
  const [internalExpandedRowIds, setInternalExpandedRowIds] = React.useState(() => new Set(defaultExpandedRowIds));
@@ -232,10 +227,18 @@ function DataTableInner(props, forwardedRef) {
232
227
  page: 1,
233
228
  pageSize: 10
234
229
  });
235
- const visibleColumnIds = controlledVisibleColumnIds ?? new Set(columns.map((col) => col.id));
230
+ const [internalVisibleColumnIds, setInternalVisibleColumnIds] = React.useState(
231
+ () => new Set(columns.map((column) => column.id))
232
+ );
233
+ const visibleColumnIds = controlledVisibleColumnIds ?? internalVisibleColumnIds;
236
234
  const isPaginationControlled = controlledPagination !== void 0;
237
235
  const pagination = isPaginationControlled ? controlledPagination : internalPagination;
238
236
  const facetedFilters = controlledFacetedFilters ?? [];
237
+ const facetedFilterSignature = React.useMemo(
238
+ () => facetedFilters.map((filter) => `${filter.columnId}:${Array.from(filter.selectedValues).sort().join(",")}`).sort().join("|"),
239
+ [facetedFilters]
240
+ );
241
+ const previousFacetedFilterSignature = React.useRef(facetedFilterSignature);
239
242
  const rows = React.useMemo(
240
243
  () => data.map((row, rowIndex) => ({
241
244
  row,
@@ -268,9 +271,12 @@ function DataTableInner(props, forwardedRef) {
268
271
  const filteredRows = React.useMemo(() => {
269
272
  let result2 = rows;
270
273
  if (normalizedQuery) {
271
- result2 = result2.filter(
272
- ({ row, rowIndex }) => columns.some((column) => stringifyDataTableValue(getColumnValue(column, row, rowIndex)).toLowerCase().includes(normalizedQuery))
273
- );
274
+ result2 = result2.filter(({ row, rowIndex }) => {
275
+ const matchesRenderedColumns = columns.some((column) => stringifyDataTableValue(
276
+ getColumnValue(column, row, rowIndex)
277
+ ).toLowerCase().includes(normalizedQuery));
278
+ return matchesRenderedColumns || stringifyDataTableValue(row).toLowerCase().includes(normalizedQuery);
279
+ });
274
280
  }
275
281
  if (facetedFilterMap.size > 0) {
276
282
  result2 = result2.filter(({ row }) => {
@@ -322,10 +328,44 @@ function DataTableInner(props, forwardedRef) {
322
328
  () => columns.filter((col) => visibleColumnIds.has(col.id)),
323
329
  [columns, visibleColumnIds]
324
330
  );
331
+ const emitTableChange = React.useCallback((action, paginationOverride, sortOverride) => {
332
+ const resolvedSort = sortOverride !== void 0 ? sortOverride : sort;
333
+ onTableChange?.(action, {
334
+ pagination: paginationOverride ?? pagination,
335
+ sortBy: resolvedSort ? resolvedSort.columnId : null,
336
+ sortOrder: resolvedSort ? resolvedSort.direction : sortOrder
337
+ });
338
+ }, [onTableChange, pagination, sort, sortOrder]);
339
+ const resetViewState = React.useCallback(() => {
340
+ const nextPagination = { ...pagination, page: 1 };
341
+ if (resetPageOnViewChange && pagination.page !== 1) {
342
+ if (!isPaginationControlled) setInternalPagination(nextPagination);
343
+ onPaginationChange?.(nextPagination);
344
+ }
345
+ if (clearSelectionOnViewChange && selectedRowIds.size > 0) {
346
+ if (controlledSelectedRowIds === void 0) setInternalSelectedRowIds(/* @__PURE__ */ new Set());
347
+ onSelectedRowIdsChange?.(/* @__PURE__ */ new Set());
348
+ }
349
+ return resetPageOnViewChange ? nextPagination : pagination;
350
+ }, [
351
+ clearSelectionOnViewChange,
352
+ controlledSelectedRowIds,
353
+ isPaginationControlled,
354
+ onPaginationChange,
355
+ onSelectedRowIdsChange,
356
+ pagination,
357
+ resetPageOnViewChange,
358
+ selectedRowIds
359
+ ]);
325
360
  function handleSort(columnId) {
326
- const next = getNextSortState(sort, columnId);
327
- if (sortBy === void 0) setInternalSort(next);
328
- onSortChange?.(next.columnId, next.direction);
361
+ const next = controlledSorting === void 0 && sortBy !== void 0 ? {
362
+ columnId,
363
+ direction: sort?.columnId === columnId && sort.direction === "asc" ? "desc" : "asc"
364
+ } : getNextSortState(sort, columnId);
365
+ if (controlledSorting === void 0 && sortBy === void 0) setInternalSort(next);
366
+ onSortingChange?.(next);
367
+ if (next) onSortChange?.(next.columnId, next.direction);
368
+ emitTableChange("sort", resetViewState(), next);
329
369
  }
330
370
  function updateSelection(updater) {
331
371
  const next = updater(selectedRowIds);
@@ -372,6 +412,7 @@ function DataTableInner(props, forwardedRef) {
372
412
  setInternalPagination(nextPagination);
373
413
  }
374
414
  onPaginationChange?.(nextPagination);
415
+ emitTableChange("paginate", nextPagination);
375
416
  }
376
417
  function handlePageSizeChange(nextPageSize) {
377
418
  const nextPagination = { ...pagination, pageSize: nextPageSize, page: 1 };
@@ -379,20 +420,79 @@ function DataTableInner(props, forwardedRef) {
379
420
  setInternalPagination(nextPagination);
380
421
  }
381
422
  onPaginationChange?.(nextPagination);
423
+ emitTableChange("paginate", nextPagination);
382
424
  }
383
- const defaultToolbar = showToolbar ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { style: DATA_TABLE_CONTROLS_STYLE, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
384
- import_Input.Input,
385
- {
386
- "aria-label": "Search table rows",
387
- density: "sm",
388
- onChange: (event) => setQuery(event.currentTarget.value),
389
- placeholder: "Search rows",
390
- style: DATA_TABLE_SEARCH_STYLE,
391
- type: "search",
392
- value: query
393
- }
394
- ) }) : null;
395
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
425
+ function handleQueryChange(nextQuery) {
426
+ if (controlledQuery === void 0) setInternalQuery(nextQuery);
427
+ onQueryChange?.(nextQuery);
428
+ emitTableChange("filter", resetViewState());
429
+ }
430
+ function handleVisibleColumnIdsChange(nextVisibleColumnIds) {
431
+ if (controlledVisibleColumnIds === void 0) setInternalVisibleColumnIds(nextVisibleColumnIds);
432
+ onVisibleColumnIdsChange?.(nextVisibleColumnIds);
433
+ }
434
+ function handleClearSelection() {
435
+ updateSelection(() => /* @__PURE__ */ new Set());
436
+ }
437
+ function handleClearFilters() {
438
+ handleQueryChange("");
439
+ onFacetedFiltersChange?.([]);
440
+ }
441
+ React.useEffect(() => {
442
+ if (previousFacetedFilterSignature.current === facetedFilterSignature) return;
443
+ previousFacetedFilterSignature.current = facetedFilterSignature;
444
+ emitTableChange("filter", resetViewState());
445
+ }, [emitTableChange, facetedFilterSignature, resetViewState]);
446
+ const defaultToolbar = showToolbar ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_DataTableToolbar.DataTableToolbar, { "aria-label": "Table tools", role: "group", children: [
447
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_DataTableToolbar.DataTableToolbar.Search, {}),
448
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "dsx-data-table-toolbar__actions", children: [
449
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_DataTableToolbar.DataTableToolbar.RowCount, {}),
450
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_DataTableToolbar.DataTableToolbar.ColumnVisibility, {}),
451
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_DataTableToolbar.DataTableToolbar.Export, {})
452
+ ] })
453
+ ] }) : null;
454
+ const showTopPagination = showPagination && (paginationPosition === "top" || paginationPosition === "both");
455
+ const showBottomPagination = showPagination && (paginationPosition === "bottom" || paginationPosition === "both");
456
+ const selectedCount = selectedRowIds.size;
457
+ const showBulkBar = selectionMode === "multiple" && selectedCount > 0;
458
+ const toolbarContextValue = {
459
+ columns: columns.map((column) => ({ id: column.id, label: column.header })),
460
+ exportRows: (format) => (0, import_dataTable2.exportDataTableRows)(
461
+ format,
462
+ visibleRows.map(({ row }) => row),
463
+ visibleColumns
464
+ ),
465
+ exportRowsProgressive: (format, onProgress) => (0, import_dataTable2.exportDataTableRowsProgressive)(
466
+ format,
467
+ visibleRows.map(({ row }) => row),
468
+ visibleColumns,
469
+ onProgress
470
+ ),
471
+ filteredRowCount: visibleRows.length,
472
+ onQueryChange: handleQueryChange,
473
+ onVisibleColumnIdsChange: handleVisibleColumnIdsChange,
474
+ query,
475
+ selectedRowCount: selectedCount,
476
+ totalRowCount: rows.length,
477
+ visibleColumnIds
478
+ };
479
+ function renderPagination(position) {
480
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
481
+ import_DataTablePagination.DataTablePagination,
482
+ {
483
+ page: pagination.page,
484
+ pageSize: pagination.pageSize,
485
+ total: visibleRows.length,
486
+ onPageChange: handlePaginationChange,
487
+ onPageSizeChange: handlePageSizeChange,
488
+ align: paginationAlign,
489
+ showFirstLast: paginationFirstLast,
490
+ showPageInput: paginationPageInput,
491
+ className: position === "top" ? "dsx-data-table__pagination-top" : void 0
492
+ }
493
+ );
494
+ }
495
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
396
496
  "div",
397
497
  {
398
498
  ...dataTableProps,
@@ -401,9 +501,20 @@ function DataTableInner(props, forwardedRef) {
401
501
  "data-empty": isEmpty ? "true" : void 0,
402
502
  "data-size": size,
403
503
  "data-sticky-header": stickyHeader ? "true" : void 0,
404
- children: [
405
- toolbar ?? defaultToolbar,
406
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_Table.Table, { children: [
504
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_DataTableContext.DataTableToolbarContext.Provider, { value: toolbarContextValue, children: [
505
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "dsx-data-table__toolbar-region", children: [
506
+ toolbar ?? defaultToolbar,
507
+ showBulkBar ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "dsx-data-table__bulk-bar", role: "group", "aria-label": "Selected row actions", children: [
508
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { className: "dsx-data-table__bulk-bar-count", role: "status", "aria-live": "polite", children: [
509
+ selectedCount,
510
+ " selected"
511
+ ] }),
512
+ bulkActions ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "dsx-data-table__bulk-bar-actions", children: bulkActions }) : null,
513
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Button.Button, { className: "dsx-data-table__bulk-bar-clear", size: "sm", type: "button", variant: "ghost", onClick: handleClearSelection, children: "Deselect all" })
514
+ ] }) : null
515
+ ] }),
516
+ showTopPagination ? renderPagination("top") : null,
517
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_Table.Table, { size, wrapScrollArea, separator, children: [
407
518
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Table.TableHeader, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_Table.TableRow, { children: [
408
519
  expandedRowRender ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Table.TableHead, { "aria-label": "Expand row", style: DATA_TABLE_EXPAND_CELL_STYLE }) : null,
409
520
  selectionMode === "multiple" ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Table.TableHead, { "aria-label": "Select rows", style: DATA_TABLE_SELECTION_CELL_STYLE, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
@@ -426,9 +537,23 @@ function DataTableInner(props, forwardedRef) {
426
537
  "data-truncate": column.truncate ? "true" : void 0,
427
538
  "data-hide-below": column.hideBelow,
428
539
  style: { width: typeof column.width === "object" ? void 0 : column.width, minWidth: typeof column.width === "object" ? column.width.min : void 0, maxWidth: typeof column.width === "object" ? column.width.max : void 0 },
429
- children: column.sortable !== false ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("button", { style: DATA_TABLE_HEADER_BUTTON_STYLE, type: "button", onClick: () => handleSort(column.id), children: [
540
+ children: column.sortable !== false ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("button", { className: "dsx-data-table__sort-button", style: DATA_TABLE_HEADER_BUTTON_STYLE, type: "button", onClick: () => handleSort(column.id), children: [
430
541
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: column.header }),
431
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { "aria-hidden": "true", style: DATA_TABLE_SORT_ICON_STYLE, children: getSortIcon(sort?.columnId === column.id ? sort.direction : void 0) })
542
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
543
+ "span",
544
+ {
545
+ "aria-hidden": "true",
546
+ className: "dsx-data-table__sort-indicator",
547
+ "data-direction": sort?.columnId === column.id ? sort.direction : "none",
548
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
549
+ import_Icon.Icon,
550
+ {
551
+ name: sort?.columnId === column.id ? sort.direction === "asc" ? "arrow-up" : "arrow-down" : "arrow-up-down",
552
+ size: "sm"
553
+ }
554
+ )
555
+ }
556
+ )
432
557
  ] }) : column.header
433
558
  },
434
559
  column.id
@@ -467,19 +592,19 @@ function DataTableInner(props, forwardedRef) {
467
592
  }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Table.TableRow, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Table.TableCell, { className: "dsx-data-table__empty", colSpan: visibleColumns.length + (selectionMode === "multiple" ? 1 : 0) + (expandedRowRender ? 1 : 0), "data-empty": "true", children: result ?? (listState ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_Result.Result, { state: listState, children: [
468
593
  listState === "loading" ? null : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Result.Result.Icon, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Result.Result.Illustration, { variant: import_Result.RESULT_ILLUSTRATION_VARIANT_BY_STATE[listState] }) }),
469
594
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Result.Result.Title, { children: listState === "loading" ? "Loading" : listState === "error" ? "Unable to load data" : listState === "no-results" ? "No matching results" : "No data" })
470
- ] }) : emptyState) }) }) })
595
+ ] }) : emptyState ?? (rows.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "dsx-data-table__empty-content", children: [
596
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Icon.Icon, { "aria-hidden": "true", name: "search", size: "md" }),
597
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("strong", { children: "No matching rows" }),
598
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: "Try changing your search or filters." }),
599
+ normalizedQuery !== "" || facetedFilterSignature !== "" ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Button.Button, { size: "sm", type: "button", variant: "ghost", onClick: handleClearFilters, children: "Clear search and filters" }) : null
600
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "dsx-data-table__empty-content", children: [
601
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Icon.Icon, { "aria-hidden": "true", name: "inbox", size: "md" }),
602
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("strong", { children: "No rows yet" }),
603
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: "When rows arrive they will appear here." })
604
+ ] }))) }) }) })
471
605
  ] }),
472
- showPagination && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
473
- import_DataTablePagination.DataTablePagination,
474
- {
475
- page: pagination.page,
476
- pageSize: pagination.pageSize,
477
- total: visibleRows.length,
478
- onPageChange: handlePaginationChange,
479
- onPageSizeChange: handlePageSizeChange
480
- }
481
- )
482
- ]
606
+ showBottomPagination ? renderPagination("bottom") : null
607
+ ] })
483
608
  }
484
609
  );
485
610
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/dataTable/DataTable.tsx"],
4
- "sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport classNames from 'classnames'\n\nimport { extractProps } from '../../_internal/helpers/extractProps'\nimport { Checkbox } from '../checkbox/Checkbox'\nimport { Input } from '../input/Input'\nimport { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from '../table/Table'\nimport { dataTablePropDefs } from './dataTable.props'\nimport { DataTableToolbar } from './DataTableToolbar'\nimport { DataTablePagination } from './DataTablePagination'\nimport { DataTableFacetedFilter } from './DataTableFacetedFilter'\nimport { RESULT_ILLUSTRATION_VARIANT_BY_STATE, Result } from '../result/Result'\n\ntype DataTableSortDirection = 'asc' | 'desc'\n\ntype DataTableSortState = {\n columnId: string\n direction: DataTableSortDirection\n}\n\ntype DataTableRowMeta<Row> = {\n row: Row\n rowId: React.Key\n rowIndex: number\n}\n\nconst DATA_TABLE_CONTROLS_STYLE: React.CSSProperties = {\n display: 'flex',\n alignItems: 'center',\n gap: 'var(--dsx-space-sm)',\n padding: 'var(--dsx-space-md)',\n}\n\nconst DATA_TABLE_SEARCH_STYLE: React.CSSProperties = {\n width: '100%',\n}\n\nconst DATA_TABLE_SELECTION_CELL_STYLE: React.CSSProperties = {\n width: '1%',\n whiteSpace: 'nowrap',\n}\n\nconst DATA_TABLE_HEADER_BUTTON_STYLE: React.CSSProperties = {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: 'var(--dsx-space-xs)',\n width: '100%',\n padding: 0,\n border: 0,\n background: 'transparent',\n color: 'inherit',\n font: 'inherit',\n textAlign: 'left',\n cursor: 'pointer',\n}\n\nconst DATA_TABLE_SORT_ICON_STYLE: React.CSSProperties = {\n color: 'var(--dsx-color-on-surface-variant)',\n fontSize: '0.875em',\n}\n\nconst DATA_TABLE_EXPAND_CELL_STYLE: React.CSSProperties = {\n width: '1%',\n whiteSpace: 'nowrap',\n}\n\nconst DATA_TABLE_EXPAND_BUTTON_STYLE: React.CSSProperties = {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: '1.5rem',\n height: '1.5rem',\n padding: 0,\n border: 0,\n background: 'transparent',\n color: 'var(--dsx-color-on-surface-variant)',\n cursor: 'pointer',\n}\n\nfunction getNodeText(node: React.ReactNode): string {\n if (node == null || typeof node === 'boolean') {\n return ''\n }\n\n if (typeof node === 'string' || typeof node === 'number' || typeof node === 'bigint') {\n return String(node)\n }\n\n if (Array.isArray(node)) {\n return node.map((child) => getNodeText(child)).join(' ')\n }\n\n if (React.isValidElement(node)) {\n const props = node.props as { children?: React.ReactNode }\n\n return getNodeText(props.children)\n }\n\n return ''\n}\n\nfunction stringifyDataTableValue(value: unknown): string {\n if (value == null || typeof value === 'boolean') {\n return value ? 'true' : ''\n }\n\n if (typeof value === 'string' || typeof value === 'number' || typeof value === 'bigint') {\n return String(value)\n }\n\n if (value instanceof Date) {\n return value.toISOString()\n }\n\n if (Array.isArray(value)) {\n return value.map((item) => stringifyDataTableValue(item)).join(' ')\n }\n\n if (React.isValidElement(value)) {\n return getNodeText(value)\n }\n\n if (typeof value === 'object') {\n return Object.values(value as Record<string, unknown>)\n .map((item) => stringifyDataTableValue(item))\n .join(' ')\n }\n\n return ''\n}\n\nfunction compareDataTableValues(left: unknown, right: unknown): number {\n if (typeof left === 'number' && typeof right === 'number') {\n return left - right\n }\n\n if (typeof left === 'bigint' && typeof right === 'bigint') {\n return left > right ? 1 : left < right ? -1 : 0\n }\n\n if (left instanceof Date && right instanceof Date) {\n return left.getTime() - right.getTime()\n }\n\n if (typeof left === 'boolean' && typeof right === 'boolean') {\n return Number(left) - Number(right)\n }\n\n return stringifyDataTableValue(left).localeCompare(stringifyDataTableValue(right), undefined, {\n numeric: true,\n sensitivity: 'base',\n })\n}\n\nfunction getNextSortState(currentSort: DataTableSortState | null, columnId: string): DataTableSortState {\n if (!currentSort || currentSort.columnId !== columnId) {\n return { columnId, direction: 'asc' }\n }\n\n return {\n columnId,\n direction: currentSort.direction === 'asc' ? 'desc' : 'asc',\n }\n}\n\nfunction getSortIcon(direction?: DataTableSortDirection): string {\n if (direction === 'asc') {\n return '\u2191'\n }\n\n if (direction === 'desc') {\n return '\u2193'\n }\n\n return '\u2195'\n}\n\nfunction getColumnValue<Row extends Record<string, unknown>>(\n column: DataTableColumn<Row>,\n row: Row,\n rowIndex: number,\n): unknown {\n if (column.accessorKey) {\n return row[column.accessorKey]\n }\n\n if (column.cell) {\n return column.cell(row, rowIndex)\n }\n\n return null\n}\n\ntype DataTableColumn<Row> = {\n accessorKey?: keyof Row\n cell?: (row: Row, rowIndex: number) => React.ReactNode\n header: React.ReactNode\n id: string\n width?: string | number | { min?: string | number; max?: string | number }\n align?: 'start' | 'center' | 'end'\n numeric?: boolean\n sortable?: boolean\n truncate?: boolean\n hideBelow?: 'sm' | 'md' | 'lg' | 'xl' | '2xl'\n}\n\ntype DataTablePaginationState = {\n page: number\n pageSize: number\n}\n\ntype DataTableFacetedFilterState = {\n columnId: string\n accessorKey: string\n selectedValues: Set<string>\n}\n\ntype DataTableProps<Row> = Omit<React.HTMLAttributes<HTMLDivElement>, 'children'> & {\n columns: Array<DataTableColumn<Row>>\n data: Row[]\n emptyState?: React.ReactNode\n size?: 'sm' | 'md' | 'lg'\n getRowId?: (row: Row, rowIndex: number) => React.Key\n visibleColumnIds?: Set<string>\n onVisibleColumnIdsChange?: (visibleColumnIds: Set<string>) => void\n pagination?: DataTablePaginationState\n onPaginationChange?: (pagination: DataTablePaginationState) => void\n facetedFilters?: Array<DataTableFacetedFilterState>\n onFacetedFiltersChange?: (facetedFilters: Array<DataTableFacetedFilterState>) => void\n toolbar?: React.ReactNode\n showToolbar?: boolean\n showPagination?: boolean\n sortBy?: string | null\n sortOrder?: DataTableSortDirection\n onSortChange?: (sortBy: string, sortOrder: DataTableSortDirection) => void\n stickyHeader?: boolean\n selectedRowIds?: Set<React.Key>\n defaultSelectedRowIds?: Iterable<React.Key>\n onSelectedRowIdsChange?: (selectedRowIds: Set<React.Key>) => void\n selectionMode?: 'multiple' | 'none'\n listState?: 'loading' | 'empty' | 'no-results' | 'error'\n result?: React.ReactNode\n expandedRowRender?: (row: Row, rowIndex: number) => React.ReactNode\n expandedRowIds?: Set<React.Key>\n defaultExpandedRowIds?: Iterable<React.Key>\n onExpandedRowIdsChange?: (expandedRowIds: Set<React.Key>) => void\n renderRowEditor?: (row: Row, rowIndex: number) => React.ReactNode\n editingRowId?: React.Key | null\n}\n\ntype DataTableComponent = <Row extends Record<string, unknown>>(\n props: DataTableProps<Row> & React.RefAttributes<HTMLDivElement>,\n) => React.ReactElement | null\n\nfunction DataTableInner<Row extends Record<string, unknown>>(\n props: DataTableProps<Row>,\n forwardedRef: React.ForwardedRef<HTMLDivElement>,\n) {\n const {\n className: propClassName,\n columns,\n data,\n emptyState = 'No results.',\n getRowId,\n visibleColumnIds: controlledVisibleColumnIds,\n onVisibleColumnIdsChange,\n pagination: controlledPagination,\n onPaginationChange,\n facetedFilters: controlledFacetedFilters,\n onFacetedFiltersChange,\n toolbar,\n showToolbar = true,\n showPagination = false,\n sortBy,\n sortOrder = 'asc',\n onSortChange,\n stickyHeader = false,\n selectedRowIds: controlledSelectedRowIds,\n defaultSelectedRowIds,\n onSelectedRowIdsChange,\n selectionMode = 'multiple',\n listState,\n result,\n size = 'md',\n expandedRowRender,\n expandedRowIds: controlledExpandedRowIds,\n defaultExpandedRowIds,\n onExpandedRowIdsChange,\n renderRowEditor,\n editingRowId = null,\n ...restProps\n } = props\n const { className, ...dataTableProps } = extractProps(\n {\n ...restProps,\n className: propClassName,\n },\n dataTablePropDefs,\n )\n\n const [query, setQuery] = React.useState('')\n const [internalSort, setInternalSort] = React.useState<DataTableSortState | null>(null)\n const sort = sortBy ? { columnId: sortBy, direction: sortOrder } : internalSort\n const [internalSelectedRowIds, setInternalSelectedRowIds] = React.useState<Set<React.Key>>(() => new Set(defaultSelectedRowIds))\n const selectedRowIds = controlledSelectedRowIds ?? internalSelectedRowIds\n\n const [internalExpandedRowIds, setInternalExpandedRowIds] = React.useState<Set<React.Key>>(() => new Set(defaultExpandedRowIds))\n const expandedRowIds = controlledExpandedRowIds ?? internalExpandedRowIds\n\n const truncatingColumns = columns.filter((column) => column.truncate)\n if (truncatingColumns.length > 1) throw new Error('DataTable supports at most one truncating column.')\n\n const [internalPagination, setInternalPagination] = React.useState<DataTablePaginationState>({\n page: 1,\n pageSize: 10,\n })\n\n const visibleColumnIds = controlledVisibleColumnIds ?? new Set(columns.map((col) => col.id))\n\n const isPaginationControlled = controlledPagination !== undefined\n const pagination = isPaginationControlled ? controlledPagination : internalPagination\n\n const facetedFilters = controlledFacetedFilters ?? []\n\n const rows = React.useMemo<Array<DataTableRowMeta<Row>>>(\n () =>\n data.map((row, rowIndex) => ({\n row,\n rowId: getRowId?.(row, rowIndex) ?? rowIndex,\n rowIndex,\n })),\n [data, getRowId],\n )\n\n React.useEffect(() => {\n const availableRowIds = new Set(rows.map((row) => row.rowId))\n\n if (controlledSelectedRowIds) return\n setInternalSelectedRowIds((currentSelectedRowIds) => {\n const nextSelectedRowIds = new Set(\n Array.from(currentSelectedRowIds).filter((rowId) => availableRowIds.has(rowId)),\n )\n\n if (\n nextSelectedRowIds.size === currentSelectedRowIds.size\n && Array.from(nextSelectedRowIds).every((rowId) => currentSelectedRowIds.has(rowId))\n ) {\n return currentSelectedRowIds\n }\n\n return nextSelectedRowIds\n })\n }, [controlledSelectedRowIds, rows])\n\n const normalizedQuery = query.trim().toLowerCase()\n\n const facetedFilterMap = React.useMemo(() => {\n const map = new Map<string, Set<string>>()\n for (const filter of facetedFilters) {\n map.set(filter.columnId, filter.selectedValues)\n }\n return map\n }, [facetedFilters])\n\n const filteredRows = React.useMemo(() => {\n let result = rows\n\n if (normalizedQuery) {\n result = result.filter(({ row, rowIndex }) =>\n columns.some((column) => stringifyDataTableValue(getColumnValue(column, row, rowIndex)).toLowerCase().includes(normalizedQuery)),\n )\n }\n\n if (facetedFilterMap.size > 0) {\n result = result.filter(({ row }) => {\n for (const [columnId, selectedValues] of facetedFilterMap) {\n if (selectedValues.size === 0) continue\n const column = columns.find((col) => col.id === columnId)\n if (!column || !column.accessorKey) continue\n const cellValue = stringifyDataTableValue(row[column.accessorKey]).toLowerCase()\n if (!selectedValues.has(cellValue)) {\n return false\n }\n }\n return true\n })\n }\n\n return result\n }, [columns, normalizedQuery, rows, facetedFilterMap])\n\n const visibleRows = React.useMemo(() => {\n if (!sort) {\n return filteredRows\n }\n\n const activeColumn = columns.find((column) => column.id === sort.columnId)\n\n if (!activeColumn) {\n return filteredRows\n }\n\n const direction = sort.direction === 'asc' ? 1 : -1\n\n return [...filteredRows].sort((leftRow, rightRow) => {\n const comparison = compareDataTableValues(\n getColumnValue(activeColumn, leftRow.row, leftRow.rowIndex),\n getColumnValue(activeColumn, rightRow.row, rightRow.rowIndex),\n )\n\n if (comparison !== 0) {\n return comparison * direction\n }\n\n return leftRow.rowIndex - rightRow.rowIndex\n })\n }, [columns, filteredRows, sort])\n\n const paginatedRows = React.useMemo(() => {\n if (!showPagination) return visibleRows\n const start = (pagination.page - 1) * pagination.pageSize\n return visibleRows.slice(start, start + pagination.pageSize)\n }, [visibleRows, pagination, showPagination])\n\n const isEmpty = paginatedRows.length === 0\n const hasVisibleRows = paginatedRows.length > 0\n const selectedVisibleRowCount = paginatedRows.filter((row) => selectedRowIds.has(row.rowId)).length\n const allVisibleRowsSelected = hasVisibleRows && selectedVisibleRowCount === paginatedRows.length\n const someVisibleRowsSelected = selectedVisibleRowCount > 0 && !allVisibleRowsSelected\n\n const visibleColumns = React.useMemo(\n () => columns.filter((col) => visibleColumnIds.has(col.id)),\n [columns, visibleColumnIds],\n )\n\n function handleSort(columnId: string) {\n const next = getNextSortState(sort, columnId)\n if (sortBy === undefined) setInternalSort(next)\n onSortChange?.(next.columnId, next.direction)\n }\n\n function updateSelection(updater: (current: Set<React.Key>) => Set<React.Key>) {\n const next = updater(selectedRowIds)\n if (controlledSelectedRowIds === undefined) setInternalSelectedRowIds(next)\n onSelectedRowIdsChange?.(next)\n }\n\n function handleRowSelectionChange(rowId: React.Key, checked: boolean) {\n updateSelection((currentSelectedRowIds) => {\n const nextSelectedRowIds = new Set(currentSelectedRowIds)\n\n if (checked) {\n nextSelectedRowIds.add(rowId)\n } else {\n nextSelectedRowIds.delete(rowId)\n }\n\n return nextSelectedRowIds\n })\n }\n\n function handleSelectAllRows(checked: boolean) {\n updateSelection((currentSelectedRowIds) => {\n const nextSelectedRowIds = new Set(currentSelectedRowIds)\n\n for (const row of paginatedRows) {\n if (checked) {\n nextSelectedRowIds.add(row.rowId)\n } else {\n nextSelectedRowIds.delete(row.rowId)\n }\n }\n\n return nextSelectedRowIds\n })\n }\n\n function toggleRowExpanded(rowId: React.Key) {\n const nextExpandedRowIds = new Set(expandedRowIds)\n\n if (nextExpandedRowIds.has(rowId)) {\n nextExpandedRowIds.delete(rowId)\n } else {\n nextExpandedRowIds.add(rowId)\n }\n\n if (controlledExpandedRowIds === undefined) setInternalExpandedRowIds(nextExpandedRowIds)\n onExpandedRowIdsChange?.(nextExpandedRowIds)\n }\n\n function handlePaginationChange(nextPage: number) {\n const nextPagination = { ...pagination, page: nextPage }\n if (!isPaginationControlled) {\n setInternalPagination(nextPagination)\n }\n onPaginationChange?.(nextPagination)\n }\n\n function handlePageSizeChange(nextPageSize: number) {\n const nextPagination = { ...pagination, pageSize: nextPageSize, page: 1 }\n if (!isPaginationControlled) {\n setInternalPagination(nextPagination)\n }\n onPaginationChange?.(nextPagination)\n }\n\n const defaultToolbar = showToolbar ? (\n <div style={DATA_TABLE_CONTROLS_STYLE}>\n <Input\n aria-label=\"Search table rows\"\n density=\"sm\"\n onChange={(event) => setQuery(event.currentTarget.value)}\n placeholder=\"Search rows\"\n style={DATA_TABLE_SEARCH_STYLE}\n type=\"search\"\n value={query}\n />\n </div>\n ) : null\n\n return (\n <div\n {...dataTableProps}\n ref={forwardedRef}\n className={classNames('dsx-data-table', className)}\n data-empty={isEmpty ? 'true' : undefined}\n data-size={size}\n data-sticky-header={stickyHeader ? 'true' : undefined}\n >\n {toolbar ?? defaultToolbar}\n <Table>\n <TableHeader>\n <TableRow>\n {expandedRowRender ? <TableHead aria-label=\"Expand row\" style={DATA_TABLE_EXPAND_CELL_STYLE} /> : null}\n {selectionMode === 'multiple' ? <TableHead aria-label=\"Select rows\" style={DATA_TABLE_SELECTION_CELL_STYLE}>\n <Checkbox\n aria-label={allVisibleRowsSelected ? 'Deselect all visible rows' : 'Select all visible rows'}\n checked={allVisibleRowsSelected ? true : someVisibleRowsSelected ? 'indeterminate' : false}\n disabled={!hasVisibleRows}\n onCheckedChange={(checked) => handleSelectAllRows(checked === true)}\n size=\"sm\"\n />\n </TableHead> : null}\n {visibleColumns.map((column) => (\n <TableHead\n key={column.id}\n aria-sort={sort?.columnId === column.id ? (sort.direction === 'asc' ? 'ascending' : 'descending') : 'none'}\n data-sort-direction={sort?.columnId === column.id ? sort.direction : undefined}\n data-align={column.numeric ? 'end' : column.align}\n data-numeric={column.numeric ? 'true' : undefined}\n data-truncate={column.truncate ? 'true' : undefined}\n data-hide-below={column.hideBelow}\n style={{ width: typeof column.width === 'object' ? undefined : column.width, minWidth: typeof column.width === 'object' ? column.width.min : undefined, maxWidth: typeof column.width === 'object' ? column.width.max : undefined }}\n >\n {column.sortable !== false ? <button style={DATA_TABLE_HEADER_BUTTON_STYLE} type=\"button\" onClick={() => handleSort(column.id)}>\n <span>{column.header}</span>\n <span aria-hidden=\"true\" style={DATA_TABLE_SORT_ICON_STYLE}>\n {getSortIcon(sort?.columnId === column.id ? sort.direction : undefined)}\n </span>\n </button> : column.header}\n </TableHead>\n ))}\n </TableRow>\n </TableHeader>\n <TableBody>\n {!isEmpty && !listState ? (\n paginatedRows.map(({ row, rowId, rowIndex }) => {\n const isRowExpanded = Boolean(expandedRowRender) && expandedRowIds.has(rowId)\n const isRowEditing = Boolean(renderRowEditor) && editingRowId === rowId\n const detailColSpan = visibleColumns.length\n + (selectionMode === 'multiple' ? 1 : 0)\n + (expandedRowRender ? 1 : 0)\n\n return (\n <React.Fragment key={rowId}>\n <TableRow data-selected={selectedRowIds.has(rowId) ? 'true' : undefined} data-editing={isRowEditing ? 'true' : undefined}>\n {expandedRowRender ? <TableCell style={DATA_TABLE_EXPAND_CELL_STYLE}>\n <button\n aria-expanded={isRowExpanded}\n aria-label={isRowExpanded ? `Collapse row ${rowIndex + 1}` : `Expand row ${rowIndex + 1}`}\n onClick={() => toggleRowExpanded(rowId)}\n style={DATA_TABLE_EXPAND_BUTTON_STYLE}\n type=\"button\"\n >\n <span aria-hidden=\"true\">{isRowExpanded ? '\u25BE' : '\u25B8'}</span>\n </button>\n </TableCell> : null}\n {selectionMode === 'multiple' ? <TableCell style={DATA_TABLE_SELECTION_CELL_STYLE}>\n <Checkbox\n aria-label={`Select row ${rowIndex + 1}`}\n checked={selectedRowIds.has(rowId)}\n onCheckedChange={(checked) => handleRowSelectionChange(rowId, checked === true)}\n size=\"sm\"\n />\n </TableCell> : null}\n {isRowEditing ? (\n <TableCell className=\"dsx-data-table__row-editor\" colSpan={visibleColumns.length}>\n {renderRowEditor!(row, rowIndex)}\n </TableCell>\n ) : (\n visibleColumns.map((column) => (\n <TableCell key={column.id} data-align={column.numeric ? 'end' : column.align} data-numeric={column.numeric ? 'true' : undefined} data-truncate={column.truncate ? 'true' : undefined} data-hide-below={column.hideBelow} style={{ width: typeof column.width === 'object' ? undefined : column.width, minWidth: typeof column.width === 'object' ? column.width.min : undefined, maxWidth: typeof column.width === 'object' ? column.width.max : undefined }}>\n {column.cell?.(row, rowIndex) ?? (column.accessorKey ? String(row[column.accessorKey] ?? '') : null)}\n </TableCell>\n ))\n )}\n </TableRow>\n {isRowExpanded ? (\n <TableRow data-expanded-detail=\"true\">\n <TableCell className=\"dsx-data-table__expanded-detail\" colSpan={detailColSpan}>\n {expandedRowRender!(row, rowIndex)}\n </TableCell>\n </TableRow>\n ) : null}\n </React.Fragment>\n )\n })\n ) : (\n <TableRow>\n <TableCell className=\"dsx-data-table__empty\" colSpan={visibleColumns.length + (selectionMode === 'multiple' ? 1 : 0) + (expandedRowRender ? 1 : 0)} data-empty=\"true\">\n {result ?? (listState ? (\n <Result state={listState}>\n {listState === 'loading' ? null : (\n <Result.Icon>\n <Result.Illustration variant={RESULT_ILLUSTRATION_VARIANT_BY_STATE[listState]} />\n </Result.Icon>\n )}\n <Result.Title>{listState === 'loading' ? 'Loading' : listState === 'error' ? 'Unable to load data' : listState === 'no-results' ? 'No matching results' : 'No data'}</Result.Title>\n </Result>\n ) : emptyState)}\n </TableCell>\n </TableRow>\n )}\n </TableBody>\n </Table>\n {showPagination && (\n <DataTablePagination\n page={pagination.page}\n pageSize={pagination.pageSize}\n total={visibleRows.length}\n onPageChange={handlePaginationChange}\n onPageSizeChange={handlePageSizeChange}\n />\n )}\n </div>\n )\n}\n\nconst DataTable = React.forwardRef(DataTableInner as never) as unknown as DataTableComponent & {\n displayName?: string\n Toolbar: typeof DataTableToolbar\n Pagination: typeof DataTablePagination\n FacetedFilter: typeof DataTableFacetedFilter\n}\nDataTable.displayName = 'DataTable'\nDataTable.Toolbar = DataTableToolbar\nDataTable.Pagination = DataTablePagination\nDataTable.FacetedFilter = DataTableFacetedFilter\n\nexport { DataTable, DataTableFacetedFilter, DataTablePagination, DataTableToolbar }\nexport { stringifyDataTableValue }\nexport type {\n DataTableColumn,\n DataTableFacetedFilterState,\n DataTablePaginationState,\n DataTableProps,\n}\n"],
5
- "mappings": "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",
6
- "names": ["result", "classNames"]
4
+ "sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport classNames from 'classnames'\n\nimport { extractProps } from '../../_internal/helpers/extractProps'\nimport { Button } from '../button/Button'\nimport { Checkbox } from '../checkbox/Checkbox'\nimport { Icon } from '../icon/Icon'\nimport { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from '../table/Table'\nimport { DataTableToolbarContext } from './DataTableContext'\nimport { dataTablePropDefs } from './dataTable.props'\nimport { exportDataTableRows, exportDataTableRowsProgressive } from './dataTable.export'\nimport { DataTableToolbar } from './DataTableToolbar'\nimport { DataTablePagination } from './DataTablePagination'\nimport { DataTableFacetedFilter } from './DataTableFacetedFilter'\nimport { RESULT_ILLUSTRATION_VARIANT_BY_STATE, Result } from '../result/Result'\n\ntype DataTableSortDirection = 'asc' | 'desc'\n\ntype DataTableSortState = {\n columnId: string\n direction: DataTableSortDirection\n}\n\ntype DataTableRowMeta<Row> = {\n row: Row\n rowId: React.Key\n rowIndex: number\n}\n\nconst DATA_TABLE_SELECTION_CELL_STYLE: React.CSSProperties = {\n width: '1%',\n whiteSpace: 'nowrap',\n}\n\nconst DATA_TABLE_HEADER_BUTTON_STYLE: React.CSSProperties = {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: 'var(--dsx-space-xs)',\n width: '100%',\n padding: 0,\n border: 0,\n background: 'transparent',\n color: 'inherit',\n font: 'inherit',\n textAlign: 'left',\n cursor: 'pointer',\n}\n\nconst DATA_TABLE_EXPAND_CELL_STYLE: React.CSSProperties = {\n width: '1%',\n whiteSpace: 'nowrap',\n}\n\nconst DATA_TABLE_EXPAND_BUTTON_STYLE: React.CSSProperties = {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: '1.5rem',\n height: '1.5rem',\n padding: 0,\n border: 0,\n background: 'transparent',\n color: 'var(--dsx-color-on-surface-variant)',\n cursor: 'pointer',\n}\n\nfunction getNodeText(node: React.ReactNode): string {\n if (node == null || typeof node === 'boolean') {\n return ''\n }\n\n if (typeof node === 'string' || typeof node === 'number' || typeof node === 'bigint') {\n return String(node)\n }\n\n if (Array.isArray(node)) {\n return node.map((child) => getNodeText(child)).join(' ')\n }\n\n if (React.isValidElement(node)) {\n const props = node.props as { children?: React.ReactNode }\n\n return getNodeText(props.children)\n }\n\n return ''\n}\n\nfunction stringifyDataTableValue(value: unknown): string {\n if (value == null || typeof value === 'boolean') {\n return value ? 'true' : ''\n }\n\n if (typeof value === 'string' || typeof value === 'number' || typeof value === 'bigint') {\n return String(value)\n }\n\n if (value instanceof Date) {\n return value.toISOString()\n }\n\n if (Array.isArray(value)) {\n return value.map((item) => stringifyDataTableValue(item)).join(' ')\n }\n\n if (React.isValidElement(value)) {\n return getNodeText(value)\n }\n\n if (typeof value === 'object') {\n return Object.values(value as Record<string, unknown>)\n .map((item) => stringifyDataTableValue(item))\n .join(' ')\n }\n\n return ''\n}\n\nfunction compareDataTableValues(left: unknown, right: unknown): number {\n if (typeof left === 'number' && typeof right === 'number') {\n return left - right\n }\n\n if (typeof left === 'bigint' && typeof right === 'bigint') {\n return left > right ? 1 : left < right ? -1 : 0\n }\n\n if (left instanceof Date && right instanceof Date) {\n return left.getTime() - right.getTime()\n }\n\n if (typeof left === 'boolean' && typeof right === 'boolean') {\n return Number(left) - Number(right)\n }\n\n return stringifyDataTableValue(left).localeCompare(stringifyDataTableValue(right), undefined, {\n numeric: true,\n sensitivity: 'base',\n })\n}\n\nfunction getNextSortState(currentSort: DataTableSortState | null, columnId: string): DataTableSortState | null {\n if (!currentSort || currentSort.columnId !== columnId) {\n return { columnId, direction: 'asc' }\n }\n\n return currentSort.direction === 'asc' ? { columnId, direction: 'desc' } : null\n}\n\nfunction getColumnValue<Row extends Record<string, unknown>>(\n column: DataTableColumn<Row>,\n row: Row,\n rowIndex: number,\n): unknown {\n if (column.accessorKey) {\n return row[column.accessorKey]\n }\n\n if (column.cell) {\n return column.cell(row, rowIndex)\n }\n\n return null\n}\n\ntype DataTableColumn<Row> = {\n accessorKey?: keyof Row\n cell?: (row: Row, rowIndex: number) => React.ReactNode\n header: React.ReactNode\n id: string\n width?: string | number | { min?: string | number; max?: string | number }\n align?: 'start' | 'center' | 'end'\n numeric?: boolean\n sortable?: boolean\n truncate?: boolean\n hideBelow?: 'sm' | 'md' | 'lg' | 'xl' | '2xl'\n}\n\ntype DataTablePaginationState = {\n page: number\n pageSize: number\n}\n\ntype DataTablePaginationPosition = 'top' | 'bottom' | 'both'\n\ntype DataTablePaginationAlign = 'start' | 'center' | 'end'\n\ntype DataTableChangeAction = 'paginate' | 'sort' | 'filter'\n\ntype DataTableChangeState = {\n pagination: DataTablePaginationState\n sortBy: string | null\n sortOrder: DataTableSortDirection\n}\n\ntype DataTableFacetedFilterState = {\n columnId: string\n accessorKey: string\n selectedValues: Set<string>\n}\n\ntype DataTableProps<Row> = Omit<React.HTMLAttributes<HTMLDivElement>, 'children'> & {\n columns: Array<DataTableColumn<Row>>\n data: Row[]\n emptyState?: React.ReactNode\n size?: 'sm' | 'md' | 'lg'\n getRowId?: (row: Row, rowIndex: number) => React.Key\n visibleColumnIds?: Set<string>\n onVisibleColumnIdsChange?: (visibleColumnIds: Set<string>) => void\n pagination?: DataTablePaginationState\n onPaginationChange?: (pagination: DataTablePaginationState) => void\n facetedFilters?: Array<DataTableFacetedFilterState>\n onFacetedFiltersChange?: (facetedFilters: Array<DataTableFacetedFilterState>) => void\n toolbar?: React.ReactNode\n query?: string\n defaultQuery?: string\n onQueryChange?: (query: string) => void\n showToolbar?: boolean\n showPagination?: boolean\n paginationPosition?: DataTablePaginationPosition\n paginationAlign?: DataTablePaginationAlign\n paginationFirstLast?: boolean\n paginationPageInput?: boolean\n onTableChange?: (action: DataTableChangeAction, state: DataTableChangeState) => void\n bulkActions?: React.ReactNode\n sortBy?: string | null\n sortOrder?: DataTableSortDirection\n onSortChange?: (sortBy: string, sortOrder: DataTableSortDirection) => void\n sorting?: DataTableSortState | null\n defaultSorting?: DataTableSortState | null\n onSortingChange?: (sorting: DataTableSortState | null) => void\n resetPageOnViewChange?: boolean\n clearSelectionOnViewChange?: boolean\n stickyHeader?: boolean\n wrapScrollArea?: boolean\n separator?: 'rules' | 'grid'\n selectedRowIds?: Set<React.Key>\n defaultSelectedRowIds?: Iterable<React.Key>\n onSelectedRowIdsChange?: (selectedRowIds: Set<React.Key>) => void\n selectionMode?: 'multiple' | 'none'\n listState?: 'loading' | 'empty' | 'no-results' | 'error'\n result?: React.ReactNode\n expandedRowRender?: (row: Row, rowIndex: number) => React.ReactNode\n expandedRowIds?: Set<React.Key>\n defaultExpandedRowIds?: Iterable<React.Key>\n onExpandedRowIdsChange?: (expandedRowIds: Set<React.Key>) => void\n renderRowEditor?: (row: Row, rowIndex: number) => React.ReactNode\n editingRowId?: React.Key | null\n}\n\ntype DataTableComponent = <Row extends Record<string, unknown>>(\n props: DataTableProps<Row> & React.RefAttributes<HTMLDivElement>,\n) => React.ReactElement | null\n\nfunction DataTableInner<Row extends Record<string, unknown>>(\n props: DataTableProps<Row>,\n forwardedRef: React.ForwardedRef<HTMLDivElement>,\n) {\n const {\n className: propClassName,\n columns,\n data,\n emptyState,\n getRowId,\n visibleColumnIds: controlledVisibleColumnIds,\n onVisibleColumnIdsChange,\n pagination: controlledPagination,\n onPaginationChange,\n facetedFilters: controlledFacetedFilters,\n onFacetedFiltersChange,\n toolbar,\n query: controlledQuery,\n defaultQuery = '',\n onQueryChange,\n showToolbar = true,\n showPagination = false,\n paginationPosition = 'bottom',\n paginationAlign,\n paginationFirstLast = false,\n paginationPageInput = false,\n onTableChange,\n bulkActions,\n sortBy,\n sortOrder = 'asc',\n onSortChange,\n sorting: controlledSorting,\n defaultSorting = null,\n onSortingChange,\n resetPageOnViewChange = true,\n clearSelectionOnViewChange = true,\n stickyHeader = false,\n wrapScrollArea = true,\n separator = 'rules',\n selectedRowIds: controlledSelectedRowIds,\n defaultSelectedRowIds,\n onSelectedRowIdsChange,\n selectionMode = 'multiple',\n listState,\n result,\n size = 'md',\n expandedRowRender,\n expandedRowIds: controlledExpandedRowIds,\n defaultExpandedRowIds,\n onExpandedRowIdsChange,\n renderRowEditor,\n editingRowId = null,\n ...restProps\n } = props\n const { className, ...dataTableProps } = extractProps(\n {\n ...restProps,\n className: propClassName,\n },\n dataTablePropDefs,\n )\n\n const [internalQuery, setInternalQuery] = React.useState(defaultQuery)\n const query = controlledQuery ?? internalQuery\n const [internalSort, setInternalSort] = React.useState<DataTableSortState | null>(defaultSorting)\n const sort = controlledSorting !== undefined\n ? controlledSorting\n : sortBy\n ? { columnId: sortBy, direction: sortOrder }\n : internalSort\n const [internalSelectedRowIds, setInternalSelectedRowIds] = React.useState<Set<React.Key>>(() => new Set(defaultSelectedRowIds))\n const selectedRowIds = controlledSelectedRowIds ?? internalSelectedRowIds\n\n const [internalExpandedRowIds, setInternalExpandedRowIds] = React.useState<Set<React.Key>>(() => new Set(defaultExpandedRowIds))\n const expandedRowIds = controlledExpandedRowIds ?? internalExpandedRowIds\n\n const truncatingColumns = columns.filter((column) => column.truncate)\n if (truncatingColumns.length > 1) throw new Error('DataTable supports at most one truncating column.')\n\n const [internalPagination, setInternalPagination] = React.useState<DataTablePaginationState>({\n page: 1,\n pageSize: 10,\n })\n\n const [internalVisibleColumnIds, setInternalVisibleColumnIds] = React.useState<Set<string>>(\n () => new Set(columns.map((column) => column.id)),\n )\n const visibleColumnIds = controlledVisibleColumnIds ?? internalVisibleColumnIds\n\n const isPaginationControlled = controlledPagination !== undefined\n const pagination = isPaginationControlled ? controlledPagination : internalPagination\n\n const facetedFilters = controlledFacetedFilters ?? []\n const facetedFilterSignature = React.useMemo(\n () => facetedFilters\n .map((filter) => `${filter.columnId}:${Array.from(filter.selectedValues).sort().join(',')}`)\n .sort()\n .join('|'),\n [facetedFilters],\n )\n const previousFacetedFilterSignature = React.useRef(facetedFilterSignature)\n\n const rows = React.useMemo<Array<DataTableRowMeta<Row>>>(\n () =>\n data.map((row, rowIndex) => ({\n row,\n rowId: getRowId?.(row, rowIndex) ?? rowIndex,\n rowIndex,\n })),\n [data, getRowId],\n )\n\n React.useEffect(() => {\n const availableRowIds = new Set(rows.map((row) => row.rowId))\n\n if (controlledSelectedRowIds) return\n setInternalSelectedRowIds((currentSelectedRowIds) => {\n const nextSelectedRowIds = new Set(\n Array.from(currentSelectedRowIds).filter((rowId) => availableRowIds.has(rowId)),\n )\n\n if (\n nextSelectedRowIds.size === currentSelectedRowIds.size\n && Array.from(nextSelectedRowIds).every((rowId) => currentSelectedRowIds.has(rowId))\n ) {\n return currentSelectedRowIds\n }\n\n return nextSelectedRowIds\n })\n }, [controlledSelectedRowIds, rows])\n\n const normalizedQuery = query.trim().toLowerCase()\n\n const facetedFilterMap = React.useMemo(() => {\n const map = new Map<string, Set<string>>()\n for (const filter of facetedFilters) {\n map.set(filter.columnId, filter.selectedValues)\n }\n return map\n }, [facetedFilters])\n\n const filteredRows = React.useMemo(() => {\n let result = rows\n\n if (normalizedQuery) {\n result = result.filter(({ row, rowIndex }) => {\n const matchesRenderedColumns = columns.some((column) => stringifyDataTableValue(\n getColumnValue(column, row, rowIndex),\n ).toLowerCase().includes(normalizedQuery))\n return matchesRenderedColumns || stringifyDataTableValue(row).toLowerCase().includes(normalizedQuery)\n })\n }\n\n if (facetedFilterMap.size > 0) {\n result = result.filter(({ row }) => {\n for (const [columnId, selectedValues] of facetedFilterMap) {\n if (selectedValues.size === 0) continue\n const column = columns.find((col) => col.id === columnId)\n if (!column || !column.accessorKey) continue\n const cellValue = stringifyDataTableValue(row[column.accessorKey]).toLowerCase()\n if (!selectedValues.has(cellValue)) {\n return false\n }\n }\n return true\n })\n }\n\n return result\n }, [columns, normalizedQuery, rows, facetedFilterMap])\n\n const visibleRows = React.useMemo(() => {\n if (!sort) {\n return filteredRows\n }\n\n const activeColumn = columns.find((column) => column.id === sort.columnId)\n\n if (!activeColumn) {\n return filteredRows\n }\n\n const direction = sort.direction === 'asc' ? 1 : -1\n\n return [...filteredRows].sort((leftRow, rightRow) => {\n const comparison = compareDataTableValues(\n getColumnValue(activeColumn, leftRow.row, leftRow.rowIndex),\n getColumnValue(activeColumn, rightRow.row, rightRow.rowIndex),\n )\n\n if (comparison !== 0) {\n return comparison * direction\n }\n\n return leftRow.rowIndex - rightRow.rowIndex\n })\n }, [columns, filteredRows, sort])\n\n const paginatedRows = React.useMemo(() => {\n if (!showPagination) return visibleRows\n const start = (pagination.page - 1) * pagination.pageSize\n return visibleRows.slice(start, start + pagination.pageSize)\n }, [visibleRows, pagination, showPagination])\n\n const isEmpty = paginatedRows.length === 0\n const hasVisibleRows = paginatedRows.length > 0\n const selectedVisibleRowCount = paginatedRows.filter((row) => selectedRowIds.has(row.rowId)).length\n const allVisibleRowsSelected = hasVisibleRows && selectedVisibleRowCount === paginatedRows.length\n const someVisibleRowsSelected = selectedVisibleRowCount > 0 && !allVisibleRowsSelected\n\n const visibleColumns = React.useMemo(\n () => columns.filter((col) => visibleColumnIds.has(col.id)),\n [columns, visibleColumnIds],\n )\n\n const emitTableChange = React.useCallback((\n action: DataTableChangeAction,\n paginationOverride?: DataTablePaginationState,\n sortOverride?: DataTableSortState | null,\n ) => {\n const resolvedSort = sortOverride !== undefined ? sortOverride : sort\n onTableChange?.(action, {\n pagination: paginationOverride ?? pagination,\n sortBy: resolvedSort ? resolvedSort.columnId : null,\n sortOrder: resolvedSort ? resolvedSort.direction : sortOrder,\n })\n }, [onTableChange, pagination, sort, sortOrder])\n\n const resetViewState = React.useCallback(() => {\n const nextPagination = { ...pagination, page: 1 }\n if (resetPageOnViewChange && pagination.page !== 1) {\n if (!isPaginationControlled) setInternalPagination(nextPagination)\n onPaginationChange?.(nextPagination)\n }\n if (clearSelectionOnViewChange && selectedRowIds.size > 0) {\n if (controlledSelectedRowIds === undefined) setInternalSelectedRowIds(new Set())\n onSelectedRowIdsChange?.(new Set())\n }\n return resetPageOnViewChange ? nextPagination : pagination\n }, [\n clearSelectionOnViewChange,\n controlledSelectedRowIds,\n isPaginationControlled,\n onPaginationChange,\n onSelectedRowIdsChange,\n pagination,\n resetPageOnViewChange,\n selectedRowIds,\n ])\n\n function handleSort(columnId: string) {\n const next = controlledSorting === undefined && sortBy !== undefined\n ? {\n columnId,\n direction: sort?.columnId === columnId && sort.direction === 'asc' ? 'desc' as const : 'asc' as const,\n }\n : getNextSortState(sort, columnId)\n if (controlledSorting === undefined && sortBy === undefined) setInternalSort(next)\n onSortingChange?.(next)\n if (next) onSortChange?.(next.columnId, next.direction)\n emitTableChange('sort', resetViewState(), next)\n }\n\n function updateSelection(updater: (current: Set<React.Key>) => Set<React.Key>) {\n const next = updater(selectedRowIds)\n if (controlledSelectedRowIds === undefined) setInternalSelectedRowIds(next)\n onSelectedRowIdsChange?.(next)\n }\n\n function handleRowSelectionChange(rowId: React.Key, checked: boolean) {\n updateSelection((currentSelectedRowIds) => {\n const nextSelectedRowIds = new Set(currentSelectedRowIds)\n\n if (checked) {\n nextSelectedRowIds.add(rowId)\n } else {\n nextSelectedRowIds.delete(rowId)\n }\n\n return nextSelectedRowIds\n })\n }\n\n function handleSelectAllRows(checked: boolean) {\n updateSelection((currentSelectedRowIds) => {\n const nextSelectedRowIds = new Set(currentSelectedRowIds)\n\n for (const row of paginatedRows) {\n if (checked) {\n nextSelectedRowIds.add(row.rowId)\n } else {\n nextSelectedRowIds.delete(row.rowId)\n }\n }\n\n return nextSelectedRowIds\n })\n }\n\n function toggleRowExpanded(rowId: React.Key) {\n const nextExpandedRowIds = new Set(expandedRowIds)\n\n if (nextExpandedRowIds.has(rowId)) {\n nextExpandedRowIds.delete(rowId)\n } else {\n nextExpandedRowIds.add(rowId)\n }\n\n if (controlledExpandedRowIds === undefined) setInternalExpandedRowIds(nextExpandedRowIds)\n onExpandedRowIdsChange?.(nextExpandedRowIds)\n }\n\n function handlePaginationChange(nextPage: number) {\n const nextPagination = { ...pagination, page: nextPage }\n if (!isPaginationControlled) {\n setInternalPagination(nextPagination)\n }\n onPaginationChange?.(nextPagination)\n emitTableChange('paginate', nextPagination)\n }\n\n function handlePageSizeChange(nextPageSize: number) {\n const nextPagination = { ...pagination, pageSize: nextPageSize, page: 1 }\n if (!isPaginationControlled) {\n setInternalPagination(nextPagination)\n }\n onPaginationChange?.(nextPagination)\n emitTableChange('paginate', nextPagination)\n }\n\n function handleQueryChange(nextQuery: string) {\n if (controlledQuery === undefined) setInternalQuery(nextQuery)\n onQueryChange?.(nextQuery)\n emitTableChange('filter', resetViewState())\n }\n\n function handleVisibleColumnIdsChange(nextVisibleColumnIds: Set<string>) {\n if (controlledVisibleColumnIds === undefined) setInternalVisibleColumnIds(nextVisibleColumnIds)\n onVisibleColumnIdsChange?.(nextVisibleColumnIds)\n }\n\n function handleClearSelection() {\n updateSelection(() => new Set<React.Key>())\n }\n\n function handleClearFilters() {\n handleQueryChange('')\n onFacetedFiltersChange?.([])\n }\n\n React.useEffect(() => {\n if (previousFacetedFilterSignature.current === facetedFilterSignature) return\n previousFacetedFilterSignature.current = facetedFilterSignature\n emitTableChange('filter', resetViewState())\n }, [emitTableChange, facetedFilterSignature, resetViewState])\n\n const defaultToolbar = showToolbar ? (\n <DataTableToolbar aria-label=\"Table tools\" role=\"group\">\n <DataTableToolbar.Search />\n <div className=\"dsx-data-table-toolbar__actions\">\n <DataTableToolbar.RowCount />\n <DataTableToolbar.ColumnVisibility />\n <DataTableToolbar.Export />\n </div>\n </DataTableToolbar>\n ) : null\n\n const showTopPagination = showPagination && (paginationPosition === 'top' || paginationPosition === 'both')\n const showBottomPagination = showPagination && (paginationPosition === 'bottom' || paginationPosition === 'both')\n const selectedCount = selectedRowIds.size\n const showBulkBar = selectionMode === 'multiple' && selectedCount > 0\n const toolbarContextValue = {\n columns: columns.map((column) => ({ id: column.id, label: column.header })),\n exportRows: (format: 'csv' | 'json') => exportDataTableRows(\n format,\n visibleRows.map(({ row }) => row),\n visibleColumns,\n ),\n exportRowsProgressive: (format: 'csv' | 'json', onProgress: (percent: number) => void) => exportDataTableRowsProgressive(\n format,\n visibleRows.map(({ row }) => row),\n visibleColumns,\n onProgress,\n ),\n filteredRowCount: visibleRows.length,\n onQueryChange: handleQueryChange,\n onVisibleColumnIdsChange: handleVisibleColumnIdsChange,\n query,\n selectedRowCount: selectedCount,\n totalRowCount: rows.length,\n visibleColumnIds,\n }\n\n function renderPagination(position: 'top' | 'bottom') {\n return (\n <DataTablePagination\n page={pagination.page}\n pageSize={pagination.pageSize}\n total={visibleRows.length}\n onPageChange={handlePaginationChange}\n onPageSizeChange={handlePageSizeChange}\n align={paginationAlign}\n showFirstLast={paginationFirstLast}\n showPageInput={paginationPageInput}\n className={position === 'top' ? 'dsx-data-table__pagination-top' : undefined}\n />\n )\n }\n\n return (\n <div\n {...dataTableProps}\n ref={forwardedRef}\n className={classNames('dsx-data-table', className)}\n data-empty={isEmpty ? 'true' : undefined}\n data-size={size}\n data-sticky-header={stickyHeader ? 'true' : undefined}\n >\n <DataTableToolbarContext.Provider value={toolbarContextValue}>\n <div className=\"dsx-data-table__toolbar-region\">\n {toolbar ?? defaultToolbar}\n {showBulkBar ? (\n <div className=\"dsx-data-table__bulk-bar\" role=\"group\" aria-label=\"Selected row actions\">\n <span className=\"dsx-data-table__bulk-bar-count\" role=\"status\" aria-live=\"polite\">\n {selectedCount} selected\n </span>\n {bulkActions ? (\n <span className=\"dsx-data-table__bulk-bar-actions\">{bulkActions}</span>\n ) : null}\n <Button className=\"dsx-data-table__bulk-bar-clear\" size=\"sm\" type=\"button\" variant=\"ghost\" onClick={handleClearSelection}>\n Deselect all\n </Button>\n </div>\n ) : null}\n </div>\n {showTopPagination ? renderPagination('top') : null}\n <Table size={size} wrapScrollArea={wrapScrollArea} separator={separator}>\n <TableHeader>\n <TableRow>\n {expandedRowRender ? <TableHead aria-label=\"Expand row\" style={DATA_TABLE_EXPAND_CELL_STYLE} /> : null}\n {selectionMode === 'multiple' ? <TableHead aria-label=\"Select rows\" style={DATA_TABLE_SELECTION_CELL_STYLE}>\n <Checkbox\n aria-label={allVisibleRowsSelected ? 'Deselect all visible rows' : 'Select all visible rows'}\n checked={allVisibleRowsSelected ? true : someVisibleRowsSelected ? 'indeterminate' : false}\n disabled={!hasVisibleRows}\n onCheckedChange={(checked) => handleSelectAllRows(checked === true)}\n size=\"sm\"\n />\n </TableHead> : null}\n {visibleColumns.map((column) => (\n <TableHead\n key={column.id}\n aria-sort={sort?.columnId === column.id ? (sort.direction === 'asc' ? 'ascending' : 'descending') : 'none'}\n data-sort-direction={sort?.columnId === column.id ? sort.direction : undefined}\n data-align={column.numeric ? 'end' : column.align}\n data-numeric={column.numeric ? 'true' : undefined}\n data-truncate={column.truncate ? 'true' : undefined}\n data-hide-below={column.hideBelow}\n style={{ width: typeof column.width === 'object' ? undefined : column.width, minWidth: typeof column.width === 'object' ? column.width.min : undefined, maxWidth: typeof column.width === 'object' ? column.width.max : undefined }}\n >\n {column.sortable !== false ? <button className=\"dsx-data-table__sort-button\" style={DATA_TABLE_HEADER_BUTTON_STYLE} type=\"button\" onClick={() => handleSort(column.id)}>\n <span>{column.header}</span>\n <span\n aria-hidden=\"true\"\n className=\"dsx-data-table__sort-indicator\"\n data-direction={sort?.columnId === column.id ? sort.direction : 'none'}\n >\n <Icon\n name={sort?.columnId === column.id ? (sort.direction === 'asc' ? 'arrow-up' : 'arrow-down') : 'arrow-up-down'}\n size=\"sm\"\n />\n </span>\n </button> : column.header}\n </TableHead>\n ))}\n </TableRow>\n </TableHeader>\n <TableBody>\n {!isEmpty && !listState ? (\n paginatedRows.map(({ row, rowId, rowIndex }) => {\n const isRowExpanded = Boolean(expandedRowRender) && expandedRowIds.has(rowId)\n const isRowEditing = Boolean(renderRowEditor) && editingRowId === rowId\n const detailColSpan = visibleColumns.length\n + (selectionMode === 'multiple' ? 1 : 0)\n + (expandedRowRender ? 1 : 0)\n\n return (\n <React.Fragment key={rowId}>\n <TableRow data-selected={selectedRowIds.has(rowId) ? 'true' : undefined} data-editing={isRowEditing ? 'true' : undefined}>\n {expandedRowRender ? <TableCell style={DATA_TABLE_EXPAND_CELL_STYLE}>\n <button\n aria-expanded={isRowExpanded}\n aria-label={isRowExpanded ? `Collapse row ${rowIndex + 1}` : `Expand row ${rowIndex + 1}`}\n onClick={() => toggleRowExpanded(rowId)}\n style={DATA_TABLE_EXPAND_BUTTON_STYLE}\n type=\"button\"\n >\n <span aria-hidden=\"true\">{isRowExpanded ? '\u25BE' : '\u25B8'}</span>\n </button>\n </TableCell> : null}\n {selectionMode === 'multiple' ? <TableCell style={DATA_TABLE_SELECTION_CELL_STYLE}>\n <Checkbox\n aria-label={`Select row ${rowIndex + 1}`}\n checked={selectedRowIds.has(rowId)}\n onCheckedChange={(checked) => handleRowSelectionChange(rowId, checked === true)}\n size=\"sm\"\n />\n </TableCell> : null}\n {isRowEditing ? (\n <TableCell className=\"dsx-data-table__row-editor\" colSpan={visibleColumns.length}>\n {renderRowEditor!(row, rowIndex)}\n </TableCell>\n ) : (\n visibleColumns.map((column) => (\n <TableCell key={column.id} data-align={column.numeric ? 'end' : column.align} data-numeric={column.numeric ? 'true' : undefined} data-truncate={column.truncate ? 'true' : undefined} data-hide-below={column.hideBelow} style={{ width: typeof column.width === 'object' ? undefined : column.width, minWidth: typeof column.width === 'object' ? column.width.min : undefined, maxWidth: typeof column.width === 'object' ? column.width.max : undefined }}>\n {column.cell?.(row, rowIndex) ?? (column.accessorKey ? String(row[column.accessorKey] ?? '') : null)}\n </TableCell>\n ))\n )}\n </TableRow>\n {isRowExpanded ? (\n <TableRow data-expanded-detail=\"true\">\n <TableCell className=\"dsx-data-table__expanded-detail\" colSpan={detailColSpan}>\n {expandedRowRender!(row, rowIndex)}\n </TableCell>\n </TableRow>\n ) : null}\n </React.Fragment>\n )\n })\n ) : (\n <TableRow>\n <TableCell className=\"dsx-data-table__empty\" colSpan={visibleColumns.length + (selectionMode === 'multiple' ? 1 : 0) + (expandedRowRender ? 1 : 0)} data-empty=\"true\">\n {result ?? (listState ? (\n <Result state={listState}>\n {listState === 'loading' ? null : (\n <Result.Icon>\n <Result.Illustration variant={RESULT_ILLUSTRATION_VARIANT_BY_STATE[listState]} />\n </Result.Icon>\n )}\n <Result.Title>{listState === 'loading' ? 'Loading' : listState === 'error' ? 'Unable to load data' : listState === 'no-results' ? 'No matching results' : 'No data'}</Result.Title>\n </Result>\n ) : emptyState ?? (rows.length > 0 ? (\n <div className=\"dsx-data-table__empty-content\">\n <Icon aria-hidden=\"true\" name=\"search\" size=\"md\" />\n <strong>No matching rows</strong>\n <span>Try changing your search or filters.</span>\n {normalizedQuery !== '' || facetedFilterSignature !== '' ? (\n <Button size=\"sm\" type=\"button\" variant=\"ghost\" onClick={handleClearFilters}>\n Clear search and filters\n </Button>\n ) : null}\n </div>\n ) : (\n <div className=\"dsx-data-table__empty-content\">\n <Icon aria-hidden=\"true\" name=\"inbox\" size=\"md\" />\n <strong>No rows yet</strong>\n <span>When rows arrive they will appear here.</span>\n </div>\n )))}\n </TableCell>\n </TableRow>\n )}\n </TableBody>\n </Table>\n {showBottomPagination ? renderPagination('bottom') : null}\n </DataTableToolbarContext.Provider>\n </div>\n )\n}\n\nconst DataTable = React.forwardRef(DataTableInner as never) as unknown as DataTableComponent & {\n displayName?: string\n Toolbar: typeof DataTableToolbar\n Pagination: typeof DataTablePagination\n FacetedFilter: typeof DataTableFacetedFilter\n}\nDataTable.displayName = 'DataTable'\nDataTable.Toolbar = DataTableToolbar\nDataTable.Pagination = DataTablePagination\nDataTable.FacetedFilter = DataTableFacetedFilter\n\nexport { DataTable, DataTableFacetedFilter, DataTablePagination, DataTableToolbar }\nexport { stringifyDataTableValue }\nexport type {\n DataTableChangeAction,\n DataTableChangeState,\n DataTableColumn,\n DataTableFacetedFilterState,\n DataTablePaginationAlign,\n DataTablePaginationPosition,\n DataTablePaginationState,\n DataTableProps,\n DataTableSortDirection,\n DataTableSortState,\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["import_dataTable", "result", "classNames"]
7
7
  }