@coveord/plasma-mantine 53.1.4 → 54.0.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 (354) hide show
  1. package/.eslintrc.js +1 -5
  2. package/.turbo/turbo-build.log +3 -3
  3. package/.turbo/turbo-test.log +36 -35
  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.d.ts.map +1 -1
  9. package/dist/cjs/components/code-editor/CodeEditor.js +2 -4
  10. package/dist/cjs/components/code-editor/CodeEditor.js.map +1 -1
  11. package/dist/cjs/components/header/__tests__/__snapshots__/Header.spec.tsx.snap +0 -5
  12. package/dist/cjs/components/inline-confirm/InlineConfirm.d.ts +10 -2
  13. package/dist/cjs/components/inline-confirm/InlineConfirm.d.ts.map +1 -1
  14. package/dist/cjs/components/inline-confirm/InlineConfirm.js +2 -1
  15. package/dist/cjs/components/inline-confirm/InlineConfirm.js.map +1 -1
  16. package/dist/cjs/components/inline-confirm/InlineConfirmPrompt.d.ts +2 -5
  17. package/dist/cjs/components/inline-confirm/InlineConfirmPrompt.d.ts.map +1 -1
  18. package/dist/cjs/components/inline-confirm/InlineConfirmPrompt.js +5 -5
  19. package/dist/cjs/components/inline-confirm/InlineConfirmPrompt.js.map +1 -1
  20. package/dist/cjs/components/inline-confirm/InlineConfirmTarget.d.ts +2 -2
  21. package/dist/cjs/components/inline-confirm/InlineConfirmTarget.d.ts.map +1 -1
  22. package/dist/cjs/components/inline-confirm/InlineConfirmTarget.js +3 -3
  23. package/dist/cjs/components/inline-confirm/InlineConfirmTarget.js.map +1 -1
  24. package/dist/cjs/components/table/Table.d.ts +68 -55
  25. package/dist/cjs/components/table/Table.d.ts.map +1 -1
  26. package/dist/cjs/components/table/Table.js +129 -174
  27. package/dist/cjs/components/table/Table.js.map +1 -1
  28. package/dist/cjs/components/table/Table.module.css +8 -1
  29. package/dist/cjs/components/table/Table.types.d.ts +52 -147
  30. package/dist/cjs/components/table/Table.types.d.ts.map +1 -1
  31. package/dist/cjs/components/table/TableContext.d.ts +15 -10
  32. package/dist/cjs/components/table/TableContext.d.ts.map +1 -1
  33. package/dist/cjs/components/table/TableContext.js +5 -20
  34. package/dist/cjs/components/table/TableContext.js.map +1 -1
  35. package/dist/cjs/components/table/index.d.ts +3 -3
  36. package/dist/cjs/components/table/index.d.ts.map +1 -1
  37. package/dist/cjs/components/table/index.js +5 -1
  38. package/dist/cjs/components/table/index.js.map +1 -1
  39. package/dist/cjs/components/table/layouts/TableLayoutControl.js +6 -6
  40. package/dist/cjs/components/table/layouts/TableLayoutControl.js.map +1 -1
  41. package/dist/cjs/components/table/layouts/TableLayouts.d.ts +1 -22
  42. package/dist/cjs/components/table/layouts/TableLayouts.d.ts.map +1 -1
  43. package/dist/cjs/components/table/layouts/TableLayouts.js.map +1 -1
  44. package/dist/cjs/components/table/layouts/row-layout/RowLayout.d.ts +1 -2
  45. package/dist/cjs/components/table/layouts/row-layout/RowLayout.d.ts.map +1 -1
  46. package/dist/cjs/components/table/layouts/row-layout/RowLayout.js.map +1 -1
  47. package/dist/cjs/components/table/layouts/row-layout/RowLayoutBody.d.ts +2 -3
  48. package/dist/cjs/components/table/layouts/row-layout/RowLayoutBody.d.ts.map +1 -1
  49. package/dist/cjs/components/table/layouts/row-layout/RowLayoutBody.js +17 -18
  50. package/dist/cjs/components/table/layouts/row-layout/RowLayoutBody.js.map +1 -1
  51. package/dist/cjs/components/table/layouts/row-layout/RowLayoutHeader.d.ts +2 -3
  52. package/dist/cjs/components/table/layouts/row-layout/RowLayoutHeader.d.ts.map +1 -1
  53. package/dist/cjs/components/table/layouts/row-layout/RowLayoutHeader.js +9 -8
  54. package/dist/cjs/components/table/layouts/row-layout/RowLayoutHeader.js.map +1 -1
  55. package/dist/cjs/components/table/layouts/row-layout/RowLayoutIcon.d.ts +1 -5
  56. package/dist/cjs/components/table/layouts/row-layout/RowLayoutIcon.d.ts.map +1 -1
  57. package/dist/cjs/components/table/layouts/row-layout/RowLayoutIcon.js +3 -9
  58. package/dist/cjs/components/table/layouts/row-layout/RowLayoutIcon.js.map +1 -1
  59. package/dist/cjs/components/table/table-actions/TableActionContext.d.ts +9 -0
  60. package/dist/cjs/components/table/table-actions/TableActionContext.d.ts.map +1 -0
  61. package/dist/cjs/components/table/table-actions/TableActionContext.js +24 -0
  62. package/dist/cjs/components/table/table-actions/TableActionContext.js.map +1 -0
  63. package/dist/cjs/components/table/table-actions/TableActionItem.d.ts +44 -0
  64. package/dist/cjs/components/table/table-actions/TableActionItem.d.ts.map +1 -0
  65. package/dist/cjs/components/table/table-actions/TableActionItem.js +59 -0
  66. package/dist/cjs/components/table/table-actions/TableActionItem.js.map +1 -0
  67. package/dist/cjs/components/table/table-actions/TableActionsList.d.ts +37 -0
  68. package/dist/cjs/components/table/table-actions/TableActionsList.d.ts.map +1 -0
  69. package/dist/cjs/components/table/table-actions/TableActionsList.js +217 -0
  70. package/dist/cjs/components/table/table-actions/TableActionsList.js.map +1 -0
  71. package/dist/cjs/components/table/table-actions/TableHeaderActions.d.ts +11 -0
  72. package/dist/cjs/components/table/table-actions/TableHeaderActions.d.ts.map +1 -0
  73. package/dist/cjs/components/table/table-actions/TableHeaderActions.js +59 -0
  74. package/dist/cjs/components/table/table-actions/TableHeaderActions.js.map +1 -0
  75. package/dist/cjs/components/table/table-actions/index.d.ts +3 -0
  76. package/dist/cjs/components/table/table-actions/index.d.ts.map +1 -0
  77. package/dist/cjs/components/table/table-actions/index.js +9 -0
  78. package/dist/cjs/components/table/table-actions/index.js.map +1 -0
  79. package/dist/cjs/components/table/table-column/TableActionsColumn.d.ts +6 -0
  80. package/dist/cjs/components/table/table-column/TableActionsColumn.d.ts.map +1 -0
  81. package/dist/cjs/components/table/table-column/TableActionsColumn.js +53 -0
  82. package/dist/cjs/components/table/table-column/TableActionsColumn.js.map +1 -0
  83. package/dist/cjs/components/table/table-column/TableCollapsibleColumn.d.ts.map +1 -1
  84. package/dist/cjs/components/table/table-column/TableCollapsibleColumn.js +6 -2
  85. package/dist/cjs/components/table/table-column/TableCollapsibleColumn.js.map +1 -1
  86. package/dist/cjs/components/table/table-column/TableSelectableColumn.d.ts.map +1 -1
  87. package/dist/cjs/components/table/table-column/TableSelectableColumn.js +4 -0
  88. package/dist/cjs/components/table/table-column/TableSelectableColumn.js.map +1 -1
  89. package/dist/cjs/components/table/table-columns-selector/TableColumnsSelector.d.ts +7 -12
  90. package/dist/cjs/components/table/table-columns-selector/TableColumnsSelector.d.ts.map +1 -1
  91. package/dist/cjs/components/table/table-columns-selector/TableColumnsSelector.js +24 -20
  92. package/dist/cjs/components/table/table-columns-selector/TableColumnsSelector.js.map +1 -1
  93. package/dist/cjs/components/table/table-date-range-picker/TableDateRangePicker.d.ts +1 -2
  94. package/dist/cjs/components/table/table-date-range-picker/TableDateRangePicker.d.ts.map +1 -1
  95. package/dist/cjs/components/table/table-date-range-picker/TableDateRangePicker.js +7 -7
  96. package/dist/cjs/components/table/table-date-range-picker/TableDateRangePicker.js.map +1 -1
  97. package/dist/cjs/components/table/table-filter/TableFilter.d.ts +1 -2
  98. package/dist/cjs/components/table/table-filter/TableFilter.d.ts.map +1 -1
  99. package/dist/cjs/components/table/table-filter/TableFilter.js +11 -16
  100. package/dist/cjs/components/table/table-filter/TableFilter.js.map +1 -1
  101. package/dist/cjs/components/table/table-header/TableHeader.d.ts +7 -2
  102. package/dist/cjs/components/table/table-header/TableHeader.d.ts.map +1 -1
  103. package/dist/cjs/components/table/table-header/TableHeader.js +15 -12
  104. package/dist/cjs/components/table/table-header/TableHeader.js.map +1 -1
  105. package/dist/cjs/components/table/table-header/Th.d.ts +1 -2
  106. package/dist/cjs/components/table/table-header/Th.d.ts.map +1 -1
  107. package/dist/cjs/components/table/table-header/Th.js +7 -3
  108. package/dist/cjs/components/table/table-header/Th.js.map +1 -1
  109. package/dist/cjs/components/table/table-last-updated/TableLastUpdated.d.ts +1 -3
  110. package/dist/cjs/components/table/table-last-updated/TableLastUpdated.d.ts.map +1 -1
  111. package/dist/cjs/components/table/table-last-updated/TableLastUpdated.js +6 -9
  112. package/dist/cjs/components/table/table-last-updated/TableLastUpdated.js.map +1 -1
  113. package/dist/cjs/components/table/table-no-data/TableNoData.d.ts +6 -0
  114. package/dist/cjs/components/table/table-no-data/TableNoData.d.ts.map +1 -0
  115. package/dist/cjs/components/table/{table-consumer/TableConsumer.js → table-no-data/TableNoData.js} +4 -4
  116. package/dist/cjs/components/table/table-no-data/TableNoData.js.map +1 -0
  117. package/dist/cjs/components/table/table-pagination/TablePagination.d.ts.map +1 -1
  118. package/dist/cjs/components/table/table-pagination/TablePagination.js +9 -11
  119. package/dist/cjs/components/table/table-pagination/TablePagination.js.map +1 -1
  120. package/dist/cjs/components/table/table-pagination/TablePagination.types.d.ts +0 -4
  121. package/dist/cjs/components/table/table-pagination/TablePagination.types.d.ts.map +1 -1
  122. package/dist/cjs/components/table/table-per-page/TablePerPage.d.ts.map +1 -1
  123. package/dist/cjs/components/table/table-per-page/TablePerPage.js +16 -16
  124. package/dist/cjs/components/table/table-per-page/TablePerPage.js.map +1 -1
  125. package/dist/cjs/components/table/table-predicate/TablePredicate.d.ts +1 -2
  126. package/dist/cjs/components/table/table-predicate/TablePredicate.d.ts.map +1 -1
  127. package/dist/cjs/components/table/table-predicate/TablePredicate.js +12 -14
  128. package/dist/cjs/components/table/table-predicate/TablePredicate.js.map +1 -1
  129. package/dist/cjs/components/table/use-table.d.ts +182 -0
  130. package/dist/cjs/components/table/use-table.d.ts.map +1 -0
  131. package/dist/cjs/components/table/use-table.js +145 -0
  132. package/dist/cjs/components/table/use-table.js.map +1 -0
  133. package/dist/cjs/index.d.ts +11 -1
  134. package/dist/cjs/index.d.ts.map +1 -1
  135. package/dist/cjs/index.js.map +1 -1
  136. package/dist/cjs/theme/Theme.d.ts.map +1 -1
  137. package/dist/cjs/theme/Theme.js +0 -1
  138. package/dist/cjs/theme/Theme.js.map +1 -1
  139. package/dist/esm/components/button/Button.d.ts +1 -2
  140. package/dist/esm/components/button/Button.d.ts.map +1 -1
  141. package/dist/esm/components/button/Button.js.map +1 -1
  142. package/dist/esm/components/code-editor/CodeEditor.d.ts.map +1 -1
  143. package/dist/esm/components/code-editor/CodeEditor.js +2 -4
  144. package/dist/esm/components/code-editor/CodeEditor.js.map +1 -1
  145. package/dist/esm/components/header/__tests__/__snapshots__/Header.spec.tsx.snap +0 -5
  146. package/dist/esm/components/inline-confirm/InlineConfirm.d.ts +10 -2
  147. package/dist/esm/components/inline-confirm/InlineConfirm.d.ts.map +1 -1
  148. package/dist/esm/components/inline-confirm/InlineConfirm.js +1 -1
  149. package/dist/esm/components/inline-confirm/InlineConfirm.js.map +1 -1
  150. package/dist/esm/components/inline-confirm/InlineConfirmPrompt.d.ts +2 -5
  151. package/dist/esm/components/inline-confirm/InlineConfirmPrompt.d.ts.map +1 -1
  152. package/dist/esm/components/inline-confirm/InlineConfirmPrompt.js +4 -4
  153. package/dist/esm/components/inline-confirm/InlineConfirmPrompt.js.map +1 -1
  154. package/dist/esm/components/inline-confirm/InlineConfirmTarget.d.ts +2 -2
  155. package/dist/esm/components/inline-confirm/InlineConfirmTarget.d.ts.map +1 -1
  156. package/dist/esm/components/inline-confirm/InlineConfirmTarget.js +2 -2
  157. package/dist/esm/components/inline-confirm/InlineConfirmTarget.js.map +1 -1
  158. package/dist/esm/components/table/Table.d.ts +68 -55
  159. package/dist/esm/components/table/Table.d.ts.map +1 -1
  160. package/dist/esm/components/table/Table.js +122 -157
  161. package/dist/esm/components/table/Table.js.map +1 -1
  162. package/dist/esm/components/table/Table.module.css +8 -1
  163. package/dist/esm/components/table/Table.types.d.ts +52 -147
  164. package/dist/esm/components/table/Table.types.d.ts.map +1 -1
  165. package/dist/esm/components/table/Table.types.js.map +1 -1
  166. package/dist/esm/components/table/TableContext.d.ts +15 -10
  167. package/dist/esm/components/table/TableContext.d.ts.map +1 -1
  168. package/dist/esm/components/table/TableContext.js +1 -10
  169. package/dist/esm/components/table/TableContext.js.map +1 -1
  170. package/dist/esm/components/table/index.d.ts +3 -3
  171. package/dist/esm/components/table/index.d.ts.map +1 -1
  172. package/dist/esm/components/table/index.js +2 -1
  173. package/dist/esm/components/table/index.js.map +1 -1
  174. package/dist/esm/components/table/layouts/TableLayoutControl.js +4 -4
  175. package/dist/esm/components/table/layouts/TableLayoutControl.js.map +1 -1
  176. package/dist/esm/components/table/layouts/TableLayouts.d.ts +1 -22
  177. package/dist/esm/components/table/layouts/TableLayouts.d.ts.map +1 -1
  178. package/dist/esm/components/table/layouts/TableLayouts.js.map +1 -1
  179. package/dist/esm/components/table/layouts/row-layout/RowLayout.d.ts +1 -2
  180. package/dist/esm/components/table/layouts/row-layout/RowLayout.d.ts.map +1 -1
  181. package/dist/esm/components/table/layouts/row-layout/RowLayout.js.map +1 -1
  182. package/dist/esm/components/table/layouts/row-layout/RowLayoutBody.d.ts +2 -3
  183. package/dist/esm/components/table/layouts/row-layout/RowLayoutBody.d.ts.map +1 -1
  184. package/dist/esm/components/table/layouts/row-layout/RowLayoutBody.js +13 -11
  185. package/dist/esm/components/table/layouts/row-layout/RowLayoutBody.js.map +1 -1
  186. package/dist/esm/components/table/layouts/row-layout/RowLayoutHeader.d.ts +2 -3
  187. package/dist/esm/components/table/layouts/row-layout/RowLayoutHeader.d.ts.map +1 -1
  188. package/dist/esm/components/table/layouts/row-layout/RowLayoutHeader.js +5 -5
  189. package/dist/esm/components/table/layouts/row-layout/RowLayoutHeader.js.map +1 -1
  190. package/dist/esm/components/table/layouts/row-layout/RowLayoutIcon.d.ts +1 -5
  191. package/dist/esm/components/table/layouts/row-layout/RowLayoutIcon.d.ts.map +1 -1
  192. package/dist/esm/components/table/layouts/row-layout/RowLayoutIcon.js +2 -8
  193. package/dist/esm/components/table/layouts/row-layout/RowLayoutIcon.js.map +1 -1
  194. package/dist/esm/components/table/table-actions/TableActionContext.d.ts +9 -0
  195. package/dist/esm/components/table/table-actions/TableActionContext.d.ts.map +1 -0
  196. package/dist/esm/components/table/table-actions/TableActionContext.js +4 -0
  197. package/dist/esm/components/table/table-actions/TableActionContext.js.map +1 -0
  198. package/dist/esm/components/table/table-actions/TableActionItem.d.ts +44 -0
  199. package/dist/esm/components/table/table-actions/TableActionItem.d.ts.map +1 -0
  200. package/dist/esm/components/table/table-actions/TableActionItem.js +40 -0
  201. package/dist/esm/components/table/table-actions/TableActionItem.js.map +1 -0
  202. package/dist/esm/components/table/table-actions/TableActionsList.d.ts +37 -0
  203. package/dist/esm/components/table/table-actions/TableActionsList.d.ts.map +1 -0
  204. package/dist/esm/components/table/table-actions/TableActionsList.js +187 -0
  205. package/dist/esm/components/table/table-actions/TableActionsList.js.map +1 -0
  206. package/dist/esm/components/table/table-actions/TableHeaderActions.d.ts +11 -0
  207. package/dist/esm/components/table/table-actions/TableHeaderActions.d.ts.map +1 -0
  208. package/dist/esm/components/table/table-actions/TableHeaderActions.js +43 -0
  209. package/dist/esm/components/table/table-actions/TableHeaderActions.js.map +1 -0
  210. package/dist/esm/components/table/table-actions/index.d.ts +3 -0
  211. package/dist/esm/components/table/table-actions/index.d.ts.map +1 -0
  212. package/dist/esm/components/table/table-actions/index.js +4 -0
  213. package/dist/esm/components/table/table-actions/index.js.map +1 -0
  214. package/dist/esm/components/table/table-column/TableActionsColumn.d.ts +6 -0
  215. package/dist/esm/components/table/table-column/TableActionsColumn.d.ts.map +1 -0
  216. package/dist/esm/components/table/table-column/TableActionsColumn.js +40 -0
  217. package/dist/esm/components/table/table-column/TableActionsColumn.js.map +1 -0
  218. package/dist/esm/components/table/table-column/TableCollapsibleColumn.d.ts.map +1 -1
  219. package/dist/esm/components/table/table-column/TableCollapsibleColumn.js +7 -3
  220. package/dist/esm/components/table/table-column/TableCollapsibleColumn.js.map +1 -1
  221. package/dist/esm/components/table/table-column/TableSelectableColumn.d.ts.map +1 -1
  222. package/dist/esm/components/table/table-column/TableSelectableColumn.js +4 -0
  223. package/dist/esm/components/table/table-column/TableSelectableColumn.js.map +1 -1
  224. package/dist/esm/components/table/table-columns-selector/TableColumnsSelector.d.ts +7 -12
  225. package/dist/esm/components/table/table-columns-selector/TableColumnsSelector.d.ts.map +1 -1
  226. package/dist/esm/components/table/table-columns-selector/TableColumnsSelector.js +22 -20
  227. package/dist/esm/components/table/table-columns-selector/TableColumnsSelector.js.map +1 -1
  228. package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.d.ts +1 -2
  229. package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.d.ts.map +1 -1
  230. package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.js +8 -8
  231. package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.js.map +1 -1
  232. package/dist/esm/components/table/table-filter/TableFilter.d.ts +1 -2
  233. package/dist/esm/components/table/table-filter/TableFilter.d.ts.map +1 -1
  234. package/dist/esm/components/table/table-filter/TableFilter.js +14 -18
  235. package/dist/esm/components/table/table-filter/TableFilter.js.map +1 -1
  236. package/dist/esm/components/table/table-header/TableHeader.d.ts +7 -2
  237. package/dist/esm/components/table/table-header/TableHeader.d.ts.map +1 -1
  238. package/dist/esm/components/table/table-header/TableHeader.js +15 -13
  239. package/dist/esm/components/table/table-header/TableHeader.js.map +1 -1
  240. package/dist/esm/components/table/table-header/Th.d.ts +1 -2
  241. package/dist/esm/components/table/table-header/Th.d.ts.map +1 -1
  242. package/dist/esm/components/table/table-header/Th.js +8 -4
  243. package/dist/esm/components/table/table-header/Th.js.map +1 -1
  244. package/dist/esm/components/table/table-last-updated/TableLastUpdated.d.ts +1 -3
  245. package/dist/esm/components/table/table-last-updated/TableLastUpdated.d.ts.map +1 -1
  246. package/dist/esm/components/table/table-last-updated/TableLastUpdated.js +6 -8
  247. package/dist/esm/components/table/table-last-updated/TableLastUpdated.js.map +1 -1
  248. package/dist/esm/components/table/table-no-data/TableNoData.d.ts +6 -0
  249. package/dist/esm/components/table/table-no-data/TableNoData.d.ts.map +1 -0
  250. package/dist/esm/components/table/table-no-data/TableNoData.js +6 -0
  251. package/dist/esm/components/table/table-no-data/TableNoData.js.map +1 -0
  252. package/dist/esm/components/table/table-pagination/TablePagination.d.ts.map +1 -1
  253. package/dist/esm/components/table/table-pagination/TablePagination.js +10 -13
  254. package/dist/esm/components/table/table-pagination/TablePagination.js.map +1 -1
  255. package/dist/esm/components/table/table-pagination/TablePagination.types.d.ts +0 -4
  256. package/dist/esm/components/table/table-pagination/TablePagination.types.d.ts.map +1 -1
  257. package/dist/esm/components/table/table-pagination/TablePagination.types.js.map +1 -1
  258. package/dist/esm/components/table/table-per-page/TablePerPage.d.ts.map +1 -1
  259. package/dist/esm/components/table/table-per-page/TablePerPage.js +13 -12
  260. package/dist/esm/components/table/table-per-page/TablePerPage.js.map +1 -1
  261. package/dist/esm/components/table/table-predicate/TablePredicate.d.ts +1 -2
  262. package/dist/esm/components/table/table-predicate/TablePredicate.d.ts.map +1 -1
  263. package/dist/esm/components/table/table-predicate/TablePredicate.js +14 -18
  264. package/dist/esm/components/table/table-predicate/TablePredicate.js.map +1 -1
  265. package/dist/esm/components/table/use-table.d.ts +182 -0
  266. package/dist/esm/components/table/use-table.d.ts.map +1 -0
  267. package/dist/esm/components/table/use-table.js +122 -0
  268. package/dist/esm/components/table/use-table.js.map +1 -0
  269. package/dist/esm/index.d.ts +11 -1
  270. package/dist/esm/index.d.ts.map +1 -1
  271. package/dist/esm/index.js.map +1 -1
  272. package/dist/esm/theme/Theme.d.ts.map +1 -1
  273. package/dist/esm/theme/Theme.js +0 -1
  274. package/dist/esm/theme/Theme.js.map +1 -1
  275. package/package.json +36 -22
  276. package/src/__tests__/Utils.tsx +3 -1
  277. package/src/components/button/Button.tsx +3 -1
  278. package/src/components/code-editor/CodeEditor.tsx +1 -7
  279. package/src/components/header/__tests__/__snapshots__/Header.spec.tsx.snap +0 -5
  280. package/src/components/inline-confirm/InlineConfirm.tsx +12 -4
  281. package/src/components/inline-confirm/InlineConfirmPrompt.tsx +6 -9
  282. package/src/components/inline-confirm/InlineConfirmTarget.tsx +9 -4
  283. package/src/components/inline-confirm/__tests__/InlineConfirm.spec.tsx +37 -12
  284. package/src/components/table/Table.module.css +8 -1
  285. package/src/components/table/Table.tsx +148 -170
  286. package/src/components/table/Table.types.ts +57 -160
  287. package/src/components/table/TableContext.tsx +17 -16
  288. package/src/components/table/__tests__/Table.spec.tsx +176 -200
  289. package/src/components/table/__tests__/TableActions.spec.tsx +142 -31
  290. package/src/components/table/__tests__/TableCollapsibleColumn.spec.tsx +88 -0
  291. package/src/components/table/__tests__/TableColumnsSelector.spec.tsx +160 -119
  292. package/src/components/table/__tests__/TableDateRangePicker.spec.tsx +13 -17
  293. package/src/components/table/__tests__/TableFilter.spec.tsx +52 -96
  294. package/src/components/table/__tests__/TableLastUpdated.spec.tsx +18 -37
  295. package/src/components/table/__tests__/TablePagination.spec.tsx +84 -100
  296. package/src/components/table/__tests__/TablePerPage.spec.tsx +81 -104
  297. package/src/components/table/__tests__/TablePredicate.spec.tsx +26 -80
  298. package/src/components/table/__tests__/Th.spec.tsx +24 -19
  299. package/src/components/table/index.ts +3 -9
  300. package/src/components/table/layouts/TableLayoutControl.tsx +4 -4
  301. package/src/components/table/layouts/TableLayouts.tsx +0 -22
  302. package/src/components/table/layouts/__tests__/RowLayout.spec.tsx +210 -182
  303. package/src/components/table/layouts/row-layout/RowLayout.tsx +2 -2
  304. package/src/components/table/layouts/row-layout/RowLayoutBody.tsx +17 -17
  305. package/src/components/table/layouts/row-layout/RowLayoutHeader.tsx +18 -9
  306. package/src/components/table/layouts/row-layout/RowLayoutIcon.tsx +3 -8
  307. package/src/components/table/table-actions/TableActionContext.ts +9 -0
  308. package/src/components/table/table-actions/TableActionItem.tsx +80 -0
  309. package/src/components/table/table-actions/TableActionsList.tsx +209 -0
  310. package/src/components/table/table-actions/TableHeaderActions.tsx +56 -0
  311. package/src/components/table/table-actions/index.ts +2 -0
  312. package/src/components/table/table-column/TableActionsColumn.tsx +39 -0
  313. package/src/components/table/table-column/TableCollapsibleColumn.tsx +7 -3
  314. package/src/components/table/table-column/TableSelectableColumn.tsx +4 -0
  315. package/src/components/table/table-columns-selector/TableColumnsSelector.tsx +33 -28
  316. package/src/components/table/table-date-range-picker/TableDateRangePicker.tsx +9 -11
  317. package/src/components/table/table-filter/TableFilter.tsx +12 -18
  318. package/src/components/table/table-header/TableHeader.tsx +32 -15
  319. package/src/components/table/table-header/Th.tsx +8 -7
  320. package/src/components/table/table-last-updated/TableLastUpdated.tsx +7 -10
  321. package/src/components/table/table-no-data/TableNoData.tsx +7 -0
  322. package/src/components/table/table-pagination/TablePagination.tsx +8 -11
  323. package/src/components/table/table-pagination/TablePagination.types.ts +0 -4
  324. package/src/components/table/table-per-page/TablePerPage.tsx +8 -10
  325. package/src/components/table/table-predicate/TablePredicate.tsx +21 -17
  326. package/src/components/table/use-table.ts +323 -0
  327. package/src/index.ts +11 -1
  328. package/src/theme/Theme.tsx +0 -1
  329. package/dist/cjs/components/table/table-actions/TableActions.d.ts +0 -38
  330. package/dist/cjs/components/table/table-actions/TableActions.d.ts.map +0 -1
  331. package/dist/cjs/components/table/table-actions/TableActions.js +0 -47
  332. package/dist/cjs/components/table/table-actions/TableActions.js.map +0 -1
  333. package/dist/cjs/components/table/table-consumer/TableConsumer.d.ts +0 -5
  334. package/dist/cjs/components/table/table-consumer/TableConsumer.d.ts.map +0 -1
  335. package/dist/cjs/components/table/table-consumer/TableConsumer.js.map +0 -1
  336. package/dist/cjs/hooks/useRowSelection.d.ts +0 -10
  337. package/dist/cjs/hooks/useRowSelection.d.ts.map +0 -1
  338. package/dist/cjs/hooks/useRowSelection.js +0 -80
  339. package/dist/cjs/hooks/useRowSelection.js.map +0 -1
  340. package/dist/esm/components/table/table-actions/TableActions.d.ts +0 -38
  341. package/dist/esm/components/table/table-actions/TableActions.d.ts.map +0 -1
  342. package/dist/esm/components/table/table-actions/TableActions.js +0 -29
  343. package/dist/esm/components/table/table-actions/TableActions.js.map +0 -1
  344. package/dist/esm/components/table/table-consumer/TableConsumer.d.ts +0 -5
  345. package/dist/esm/components/table/table-consumer/TableConsumer.d.ts.map +0 -1
  346. package/dist/esm/components/table/table-consumer/TableConsumer.js +0 -6
  347. package/dist/esm/components/table/table-consumer/TableConsumer.js.map +0 -1
  348. package/dist/esm/hooks/useRowSelection.d.ts +0 -10
  349. package/dist/esm/hooks/useRowSelection.d.ts.map +0 -1
  350. package/dist/esm/hooks/useRowSelection.js +0 -59
  351. package/dist/esm/hooks/useRowSelection.js.map +0 -1
  352. package/src/components/table/table-actions/TableActions.tsx +0 -67
  353. package/src/components/table/table-consumer/TableConsumer.tsx +0 -3
  354. package/src/hooks/useRowSelection.ts +0 -76
@@ -16,67 +16,63 @@ _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
- var _TableActions = require("./table-actions/TableActions");
35
+ var _tableactions = require("./table-actions");
36
+ var _TableActionsColumn = require("./table-column/TableActionsColumn");
37
37
  var _TableCollapsibleColumn = require("./table-column/TableCollapsibleColumn");
38
38
  var _TableSelectableColumn = require("./table-column/TableSelectableColumn");
39
39
  var _TableColumnsSelector = require("./table-columns-selector/TableColumnsSelector");
40
- var _TableConsumer = require("./table-consumer/TableConsumer");
41
40
  var _TableDateRangePicker = require("./table-date-range-picker/TableDateRangePicker");
42
41
  var _TableFilter = require("./table-filter/TableFilter");
43
42
  var _TableFooter = require("./table-footer/TableFooter");
44
43
  var _TableHeader = require("./table-header/TableHeader");
45
44
  var _TableLastUpdated = require("./table-last-updated/TableLastUpdated");
46
45
  var _TableLoading = require("./table-loading/TableLoading");
46
+ var _TableNoData = require("./table-no-data/TableNoData");
47
47
  var _TablePagination = require("./table-pagination/TablePagination");
48
48
  var _TablePerPage = require("./table-per-page/TablePerPage");
49
49
  var _TablePredicate = require("./table-predicate/TablePredicate");
50
- var _Tablemodulecss = /*#__PURE__*/ _interop_require_default._(require("./Table.module.css"));
51
- var _TableContext = require("./TableContext");
52
50
  var defaultProps = {
53
51
  layouts: [
54
52
  _TableLayouts.TableLayouts.Rows
55
53
  ],
54
+ layoutProps: {},
56
55
  loading: false,
57
- multiRowSelectionEnabled: false,
58
- initialState: {},
59
- options: {}
56
+ additionalRootNodes: [],
57
+ options: {},
58
+ getRowActions: function() {
59
+ return [];
60
+ }
60
61
  };
61
62
  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
63
+ var _useProps = (0, _core.useProps)('PlasmaTable', defaultProps, props), store = _useProps.store, data = _useProps.data, getRowId = _useProps.getRowId, getRowAttributes = _useProps.getRowAttributes, getRowExpandedContent = _useProps.getRowExpandedContent, getRowActions = _useProps.getRowActions, columns = _useProps.columns, layouts = _useProps.layouts, layoutProps = _useProps.layoutProps, children = _useProps.children, loading = _useProps.loading, additionalRootNodes = _useProps.additionalRootNodes, options = _useProps.options, ref = _useProps.ref, // Style props
64
64
  style = _useProps.style, className = _useProps.className, classNames = _useProps.classNames, styles = _useProps.styles, unstyled = _useProps.unstyled, others = _object_without_properties._(_useProps, [
65
+ "store",
65
66
  "data",
66
67
  "getRowId",
67
- "noDataChildren",
68
- "getExpandChildren",
69
- "initialState",
68
+ "getRowAttributes",
69
+ "getRowExpandedContent",
70
+ "getRowActions",
70
71
  "columns",
71
72
  "layouts",
72
- "onMount",
73
- "onChange",
73
+ "layoutProps",
74
74
  "children",
75
75
  "loading",
76
- "doubleClickAction",
77
- "multiRowSelectionEnabled",
78
- "disableRowSelection",
79
- "onRowSelectionChange",
80
76
  "additionalRootNodes",
81
77
  "options",
82
78
  "ref",
@@ -103,101 +99,81 @@ var Table = function(props) {
103
99
  var footer = convertedChildren.find(function(child) {
104
100
  return child.type === _TableFooter.TableFooter;
105
101
  });
106
- var consumer = convertedChildren.find(function(child) {
107
- return child.type === _TableConsumer.TableConsumer;
108
- });
109
102
  var lastUpdated = convertedChildren.find(function(child) {
110
103
  return child.type === _TableLastUpdated.TableLastUpdated;
111
104
  });
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
- }
105
+ var noData = convertedChildren.find(function(child) {
106
+ return child.type === _TableNoData.TableNoData;
126
107
  });
127
108
  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
109
  data: data,
135
- columns: multiRowSelectionEnabled ? [
110
+ state: {
111
+ globalFilter: store.state.globalFilter,
112
+ sorting: store.state.sorting,
113
+ pagination: store.state.pagination,
114
+ columnVisibility: store.state.columnVisibility,
115
+ expanded: store.state.expanded
116
+ },
117
+ onGlobalFilterChange: store.setGlobalFilter,
118
+ onExpandedChange: store.setExpanded,
119
+ onSortingChange: store.setSorting,
120
+ onPaginationChange: store.setPagination,
121
+ onColumnVisibilityChange: store.setColumnVisibility,
122
+ columns: store.multiRowSelectionEnabled ? [
136
123
  _TableSelectableColumn.TableSelectableColumn
137
124
  ].concat(columns) : columns,
138
125
  getCoreRowModel: (0, _reacttable.getCoreRowModel)(),
139
126
  manualPagination: (options === null || options === void 0 ? void 0 : options.getPaginationRowModel) === undefined,
140
- enableMultiRowSelection: !!multiRowSelectionEnabled,
127
+ enableMultiRowSelection: !!store.multiRowSelectionEnabled,
141
128
  getRowId: getRowId,
142
129
  getRowCanExpand: function(row) {
143
130
  var _ref;
144
- return (_ref = !!(getExpandChildren === null || getExpandChildren === void 0 ? void 0 : getExpandChildren(row.original))) !== null && _ref !== void 0 ? _ref : false;
131
+ return (_ref = !!(getRowExpandedContent === null || getRowExpandedContent === void 0 ? void 0 : getRowExpandedContent(row.original, row.index, row))) !== null && _ref !== void 0 ? _ref : false;
145
132
  },
146
133
  enableRowSelection: !loading,
147
134
  defaultColumn: {
148
135
  size: undefined,
149
136
  minSize: _reacttable.defaultColumnSizing.minSize,
150
137
  maxSize: _reacttable.defaultColumnSizing.maxSize
151
- }
138
+ },
139
+ rowCount: (options === null || options === void 0 ? void 0 : options.getFilteredRowModel) ? undefined : store.state.totalEntries
152
140
  }, 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
141
  table.setOptions(function(prev) {
156
142
  return _object_spread_props._(_object_spread._({}, prev), {
157
- state: state,
158
- onStateChange: setState
143
+ state: _object_spread_props._(_object_spread._({}, prev.state), {
144
+ rowSelection: store.state.rowSelection
145
+ }),
146
+ onRowSelectionChange: function(rowSelectionUpdater) {
147
+ store.setRowSelection(function(old) {
148
+ var newRowSelection = _instanceof._(rowSelectionUpdater, Function) ? rowSelectionUpdater(old) : rowSelectionUpdater;
149
+ if ((0, _fastdeepequal.default)(old, newRowSelection)) {
150
+ return old;
151
+ }
152
+ var rows = table.getRowModel().rowsById;
153
+ Object.keys(newRowSelection).forEach(function(rowId) {
154
+ if (newRowSelection[rowId] === true) {
155
+ var _rows_rowId;
156
+ if (!rows[rowId]) {
157
+ console.error('The table was not initialized properly, the rowSelection state should contain an object of type Record<string, TData>.');
158
+ }
159
+ var _rows_rowId_original;
160
+ 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;
161
+ }
162
+ });
163
+ return newRowSelection;
164
+ });
165
+ }
159
166
  });
160
167
  });
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();
168
+ var containerRef = (0, _react.useRef)();
169
+ (0, _hooks.useClickOutside)(function() {
170
+ if (!store.multiRowSelectionEnabled) {
171
+ store.clearRowSelection();
184
172
  }
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
- }, []);
173
+ }, null, [
174
+ containerRef.current
175
+ ].concat(_to_consumable_array._(additionalRootNodes)));
176
+ var mergedRef = (0, _hooks.useMergedRef)(containerRef, ref);
201
177
  if (!data) {
202
178
  return /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Center, {
203
179
  style: {
@@ -206,92 +182,71 @@ var Table = function(props) {
206
182
  children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Loader, {})
207
183
  });
208
184
  }
209
- var Layout = layouts.find(function(param) {
185
+ var Layout = store.state.layout === null ? layouts[0] : layouts.find(function(param) {
210
186
  var displayName = param.displayName;
211
- return displayName === form.values.layout;
187
+ return displayName === store.state.layout;
212
188
  });
213
189
  var hasRows = table.getRowModel().rows.length > 0;
214
- var _lastUpdated_props_dependencies;
215
190
  return /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Box, _object_spread_props._(_object_spread._({
216
- ref: containerRef
191
+ ref: mergedRef
217
192
  }, others, getStyles('root')), {
218
- children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_TableContext.TableStylesProvider, {
193
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_TableContext.TableProvider, {
219
194
  value: {
220
- getStyles: getStyles
195
+ getStyles: getStyles,
196
+ getRowActions: getRowActions,
197
+ store: store,
198
+ table: table,
199
+ layouts: layouts,
200
+ containerRef: containerRef
221
201
  },
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, {
202
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(Layout, {
203
+ children: store.isVacant && !store.isFiltered ? noData : /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
241
204
  children: [
242
- consumer,
243
- !hasRows && !isFiltered && !loading ? noDataChildren : /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
205
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_core.Box, _object_spread_props._(_object_spread._({
206
+ component: "table"
207
+ }, getStyles('table')), {
208
+ pb: "sm",
209
+ mod: {
210
+ loading: loading
211
+ },
244
212
  children: [
245
- /*#__PURE__*/ (0, _jsxruntime.jsxs)(_core.Box, _object_spread_props._(_object_spread._({
246
- component: "table"
247
- }, getStyles('table')), {
248
- pb: "sm",
213
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)("thead", _object_spread_props._(_object_spread._({}, getStyles('header')), {
249
214
  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
- })
215
+ !!header ? /*#__PURE__*/ (0, _jsxruntime.jsx)("tr", {
216
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)("th", {
217
+ style: {
218
+ padding: 0
219
+ },
220
+ colSpan: table.getAllColumns().length,
221
+ children: header
283
222
  })
284
- }))
223
+ }) : null,
224
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(Layout.Header, _object_spread._({
225
+ getRowExpandedContent: getRowExpandedContent,
226
+ getRowAttributes: getRowAttributes,
227
+ loading: loading
228
+ }, layoutProps))
285
229
  ]
286
230
  })),
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
231
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("tbody", _object_spread_props._(_object_spread._({}, getStyles('body')), {
232
+ children: hasRows ? /*#__PURE__*/ (0, _jsxruntime.jsx)(Layout.Body, _object_spread._({
233
+ getRowExpandedContent: getRowExpandedContent,
234
+ getRowAttributes: getRowAttributes,
235
+ loading: loading
236
+ }, layoutProps)) : /*#__PURE__*/ (0, _jsxruntime.jsx)("tr", {
237
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)("td", {
238
+ colSpan: table.getAllColumns().length,
239
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_TableLoading.TableLoading, {
240
+ visible: loading || !store.isFiltered,
241
+ children: noData
242
+ })
243
+ })
244
+ })
245
+ }))
293
246
  ]
294
- })
247
+ })),
248
+ footer,
249
+ lastUpdated
295
250
  ]
296
251
  })
297
252
  })
@@ -307,22 +262,22 @@ var TableComponentsOrder = {
307
262
  ColumnsSelector: 2,
308
263
  LayoutControl: 1
309
264
  };
310
- Table.Actions = _TableActions.TableActions;
265
+ Table.AccordionColumn = _TableCollapsibleColumn.TableAccordionColumn;
266
+ Table.ActionsColumn = _TableActionsColumn.TableActionsColumn;
267
+ Table.ActionItem = _tableactions.TableActionItem;
268
+ Table.CollapsibleColumn = _TableCollapsibleColumn.TableCollapsibleColumn;
269
+ Table.ColumnsSelector = _TableColumnsSelector.TableColumnsSelector;
270
+ Table.DateRangePicker = _TableDateRangePicker.TableDateRangePicker;
311
271
  Table.Filter = _TableFilter.TableFilter;
312
272
  Table.Footer = _TableFooter.TableFooter;
313
273
  Table.Header = _TableHeader.TableHeader;
314
274
  Table.LastUpdated = _TableLastUpdated.TableLastUpdated;
275
+ Table.Layouts = _TableLayouts.TableLayouts;
276
+ Table.Loading = _TableLoading.TableLoading;
277
+ Table.NoData = _TableNoData.TableNoData;
315
278
  Table.Pagination = _TablePagination.TablePagination;
316
- Table.Predicate = _TablePredicate.TablePredicate;
317
279
  Table.PerPage = _TablePerPage.TablePerPage;
318
280
  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;
326
281
  Table.extend = _utils.identity;
327
282
 
328
283
  //# 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, 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 {TableActionItem, TableActionItemStylesNames, TableHeaderActionsStylesNames} from './table-actions';\nimport {TableActionsListStylesNames} from './table-actions/TableActionsList';\nimport {TableActionsColumn} from './table-column/TableActionsColumn';\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 | TableHeaderActionsStylesNames\n | TableActionsListStylesNames\n | TableActionItemStylesNames\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 ActionsColumn: typeof TableActionsColumn;\n ActionItem: typeof TableActionItem;\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 getRowActions: () => [],\n};\n\nexport const Table = <T,>(props: TableProps<T> & {ref?: ForwardedRef<HTMLDivElement>}) => {\n const {\n store,\n data,\n getRowId,\n getRowAttributes,\n getRowExpandedContent,\n getRowActions,\n columns,\n layouts,\n layoutProps,\n children,\n loading,\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 expanded: store.state.expanded,\n },\n onGlobalFilterChange: store.setGlobalFilter,\n onExpandedChange: store.setExpanded,\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>) => !!getRowExpandedContent?.(row.original, row.index, row) ?? false,\n enableRowSelection: !loading,\n defaultColumn: {\n size: undefined,\n minSize: defaultColumnSizing.minSize,\n maxSize: defaultColumnSizing.maxSize,\n },\n rowCount: options?.getFilteredRowModel ? undefined : store.state.totalEntries,\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, getRowActions, store, table, layouts, containerRef}}>\n <Layout>\n {store.isVacant && !store.isFiltered ? (\n noData\n ) : (\n <>\n <Box component=\"table\" {...getStyles('table')} pb=\"sm\" mod={{loading}}>\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 getRowExpandedContent={getRowExpandedContent}\n getRowAttributes={getRowAttributes}\n loading={loading}\n {...layoutProps}\n />\n </thead>\n <tbody {...getStyles('body')}>\n {hasRows ? (\n <Layout.Body\n getRowExpandedContent={getRowExpandedContent}\n getRowAttributes={getRowAttributes}\n loading={loading}\n {...layoutProps}\n />\n ) : (\n <tr>\n <td colSpan={table.getAllColumns().length}>\n <TableLoading visible={loading || !store.isFiltered}>\n {noData}\n </TableLoading>\n </td>\n </tr>\n )}\n </tbody>\n </Box>\n {footer}\n {lastUpdated}\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.ActionsColumn = TableActionsColumn;\nTable.ActionItem = TableActionItem;\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;\n\nTable.extend = identity as CustomComponentThemeExtend<PlasmaTableFactory>;\n"],"names":["Table","TableComponentsOrder","defaultProps","layouts","TableLayouts","Rows","layoutProps","loading","additionalRootNodes","options","getRowActions","props","useProps","store","data","getRowId","getRowAttributes","getRowExpandedContent","columns","children","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","expanded","onGlobalFilterChange","setGlobalFilter","onExpandedChange","setExpanded","onSortingChange","setSorting","onPaginationChange","setPagination","onColumnVisibilityChange","setColumnVisibility","multiRowSelectionEnabled","TableSelectableColumn","concat","getCoreRowModel","manualPagination","getPaginationRowModel","undefined","enableMultiRowSelection","getRowCanExpand","row","original","index","enableRowSelection","defaultColumn","size","minSize","defaultColumnSizing","maxSize","rowCount","getFilteredRowModel","totalEntries","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","isVacant","isFiltered","component","pb","mod","thead","tr","th","padding","colSpan","getAllColumns","Header","tbody","Body","td","TableLoading","visible","MultiSelectInfo","Actions","Predicate","Filter","DateRangePicker","ColumnsSelector","LayoutControl","AccordionColumn","TableAccordionColumn","ActionsColumn","TableActionsColumn","ActionItem","TableActionItem","CollapsibleColumn","TableCollapsibleColumn","TableColumnsSelector","TableDateRangePicker","TableFilter","Footer","LastUpdated","Layouts","Loading","NoData","Pagination","TablePagination","PerPage","TablePerPage","TablePredicate","extend","identity"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -19,8 +19,14 @@
19
19
  }
20
20
 
21
21
  /* Table.Actions */
22
+ .actionsDropdown {
23
+ text-align: left;
24
+ }
22
25
  .actionsGroup {
23
- display: inline-flex;
26
+ &:has(.actionsGroupItems:empty) {
27
+ /* Hide empty groups */
28
+ display: none;
29
+ }
24
30
  }
25
31
 
26
32
  /* Table.Filter */
@@ -37,6 +43,7 @@
37
43
  background-color: var(--mantine-color-gray-1);
38
44
  padding: var(--mantine-spacing-sm) var(--mantine-spacing-xl);
39
45
  position: relative;
46
+ min-height: 69px;
40
47
  }
41
48
 
42
49
  .headerGridInner {