@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
@@ -1,20 +1,10 @@
1
1
  import { Icon } from '@coveord/plasma-react-icons';
2
2
  import { BoxProps, StylesApiProps } from '@mantine/core';
3
- import { UseFormReturnType } from '@mantine/form';
4
- import { Column, ColumnDef, CoreOptions, InitialTableState as TanstackInitialTableState, TableOptions, TableState as TanstackTableState } from '@tanstack/table-core';
5
- import { Dispatch, ReactElement, ReactNode, RefObject } from 'react';
6
- import { DateRangePickerValue } from '../date-range-picker/DateRangePickerInlineCalendar';
7
- import { TableLayoutProps } from './layouts/TableLayouts';
3
+ import { ColumnDef, CoreOptions, Row, TableOptions } from '@tanstack/table-core';
4
+ import { ReactElement, ReactNode } from 'react';
8
5
  import { type PlasmaTableFactory } from './Table';
9
- export type RowSelectionWithData<TData> = Record<string, TData>;
10
- export interface RowSelectionState<TData> {
11
- rowSelection: RowSelectionWithData<TData>;
12
- }
13
- export interface TableState<TData> extends Omit<TanstackTableState, 'rowSelection'>, RowSelectionState<TData> {
14
- }
15
- export interface InitialTableState<TData> extends Omit<TanstackInitialTableState, 'rowSelection'>, Partial<RowSelectionState<TData>>, Partial<TableFormType> {
16
- }
17
- export type onTableChangeEvent<TData> = (params: TableState<TData> & TableFormType) => void;
6
+ import { TableStore } from './use-table';
7
+ export type TableLayoutProps<TData = unknown> = Pick<TableProps<TData>, 'getRowExpandedContent' | 'getRowAttributes' | 'loading'> & TableProps<TData>['layoutProps'];
18
8
  export interface TableLayout {
19
9
  (props: {
20
10
  children: ReactNode;
@@ -33,111 +23,49 @@ export interface TableLayout {
33
23
  * Header portion of the table.
34
24
  * In the standard row layout that is where column headers would be displayed.
35
25
  */
36
- Header: <T>(props: TableLayoutProps<T>) => ReactElement;
26
+ Header: <TData>(props: TableLayoutProps<TData>) => ReactElement;
37
27
  /**
38
28
  * Body portion of the table.
39
29
  * In the standard row layout that is where the rows would be displayed.
40
30
  */
41
- Body: <T>(props: TableLayoutProps<T>) => ReactElement;
31
+ Body: <TData>(props: TableLayoutProps<TData>) => ReactElement;
42
32
  }
43
- export type TableFormType = {
44
- /**
45
- * Object containing the table predicates and their selected values
46
- *
47
- * @example {type: "LONG", origin: "system"}
48
- */
49
- predicates: Record<string, string>;
33
+ export interface TableProps<TData> extends BoxProps, StylesApiProps<PlasmaTableFactory> {
34
+ store: TableStore<TData>;
50
35
  /**
51
- * Selected date range in the table
52
- *
53
- * @example [new Date(2022, 0, 1), new Date(2022, 0, 31)]
54
- */
55
- dateRange: DateRangePickerValue;
56
- /**
57
- * Selected layout name
36
+ * Data to display in the table. Use `null` when the table is initially loading.
58
37
  */
59
- layout: TableLayout['name'];
60
- };
61
- export type TableContextType<TData> = {
38
+ data: TData[] | null;
62
39
  /**
63
- * Returns all flat columns in the table.
40
+ * Defines how each row is uniquely identified. It is highly recommended that you specify this prop to an ID that makes sense.
64
41
  */
65
- getAllColumns: () => Array<Column<TData, unknown>>;
42
+ getRowId?: CoreOptions<TData>['getRowId'];
66
43
  /**
67
- * Function to call when the table needs an update
44
+ * Allows to define html attributes that will be passed down to each row.
68
45
  */
69
- onChange: () => void;
46
+ getRowAttributes?: (datum: TData, index: number, row: Row<TData>) => Record<string, unknown>;
70
47
  /**
71
- * Internal state of the table
48
+ * Function that generates the expandable content of a row
49
+ * Return null for rows that don't need to be expandable
72
50
  *
73
- * @see https://tanstack.com/table/v8/docs/api/core/table#state
74
- */
75
- state: TableState<TData>;
76
- /**
77
- * Function to update the table state
78
- */
79
- setState: Dispatch<(prevState: TableState<TData>) => TableState<TData>>;
80
- /**
81
- * Whether the table currently as any kind of filter applied.
82
- * Useful to determine if the noDataChildren is an empty state or just the result of a filter
83
- */
84
- isFiltered: boolean;
85
- /**
86
- * Function that clears the filter and predicates
87
- */
88
- clearFilters: () => void;
89
- /**
90
- * Function that returns the selected row if any.
91
- */
92
- getSelectedRow: () => TData | null;
93
- /**
94
- * Function that returns an array of the selected rows. Most useful when multi row selection is enabled.
95
- */
96
- getSelectedRows: () => TData[];
97
- /**
98
- * Function that clear the selected row
99
- */
100
- clearSelection: () => void;
101
- /**
102
- * Form used to handle predicates and dateRange
103
- */
104
- form: UseFormReturnType<TableFormType>;
105
- /**
106
- * Table container ref
107
- */
108
- containerRef: RefObject<HTMLDivElement>;
109
- /**
110
- * Whether multi row selection is activated
111
- */
112
- multiRowSelectionEnabled: boolean;
113
- /**
114
- * Whether row selection is enabled or not
115
- */
116
- disableRowSelection: boolean;
117
- /**
118
- * Function that returns the number of pages
119
- */
120
- getPageCount: () => number;
121
- /**
122
- * Available layouts. When more than one layout is provided, it will display a layout control to switch between them.
123
- */
124
- layouts: TableLayout[];
125
- };
126
- export interface TableProps<T> extends BoxProps, StylesApiProps<PlasmaTableFactory> {
127
- /**
128
- * Data to display in the table. Use `null` when the table is initially loading.
51
+ * @param datum the row for which the children should be generated.
129
52
  */
130
- data: T[] | null;
53
+ getRowExpandedContent?: (datum: TData, index: number, row: Row<TData>) => ReactNode;
131
54
  /**
132
- * Defines how each row is uniquely identified. It is highly recommended that you specify this prop to an ID that makes sense.
55
+ * Function that generates the actions for the selected rows
56
+ * If the table doesn't support multi selection, access the data[0]
57
+ * Return an empty array for rows that don't have actions
58
+ *
59
+ * @param datum the row for which the children should be generated.
60
+ * @default []
133
61
  */
134
- getRowId?: CoreOptions<T>['getRowId'];
62
+ getRowActions?: (data: TData[]) => TableAction[];
135
63
  /**
136
64
  * Columns to display in the table.
137
65
  *
138
66
  * @see https://tanstack.com/table/v8/docs/guide/column-defs
139
67
  */
140
- columns: Array<ColumnDef<T>>;
68
+ columns: Array<ColumnDef<TData>>;
141
69
  /**
142
70
  * Available layouts
143
71
  *
@@ -145,28 +73,18 @@ export interface TableProps<T> extends BoxProps, StylesApiProps<PlasmaTableFacto
145
73
  */
146
74
  layouts?: TableLayout[];
147
75
  /**
148
- * Function called when the table mounts
149
- *
150
- * @param state the state of the table
151
- */
152
- onMount?: onTableChangeEvent<T>;
153
- /**
154
- * Function called when the table should update
155
- *
156
- * @param state the state of the table
76
+ * Props passed down to the active layout Header and Body components
157
77
  */
158
- onChange?: onTableChangeEvent<T>;
159
- /**
160
- * Function that generates the expandable content of a row
161
- * Return null for rows that don't need to be expandable
162
- *
163
- * @param datum the row for which the children should be generated.
164
- */
165
- getExpandChildren?: (datum: T) => ReactNode;
166
- /**
167
- * React children to show when the table has no rows to show. You can leverage useTable to get the state of the table
168
- */
169
- noDataChildren?: ReactNode;
78
+ layoutProps?: {
79
+ /**
80
+ * Called by the table layout when a row is double clicked.
81
+ * @param selectedRow The data of the row that was double clicked
82
+ * @param index The index of the row that was double clicked
83
+ * @param row The row object that was double clicked
84
+ * @returns
85
+ */
86
+ onRowDoubleClick?: (selectedRow: TData, index: number, row: Row<TData>) => void;
87
+ } & Record<string, any>;
170
88
  /**
171
89
  * Whether the table is loading or not
172
90
  *
@@ -174,7 +92,7 @@ export interface TableProps<T> extends BoxProps, StylesApiProps<PlasmaTableFacto
174
92
  */
175
93
  loading?: boolean;
176
94
  /**
177
- * Childrens to display in the table. They need to be wrap in either `Table.Header` or `Table.Footer`
95
+ * Children to display in the table. They need to be wrap in either `Table.Header` or `Table.Footer`
178
96
  *
179
97
  * @example
180
98
  * <Table ...>
@@ -184,32 +102,6 @@ export interface TableProps<T> extends BoxProps, StylesApiProps<PlasmaTableFacto
184
102
  * </Table>
185
103
  */
186
104
  children?: ReactNode;
187
- /**
188
- * Initial state of the table
189
- */
190
- initialState?: InitialTableState<T>;
191
- /**
192
- * Action passed when user double clicks on a row
193
- */
194
- doubleClickAction?: (datum: T) => void;
195
- /**
196
- * Function called whenever the row selection changes
197
- *
198
- * @param selectedRows The selected rows
199
- */
200
- onRowSelectionChange?: (selectedRows: T[]) => void;
201
- /**
202
- * Whether the user can select multiple rows in order to perform actions in bulk
203
- *
204
- * @default false
205
- */
206
- multiRowSelectionEnabled?: boolean;
207
- /**
208
- * Whether row selection is enabled or not
209
- *
210
- * @default false
211
- */
212
- disableRowSelection?: boolean;
213
105
  /**
214
106
  * Nodes that are considered inside the table.
215
107
  *
@@ -222,6 +114,19 @@ export interface TableProps<T> extends BoxProps, StylesApiProps<PlasmaTableFacto
222
114
  /**
223
115
  * Additional options that can be passed to the table
224
116
  */
225
- options?: Omit<Partial<TableOptions<T>>, 'initialState' | 'data' | 'columns' | 'manualPagination' | 'enableMultiRowSelection' | 'getRowId' | 'getRowCanExpand' | 'enableRowSelection' | 'onRowSelectionChange'>;
117
+ options?: Omit<Partial<TableOptions<TData>>, 'initialState' | 'data' | 'columns' | 'manualPagination' | 'enableMultiRowSelection' | 'getRowId' | 'getRowCanExpand' | 'enableRowSelection' | 'onRowSelectionChange'>;
118
+ }
119
+ export interface TableAction {
120
+ /**
121
+ * Group to which the action belongs
122
+ * $$primary is reserved for primary actions
123
+ * $$confirmPrompt is reserved for InlineConfirm.Prompt, it will hide other actions when prompt is opened
124
+ * other string will be considered secondary custom group
125
+ */
126
+ group: '$$primary' | '$$confirmPrompt' | (string & {});
127
+ /**
128
+ * Component to render, should be either `Table.PrimaryAction` or `Table.SecondaryAction`
129
+ */
130
+ component: ReactNode;
226
131
  }
227
132
  //# sourceMappingURL=Table.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Table.types.d.ts","sourceRoot":"","sources":["../../../../src/components/table/Table.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,6BAA6B,CAAC;AACjD,OAAO,EAAC,QAAQ,EAAE,cAAc,EAAC,MAAM,eAAe,CAAC;AACvD,OAAO,EAAC,iBAAiB,EAAC,MAAM,eAAe,CAAC;AAChD,OAAO,EACH,MAAM,EACN,SAAS,EACT,WAAW,EACX,iBAAiB,IAAI,yBAAyB,EAC9C,YAAY,EACZ,UAAU,IAAI,kBAAkB,EACnC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAC,MAAM,OAAO,CAAC;AAEnE,OAAO,EAAC,oBAAoB,EAAC,MAAM,oDAAoD,CAAC;AACxF,OAAO,EAAC,gBAAgB,EAAC,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAC,KAAK,kBAAkB,EAAC,MAAM,SAAS,CAAC;AAEhD,MAAM,MAAM,oBAAoB,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAChE,MAAM,WAAW,iBAAiB,CAAC,KAAK;IACpC,YAAY,EAAE,oBAAoB,CAAC,KAAK,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,UAAU,CAAC,KAAK,CAAE,SAAQ,IAAI,CAAC,kBAAkB,EAAE,cAAc,CAAC,EAAE,iBAAiB,CAAC,KAAK,CAAC;CAAG;AAEhH,MAAM,WAAW,iBAAiB,CAAC,KAAK,CACpC,SAAQ,IAAI,CAAC,yBAAyB,EAAE,cAAc,CAAC,EACnD,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,EACjC,OAAO,CAAC,aAAa,CAAC;CAAG;AAEjC,MAAM,MAAM,kBAAkB,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,GAAG,aAAa,KAAK,IAAI,CAAC;AAE5F,MAAM,WAAW,WAAW;IACxB,CAAC,KAAK,EAAE;QAAC,QAAQ,EAAE,SAAS,CAAA;KAAC,GAAG,YAAY,CAAC;IAC7C;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ;;;OAGG;IACH,MAAM,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC;IACxD;;;OAGG;IACH,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC;CACzD;AAED,MAAM,MAAM,aAAa,GAAG;IACxB;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC;;;;OAIG;IACH,SAAS,EAAE,oBAAoB,CAAC;IAChC;;OAEG;IACH,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,KAAK,IAAI;IAClC;;OAEG;IACH,aAAa,EAAE,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IACnD;;OAEG;IACH,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB;;;;OAIG;IACH,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IACzB;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IACxE;;;OAGG;IACH,UAAU,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB;;OAEG;IACH,cAAc,EAAE,MAAM,KAAK,GAAG,IAAI,CAAC;IACnC;;OAEG;IACH,eAAe,EAAE,MAAM,KAAK,EAAE,CAAC;IAC/B;;OAEG;IACH,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B;;OAEG;IACH,IAAI,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC;IACvC;;OAEG;IACH,YAAY,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;IACxC;;OAEG;IACH,wBAAwB,EAAE,OAAO,CAAC;IAClC;;OAEG;IACH,mBAAmB,EAAE,OAAO,CAAC;IAC7B;;OAEG;IACH,YAAY,EAAE,MAAM,MAAM,CAAC;IAC3B;;OAEG;IACH,OAAO,EAAE,WAAW,EAAE,CAAC;CAC1B,CAAC;AAEF,MAAM,WAAW,UAAU,CAAC,CAAC,CAAE,SAAQ,QAAQ,EAAE,cAAc,CAAC,kBAAkB,CAAC;IAC/E;;OAEG;IACH,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC;IACjB;;OAEG;IACH,QAAQ,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IACtC;;;;OAIG;IACH,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7B;;;;OAIG;IACH,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB;;;;OAIG;IACH,OAAO,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAChC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC;IACjC;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,CAAC;IAC5C;;OAEG;IACH,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;OAEG;IACH,YAAY,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACpC;;OAEG;IACH,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IACvC;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;IACnD;;;;OAIG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;;;;OAOG;IACH,mBAAmB,CAAC,EAAE,WAAW,EAAE,CAAC;IACpC;;OAEG;IACH,OAAO,CAAC,EAAE,IAAI,CACV,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EACtB,cAAc,GACd,MAAM,GACN,SAAS,GACT,kBAAkB,GAClB,yBAAyB,GACzB,UAAU,GACV,iBAAiB,GACjB,oBAAoB,GACpB,sBAAsB,CAC3B,CAAC;CACL"}
1
+ {"version":3,"file":"Table.types.d.ts","sourceRoot":"","sources":["../../../../src/components/table/Table.types.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,20 @@
1
- /// <reference types="react" />
2
1
  import { GetStylesApi } from '@mantine/core';
2
+ import { Table } from '@tanstack/table-core';
3
+ import { MutableRefObject, ReactElement } from 'react';
3
4
  import { type PlasmaTableFactory } from './Table';
4
- import { TableContextType } from './Table.types';
5
- export declare const TableContext: import("react").Context<TableContextType<any>>;
6
- export declare const useTable: <T>() => TableContextType<T>;
7
- interface TableStyleContextType {
5
+ import { TableAction, TableLayout } from './Table.types';
6
+ import { TableStore } from './use-table';
7
+ export interface TableContextValue<TData = unknown> {
8
8
  getStyles: GetStylesApi<PlasmaTableFactory>;
9
+ store: TableStore<TData>;
10
+ layouts: TableLayout[];
11
+ getRowActions: (datum: TData[]) => TableAction[];
12
+ table: Table<TData>;
13
+ containerRef: MutableRefObject<HTMLDivElement>;
9
14
  }
10
- export declare const TableStylesProvider: ({ children, value }: {
11
- value: TableStyleContextType;
12
- children: import("react").ReactNode;
13
- }) => import("react").JSX.Element, useTableStyles: () => TableStyleContextType;
14
- export {};
15
+ export interface TableProviderProps<T> {
16
+ value: TableContextValue<T>;
17
+ children: JSX.Element;
18
+ }
19
+ export declare const TableProvider: <TData>(props: TableProviderProps<TData>) => ReactElement, useTableContext: <TData>() => TableContextValue<TData>;
15
20
  //# sourceMappingURL=TableContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableContext.d.ts","sourceRoot":"","sources":["../../../../src/components/table/TableContext.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAoB,YAAY,EAAC,MAAM,eAAe,CAAC;AAE9D,OAAO,EAAC,KAAK,kBAAkB,EAAC,MAAM,SAAS,CAAC;AAChD,OAAO,EAAC,gBAAgB,EAAC,MAAM,eAAe,CAAC;AAE/C,eAAO,MAAM,YAAY,gDAAoD,CAAC;AAE9E,eAAO,MAAM,QAAQ,8BAOpB,CAAC;AAEF,UAAU,qBAAqB;IAC3B,SAAS,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAC;CAC/C;AAED,eAAO,MAAO,mBAAmB;;;mCAAE,cAAc,6BAEhD,CAAC"}
1
+ {"version":3,"file":"TableContext.d.ts","sourceRoot":"","sources":["../../../../src/components/table/TableContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAoB,YAAY,EAAC,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAC,KAAK,EAAC,MAAM,sBAAsB,CAAC;AAC3C,OAAO,EAAC,gBAAgB,EAAE,YAAY,EAAC,MAAM,OAAO,CAAC;AACrD,OAAO,EAAC,KAAK,kBAAkB,EAAC,MAAM,SAAS,CAAC;AAChD,OAAO,EAAC,WAAW,EAAE,WAAW,EAAC,MAAM,eAAe,CAAC;AACvD,OAAO,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;AAEvC,MAAM,WAAW,iBAAiB,CAAC,KAAK,GAAG,OAAO;IAC9C,SAAS,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAC;IAC5C,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IACzB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,WAAW,EAAE,CAAC;IACjD,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACpB,YAAY,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAC;CAClD;AAED,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACjC,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAC5B,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC;CACzB;AAED,eAAO,MAAO,aAAa,+CAEwB,YAAY,EAFlC,eAAe,uCAE2D,CAAC"}
@@ -9,31 +9,16 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- TableContext: function() {
13
- return TableContext;
12
+ TableProvider: function() {
13
+ return TableProvider;
14
14
  },
15
- TableStylesProvider: function() {
16
- return TableStylesProvider;
17
- },
18
- useTable: function() {
19
- return useTable;
20
- },
21
- useTableStyles: function() {
22
- return useTableStyles;
15
+ useTableContext: function() {
16
+ return useTableContext;
23
17
  }
24
18
  });
25
19
  var _sliced_to_array = require("@swc/helpers/_/_sliced_to_array");
26
20
  var _core = require("@mantine/core");
27
- var _react = require("react");
28
- var TableContext = /*#__PURE__*/ (0, _react.createContext)(null);
29
- var useTable = function() {
30
- var ctx = (0, _react.useContext)(TableContext);
31
- if (ctx === null) {
32
- throw new Error('useTable must be used inside of a TableContext.Provider');
33
- }
34
- return ctx;
35
- };
36
21
  var _createSafeContext = _sliced_to_array._((0, _core.createSafeContext)('Table component was not found in the tree'), 2);
37
- var TableStylesProvider = _createSafeContext[0], useTableStyles = _createSafeContext[1];
22
+ var TableProvider = _createSafeContext[0], useTableContext = _createSafeContext[1];
38
23
 
39
24
  //# sourceMappingURL=TableContext.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/table/TableContext.tsx"],"sourcesContent":["import {createSafeContext, GetStylesApi} from '@mantine/core';\nimport {createContext, useContext} from 'react';\nimport {type PlasmaTableFactory} from './Table';\nimport {TableContextType} from './Table.types';\n\nexport const TableContext = createContext<TableContextType<any> | null>(null);\n\nexport const useTable = <T,>(): TableContextType<T> => {\n const ctx = useContext(TableContext);\n if (ctx === null) {\n throw new Error('useTable must be used inside of a TableContext.Provider');\n }\n\n return ctx;\n};\n\ninterface TableStyleContextType {\n getStyles: GetStylesApi<PlasmaTableFactory>;\n}\n\nexport const [TableStylesProvider, useTableStyles] = createSafeContext<TableStyleContextType>(\n 'Table component was not found in the tree',\n);\n"],"names":["TableContext","TableStylesProvider","useTable","useTableStyles","createContext","ctx","useContext","Error","createSafeContext"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;IAKaA,YAAY;eAAZA;;IAeCC,mBAAmB;eAAnBA;;IAbDC,QAAQ;eAARA;;IAasBC,cAAc;eAAdA;;;;oBApBW;qBACN;AAIjC,IAAMH,6BAAeI,IAAAA,oBAAa,EAA+B;AAEjE,IAAMF,WAAW;IACpB,IAAMG,MAAMC,IAAAA,iBAAU,EAACN;IACvB,IAAIK,QAAQ,MAAM;QACd,MAAM,IAAIE,MAAM;IACpB;IAEA,OAAOF;AACX;IAMqDG,wCAAAA,IAAAA,uBAAiB,EAClE;AADG,IAAOP,sBAAuCO,uBAAlBL,iBAAkBK"}
1
+ {"version":3,"sources":["../../../../src/components/table/TableContext.tsx"],"sourcesContent":["import {createSafeContext, GetStylesApi} from '@mantine/core';\nimport {Table} from '@tanstack/table-core';\nimport {MutableRefObject, ReactElement} from 'react';\nimport {type PlasmaTableFactory} from './Table';\nimport {TableAction, TableLayout} from './Table.types';\nimport {TableStore} from './use-table';\n\nexport interface TableContextValue<TData = unknown> {\n getStyles: GetStylesApi<PlasmaTableFactory>;\n store: TableStore<TData>;\n layouts: TableLayout[];\n getRowActions: (datum: TData[]) => TableAction[];\n table: Table<TData>;\n containerRef: MutableRefObject<HTMLDivElement>;\n}\n\nexport interface TableProviderProps<T> {\n value: TableContextValue<T>;\n children: JSX.Element;\n}\n\nexport const [TableProvider, useTableContext] = createSafeContext<TableContextValue>(\n 'Table component was not found in the tree',\n) as [<TData>(props: TableProviderProps<TData>) => ReactElement, <TData>() => TableContextValue<TData>];\n"],"names":["TableProvider","useTableContext","createSafeContext"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;IAqBcA,aAAa;eAAbA;;IAAeC,eAAe;eAAfA;;;;oBArBiB;IAqBEC,wCAAAA,IAAAA,uBAAiB,EAC7D;AADG,IAAOF,gBAAkCE,uBAAnBD,kBAAmBC"}
@@ -1,6 +1,6 @@
1
1
  export { flexRender as renderTableCell } from '@tanstack/react-table';
2
2
  export * from './Table';
3
- export { type InitialTableState, type TableLayout, type TableProps, type TableState, type onTableChangeEvent, } from './Table.types';
4
- export { useTable } from './TableContext';
5
- export { type TableLayoutProps } from './layouts/TableLayouts';
3
+ export { type TableLayout, type TableProps, type TableLayoutProps, type TableAction } from './Table.types';
4
+ export { useTable, type TableState, type TableStore, type UseTableOptions } from './use-table';
5
+ export { useTableContext } from './TableContext';
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/table/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,IAAI,eAAe,EAAC,MAAM,uBAAuB,CAAC;AACpE,cAAc,SAAS,CAAC;AACxB,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,kBAAkB,GAC1B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAC,QAAQ,EAAC,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAC,KAAK,gBAAgB,EAAC,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/table/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,IAAI,eAAe,EAAC,MAAM,uBAAuB,CAAC;AACpE,cAAc,SAAS,CAAC;AACxB,OAAO,EAAC,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,gBAAgB,EAAE,KAAK,WAAW,EAAC,MAAM,eAAe,CAAC;AACzG,OAAO,EAAC,QAAQ,EAAE,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,KAAK,eAAe,EAAC,MAAM,aAAa,CAAC;AAC7F,OAAO,EAAC,eAAe,EAAC,MAAM,gBAAgB,CAAC"}
@@ -13,12 +13,16 @@ _export(exports, {
13
13
  return _reacttable.flexRender;
14
14
  },
15
15
  useTable: function() {
16
- return _TableContext.useTable;
16
+ return _usetable.useTable;
17
+ },
18
+ useTableContext: function() {
19
+ return _TableContext.useTableContext;
17
20
  }
18
21
  });
19
22
  var _export_star = require("@swc/helpers/_/_export_star");
20
23
  var _reacttable = require("@tanstack/react-table");
21
24
  _export_star._(require("./Table"), exports);
25
+ var _usetable = require("./use-table");
22
26
  var _TableContext = require("./TableContext");
23
27
 
24
28
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/table/index.ts"],"sourcesContent":["export {flexRender as renderTableCell} from '@tanstack/react-table';\nexport * from './Table';\nexport {\n type InitialTableState,\n type TableLayout,\n type TableProps,\n type TableState,\n type onTableChangeEvent,\n} from './Table.types';\nexport {useTable} from './TableContext';\nexport {type TableLayoutProps} from './layouts/TableLayouts';\n"],"names":["renderTableCell","flexRender","useTable"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;IAAsBA,eAAe;eAA7BC,sBAAU;;IASVC,QAAQ;eAARA,sBAAQ;;;;0BAT4B;uBAC9B;4BAQS"}
1
+ {"version":3,"sources":["../../../../src/components/table/index.ts"],"sourcesContent":["export {flexRender as renderTableCell} from '@tanstack/react-table';\nexport * from './Table';\nexport {type TableLayout, type TableProps, type TableLayoutProps, type TableAction} from './Table.types';\nexport {useTable, type TableState, type TableStore, type UseTableOptions} from './use-table';\nexport {useTableContext} from './TableContext';\n"],"names":["renderTableCell","flexRender","useTable","useTableContext"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;IAAsBA,eAAe;eAA7BC,sBAAU;;IAGVC,QAAQ;eAARA,kBAAQ;;IACRC,eAAe;eAAfA,6BAAe;;;;0BAJqB;uBAC9B;wBAEiE;4BACjD"}
@@ -8,18 +8,16 @@ Object.defineProperty(exports, "TableLayoutControl", {
8
8
  return TableLayoutControl;
9
9
  }
10
10
  });
11
- var _object_spread = require("@swc/helpers/_/_object_spread");
12
11
  var _jsxruntime = require("react/jsx-runtime");
13
12
  var _core = require("@mantine/core");
14
13
  var _Table = require("../Table");
15
14
  var _TableContext = require("../TableContext");
16
15
  var TableLayoutControl = function() {
17
- var _useTable = (0, _TableContext.useTable)(), form = _useTable.form, layouts = _useTable.layouts;
16
+ var _useTableContext = (0, _TableContext.useTableContext)(), layouts = _useTableContext.layouts, store = _useTableContext.store;
18
17
  return layouts.length > 1 ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Grid.Col, {
19
18
  order: _Table.TableComponentsOrder.LayoutControl,
20
19
  span: "content",
21
- children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.SegmentedControl, _object_spread._({
22
- color: "action",
20
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.SegmentedControl, {
23
21
  data: layouts.map(function(param) {
24
22
  var displayName = param.displayName, Icon = param.Icon;
25
23
  return {
@@ -42,8 +40,10 @@ var TableLayoutControl = function() {
42
40
  ]
43
41
  })
44
42
  };
45
- })
46
- }, form.getInputProps('layout')))
43
+ }),
44
+ value: store.state.layout === null ? layouts[0].displayName : store.state.layout,
45
+ onChange: store.setLayout
46
+ })
47
47
  }) : null;
48
48
  };
49
49
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/table/layouts/TableLayoutControl.tsx"],"sourcesContent":["import {Box, Center, Grid, SegmentedControl, Space} from '@mantine/core';\nimport {TableComponentsOrder} from '../Table';\nimport {useTable} from '../TableContext';\n\nexport const TableLayoutControl = () => {\n const {form, layouts} = useTable();\n return layouts.length > 1 ? (\n <Grid.Col order={TableComponentsOrder.LayoutControl} span=\"content\">\n <SegmentedControl\n color=\"action\"\n data={layouts.map(({displayName, Icon}) => ({\n value: displayName,\n label: (\n <Center>\n {Icon ? (\n <>\n <Icon height={16} />\n <Space w=\"xs\" />\n </>\n ) : null}\n <Box>{displayName}</Box>\n </Center>\n ),\n }))}\n {...form.getInputProps('layout')}\n />\n </Grid.Col>\n ) : null;\n};\n"],"names":["TableLayoutControl","useTable","form","layouts","length","Grid","Col","order","TableComponentsOrder","LayoutControl","span","SegmentedControl","color","data","map","displayName","Icon","value","label","Center","height","Space","w","Box","getInputProps"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAIaA;;;eAAAA;;;;;oBAJ4C;qBACtB;4BACZ;AAEhB,IAAMA,qBAAqB;IAC9B,IAAwBC,YAAAA,IAAAA,sBAAQ,KAAzBC,OAAiBD,UAAjBC,MAAMC,UAAWF,UAAXE;IACb,OAAOA,QAAQC,MAAM,GAAG,kBACpB,qBAACC,UAAI,CAACC,GAAG;QAACC,OAAOC,2BAAoB,CAACC,aAAa;QAAEC,MAAK;kBACtD,cAAA,qBAACC,sBAAgB;YACbC,OAAM;YACNC,MAAMV,QAAQW,GAAG,CAAC;oBAAEC,oBAAAA,aAAaC,aAAAA;uBAAW;oBACxCC,OAAOF;oBACPG,qBACI,sBAACC,YAAM;;4BACFH,qBACG;;kDACI,qBAACA;wCAAKI,QAAQ;;kDACd,qBAACC,WAAK;wCAACC,GAAE;;;iCAEb;0CACJ,qBAACC,SAAG;0CAAER;;;;gBAGlB;;WACIb,KAAKsB,aAAa,CAAC;SAG/B;AACR"}
1
+ {"version":3,"sources":["../../../../../src/components/table/layouts/TableLayoutControl.tsx"],"sourcesContent":["import {Box, Center, Grid, SegmentedControl, Space} from '@mantine/core';\nimport {TableComponentsOrder} from '../Table';\nimport {useTableContext} from '../TableContext';\n\nexport const TableLayoutControl = () => {\n const {layouts, store} = useTableContext();\n return layouts.length > 1 ? (\n <Grid.Col order={TableComponentsOrder.LayoutControl} span=\"content\">\n <SegmentedControl\n data={layouts.map(({displayName, Icon}) => ({\n value: displayName,\n label: (\n <Center>\n {Icon ? (\n <>\n <Icon height={16} />\n <Space w=\"xs\" />\n </>\n ) : null}\n <Box>{displayName}</Box>\n </Center>\n ),\n }))}\n value={store.state.layout === null ? layouts[0].displayName : store.state.layout}\n onChange={store.setLayout}\n />\n </Grid.Col>\n ) : null;\n};\n"],"names":["TableLayoutControl","useTableContext","layouts","store","length","Grid","Col","order","TableComponentsOrder","LayoutControl","span","SegmentedControl","data","map","displayName","Icon","value","label","Center","height","Space","w","Box","state","layout","onChange","setLayout"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAIaA;;;eAAAA;;;;oBAJ4C;qBACtB;4BACL;AAEvB,IAAMA,qBAAqB;IAC9B,IAAyBC,mBAAAA,IAAAA,6BAAe,KAAjCC,UAAkBD,iBAAlBC,SAASC,QAASF,iBAATE;IAChB,OAAOD,QAAQE,MAAM,GAAG,kBACpB,qBAACC,UAAI,CAACC,GAAG;QAACC,OAAOC,2BAAoB,CAACC,aAAa;QAAEC,MAAK;kBACtD,cAAA,qBAACC,sBAAgB;YACbC,MAAMV,QAAQW,GAAG,CAAC;oBAAEC,oBAAAA,aAAaC,aAAAA;uBAAW;oBACxCC,OAAOF;oBACPG,qBACI,sBAACC,YAAM;;4BACFH,qBACG;;kDACI,qBAACA;wCAAKI,QAAQ;;kDACd,qBAACC,WAAK;wCAACC,GAAE;;;iCAEb;0CACJ,qBAACC,SAAG;0CAAER;;;;gBAGlB;;YACAE,OAAOb,MAAMoB,KAAK,CAACC,MAAM,KAAK,OAAOtB,OAAO,CAAC,EAAE,CAACY,WAAW,GAAGX,MAAMoB,KAAK,CAACC,MAAM;YAChFC,UAAUtB,MAAMuB,SAAS;;SAGjC;AACR"}
@@ -1,28 +1,7 @@
1
- import { Table } from '@tanstack/table-core';
2
- import { ReactNode } from 'react';
3
- export interface TableLayoutProps<T = unknown> {
4
- table: Table<T>;
5
- loading?: boolean;
6
- /**
7
- * Action passed when user double-clicks on a row
8
- */
9
- doubleClickAction?: (datum: T) => void;
10
- /**
11
- * Function that generates the expandable content of a row
12
- * Return null for rows that don't need to be expandable
13
- *
14
- * @param datum the row for which the children should be generated.
15
- */
16
- getExpandChildren?: (datum: T) => ReactNode;
17
- /**
18
- * Whether clicking on a selected row will deselect the row or not.
19
- */
20
- keepSelection?: boolean;
21
- }
22
1
  export declare const TableLayouts: {
23
2
  Rows: import("@mantine/core").MantineComponent<{
24
3
  props: import("./row-layout/RowLayout").RowLayoutProps;
25
- stylesNames: "icon" | "headerRow" | import("./row-layout/RowLayoutBody").RowLayoutBodyStylesNames;
4
+ stylesNames: "headerRow" | import("./row-layout/RowLayoutBody").RowLayoutBodyStylesNames;
26
5
  staticComponents: import("..").TableLayout;
27
6
  }>;
28
7
  };
@@ -1 +1 @@
1
- {"version":3,"file":"TableLayouts.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/layouts/TableLayouts.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,sBAAsB,CAAC;AAC3C,OAAO,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAGhC,MAAM,WAAW,gBAAgB,CAAC,CAAC,GAAG,OAAO;IACzC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IACvC;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,CAAC;IAC5C;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,eAAO,MAAM,YAAY;;;;;;CAExB,CAAC"}
1
+ {"version":3,"file":"TableLayouts.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/layouts/TableLayouts.tsx"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY;;;;;;CAExB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/table/layouts/TableLayouts.tsx"],"sourcesContent":["import {Table} from '@tanstack/table-core';\nimport {ReactNode} from 'react';\nimport {RowLayout} from './row-layout/RowLayout';\n\nexport interface TableLayoutProps<T = unknown> {\n table: Table<T>;\n loading?: boolean;\n /**\n * Action passed when user double-clicks on a row\n */\n doubleClickAction?: (datum: T) => void;\n /**\n * Function that generates the expandable content of a row\n * Return null for rows that don't need to be expandable\n *\n * @param datum the row for which the children should be generated.\n */\n getExpandChildren?: (datum: T) => ReactNode;\n /**\n * Whether clicking on a selected row will deselect the row or not.\n */\n keepSelection?: boolean;\n}\n\nexport const TableLayouts = {\n Rows: RowLayout,\n};\n"],"names":["TableLayouts","Rows","RowLayout"],"rangeMappings":";;;;;;;;;;;;;","mappings":";;;;+BAwBaA;;;eAAAA;;;yBAtBW;AAsBjB,IAAMA,eAAe;IACxBC,MAAMC,oBAAS;AACnB"}
1
+ {"version":3,"sources":["../../../../../src/components/table/layouts/TableLayouts.tsx"],"sourcesContent":["import {RowLayout} from './row-layout/RowLayout';\n\nexport const TableLayouts = {\n Rows: RowLayout,\n};\n"],"names":["TableLayouts","Rows","RowLayout"],"rangeMappings":";;;;;;;;;;;;;","mappings":";;;;+BAEaA;;;eAAAA;;;yBAFW;AAEjB,IAAMA,eAAe;IACxBC,MAAMC,oBAAS;AACnB"}
@@ -3,8 +3,7 @@ import { ReactNode } from 'react';
3
3
  import { TableLayout } from '../../Table.types';
4
4
  import { RowLayoutBodyStylesNames } from './RowLayoutBody';
5
5
  import { RowLayoutHeaderStyleNames } from './RowLayoutHeader';
6
- import { RowLayoutIconStylesNames } from './RowLayoutIcon';
7
- type RowLayoutStylesNames = RowLayoutHeaderStyleNames | RowLayoutIconStylesNames | RowLayoutBodyStylesNames;
6
+ type RowLayoutStylesNames = RowLayoutHeaderStyleNames | RowLayoutBodyStylesNames;
8
7
  export interface RowLayoutProps extends StylesApiProps<RowLayoutFactory> {
9
8
  children: ReactNode;
10
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RowLayout.d.ts","sourceRoot":"","sources":["../../../../../../src/components/table/layouts/row-layout/RowLayout.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAU,OAAO,EAAE,cAAc,EAAsB,MAAM,eAAe,CAAC;AACpF,OAAO,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAgB,wBAAwB,EAAC,MAAM,iBAAiB,CAAC;AAExE,OAAO,EAAkB,yBAAyB,EAAC,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAgB,wBAAwB,EAAC,MAAM,iBAAiB,CAAC;AAExE,KAAK,oBAAoB,GAAG,yBAAyB,GAAG,wBAAwB,GAAG,wBAAwB,CAAC;AAC5G,MAAM,WAAW,cAAe,SAAQ,cAAc,CAAC,gBAAgB,CAAC;IACpE,QAAQ,EAAE,SAAS,CAAC;CACvB;AAED,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC;IACnC,KAAK,EAAE,cAAc,CAAC;IACtB,WAAW,EAAE,oBAAoB,CAAC;IAClC,gBAAgB,EAAE,WAAW,CAAC;CACjC,CAAC,CAAC;AAGH,eAAO,MAAM,SAAS;WANX,cAAc;iBACR,oBAAoB;sBACf,WAAW;EAgB/B,CAAC"}
1
+ {"version":3,"file":"RowLayout.d.ts","sourceRoot":"","sources":["../../../../../../src/components/table/layouts/row-layout/RowLayout.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAU,OAAO,EAAE,cAAc,EAAsB,MAAM,eAAe,CAAC;AACpF,OAAO,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAgB,wBAAwB,EAAC,MAAM,iBAAiB,CAAC;AAExE,OAAO,EAAkB,yBAAyB,EAAC,MAAM,mBAAmB,CAAC;AAG7E,KAAK,oBAAoB,GAAG,yBAAyB,GAAG,wBAAwB,CAAC;AACjF,MAAM,WAAW,cAAe,SAAQ,cAAc,CAAC,gBAAgB,CAAC;IACpE,QAAQ,EAAE,SAAS,CAAC;CACvB;AAED,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC;IACnC,KAAK,EAAE,cAAc,CAAC;IACtB,WAAW,EAAE,oBAAoB,CAAC;IAClC,gBAAgB,EAAE,WAAW,CAAC;CACjC,CAAC,CAAC;AAGH,eAAO,MAAM,SAAS;WANX,cAAc;iBACR,oBAAoB;sBACf,WAAW;EAgB/B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/components/table/layouts/row-layout/RowLayout.tsx"],"sourcesContent":["import {factory, Factory, StylesApiProps, useProps, useStyles} from '@mantine/core';\nimport {ReactNode} from 'react';\nimport classes from './RowLayout.module.css';\nimport {TableLayout} from '../../Table.types';\nimport {RowLayoutBody, RowLayoutBodyStylesNames} from './RowLayoutBody';\nimport {RowLayoutProvider} from './RowLayoutContext';\nimport {RowLayoutHeader, RowLayoutHeaderStyleNames} from './RowLayoutHeader';\nimport {RowLayoutIcon, RowLayoutIconStylesNames} from './RowLayoutIcon';\n\ntype RowLayoutStylesNames = RowLayoutHeaderStyleNames | RowLayoutIconStylesNames | RowLayoutBodyStylesNames;\nexport interface RowLayoutProps extends StylesApiProps<RowLayoutFactory> {\n children: ReactNode;\n}\n\nexport type RowLayoutFactory = Factory<{\n props: RowLayoutProps;\n stylesNames: RowLayoutStylesNames;\n staticComponents: TableLayout;\n}>;\nconst defaultProps: Partial<RowLayoutProps> = {};\n\nexport const RowLayout = factory<RowLayoutFactory>((props, ref) => {\n const {children, styles, classNames, unstyled} = useProps('PlasmaRowLayout', defaultProps, props);\n const getStyles = useStyles<RowLayoutFactory>({\n name: 'PlasmaRowLayout',\n classes,\n props,\n styles,\n classNames,\n unstyled,\n });\n\n return <RowLayoutProvider value={{getStyles}}>{children}</RowLayoutProvider>;\n});\n\nRowLayout.Body = RowLayoutBody;\nRowLayout.Header = RowLayoutHeader;\nRowLayout.Icon = RowLayoutIcon;\nRowLayout.displayName = 'Rows';\n"],"names":["RowLayout","defaultProps","factory","props","ref","useProps","children","styles","classNames","unstyled","getStyles","useStyles","name","classes","RowLayoutProvider","value","Body","RowLayoutBody","Header","RowLayoutHeader","Icon","RowLayoutIcon","displayName"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAqBaA;;;eAAAA;;;;;oBArBuD;2EAEhD;6BAEkC;gCACtB;+BACyB;6BACH;AAYtD,IAAMC,eAAwC,CAAC;AAExC,IAAMD,YAAYE,IAAAA,aAAO,EAAmB,SAACC,OAAOC;IACvD,IAAiDC,YAAAA,IAAAA,cAAQ,EAAC,mBAAmBJ,cAAcE,QAApFG,WAA0CD,UAA1CC,UAAUC,SAAgCF,UAAhCE,QAAQC,aAAwBH,UAAxBG,YAAYC,WAAYJ,UAAZI;IACrC,IAAMC,YAAYC,IAAAA,eAAS,EAAmB;QAC1CC,MAAM;QACNC,SAAAA,2BAAO;QACPV,OAAAA;QACAI,QAAAA;QACAC,YAAAA;QACAC,UAAAA;IACJ;IAEA,qBAAO,qBAACK,mCAAiB;QAACC,OAAO;YAACL,WAAAA;QAAS;kBAAIJ;;AACnD;AAEAN,UAAUgB,IAAI,GAAGC,4BAAa;AAC9BjB,UAAUkB,MAAM,GAAGC,gCAAe;AAClCnB,UAAUoB,IAAI,GAAGC,4BAAa;AAC9BrB,UAAUsB,WAAW,GAAG"}
1
+ {"version":3,"sources":["../../../../../../src/components/table/layouts/row-layout/RowLayout.tsx"],"sourcesContent":["import {factory, Factory, StylesApiProps, useProps, useStyles} from '@mantine/core';\nimport {ReactNode} from 'react';\nimport classes from './RowLayout.module.css';\nimport {TableLayout} from '../../Table.types';\nimport {RowLayoutBody, RowLayoutBodyStylesNames} from './RowLayoutBody';\nimport {RowLayoutProvider} from './RowLayoutContext';\nimport {RowLayoutHeader, RowLayoutHeaderStyleNames} from './RowLayoutHeader';\nimport {RowLayoutIcon} from './RowLayoutIcon';\n\ntype RowLayoutStylesNames = RowLayoutHeaderStyleNames | RowLayoutBodyStylesNames;\nexport interface RowLayoutProps extends StylesApiProps<RowLayoutFactory> {\n children: ReactNode;\n}\n\nexport type RowLayoutFactory = Factory<{\n props: RowLayoutProps;\n stylesNames: RowLayoutStylesNames;\n staticComponents: TableLayout;\n}>;\nconst defaultProps: Partial<RowLayoutProps> = {};\n\nexport const RowLayout = factory<RowLayoutFactory>((props, ref) => {\n const {children, styles, classNames, unstyled} = useProps('PlasmaRowLayout', defaultProps, props);\n const getStyles = useStyles<RowLayoutFactory>({\n name: 'PlasmaRowLayout',\n classes,\n props,\n styles,\n classNames,\n unstyled,\n });\n\n return <RowLayoutProvider value={{getStyles}}>{children}</RowLayoutProvider>;\n});\n\nRowLayout.Body = RowLayoutBody;\nRowLayout.Header = RowLayoutHeader;\nRowLayout.Icon = RowLayoutIcon;\nRowLayout.displayName = 'Rows';\n"],"names":["RowLayout","defaultProps","factory","props","ref","useProps","children","styles","classNames","unstyled","getStyles","useStyles","name","classes","RowLayoutProvider","value","Body","RowLayoutBody","Header","RowLayoutHeader","Icon","RowLayoutIcon","displayName"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAqBaA;;;eAAAA;;;;;oBArBuD;2EAEhD;6BAEkC;gCACtB;+BACyB;6BAC7B;AAY5B,IAAMC,eAAwC,CAAC;AAExC,IAAMD,YAAYE,IAAAA,aAAO,EAAmB,SAACC,OAAOC;IACvD,IAAiDC,YAAAA,IAAAA,cAAQ,EAAC,mBAAmBJ,cAAcE,QAApFG,WAA0CD,UAA1CC,UAAUC,SAAgCF,UAAhCE,QAAQC,aAAwBH,UAAxBG,YAAYC,WAAYJ,UAAZI;IACrC,IAAMC,YAAYC,IAAAA,eAAS,EAAmB;QAC1CC,MAAM;QACNC,SAAAA,2BAAO;QACPV,OAAAA;QACAI,QAAAA;QACAC,YAAAA;QACAC,UAAAA;IACJ;IAEA,qBAAO,qBAACK,mCAAiB;QAACC,OAAO;YAACL,WAAAA;QAAS;kBAAIJ;;AACnD;AAEAN,UAAUgB,IAAI,GAAGC,4BAAa;AAC9BjB,UAAUkB,MAAM,GAAGC,gCAAe;AAClCnB,UAAUoB,IAAI,GAAGC,4BAAa;AAC9BrB,UAAUsB,WAAW,GAAG"}
@@ -1,8 +1,7 @@
1
- import { BoxProps, Factory } from '@mantine/core';
2
- import { CompoundStylesApiProps } from '@mantine/core/lib/core/styles-api/styles-api.types';
1
+ import { BoxProps, CompoundStylesApiProps, Factory } from '@mantine/core';
3
2
  import { ForwardedRef } from 'react';
4
3
  import { CustomComponentThemeExtend } from '../../../../utils';
5
- import { TableLayoutProps } from '../TableLayouts';
4
+ import { TableLayoutProps } from '../../Table.types';
6
5
  export type RowLayoutBodyStylesNames = 'row' | 'cell' | 'collapsibleRow' | 'collapsibleWrapper';
7
6
  export interface RowLayoutBodyProps<T> extends BoxProps, TableLayoutProps<T>, CompoundStylesApiProps<RowLayoutBodyFactory> {
8
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RowLayoutBody.d.ts","sourceRoot":"","sources":["../../../../../../src/components/table/layouts/row-layout/RowLayoutBody.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAM,QAAQ,EAAY,OAAO,EAAW,MAAM,eAAe,CAAC;AACzE,OAAO,EAAC,sBAAsB,EAAC,MAAM,oDAAoD,CAAC;AAG1F,OAAO,EAAC,YAAY,EAA4B,MAAM,OAAO,CAAC;AAC9D,OAAO,EAAC,0BAA0B,EAAW,MAAM,mBAAmB,CAAC;AAKvE,OAAO,EAAC,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AAGjD,MAAM,MAAM,wBAAwB,GAAG,KAAK,GAAG,MAAM,GAAG,gBAAgB,GAAG,oBAAoB,CAAC;AAEhG,MAAM,WAAW,kBAAkB,CAAC,CAAC,CACjC,SAAQ,QAAQ,EACZ,gBAAgB,CAAC,CAAC,CAAC,EACnB,sBAAsB,CAAC,oBAAoB,CAAC;CAAG;AAEvD,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC;IACvC,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACnC,GAAG,EAAE,mBAAmB,CAAC;IACzB,WAAW,EAAE,wBAAwB,CAAC;IACtC,QAAQ,EAAE,IAAI,CAAC;CAClB,CAAC,CAAC;AAIH,eAAO,MAAM,aAAa;;cAA8C,aAAa,mBAAmB,CAAC;;;eAR9F,mBAAmB,OAAO,CAAC;aAC7B,mBAAmB;qBACX,wBAAwB;kBAC3B,IAAI;;CA4GjB,CAAC"}
1
+ {"version":3,"file":"RowLayoutBody.d.ts","sourceRoot":"","sources":["../../../../../../src/components/table/layouts/row-layout/RowLayoutBody.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAM,QAAQ,EAAY,sBAAsB,EAAE,OAAO,EAAW,MAAM,eAAe,CAAC;AAGjG,OAAO,EAAC,YAAY,EAA4B,MAAM,OAAO,CAAC;AAC9D,OAAO,EAAC,0BAA0B,EAAW,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAC,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AAOnD,MAAM,MAAM,wBAAwB,GAAG,KAAK,GAAG,MAAM,GAAG,gBAAgB,GAAG,oBAAoB,CAAC;AAEhG,MAAM,WAAW,kBAAkB,CAAC,CAAC,CACjC,SAAQ,QAAQ,EACZ,gBAAgB,CAAC,CAAC,CAAC,EACnB,sBAAsB,CAAC,oBAAoB,CAAC;CAAG;AAEvD,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC;IACvC,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACnC,GAAG,EAAE,mBAAmB,CAAC;IACzB,WAAW,EAAE,wBAAwB,CAAC;IACtC,QAAQ,EAAE,IAAI,CAAC;CAClB,CAAC,CAAC;AAIH,eAAO,MAAM,aAAa;;cAA8C,aAAa,mBAAmB,CAAC;;;eAR9F,mBAAmB,OAAO,CAAC;aAC7B,mBAAmB;qBACX,wBAAwB;kBAC3B,IAAI;;CA6GjB,CAAC"}