@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 +1 @@
1
- {"version":3,"file":"TableFilter.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/table-filter/TableFilter.tsx"],"names":[],"mappings":"AACA,OAAO,EAAa,QAAQ,EAAW,OAAO,EAA4B,MAAM,eAAe,CAAC;AAChG,OAAO,EAAC,sBAAsB,EAAC,MAAM,oDAAoD,CAAC;AAO1F,MAAM,MAAM,sBAAsB,GAAG,YAAY,GAAG,eAAe,GAAG,aAAa,CAAC;AAEpF,MAAM,WAAW,gBAAiB,SAAQ,QAAQ,EAAE,sBAAsB,CAAC,kBAAkB,CAAC;IAC1F;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC;IACrC,KAAK,EAAE,gBAAgB,CAAC;IACxB,GAAG,EAAE,cAAc,CAAC;IACpB,WAAW,EAAE,sBAAsB,CAAC;IACpC,QAAQ,EAAE,IAAI,CAAC;CAClB,CAAC,CAAC;AAMH,eAAO,MAAM,WAAW;WAVb,gBAAgB;SAClB,cAAc;iBACN,sBAAsB;cACzB,IAAI;EAsEhB,CAAC"}
1
+ {"version":3,"file":"TableFilter.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/table-filter/TableFilter.tsx"],"names":[],"mappings":"AACA,OAAO,EAAa,QAAQ,EAAE,sBAAsB,EAAE,OAAO,EAAqC,MAAM,eAAe,CAAC;AAOxH,MAAM,MAAM,sBAAsB,GAAG,YAAY,GAAG,eAAe,GAAG,aAAa,CAAC;AAEpF,MAAM,WAAW,gBAAiB,SAAQ,QAAQ,EAAE,sBAAsB,CAAC,kBAAkB,CAAC;IAC1F;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC;IACrC,KAAK,EAAE,gBAAgB,CAAC;IACxB,GAAG,EAAE,cAAc,CAAC;IACpB,WAAW,EAAE,sBAAsB,CAAC;IACpC,QAAQ,EAAE,IAAI,CAAC;CAClB,CAAC,CAAC;AAMH,eAAO,MAAM,WAAW;WAVb,gBAAgB;SAClB,cAAc;iBACN,sBAAsB;cACzB,IAAI;EAiEhB,CAAC"}
@@ -1,28 +1,24 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { CrossSize16Px, FilterSize16Px } from '@coveord/plasma-react-icons';
3
- import { ActionIcon, factory, Grid, TextInput, useProps } from '@mantine/core';
3
+ import { ActionIcon, Grid, TextInput, factory, useProps } from '@mantine/core';
4
4
  import { useDebouncedValue, useDidUpdate } from '@mantine/hooks';
5
5
  import { useEffect, useState } from 'react';
6
6
  import { TableComponentsOrder } from '../Table';
7
- import { useTable, useTableStyles } from '../TableContext';
7
+ import { useTableContext } from '../TableContext';
8
8
  const defaultProps = {
9
9
  placeholder: 'Search by any field'
10
10
  };
11
11
  export const TableFilter = factory((props, ref)=>{
12
- const ctx = useTableStyles();
12
+ const { store, getStyles } = useTableContext();
13
13
  const { placeholder, classNames, className, styles, style, vars, ...others } = useProps('PlasmaTableFilter', defaultProps, props);
14
- const { state, setState } = useTable();
15
- const [filter, setFilter] = useState(state.globalFilter);
14
+ const [filter, setFilter] = useState(store.state.globalFilter);
16
15
  const [debounced, cancel] = useDebouncedValue(filter, 300);
17
16
  useDidUpdate(()=>{
18
- setState((prevState)=>({
19
- ...prevState,
20
- pagination: prevState.pagination ? {
21
- pageIndex: 0,
22
- pageSize: prevState.pagination.pageSize
23
- } : prevState.pagination,
24
- globalFilter: debounced
25
- }));
17
+ store.setGlobalFilter(debounced);
18
+ store.setPagination({
19
+ pageIndex: 0,
20
+ pageSize: store.state.pagination.pageSize
21
+ });
26
22
  return cancel;
27
23
  }, [
28
24
  debounced
@@ -35,9 +31,9 @@ export const TableFilter = factory((props, ref)=>{
35
31
  setFilter('');
36
32
  };
37
33
  useEffect(()=>{
38
- setFilter(state.globalFilter);
34
+ setFilter(store.state.globalFilter);
39
35
  }, [
40
- state.globalFilter
36
+ store.state.globalFilter
41
37
  ]);
42
38
  const stylesApiProps = {
43
39
  classNames,
@@ -47,14 +43,14 @@ export const TableFilter = factory((props, ref)=>{
47
43
  span: "content",
48
44
  order: TableComponentsOrder.Filter,
49
45
  ref: ref,
50
- ...ctx.getStyles('filterRoot', {
46
+ ...getStyles('filterRoot', {
51
47
  className,
52
48
  style,
53
49
  ...stylesApiProps
54
50
  }),
55
51
  ...others,
56
52
  children: /*#__PURE__*/ _jsx(TextInput, {
57
- ...ctx.getStyles('filterWrapper', stylesApiProps),
53
+ ...getStyles('filterWrapper', stylesApiProps),
58
54
  placeholder: placeholder,
59
55
  autoComplete: "off",
60
56
  rightSection: filter ? /*#__PURE__*/ _jsx(ActionIcon, {
@@ -66,7 +62,7 @@ export const TableFilter = factory((props, ref)=>{
66
62
  })
67
63
  }) : /*#__PURE__*/ _jsx(FilterSize16Px, {
68
64
  height: 16,
69
- ...ctx.getStyles('filterEmpty', stylesApiProps)
65
+ ...getStyles('filterEmpty', stylesApiProps)
70
66
  }),
71
67
  value: filter,
72
68
  onChange: handleChange
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/table/table-filter/TableFilter.tsx"],"sourcesContent":["import {CrossSize16Px, FilterSize16Px} from '@coveord/plasma-react-icons';\nimport {ActionIcon, BoxProps, factory, Factory, Grid, TextInput, useProps} from '@mantine/core';\nimport {CompoundStylesApiProps} from '@mantine/core/lib/core/styles-api/styles-api.types';\nimport {useDebouncedValue, useDidUpdate} from '@mantine/hooks';\nimport {ChangeEventHandler, MouseEventHandler, useEffect, useState} from 'react';\n\nimport {TableComponentsOrder} from '../Table';\nimport {useTable, useTableStyles} from '../TableContext';\n\nexport type TableFilterStylesNames = 'filterRoot' | 'filterWrapper' | 'filterEmpty';\n\nexport interface TableFilterProps extends BoxProps, CompoundStylesApiProps<TableFilterFactory> {\n /**\n * The placeholder for the filter input\n *\n * @default \"Search by any field\"\n */\n placeholder?: string;\n}\n\nexport type TableFilterFactory = Factory<{\n props: TableFilterProps;\n ref: HTMLDivElement;\n stylesNames: TableFilterStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<TableFilterProps> = {\n placeholder: 'Search by any field',\n};\n\nexport const TableFilter = factory<TableFilterFactory>((props, ref) => {\n const ctx = useTableStyles();\n const {placeholder, classNames, className, styles, style, vars, ...others} = useProps(\n 'PlasmaTableFilter',\n defaultProps,\n props,\n );\n const {state, setState} = useTable();\n const [filter, setFilter] = useState(state.globalFilter);\n const [debounced, cancel] = useDebouncedValue(filter, 300);\n\n useDidUpdate(() => {\n setState((prevState) => ({\n ...prevState,\n pagination: prevState.pagination\n ? {pageIndex: 0, pageSize: prevState.pagination.pageSize}\n : prevState.pagination,\n globalFilter: debounced,\n }));\n return cancel;\n }, [debounced]);\n\n const handleChange: ChangeEventHandler<HTMLInputElement> = (event) => {\n const {value} = event.currentTarget;\n setFilter(value);\n };\n\n const handleClear: MouseEventHandler<HTMLButtonElement> = () => {\n setFilter('');\n };\n\n useEffect(() => {\n setFilter(state.globalFilter);\n }, [state.globalFilter]);\n\n const stylesApiProps = {classNames, styles};\n\n return (\n <Grid.Col\n span=\"content\"\n order={TableComponentsOrder.Filter}\n ref={ref}\n {...ctx.getStyles('filterRoot', {className, style, ...stylesApiProps})}\n {...others}\n >\n <TextInput\n {...ctx.getStyles('filterWrapper', stylesApiProps)}\n placeholder={placeholder}\n autoComplete=\"off\"\n rightSection={\n filter ? (\n <ActionIcon onClick={handleClear} color=\"gray\" variant=\"subtle\">\n <CrossSize16Px height={16} />\n </ActionIcon>\n ) : (\n <FilterSize16Px height={16} {...ctx.getStyles('filterEmpty', stylesApiProps)} />\n )\n }\n value={filter}\n onChange={handleChange}\n />\n </Grid.Col>\n );\n});\n"],"names":["CrossSize16Px","FilterSize16Px","ActionIcon","factory","Grid","TextInput","useProps","useDebouncedValue","useDidUpdate","useEffect","useState","TableComponentsOrder","useTable","useTableStyles","defaultProps","placeholder","TableFilter","props","ref","ctx","classNames","className","styles","style","vars","others","state","setState","filter","setFilter","globalFilter","debounced","cancel","prevState","pagination","pageIndex","pageSize","handleChange","event","value","currentTarget","handleClear","stylesApiProps","Col","span","order","Filter","getStyles","autoComplete","rightSection","onClick","color","variant","height","onChange"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAAA,SAAQA,aAAa,EAAEC,cAAc,QAAO,8BAA8B;AAC1E,SAAQC,UAAU,EAAYC,OAAO,EAAWC,IAAI,EAAEC,SAAS,EAAEC,QAAQ,QAAO,gBAAgB;AAEhG,SAAQC,iBAAiB,EAAEC,YAAY,QAAO,iBAAiB;AAC/D,SAA+CC,SAAS,EAAEC,QAAQ,QAAO,QAAQ;AAEjF,SAAQC,oBAAoB,QAAO,WAAW;AAC9C,SAAQC,QAAQ,EAAEC,cAAc,QAAO,kBAAkB;AAoBzD,MAAMC,eAA0C;IAC5CC,aAAa;AACjB;AAEA,OAAO,MAAMC,cAAcb,QAA4B,CAACc,OAAOC;IAC3D,MAAMC,MAAMN;IACZ,MAAM,EAACE,WAAW,EAAEK,UAAU,EAAEC,SAAS,EAAEC,MAAM,EAAEC,KAAK,EAAEC,IAAI,EAAE,GAAGC,QAAO,GAAGnB,SACzE,qBACAQ,cACAG;IAEJ,MAAM,EAACS,KAAK,EAAEC,QAAQ,EAAC,GAAGf;IAC1B,MAAM,CAACgB,QAAQC,UAAU,GAAGnB,SAASgB,MAAMI,YAAY;IACvD,MAAM,CAACC,WAAWC,OAAO,GAAGzB,kBAAkBqB,QAAQ;IAEtDpB,aAAa;QACTmB,SAAS,CAACM,YAAe,CAAA;gBACrB,GAAGA,SAAS;gBACZC,YAAYD,UAAUC,UAAU,GAC1B;oBAACC,WAAW;oBAAGC,UAAUH,UAAUC,UAAU,CAACE,QAAQ;gBAAA,IACtDH,UAAUC,UAAU;gBAC1BJ,cAAcC;YAClB,CAAA;QACA,OAAOC;IACX,GAAG;QAACD;KAAU;IAEd,MAAMM,eAAqD,CAACC;QACxD,MAAM,EAACC,KAAK,EAAC,GAAGD,MAAME,aAAa;QACnCX,UAAUU;IACd;IAEA,MAAME,cAAoD;QACtDZ,UAAU;IACd;IAEApB,UAAU;QACNoB,UAAUH,MAAMI,YAAY;IAChC,GAAG;QAACJ,MAAMI,YAAY;KAAC;IAEvB,MAAMY,iBAAiB;QAACtB;QAAYE;IAAM;IAE1C,qBACI,KAAClB,KAAKuC,GAAG;QACLC,MAAK;QACLC,OAAOlC,qBAAqBmC,MAAM;QAClC5B,KAAKA;QACJ,GAAGC,IAAI4B,SAAS,CAAC,cAAc;YAAC1B;YAAWE;YAAO,GAAGmB,cAAc;QAAA,EAAE;QACrE,GAAGjB,MAAM;kBAEV,cAAA,KAACpB;YACI,GAAGc,IAAI4B,SAAS,CAAC,iBAAiBL,eAAe;YAClD3B,aAAaA;YACbiC,cAAa;YACbC,cACIrB,uBACI,KAAC1B;gBAAWgD,SAAST;gBAAaU,OAAM;gBAAOC,SAAQ;0BACnD,cAAA,KAACpD;oBAAcqD,QAAQ;;+BAG3B,KAACpD;gBAAeoD,QAAQ;gBAAK,GAAGlC,IAAI4B,SAAS,CAAC,eAAeL,eAAe;;YAGpFH,OAAOX;YACP0B,UAAUjB;;;AAI1B,GAAG"}
1
+ {"version":3,"sources":["../../../../../src/components/table/table-filter/TableFilter.tsx"],"sourcesContent":["import {CrossSize16Px, FilterSize16Px} from '@coveord/plasma-react-icons';\nimport {ActionIcon, BoxProps, CompoundStylesApiProps, Factory, Grid, TextInput, factory, useProps} from '@mantine/core';\nimport {useDebouncedValue, useDidUpdate} from '@mantine/hooks';\nimport {ChangeEventHandler, MouseEventHandler, useEffect, useState} from 'react';\n\nimport {TableComponentsOrder} from '../Table';\nimport {useTableContext} from '../TableContext';\n\nexport type TableFilterStylesNames = 'filterRoot' | 'filterWrapper' | 'filterEmpty';\n\nexport interface TableFilterProps extends BoxProps, CompoundStylesApiProps<TableFilterFactory> {\n /**\n * The placeholder for the filter input\n *\n * @default \"Search by any field\"\n */\n placeholder?: string;\n}\n\nexport type TableFilterFactory = Factory<{\n props: TableFilterProps;\n ref: HTMLDivElement;\n stylesNames: TableFilterStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<TableFilterProps> = {\n placeholder: 'Search by any field',\n};\n\nexport const TableFilter = factory<TableFilterFactory>((props, ref) => {\n const {store, getStyles} = useTableContext();\n const {placeholder, classNames, className, styles, style, vars, ...others} = useProps(\n 'PlasmaTableFilter',\n defaultProps,\n props,\n );\n const [filter, setFilter] = useState(store.state.globalFilter);\n const [debounced, cancel] = useDebouncedValue(filter, 300);\n\n useDidUpdate(() => {\n store.setGlobalFilter(debounced);\n store.setPagination({pageIndex: 0, pageSize: store.state.pagination.pageSize});\n\n return cancel;\n }, [debounced]);\n\n const handleChange: ChangeEventHandler<HTMLInputElement> = (event) => {\n const {value} = event.currentTarget;\n setFilter(value);\n };\n\n const handleClear: MouseEventHandler<HTMLButtonElement> = () => {\n setFilter('');\n };\n\n useEffect(() => {\n setFilter(store.state.globalFilter);\n }, [store.state.globalFilter]);\n\n const stylesApiProps = {classNames, styles};\n\n return (\n <Grid.Col\n span=\"content\"\n order={TableComponentsOrder.Filter}\n ref={ref}\n {...getStyles('filterRoot', {className, style, ...stylesApiProps})}\n {...others}\n >\n <TextInput\n {...getStyles('filterWrapper', stylesApiProps)}\n placeholder={placeholder}\n autoComplete=\"off\"\n rightSection={\n filter ? (\n <ActionIcon onClick={handleClear} color=\"gray\" variant=\"subtle\">\n <CrossSize16Px height={16} />\n </ActionIcon>\n ) : (\n <FilterSize16Px height={16} {...getStyles('filterEmpty', stylesApiProps)} />\n )\n }\n value={filter}\n onChange={handleChange}\n />\n </Grid.Col>\n );\n});\n"],"names":["CrossSize16Px","FilterSize16Px","ActionIcon","Grid","TextInput","factory","useProps","useDebouncedValue","useDidUpdate","useEffect","useState","TableComponentsOrder","useTableContext","defaultProps","placeholder","TableFilter","props","ref","store","getStyles","classNames","className","styles","style","vars","others","filter","setFilter","state","globalFilter","debounced","cancel","setGlobalFilter","setPagination","pageIndex","pageSize","pagination","handleChange","event","value","currentTarget","handleClear","stylesApiProps","Col","span","order","Filter","autoComplete","rightSection","onClick","color","variant","height","onChange"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAAA,SAAQA,aAAa,EAAEC,cAAc,QAAO,8BAA8B;AAC1E,SAAQC,UAAU,EAA6CC,IAAI,EAAEC,SAAS,EAAEC,OAAO,EAAEC,QAAQ,QAAO,gBAAgB;AACxH,SAAQC,iBAAiB,EAAEC,YAAY,QAAO,iBAAiB;AAC/D,SAA+CC,SAAS,EAAEC,QAAQ,QAAO,QAAQ;AAEjF,SAAQC,oBAAoB,QAAO,WAAW;AAC9C,SAAQC,eAAe,QAAO,kBAAkB;AAoBhD,MAAMC,eAA0C;IAC5CC,aAAa;AACjB;AAEA,OAAO,MAAMC,cAAcV,QAA4B,CAACW,OAAOC;IAC3D,MAAM,EAACC,KAAK,EAAEC,SAAS,EAAC,GAAGP;IAC3B,MAAM,EAACE,WAAW,EAAEM,UAAU,EAAEC,SAAS,EAAEC,MAAM,EAAEC,KAAK,EAAEC,IAAI,EAAE,GAAGC,QAAO,GAAGnB,SACzE,qBACAO,cACAG;IAEJ,MAAM,CAACU,QAAQC,UAAU,GAAGjB,SAASQ,MAAMU,KAAK,CAACC,YAAY;IAC7D,MAAM,CAACC,WAAWC,OAAO,GAAGxB,kBAAkBmB,QAAQ;IAEtDlB,aAAa;QACTU,MAAMc,eAAe,CAACF;QACtBZ,MAAMe,aAAa,CAAC;YAACC,WAAW;YAAGC,UAAUjB,MAAMU,KAAK,CAACQ,UAAU,CAACD,QAAQ;QAAA;QAE5E,OAAOJ;IACX,GAAG;QAACD;KAAU;IAEd,MAAMO,eAAqD,CAACC;QACxD,MAAM,EAACC,KAAK,EAAC,GAAGD,MAAME,aAAa;QACnCb,UAAUY;IACd;IAEA,MAAME,cAAoD;QACtDd,UAAU;IACd;IAEAlB,UAAU;QACNkB,UAAUT,MAAMU,KAAK,CAACC,YAAY;IACtC,GAAG;QAACX,MAAMU,KAAK,CAACC,YAAY;KAAC;IAE7B,MAAMa,iBAAiB;QAACtB;QAAYE;IAAM;IAE1C,qBACI,KAACnB,KAAKwC,GAAG;QACLC,MAAK;QACLC,OAAOlC,qBAAqBmC,MAAM;QAClC7B,KAAKA;QACJ,GAAGE,UAAU,cAAc;YAACE;YAAWE;YAAO,GAAGmB,cAAc;QAAA,EAAE;QACjE,GAAGjB,MAAM;kBAEV,cAAA,KAACrB;YACI,GAAGe,UAAU,iBAAiBuB,eAAe;YAC9C5B,aAAaA;YACbiC,cAAa;YACbC,cACItB,uBACI,KAACxB;gBAAW+C,SAASR;gBAAaS,OAAM;gBAAOC,SAAQ;0BACnD,cAAA,KAACnD;oBAAcoD,QAAQ;;+BAG3B,KAACnD;gBAAemD,QAAQ;gBAAK,GAAGjC,UAAU,eAAeuB,eAAe;;YAGhFH,OAAOb;YACP2B,UAAUhB;;;AAI1B,GAAG"}
@@ -1,11 +1,16 @@
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 { ReactNode } from 'react';
4
3
  export type TableHeaderStylesNames = 'headerRoot' | 'headerGrid' | 'headerGridInner' | 'headerCol';
5
4
  export interface TableHeaderProps extends Omit<BoxProps, 'classNames' | 'styles' | 'vars'>, CompoundStylesApiProps<TableHeaderFactory> {
6
5
  children?: ReactNode;
7
6
  unselectAllLabel?: string;
8
7
  selectedCountLabel?: (count: number) => string;
8
+ /**
9
+ * Whether to show actions when rows are selected
10
+ *
11
+ * default true
12
+ */
13
+ showActions?: boolean;
9
14
  }
10
15
  export type TableHeaderFactory = Factory<{
11
16
  props: TableHeaderProps;
@@ -1 +1 @@
1
- {"version":3,"file":"TableHeader.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/table-header/TableHeader.tsx"],"names":[],"mappings":"AACA,OAAO,EAAM,QAAQ,EAAW,OAAO,EAA0B,MAAM,eAAe,CAAC;AACvF,OAAO,EAAC,sBAAsB,EAAC,MAAM,oDAAoD,CAAC;AAC1F,OAAO,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAOhC,MAAM,MAAM,sBAAsB,GAAG,YAAY,GAAG,YAAY,GAAG,iBAAiB,GAAG,WAAW,CAAC;AAEnG,MAAM,WAAW,gBACb,SAAQ,IAAI,CAAC,QAAQ,EAAE,YAAY,GAAG,QAAQ,GAAG,MAAM,CAAC,EACpD,sBAAsB,CAAC,kBAAkB,CAAC;IAE9C,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CAClD;AAED,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC;IACrC,KAAK,EAAE,gBAAgB,CAAC;IACxB,GAAG,EAAE,cAAc,CAAC;IACpB,WAAW,EAAE,sBAAsB,CAAC;IACpC,QAAQ,EAAE,IAAI,CAAC;CAClB,CAAC,CAAC;AAOH,eAAO,MAAM,WAAW;WAXb,gBAAgB;SAClB,cAAc;iBACN,sBAAsB;cACzB,IAAI;EAkDhB,CAAC"}
1
+ {"version":3,"file":"TableHeader.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/table-header/TableHeader.tsx"],"names":[],"mappings":"AACA,OAAO,EAAM,QAAQ,EAAE,sBAAsB,EAAW,OAAO,EAA0B,MAAM,eAAe,CAAC;AAC/G,OAAO,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAQhC,MAAM,MAAM,sBAAsB,GAAG,YAAY,GAAG,YAAY,GAAG,iBAAiB,GAAG,WAAW,CAAC;AAEnG,MAAM,WAAW,gBACb,SAAQ,IAAI,CAAC,QAAQ,EAAE,YAAY,GAAG,QAAQ,GAAG,MAAM,CAAC,EACpD,sBAAsB,CAAC,kBAAkB,CAAC;IAE9C,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC/C;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC;IACrC,KAAK,EAAE,gBAAgB,CAAC;IACxB,GAAG,EAAE,cAAc,CAAC;IACpB,WAAW,EAAE,sBAAsB,CAAC;IACpC,QAAQ,EAAE,IAAI,CAAC;CAClB,CAAC,CAAC;AAQH,eAAO,MAAM,WAAW;WAZb,gBAAgB;SAClB,cAAc;iBACN,sBAAsB;cACzB,IAAI;EA6DhB,CAAC"}
@@ -4,25 +4,26 @@ import { Box, factory, Grid, Tooltip, useProps } from '@mantine/core';
4
4
  import { Button } from '../../button';
5
5
  import { TableLayoutControl } from '../layouts/TableLayoutControl';
6
6
  import { TableComponentsOrder } from '../Table';
7
- import { useTable, useTableStyles } from '../TableContext';
7
+ import { TableHeaderActions } from '../table-actions';
8
+ import { useTableContext } from '../TableContext';
8
9
  const defaultProps = {
9
10
  unselectAllLabel: 'Unselect all',
10
- selectedCountLabel: (count)=>`${count} selected`
11
+ selectedCountLabel: (count)=>`${count} selected`,
12
+ showActions: true
11
13
  };
12
14
  export const TableHeader = factory((props, ref)=>{
13
- const ctx = useTableStyles();
14
- const { unselectAllLabel, selectedCountLabel, children, classNames, className, styles, style, vars, ...others } = useProps('PlasmaTableHeader', defaultProps, props);
15
- const { getSelectedRows, multiRowSelectionEnabled, clearSelection, disableRowSelection } = useTable();
16
- const selectedRows = getSelectedRows();
15
+ const { store, getStyles } = useTableContext();
16
+ const { showActions, unselectAllLabel, selectedCountLabel, children, classNames, className, styles, style, vars: _vars, ...others } = useProps('PlasmaTableHeader', defaultProps, props);
17
+ const selectedRows = store.getSelectedRows();
17
18
  const stylesApiProps = {
18
19
  classNames,
19
20
  styles
20
21
  };
21
- const innerStyles = ctx.getStyles('headerGridInner', stylesApiProps);
22
- const gridStyles = ctx.getStyles('headerGrid', stylesApiProps);
22
+ const innerStyles = getStyles('headerGridInner', stylesApiProps);
23
+ const gridStyles = getStyles('headerGrid', stylesApiProps);
23
24
  return /*#__PURE__*/ _jsx(Box, {
24
25
  ref: ref,
25
- ...ctx.getStyles('headerRoot', {
26
+ ...getStyles('headerRoot', {
26
27
  className,
27
28
  style,
28
29
  ...stylesApiProps
@@ -40,16 +41,16 @@ export const TableHeader = factory((props, ref)=>{
40
41
  root: gridStyles.style
41
42
  },
42
43
  children: [
43
- multiRowSelectionEnabled && selectedRows.length > 0 ? /*#__PURE__*/ _jsx(Grid.Col, {
44
+ store.multiRowSelectionEnabled && selectedRows.length > 0 ? /*#__PURE__*/ _jsx(Grid.Col, {
44
45
  span: "auto",
45
- ...ctx.getStyles('headerCol', stylesApiProps),
46
+ ...getStyles('headerCol', stylesApiProps),
46
47
  order: TableComponentsOrder.MultiSelectInfo,
47
48
  children: /*#__PURE__*/ _jsx(Tooltip, {
48
49
  label: unselectAllLabel,
49
50
  children: /*#__PURE__*/ _jsx(Button, {
50
- onClick: clearSelection,
51
+ onClick: store.clearRowSelection,
51
52
  variant: "subtle",
52
- disabled: disableRowSelection,
53
+ disabled: !store.rowSelectionEnabled,
53
54
  leftSection: /*#__PURE__*/ _jsx(CrossSize16Px, {
54
55
  height: 16
55
56
  }),
@@ -58,6 +59,7 @@ export const TableHeader = factory((props, ref)=>{
58
59
  })
59
60
  }) : null,
60
61
  children,
62
+ showActions ? /*#__PURE__*/ _jsx(TableHeaderActions, {}) : null,
61
63
  /*#__PURE__*/ _jsx(TableLayoutControl, {})
62
64
  ]
63
65
  })
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/table/table-header/TableHeader.tsx"],"sourcesContent":["import {CrossSize16Px} from '@coveord/plasma-react-icons';\nimport {Box, BoxProps, factory, Factory, Grid, Tooltip, useProps} from '@mantine/core';\nimport {CompoundStylesApiProps} from '@mantine/core/lib/core/styles-api/styles-api.types';\nimport {ReactNode} from 'react';\n\nimport {Button} from '../../button';\nimport {TableLayoutControl} from '../layouts/TableLayoutControl';\nimport {TableComponentsOrder} from '../Table';\nimport {useTable, useTableStyles} from '../TableContext';\n\nexport type TableHeaderStylesNames = 'headerRoot' | 'headerGrid' | 'headerGridInner' | 'headerCol';\n\nexport interface TableHeaderProps\n extends Omit<BoxProps, 'classNames' | 'styles' | 'vars'>,\n CompoundStylesApiProps<TableHeaderFactory> {\n /* Children of header (ie: actions, datepicker, etc.) */\n children?: ReactNode;\n unselectAllLabel?: string;\n selectedCountLabel?: (count: number) => string;\n}\n\nexport type TableHeaderFactory = Factory<{\n props: TableHeaderProps;\n ref: HTMLDivElement;\n stylesNames: TableHeaderStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<TableHeaderProps> = {\n unselectAllLabel: 'Unselect all',\n selectedCountLabel: (count) => `${count} selected`,\n};\n\nexport const TableHeader = factory<TableHeaderFactory>((props, ref) => {\n const ctx = useTableStyles();\n const {unselectAllLabel, selectedCountLabel, children, classNames, className, styles, style, vars, ...others} =\n useProps('PlasmaTableHeader', defaultProps, props);\n const {getSelectedRows, multiRowSelectionEnabled, clearSelection, disableRowSelection} = useTable();\n const selectedRows = getSelectedRows();\n\n const stylesApiProps = {classNames, styles};\n const innerStyles = ctx.getStyles('headerGridInner', stylesApiProps);\n const gridStyles = ctx.getStyles('headerGrid', stylesApiProps);\n\n return (\n <Box ref={ref} {...ctx.getStyles('headerRoot', {className, style, ...stylesApiProps})} {...others}>\n <Grid\n justify=\"flex-start\"\n align=\"center\"\n classNames={{inner: innerStyles.className, root: gridStyles.className}}\n styles={{inner: innerStyles.style, root: gridStyles.style}}\n >\n {multiRowSelectionEnabled && selectedRows.length > 0 ? (\n <Grid.Col\n span=\"auto\"\n {...ctx.getStyles('headerCol', stylesApiProps)}\n order={TableComponentsOrder.MultiSelectInfo}\n >\n <Tooltip label={unselectAllLabel}>\n <Button\n onClick={clearSelection}\n variant=\"subtle\"\n disabled={disableRowSelection}\n leftSection={<CrossSize16Px height={16} />}\n >\n {selectedCountLabel(selectedRows.length)}\n </Button>\n </Tooltip>\n </Grid.Col>\n ) : null}\n {children}\n <TableLayoutControl />\n </Grid>\n </Box>\n );\n});\n"],"names":["CrossSize16Px","Box","factory","Grid","Tooltip","useProps","Button","TableLayoutControl","TableComponentsOrder","useTable","useTableStyles","defaultProps","unselectAllLabel","selectedCountLabel","count","TableHeader","props","ref","ctx","children","classNames","className","styles","style","vars","others","getSelectedRows","multiRowSelectionEnabled","clearSelection","disableRowSelection","selectedRows","stylesApiProps","innerStyles","getStyles","gridStyles","justify","align","inner","root","length","Col","span","order","MultiSelectInfo","label","onClick","variant","disabled","leftSection","height"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAAA,SAAQA,aAAa,QAAO,8BAA8B;AAC1D,SAAQC,GAAG,EAAYC,OAAO,EAAWC,IAAI,EAAEC,OAAO,EAAEC,QAAQ,QAAO,gBAAgB;AAIvF,SAAQC,MAAM,QAAO,eAAe;AACpC,SAAQC,kBAAkB,QAAO,gCAAgC;AACjE,SAAQC,oBAAoB,QAAO,WAAW;AAC9C,SAAQC,QAAQ,EAAEC,cAAc,QAAO,kBAAkB;AAoBzD,MAAMC,eAA0C;IAC5CC,kBAAkB;IAClBC,oBAAoB,CAACC,QAAU,CAAC,EAAEA,MAAM,SAAS,CAAC;AACtD;AAEA,OAAO,MAAMC,cAAcb,QAA4B,CAACc,OAAOC;IAC3D,MAAMC,MAAMR;IACZ,MAAM,EAACE,gBAAgB,EAAEC,kBAAkB,EAAEM,QAAQ,EAAEC,UAAU,EAAEC,SAAS,EAAEC,MAAM,EAAEC,KAAK,EAAEC,IAAI,EAAE,GAAGC,QAAO,GACzGpB,SAAS,qBAAqBM,cAAcK;IAChD,MAAM,EAACU,eAAe,EAAEC,wBAAwB,EAAEC,cAAc,EAAEC,mBAAmB,EAAC,GAAGpB;IACzF,MAAMqB,eAAeJ;IAErB,MAAMK,iBAAiB;QAACX;QAAYE;IAAM;IAC1C,MAAMU,cAAcd,IAAIe,SAAS,CAAC,mBAAmBF;IACrD,MAAMG,aAAahB,IAAIe,SAAS,CAAC,cAAcF;IAE/C,qBACI,KAAC9B;QAAIgB,KAAKA;QAAM,GAAGC,IAAIe,SAAS,CAAC,cAAc;YAACZ;YAAWE;YAAO,GAAGQ,cAAc;QAAA,EAAE;QAAG,GAAGN,MAAM;kBAC7F,cAAA,MAACtB;YACGgC,SAAQ;YACRC,OAAM;YACNhB,YAAY;gBAACiB,OAAOL,YAAYX,SAAS;gBAAEiB,MAAMJ,WAAWb,SAAS;YAAA;YACrEC,QAAQ;gBAACe,OAAOL,YAAYT,KAAK;gBAAEe,MAAMJ,WAAWX,KAAK;YAAA;;gBAExDI,4BAA4BG,aAAaS,MAAM,GAAG,kBAC/C,KAACpC,KAAKqC,GAAG;oBACLC,MAAK;oBACJ,GAAGvB,IAAIe,SAAS,CAAC,aAAaF,eAAe;oBAC9CW,OAAOlC,qBAAqBmC,eAAe;8BAE3C,cAAA,KAACvC;wBAAQwC,OAAOhC;kCACZ,cAAA,KAACN;4BACGuC,SAASjB;4BACTkB,SAAQ;4BACRC,UAAUlB;4BACVmB,2BAAa,KAAChD;gCAAciD,QAAQ;;sCAEnCpC,mBAAmBiB,aAAaS,MAAM;;;qBAInD;gBACHpB;8BACD,KAACZ;;;;AAIjB,GAAG"}
1
+ {"version":3,"sources":["../../../../../src/components/table/table-header/TableHeader.tsx"],"sourcesContent":["import {CrossSize16Px} from '@coveord/plasma-react-icons';\nimport {Box, BoxProps, CompoundStylesApiProps, factory, Factory, Grid, Tooltip, useProps} from '@mantine/core';\nimport {ReactNode} from 'react';\n\nimport {Button} from '../../button';\nimport {TableLayoutControl} from '../layouts/TableLayoutControl';\nimport {TableComponentsOrder} from '../Table';\nimport {TableHeaderActions} from '../table-actions';\nimport {useTableContext} from '../TableContext';\n\nexport type TableHeaderStylesNames = 'headerRoot' | 'headerGrid' | 'headerGridInner' | 'headerCol';\n\nexport interface TableHeaderProps\n extends Omit<BoxProps, 'classNames' | 'styles' | 'vars'>,\n CompoundStylesApiProps<TableHeaderFactory> {\n /* Children of header (ie: actions, datepicker, etc.) */\n children?: ReactNode;\n unselectAllLabel?: string;\n selectedCountLabel?: (count: number) => string;\n /**\n * Whether to show actions when rows are selected\n *\n * default true\n */\n showActions?: boolean;\n}\n\nexport type TableHeaderFactory = Factory<{\n props: TableHeaderProps;\n ref: HTMLDivElement;\n stylesNames: TableHeaderStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<TableHeaderProps> = {\n unselectAllLabel: 'Unselect all',\n selectedCountLabel: (count) => `${count} selected`,\n showActions: true,\n};\n\nexport const TableHeader = factory<TableHeaderFactory>((props, ref) => {\n const {store, getStyles} = useTableContext();\n const {\n showActions,\n unselectAllLabel,\n selectedCountLabel,\n children,\n classNames,\n className,\n styles,\n style,\n vars: _vars,\n ...others\n } = useProps('PlasmaTableHeader', defaultProps, props);\n const selectedRows = store.getSelectedRows();\n\n const stylesApiProps = {classNames, styles};\n const innerStyles = getStyles('headerGridInner', stylesApiProps);\n const gridStyles = getStyles('headerGrid', stylesApiProps);\n\n return (\n <Box ref={ref} {...getStyles('headerRoot', {className, style, ...stylesApiProps})} {...others}>\n <Grid\n justify=\"flex-start\"\n align=\"center\"\n classNames={{inner: innerStyles.className, root: gridStyles.className}}\n styles={{inner: innerStyles.style, root: gridStyles.style}}\n >\n {store.multiRowSelectionEnabled && selectedRows.length > 0 ? (\n <Grid.Col\n span=\"auto\"\n {...getStyles('headerCol', stylesApiProps)}\n order={TableComponentsOrder.MultiSelectInfo}\n >\n <Tooltip label={unselectAllLabel}>\n <Button\n onClick={store.clearRowSelection}\n variant=\"subtle\"\n disabled={!store.rowSelectionEnabled}\n leftSection={<CrossSize16Px height={16} />}\n >\n {selectedCountLabel(selectedRows.length)}\n </Button>\n </Tooltip>\n </Grid.Col>\n ) : null}\n {children}\n {showActions ? <TableHeaderActions /> : null}\n <TableLayoutControl />\n </Grid>\n </Box>\n );\n});\n"],"names":["CrossSize16Px","Box","factory","Grid","Tooltip","useProps","Button","TableLayoutControl","TableComponentsOrder","TableHeaderActions","useTableContext","defaultProps","unselectAllLabel","selectedCountLabel","count","showActions","TableHeader","props","ref","store","getStyles","children","classNames","className","styles","style","vars","_vars","others","selectedRows","getSelectedRows","stylesApiProps","innerStyles","gridStyles","justify","align","inner","root","multiRowSelectionEnabled","length","Col","span","order","MultiSelectInfo","label","onClick","clearRowSelection","variant","disabled","rowSelectionEnabled","leftSection","height"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAAA,SAAQA,aAAa,QAAO,8BAA8B;AAC1D,SAAQC,GAAG,EAAoCC,OAAO,EAAWC,IAAI,EAAEC,OAAO,EAAEC,QAAQ,QAAO,gBAAgB;AAG/G,SAAQC,MAAM,QAAO,eAAe;AACpC,SAAQC,kBAAkB,QAAO,gCAAgC;AACjE,SAAQC,oBAAoB,QAAO,WAAW;AAC9C,SAAQC,kBAAkB,QAAO,mBAAmB;AACpD,SAAQC,eAAe,QAAO,kBAAkB;AA0BhD,MAAMC,eAA0C;IAC5CC,kBAAkB;IAClBC,oBAAoB,CAACC,QAAU,CAAC,EAAEA,MAAM,SAAS,CAAC;IAClDC,aAAa;AACjB;AAEA,OAAO,MAAMC,cAAcd,QAA4B,CAACe,OAAOC;IAC3D,MAAM,EAACC,KAAK,EAAEC,SAAS,EAAC,GAAGV;IAC3B,MAAM,EACFK,WAAW,EACXH,gBAAgB,EAChBC,kBAAkB,EAClBQ,QAAQ,EACRC,UAAU,EACVC,SAAS,EACTC,MAAM,EACNC,KAAK,EACLC,MAAMC,KAAK,EACX,GAAGC,QACN,GAAGvB,SAAS,qBAAqBM,cAAcM;IAChD,MAAMY,eAAeV,MAAMW,eAAe;IAE1C,MAAMC,iBAAiB;QAACT;QAAYE;IAAM;IAC1C,MAAMQ,cAAcZ,UAAU,mBAAmBW;IACjD,MAAME,aAAab,UAAU,cAAcW;IAE3C,qBACI,KAAC9B;QAAIiB,KAAKA;QAAM,GAAGE,UAAU,cAAc;YAACG;YAAWE;YAAO,GAAGM,cAAc;QAAA,EAAE;QAAG,GAAGH,MAAM;kBACzF,cAAA,MAACzB;YACG+B,SAAQ;YACRC,OAAM;YACNb,YAAY;gBAACc,OAAOJ,YAAYT,SAAS;gBAAEc,MAAMJ,WAAWV,SAAS;YAAA;YACrEC,QAAQ;gBAACY,OAAOJ,YAAYP,KAAK;gBAAEY,MAAMJ,WAAWR,KAAK;YAAA;;gBAExDN,MAAMmB,wBAAwB,IAAIT,aAAaU,MAAM,GAAG,kBACrD,KAACpC,KAAKqC,GAAG;oBACLC,MAAK;oBACJ,GAAGrB,UAAU,aAAaW,eAAe;oBAC1CW,OAAOlC,qBAAqBmC,eAAe;8BAE3C,cAAA,KAACvC;wBAAQwC,OAAOhC;kCACZ,cAAA,KAACN;4BACGuC,SAAS1B,MAAM2B,iBAAiB;4BAChCC,SAAQ;4BACRC,UAAU,CAAC7B,MAAM8B,mBAAmB;4BACpCC,2BAAa,KAAClD;gCAAcmD,QAAQ;;sCAEnCtC,mBAAmBgB,aAAaU,MAAM;;;qBAInD;gBACHlB;gBACAN,4BAAc,KAACN,0BAAwB;8BACxC,KAACF;;;;AAIjB,GAAG"}
@@ -1,5 +1,4 @@
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 { Header } from '@tanstack/react-table';
4
3
  import { ComponentType, ForwardedRef, SVGProps } from 'react';
5
4
  import { CustomComponentThemeExtend } from '../../../utils';
@@ -1 +1 @@
1
- {"version":3,"file":"Th.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/table-header/Th.tsx"],"names":[],"mappings":"AACA,OAAO,EAAC,QAAQ,EAAE,OAAO,EAAkC,MAAM,eAAe,CAAC;AACjF,OAAO,EAAC,sBAAsB,EAAC,MAAM,oDAAoD,CAAC;AAC1F,OAAO,EAAkC,MAAM,EAAC,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAiB,aAAa,EAAE,YAAY,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AAC5E,OAAO,EAAC,0BAA0B,EAAW,MAAM,gBAAgB,CAAC;AAGpE,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAEtC,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;AAEhD,MAAM,WAAW,OAAO,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,QAAQ,EAAE,sBAAsB,CAAC,cAAc,CAAC;IAC1F,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;CAC5E;AAcD,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC;IACjC,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,oBAAoB,CAAC;IAC1B,WAAW,EAAE,kBAAkB,CAAC;IAChC,QAAQ,EAAE,IAAI,CAAC;CAClB,CAAC,CAAC;AAMH,eAAO,MAAM,EAAE;;cAAmC,aAAa,oBAAoB,CAAC;;;eAVzE,OAAO;aACT,oBAAoB;qBACZ,kBAAkB;kBACrB,IAAI;;CAgEjB,CAAC"}
1
+ {"version":3,"file":"Th.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/table-header/Th.tsx"],"names":[],"mappings":"AACA,OAAO,EAAC,QAAQ,EAAE,sBAAsB,EAAE,OAAO,EAAkC,MAAM,eAAe,CAAC;AACzG,OAAO,EAAC,MAAM,EAAkC,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAiB,aAAa,EAAE,YAAY,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AAC5E,OAAO,EAAC,0BAA0B,EAAW,MAAM,gBAAgB,CAAC;AAGpE,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAEtC,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;AAEhD,MAAM,WAAW,OAAO,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,QAAQ,EAAE,sBAAsB,CAAC,cAAc,CAAC;IAC1F,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;CAC5E;AAcD,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC;IACjC,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,oBAAoB,CAAC;IAC1B,WAAW,EAAE,kBAAkB,CAAC;IAChC,QAAQ,EAAE,IAAI,CAAC;CAClB,CAAC,CAAC;AAMH,eAAO,MAAM,EAAE;;cAAmC,aAAa,oBAAoB,CAAC;;;eAVzE,OAAO;aACT,oBAAoB;qBACZ,kBAAkB;kBACrB,IAAI;;CAkEjB,CAAC"}
@@ -3,7 +3,7 @@ import { ArrowDownSize16Px, ArrowUpSize16Px, DoubleArrowHeadVSize16Px } from '@c
3
3
  import { Group, UnstyledButton, useProps } from '@mantine/core';
4
4
  import { defaultColumnSizing, flexRender } from '@tanstack/react-table';
5
5
  import { identity } from '../../../utils';
6
- import { useTableStyles } from '../TableContext';
6
+ import { useTableContext } from '../TableContext';
7
7
  const SortingIcons = {
8
8
  asc: ArrowUpSize16Px,
9
9
  desc: ArrowDownSize16Px,
@@ -18,7 +18,7 @@ const defaultProps = {
18
18
  sortingIcons: SortingIcons
19
19
  };
20
20
  export const Th = (props)=>{
21
- const ctx = useTableStyles();
21
+ const { getStyles } = useTableContext();
22
22
  const { header, sortingIcons, classNames, className, styles, style, vars, ...others } = useProps('PlasmaTableTh', defaultProps, props);
23
23
  const columnSizing = {
24
24
  ...defaultColumnSizing,
@@ -26,7 +26,7 @@ export const Th = (props)=>{
26
26
  minSize: header.column.columnDef.minSize,
27
27
  maxSize: header.column.columnDef.maxSize
28
28
  };
29
- const thStyles = ctx.getStyles('th', {
29
+ const thStyles = getStyles('th', {
30
30
  classNames,
31
31
  className,
32
32
  styles,
@@ -45,7 +45,11 @@ export const Th = (props)=>{
45
45
  maxWidth: columnSizing.maxSize
46
46
  },
47
47
  ...others,
48
- children: flexRender(header.column.columnDef.header, header.getContext())
48
+ children: /*#__PURE__*/ _jsx(Group, {
49
+ wrap: "nowrap",
50
+ gap: "xs",
51
+ children: flexRender(header.column.columnDef.header, header.getContext())
52
+ })
49
53
  });
50
54
  }
51
55
  const onSort = header.column.getToggleSortingHandler();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/table/table-header/Th.tsx"],"sourcesContent":["import {ArrowDownSize16Px, ArrowUpSize16Px, DoubleArrowHeadVSize16Px} from '@coveord/plasma-react-icons';\nimport {BoxProps, Factory, Group, UnstyledButton, useProps} from '@mantine/core';\nimport {CompoundStylesApiProps} from '@mantine/core/lib/core/styles-api/styles-api.types';\nimport {defaultColumnSizing, flexRender, Header} from '@tanstack/react-table';\nimport {AriaAttributes, ComponentType, ForwardedRef, SVGProps} from 'react';\nimport {CustomComponentThemeExtend, identity} from '../../../utils';\nimport {useTableStyles} from '../TableContext';\n\nexport type TableThStylesNames = 'th';\n\nexport type SortState = 'asc' | 'desc' | 'none';\n\nexport interface ThProps<T = unknown> extends BoxProps, CompoundStylesApiProps<TableThFactory> {\n header: Header<T, unknown>;\n sortingIcons?: Record<SortState, ComponentType<SVGProps<SVGSVGElement>>>;\n}\n\nconst SortingIcons: ThProps['sortingIcons'] = {\n asc: ArrowUpSize16Px,\n desc: ArrowDownSize16Px,\n none: DoubleArrowHeadVSize16Px,\n};\n\nconst SortingLabels: Record<SortState, AriaAttributes['aria-sort']> = {\n asc: 'ascending',\n desc: 'descending',\n none: 'none',\n} as const;\n\nexport type TableThFactory = Factory<{\n props: ThProps;\n ref: HTMLTableCellElement;\n stylesNames: TableThStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<ThProps> = {\n sortingIcons: SortingIcons,\n};\n\nexport const Th = <T,>(props: ThProps<T> & {ref?: ForwardedRef<HTMLTableCellElement>}) => {\n const ctx = useTableStyles();\n const {header, sortingIcons, classNames, className, styles, style, vars, ...others} = useProps(\n 'PlasmaTableTh',\n defaultProps as Partial<ThProps<T>>,\n props,\n );\n\n const columnSizing = {\n ...defaultColumnSizing,\n size: header.column.columnDef.size,\n minSize: header.column.columnDef.minSize,\n maxSize: header.column.columnDef.maxSize,\n };\n\n const thStyles = ctx.getStyles('th', {classNames, className, styles, style});\n\n if (header.isPlaceholder) {\n return null;\n }\n\n if (!header.column.getCanSort()) {\n return (\n <th\n className={thStyles.className}\n style={{\n ...thStyles.style,\n width: columnSizing.size ?? 'auto',\n minWidth: columnSizing.minSize,\n maxWidth: columnSizing.maxSize,\n }}\n {...others}\n >\n {flexRender(header.column.columnDef.header, header.getContext())}\n </th>\n );\n }\n\n const onSort = header.column.getToggleSortingHandler();\n const sortingOrder = header.column.getIsSorted() || 'none';\n const Icon = sortingIcons[sortingOrder];\n\n return (\n <UnstyledButton\n component=\"th\"\n onClick={onSort}\n aria-sort={SortingLabels[sortingOrder]}\n data-control={true}\n {...thStyles}\n {...others}\n >\n <Group wrap=\"nowrap\" gap=\"xs\">\n {flexRender(header.column.columnDef.header, header.getContext())}\n <Icon height={16} width={16} />\n </Group>\n </UnstyledButton>\n );\n};\nTh.extend = identity as CustomComponentThemeExtend<TableThFactory>;\n"],"names":["ArrowDownSize16Px","ArrowUpSize16Px","DoubleArrowHeadVSize16Px","Group","UnstyledButton","useProps","defaultColumnSizing","flexRender","identity","useTableStyles","SortingIcons","asc","desc","none","SortingLabels","defaultProps","sortingIcons","Th","props","ctx","header","classNames","className","styles","style","vars","others","columnSizing","size","column","columnDef","minSize","maxSize","thStyles","getStyles","isPlaceholder","getCanSort","th","width","minWidth","maxWidth","getContext","onSort","getToggleSortingHandler","sortingOrder","getIsSorted","Icon","component","onClick","aria-sort","data-control","wrap","gap","height","extend"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAAA,SAAQA,iBAAiB,EAAEC,eAAe,EAAEC,wBAAwB,QAAO,8BAA8B;AACzG,SAA2BC,KAAK,EAAEC,cAAc,EAAEC,QAAQ,QAAO,gBAAgB;AAEjF,SAAQC,mBAAmB,EAAEC,UAAU,QAAe,wBAAwB;AAE9E,SAAoCC,QAAQ,QAAO,iBAAiB;AACpE,SAAQC,cAAc,QAAO,kBAAkB;AAW/C,MAAMC,eAAwC;IAC1CC,KAAKV;IACLW,MAAMZ;IACNa,MAAMX;AACV;AAEA,MAAMY,gBAAgE;IAClEH,KAAK;IACLC,MAAM;IACNC,MAAM;AACV;AASA,MAAME,eAAiC;IACnCC,cAAcN;AAClB;AAEA,OAAO,MAAMO,KAAK,CAAKC;IACnB,MAAMC,MAAMV;IACZ,MAAM,EAACW,MAAM,EAAEJ,YAAY,EAAEK,UAAU,EAAEC,SAAS,EAAEC,MAAM,EAAEC,KAAK,EAAEC,IAAI,EAAE,GAAGC,QAAO,GAAGrB,SAClF,iBACAU,cACAG;IAGJ,MAAMS,eAAe;QACjB,GAAGrB,mBAAmB;QACtBsB,MAAMR,OAAOS,MAAM,CAACC,SAAS,CAACF,IAAI;QAClCG,SAASX,OAAOS,MAAM,CAACC,SAAS,CAACC,OAAO;QACxCC,SAASZ,OAAOS,MAAM,CAACC,SAAS,CAACE,OAAO;IAC5C;IAEA,MAAMC,WAAWd,IAAIe,SAAS,CAAC,MAAM;QAACb;QAAYC;QAAWC;QAAQC;IAAK;IAE1E,IAAIJ,OAAOe,aAAa,EAAE;QACtB,OAAO;IACX;IAEA,IAAI,CAACf,OAAOS,MAAM,CAACO,UAAU,IAAI;QAC7B,qBACI,KAACC;YACGf,WAAWW,SAASX,SAAS;YAC7BE,OAAO;gBACH,GAAGS,SAAST,KAAK;gBACjBc,OAAOX,aAAaC,IAAI,IAAI;gBAC5BW,UAAUZ,aAAaI,OAAO;gBAC9BS,UAAUb,aAAaK,OAAO;YAClC;YACC,GAAGN,MAAM;sBAETnB,WAAWa,OAAOS,MAAM,CAACC,SAAS,CAACV,MAAM,EAAEA,OAAOqB,UAAU;;IAGzE;IAEA,MAAMC,SAAStB,OAAOS,MAAM,CAACc,uBAAuB;IACpD,MAAMC,eAAexB,OAAOS,MAAM,CAACgB,WAAW,MAAM;IACpD,MAAMC,OAAO9B,YAAY,CAAC4B,aAAa;IAEvC,qBACI,KAACxC;QACG2C,WAAU;QACVC,SAASN;QACTO,aAAWnC,aAAa,CAAC8B,aAAa;QACtCM,gBAAc;QACb,GAAGjB,QAAQ;QACX,GAAGP,MAAM;kBAEV,cAAA,MAACvB;YAAMgD,MAAK;YAASC,KAAI;;gBACpB7C,WAAWa,OAAOS,MAAM,CAACC,SAAS,CAACV,MAAM,EAAEA,OAAOqB,UAAU;8BAC7D,KAACK;oBAAKO,QAAQ;oBAAIf,OAAO;;;;;AAIzC,EAAE;AACFrB,GAAGqC,MAAM,GAAG9C"}
1
+ {"version":3,"sources":["../../../../../src/components/table/table-header/Th.tsx"],"sourcesContent":["import {ArrowDownSize16Px, ArrowUpSize16Px, DoubleArrowHeadVSize16Px} from '@coveord/plasma-react-icons';\nimport {BoxProps, CompoundStylesApiProps, Factory, Group, UnstyledButton, useProps} from '@mantine/core';\nimport {Header, defaultColumnSizing, flexRender} from '@tanstack/react-table';\nimport {AriaAttributes, ComponentType, ForwardedRef, SVGProps} from 'react';\nimport {CustomComponentThemeExtend, identity} from '../../../utils';\nimport {useTableContext} from '../TableContext';\n\nexport type TableThStylesNames = 'th';\n\nexport type SortState = 'asc' | 'desc' | 'none';\n\nexport interface ThProps<T = unknown> extends BoxProps, CompoundStylesApiProps<TableThFactory> {\n header: Header<T, unknown>;\n sortingIcons?: Record<SortState, ComponentType<SVGProps<SVGSVGElement>>>;\n}\n\nconst SortingIcons: ThProps['sortingIcons'] = {\n asc: ArrowUpSize16Px,\n desc: ArrowDownSize16Px,\n none: DoubleArrowHeadVSize16Px,\n};\n\nconst SortingLabels: Record<SortState, AriaAttributes['aria-sort']> = {\n asc: 'ascending',\n desc: 'descending',\n none: 'none',\n} as const;\n\nexport type TableThFactory = Factory<{\n props: ThProps;\n ref: HTMLTableCellElement;\n stylesNames: TableThStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<ThProps> = {\n sortingIcons: SortingIcons,\n};\n\nexport const Th = <T,>(props: ThProps<T> & {ref?: ForwardedRef<HTMLTableCellElement>}) => {\n const {getStyles} = useTableContext();\n const {header, sortingIcons, classNames, className, styles, style, vars, ...others} = useProps(\n 'PlasmaTableTh',\n defaultProps as Partial<ThProps<T>>,\n props,\n );\n\n const columnSizing = {\n ...defaultColumnSizing,\n size: header.column.columnDef.size,\n minSize: header.column.columnDef.minSize,\n maxSize: header.column.columnDef.maxSize,\n };\n\n const thStyles = getStyles('th', {classNames, className, styles, style});\n\n if (header.isPlaceholder) {\n return null;\n }\n\n if (!header.column.getCanSort()) {\n return (\n <th\n className={thStyles.className}\n style={{\n ...thStyles.style,\n width: columnSizing.size ?? 'auto',\n minWidth: columnSizing.minSize,\n maxWidth: columnSizing.maxSize,\n }}\n {...others}\n >\n <Group wrap=\"nowrap\" gap=\"xs\">\n {flexRender(header.column.columnDef.header, header.getContext())}\n </Group>\n </th>\n );\n }\n\n const onSort = header.column.getToggleSortingHandler();\n const sortingOrder = header.column.getIsSorted() || 'none';\n const Icon = sortingIcons[sortingOrder];\n\n return (\n <UnstyledButton\n component=\"th\"\n onClick={onSort}\n aria-sort={SortingLabels[sortingOrder]}\n data-control={true}\n {...thStyles}\n {...others}\n >\n <Group wrap=\"nowrap\" gap=\"xs\">\n {flexRender(header.column.columnDef.header, header.getContext())}\n <Icon height={16} width={16} />\n </Group>\n </UnstyledButton>\n );\n};\nTh.extend = identity as CustomComponentThemeExtend<TableThFactory>;\n"],"names":["ArrowDownSize16Px","ArrowUpSize16Px","DoubleArrowHeadVSize16Px","Group","UnstyledButton","useProps","defaultColumnSizing","flexRender","identity","useTableContext","SortingIcons","asc","desc","none","SortingLabels","defaultProps","sortingIcons","Th","props","getStyles","header","classNames","className","styles","style","vars","others","columnSizing","size","column","columnDef","minSize","maxSize","thStyles","isPlaceholder","getCanSort","th","width","minWidth","maxWidth","wrap","gap","getContext","onSort","getToggleSortingHandler","sortingOrder","getIsSorted","Icon","component","onClick","aria-sort","data-control","height","extend"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAAA,SAAQA,iBAAiB,EAAEC,eAAe,EAAEC,wBAAwB,QAAO,8BAA8B;AACzG,SAAmDC,KAAK,EAAEC,cAAc,EAAEC,QAAQ,QAAO,gBAAgB;AACzG,SAAgBC,mBAAmB,EAAEC,UAAU,QAAO,wBAAwB;AAE9E,SAAoCC,QAAQ,QAAO,iBAAiB;AACpE,SAAQC,eAAe,QAAO,kBAAkB;AAWhD,MAAMC,eAAwC;IAC1CC,KAAKV;IACLW,MAAMZ;IACNa,MAAMX;AACV;AAEA,MAAMY,gBAAgE;IAClEH,KAAK;IACLC,MAAM;IACNC,MAAM;AACV;AASA,MAAME,eAAiC;IACnCC,cAAcN;AAClB;AAEA,OAAO,MAAMO,KAAK,CAAKC;IACnB,MAAM,EAACC,SAAS,EAAC,GAAGV;IACpB,MAAM,EAACW,MAAM,EAAEJ,YAAY,EAAEK,UAAU,EAAEC,SAAS,EAAEC,MAAM,EAAEC,KAAK,EAAEC,IAAI,EAAE,GAAGC,QAAO,GAAGrB,SAClF,iBACAU,cACAG;IAGJ,MAAMS,eAAe;QACjB,GAAGrB,mBAAmB;QACtBsB,MAAMR,OAAOS,MAAM,CAACC,SAAS,CAACF,IAAI;QAClCG,SAASX,OAAOS,MAAM,CAACC,SAAS,CAACC,OAAO;QACxCC,SAASZ,OAAOS,MAAM,CAACC,SAAS,CAACE,OAAO;IAC5C;IAEA,MAAMC,WAAWd,UAAU,MAAM;QAACE;QAAYC;QAAWC;QAAQC;IAAK;IAEtE,IAAIJ,OAAOc,aAAa,EAAE;QACtB,OAAO;IACX;IAEA,IAAI,CAACd,OAAOS,MAAM,CAACM,UAAU,IAAI;QAC7B,qBACI,KAACC;YACGd,WAAWW,SAASX,SAAS;YAC7BE,OAAO;gBACH,GAAGS,SAAST,KAAK;gBACjBa,OAAOV,aAAaC,IAAI,IAAI;gBAC5BU,UAAUX,aAAaI,OAAO;gBAC9BQ,UAAUZ,aAAaK,OAAO;YAClC;YACC,GAAGN,MAAM;sBAEV,cAAA,KAACvB;gBAAMqC,MAAK;gBAASC,KAAI;0BACpBlC,WAAWa,OAAOS,MAAM,CAACC,SAAS,CAACV,MAAM,EAAEA,OAAOsB,UAAU;;;IAI7E;IAEA,MAAMC,SAASvB,OAAOS,MAAM,CAACe,uBAAuB;IACpD,MAAMC,eAAezB,OAAOS,MAAM,CAACiB,WAAW,MAAM;IACpD,MAAMC,OAAO/B,YAAY,CAAC6B,aAAa;IAEvC,qBACI,KAACzC;QACG4C,WAAU;QACVC,SAASN;QACTO,aAAWpC,aAAa,CAAC+B,aAAa;QACtCM,gBAAc;QACb,GAAGlB,QAAQ;QACX,GAAGP,MAAM;kBAEV,cAAA,MAACvB;YAAMqC,MAAK;YAASC,KAAI;;gBACpBlC,WAAWa,OAAOS,MAAM,CAACC,SAAS,CAACV,MAAM,EAAEA,OAAOsB,UAAU;8BAC7D,KAACK;oBAAKK,QAAQ;oBAAIf,OAAO;;;;;AAIzC,EAAE;AACFpB,GAAGoC,MAAM,GAAG7C"}
@@ -1,5 +1,4 @@
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
  export type TableLastUpdatedStylesNames = 'lastUpdatedRoot' | 'lastUpdatedLabel';
4
3
  export interface TableLastUpdatedProps extends BoxProps, CompoundStylesApiProps<TableLastUpdatedFactory> {
5
4
  /**
@@ -8,7 +7,6 @@ export interface TableLastUpdatedProps extends BoxProps, CompoundStylesApiProps<
8
7
  * @default "Last update:"
9
8
  */
10
9
  label?: string;
11
- dependencies?: never;
12
10
  }
13
11
  export type TableLastUpdatedFactory = Factory<{
14
12
  props: TableLastUpdatedProps;
@@ -1 +1 @@
1
- {"version":3,"file":"TableLastUpdated.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/table-last-updated/TableLastUpdated.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAW,OAAO,EAAwB,MAAM,eAAe,CAAC;AAChF,OAAO,EAAC,sBAAsB,EAAC,MAAM,oDAAoD,CAAC;AAM1F,MAAM,MAAM,2BAA2B,GAAG,iBAAiB,GAAG,kBAAkB,CAAC;AAEjF,MAAM,WAAW,qBAAsB,SAAQ,QAAQ,EAAE,sBAAsB,CAAC,uBAAuB,CAAC;IACpG;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,KAAK,CAAC;CACxB;AACD,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAAC;IAC1C,KAAK,EAAE,qBAAqB,CAAC;IAC7B,GAAG,EAAE,cAAc,CAAC;IACpB,WAAW,EAAE,2BAA2B,CAAC;IACzC,QAAQ,EAAE,IAAI,CAAC;CAClB,CAAC,CAAC;AAMH,eAAO,MAAM,gBAAgB;WAVlB,qBAAqB;SACvB,cAAc;iBACN,2BAA2B;cAC9B,IAAI;EAqChB,CAAC"}
1
+ {"version":3,"file":"TableLastUpdated.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/table-last-updated/TableLastUpdated.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,sBAAsB,EAAW,OAAO,EAAwB,MAAM,eAAe,CAAC;AAMxG,MAAM,MAAM,2BAA2B,GAAG,iBAAiB,GAAG,kBAAkB,CAAC;AAEjF,MAAM,WAAW,qBAAsB,SAAQ,QAAQ,EAAE,sBAAsB,CAAC,uBAAuB,CAAC;IACpG;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AACD,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAAC;IAC1C,KAAK,EAAE,qBAAqB,CAAC;IAC7B,GAAG,EAAE,cAAc,CAAC;IACpB,WAAW,EAAE,2BAA2B,CAAC;IACzC,QAAQ,EAAE,IAAI,CAAC;CAClB,CAAC,CAAC;AAMH,eAAO,MAAM,gBAAgB;WAVlB,qBAAqB;SACvB,cAAc;iBACN,2BAA2B;cAC9B,IAAI;EAoChB,CAAC"}
@@ -3,20 +3,18 @@ import { factory, Group, Text, useProps } from '@mantine/core';
3
3
  import { useDidUpdate } from '@mantine/hooks';
4
4
  import dayjs from 'dayjs';
5
5
  import { useState } from 'react';
6
- import { useTable, useTableStyles } from '../TableContext';
6
+ import { useTableContext } from '../TableContext';
7
7
  const defaultProps = {
8
8
  label: 'Last update:'
9
9
  };
10
10
  export const TableLastUpdated = factory((props, ref)=>{
11
- const ctx = useTableStyles();
12
- const { label, dependencies, classNames, className, styles, style, vars, ...others } = useProps('PlasmaTableLastUpdated', defaultProps, props);
13
- const { state } = useTable();
11
+ const { table, getStyles } = useTableContext();
12
+ const { label, classNames, className, styles, style, vars, ...others } = useProps('PlasmaTableLastUpdated', defaultProps, props);
14
13
  const [time, setTime] = useState(new Date());
15
14
  useDidUpdate(()=>{
16
15
  setTime(new Date());
17
16
  }, [
18
- state,
19
- ...dependencies
17
+ table.options.data
20
18
  ]);
21
19
  const stylesApiProps = {
22
20
  classNames,
@@ -26,7 +24,7 @@ export const TableLastUpdated = factory((props, ref)=>{
26
24
  px: "xl",
27
25
  justify: "right",
28
26
  ref: ref,
29
- ...ctx.getStyles('lastUpdatedRoot', {
27
+ ...getStyles('lastUpdatedRoot', {
30
28
  className,
31
29
  style,
32
30
  ...stylesApiProps
@@ -34,7 +32,7 @@ export const TableLastUpdated = factory((props, ref)=>{
34
32
  ...others,
35
33
  children: /*#__PURE__*/ _jsxs(Text, {
36
34
  size: "xs",
37
- ...ctx.getStyles('lastUpdatedLabel', {
35
+ ...getStyles('lastUpdatedLabel', {
38
36
  className,
39
37
  style,
40
38
  ...stylesApiProps
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/table/table-last-updated/TableLastUpdated.tsx"],"sourcesContent":["import {BoxProps, factory, Factory, Group, Text, useProps} from '@mantine/core';\nimport {CompoundStylesApiProps} from '@mantine/core/lib/core/styles-api/styles-api.types';\nimport {useDidUpdate} from '@mantine/hooks';\nimport dayjs from 'dayjs';\nimport {useState} from 'react';\nimport {useTable, useTableStyles} from '../TableContext';\n\nexport type TableLastUpdatedStylesNames = 'lastUpdatedRoot' | 'lastUpdatedLabel';\n\nexport interface TableLastUpdatedProps extends BoxProps, CompoundStylesApiProps<TableLastUpdatedFactory> {\n /**\n * Label to contextualize the date\n *\n * @default \"Last update:\"\n */\n label?: string;\n dependencies?: never;\n}\nexport type TableLastUpdatedFactory = Factory<{\n props: TableLastUpdatedProps;\n ref: HTMLDivElement;\n stylesNames: TableLastUpdatedStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<TableLastUpdatedProps> = {\n label: 'Last update:',\n};\n\nexport const TableLastUpdated = factory<TableLastUpdatedFactory>((props, ref) => {\n const ctx = useTableStyles();\n const {label, dependencies, classNames, className, styles, style, vars, ...others} = useProps(\n 'PlasmaTableLastUpdated',\n defaultProps,\n props,\n );\n const {state} = useTable();\n const [time, setTime] = useState(new Date());\n\n useDidUpdate(() => {\n setTime(new Date());\n }, [state, ...dependencies]);\n\n const stylesApiProps = {classNames, styles};\n\n return (\n <Group\n px=\"xl\"\n justify=\"right\"\n ref={ref}\n {...ctx.getStyles('lastUpdatedRoot', {className, style, ...stylesApiProps})}\n {...others}\n >\n <Text size=\"xs\" {...ctx.getStyles('lastUpdatedLabel', {className, style, ...stylesApiProps})}>\n {label}\n <span role=\"timer\">{dayjs(time).format('h:mm:ss A')}</span>\n </Text>\n </Group>\n );\n});\n"],"names":["factory","Group","Text","useProps","useDidUpdate","dayjs","useState","useTable","useTableStyles","defaultProps","label","TableLastUpdated","props","ref","ctx","dependencies","classNames","className","styles","style","vars","others","state","time","setTime","Date","stylesApiProps","px","justify","getStyles","size","span","role","format"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAAA,SAAkBA,OAAO,EAAWC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,QAAO,gBAAgB;AAEhF,SAAQC,YAAY,QAAO,iBAAiB;AAC5C,OAAOC,WAAW,QAAQ;AAC1B,SAAQC,QAAQ,QAAO,QAAQ;AAC/B,SAAQC,QAAQ,EAAEC,cAAc,QAAO,kBAAkB;AAoBzD,MAAMC,eAA+C;IACjDC,OAAO;AACX;AAEA,OAAO,MAAMC,mBAAmBX,QAAiC,CAACY,OAAOC;IACrE,MAAMC,MAAMN;IACZ,MAAM,EAACE,KAAK,EAAEK,YAAY,EAAEC,UAAU,EAAEC,SAAS,EAAEC,MAAM,EAAEC,KAAK,EAAEC,IAAI,EAAE,GAAGC,QAAO,GAAGlB,SACjF,0BACAM,cACAG;IAEJ,MAAM,EAACU,KAAK,EAAC,GAAGf;IAChB,MAAM,CAACgB,MAAMC,QAAQ,GAAGlB,SAAS,IAAImB;IAErCrB,aAAa;QACToB,QAAQ,IAAIC;IAChB,GAAG;QAACH;WAAUP;KAAa;IAE3B,MAAMW,iBAAiB;QAACV;QAAYE;IAAM;IAE1C,qBACI,KAACjB;QACG0B,IAAG;QACHC,SAAQ;QACRf,KAAKA;QACJ,GAAGC,IAAIe,SAAS,CAAC,mBAAmB;YAACZ;YAAWE;YAAO,GAAGO,cAAc;QAAA,EAAE;QAC1E,GAAGL,MAAM;kBAEV,cAAA,MAACnB;YAAK4B,MAAK;YAAM,GAAGhB,IAAIe,SAAS,CAAC,oBAAoB;gBAACZ;gBAAWE;gBAAO,GAAGO,cAAc;YAAA,EAAE;;gBACvFhB;8BACD,KAACqB;oBAAKC,MAAK;8BAAS3B,MAAMkB,MAAMU,MAAM,CAAC;;;;;AAIvD,GAAG"}
1
+ {"version":3,"sources":["../../../../../src/components/table/table-last-updated/TableLastUpdated.tsx"],"sourcesContent":["import {BoxProps, CompoundStylesApiProps, factory, Factory, Group, Text, useProps} from '@mantine/core';\nimport {useDidUpdate} from '@mantine/hooks';\nimport dayjs from 'dayjs';\nimport {useState} from 'react';\nimport {useTableContext} from '../TableContext';\n\nexport type TableLastUpdatedStylesNames = 'lastUpdatedRoot' | 'lastUpdatedLabel';\n\nexport interface TableLastUpdatedProps extends BoxProps, CompoundStylesApiProps<TableLastUpdatedFactory> {\n /**\n * Label to contextualize the date\n *\n * @default \"Last update:\"\n */\n label?: string;\n}\nexport type TableLastUpdatedFactory = Factory<{\n props: TableLastUpdatedProps;\n ref: HTMLDivElement;\n stylesNames: TableLastUpdatedStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<TableLastUpdatedProps> = {\n label: 'Last update:',\n};\n\nexport const TableLastUpdated = factory<TableLastUpdatedFactory>((props, ref) => {\n const {table, getStyles} = useTableContext();\n const {label, classNames, className, styles, style, vars, ...others} = useProps(\n 'PlasmaTableLastUpdated',\n defaultProps,\n props,\n );\n const [time, setTime] = useState(new Date());\n\n useDidUpdate(() => {\n setTime(new Date());\n }, [table.options.data]);\n\n const stylesApiProps = {classNames, styles};\n\n return (\n <Group\n px=\"xl\"\n justify=\"right\"\n ref={ref}\n {...getStyles('lastUpdatedRoot', {className, style, ...stylesApiProps})}\n {...others}\n >\n <Text size=\"xs\" {...getStyles('lastUpdatedLabel', {className, style, ...stylesApiProps})}>\n {label}\n <span role=\"timer\">{dayjs(time).format('h:mm:ss A')}</span>\n </Text>\n </Group>\n );\n});\n"],"names":["factory","Group","Text","useProps","useDidUpdate","dayjs","useState","useTableContext","defaultProps","label","TableLastUpdated","props","ref","table","getStyles","classNames","className","styles","style","vars","others","time","setTime","Date","options","data","stylesApiProps","px","justify","size","span","role","format"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAAA,SAA0CA,OAAO,EAAWC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,QAAO,gBAAgB;AACxG,SAAQC,YAAY,QAAO,iBAAiB;AAC5C,OAAOC,WAAW,QAAQ;AAC1B,SAAQC,QAAQ,QAAO,QAAQ;AAC/B,SAAQC,eAAe,QAAO,kBAAkB;AAmBhD,MAAMC,eAA+C;IACjDC,OAAO;AACX;AAEA,OAAO,MAAMC,mBAAmBV,QAAiC,CAACW,OAAOC;IACrE,MAAM,EAACC,KAAK,EAAEC,SAAS,EAAC,GAAGP;IAC3B,MAAM,EAACE,KAAK,EAAEM,UAAU,EAAEC,SAAS,EAAEC,MAAM,EAAEC,KAAK,EAAEC,IAAI,EAAE,GAAGC,QAAO,GAAGjB,SACnE,0BACAK,cACAG;IAEJ,MAAM,CAACU,MAAMC,QAAQ,GAAGhB,SAAS,IAAIiB;IAErCnB,aAAa;QACTkB,QAAQ,IAAIC;IAChB,GAAG;QAACV,MAAMW,OAAO,CAACC,IAAI;KAAC;IAEvB,MAAMC,iBAAiB;QAACX;QAAYE;IAAM;IAE1C,qBACI,KAAChB;QACG0B,IAAG;QACHC,SAAQ;QACRhB,KAAKA;QACJ,GAAGE,UAAU,mBAAmB;YAACE;YAAWE;YAAO,GAAGQ,cAAc;QAAA,EAAE;QACtE,GAAGN,MAAM;kBAEV,cAAA,MAAClB;YAAK2B,MAAK;YAAM,GAAGf,UAAU,oBAAoB;gBAACE;gBAAWE;gBAAO,GAAGQ,cAAc;YAAA,EAAE;;gBACnFjB;8BACD,KAACqB;oBAAKC,MAAK;8BAAS1B,MAAMgB,MAAMW,MAAM,CAAC;;;;;AAIvD,GAAG"}
@@ -0,0 +1,6 @@
1
+ import { FunctionComponent, ReactNode } from 'react';
2
+ export interface TableNoDataProps {
3
+ children: ReactNode;
4
+ }
5
+ export declare const TableNoData: FunctionComponent<TableNoDataProps>;
6
+ //# sourceMappingURL=TableNoData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableNoData.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/table-no-data/TableNoData.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAE,SAAS,EAAC,MAAM,OAAO,CAAC;AAEnD,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,EAAE,SAAS,CAAC;CACvB;AAED,eAAO,MAAM,WAAW,EAAE,iBAAiB,CAAC,gBAAgB,CAAmC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
+ export const TableNoData = ({ children })=>/*#__PURE__*/ _jsx(_Fragment, {
3
+ children: children
4
+ });
5
+
6
+ //# sourceMappingURL=TableNoData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/components/table/table-no-data/TableNoData.tsx"],"sourcesContent":["import {FunctionComponent, ReactNode} from 'react';\n\nexport interface TableNoDataProps {\n children: ReactNode;\n}\n\nexport const TableNoData: FunctionComponent<TableNoDataProps> = ({children}) => <>{children}</>;\n"],"names":["TableNoData","children"],"rangeMappings":";;;","mappings":";AAMA,OAAO,MAAMA,cAAmD,CAAC,EAACC,QAAQ,EAAC,iBAAK;kBAAGA;OAAa"}
@@ -1 +1 @@
1
- {"version":3,"file":"TablePagination.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/table-pagination/TablePagination.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAC,iBAAiB,EAAC,MAAM,OAAO,CAAC;AAGxC,OAAO,EAAC,oBAAoB,EAAC,MAAM,yBAAyB,CAAC;AAE7D,eAAO,MAAM,eAAe,EAAE,iBAAiB,CAAC,oBAAoB,CA2CnE,CAAC"}
1
+ {"version":3,"file":"TablePagination.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/table-pagination/TablePagination.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAC,iBAAiB,EAAC,MAAM,OAAO,CAAC;AAExC,OAAO,EAAC,oBAAoB,EAAC,MAAM,yBAAyB,CAAC;AAG7D,eAAO,MAAM,eAAe,EAAE,iBAAiB,CAAC,oBAAoB,CAwCnE,CAAC"}
@@ -1,33 +1,30 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { Pagination } from '@mantine/core';
3
3
  import { useDidUpdate } from '@mantine/hooks';
4
- import { useTable } from '../TableContext';
5
- export const TablePagination = ({ totalPages, onPageChange })=>{
6
- const { state, setState, containerRef, getPageCount } = useTable();
4
+ import { useTableContext } from '../TableContext';
5
+ export const TablePagination = ({ onPageChange })=>{
6
+ const { store, table, containerRef } = useTableContext();
7
7
  const updatePage = (newPage)=>{
8
8
  onPageChange?.(newPage - 1);
9
- setState((prevState)=>({
10
- ...prevState,
11
- pagination: {
12
- ...prevState.pagination,
13
- pageIndex: newPage - 1
14
- }
9
+ store.setPagination((prev)=>({
10
+ ...prev,
11
+ pageIndex: newPage - 1
15
12
  }));
16
13
  containerRef.current.scrollIntoView({
17
14
  behavior: 'smooth'
18
15
  });
19
16
  };
20
- const total = totalPages == null ? getPageCount() : totalPages;
17
+ const total = table.getPageCount();
21
18
  useDidUpdate(()=>{
22
- if (state.pagination.pageIndex + 1 > total && total > 0) {
19
+ if (store.state.pagination.pageIndex + 1 > total && total > 0) {
23
20
  updatePage(total);
24
21
  }
25
22
  }, [
26
- state.pagination.pageIndex,
23
+ store.state.pagination.pageIndex,
27
24
  total
28
25
  ]);
29
26
  return /*#__PURE__*/ _jsx(Pagination, {
30
- value: state.pagination.pageIndex + 1,
27
+ value: store.state.pagination.pageIndex + 1,
31
28
  onChange: updatePage,
32
29
  total: total,
33
30
  boundaries: 0,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/table/table-pagination/TablePagination.tsx"],"sourcesContent":["import {Pagination} from '@mantine/core';\nimport {useDidUpdate} from '@mantine/hooks';\nimport {FunctionComponent} from 'react';\n\nimport {useTable} from '../TableContext';\nimport {TablePaginationProps} from './TablePagination.types';\n\nexport const TablePagination: FunctionComponent<TablePaginationProps> = ({totalPages, onPageChange}) => {\n const {state, setState, containerRef, getPageCount} = useTable();\n\n const updatePage = (newPage: number) => {\n onPageChange?.(newPage - 1);\n setState((prevState) => ({\n ...prevState,\n pagination: {...prevState.pagination, pageIndex: newPage - 1},\n }));\n containerRef.current.scrollIntoView({behavior: 'smooth'});\n };\n\n const total = totalPages == null ? getPageCount() : totalPages;\n\n useDidUpdate(() => {\n if (state.pagination.pageIndex + 1 > total && total > 0) {\n updatePage(total);\n }\n }, [state.pagination.pageIndex, total]);\n\n return (\n <Pagination\n value={state.pagination.pageIndex + 1}\n onChange={updatePage}\n total={total}\n boundaries={0}\n size=\"md\"\n gap=\"xs\"\n getControlProps={(control) => {\n switch (control) {\n case 'previous':\n return {\n component: 'button',\n 'aria-label': 'previous page',\n };\n case 'next':\n return {component: 'button', 'aria-label': 'next page'};\n default:\n return {};\n }\n }}\n />\n );\n};\n"],"names":["Pagination","useDidUpdate","useTable","TablePagination","totalPages","onPageChange","state","setState","containerRef","getPageCount","updatePage","newPage","prevState","pagination","pageIndex","current","scrollIntoView","behavior","total","value","onChange","boundaries","size","gap","getControlProps","control","component"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAAA,SAAQA,UAAU,QAAO,gBAAgB;AACzC,SAAQC,YAAY,QAAO,iBAAiB;AAG5C,SAAQC,QAAQ,QAAO,kBAAkB;AAGzC,OAAO,MAAMC,kBAA2D,CAAC,EAACC,UAAU,EAAEC,YAAY,EAAC;IAC/F,MAAM,EAACC,KAAK,EAAEC,QAAQ,EAAEC,YAAY,EAAEC,YAAY,EAAC,GAAGP;IAEtD,MAAMQ,aAAa,CAACC;QAChBN,eAAeM,UAAU;QACzBJ,SAAS,CAACK,YAAe,CAAA;gBACrB,GAAGA,SAAS;gBACZC,YAAY;oBAAC,GAAGD,UAAUC,UAAU;oBAAEC,WAAWH,UAAU;gBAAC;YAChE,CAAA;QACAH,aAAaO,OAAO,CAACC,cAAc,CAAC;YAACC,UAAU;QAAQ;IAC3D;IAEA,MAAMC,QAAQd,cAAc,OAAOK,iBAAiBL;IAEpDH,aAAa;QACT,IAAIK,MAAMO,UAAU,CAACC,SAAS,GAAG,IAAII,SAASA,QAAQ,GAAG;YACrDR,WAAWQ;QACf;IACJ,GAAG;QAACZ,MAAMO,UAAU,CAACC,SAAS;QAAEI;KAAM;IAEtC,qBACI,KAAClB;QACGmB,OAAOb,MAAMO,UAAU,CAACC,SAAS,GAAG;QACpCM,UAAUV;QACVQ,OAAOA;QACPG,YAAY;QACZC,MAAK;QACLC,KAAI;QACJC,iBAAiB,CAACC;YACd,OAAQA;gBACJ,KAAK;oBACD,OAAO;wBACHC,WAAW;wBACX,cAAc;oBAClB;gBACJ,KAAK;oBACD,OAAO;wBAACA,WAAW;wBAAU,cAAc;oBAAW;gBAC1D;oBACI,OAAO,CAAC;YAChB;QACJ;;AAGZ,EAAE"}
1
+ {"version":3,"sources":["../../../../../src/components/table/table-pagination/TablePagination.tsx"],"sourcesContent":["import {Pagination} from '@mantine/core';\nimport {useDidUpdate} from '@mantine/hooks';\nimport {FunctionComponent} from 'react';\n\nimport {TablePaginationProps} from './TablePagination.types';\nimport {useTableContext} from '../TableContext';\n\nexport const TablePagination: FunctionComponent<TablePaginationProps> = ({onPageChange}) => {\n const {store, table, containerRef} = useTableContext();\n\n const updatePage = (newPage: number) => {\n onPageChange?.(newPage - 1);\n store.setPagination((prev) => ({...prev, pageIndex: newPage - 1}));\n containerRef.current.scrollIntoView({behavior: 'smooth'});\n };\n\n const total = table.getPageCount();\n\n useDidUpdate(() => {\n if (store.state.pagination.pageIndex + 1 > total && total > 0) {\n updatePage(total);\n }\n }, [store.state.pagination.pageIndex, total]);\n\n return (\n <Pagination\n value={store.state.pagination.pageIndex + 1}\n onChange={updatePage}\n total={total}\n boundaries={0}\n size=\"md\"\n gap=\"xs\"\n getControlProps={(control) => {\n switch (control) {\n case 'previous':\n return {\n component: 'button',\n 'aria-label': 'previous page',\n };\n case 'next':\n return {component: 'button', 'aria-label': 'next page'};\n default:\n return {};\n }\n }}\n />\n );\n};\n"],"names":["Pagination","useDidUpdate","useTableContext","TablePagination","onPageChange","store","table","containerRef","updatePage","newPage","setPagination","prev","pageIndex","current","scrollIntoView","behavior","total","getPageCount","state","pagination","value","onChange","boundaries","size","gap","getControlProps","control","component"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAAA,SAAQA,UAAU,QAAO,gBAAgB;AACzC,SAAQC,YAAY,QAAO,iBAAiB;AAI5C,SAAQC,eAAe,QAAO,kBAAkB;AAEhD,OAAO,MAAMC,kBAA2D,CAAC,EAACC,YAAY,EAAC;IACnF,MAAM,EAACC,KAAK,EAAEC,KAAK,EAAEC,YAAY,EAAC,GAAGL;IAErC,MAAMM,aAAa,CAACC;QAChBL,eAAeK,UAAU;QACzBJ,MAAMK,aAAa,CAAC,CAACC,OAAU,CAAA;gBAAC,GAAGA,IAAI;gBAAEC,WAAWH,UAAU;YAAC,CAAA;QAC/DF,aAAaM,OAAO,CAACC,cAAc,CAAC;YAACC,UAAU;QAAQ;IAC3D;IAEA,MAAMC,QAAQV,MAAMW,YAAY;IAEhChB,aAAa;QACT,IAAII,MAAMa,KAAK,CAACC,UAAU,CAACP,SAAS,GAAG,IAAII,SAASA,QAAQ,GAAG;YAC3DR,WAAWQ;QACf;IACJ,GAAG;QAACX,MAAMa,KAAK,CAACC,UAAU,CAACP,SAAS;QAAEI;KAAM;IAE5C,qBACI,KAAChB;QACGoB,OAAOf,MAAMa,KAAK,CAACC,UAAU,CAACP,SAAS,GAAG;QAC1CS,UAAUb;QACVQ,OAAOA;QACPM,YAAY;QACZC,MAAK;QACLC,KAAI;QACJC,iBAAiB,CAACC;YACd,OAAQA;gBACJ,KAAK;oBACD,OAAO;wBACHC,WAAW;wBACX,cAAc;oBAClB;gBACJ,KAAK;oBACD,OAAO;wBAACA,WAAW;wBAAU,cAAc;oBAAW;gBAC1D;oBACI,OAAO,CAAC;YAChB;QACJ;;AAGZ,EAAE"}
@@ -1,8 +1,4 @@
1
1
  export interface TablePaginationProps {
2
- /**
3
- * The total number of page. Use null only if your table is paginated client side
4
- */
5
- totalPages: number | null;
6
2
  /**
7
3
  * The callback if the current page is changed.
8
4
  *
@@ -1 +1 @@
1
- {"version":3,"file":"TablePagination.types.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/table-pagination/TablePagination.types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACjC;;OAEG;IACH,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9C"}
1
+ {"version":3,"file":"TablePagination.types.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/table-pagination/TablePagination.types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACjC;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9C"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/table/table-pagination/TablePagination.types.ts"],"sourcesContent":["export interface TablePaginationProps {\n /**\n * The total number of page. Use null only if your table is paginated client side\n */\n totalPages: number | null;\n /**\n * The callback if the current page is changed.\n *\n * @param pageIndex The index of the updated page.\n */\n onPageChange?: (pageIndex: number) => void;\n}\n"],"names":[],"rangeMappings":"","mappings":"AAAA,WAWC"}
1
+ {"version":3,"sources":["../../../../../src/components/table/table-pagination/TablePagination.types.ts"],"sourcesContent":["export interface TablePaginationProps {\n /**\n * The callback if the current page is changed.\n *\n * @param pageIndex The index of the updated page.\n */\n onPageChange?: (pageIndex: number) => void;\n}\n"],"names":[],"rangeMappings":"","mappings":"AAAA,WAOC"}
@@ -1 +1 @@
1
- {"version":3,"file":"TablePerPage.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/table-per-page/TablePerPage.tsx"],"names":[],"mappings":"AACA,OAAO,EAAC,iBAAiB,EAAC,MAAM,OAAO,CAAC;AAGxC,OAAO,EAAC,iBAAiB,EAAC,MAAM,sBAAsB,CAAC;AAEvD,eAAO,MAAM,YAAY,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,GAAG;IAAC,YAAY,EAAE,MAAM,CAAA;CA0BtF,CAAC"}
1
+ {"version":3,"file":"TablePerPage.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/table-per-page/TablePerPage.tsx"],"names":[],"mappings":"AACA,OAAO,EAAC,iBAAiB,EAAU,MAAM,OAAO,CAAC;AAGjD,OAAO,EAAC,iBAAiB,EAAC,MAAM,sBAAsB,CAAC;AAEvD,eAAO,MAAM,YAAY,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,GAAG;IAAC,YAAY,EAAE,MAAM,CAAA;CAwBtF,CAAC"}
@@ -1,23 +1,24 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Group, SegmentedControl, Text } from '@mantine/core';
3
- import { useTable } from '../TableContext';
3
+ import { useMemo } from 'react';
4
+ import { useTableContext } from '../TableContext';
4
5
  export const TablePerPage = ({ label = 'Results per page', values = [
5
6
  25,
6
7
  50,
7
8
  100
8
9
  ], onPerPageChange })=>{
9
- const { state, setState, getPageCount } = useTable();
10
+ const { store, table } = useTableContext();
11
+ const choices = useMemo(()=>values.map((value)=>value.toString()), [
12
+ values
13
+ ]);
10
14
  const updatePerPage = (newPerPage)=>{
11
15
  onPerPageChange?.(Number(newPerPage));
12
- setState((prevState)=>({
13
- ...prevState,
14
- pagination: {
15
- pageIndex: 0,
16
- pageSize: parseInt(newPerPage, 10)
17
- }
18
- }));
16
+ store.setPagination({
17
+ pageIndex: 0,
18
+ pageSize: parseInt(newPerPage, 10)
19
+ });
19
20
  };
20
- return getPageCount() > 0 ? /*#__PURE__*/ _jsxs(Group, {
21
+ return table.getPageCount() > 0 ? /*#__PURE__*/ _jsxs(Group, {
21
22
  gap: "sm",
22
23
  children: [
23
24
  /*#__PURE__*/ _jsx(Text, {
@@ -25,9 +26,9 @@ export const TablePerPage = ({ label = 'Results per page', values = [
25
26
  children: label
26
27
  }),
27
28
  /*#__PURE__*/ _jsx(SegmentedControl, {
28
- value: state.pagination.pageSize.toString() ?? values?.[1].toString(),
29
+ value: store.state.pagination.pageSize.toString() ?? choices[1] ?? choices[0],
29
30
  onChange: updatePerPage,
30
- data: values.map((value)=>value.toString()),
31
+ data: choices,
31
32
  size: "sm"
32
33
  })
33
34
  ]