@coveord/plasma-mantine 53.1.4 → 54.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (394) hide show
  1. package/.eslintrc.js +1 -5
  2. package/.turbo/turbo-build.log +3 -3
  3. package/.turbo/turbo-test.log +42 -37
  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/collection/Collection.d.ts.map +1 -1
  12. package/dist/cjs/components/collection/CollectionContext.d.ts +1 -1
  13. package/dist/cjs/components/collection/CollectionContext.d.ts.map +1 -1
  14. package/dist/cjs/components/collection/enhanceWithCollectionProps.d.ts +1 -6
  15. package/dist/cjs/components/collection/enhanceWithCollectionProps.d.ts.map +1 -1
  16. package/dist/cjs/components/date-range-picker/DateRangePickerPopoverCalendar.d.ts.map +1 -1
  17. package/dist/cjs/components/date-range-picker/DateRangePickerPresetSelect.d.ts.map +1 -1
  18. package/dist/cjs/components/header/Header.context.d.ts +1 -1
  19. package/dist/cjs/components/header/Header.context.d.ts.map +1 -1
  20. package/dist/cjs/components/header/__tests__/__snapshots__/Header.spec.tsx.snap +10 -15
  21. package/dist/cjs/components/inline-confirm/InlineConfirm.d.ts +10 -2
  22. package/dist/cjs/components/inline-confirm/InlineConfirm.d.ts.map +1 -1
  23. package/dist/cjs/components/inline-confirm/InlineConfirm.js +2 -1
  24. package/dist/cjs/components/inline-confirm/InlineConfirm.js.map +1 -1
  25. package/dist/cjs/components/inline-confirm/InlineConfirmContext.d.ts +1 -1
  26. package/dist/cjs/components/inline-confirm/InlineConfirmContext.d.ts.map +1 -1
  27. package/dist/cjs/components/inline-confirm/InlineConfirmPrompt.d.ts +2 -5
  28. package/dist/cjs/components/inline-confirm/InlineConfirmPrompt.d.ts.map +1 -1
  29. package/dist/cjs/components/inline-confirm/InlineConfirmPrompt.js +5 -5
  30. package/dist/cjs/components/inline-confirm/InlineConfirmPrompt.js.map +1 -1
  31. package/dist/cjs/components/inline-confirm/InlineConfirmTarget.d.ts +2 -2
  32. package/dist/cjs/components/inline-confirm/InlineConfirmTarget.d.ts.map +1 -1
  33. package/dist/cjs/components/inline-confirm/InlineConfirmTarget.js +3 -3
  34. package/dist/cjs/components/inline-confirm/InlineConfirmTarget.js.map +1 -1
  35. package/dist/cjs/components/menu/Menu.d.ts +1 -1
  36. package/dist/cjs/components/table/Table.d.ts +68 -55
  37. package/dist/cjs/components/table/Table.d.ts.map +1 -1
  38. package/dist/cjs/components/table/Table.js +129 -174
  39. package/dist/cjs/components/table/Table.js.map +1 -1
  40. package/dist/cjs/components/table/Table.module.css +8 -1
  41. package/dist/cjs/components/table/Table.types.d.ts +52 -147
  42. package/dist/cjs/components/table/Table.types.d.ts.map +1 -1
  43. package/dist/cjs/components/table/TableContext.d.ts +15 -10
  44. package/dist/cjs/components/table/TableContext.d.ts.map +1 -1
  45. package/dist/cjs/components/table/TableContext.js +5 -20
  46. package/dist/cjs/components/table/TableContext.js.map +1 -1
  47. package/dist/cjs/components/table/index.d.ts +3 -3
  48. package/dist/cjs/components/table/index.d.ts.map +1 -1
  49. package/dist/cjs/components/table/index.js +5 -1
  50. package/dist/cjs/components/table/index.js.map +1 -1
  51. package/dist/cjs/components/table/layouts/TableLayoutControl.js +6 -6
  52. package/dist/cjs/components/table/layouts/TableLayoutControl.js.map +1 -1
  53. package/dist/cjs/components/table/layouts/TableLayouts.d.ts +1 -22
  54. package/dist/cjs/components/table/layouts/TableLayouts.d.ts.map +1 -1
  55. package/dist/cjs/components/table/layouts/TableLayouts.js.map +1 -1
  56. package/dist/cjs/components/table/layouts/row-layout/RowLayout.d.ts +1 -2
  57. package/dist/cjs/components/table/layouts/row-layout/RowLayout.d.ts.map +1 -1
  58. package/dist/cjs/components/table/layouts/row-layout/RowLayout.js.map +1 -1
  59. package/dist/cjs/components/table/layouts/row-layout/RowLayoutBody.d.ts +2 -3
  60. package/dist/cjs/components/table/layouts/row-layout/RowLayoutBody.d.ts.map +1 -1
  61. package/dist/cjs/components/table/layouts/row-layout/RowLayoutBody.js +17 -18
  62. package/dist/cjs/components/table/layouts/row-layout/RowLayoutBody.js.map +1 -1
  63. package/dist/cjs/components/table/layouts/row-layout/RowLayoutContext.d.ts +1 -1
  64. package/dist/cjs/components/table/layouts/row-layout/RowLayoutContext.d.ts.map +1 -1
  65. package/dist/cjs/components/table/layouts/row-layout/RowLayoutHeader.d.ts +2 -3
  66. package/dist/cjs/components/table/layouts/row-layout/RowLayoutHeader.d.ts.map +1 -1
  67. package/dist/cjs/components/table/layouts/row-layout/RowLayoutHeader.js +9 -8
  68. package/dist/cjs/components/table/layouts/row-layout/RowLayoutHeader.js.map +1 -1
  69. package/dist/cjs/components/table/layouts/row-layout/RowLayoutIcon.d.ts +1 -5
  70. package/dist/cjs/components/table/layouts/row-layout/RowLayoutIcon.d.ts.map +1 -1
  71. package/dist/cjs/components/table/layouts/row-layout/RowLayoutIcon.js +3 -9
  72. package/dist/cjs/components/table/layouts/row-layout/RowLayoutIcon.js.map +1 -1
  73. package/dist/cjs/components/table/table-actions/TableActionContext.d.ts +9 -0
  74. package/dist/cjs/components/table/table-actions/TableActionContext.d.ts.map +1 -0
  75. package/dist/cjs/components/table/table-actions/TableActionContext.js +24 -0
  76. package/dist/cjs/components/table/table-actions/TableActionContext.js.map +1 -0
  77. package/dist/cjs/components/table/table-actions/TableActionItem.d.ts +44 -0
  78. package/dist/cjs/components/table/table-actions/TableActionItem.d.ts.map +1 -0
  79. package/dist/cjs/components/table/table-actions/TableActionItem.js +59 -0
  80. package/dist/cjs/components/table/table-actions/TableActionItem.js.map +1 -0
  81. package/dist/cjs/components/table/table-actions/TableActionsList.d.ts +37 -0
  82. package/dist/cjs/components/table/table-actions/TableActionsList.d.ts.map +1 -0
  83. package/dist/cjs/components/table/table-actions/TableActionsList.js +217 -0
  84. package/dist/cjs/components/table/table-actions/TableActionsList.js.map +1 -0
  85. package/dist/cjs/components/table/table-actions/TableHeaderActions.d.ts +11 -0
  86. package/dist/cjs/components/table/table-actions/TableHeaderActions.d.ts.map +1 -0
  87. package/dist/cjs/components/table/table-actions/TableHeaderActions.js +59 -0
  88. package/dist/cjs/components/table/table-actions/TableHeaderActions.js.map +1 -0
  89. package/dist/cjs/components/table/table-actions/index.d.ts +3 -0
  90. package/dist/cjs/components/table/table-actions/index.d.ts.map +1 -0
  91. package/dist/cjs/components/table/table-actions/index.js +9 -0
  92. package/dist/cjs/components/table/table-actions/index.js.map +1 -0
  93. package/dist/cjs/components/table/table-column/TableActionsColumn.d.ts +6 -0
  94. package/dist/cjs/components/table/table-column/TableActionsColumn.d.ts.map +1 -0
  95. package/dist/cjs/components/table/table-column/TableActionsColumn.js +53 -0
  96. package/dist/cjs/components/table/table-column/TableActionsColumn.js.map +1 -0
  97. package/dist/cjs/components/table/table-column/TableCollapsibleColumn.d.ts.map +1 -1
  98. package/dist/cjs/components/table/table-column/TableCollapsibleColumn.js +6 -2
  99. package/dist/cjs/components/table/table-column/TableCollapsibleColumn.js.map +1 -1
  100. package/dist/cjs/components/table/table-column/TableSelectableColumn.d.ts.map +1 -1
  101. package/dist/cjs/components/table/table-column/TableSelectableColumn.js +4 -0
  102. package/dist/cjs/components/table/table-column/TableSelectableColumn.js.map +1 -1
  103. package/dist/cjs/components/table/table-columns-selector/TableColumnsSelector.d.ts +7 -12
  104. package/dist/cjs/components/table/table-columns-selector/TableColumnsSelector.d.ts.map +1 -1
  105. package/dist/cjs/components/table/table-columns-selector/TableColumnsSelector.js +24 -20
  106. package/dist/cjs/components/table/table-columns-selector/TableColumnsSelector.js.map +1 -1
  107. package/dist/cjs/components/table/table-date-range-picker/TableDateRangePicker.d.ts +1 -2
  108. package/dist/cjs/components/table/table-date-range-picker/TableDateRangePicker.d.ts.map +1 -1
  109. package/dist/cjs/components/table/table-date-range-picker/TableDateRangePicker.js +7 -7
  110. package/dist/cjs/components/table/table-date-range-picker/TableDateRangePicker.js.map +1 -1
  111. package/dist/cjs/components/table/table-filter/TableFilter.d.ts +1 -2
  112. package/dist/cjs/components/table/table-filter/TableFilter.d.ts.map +1 -1
  113. package/dist/cjs/components/table/table-filter/TableFilter.js +11 -16
  114. package/dist/cjs/components/table/table-filter/TableFilter.js.map +1 -1
  115. package/dist/cjs/components/table/table-header/TableHeader.d.ts +7 -2
  116. package/dist/cjs/components/table/table-header/TableHeader.d.ts.map +1 -1
  117. package/dist/cjs/components/table/table-header/TableHeader.js +15 -12
  118. package/dist/cjs/components/table/table-header/TableHeader.js.map +1 -1
  119. package/dist/cjs/components/table/table-header/Th.d.ts +1 -2
  120. package/dist/cjs/components/table/table-header/Th.d.ts.map +1 -1
  121. package/dist/cjs/components/table/table-header/Th.js +7 -3
  122. package/dist/cjs/components/table/table-header/Th.js.map +1 -1
  123. package/dist/cjs/components/table/table-last-updated/TableLastUpdated.d.ts +1 -3
  124. package/dist/cjs/components/table/table-last-updated/TableLastUpdated.d.ts.map +1 -1
  125. package/dist/cjs/components/table/table-last-updated/TableLastUpdated.js +6 -9
  126. package/dist/cjs/components/table/table-last-updated/TableLastUpdated.js.map +1 -1
  127. package/dist/cjs/components/table/table-no-data/TableNoData.d.ts +6 -0
  128. package/dist/cjs/components/table/table-no-data/TableNoData.d.ts.map +1 -0
  129. package/dist/cjs/components/table/{table-consumer/TableConsumer.js → table-no-data/TableNoData.js} +4 -4
  130. package/dist/cjs/components/table/table-no-data/TableNoData.js.map +1 -0
  131. package/dist/cjs/components/table/table-pagination/TablePagination.d.ts.map +1 -1
  132. package/dist/cjs/components/table/table-pagination/TablePagination.js +9 -11
  133. package/dist/cjs/components/table/table-pagination/TablePagination.js.map +1 -1
  134. package/dist/cjs/components/table/table-pagination/TablePagination.types.d.ts +0 -4
  135. package/dist/cjs/components/table/table-pagination/TablePagination.types.d.ts.map +1 -1
  136. package/dist/cjs/components/table/table-per-page/TablePerPage.d.ts.map +1 -1
  137. package/dist/cjs/components/table/table-per-page/TablePerPage.js +16 -16
  138. package/dist/cjs/components/table/table-per-page/TablePerPage.js.map +1 -1
  139. package/dist/cjs/components/table/table-predicate/TablePredicate.d.ts +1 -2
  140. package/dist/cjs/components/table/table-predicate/TablePredicate.d.ts.map +1 -1
  141. package/dist/cjs/components/table/table-predicate/TablePredicate.js +12 -14
  142. package/dist/cjs/components/table/table-predicate/TablePredicate.js.map +1 -1
  143. package/dist/cjs/components/table/use-table.d.ts +182 -0
  144. package/dist/cjs/components/table/use-table.d.ts.map +1 -0
  145. package/dist/cjs/components/table/use-table.js +145 -0
  146. package/dist/cjs/components/table/use-table.js.map +1 -0
  147. package/dist/cjs/hooks/useControlledList.d.ts.map +1 -1
  148. package/dist/cjs/index.d.ts +11 -1
  149. package/dist/cjs/index.d.ts.map +1 -1
  150. package/dist/cjs/index.js.map +1 -1
  151. package/dist/cjs/theme/Theme.d.ts.map +1 -1
  152. package/dist/cjs/theme/Theme.js +0 -7
  153. package/dist/cjs/theme/Theme.js.map +1 -1
  154. package/dist/cjs/utils/createFactoryComponent.d.ts.map +1 -1
  155. package/dist/cjs/utils/overrideComponent.d.ts.map +1 -1
  156. package/dist/esm/components/button/Button.d.ts +1 -2
  157. package/dist/esm/components/button/Button.d.ts.map +1 -1
  158. package/dist/esm/components/button/Button.js.map +1 -1
  159. package/dist/esm/components/code-editor/CodeEditor.d.ts.map +1 -1
  160. package/dist/esm/components/code-editor/CodeEditor.js +2 -4
  161. package/dist/esm/components/code-editor/CodeEditor.js.map +1 -1
  162. package/dist/esm/components/collection/Collection.d.ts.map +1 -1
  163. package/dist/esm/components/collection/CollectionContext.d.ts +1 -1
  164. package/dist/esm/components/collection/CollectionContext.d.ts.map +1 -1
  165. package/dist/esm/components/collection/enhanceWithCollectionProps.d.ts +1 -6
  166. package/dist/esm/components/collection/enhanceWithCollectionProps.d.ts.map +1 -1
  167. package/dist/esm/components/date-range-picker/DateRangePickerPopoverCalendar.d.ts.map +1 -1
  168. package/dist/esm/components/date-range-picker/DateRangePickerPresetSelect.d.ts.map +1 -1
  169. package/dist/esm/components/header/Header.context.d.ts +1 -1
  170. package/dist/esm/components/header/Header.context.d.ts.map +1 -1
  171. package/dist/esm/components/header/__tests__/__snapshots__/Header.spec.tsx.snap +10 -15
  172. package/dist/esm/components/inline-confirm/InlineConfirm.d.ts +10 -2
  173. package/dist/esm/components/inline-confirm/InlineConfirm.d.ts.map +1 -1
  174. package/dist/esm/components/inline-confirm/InlineConfirm.js +1 -1
  175. package/dist/esm/components/inline-confirm/InlineConfirm.js.map +1 -1
  176. package/dist/esm/components/inline-confirm/InlineConfirmContext.d.ts +1 -1
  177. package/dist/esm/components/inline-confirm/InlineConfirmContext.d.ts.map +1 -1
  178. package/dist/esm/components/inline-confirm/InlineConfirmPrompt.d.ts +2 -5
  179. package/dist/esm/components/inline-confirm/InlineConfirmPrompt.d.ts.map +1 -1
  180. package/dist/esm/components/inline-confirm/InlineConfirmPrompt.js +4 -4
  181. package/dist/esm/components/inline-confirm/InlineConfirmPrompt.js.map +1 -1
  182. package/dist/esm/components/inline-confirm/InlineConfirmTarget.d.ts +2 -2
  183. package/dist/esm/components/inline-confirm/InlineConfirmTarget.d.ts.map +1 -1
  184. package/dist/esm/components/inline-confirm/InlineConfirmTarget.js +2 -2
  185. package/dist/esm/components/inline-confirm/InlineConfirmTarget.js.map +1 -1
  186. package/dist/esm/components/menu/Menu.d.ts +1 -1
  187. package/dist/esm/components/table/Table.d.ts +68 -55
  188. package/dist/esm/components/table/Table.d.ts.map +1 -1
  189. package/dist/esm/components/table/Table.js +122 -157
  190. package/dist/esm/components/table/Table.js.map +1 -1
  191. package/dist/esm/components/table/Table.module.css +8 -1
  192. package/dist/esm/components/table/Table.types.d.ts +52 -147
  193. package/dist/esm/components/table/Table.types.d.ts.map +1 -1
  194. package/dist/esm/components/table/Table.types.js.map +1 -1
  195. package/dist/esm/components/table/TableContext.d.ts +15 -10
  196. package/dist/esm/components/table/TableContext.d.ts.map +1 -1
  197. package/dist/esm/components/table/TableContext.js +1 -10
  198. package/dist/esm/components/table/TableContext.js.map +1 -1
  199. package/dist/esm/components/table/index.d.ts +3 -3
  200. package/dist/esm/components/table/index.d.ts.map +1 -1
  201. package/dist/esm/components/table/index.js +2 -1
  202. package/dist/esm/components/table/index.js.map +1 -1
  203. package/dist/esm/components/table/layouts/TableLayoutControl.js +4 -4
  204. package/dist/esm/components/table/layouts/TableLayoutControl.js.map +1 -1
  205. package/dist/esm/components/table/layouts/TableLayouts.d.ts +1 -22
  206. package/dist/esm/components/table/layouts/TableLayouts.d.ts.map +1 -1
  207. package/dist/esm/components/table/layouts/TableLayouts.js.map +1 -1
  208. package/dist/esm/components/table/layouts/row-layout/RowLayout.d.ts +1 -2
  209. package/dist/esm/components/table/layouts/row-layout/RowLayout.d.ts.map +1 -1
  210. package/dist/esm/components/table/layouts/row-layout/RowLayout.js.map +1 -1
  211. package/dist/esm/components/table/layouts/row-layout/RowLayoutBody.d.ts +2 -3
  212. package/dist/esm/components/table/layouts/row-layout/RowLayoutBody.d.ts.map +1 -1
  213. package/dist/esm/components/table/layouts/row-layout/RowLayoutBody.js +13 -11
  214. package/dist/esm/components/table/layouts/row-layout/RowLayoutBody.js.map +1 -1
  215. package/dist/esm/components/table/layouts/row-layout/RowLayoutContext.d.ts +1 -1
  216. package/dist/esm/components/table/layouts/row-layout/RowLayoutContext.d.ts.map +1 -1
  217. package/dist/esm/components/table/layouts/row-layout/RowLayoutHeader.d.ts +2 -3
  218. package/dist/esm/components/table/layouts/row-layout/RowLayoutHeader.d.ts.map +1 -1
  219. package/dist/esm/components/table/layouts/row-layout/RowLayoutHeader.js +5 -5
  220. package/dist/esm/components/table/layouts/row-layout/RowLayoutHeader.js.map +1 -1
  221. package/dist/esm/components/table/layouts/row-layout/RowLayoutIcon.d.ts +1 -5
  222. package/dist/esm/components/table/layouts/row-layout/RowLayoutIcon.d.ts.map +1 -1
  223. package/dist/esm/components/table/layouts/row-layout/RowLayoutIcon.js +2 -8
  224. package/dist/esm/components/table/layouts/row-layout/RowLayoutIcon.js.map +1 -1
  225. package/dist/esm/components/table/table-actions/TableActionContext.d.ts +9 -0
  226. package/dist/esm/components/table/table-actions/TableActionContext.d.ts.map +1 -0
  227. package/dist/esm/components/table/table-actions/TableActionContext.js +4 -0
  228. package/dist/esm/components/table/table-actions/TableActionContext.js.map +1 -0
  229. package/dist/esm/components/table/table-actions/TableActionItem.d.ts +44 -0
  230. package/dist/esm/components/table/table-actions/TableActionItem.d.ts.map +1 -0
  231. package/dist/esm/components/table/table-actions/TableActionItem.js +40 -0
  232. package/dist/esm/components/table/table-actions/TableActionItem.js.map +1 -0
  233. package/dist/esm/components/table/table-actions/TableActionsList.d.ts +37 -0
  234. package/dist/esm/components/table/table-actions/TableActionsList.d.ts.map +1 -0
  235. package/dist/esm/components/table/table-actions/TableActionsList.js +187 -0
  236. package/dist/esm/components/table/table-actions/TableActionsList.js.map +1 -0
  237. package/dist/esm/components/table/table-actions/TableHeaderActions.d.ts +11 -0
  238. package/dist/esm/components/table/table-actions/TableHeaderActions.d.ts.map +1 -0
  239. package/dist/esm/components/table/table-actions/TableHeaderActions.js +43 -0
  240. package/dist/esm/components/table/table-actions/TableHeaderActions.js.map +1 -0
  241. package/dist/esm/components/table/table-actions/index.d.ts +3 -0
  242. package/dist/esm/components/table/table-actions/index.d.ts.map +1 -0
  243. package/dist/esm/components/table/table-actions/index.js +4 -0
  244. package/dist/esm/components/table/table-actions/index.js.map +1 -0
  245. package/dist/esm/components/table/table-column/TableActionsColumn.d.ts +6 -0
  246. package/dist/esm/components/table/table-column/TableActionsColumn.d.ts.map +1 -0
  247. package/dist/esm/components/table/table-column/TableActionsColumn.js +40 -0
  248. package/dist/esm/components/table/table-column/TableActionsColumn.js.map +1 -0
  249. package/dist/esm/components/table/table-column/TableCollapsibleColumn.d.ts.map +1 -1
  250. package/dist/esm/components/table/table-column/TableCollapsibleColumn.js +7 -3
  251. package/dist/esm/components/table/table-column/TableCollapsibleColumn.js.map +1 -1
  252. package/dist/esm/components/table/table-column/TableSelectableColumn.d.ts.map +1 -1
  253. package/dist/esm/components/table/table-column/TableSelectableColumn.js +4 -0
  254. package/dist/esm/components/table/table-column/TableSelectableColumn.js.map +1 -1
  255. package/dist/esm/components/table/table-columns-selector/TableColumnsSelector.d.ts +7 -12
  256. package/dist/esm/components/table/table-columns-selector/TableColumnsSelector.d.ts.map +1 -1
  257. package/dist/esm/components/table/table-columns-selector/TableColumnsSelector.js +22 -20
  258. package/dist/esm/components/table/table-columns-selector/TableColumnsSelector.js.map +1 -1
  259. package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.d.ts +1 -2
  260. package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.d.ts.map +1 -1
  261. package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.js +8 -8
  262. package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.js.map +1 -1
  263. package/dist/esm/components/table/table-filter/TableFilter.d.ts +1 -2
  264. package/dist/esm/components/table/table-filter/TableFilter.d.ts.map +1 -1
  265. package/dist/esm/components/table/table-filter/TableFilter.js +14 -18
  266. package/dist/esm/components/table/table-filter/TableFilter.js.map +1 -1
  267. package/dist/esm/components/table/table-header/TableHeader.d.ts +7 -2
  268. package/dist/esm/components/table/table-header/TableHeader.d.ts.map +1 -1
  269. package/dist/esm/components/table/table-header/TableHeader.js +15 -13
  270. package/dist/esm/components/table/table-header/TableHeader.js.map +1 -1
  271. package/dist/esm/components/table/table-header/Th.d.ts +1 -2
  272. package/dist/esm/components/table/table-header/Th.d.ts.map +1 -1
  273. package/dist/esm/components/table/table-header/Th.js +8 -4
  274. package/dist/esm/components/table/table-header/Th.js.map +1 -1
  275. package/dist/esm/components/table/table-last-updated/TableLastUpdated.d.ts +1 -3
  276. package/dist/esm/components/table/table-last-updated/TableLastUpdated.d.ts.map +1 -1
  277. package/dist/esm/components/table/table-last-updated/TableLastUpdated.js +6 -8
  278. package/dist/esm/components/table/table-last-updated/TableLastUpdated.js.map +1 -1
  279. package/dist/esm/components/table/table-no-data/TableNoData.d.ts +6 -0
  280. package/dist/esm/components/table/table-no-data/TableNoData.d.ts.map +1 -0
  281. package/dist/esm/components/table/table-no-data/TableNoData.js +6 -0
  282. package/dist/esm/components/table/table-no-data/TableNoData.js.map +1 -0
  283. package/dist/esm/components/table/table-pagination/TablePagination.d.ts.map +1 -1
  284. package/dist/esm/components/table/table-pagination/TablePagination.js +10 -13
  285. package/dist/esm/components/table/table-pagination/TablePagination.js.map +1 -1
  286. package/dist/esm/components/table/table-pagination/TablePagination.types.d.ts +0 -4
  287. package/dist/esm/components/table/table-pagination/TablePagination.types.d.ts.map +1 -1
  288. package/dist/esm/components/table/table-pagination/TablePagination.types.js.map +1 -1
  289. package/dist/esm/components/table/table-per-page/TablePerPage.d.ts.map +1 -1
  290. package/dist/esm/components/table/table-per-page/TablePerPage.js +13 -12
  291. package/dist/esm/components/table/table-per-page/TablePerPage.js.map +1 -1
  292. package/dist/esm/components/table/table-predicate/TablePredicate.d.ts +1 -2
  293. package/dist/esm/components/table/table-predicate/TablePredicate.d.ts.map +1 -1
  294. package/dist/esm/components/table/table-predicate/TablePredicate.js +14 -18
  295. package/dist/esm/components/table/table-predicate/TablePredicate.js.map +1 -1
  296. package/dist/esm/components/table/use-table.d.ts +182 -0
  297. package/dist/esm/components/table/use-table.d.ts.map +1 -0
  298. package/dist/esm/components/table/use-table.js +122 -0
  299. package/dist/esm/components/table/use-table.js.map +1 -0
  300. package/dist/esm/hooks/useControlledList.d.ts.map +1 -1
  301. package/dist/esm/index.d.ts +11 -1
  302. package/dist/esm/index.d.ts.map +1 -1
  303. package/dist/esm/index.js.map +1 -1
  304. package/dist/esm/theme/Theme.d.ts.map +1 -1
  305. package/dist/esm/theme/Theme.js +1 -8
  306. package/dist/esm/theme/Theme.js.map +1 -1
  307. package/dist/esm/utils/createFactoryComponent.d.ts.map +1 -1
  308. package/dist/esm/utils/overrideComponent.d.ts.map +1 -1
  309. package/package.json +61 -46
  310. package/src/__tests__/Utils.tsx +3 -1
  311. package/src/components/button/Button.tsx +3 -1
  312. package/src/components/button/__tests__/ButtonWithDisabledTooltip.spec.tsx +1 -1
  313. package/src/components/code-editor/CodeEditor.tsx +1 -7
  314. package/src/components/date-range-picker/__tests__/DateRangePickerPopoverCalendar.spec.tsx +4 -4
  315. package/src/components/header/__tests__/Header.spec.tsx +21 -22
  316. package/src/components/header/__tests__/__snapshots__/Header.spec.tsx.snap +10 -15
  317. package/src/components/inline-confirm/InlineConfirm.tsx +12 -4
  318. package/src/components/inline-confirm/InlineConfirmPrompt.tsx +6 -9
  319. package/src/components/inline-confirm/InlineConfirmTarget.tsx +9 -4
  320. package/src/components/inline-confirm/__tests__/InlineConfirm.spec.tsx +39 -14
  321. package/src/components/table/Table.module.css +8 -1
  322. package/src/components/table/Table.tsx +148 -170
  323. package/src/components/table/Table.types.ts +57 -160
  324. package/src/components/table/TableContext.tsx +17 -16
  325. package/src/components/table/__tests__/Table.spec.tsx +176 -200
  326. package/src/components/table/__tests__/TableActions.spec.tsx +142 -31
  327. package/src/components/table/__tests__/TableCollapsibleColumn.spec.tsx +88 -0
  328. package/src/components/table/__tests__/TableColumnsSelector.spec.tsx +164 -123
  329. package/src/components/table/__tests__/TableDateRangePicker.spec.tsx +13 -17
  330. package/src/components/table/__tests__/TableFilter.spec.tsx +52 -96
  331. package/src/components/table/__tests__/TableLastUpdated.spec.tsx +18 -37
  332. package/src/components/table/__tests__/TablePagination.spec.tsx +84 -100
  333. package/src/components/table/__tests__/TablePerPage.spec.tsx +81 -104
  334. package/src/components/table/__tests__/TablePredicate.spec.tsx +26 -80
  335. package/src/components/table/__tests__/Th.spec.tsx +24 -19
  336. package/src/components/table/index.ts +3 -9
  337. package/src/components/table/layouts/TableLayoutControl.tsx +4 -4
  338. package/src/components/table/layouts/TableLayouts.tsx +0 -22
  339. package/src/components/table/layouts/__tests__/RowLayout.spec.tsx +210 -182
  340. package/src/components/table/layouts/row-layout/RowLayout.tsx +2 -2
  341. package/src/components/table/layouts/row-layout/RowLayoutBody.tsx +17 -17
  342. package/src/components/table/layouts/row-layout/RowLayoutHeader.tsx +18 -9
  343. package/src/components/table/layouts/row-layout/RowLayoutIcon.tsx +3 -8
  344. package/src/components/table/table-actions/TableActionContext.ts +9 -0
  345. package/src/components/table/table-actions/TableActionItem.tsx +80 -0
  346. package/src/components/table/table-actions/TableActionsList.tsx +209 -0
  347. package/src/components/table/table-actions/TableHeaderActions.tsx +56 -0
  348. package/src/components/table/table-actions/index.ts +2 -0
  349. package/src/components/table/table-column/TableActionsColumn.tsx +39 -0
  350. package/src/components/table/table-column/TableCollapsibleColumn.tsx +7 -3
  351. package/src/components/table/table-column/TableSelectableColumn.tsx +4 -0
  352. package/src/components/table/table-columns-selector/TableColumnsSelector.tsx +33 -28
  353. package/src/components/table/table-date-range-picker/TableDateRangePicker.tsx +9 -11
  354. package/src/components/table/table-filter/TableFilter.tsx +12 -18
  355. package/src/components/table/table-header/TableHeader.tsx +32 -15
  356. package/src/components/table/table-header/Th.tsx +8 -7
  357. package/src/components/table/table-last-updated/TableLastUpdated.tsx +7 -10
  358. package/src/components/table/table-no-data/TableNoData.tsx +7 -0
  359. package/src/components/table/table-pagination/TablePagination.tsx +8 -11
  360. package/src/components/table/table-pagination/TablePagination.types.ts +0 -4
  361. package/src/components/table/table-per-page/TablePerPage.tsx +8 -10
  362. package/src/components/table/table-predicate/TablePredicate.tsx +21 -17
  363. package/src/components/table/use-table.ts +323 -0
  364. package/src/index.ts +11 -1
  365. package/src/theme/Theme.tsx +0 -6
  366. package/dist/cjs/components/table/table-actions/TableActions.d.ts +0 -38
  367. package/dist/cjs/components/table/table-actions/TableActions.d.ts.map +0 -1
  368. package/dist/cjs/components/table/table-actions/TableActions.js +0 -47
  369. package/dist/cjs/components/table/table-actions/TableActions.js.map +0 -1
  370. package/dist/cjs/components/table/table-consumer/TableConsumer.d.ts +0 -5
  371. package/dist/cjs/components/table/table-consumer/TableConsumer.d.ts.map +0 -1
  372. package/dist/cjs/components/table/table-consumer/TableConsumer.js.map +0 -1
  373. package/dist/cjs/hooks/useRowSelection.d.ts +0 -10
  374. package/dist/cjs/hooks/useRowSelection.d.ts.map +0 -1
  375. package/dist/cjs/hooks/useRowSelection.js +0 -80
  376. package/dist/cjs/hooks/useRowSelection.js.map +0 -1
  377. package/dist/cjs/styles/Title.module.css +0 -5
  378. package/dist/esm/components/table/table-actions/TableActions.d.ts +0 -38
  379. package/dist/esm/components/table/table-actions/TableActions.d.ts.map +0 -1
  380. package/dist/esm/components/table/table-actions/TableActions.js +0 -29
  381. package/dist/esm/components/table/table-actions/TableActions.js.map +0 -1
  382. package/dist/esm/components/table/table-consumer/TableConsumer.d.ts +0 -5
  383. package/dist/esm/components/table/table-consumer/TableConsumer.d.ts.map +0 -1
  384. package/dist/esm/components/table/table-consumer/TableConsumer.js +0 -6
  385. package/dist/esm/components/table/table-consumer/TableConsumer.js.map +0 -1
  386. package/dist/esm/hooks/useRowSelection.d.ts +0 -10
  387. package/dist/esm/hooks/useRowSelection.d.ts.map +0 -1
  388. package/dist/esm/hooks/useRowSelection.js +0 -59
  389. package/dist/esm/hooks/useRowSelection.js.map +0 -1
  390. package/dist/esm/styles/Title.module.css +0 -5
  391. package/src/components/table/table-actions/TableActions.tsx +0 -67
  392. package/src/components/table/table-consumer/TableConsumer.tsx +0 -3
  393. package/src/hooks/useRowSelection.ts +0 -76
  394. package/src/styles/Title.module.css +0 -5
@@ -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 {
@@ -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":"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"}
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,iBAEN,mBAAmB,KAAK,CAAC,KAAK,YAAY,EAFlC,eAAe,eAEkC,kBAAkB,KAAK,CAAE,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"}