@coveord/plasma-mantine 53.1.2 → 53.1.4-next.0

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 (271) hide show
  1. package/.eslintrc.js +1 -5
  2. package/.turbo/turbo-build.log +3 -3
  3. package/.turbo/turbo-test.log +33 -33
  4. package/dist/.tsbuildinfo +1 -1
  5. package/dist/cjs/components/button/Button.d.ts +1 -2
  6. package/dist/cjs/components/button/Button.d.ts.map +1 -1
  7. package/dist/cjs/components/button/Button.js.map +1 -1
  8. package/dist/cjs/components/code-editor/CodeEditor.js +1 -1
  9. package/dist/cjs/components/code-editor/CodeEditor.js.map +1 -1
  10. package/dist/cjs/components/header/__tests__/__snapshots__/Header.spec.tsx.snap +0 -5
  11. package/dist/cjs/components/inline-confirm/InlineConfirm.d.ts +1 -2
  12. package/dist/cjs/components/inline-confirm/InlineConfirm.d.ts.map +1 -1
  13. package/dist/cjs/components/inline-confirm/InlineConfirm.js.map +1 -1
  14. package/dist/cjs/components/table/Table.d.ts +38 -40
  15. package/dist/cjs/components/table/Table.d.ts.map +1 -1
  16. package/dist/cjs/components/table/Table.js +114 -166
  17. package/dist/cjs/components/table/Table.js.map +1 -1
  18. package/dist/cjs/components/table/Table.types.d.ts +28 -141
  19. package/dist/cjs/components/table/Table.types.d.ts.map +1 -1
  20. package/dist/cjs/components/table/TableContext.d.ts +14 -10
  21. package/dist/cjs/components/table/TableContext.d.ts.map +1 -1
  22. package/dist/cjs/components/table/TableContext.js +5 -20
  23. package/dist/cjs/components/table/TableContext.js.map +1 -1
  24. package/dist/cjs/components/table/index.d.ts +3 -3
  25. package/dist/cjs/components/table/index.d.ts.map +1 -1
  26. package/dist/cjs/components/table/index.js +5 -1
  27. package/dist/cjs/components/table/index.js.map +1 -1
  28. package/dist/cjs/components/table/layouts/TableLayoutControl.js +6 -6
  29. package/dist/cjs/components/table/layouts/TableLayoutControl.js.map +1 -1
  30. package/dist/cjs/components/table/layouts/TableLayouts.d.ts +1 -22
  31. package/dist/cjs/components/table/layouts/TableLayouts.d.ts.map +1 -1
  32. package/dist/cjs/components/table/layouts/TableLayouts.js.map +1 -1
  33. package/dist/cjs/components/table/layouts/row-layout/RowLayout.d.ts +1 -2
  34. package/dist/cjs/components/table/layouts/row-layout/RowLayout.d.ts.map +1 -1
  35. package/dist/cjs/components/table/layouts/row-layout/RowLayout.js.map +1 -1
  36. package/dist/cjs/components/table/layouts/row-layout/RowLayoutBody.d.ts +2 -3
  37. package/dist/cjs/components/table/layouts/row-layout/RowLayoutBody.d.ts.map +1 -1
  38. package/dist/cjs/components/table/layouts/row-layout/RowLayoutBody.js +8 -11
  39. package/dist/cjs/components/table/layouts/row-layout/RowLayoutBody.js.map +1 -1
  40. package/dist/cjs/components/table/layouts/row-layout/RowLayoutHeader.d.ts +2 -3
  41. package/dist/cjs/components/table/layouts/row-layout/RowLayoutHeader.d.ts.map +1 -1
  42. package/dist/cjs/components/table/layouts/row-layout/RowLayoutHeader.js +5 -6
  43. package/dist/cjs/components/table/layouts/row-layout/RowLayoutHeader.js.map +1 -1
  44. package/dist/cjs/components/table/layouts/row-layout/RowLayoutIcon.d.ts +1 -5
  45. package/dist/cjs/components/table/layouts/row-layout/RowLayoutIcon.d.ts.map +1 -1
  46. package/dist/cjs/components/table/layouts/row-layout/RowLayoutIcon.js +3 -9
  47. package/dist/cjs/components/table/layouts/row-layout/RowLayoutIcon.js.map +1 -1
  48. package/dist/cjs/components/table/table-actions/TableActions.d.ts.map +1 -1
  49. package/dist/cjs/components/table/table-actions/TableActions.js +5 -6
  50. package/dist/cjs/components/table/table-actions/TableActions.js.map +1 -1
  51. package/dist/cjs/components/table/table-column/TableCollapsibleColumn.d.ts.map +1 -1
  52. package/dist/cjs/components/table/table-column/TableCollapsibleColumn.js +6 -2
  53. package/dist/cjs/components/table/table-column/TableCollapsibleColumn.js.map +1 -1
  54. package/dist/cjs/components/table/table-column/TableSelectableColumn.d.ts.map +1 -1
  55. package/dist/cjs/components/table/table-column/TableSelectableColumn.js +6 -6
  56. package/dist/cjs/components/table/table-column/TableSelectableColumn.js.map +1 -1
  57. package/dist/cjs/components/table/table-columns-selector/TableColumnsSelector.d.ts +7 -12
  58. package/dist/cjs/components/table/table-columns-selector/TableColumnsSelector.d.ts.map +1 -1
  59. package/dist/cjs/components/table/table-columns-selector/TableColumnsSelector.js +24 -20
  60. package/dist/cjs/components/table/table-columns-selector/TableColumnsSelector.js.map +1 -1
  61. package/dist/cjs/components/table/table-date-range-picker/TableDateRangePicker.d.ts +1 -2
  62. package/dist/cjs/components/table/table-date-range-picker/TableDateRangePicker.d.ts.map +1 -1
  63. package/dist/cjs/components/table/table-date-range-picker/TableDateRangePicker.js +6 -7
  64. package/dist/cjs/components/table/table-date-range-picker/TableDateRangePicker.js.map +1 -1
  65. package/dist/cjs/components/table/table-filter/TableFilter.d.ts +1 -2
  66. package/dist/cjs/components/table/table-filter/TableFilter.d.ts.map +1 -1
  67. package/dist/cjs/components/table/table-filter/TableFilter.js +11 -16
  68. package/dist/cjs/components/table/table-filter/TableFilter.js.map +1 -1
  69. package/dist/cjs/components/table/table-header/TableHeader.d.ts +1 -2
  70. package/dist/cjs/components/table/table-header/TableHeader.d.ts.map +1 -1
  71. package/dist/cjs/components/table/table-header/TableHeader.js +9 -10
  72. package/dist/cjs/components/table/table-header/TableHeader.js.map +1 -1
  73. package/dist/cjs/components/table/table-header/Th.d.ts +1 -2
  74. package/dist/cjs/components/table/table-header/Th.d.ts.map +1 -1
  75. package/dist/cjs/components/table/table-header/Th.js +2 -2
  76. package/dist/cjs/components/table/table-header/Th.js.map +1 -1
  77. package/dist/cjs/components/table/table-last-updated/TableLastUpdated.d.ts +1 -3
  78. package/dist/cjs/components/table/table-last-updated/TableLastUpdated.d.ts.map +1 -1
  79. package/dist/cjs/components/table/table-last-updated/TableLastUpdated.js +6 -9
  80. package/dist/cjs/components/table/table-last-updated/TableLastUpdated.js.map +1 -1
  81. package/dist/cjs/components/table/table-no-data/TableNoData.d.ts +6 -0
  82. package/dist/cjs/components/table/table-no-data/TableNoData.d.ts.map +1 -0
  83. package/dist/cjs/components/table/{table-consumer/TableConsumer.js → table-no-data/TableNoData.js} +4 -4
  84. package/dist/cjs/components/table/table-no-data/TableNoData.js.map +1 -0
  85. package/dist/cjs/components/table/table-pagination/TablePagination.d.ts.map +1 -1
  86. package/dist/cjs/components/table/table-pagination/TablePagination.js +9 -11
  87. package/dist/cjs/components/table/table-pagination/TablePagination.js.map +1 -1
  88. package/dist/cjs/components/table/table-pagination/TablePagination.types.d.ts +0 -4
  89. package/dist/cjs/components/table/table-pagination/TablePagination.types.d.ts.map +1 -1
  90. package/dist/cjs/components/table/table-per-page/TablePerPage.d.ts.map +1 -1
  91. package/dist/cjs/components/table/table-per-page/TablePerPage.js +16 -16
  92. package/dist/cjs/components/table/table-per-page/TablePerPage.js.map +1 -1
  93. package/dist/cjs/components/table/table-predicate/TablePredicate.d.ts +1 -2
  94. package/dist/cjs/components/table/table-predicate/TablePredicate.d.ts.map +1 -1
  95. package/dist/cjs/components/table/table-predicate/TablePredicate.js +12 -14
  96. package/dist/cjs/components/table/table-predicate/TablePredicate.js.map +1 -1
  97. package/dist/cjs/components/table/use-table.d.ts +166 -0
  98. package/dist/cjs/components/table/use-table.d.ts.map +1 -0
  99. package/dist/cjs/components/table/use-table.js +125 -0
  100. package/dist/cjs/components/table/use-table.js.map +1 -0
  101. package/dist/cjs/index.d.ts +11 -1
  102. package/dist/cjs/index.d.ts.map +1 -1
  103. package/dist/cjs/index.js.map +1 -1
  104. package/dist/cjs/theme/Theme.d.ts.map +1 -1
  105. package/dist/cjs/theme/Theme.js +0 -1
  106. package/dist/cjs/theme/Theme.js.map +1 -1
  107. package/dist/esm/components/button/Button.d.ts +1 -2
  108. package/dist/esm/components/button/Button.d.ts.map +1 -1
  109. package/dist/esm/components/button/Button.js.map +1 -1
  110. package/dist/esm/components/code-editor/CodeEditor.js +1 -1
  111. package/dist/esm/components/code-editor/CodeEditor.js.map +1 -1
  112. package/dist/esm/components/header/__tests__/__snapshots__/Header.spec.tsx.snap +0 -5
  113. package/dist/esm/components/inline-confirm/InlineConfirm.d.ts +1 -2
  114. package/dist/esm/components/inline-confirm/InlineConfirm.d.ts.map +1 -1
  115. package/dist/esm/components/inline-confirm/InlineConfirm.js.map +1 -1
  116. package/dist/esm/components/table/Table.d.ts +38 -40
  117. package/dist/esm/components/table/Table.d.ts.map +1 -1
  118. package/dist/esm/components/table/Table.js +114 -153
  119. package/dist/esm/components/table/Table.js.map +1 -1
  120. package/dist/esm/components/table/Table.types.d.ts +28 -141
  121. package/dist/esm/components/table/Table.types.d.ts.map +1 -1
  122. package/dist/esm/components/table/Table.types.js.map +1 -1
  123. package/dist/esm/components/table/TableContext.d.ts +14 -10
  124. package/dist/esm/components/table/TableContext.d.ts.map +1 -1
  125. package/dist/esm/components/table/TableContext.js +1 -10
  126. package/dist/esm/components/table/TableContext.js.map +1 -1
  127. package/dist/esm/components/table/index.d.ts +3 -3
  128. package/dist/esm/components/table/index.d.ts.map +1 -1
  129. package/dist/esm/components/table/index.js +2 -1
  130. package/dist/esm/components/table/index.js.map +1 -1
  131. package/dist/esm/components/table/layouts/TableLayoutControl.js +4 -4
  132. package/dist/esm/components/table/layouts/TableLayoutControl.js.map +1 -1
  133. package/dist/esm/components/table/layouts/TableLayouts.d.ts +1 -22
  134. package/dist/esm/components/table/layouts/TableLayouts.d.ts.map +1 -1
  135. package/dist/esm/components/table/layouts/TableLayouts.js.map +1 -1
  136. package/dist/esm/components/table/layouts/row-layout/RowLayout.d.ts +1 -2
  137. package/dist/esm/components/table/layouts/row-layout/RowLayout.d.ts.map +1 -1
  138. package/dist/esm/components/table/layouts/row-layout/RowLayout.js.map +1 -1
  139. package/dist/esm/components/table/layouts/row-layout/RowLayoutBody.d.ts +2 -3
  140. package/dist/esm/components/table/layouts/row-layout/RowLayoutBody.d.ts.map +1 -1
  141. package/dist/esm/components/table/layouts/row-layout/RowLayoutBody.js +8 -9
  142. package/dist/esm/components/table/layouts/row-layout/RowLayoutBody.js.map +1 -1
  143. package/dist/esm/components/table/layouts/row-layout/RowLayoutHeader.d.ts +2 -3
  144. package/dist/esm/components/table/layouts/row-layout/RowLayoutHeader.d.ts.map +1 -1
  145. package/dist/esm/components/table/layouts/row-layout/RowLayoutHeader.js +5 -5
  146. package/dist/esm/components/table/layouts/row-layout/RowLayoutHeader.js.map +1 -1
  147. package/dist/esm/components/table/layouts/row-layout/RowLayoutIcon.d.ts +1 -5
  148. package/dist/esm/components/table/layouts/row-layout/RowLayoutIcon.d.ts.map +1 -1
  149. package/dist/esm/components/table/layouts/row-layout/RowLayoutIcon.js +2 -8
  150. package/dist/esm/components/table/layouts/row-layout/RowLayoutIcon.js.map +1 -1
  151. package/dist/esm/components/table/table-actions/TableActions.d.ts.map +1 -1
  152. package/dist/esm/components/table/table-actions/TableActions.js +6 -7
  153. package/dist/esm/components/table/table-actions/TableActions.js.map +1 -1
  154. package/dist/esm/components/table/table-column/TableCollapsibleColumn.d.ts.map +1 -1
  155. package/dist/esm/components/table/table-column/TableCollapsibleColumn.js +7 -3
  156. package/dist/esm/components/table/table-column/TableCollapsibleColumn.js.map +1 -1
  157. package/dist/esm/components/table/table-column/TableSelectableColumn.d.ts.map +1 -1
  158. package/dist/esm/components/table/table-column/TableSelectableColumn.js +6 -6
  159. package/dist/esm/components/table/table-column/TableSelectableColumn.js.map +1 -1
  160. package/dist/esm/components/table/table-columns-selector/TableColumnsSelector.d.ts +7 -12
  161. package/dist/esm/components/table/table-columns-selector/TableColumnsSelector.d.ts.map +1 -1
  162. package/dist/esm/components/table/table-columns-selector/TableColumnsSelector.js +22 -20
  163. package/dist/esm/components/table/table-columns-selector/TableColumnsSelector.js.map +1 -1
  164. package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.d.ts +1 -2
  165. package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.d.ts.map +1 -1
  166. package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.js +7 -8
  167. package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.js.map +1 -1
  168. package/dist/esm/components/table/table-filter/TableFilter.d.ts +1 -2
  169. package/dist/esm/components/table/table-filter/TableFilter.d.ts.map +1 -1
  170. package/dist/esm/components/table/table-filter/TableFilter.js +14 -18
  171. package/dist/esm/components/table/table-filter/TableFilter.js.map +1 -1
  172. package/dist/esm/components/table/table-header/TableHeader.d.ts +1 -2
  173. package/dist/esm/components/table/table-header/TableHeader.d.ts.map +1 -1
  174. package/dist/esm/components/table/table-header/TableHeader.js +10 -11
  175. package/dist/esm/components/table/table-header/TableHeader.js.map +1 -1
  176. package/dist/esm/components/table/table-header/Th.d.ts +1 -2
  177. package/dist/esm/components/table/table-header/Th.d.ts.map +1 -1
  178. package/dist/esm/components/table/table-header/Th.js +3 -3
  179. package/dist/esm/components/table/table-header/Th.js.map +1 -1
  180. package/dist/esm/components/table/table-last-updated/TableLastUpdated.d.ts +1 -3
  181. package/dist/esm/components/table/table-last-updated/TableLastUpdated.d.ts.map +1 -1
  182. package/dist/esm/components/table/table-last-updated/TableLastUpdated.js +6 -8
  183. package/dist/esm/components/table/table-last-updated/TableLastUpdated.js.map +1 -1
  184. package/dist/esm/components/table/table-no-data/TableNoData.d.ts +6 -0
  185. package/dist/esm/components/table/table-no-data/TableNoData.d.ts.map +1 -0
  186. package/dist/esm/components/table/table-no-data/TableNoData.js +6 -0
  187. package/dist/esm/components/table/table-no-data/TableNoData.js.map +1 -0
  188. package/dist/esm/components/table/table-pagination/TablePagination.d.ts.map +1 -1
  189. package/dist/esm/components/table/table-pagination/TablePagination.js +10 -13
  190. package/dist/esm/components/table/table-pagination/TablePagination.js.map +1 -1
  191. package/dist/esm/components/table/table-pagination/TablePagination.types.d.ts +0 -4
  192. package/dist/esm/components/table/table-pagination/TablePagination.types.d.ts.map +1 -1
  193. package/dist/esm/components/table/table-pagination/TablePagination.types.js.map +1 -1
  194. package/dist/esm/components/table/table-per-page/TablePerPage.d.ts.map +1 -1
  195. package/dist/esm/components/table/table-per-page/TablePerPage.js +13 -12
  196. package/dist/esm/components/table/table-per-page/TablePerPage.js.map +1 -1
  197. package/dist/esm/components/table/table-predicate/TablePredicate.d.ts +1 -2
  198. package/dist/esm/components/table/table-predicate/TablePredicate.d.ts.map +1 -1
  199. package/dist/esm/components/table/table-predicate/TablePredicate.js +14 -18
  200. package/dist/esm/components/table/table-predicate/TablePredicate.js.map +1 -1
  201. package/dist/esm/components/table/use-table.d.ts +166 -0
  202. package/dist/esm/components/table/use-table.d.ts.map +1 -0
  203. package/dist/esm/components/table/use-table.js +103 -0
  204. package/dist/esm/components/table/use-table.js.map +1 -0
  205. package/dist/esm/index.d.ts +11 -1
  206. package/dist/esm/index.d.ts.map +1 -1
  207. package/dist/esm/index.js.map +1 -1
  208. package/dist/esm/theme/Theme.d.ts.map +1 -1
  209. package/dist/esm/theme/Theme.js +0 -1
  210. package/dist/esm/theme/Theme.js.map +1 -1
  211. package/package.json +33 -19
  212. package/src/__tests__/Utils.tsx +3 -1
  213. package/src/components/button/Button.tsx +3 -1
  214. package/src/components/code-editor/CodeEditor.tsx +1 -1
  215. package/src/components/header/__tests__/__snapshots__/Header.spec.tsx.snap +0 -5
  216. package/src/components/inline-confirm/InlineConfirm.tsx +1 -2
  217. package/src/components/table/Table.tsx +131 -161
  218. package/src/components/table/Table.types.ts +28 -154
  219. package/src/components/table/TableContext.tsx +16 -16
  220. package/src/components/table/__tests__/Table.spec.tsx +165 -200
  221. package/src/components/table/__tests__/TableActions.spec.tsx +47 -29
  222. package/src/components/table/__tests__/TableColumnsSelector.spec.tsx +160 -119
  223. package/src/components/table/__tests__/TableDateRangePicker.spec.tsx +13 -17
  224. package/src/components/table/__tests__/TableFilter.spec.tsx +52 -96
  225. package/src/components/table/__tests__/TableLastUpdated.spec.tsx +18 -37
  226. package/src/components/table/__tests__/TablePagination.spec.tsx +84 -100
  227. package/src/components/table/__tests__/TablePerPage.spec.tsx +81 -104
  228. package/src/components/table/__tests__/TablePredicate.spec.tsx +26 -80
  229. package/src/components/table/__tests__/Th.spec.tsx +24 -19
  230. package/src/components/table/index.ts +3 -9
  231. package/src/components/table/layouts/TableLayoutControl.tsx +4 -4
  232. package/src/components/table/layouts/TableLayouts.tsx +0 -22
  233. package/src/components/table/layouts/__tests__/RowLayout.spec.tsx +168 -180
  234. package/src/components/table/layouts/row-layout/RowLayout.tsx +2 -2
  235. package/src/components/table/layouts/row-layout/RowLayoutBody.tsx +14 -23
  236. package/src/components/table/layouts/row-layout/RowLayoutHeader.tsx +11 -9
  237. package/src/components/table/layouts/row-layout/RowLayoutIcon.tsx +3 -8
  238. package/src/components/table/table-actions/TableActions.tsx +6 -7
  239. package/src/components/table/table-column/TableCollapsibleColumn.tsx +7 -3
  240. package/src/components/table/table-column/TableSelectableColumn.tsx +6 -2
  241. package/src/components/table/table-columns-selector/TableColumnsSelector.tsx +33 -28
  242. package/src/components/table/table-date-range-picker/TableDateRangePicker.tsx +8 -10
  243. package/src/components/table/table-filter/TableFilter.tsx +12 -18
  244. package/src/components/table/table-header/TableHeader.tsx +11 -13
  245. package/src/components/table/table-header/Th.tsx +5 -6
  246. package/src/components/table/table-last-updated/TableLastUpdated.tsx +7 -10
  247. package/src/components/table/table-no-data/TableNoData.tsx +7 -0
  248. package/src/components/table/table-pagination/TablePagination.tsx +11 -11
  249. package/src/components/table/table-pagination/TablePagination.types.ts +0 -4
  250. package/src/components/table/table-per-page/TablePerPage.tsx +8 -10
  251. package/src/components/table/table-predicate/TablePredicate.tsx +21 -17
  252. package/src/components/table/use-table.ts +282 -0
  253. package/src/index.ts +11 -1
  254. package/src/theme/Theme.tsx +0 -1
  255. package/dist/cjs/components/table/table-consumer/TableConsumer.d.ts +0 -5
  256. package/dist/cjs/components/table/table-consumer/TableConsumer.d.ts.map +0 -1
  257. package/dist/cjs/components/table/table-consumer/TableConsumer.js.map +0 -1
  258. package/dist/cjs/hooks/useRowSelection.d.ts +0 -10
  259. package/dist/cjs/hooks/useRowSelection.d.ts.map +0 -1
  260. package/dist/cjs/hooks/useRowSelection.js +0 -80
  261. package/dist/cjs/hooks/useRowSelection.js.map +0 -1
  262. package/dist/esm/components/table/table-consumer/TableConsumer.d.ts +0 -5
  263. package/dist/esm/components/table/table-consumer/TableConsumer.d.ts.map +0 -1
  264. package/dist/esm/components/table/table-consumer/TableConsumer.js +0 -6
  265. package/dist/esm/components/table/table-consumer/TableConsumer.js.map +0 -1
  266. package/dist/esm/hooks/useRowSelection.d.ts +0 -10
  267. package/dist/esm/hooks/useRowSelection.d.ts.map +0 -1
  268. package/dist/esm/hooks/useRowSelection.js +0 -59
  269. package/dist/esm/hooks/useRowSelection.js.map +0 -1
  270. package/src/components/table/table-consumer/TableConsumer.tsx +0 -3
  271. package/src/hooks/useRowSelection.ts +0 -76
@@ -16,67 +16,58 @@ _export(exports, {
16
16
  return TableComponentsOrder;
17
17
  }
18
18
  });
19
+ var _instanceof = require("@swc/helpers/_/_instanceof");
19
20
  var _interop_require_default = require("@swc/helpers/_/_interop_require_default");
20
21
  var _object_spread = require("@swc/helpers/_/_object_spread");
21
22
  var _object_spread_props = require("@swc/helpers/_/_object_spread_props");
22
23
  var _object_without_properties = require("@swc/helpers/_/_object_without_properties");
23
- var _sliced_to_array = require("@swc/helpers/_/_sliced_to_array");
24
24
  var _to_consumable_array = require("@swc/helpers/_/_to_consumable_array");
25
25
  var _jsxruntime = require("react/jsx-runtime");
26
26
  var _core = require("@mantine/core");
27
- var _form = require("@mantine/form");
28
27
  var _hooks = require("@mantine/hooks");
29
28
  var _reacttable = require("@tanstack/react-table");
30
- var _lodashdebounce = /*#__PURE__*/ _interop_require_default._(require("lodash.debounce"));
31
- var _lodashdefaultsdeep = /*#__PURE__*/ _interop_require_default._(require("lodash.defaultsdeep"));
29
+ var _fastdeepequal = /*#__PURE__*/ _interop_require_default._(require("fast-deep-equal"));
32
30
  var _react = require("react");
33
- var _useRowSelection = require("../../hooks/useRowSelection");
34
31
  var _utils = require("../../utils");
32
+ var _Tablemodulecss = /*#__PURE__*/ _interop_require_default._(require("./Table.module.css"));
33
+ var _TableContext = require("./TableContext");
35
34
  var _TableLayouts = require("./layouts/TableLayouts");
36
35
  var _TableActions = require("./table-actions/TableActions");
37
36
  var _TableCollapsibleColumn = require("./table-column/TableCollapsibleColumn");
38
37
  var _TableSelectableColumn = require("./table-column/TableSelectableColumn");
39
38
  var _TableColumnsSelector = require("./table-columns-selector/TableColumnsSelector");
40
- var _TableConsumer = require("./table-consumer/TableConsumer");
41
39
  var _TableDateRangePicker = require("./table-date-range-picker/TableDateRangePicker");
42
40
  var _TableFilter = require("./table-filter/TableFilter");
43
41
  var _TableFooter = require("./table-footer/TableFooter");
44
42
  var _TableHeader = require("./table-header/TableHeader");
45
43
  var _TableLastUpdated = require("./table-last-updated/TableLastUpdated");
46
44
  var _TableLoading = require("./table-loading/TableLoading");
45
+ var _TableNoData = require("./table-no-data/TableNoData");
47
46
  var _TablePagination = require("./table-pagination/TablePagination");
48
47
  var _TablePerPage = require("./table-per-page/TablePerPage");
49
48
  var _TablePredicate = require("./table-predicate/TablePredicate");
50
- var _Tablemodulecss = /*#__PURE__*/ _interop_require_default._(require("./Table.module.css"));
51
- var _TableContext = require("./TableContext");
52
49
  var defaultProps = {
53
50
  layouts: [
54
51
  _TableLayouts.TableLayouts.Rows
55
52
  ],
53
+ layoutProps: {},
56
54
  loading: false,
57
- multiRowSelectionEnabled: false,
58
- initialState: {},
55
+ additionalRootNodes: [],
59
56
  options: {}
60
57
  };
61
58
  var Table = function(props) {
62
- var _form_values, _form_values_dateRange, _form_values_dateRange1;
63
- var _useProps = (0, _core.useProps)('PlasmaTable', defaultProps, props), data = _useProps.data, getRowId = _useProps.getRowId, noDataChildren = _useProps.noDataChildren, getExpandChildren = _useProps.getExpandChildren, initialState = _useProps.initialState, columns = _useProps.columns, layouts = _useProps.layouts, onMount = _useProps.onMount, onChange = _useProps.onChange, children = _useProps.children, loading = _useProps.loading, doubleClickAction = _useProps.doubleClickAction, multiRowSelectionEnabled = _useProps.multiRowSelectionEnabled, disableRowSelection = _useProps.disableRowSelection, onRowSelectionChange = _useProps.onRowSelectionChange, additionalRootNodes = _useProps.additionalRootNodes, options = _useProps.options, ref = _useProps.ref, // Style props
59
+ var _useProps = (0, _core.useProps)('PlasmaTable', defaultProps, props), store = _useProps.store, data = _useProps.data, getRowId = _useProps.getRowId, getExpandChildren = _useProps.getExpandChildren, columns = _useProps.columns, layouts = _useProps.layouts, layoutProps = _useProps.layoutProps, children = _useProps.children, loading = _useProps.loading, doubleClickAction = _useProps.doubleClickAction, additionalRootNodes = _useProps.additionalRootNodes, options = _useProps.options, ref = _useProps.ref, // Style props
64
60
  style = _useProps.style, className = _useProps.className, classNames = _useProps.classNames, styles = _useProps.styles, unstyled = _useProps.unstyled, others = _object_without_properties._(_useProps, [
61
+ "store",
65
62
  "data",
66
63
  "getRowId",
67
- "noDataChildren",
68
64
  "getExpandChildren",
69
- "initialState",
70
65
  "columns",
71
66
  "layouts",
72
- "onMount",
73
- "onChange",
67
+ "layoutProps",
74
68
  "children",
75
69
  "loading",
76
70
  "doubleClickAction",
77
- "multiRowSelectionEnabled",
78
- "disableRowSelection",
79
- "onRowSelectionChange",
80
71
  "additionalRootNodes",
81
72
  "options",
82
73
  "ref",
@@ -103,41 +94,30 @@ var Table = function(props) {
103
94
  var footer = convertedChildren.find(function(child) {
104
95
  return child.type === _TableFooter.TableFooter;
105
96
  });
106
- var consumer = convertedChildren.find(function(child) {
107
- return child.type === _TableConsumer.TableConsumer;
108
- });
109
97
  var lastUpdated = convertedChildren.find(function(child) {
110
98
  return child.type === _TableLastUpdated.TableLastUpdated;
111
99
  });
112
- var predicates = initialState.predicates, dateRange = initialState.dateRange, initialStateWithoutForm = _object_without_properties._(initialState, [
113
- "predicates",
114
- "dateRange"
115
- ]);
116
- var _initialState_predicates, _initialState_dateRange, _initialState_layout;
117
- var form = (0, _form.useForm)({
118
- initialValues: {
119
- predicates: (_initialState_predicates = initialState === null || initialState === void 0 ? void 0 : initialState.predicates) !== null && _initialState_predicates !== void 0 ? _initialState_predicates : {},
120
- dateRange: (_initialState_dateRange = initialState === null || initialState === void 0 ? void 0 : initialState.dateRange) !== null && _initialState_dateRange !== void 0 ? _initialState_dateRange : [
121
- null,
122
- null
123
- ],
124
- layout: (_initialState_layout = initialState === null || initialState === void 0 ? void 0 : initialState.layout) !== null && _initialState_layout !== void 0 ? _initialState_layout : layouts[0].displayName
125
- }
100
+ var noData = convertedChildren.find(function(child) {
101
+ return child.type === _TableNoData.TableNoData;
126
102
  });
127
103
  var table = (0, _reacttable.useReactTable)(_object_spread._({
128
- initialState: (0, _lodashdefaultsdeep.default)(initialStateWithoutForm, {
129
- pagination: {
130
- pageSize: _TablePerPage.TablePerPage.DEFAULT_SIZE
131
- },
132
- globalFilter: ''
133
- }),
134
104
  data: data,
135
- columns: multiRowSelectionEnabled ? [
105
+ state: {
106
+ globalFilter: store.state.globalFilter,
107
+ sorting: store.state.sorting,
108
+ pagination: store.state.pagination,
109
+ columnVisibility: store.state.columnVisibility
110
+ },
111
+ onGlobalFilterChange: store.setGlobalFilter,
112
+ onSortingChange: store.setSorting,
113
+ onPaginationChange: store.setPagination,
114
+ onColumnVisibilityChange: store.setColumnVisibility,
115
+ columns: store.multiRowSelectionEnabled ? [
136
116
  _TableSelectableColumn.TableSelectableColumn
137
117
  ].concat(columns) : columns,
138
118
  getCoreRowModel: (0, _reacttable.getCoreRowModel)(),
139
119
  manualPagination: (options === null || options === void 0 ? void 0 : options.getPaginationRowModel) === undefined,
140
- enableMultiRowSelection: !!multiRowSelectionEnabled,
120
+ enableMultiRowSelection: !!store.multiRowSelectionEnabled,
141
121
  getRowId: getRowId,
142
122
  getRowCanExpand: function(row) {
143
123
  var _ref;
@@ -150,54 +130,42 @@ var Table = function(props) {
150
130
  maxSize: _reacttable.defaultColumnSizing.maxSize
151
131
  }
152
132
  }, options));
153
- var getAllColumns = table.getAllFlatColumns;
154
- var _useState = _sliced_to_array._((0, _react.useState)(table.initialState), 2), state = _useState[0], setState = _useState[1];
155
133
  table.setOptions(function(prev) {
156
134
  return _object_spread_props._(_object_spread._({}, prev), {
157
- state: state,
158
- onStateChange: setState
135
+ state: _object_spread_props._(_object_spread._({}, prev.state), {
136
+ rowSelection: store.state.rowSelection
137
+ }),
138
+ onRowSelectionChange: function(rowSelectionUpdater) {
139
+ store.setRowSelection(function(old) {
140
+ var newRowSelection = _instanceof._(rowSelectionUpdater, Function) ? rowSelectionUpdater(old) : rowSelectionUpdater;
141
+ if ((0, _fastdeepequal.default)(old, newRowSelection)) {
142
+ return old;
143
+ }
144
+ var rows = table.getRowModel().rowsById;
145
+ Object.keys(newRowSelection).forEach(function(rowId) {
146
+ if (newRowSelection[rowId] === true) {
147
+ var _rows_rowId;
148
+ if (!rows[rowId]) {
149
+ console.error('The table was not initialized properly, the rowSelection state should contain an object of type Record<string, TData>.');
150
+ }
151
+ var _rows_rowId_original;
152
+ newRowSelection[rowId] = (_rows_rowId_original = (_rows_rowId = rows[rowId]) === null || _rows_rowId === void 0 ? void 0 : _rows_rowId.original) !== null && _rows_rowId_original !== void 0 ? _rows_rowId_original : true;
153
+ }
154
+ });
155
+ return newRowSelection;
156
+ });
157
+ }
159
158
  });
160
159
  });
161
- var _useRowSelection1 = (0, _useRowSelection.useRowSelection)(table, {
162
- multiRowSelectionEnabled: multiRowSelectionEnabled,
163
- onRowSelectionChange: onRowSelectionChange,
164
- additionalRootNodes: additionalRootNodes
165
- }), clearSelection = _useRowSelection1.clearSelection, getSelectedRow = _useRowSelection1.getSelectedRow, getSelectedRows = _useRowSelection1.getSelectedRows, outsideClickRef = _useRowSelection1.outsideClickRef;
166
- var containerRef = (0, _hooks.useMergedRef)(outsideClickRef, ref);
167
- var _form_values_predicates;
168
- var isFiltered = !!state.globalFilter || Object.keys((_form_values_predicates = (_form_values = form.values) === null || _form_values === void 0 ? void 0 : _form_values.predicates) !== null && _form_values_predicates !== void 0 ? _form_values_predicates : {}).some(function(predicate) {
169
- return !!form.values.predicates[predicate];
170
- }) || !!((_form_values_dateRange = form.values.dateRange) === null || _form_values_dateRange === void 0 ? void 0 : _form_values_dateRange[0]) || !!((_form_values_dateRange1 = form.values.dateRange) === null || _form_values_dateRange1 === void 0 ? void 0 : _form_values_dateRange1[1]);
171
- var triggerChange = (0, _lodashdebounce.default)(function() {
172
- return onChange === null || onChange === void 0 ? void 0 : onChange(_object_spread._({}, state, form.values));
173
- }, 500);
174
- (0, _react.useEffect)(function() {
175
- onMount === null || onMount === void 0 ? void 0 : onMount(_object_spread._({}, state, form.values));
176
- return function() {
177
- triggerChange.cancel();
178
- };
179
- }, []);
180
- (0, _hooks.useDidUpdate)(function() {
181
- triggerChange();
182
- if (!multiRowSelectionEnabled) {
183
- clearSelection();
160
+ var containerRef = (0, _react.useRef)();
161
+ (0, _hooks.useClickOutside)(function() {
162
+ if (!store.multiRowSelectionEnabled) {
163
+ store.clearRowSelection();
184
164
  }
185
- }, [
186
- state.globalFilter,
187
- state.pagination,
188
- state.sorting,
189
- JSON.stringify(form.values.dateRange),
190
- JSON.stringify(form.values.predicates)
191
- ]);
192
- var clearFilters = (0, _react.useCallback)(function() {
193
- var _initialState_predicates;
194
- form.setFieldValue('predicates', (_initialState_predicates = initialState.predicates) !== null && _initialState_predicates !== void 0 ? _initialState_predicates : {});
195
- setState(function(prevState) {
196
- return _object_spread_props._(_object_spread._({}, prevState), {
197
- globalFilter: ''
198
- });
199
- });
200
- }, []);
165
+ }, null, [
166
+ containerRef.current
167
+ ].concat(_to_consumable_array._(additionalRootNodes)));
168
+ var mergedRef = (0, _hooks.useMergedRef)(containerRef, ref);
201
169
  if (!data) {
202
170
  return /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Center, {
203
171
  style: {
@@ -206,92 +174,72 @@ var Table = function(props) {
206
174
  children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Loader, {})
207
175
  });
208
176
  }
209
- var Layout = layouts.find(function(param) {
177
+ var Layout = store.state.layout === null ? layouts[0] : layouts.find(function(param) {
210
178
  var displayName = param.displayName;
211
- return displayName === form.values.layout;
179
+ return displayName === store.state.layout;
212
180
  });
213
181
  var hasRows = table.getRowModel().rows.length > 0;
214
182
  var _lastUpdated_props_dependencies;
215
183
  return /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Box, _object_spread_props._(_object_spread._({
216
- ref: containerRef
184
+ ref: mergedRef
217
185
  }, others, getStyles('root')), {
218
- children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_TableContext.TableStylesProvider, {
186
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_TableContext.TableProvider, {
219
187
  value: {
220
- getStyles: getStyles
188
+ getStyles: getStyles,
189
+ store: store,
190
+ table: table,
191
+ layouts: layouts,
192
+ containerRef: containerRef
221
193
  },
222
- children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_TableContext.TableContext.Provider, {
223
- value: {
224
- onChange: triggerChange,
225
- state: state,
226
- isFiltered: isFiltered,
227
- setState: setState,
228
- clearFilters: clearFilters,
229
- getSelectedRow: getSelectedRow,
230
- getSelectedRows: getSelectedRows,
231
- clearSelection: clearSelection,
232
- form: form,
233
- containerRef: outsideClickRef,
234
- multiRowSelectionEnabled: multiRowSelectionEnabled,
235
- getPageCount: table.getPageCount,
236
- getAllColumns: getAllColumns,
237
- disableRowSelection: disableRowSelection,
238
- layouts: layouts
239
- },
240
- children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(Layout, {
194
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(Layout, {
195
+ children: !hasRows && !store.isFiltered && !loading ? noData : /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
241
196
  children: [
242
- consumer,
243
- !hasRows && !isFiltered && !loading ? noDataChildren : /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
197
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_core.Box, _object_spread_props._(_object_spread._({
198
+ component: "table"
199
+ }, getStyles('table')), {
200
+ pb: "sm",
244
201
  children: [
245
- /*#__PURE__*/ (0, _jsxruntime.jsxs)(_core.Box, _object_spread_props._(_object_spread._({
246
- component: "table"
247
- }, getStyles('table')), {
248
- pb: "sm",
202
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)("thead", _object_spread_props._(_object_spread._({}, getStyles('header')), {
249
203
  children: [
250
- /*#__PURE__*/ (0, _jsxruntime.jsxs)("thead", _object_spread_props._(_object_spread._({}, getStyles('header')), {
251
- children: [
252
- !!header ? /*#__PURE__*/ (0, _jsxruntime.jsx)("tr", {
253
- children: /*#__PURE__*/ (0, _jsxruntime.jsx)("th", {
254
- style: {
255
- padding: 0
256
- },
257
- colSpan: table.getAllColumns().length,
258
- children: header
259
- })
260
- }) : null,
261
- /*#__PURE__*/ (0, _jsxruntime.jsx)(Layout.Header, {
262
- table: table,
263
- doubleClickAction: doubleClickAction,
264
- getExpandChildren: getExpandChildren,
265
- loading: loading
266
- })
267
- ]
268
- })),
269
- /*#__PURE__*/ (0, _jsxruntime.jsx)("tbody", _object_spread_props._(_object_spread._({}, getStyles('body')), {
270
- children: hasRows ? /*#__PURE__*/ (0, _jsxruntime.jsx)(Layout.Body, {
271
- table: table,
272
- doubleClickAction: doubleClickAction,
273
- getExpandChildren: getExpandChildren,
274
- loading: loading
275
- }) : /*#__PURE__*/ (0, _jsxruntime.jsx)("tr", {
276
- children: /*#__PURE__*/ (0, _jsxruntime.jsx)("td", {
277
- colSpan: table.getAllColumns().length,
278
- children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_TableLoading.TableLoading, {
279
- visible: loading,
280
- children: noDataChildren
281
- })
282
- })
204
+ !!header ? /*#__PURE__*/ (0, _jsxruntime.jsx)("tr", {
205
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)("th", {
206
+ style: {
207
+ padding: 0
208
+ },
209
+ colSpan: table.getAllColumns().length,
210
+ children: header
283
211
  })
284
- }))
212
+ }) : null,
213
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(Layout.Header, _object_spread._({
214
+ doubleClickAction: doubleClickAction,
215
+ getExpandChildren: getExpandChildren,
216
+ loading: loading
217
+ }, layoutProps))
285
218
  ]
286
219
  })),
287
- footer,
288
- lastUpdated ? /*#__PURE__*/ (0, _react.cloneElement)(lastUpdated, {
289
- dependencies: [
290
- data
291
- ].concat(_to_consumable_array._((_lastUpdated_props_dependencies = lastUpdated.props.dependencies) !== null && _lastUpdated_props_dependencies !== void 0 ? _lastUpdated_props_dependencies : []))
292
- }) : null
220
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("tbody", _object_spread_props._(_object_spread._({}, getStyles('body')), {
221
+ children: hasRows ? /*#__PURE__*/ (0, _jsxruntime.jsx)(Layout.Body, _object_spread._({
222
+ doubleClickAction: doubleClickAction,
223
+ getExpandChildren: getExpandChildren,
224
+ loading: loading
225
+ }, layoutProps)) : /*#__PURE__*/ (0, _jsxruntime.jsx)("tr", {
226
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)("td", {
227
+ colSpan: table.getAllColumns().length,
228
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_TableLoading.TableLoading, {
229
+ visible: loading,
230
+ children: noData
231
+ })
232
+ })
233
+ })
234
+ }))
293
235
  ]
294
- })
236
+ })),
237
+ footer,
238
+ lastUpdated ? /*#__PURE__*/ (0, _react.cloneElement)(lastUpdated, {
239
+ dependencies: [
240
+ data
241
+ ].concat(_to_consumable_array._((_lastUpdated_props_dependencies = lastUpdated.props.dependencies) !== null && _lastUpdated_props_dependencies !== void 0 ? _lastUpdated_props_dependencies : []))
242
+ }) : null
295
243
  ]
296
244
  })
297
245
  })
@@ -307,22 +255,22 @@ var TableComponentsOrder = {
307
255
  ColumnsSelector: 2,
308
256
  LayoutControl: 1
309
257
  };
258
+ Table.AccordionColumn = _TableCollapsibleColumn.TableAccordionColumn;
310
259
  Table.Actions = _TableActions.TableActions;
260
+ Table.CollapsibleColumn = _TableCollapsibleColumn.TableCollapsibleColumn;
261
+ Table.ColumnsSelector = _TableColumnsSelector.TableColumnsSelector;
262
+ Table.DateRangePicker = _TableDateRangePicker.TableDateRangePicker;
311
263
  Table.Filter = _TableFilter.TableFilter;
312
264
  Table.Footer = _TableFooter.TableFooter;
313
265
  Table.Header = _TableHeader.TableHeader;
314
266
  Table.LastUpdated = _TableLastUpdated.TableLastUpdated;
267
+ Table.Layouts = _TableLayouts.TableLayouts;
268
+ Table.Loading = _TableLoading.TableLoading;
269
+ Table.NoData = _TableNoData.TableNoData;
315
270
  Table.Pagination = _TablePagination.TablePagination;
316
- Table.Predicate = _TablePredicate.TablePredicate;
317
271
  Table.PerPage = _TablePerPage.TablePerPage;
318
272
  Table.Predicate = _TablePredicate.TablePredicate;
319
- Table.CollapsibleColumn = _TableCollapsibleColumn.TableCollapsibleColumn;
320
- Table.AccordionColumn = _TableCollapsibleColumn.TableAccordionColumn;
321
- Table.DateRangePicker = _TableDateRangePicker.TableDateRangePicker;
322
- Table.Consumer = _TableConsumer.TableConsumer;
323
- Table.Loading = _TableLoading.TableLoading;
324
- Table.ColumnsSelector = _TableColumnsSelector.TableColumnsSelector;
325
- Table.Layouts = _TableLayouts.TableLayouts;
273
+ Table.Predicate = _TablePredicate.TablePredicate;
326
274
  Table.extend = _utils.identity;
327
275
 
328
276
  //# sourceMappingURL=Table.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/table/Table.tsx"],"sourcesContent":["import {Box, Center, Factory, Loader, useProps, useStyles} from '@mantine/core';\nimport {useForm} from '@mantine/form';\nimport {useDidUpdate, useMergedRef} from '@mantine/hooks';\nimport {\n ColumnDef,\n defaultColumnSizing,\n getCoreRowModel,\n Row,\n TableState as TanstackTableState,\n useReactTable,\n} from '@tanstack/react-table';\nimport debounce from 'lodash.debounce';\nimport defaultsDeep from 'lodash.defaultsdeep';\nimport {Children, cloneElement, Dispatch, ForwardedRef, ReactElement, useCallback, useEffect, useState} from 'react';\n\nimport {useRowSelection} from '../../hooks/useRowSelection';\nimport {CustomComponentThemeExtend, identity} from '../../utils';\nimport {TableLayouts} from './layouts/TableLayouts';\nimport {TableActions, TableActionsStylesNames} from './table-actions/TableActions';\nimport {\n TableAccordionColumn,\n TableCollapsibleColumn,\n TableCollapsibleColumnStylesNames,\n} from './table-column/TableCollapsibleColumn';\nimport {TableSelectableColumn} from './table-column/TableSelectableColumn';\nimport {TableColumnsSelector, TableColumnsSelectorStylesNames} from './table-columns-selector/TableColumnsSelector';\nimport {TableConsumer} from './table-consumer/TableConsumer';\nimport {TableDateRangePicker, TableDateRangePickerStylesNames} from './table-date-range-picker/TableDateRangePicker';\nimport {TableFilter, TableFilterStylesNames} from './table-filter/TableFilter';\nimport {TableFooter} from './table-footer/TableFooter';\nimport {TableHeader, TableHeaderStylesNames} from './table-header/TableHeader';\nimport {TableThStylesNames} from './table-header/Th';\nimport {TableLastUpdated, TableLastUpdatedStylesNames} from './table-last-updated/TableLastUpdated';\nimport {TableLoading} from './table-loading/TableLoading';\nimport {TablePagination} from './table-pagination/TablePagination';\nimport {TablePerPage} from './table-per-page/TablePerPage';\nimport {TablePredicate, TablePredicateStylesNames} from './table-predicate/TablePredicate';\nimport classes from './Table.module.css';\nimport {TableFormType, TableLayout, TableProps, TableState} from './Table.types';\nimport {TableContext, TableStylesProvider} from './TableContext';\n\ntype TableStylesNames =\n | 'root'\n | 'table'\n | 'header'\n | 'body'\n | TableActionsStylesNames\n | TableCollapsibleColumnStylesNames\n | TableDateRangePickerStylesNames\n | TableFilterStylesNames\n | TableHeaderStylesNames\n | TableThStylesNames\n | TableLastUpdatedStylesNames\n | TablePredicateStylesNames\n | TableColumnsSelectorStylesNames;\n\nexport type PlasmaTableFactory = Factory<{\n props: TableProps<unknown>;\n ref: HTMLDivElement;\n stylesNames: TableStylesNames;\n staticComponents: {\n Actions: typeof TableActions;\n Filter: typeof TableFilter;\n Footer: typeof TableFooter;\n Header: typeof TableHeader;\n LastUpdated: typeof TableLastUpdated;\n Pagination: typeof TablePagination;\n PerPage: typeof TablePerPage;\n Predicate: typeof TablePredicate;\n DateRangePicker: typeof TableDateRangePicker;\n CollapsibleColumn: typeof TableCollapsibleColumn;\n ColumnsSelector: typeof TableColumnsSelector;\n AccordionColumn: typeof TableAccordionColumn;\n Consumer: typeof TableConsumer;\n Loading: typeof TableLoading;\n Layouts: typeof TableLayouts;\n };\n}>;\n\nconst defaultProps: Partial<TableProps<unknown>> = {\n layouts: [TableLayouts.Rows as TableLayout],\n loading: false,\n multiRowSelectionEnabled: false,\n initialState: {},\n options: {},\n};\n\nexport const Table = <T,>(props: TableProps<T> & {ref?: ForwardedRef<HTMLDivElement>}) => {\n const {\n data,\n getRowId,\n noDataChildren,\n getExpandChildren,\n initialState,\n columns,\n layouts,\n onMount,\n onChange,\n children,\n loading,\n doubleClickAction,\n multiRowSelectionEnabled,\n disableRowSelection,\n onRowSelectionChange,\n additionalRootNodes,\n options,\n ref,\n\n // Style props\n style,\n className,\n classNames,\n styles,\n unstyled,\n ...others\n } = useProps('PlasmaTable', defaultProps as TableProps<T>, props);\n\n const getStyles = useStyles<PlasmaTableFactory>({\n name: 'PlasmaTable',\n classes,\n props: props as TableProps<unknown>,\n className,\n style,\n classNames,\n styles,\n unstyled,\n });\n\n const convertedChildren = Children.toArray(children) as ReactElement[];\n const header = convertedChildren.find((child) => child.type === TableHeader);\n const footer = convertedChildren.find((child) => child.type === TableFooter);\n const consumer = convertedChildren.find((child) => child.type === TableConsumer);\n const lastUpdated = convertedChildren.find((child) => child.type === TableLastUpdated);\n\n const {predicates, dateRange, ...initialStateWithoutForm} = initialState;\n const form = useForm<TableFormType>({\n initialValues: {\n predicates: initialState?.predicates ?? {},\n dateRange: initialState?.dateRange ?? [null, null],\n layout: initialState?.layout ?? layouts[0].displayName,\n },\n });\n\n const table = useReactTable({\n initialState: defaultsDeep(initialStateWithoutForm, {\n pagination: {pageSize: TablePerPage.DEFAULT_SIZE},\n globalFilter: '',\n }),\n data,\n columns: multiRowSelectionEnabled ? [TableSelectableColumn as ColumnDef<T>].concat(columns) : columns,\n getCoreRowModel: getCoreRowModel(),\n manualPagination: options?.getPaginationRowModel === undefined,\n enableMultiRowSelection: !!multiRowSelectionEnabled,\n getRowId,\n getRowCanExpand: (row: Row<T>) => !!getExpandChildren?.(row.original) ?? false,\n enableRowSelection: !loading,\n defaultColumn: {\n size: undefined,\n minSize: defaultColumnSizing.minSize,\n maxSize: defaultColumnSizing.maxSize,\n },\n ...options,\n });\n\n const getAllColumns = table.getAllFlatColumns;\n\n const [state, setState] = useState<TableState<T>>(table.initialState as TableState<T>);\n table.setOptions((prev) => ({\n ...prev,\n state: state as TanstackTableState,\n onStateChange: setState as Dispatch<React.SetStateAction<TanstackTableState>>,\n }));\n const {clearSelection, getSelectedRow, getSelectedRows, outsideClickRef} = useRowSelection(table, {\n multiRowSelectionEnabled,\n onRowSelectionChange,\n additionalRootNodes,\n });\n const containerRef = useMergedRef(outsideClickRef, ref);\n const isFiltered =\n !!state.globalFilter ||\n Object.keys(form.values?.predicates ?? {}).some((predicate) => !!form.values.predicates[predicate]) ||\n !!form.values.dateRange?.[0] ||\n !!form.values.dateRange?.[1];\n\n const triggerChange = debounce(() => onChange?.({...state, ...form.values}), 500);\n\n useEffect(() => {\n onMount?.({...state, ...form.values});\n return () => {\n triggerChange.cancel();\n };\n }, []);\n\n useDidUpdate(() => {\n triggerChange();\n if (!multiRowSelectionEnabled) {\n clearSelection();\n }\n }, [\n state.globalFilter,\n state.pagination,\n state.sorting,\n JSON.stringify(form.values.dateRange),\n JSON.stringify(form.values.predicates),\n ]);\n\n const clearFilters = useCallback(() => {\n form.setFieldValue('predicates', initialState.predicates ?? {});\n setState((prevState) => ({...prevState, globalFilter: ''}));\n }, []);\n\n if (!data) {\n return (\n <Center style={{flexGrow: 1}}>\n <Loader />\n </Center>\n );\n }\n\n const Layout = layouts.find(({displayName}) => displayName === form.values.layout);\n const hasRows = table.getRowModel().rows.length > 0;\n\n return (\n <Box ref={containerRef} {...others} {...getStyles('root')}>\n <TableStylesProvider value={{getStyles}}>\n <TableContext.Provider\n value={{\n onChange: triggerChange,\n state,\n isFiltered,\n setState,\n clearFilters,\n getSelectedRow,\n getSelectedRows,\n clearSelection,\n form,\n containerRef: outsideClickRef,\n multiRowSelectionEnabled,\n getPageCount: table.getPageCount,\n getAllColumns,\n disableRowSelection,\n layouts,\n }}\n >\n <Layout>\n {consumer}\n {!hasRows && !isFiltered && !loading ? (\n noDataChildren\n ) : (\n <>\n <Box component=\"table\" {...getStyles('table')} pb=\"sm\">\n <thead {...getStyles('header')}>\n {!!header ? (\n <tr>\n <th style={{padding: 0}} colSpan={table.getAllColumns().length}>\n {header}\n </th>\n </tr>\n ) : null}\n <Layout.Header\n table={table}\n doubleClickAction={doubleClickAction}\n getExpandChildren={getExpandChildren}\n loading={loading}\n />\n </thead>\n <tbody {...getStyles('body')}>\n {hasRows ? (\n <Layout.Body\n table={table}\n doubleClickAction={doubleClickAction}\n getExpandChildren={getExpandChildren}\n loading={loading}\n />\n ) : (\n <tr>\n <td colSpan={table.getAllColumns().length}>\n <TableLoading visible={loading}>{noDataChildren}</TableLoading>\n </td>\n </tr>\n )}\n </tbody>\n </Box>\n {footer}\n {lastUpdated\n ? cloneElement(lastUpdated, {\n dependencies: [data, ...(lastUpdated.props.dependencies ?? [])],\n })\n : null}\n </>\n )}\n </Layout>\n </TableContext.Provider>\n </TableStylesProvider>\n </Box>\n );\n};\n\nexport const TableComponentsOrder = {\n MultiSelectInfo: 7,\n Actions: 6,\n Predicate: 5,\n Filter: 4,\n DateRangePicker: 3,\n ColumnsSelector: 2,\n LayoutControl: 1,\n};\n\nTable.Actions = TableActions;\nTable.Filter = TableFilter;\nTable.Footer = TableFooter;\nTable.Header = TableHeader;\nTable.LastUpdated = TableLastUpdated;\nTable.Pagination = TablePagination;\nTable.Predicate = TablePredicate;\nTable.PerPage = TablePerPage;\nTable.Predicate = TablePredicate;\nTable.CollapsibleColumn = TableCollapsibleColumn;\nTable.AccordionColumn = TableAccordionColumn;\nTable.DateRangePicker = TableDateRangePicker;\nTable.Consumer = TableConsumer;\nTable.Loading = TableLoading;\nTable.ColumnsSelector = TableColumnsSelector;\nTable.Layouts = TableLayouts;\n\nTable.extend = identity as CustomComponentThemeExtend<PlasmaTableFactory>;\n"],"names":["Table","TableComponentsOrder","defaultProps","layouts","TableLayouts","Rows","loading","multiRowSelectionEnabled","initialState","options","props","form","useProps","data","getRowId","noDataChildren","getExpandChildren","columns","onMount","onChange","children","doubleClickAction","disableRowSelection","onRowSelectionChange","additionalRootNodes","ref","style","className","classNames","styles","unstyled","others","getStyles","useStyles","name","classes","convertedChildren","Children","toArray","header","find","child","type","TableHeader","footer","TableFooter","consumer","TableConsumer","lastUpdated","TableLastUpdated","predicates","dateRange","initialStateWithoutForm","useForm","initialValues","layout","displayName","table","useReactTable","defaultsDeep","pagination","pageSize","TablePerPage","DEFAULT_SIZE","globalFilter","TableSelectableColumn","concat","getCoreRowModel","manualPagination","getPaginationRowModel","undefined","enableMultiRowSelection","getRowCanExpand","row","original","enableRowSelection","defaultColumn","size","minSize","defaultColumnSizing","maxSize","getAllColumns","getAllFlatColumns","useState","state","setState","setOptions","prev","onStateChange","useRowSelection","clearSelection","getSelectedRow","getSelectedRows","outsideClickRef","containerRef","useMergedRef","isFiltered","Object","keys","values","some","predicate","triggerChange","debounce","useEffect","cancel","useDidUpdate","sorting","JSON","stringify","clearFilters","useCallback","setFieldValue","prevState","Center","flexGrow","Loader","Layout","hasRows","getRowModel","rows","length","Box","TableStylesProvider","value","TableContext","Provider","getPageCount","component","pb","thead","tr","th","padding","colSpan","Header","tbody","Body","td","TableLoading","visible","cloneElement","dependencies","MultiSelectInfo","Actions","Predicate","Filter","DateRangePicker","ColumnsSelector","LayoutControl","TableActions","TableFilter","Footer","LastUpdated","Pagination","TablePagination","TablePredicate","PerPage","CollapsibleColumn","TableCollapsibleColumn","AccordionColumn","TableAccordionColumn","TableDateRangePicker","Consumer","Loading","TableColumnsSelector","Layouts","extend","identity"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/components/table/Table.tsx"],"sourcesContent":["import {Box, Center, Factory, Loader, useProps, useStyles} from '@mantine/core';\nimport {useClickOutside, useMergedRef} from '@mantine/hooks';\nimport {\n ColumnDef,\n Row,\n RowSelectionState,\n defaultColumnSizing,\n getCoreRowModel,\n useReactTable,\n} from '@tanstack/react-table';\nimport isEqual from 'fast-deep-equal';\nimport {Children, ForwardedRef, ReactElement, cloneElement, useRef} from 'react';\nimport {CustomComponentThemeExtend, identity} from '../../utils';\nimport classes from './Table.module.css';\nimport {TableLayout, TableProps} from './Table.types';\nimport {TableProvider} from './TableContext';\nimport {TableLayouts} from './layouts/TableLayouts';\nimport {TableActions, TableActionsStylesNames} from './table-actions/TableActions';\nimport {\n TableAccordionColumn,\n TableCollapsibleColumn,\n TableCollapsibleColumnStylesNames,\n} from './table-column/TableCollapsibleColumn';\nimport {TableSelectableColumn} from './table-column/TableSelectableColumn';\nimport {TableColumnsSelector, TableColumnsSelectorStylesNames} from './table-columns-selector/TableColumnsSelector';\nimport {TableDateRangePicker, TableDateRangePickerStylesNames} from './table-date-range-picker/TableDateRangePicker';\nimport {TableFilter, TableFilterStylesNames} from './table-filter/TableFilter';\nimport {TableFooter} from './table-footer/TableFooter';\nimport {TableHeader, TableHeaderStylesNames} from './table-header/TableHeader';\nimport {TableThStylesNames} from './table-header/Th';\nimport {TableLastUpdated, TableLastUpdatedStylesNames} from './table-last-updated/TableLastUpdated';\nimport {TableLoading} from './table-loading/TableLoading';\nimport {TableNoData} from './table-no-data/TableNoData';\nimport {TablePagination} from './table-pagination/TablePagination';\nimport {TablePerPage} from './table-per-page/TablePerPage';\nimport {TablePredicate, TablePredicateStylesNames} from './table-predicate/TablePredicate';\nimport {TableState} from './use-table';\n\ntype TableStylesNames =\n | 'root'\n | 'table'\n | 'header'\n | 'body'\n | TableActionsStylesNames\n | TableCollapsibleColumnStylesNames\n | TableDateRangePickerStylesNames\n | TableFilterStylesNames\n | TableHeaderStylesNames\n | TableThStylesNames\n | TableLastUpdatedStylesNames\n | TablePredicateStylesNames\n | TableColumnsSelectorStylesNames;\n\nexport type PlasmaTableFactory = Factory<{\n props: TableProps<unknown>;\n ref: HTMLDivElement;\n stylesNames: TableStylesNames;\n staticComponents: {\n AccordionColumn: typeof TableAccordionColumn;\n Actions: typeof TableActions;\n CollapsibleColumn: typeof TableCollapsibleColumn;\n ColumnsSelector: typeof TableColumnsSelector;\n DateRangePicker: typeof TableDateRangePicker;\n Filter: typeof TableFilter;\n Footer: typeof TableFooter;\n Header: typeof TableHeader;\n LastUpdated: typeof TableLastUpdated;\n Layouts: typeof TableLayouts;\n Loading: typeof TableLoading;\n NoData: typeof TableNoData;\n Pagination: typeof TablePagination;\n PerPage: typeof TablePerPage;\n Predicate: typeof TablePredicate;\n };\n}>;\n\nconst defaultProps: Partial<TableProps<unknown>> = {\n layouts: [TableLayouts.Rows as TableLayout],\n layoutProps: {},\n loading: false,\n additionalRootNodes: [],\n options: {},\n};\n\nexport const Table = <T,>(props: TableProps<T> & {ref?: ForwardedRef<HTMLDivElement>}) => {\n const {\n store,\n data,\n getRowId,\n getExpandChildren,\n columns,\n layouts,\n layoutProps,\n children,\n loading,\n doubleClickAction,\n additionalRootNodes,\n options,\n ref,\n\n // Style props\n style,\n className,\n classNames,\n styles,\n unstyled,\n ...others\n } = useProps('PlasmaTable', defaultProps as TableProps<T>, props);\n\n const getStyles = useStyles<PlasmaTableFactory>({\n name: 'PlasmaTable',\n classes,\n props: props as TableProps<unknown>,\n className,\n style,\n classNames,\n styles,\n unstyled,\n });\n\n const convertedChildren = Children.toArray(children) as ReactElement[];\n const header = convertedChildren.find((child) => child.type === TableHeader);\n const footer = convertedChildren.find((child) => child.type === TableFooter);\n const lastUpdated = convertedChildren.find((child) => child.type === TableLastUpdated);\n const noData = convertedChildren.find((child) => child.type === TableNoData);\n\n const table = useReactTable({\n data,\n state: {\n globalFilter: store.state.globalFilter,\n sorting: store.state.sorting,\n pagination: store.state.pagination,\n columnVisibility: store.state.columnVisibility,\n },\n onGlobalFilterChange: store.setGlobalFilter,\n onSortingChange: store.setSorting,\n onPaginationChange: store.setPagination,\n onColumnVisibilityChange: store.setColumnVisibility,\n columns: store.multiRowSelectionEnabled ? [TableSelectableColumn as ColumnDef<T>].concat(columns) : columns,\n getCoreRowModel: getCoreRowModel(),\n manualPagination: options?.getPaginationRowModel === undefined,\n enableMultiRowSelection: !!store.multiRowSelectionEnabled,\n getRowId,\n getRowCanExpand: (row: Row<T>) => !!getExpandChildren?.(row.original) ?? false,\n enableRowSelection: !loading,\n defaultColumn: {\n size: undefined,\n minSize: defaultColumnSizing.minSize,\n maxSize: defaultColumnSizing.maxSize,\n },\n ...options,\n });\n\n table.setOptions((prev) => ({\n ...prev,\n state: {\n ...prev.state,\n rowSelection: store.state.rowSelection as RowSelectionState,\n },\n onRowSelectionChange: (rowSelectionUpdater) => {\n store.setRowSelection((old) => {\n const newRowSelection = (\n rowSelectionUpdater instanceof Function\n ? rowSelectionUpdater(old as RowSelectionState)\n : rowSelectionUpdater\n ) as TableState<T>['rowSelection'];\n\n if (isEqual(old, newRowSelection)) {\n return old;\n }\n\n const rows = table.getRowModel().rowsById;\n\n Object.keys(newRowSelection).forEach((rowId) => {\n if (newRowSelection[rowId] === true) {\n if (!rows[rowId]) {\n console.error(\n 'The table was not initialized properly, the rowSelection state should contain an object of type Record<string, TData>.',\n );\n }\n newRowSelection[rowId] = rows[rowId]?.original ?? (true as T);\n }\n });\n\n return newRowSelection;\n });\n },\n }));\n\n const containerRef = useRef<HTMLDivElement>();\n useClickOutside(\n () => {\n if (!store.multiRowSelectionEnabled) {\n store.clearRowSelection();\n }\n },\n null,\n [containerRef.current, ...additionalRootNodes],\n );\n const mergedRef = useMergedRef(containerRef, ref);\n\n if (!data) {\n return (\n <Center style={{flexGrow: 1}}>\n <Loader />\n </Center>\n );\n }\n\n const Layout =\n store.state.layout === null ? layouts[0] : layouts.find(({displayName}) => displayName === store.state.layout);\n const hasRows = table.getRowModel().rows.length > 0;\n\n return (\n <Box ref={mergedRef} {...others} {...getStyles('root')}>\n <TableProvider<T> value={{getStyles, store, table, layouts, containerRef}}>\n <Layout>\n {!hasRows && !store.isFiltered && !loading ? (\n noData\n ) : (\n <>\n <Box component=\"table\" {...getStyles('table')} pb=\"sm\">\n <thead {...getStyles('header')}>\n {!!header ? (\n <tr>\n <th style={{padding: 0}} colSpan={table.getAllColumns().length}>\n {header}\n </th>\n </tr>\n ) : null}\n <Layout.Header\n doubleClickAction={doubleClickAction}\n getExpandChildren={getExpandChildren}\n loading={loading}\n {...layoutProps}\n />\n </thead>\n <tbody {...getStyles('body')}>\n {hasRows ? (\n <Layout.Body\n doubleClickAction={doubleClickAction}\n getExpandChildren={getExpandChildren}\n loading={loading}\n {...layoutProps}\n />\n ) : (\n <tr>\n <td colSpan={table.getAllColumns().length}>\n <TableLoading visible={loading}>{noData}</TableLoading>\n </td>\n </tr>\n )}\n </tbody>\n </Box>\n {footer}\n {lastUpdated\n ? cloneElement(lastUpdated, {\n dependencies: [data, ...(lastUpdated.props.dependencies ?? [])],\n })\n : null}\n </>\n )}\n </Layout>\n </TableProvider>\n </Box>\n );\n};\n\nexport const TableComponentsOrder = {\n MultiSelectInfo: 7,\n Actions: 6,\n Predicate: 5,\n Filter: 4,\n DateRangePicker: 3,\n ColumnsSelector: 2,\n LayoutControl: 1,\n};\n\nTable.AccordionColumn = TableAccordionColumn;\nTable.Actions = TableActions;\nTable.CollapsibleColumn = TableCollapsibleColumn;\nTable.ColumnsSelector = TableColumnsSelector;\nTable.DateRangePicker = TableDateRangePicker;\nTable.Filter = TableFilter;\nTable.Footer = TableFooter;\nTable.Header = TableHeader;\nTable.LastUpdated = TableLastUpdated;\nTable.Layouts = TableLayouts;\nTable.Loading = TableLoading;\nTable.NoData = TableNoData;\nTable.Pagination = TablePagination;\nTable.PerPage = TablePerPage;\nTable.Predicate = TablePredicate;\nTable.Predicate = TablePredicate;\n\nTable.extend = identity as CustomComponentThemeExtend<PlasmaTableFactory>;\n"],"names":["Table","TableComponentsOrder","defaultProps","layouts","TableLayouts","Rows","layoutProps","loading","additionalRootNodes","options","props","useProps","store","data","getRowId","getExpandChildren","columns","children","doubleClickAction","ref","style","className","classNames","styles","unstyled","others","getStyles","useStyles","name","classes","convertedChildren","Children","toArray","header","find","child","type","TableHeader","footer","TableFooter","lastUpdated","TableLastUpdated","noData","TableNoData","table","useReactTable","state","globalFilter","sorting","pagination","columnVisibility","onGlobalFilterChange","setGlobalFilter","onSortingChange","setSorting","onPaginationChange","setPagination","onColumnVisibilityChange","setColumnVisibility","multiRowSelectionEnabled","TableSelectableColumn","concat","getCoreRowModel","manualPagination","getPaginationRowModel","undefined","enableMultiRowSelection","getRowCanExpand","row","original","enableRowSelection","defaultColumn","size","minSize","defaultColumnSizing","maxSize","setOptions","prev","rowSelection","onRowSelectionChange","rowSelectionUpdater","setRowSelection","old","newRowSelection","Function","isEqual","rows","getRowModel","rowsById","Object","keys","forEach","rowId","console","error","containerRef","useRef","useClickOutside","clearRowSelection","current","mergedRef","useMergedRef","Center","flexGrow","Loader","Layout","layout","displayName","hasRows","length","Box","TableProvider","value","isFiltered","component","pb","thead","tr","th","padding","colSpan","getAllColumns","Header","tbody","Body","td","TableLoading","visible","cloneElement","dependencies","MultiSelectInfo","Actions","Predicate","Filter","DateRangePicker","ColumnsSelector","LayoutControl","AccordionColumn","TableAccordionColumn","TableActions","CollapsibleColumn","TableCollapsibleColumn","TableColumnsSelector","TableDateRangePicker","TableFilter","Footer","LastUpdated","Layouts","Loading","NoData","Pagination","TablePagination","PerPage","TablePerPage","TablePredicate","extend","identity"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}