@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
@@ -4,29 +4,29 @@ import { flexRender } from '@tanstack/react-table';
4
4
  import { defaultColumnSizing } from '@tanstack/table-core';
5
5
  import { Fragment } from 'react';
6
6
  import { identity } from '../../../../utils';
7
+ import { useTableContext } from '../../TableContext';
7
8
  import { TableCollapsibleColumn } from '../../table-column/TableCollapsibleColumn';
8
9
  import { TableSelectableColumn } from '../../table-column/TableSelectableColumn';
9
10
  import { TableLoading } from '../../table-loading/TableLoading';
10
- import { useTable } from '../../TableContext';
11
11
  import { useRowLayout } from './RowLayoutContext';
12
12
  const defaultProps = {};
13
13
  export const RowLayoutBody = (props)=>{
14
14
  const ctx = useRowLayout();
15
- const { table, doubleClickAction, getExpandChildren, loading, keepSelection, classNames, className, styles, style, ...others } = useProps('RowLayoutBody', defaultProps, props);
16
- const { multiRowSelectionEnabled, disableRowSelection } = useTable();
15
+ const { getRowExpandedContent, onRowDoubleClick, loading, classNames, className, styles, style, getRowAttributes, ...others } = useProps('RowLayoutBody', defaultProps, props);
16
+ const { table, store } = useTableContext();
17
17
  const toggleCollapsible = (el)=>{
18
18
  const cell = el.children[el.children.length - 1];
19
19
  cell.querySelector('button').click();
20
20
  };
21
21
  const rows = table.getRowModel()?.rows.map((row)=>{
22
- const rowChildren = getExpandChildren?.(row.original) ?? null;
22
+ const rowChildren = getRowExpandedContent?.(row.original, row.index, row) ?? null;
23
23
  const isSelected = !!row.getIsSelected();
24
- const shouldKeepSelection = keepSelection && isSelected;
24
+ const shouldKeepSelection = store.rowSelectionForced && isSelected;
25
25
  const onClick = (event)=>{
26
26
  if (rowChildren) {
27
27
  toggleCollapsible(event.currentTarget);
28
28
  }
29
- if (!disableRowSelection && !multiRowSelectionEnabled && !shouldKeepSelection) {
29
+ if (store.rowSelectionEnabled && !store.multiRowSelectionEnabled && !shouldKeepSelection) {
30
30
  row.toggleSelected();
31
31
  }
32
32
  };
@@ -34,10 +34,12 @@ export const RowLayoutBody = (props)=>{
34
34
  children: [
35
35
  /*#__PURE__*/ _jsx("tr", {
36
36
  onClick: onClick,
37
- onDoubleClick: ()=>doubleClickAction?.(row.original),
38
- "data-selectable": !disableRowSelection,
37
+ onDoubleClick: ()=>{
38
+ onRowDoubleClick?.(row.original, row.index, row);
39
+ },
40
+ "data-selectable": store.rowSelectionEnabled,
39
41
  "data-selected": isSelected,
40
- "data-multi-selection": multiRowSelectionEnabled,
42
+ "data-multi-selection": store.multiRowSelectionEnabled,
41
43
  "aria-selected": isSelected,
42
44
  "data-testid": row.id,
43
45
  ...ctx.getStyles('row', {
@@ -46,6 +48,7 @@ export const RowLayoutBody = (props)=>{
46
48
  styles,
47
49
  style
48
50
  }),
51
+ ...getRowAttributes?.(row.original, row.index, row) ?? {},
49
52
  ...others,
50
53
  children: row.getVisibleCells().map((cell)=>{
51
54
  const columnSizing = {
@@ -55,9 +58,8 @@ export const RowLayoutBody = (props)=>{
55
58
  maxSize: cell.column.columnDef.maxSize
56
59
  };
57
60
  const onCollapsibleCellClick = (event)=>{
58
- if (cell.column.id === TableSelectableColumn.id && !disableRowSelection) {
61
+ if (cell.column.id === TableSelectableColumn.id && store.rowSelectionEnabled) {
59
62
  event.stopPropagation();
60
- row.getToggleSelectedHandler();
61
63
  }
62
64
  };
63
65
  return /*#__PURE__*/ _jsx("td", {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/components/table/layouts/row-layout/RowLayoutBody.tsx"],"sourcesContent":["import {Box, BoxProps, Collapse, Factory, useProps} from '@mantine/core';\nimport {CompoundStylesApiProps} from '@mantine/core/lib/core/styles-api/styles-api.types';\nimport {flexRender} from '@tanstack/react-table';\nimport {defaultColumnSizing} from '@tanstack/table-core';\nimport {ForwardedRef, Fragment, type MouseEvent} from 'react';\nimport {CustomComponentThemeExtend, identity} from '../../../../utils';\nimport {TableCollapsibleColumn} from '../../table-column/TableCollapsibleColumn';\nimport {TableSelectableColumn} from '../../table-column/TableSelectableColumn';\nimport {TableLoading} from '../../table-loading/TableLoading';\nimport {useTable} from '../../TableContext';\nimport {TableLayoutProps} from '../TableLayouts';\nimport {useRowLayout} from './RowLayoutContext';\n\nexport type RowLayoutBodyStylesNames = 'row' | 'cell' | 'collapsibleRow' | 'collapsibleWrapper';\n\nexport interface RowLayoutBodyProps<T>\n extends BoxProps,\n TableLayoutProps<T>,\n CompoundStylesApiProps<RowLayoutBodyFactory> {}\n\nexport type RowLayoutBodyFactory = Factory<{\n props: RowLayoutBodyProps<unknown>;\n ref: HTMLTableRowElement;\n stylesNames: RowLayoutBodyStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<RowLayoutBodyProps<unknown>> = {};\n\nexport const RowLayoutBody = <T,>(props: RowLayoutBodyProps<T> & {ref?: ForwardedRef<HTMLTableRowElement>}) => {\n const ctx = useRowLayout();\n const {\n table,\n doubleClickAction,\n getExpandChildren,\n loading,\n keepSelection,\n classNames,\n className,\n styles,\n style,\n ...others\n } = useProps('RowLayoutBody', defaultProps as RowLayoutBodyProps<T>, props);\n const {multiRowSelectionEnabled, disableRowSelection} = useTable();\n const toggleCollapsible = (el: HTMLTableRowElement) => {\n const cell = el.children[el.children.length - 1] as HTMLTableCellElement;\n cell.querySelector('button').click();\n };\n\n const rows = table.getRowModel()?.rows.map((row) => {\n const rowChildren = getExpandChildren?.(row.original) ?? null;\n const isSelected = !!row.getIsSelected();\n const shouldKeepSelection = keepSelection && isSelected;\n const onClick = (event: MouseEvent<HTMLTableRowElement>) => {\n if (rowChildren) {\n toggleCollapsible(event.currentTarget);\n }\n if (!disableRowSelection && !multiRowSelectionEnabled && !shouldKeepSelection) {\n row.toggleSelected();\n }\n };\n\n return (\n <Fragment key={row.id}>\n <tr\n onClick={onClick}\n onDoubleClick={() => doubleClickAction?.(row.original)}\n data-selectable={!disableRowSelection}\n data-selected={isSelected}\n data-multi-selection={multiRowSelectionEnabled}\n aria-selected={isSelected}\n data-testid={row.id}\n {...ctx.getStyles('row', {classNames, className, styles, style})}\n {...others}\n >\n {row.getVisibleCells().map((cell) => {\n const columnSizing = {\n ...defaultColumnSizing,\n size: cell.column.columnDef.size,\n minSize: cell.column.columnDef.minSize,\n maxSize: cell.column.columnDef.maxSize,\n };\n\n const onCollapsibleCellClick = (event: MouseEvent<HTMLTableCellElement>) => {\n if (cell.column.id === TableSelectableColumn.id && !disableRowSelection) {\n event.stopPropagation();\n row.getToggleSelectedHandler();\n }\n };\n\n return (\n <td\n key={cell.id}\n data-testid={cell.id}\n className={ctx.getStyles('cell', {classNames, styles}).className}\n style={{\n width: `${columnSizing.size}px` ?? 'auto',\n minWidth: `${columnSizing.minSize}px`,\n maxWidth: `${columnSizing.maxSize}px`,\n ...ctx.getStyles('cell', {classNames, styles}).style,\n }}\n data-collapsible-cell={cell.column.id === TableCollapsibleColumn.id}\n onClick={onCollapsibleCellClick}\n >\n <TableLoading visible={loading}>\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </TableLoading>\n </td>\n );\n })}\n </tr>\n {rowChildren ? (\n <tr {...ctx.getStyles('collapsibleRow', {classNames, styles})}>\n <td\n colSpan={table.getAllColumns().length}\n style={{\n padding: 0,\n }}\n >\n <Collapse in={row.getIsExpanded()}>\n <Box {...ctx.getStyles('collapsibleWrapper', {classNames, styles})} px=\"sm\" py=\"xs\">\n {rowChildren}\n </Box>\n </Collapse>\n </td>\n </tr>\n ) : null}\n </Fragment>\n );\n });\n\n return <>{rows}</>;\n};\n\nRowLayoutBody.extend = identity as CustomComponentThemeExtend<RowLayoutBodyFactory>;\n"],"names":["Box","Collapse","useProps","flexRender","defaultColumnSizing","Fragment","identity","TableCollapsibleColumn","TableSelectableColumn","TableLoading","useTable","useRowLayout","defaultProps","RowLayoutBody","props","ctx","table","doubleClickAction","getExpandChildren","loading","keepSelection","classNames","className","styles","style","others","multiRowSelectionEnabled","disableRowSelection","toggleCollapsible","el","cell","children","length","querySelector","click","rows","getRowModel","map","row","rowChildren","original","isSelected","getIsSelected","shouldKeepSelection","onClick","event","currentTarget","toggleSelected","tr","onDoubleClick","data-selectable","data-selected","data-multi-selection","aria-selected","data-testid","id","getStyles","getVisibleCells","columnSizing","size","column","columnDef","minSize","maxSize","onCollapsibleCellClick","stopPropagation","getToggleSelectedHandler","td","width","minWidth","maxWidth","data-collapsible-cell","visible","getContext","colSpan","getAllColumns","padding","in","getIsExpanded","px","py","extend"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../../../../src/components/table/layouts/row-layout/RowLayoutBody.tsx"],"sourcesContent":["import {Box, BoxProps, Collapse, CompoundStylesApiProps, Factory, useProps} from '@mantine/core';\nimport {flexRender} from '@tanstack/react-table';\nimport {defaultColumnSizing} from '@tanstack/table-core';\nimport {ForwardedRef, Fragment, type MouseEvent} from 'react';\nimport {CustomComponentThemeExtend, identity} from '../../../../utils';\nimport {TableLayoutProps} from '../../Table.types';\nimport {useTableContext} from '../../TableContext';\nimport {TableCollapsibleColumn} from '../../table-column/TableCollapsibleColumn';\nimport {TableSelectableColumn} from '../../table-column/TableSelectableColumn';\nimport {TableLoading} from '../../table-loading/TableLoading';\nimport {useRowLayout} from './RowLayoutContext';\n\nexport type RowLayoutBodyStylesNames = 'row' | 'cell' | 'collapsibleRow' | 'collapsibleWrapper';\n\nexport interface RowLayoutBodyProps<T>\n extends BoxProps,\n TableLayoutProps<T>,\n CompoundStylesApiProps<RowLayoutBodyFactory> {}\n\nexport type RowLayoutBodyFactory = Factory<{\n props: RowLayoutBodyProps<unknown>;\n ref: HTMLTableRowElement;\n stylesNames: RowLayoutBodyStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<RowLayoutBodyProps<unknown>> = {};\n\nexport const RowLayoutBody = <T,>(props: RowLayoutBodyProps<T> & {ref?: ForwardedRef<HTMLTableRowElement>}) => {\n const ctx = useRowLayout();\n const {\n getRowExpandedContent,\n onRowDoubleClick,\n loading,\n classNames,\n className,\n styles,\n style,\n getRowAttributes,\n ...others\n } = useProps('RowLayoutBody', defaultProps as RowLayoutBodyProps<T>, props);\n const {table, store} = useTableContext<T>();\n const toggleCollapsible = (el: HTMLTableRowElement) => {\n const cell = el.children[el.children.length - 1] as HTMLTableCellElement;\n cell.querySelector('button').click();\n };\n\n const rows = table.getRowModel()?.rows.map((row) => {\n const rowChildren = getRowExpandedContent?.(row.original, row.index, row) ?? null;\n const isSelected = !!row.getIsSelected();\n const shouldKeepSelection = store.rowSelectionForced && isSelected;\n const onClick = (event: MouseEvent<HTMLTableRowElement>) => {\n if (rowChildren) {\n toggleCollapsible(event.currentTarget);\n }\n if (store.rowSelectionEnabled && !store.multiRowSelectionEnabled && !shouldKeepSelection) {\n row.toggleSelected();\n }\n };\n\n return (\n <Fragment key={row.id}>\n <tr\n onClick={onClick}\n onDoubleClick={() => {\n onRowDoubleClick?.(row.original, row.index, row);\n }}\n data-selectable={store.rowSelectionEnabled}\n data-selected={isSelected}\n data-multi-selection={store.multiRowSelectionEnabled}\n aria-selected={isSelected}\n data-testid={row.id}\n {...ctx.getStyles('row', {classNames, className, styles, style})}\n {...(getRowAttributes?.(row.original, row.index, row) ?? {})}\n {...others}\n >\n {row.getVisibleCells().map((cell) => {\n const columnSizing = {\n ...defaultColumnSizing,\n size: cell.column.columnDef.size,\n minSize: cell.column.columnDef.minSize,\n maxSize: cell.column.columnDef.maxSize,\n };\n\n const onCollapsibleCellClick = (event: MouseEvent<HTMLTableCellElement>) => {\n if (cell.column.id === TableSelectableColumn.id && store.rowSelectionEnabled) {\n event.stopPropagation();\n }\n };\n\n return (\n <td\n key={cell.id}\n data-testid={cell.id}\n className={ctx.getStyles('cell', {classNames, styles}).className}\n style={{\n width: `${columnSizing.size}px` ?? 'auto',\n minWidth: `${columnSizing.minSize}px`,\n maxWidth: `${columnSizing.maxSize}px`,\n ...ctx.getStyles('cell', {classNames, styles}).style,\n }}\n data-collapsible-cell={cell.column.id === TableCollapsibleColumn.id}\n onClick={onCollapsibleCellClick}\n >\n <TableLoading visible={loading}>\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </TableLoading>\n </td>\n );\n })}\n </tr>\n {rowChildren ? (\n <tr {...ctx.getStyles('collapsibleRow', {classNames, styles})}>\n <td\n colSpan={table.getAllColumns().length}\n style={{\n padding: 0,\n }}\n >\n <Collapse in={row.getIsExpanded()}>\n <Box {...ctx.getStyles('collapsibleWrapper', {classNames, styles})} px=\"sm\" py=\"xs\">\n {rowChildren}\n </Box>\n </Collapse>\n </td>\n </tr>\n ) : null}\n </Fragment>\n );\n });\n\n return <>{rows}</>;\n};\n\nRowLayoutBody.extend = identity as CustomComponentThemeExtend<RowLayoutBodyFactory>;\n"],"names":["Box","Collapse","useProps","flexRender","defaultColumnSizing","Fragment","identity","useTableContext","TableCollapsibleColumn","TableSelectableColumn","TableLoading","useRowLayout","defaultProps","RowLayoutBody","props","ctx","getRowExpandedContent","onRowDoubleClick","loading","classNames","className","styles","style","getRowAttributes","others","table","store","toggleCollapsible","el","cell","children","length","querySelector","click","rows","getRowModel","map","row","rowChildren","original","index","isSelected","getIsSelected","shouldKeepSelection","rowSelectionForced","onClick","event","currentTarget","rowSelectionEnabled","multiRowSelectionEnabled","toggleSelected","tr","onDoubleClick","data-selectable","data-selected","data-multi-selection","aria-selected","data-testid","id","getStyles","getVisibleCells","columnSizing","size","column","columnDef","minSize","maxSize","onCollapsibleCellClick","stopPropagation","td","width","minWidth","maxWidth","data-collapsible-cell","visible","getContext","colSpan","getAllColumns","padding","in","getIsExpanded","px","py","extend"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1,8 +1,7 @@
1
- import { BoxProps } from '@mantine/core';
2
- import { CompoundStylesApiProps } from '@mantine/core/lib/core/styles-api/styles-api.types';
1
+ import { BoxProps, CompoundStylesApiProps } from '@mantine/core';
3
2
  import { ForwardedRef } from 'react';
4
3
  import { CustomComponentThemeExtend } from '../../../../utils';
5
- import { type TableLayoutProps } from '../TableLayouts';
4
+ import { TableLayoutProps } from '../../Table.types';
6
5
  import { RowLayoutBodyFactory } from './RowLayoutBody';
7
6
  export type RowLayoutHeaderStyleNames = 'headerRow';
8
7
  export interface RowLayoutHeaderProps<T> extends BoxProps, TableLayoutProps<T>, CompoundStylesApiProps<RowLayoutBodyFactory> {
@@ -1 +1 @@
1
- {"version":3,"file":"RowLayoutHeader.d.ts","sourceRoot":"","sources":["../../../../../../src/components/table/layouts/row-layout/RowLayoutHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAoB,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAC,sBAAsB,EAAC,MAAM,oDAAoD,CAAC;AAC1F,OAAO,EAAC,YAAY,EAAC,MAAM,OAAO,CAAC;AACnC,OAAO,EAAC,0BAA0B,EAAW,MAAM,mBAAmB,CAAC;AAGvE,OAAO,EAAC,KAAK,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAC,oBAAoB,EAAC,MAAM,iBAAiB,CAAC;AAGrD,MAAM,MAAM,yBAAyB,GAAG,WAAW,CAAC;AAEpD,MAAM,WAAW,oBAAoB,CAAC,CAAC,CACnC,SAAQ,QAAQ,EACZ,gBAAgB,CAAC,CAAC,CAAC,EACnB,sBAAsB,CAAC,oBAAoB,CAAC;CAAG;AAWvD,eAAO,MAAM,eAAe;;cAAgD,aAAa,mBAAmB,CAAC;;;eARlG,qBAAqB,OAAO,CAAC;aAC/B,mBAAmB;qBACX,yBAAyB;kBAC5B,IAAI;;CAyBjB,CAAC"}
1
+ {"version":3,"file":"RowLayoutHeader.d.ts","sourceRoot":"","sources":["../../../../../../src/components/table/layouts/row-layout/RowLayoutHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,sBAAsB,EAAoB,MAAM,eAAe,CAAC;AAClF,OAAO,EAAC,YAAY,EAAC,MAAM,OAAO,CAAC;AACnC,OAAO,EAAC,0BAA0B,EAAW,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAC,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AAGnD,OAAO,EAAC,oBAAoB,EAAC,MAAM,iBAAiB,CAAC;AAGrD,MAAM,MAAM,yBAAyB,GAAG,WAAW,CAAC;AAEpD,MAAM,WAAW,oBAAoB,CAAC,CAAC,CACnC,SAAQ,QAAQ,EACZ,gBAAgB,CAAC,CAAC,CAAC,EACnB,sBAAsB,CAAC,oBAAoB,CAAC;CAAG;AAWvD,eAAO,MAAM,eAAe;;cAAgD,aAAa,mBAAmB,CAAC;;;eARlG,qBAAqB,OAAO,CAAC;aAC/B,mBAAmB;qBACX,yBAAyB;kBAC5B,IAAI;;CAmCjB,CAAC"}
@@ -1,17 +1,17 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { useProps } from '@mantine/core';
3
3
  import { identity } from '../../../../utils';
4
+ import { useTableContext } from '../../TableContext';
4
5
  import { Th } from '../../table-header/Th';
5
- import { useTable } from '../../TableContext';
6
6
  import { useRowLayout } from './RowLayoutContext';
7
7
  const defaultProps = {};
8
8
  export const RowLayoutHeader = (props)=>{
9
9
  const ctx = useRowLayout();
10
- const { table, getExpandChildren, loading, doubleClickAction, className, style, classNames, styles, ...others } = useProps('RowLayoutHeader', defaultProps, props);
11
- const { multiRowSelectionEnabled, disableRowSelection } = useTable();
10
+ const { getRowExpandedContent: _getRowExpandedContent, getRowActions: _getRowActions, loading: _loading, getRowAttributes: _getRowAttributes, onRowDoubleClick: _onRowDoubleClick, className, style, classNames, styles, ...others } = useProps('RowLayoutHeader', defaultProps, props);
11
+ const { table, store } = useTableContext();
12
12
  const headers = table.getHeaderGroups().map((headerGroup)=>/*#__PURE__*/ _jsx("tr", {
13
- "data-selectable": !disableRowSelection,
14
- "data-multi-selection": multiRowSelectionEnabled,
13
+ "data-selectable": store.rowSelectionEnabled,
14
+ "data-multi-selection": store.multiRowSelectionEnabled,
15
15
  ...ctx.getStyles('headerRow', {
16
16
  className,
17
17
  classNames,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/components/table/layouts/row-layout/RowLayoutHeader.tsx"],"sourcesContent":["import {BoxProps, Factory, useProps} from '@mantine/core';\nimport {CompoundStylesApiProps} from '@mantine/core/lib/core/styles-api/styles-api.types';\nimport {ForwardedRef} from 'react';\nimport {CustomComponentThemeExtend, identity} from '../../../../utils';\nimport {Th} from '../../table-header/Th';\nimport {useTable} from '../../TableContext';\nimport {type TableLayoutProps} from '../TableLayouts';\nimport {RowLayoutBodyFactory} from './RowLayoutBody';\nimport {useRowLayout} from './RowLayoutContext';\n\nexport type RowLayoutHeaderStyleNames = 'headerRow';\n\nexport interface RowLayoutHeaderProps<T>\n extends BoxProps,\n TableLayoutProps<T>,\n CompoundStylesApiProps<RowLayoutBodyFactory> {}\n\ntype RowLayoutHeaderFactory = Factory<{\n props: RowLayoutHeaderProps<unknown>;\n ref: HTMLTableRowElement;\n stylesNames: RowLayoutHeaderStyleNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<RowLayoutHeaderProps<unknown>> = {};\n\nexport const RowLayoutHeader = <T,>(props: RowLayoutHeaderProps<T> & {ref?: ForwardedRef<HTMLTableRowElement>}) => {\n const ctx = useRowLayout();\n const {table, getExpandChildren, loading, doubleClickAction, className, style, classNames, styles, ...others} =\n useProps('RowLayoutHeader', defaultProps as RowLayoutHeaderProps<T>, props);\n const {multiRowSelectionEnabled, disableRowSelection} = useTable();\n\n const headers = table.getHeaderGroups().map((headerGroup) => (\n <tr\n key={headerGroup.id}\n data-selectable={!disableRowSelection}\n data-multi-selection={multiRowSelectionEnabled}\n {...ctx.getStyles('headerRow', {className, classNames, styles, style})}\n {...others}\n >\n {headerGroup.headers.map((columnHeader) => (\n <Th key={columnHeader.id} header={columnHeader} />\n ))}\n </tr>\n ));\n return <>{headers}</>;\n};\nRowLayoutHeader.extend = identity as CustomComponentThemeExtend<RowLayoutHeaderFactory>;\n"],"names":["useProps","identity","Th","useTable","useRowLayout","defaultProps","RowLayoutHeader","props","ctx","table","getExpandChildren","loading","doubleClickAction","className","style","classNames","styles","others","multiRowSelectionEnabled","disableRowSelection","headers","getHeaderGroups","map","headerGroup","tr","data-selectable","data-multi-selection","getStyles","columnHeader","header","id","extend"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAAA,SAA2BA,QAAQ,QAAO,gBAAgB;AAG1D,SAAoCC,QAAQ,QAAO,oBAAoB;AACvE,SAAQC,EAAE,QAAO,wBAAwB;AACzC,SAAQC,QAAQ,QAAO,qBAAqB;AAG5C,SAAQC,YAAY,QAAO,qBAAqB;AAgBhD,MAAMC,eAAuD,CAAC;AAE9D,OAAO,MAAMC,kBAAkB,CAAKC;IAChC,MAAMC,MAAMJ;IACZ,MAAM,EAACK,KAAK,EAAEC,iBAAiB,EAAEC,OAAO,EAAEC,iBAAiB,EAAEC,SAAS,EAAEC,KAAK,EAAEC,UAAU,EAAEC,MAAM,EAAE,GAAGC,QAAO,GACzGjB,SAAS,mBAAmBK,cAAyCE;IACzE,MAAM,EAACW,wBAAwB,EAAEC,mBAAmB,EAAC,GAAGhB;IAExD,MAAMiB,UAAUX,MAAMY,eAAe,GAAGC,GAAG,CAAC,CAACC,4BACzC,KAACC;YAEGC,mBAAiB,CAACN;YAClBO,wBAAsBR;YACrB,GAAGV,IAAImB,SAAS,CAAC,aAAa;gBAACd;gBAAWE;gBAAYC;gBAAQF;YAAK,EAAE;YACrE,GAAGG,MAAM;sBAETM,YAAYH,OAAO,CAACE,GAAG,CAAC,CAACM,6BACtB,KAAC1B;oBAAyB2B,QAAQD;mBAAzBA,aAAaE,EAAE;WAPvBP,YAAYO,EAAE;IAW3B,qBAAO;kBAAGV;;AACd,EAAE;AACFd,gBAAgByB,MAAM,GAAG9B"}
1
+ {"version":3,"sources":["../../../../../../src/components/table/layouts/row-layout/RowLayoutHeader.tsx"],"sourcesContent":["import {BoxProps, CompoundStylesApiProps, Factory, useProps} from '@mantine/core';\nimport {ForwardedRef} from 'react';\nimport {CustomComponentThemeExtend, identity} from '../../../../utils';\nimport {TableLayoutProps} from '../../Table.types';\nimport {useTableContext} from '../../TableContext';\nimport {Th} from '../../table-header/Th';\nimport {RowLayoutBodyFactory} from './RowLayoutBody';\nimport {useRowLayout} from './RowLayoutContext';\n\nexport type RowLayoutHeaderStyleNames = 'headerRow';\n\nexport interface RowLayoutHeaderProps<T>\n extends BoxProps,\n TableLayoutProps<T>,\n CompoundStylesApiProps<RowLayoutBodyFactory> {}\n\ntype RowLayoutHeaderFactory = Factory<{\n props: RowLayoutHeaderProps<unknown>;\n ref: HTMLTableRowElement;\n stylesNames: RowLayoutHeaderStyleNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<RowLayoutHeaderProps<unknown>> = {};\n\nexport const RowLayoutHeader = <T,>(props: RowLayoutHeaderProps<T> & {ref?: ForwardedRef<HTMLTableRowElement>}) => {\n const ctx = useRowLayout();\n const {\n getRowExpandedContent: _getRowExpandedContent,\n getRowActions: _getRowActions,\n loading: _loading,\n getRowAttributes: _getRowAttributes,\n onRowDoubleClick: _onRowDoubleClick,\n className,\n style,\n classNames,\n styles,\n ...others\n } = useProps('RowLayoutHeader', defaultProps as RowLayoutHeaderProps<T>, props);\n const {table, store} = useTableContext<T>();\n\n const headers = table.getHeaderGroups().map((headerGroup) => (\n <tr\n key={headerGroup.id}\n data-selectable={store.rowSelectionEnabled}\n data-multi-selection={store.multiRowSelectionEnabled}\n {...ctx.getStyles('headerRow', {className, classNames, styles, style})}\n {...others}\n >\n {headerGroup.headers.map((columnHeader) => (\n <Th key={columnHeader.id} header={columnHeader} />\n ))}\n </tr>\n ));\n return <>{headers}</>;\n};\nRowLayoutHeader.extend = identity as CustomComponentThemeExtend<RowLayoutHeaderFactory>;\n"],"names":["useProps","identity","useTableContext","Th","useRowLayout","defaultProps","RowLayoutHeader","props","ctx","getRowExpandedContent","_getRowExpandedContent","getRowActions","_getRowActions","loading","_loading","getRowAttributes","_getRowAttributes","onRowDoubleClick","_onRowDoubleClick","className","style","classNames","styles","others","table","store","headers","getHeaderGroups","map","headerGroup","tr","data-selectable","rowSelectionEnabled","data-multi-selection","multiRowSelectionEnabled","getStyles","columnHeader","header","id","extend"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAAA,SAAmDA,QAAQ,QAAO,gBAAgB;AAElF,SAAoCC,QAAQ,QAAO,oBAAoB;AAEvE,SAAQC,eAAe,QAAO,qBAAqB;AACnD,SAAQC,EAAE,QAAO,wBAAwB;AAEzC,SAAQC,YAAY,QAAO,qBAAqB;AAgBhD,MAAMC,eAAuD,CAAC;AAE9D,OAAO,MAAMC,kBAAkB,CAAKC;IAChC,MAAMC,MAAMJ;IACZ,MAAM,EACFK,uBAAuBC,sBAAsB,EAC7CC,eAAeC,cAAc,EAC7BC,SAASC,QAAQ,EACjBC,kBAAkBC,iBAAiB,EACnCC,kBAAkBC,iBAAiB,EACnCC,SAAS,EACTC,KAAK,EACLC,UAAU,EACVC,MAAM,EACN,GAAGC,QACN,GAAGvB,SAAS,mBAAmBK,cAAyCE;IACzE,MAAM,EAACiB,KAAK,EAAEC,KAAK,EAAC,GAAGvB;IAEvB,MAAMwB,UAAUF,MAAMG,eAAe,GAAGC,GAAG,CAAC,CAACC,4BACzC,KAACC;YAEGC,mBAAiBN,MAAMO,mBAAmB;YAC1CC,wBAAsBR,MAAMS,wBAAwB;YACnD,GAAG1B,IAAI2B,SAAS,CAAC,aAAa;gBAAChB;gBAAWE;gBAAYC;gBAAQF;YAAK,EAAE;YACrE,GAAGG,MAAM;sBAETM,YAAYH,OAAO,CAACE,GAAG,CAAC,CAACQ,6BACtB,KAACjC;oBAAyBkC,QAAQD;mBAAzBA,aAAaE,EAAE;WAPvBT,YAAYS,EAAE;IAW3B,qBAAO;kBAAGZ;;AACd,EAAE;AACFpB,gBAAgBiC,MAAM,GAAGtC"}
@@ -1,20 +1,16 @@
1
1
  import { Icon as IconType } from '@coveord/plasma-react-icons';
2
- import { Factory } from '@mantine/core';
3
- import { CompoundStylesApiProps } from '@mantine/core/lib/core/styles-api/styles-api.types';
4
- export type RowLayoutIconStylesNames = 'icon';
2
+ import { CompoundStylesApiProps, Factory } from '@mantine/core';
5
3
  export interface RowLayoutIconProps extends CompoundStylesApiProps<RowLayoutIconFactory> {
6
4
  icon: IconType;
7
5
  }
8
6
  export type RowLayoutIconFactory = Factory<{
9
7
  props: RowLayoutIconProps;
10
8
  ref: SVGSVGElement;
11
- stylesNames: RowLayoutIconStylesNames;
12
9
  compound: true;
13
10
  }>;
14
11
  export declare const RowLayoutIcon: import("@mantine/core").MantineComponent<{
15
12
  props: RowLayoutIconProps;
16
13
  ref: SVGSVGElement;
17
- stylesNames: RowLayoutIconStylesNames;
18
14
  compound: true;
19
15
  }>;
20
16
  //# sourceMappingURL=RowLayoutIcon.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RowLayoutIcon.d.ts","sourceRoot":"","sources":["../../../../../../src/components/table/layouts/row-layout/RowLayoutIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,IAAI,QAAQ,EAAe,MAAM,6BAA6B,CAAC;AAC3E,OAAO,EAAU,OAAO,EAAW,MAAM,eAAe,CAAC;AACzD,OAAO,EAAC,sBAAsB,EAAC,MAAM,oDAAoD,CAAC;AAG1F,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAAC;AAC9C,MAAM,WAAW,kBAAmB,SAAQ,sBAAsB,CAAC,oBAAoB,CAAC;IACpF,IAAI,EAAE,QAAQ,CAAC;CAClB;AAED,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC;IACvC,KAAK,EAAE,kBAAkB,CAAC;IAC1B,GAAG,EAAE,aAAa,CAAC;IACnB,WAAW,EAAE,wBAAwB,CAAC;IACtC,QAAQ,EAAE,IAAI,CAAC;CAClB,CAAC,CAAC;AAMH,eAAO,MAAM,aAAa;WAVf,kBAAkB;SACpB,aAAa;iBACL,wBAAwB;cAC3B,IAAI;EAYhB,CAAC"}
1
+ {"version":3,"file":"RowLayoutIcon.d.ts","sourceRoot":"","sources":["../../../../../../src/components/table/layouts/row-layout/RowLayoutIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,IAAI,QAAQ,EAAe,MAAM,6BAA6B,CAAC;AAC3E,OAAO,EAAC,sBAAsB,EAAE,OAAO,EAAoB,MAAM,eAAe,CAAC;AAEjF,MAAM,WAAW,kBAAmB,SAAQ,sBAAsB,CAAC,oBAAoB,CAAC;IACpF,IAAI,EAAE,QAAQ,CAAC;CAClB;AAED,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC;IACvC,KAAK,EAAE,kBAAkB,CAAC;IAC1B,GAAG,EAAE,aAAa,CAAC;IACnB,QAAQ,EAAE,IAAI,CAAC;CAClB,CAAC,CAAC;AAMH,eAAO,MAAM,aAAa;WATf,kBAAkB;SACpB,aAAa;cACR,IAAI;EAWhB,CAAC"}
@@ -1,19 +1,13 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { ListSize16Px } from '@coveord/plasma-react-icons';
3
3
  import { factory, useProps } from '@mantine/core';
4
- import { useRowLayout } from './RowLayoutContext';
5
4
  const defaultProps = {
6
5
  icon: ListSize16Px
7
6
  };
8
7
  export const RowLayoutIcon = factory((props, ref)=>{
9
- const ctx = useRowLayout();
10
- const { icon: Icon, classNames, styles } = useProps('RowLayoutIcon', defaultProps, props);
8
+ const { icon: Icon } = useProps('RowLayoutIcon', defaultProps, props);
11
9
  return /*#__PURE__*/ _jsx(Icon, {
12
- ref: ref,
13
- ...ctx.getStyles('icon', {
14
- styles,
15
- classNames
16
- })
10
+ ref: ref
17
11
  });
18
12
  });
19
13
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/components/table/layouts/row-layout/RowLayoutIcon.tsx"],"sourcesContent":["import {Icon as IconType, ListSize16Px} from '@coveord/plasma-react-icons';\nimport {factory, Factory, useProps} from '@mantine/core';\nimport {CompoundStylesApiProps} from '@mantine/core/lib/core/styles-api/styles-api.types';\nimport {useRowLayout} from './RowLayoutContext';\n\nexport type RowLayoutIconStylesNames = 'icon';\nexport interface RowLayoutIconProps extends CompoundStylesApiProps<RowLayoutIconFactory> {\n icon: IconType;\n}\n\nexport type RowLayoutIconFactory = Factory<{\n props: RowLayoutIconProps;\n ref: SVGSVGElement;\n stylesNames: RowLayoutIconStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<RowLayoutIconProps> = {\n icon: ListSize16Px,\n};\n\nexport const RowLayoutIcon = factory<RowLayoutIconFactory>((props, ref) => {\n const ctx = useRowLayout();\n const {icon: Icon, classNames, styles} = useProps('RowLayoutIcon', defaultProps, props);\n\n return <Icon ref={ref} {...ctx.getStyles('icon', {styles, classNames})} />;\n});\n"],"names":["ListSize16Px","factory","useProps","useRowLayout","defaultProps","icon","RowLayoutIcon","props","ref","ctx","Icon","classNames","styles","getStyles"],"rangeMappings":";;;;;;;;;;;;;;;;;","mappings":";AAAA,SAA0BA,YAAY,QAAO,8BAA8B;AAC3E,SAAQC,OAAO,EAAWC,QAAQ,QAAO,gBAAgB;AAEzD,SAAQC,YAAY,QAAO,qBAAqB;AAchD,MAAMC,eAA4C;IAC9CC,MAAML;AACV;AAEA,OAAO,MAAMM,gBAAgBL,QAA8B,CAACM,OAAOC;IAC/D,MAAMC,MAAMN;IACZ,MAAM,EAACE,MAAMK,IAAI,EAAEC,UAAU,EAAEC,MAAM,EAAC,GAAGV,SAAS,iBAAiBE,cAAcG;IAEjF,qBAAO,KAACG;QAAKF,KAAKA;QAAM,GAAGC,IAAII,SAAS,CAAC,QAAQ;YAACD;YAAQD;QAAU,EAAE;;AAC1E,GAAG"}
1
+ {"version":3,"sources":["../../../../../../src/components/table/layouts/row-layout/RowLayoutIcon.tsx"],"sourcesContent":["import {Icon as IconType, ListSize16Px} from '@coveord/plasma-react-icons';\nimport {CompoundStylesApiProps, Factory, factory, useProps} from '@mantine/core';\n\nexport interface RowLayoutIconProps extends CompoundStylesApiProps<RowLayoutIconFactory> {\n icon: IconType;\n}\n\nexport type RowLayoutIconFactory = Factory<{\n props: RowLayoutIconProps;\n ref: SVGSVGElement;\n compound: true;\n}>;\n\nconst defaultProps: Partial<RowLayoutIconProps> = {\n icon: ListSize16Px,\n};\n\nexport const RowLayoutIcon = factory<RowLayoutIconFactory>((props, ref) => {\n const {icon: Icon} = useProps('RowLayoutIcon', defaultProps, props);\n\n return <Icon ref={ref} />;\n});\n"],"names":["ListSize16Px","factory","useProps","defaultProps","icon","RowLayoutIcon","props","ref","Icon"],"rangeMappings":";;;;;;;;;;;","mappings":";AAAA,SAA0BA,YAAY,QAAO,8BAA8B;AAC3E,SAAyCC,OAAO,EAAEC,QAAQ,QAAO,gBAAgB;AAYjF,MAAMC,eAA4C;IAC9CC,MAAMJ;AACV;AAEA,OAAO,MAAMK,gBAAgBJ,QAA8B,CAACK,OAAOC;IAC/D,MAAM,EAACH,MAAMI,IAAI,EAAC,GAAGN,SAAS,iBAAiBC,cAAcG;IAE7D,qBAAO,KAACE;QAAKD,KAAKA;;AACtB,GAAG"}
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ export interface TableActionContextValue {
3
+ primary: boolean;
4
+ }
5
+ export declare const TableActionProvider: ({ children, value }: {
6
+ value: TableActionContextValue;
7
+ children: import("react").ReactNode;
8
+ }) => import("react").JSX.Element, useTableActionContext: () => TableActionContextValue;
9
+ //# sourceMappingURL=TableActionContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableActionContext.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/table-actions/TableActionContext.ts"],"names":[],"mappings":";AAEA,MAAM,WAAW,uBAAuB;IACpC,OAAO,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAO,mBAAmB;;;mCAAE,qBAAqB,+BAEvD,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { createSafeContext } from '@mantine/core';
2
+ export const [TableActionProvider, useTableActionContext] = createSafeContext('TableActionProvider component was not found in the tree');
3
+
4
+ //# sourceMappingURL=TableActionContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/components/table/table-actions/TableActionContext.ts"],"sourcesContent":["import {createSafeContext} from '@mantine/core';\n\nexport interface TableActionContextValue {\n primary: boolean;\n}\n\nexport const [TableActionProvider, useTableActionContext] = createSafeContext<TableActionContextValue>(\n 'TableActionProvider component was not found in the tree',\n);\n"],"names":["createSafeContext","TableActionProvider","useTableActionContext"],"rangeMappings":";","mappings":"AAAA,SAAQA,iBAAiB,QAAO,gBAAgB;AAMhD,OAAO,MAAM,CAACC,qBAAqBC,sBAAsB,GAAGF,kBACxD,2DACF"}
@@ -0,0 +1,44 @@
1
+ import { CompoundStylesApiProps, MenuItemProps, PolymorphicFactory } from '@mantine/core';
2
+ import { ReactNode } from 'react';
3
+ import { ButtonProps } from '../../button';
4
+ export type TableActionItemStylesNames = 'actionItemRoot';
5
+ export interface TableActionItemProps extends Omit<ButtonProps, 'classNames' | 'styles' | 'vars' | 'variant' | 'leftSection' | 'rightSection'>, Omit<MenuItemProps, 'classNames' | 'styles' | 'vars' | 'variant' | 'leftSection' | 'disabled'>, CompoundStylesApiProps<TableActionItemFactory> {
6
+ /**
7
+ * Action label
8
+ */
9
+ children: ReactNode;
10
+ /**
11
+ * Content to put on the left of the label
12
+ */
13
+ leftSection?: ReactNode;
14
+ }
15
+ type TableActionItemFactory = PolymorphicFactory<{
16
+ props: TableActionItemProps;
17
+ defaultRef: HTMLButtonElement;
18
+ defaultComponent: 'button';
19
+ stylesNames: TableActionItemStylesNames;
20
+ compound: true;
21
+ }>;
22
+ export declare const TableActionItem: (<C = "button">(props: import("@mantine/core").PolymorphicComponentProps<C, TableActionItemProps>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>) & Omit<import("react").FunctionComponent<(TableActionItemProps & {
23
+ component?: any;
24
+ } & Omit<Omit<any, "ref">, "component" | keyof TableActionItemProps> & {
25
+ ref?: any;
26
+ renderRoot?: (props: any) => any;
27
+ }) | (TableActionItemProps & {
28
+ component: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements>;
29
+ renderRoot?: (props: Record<string, any>) => any;
30
+ })>, never> & import("@mantine/core/lib/core/factory/factory").ThemeExtend<{
31
+ props: TableActionItemProps;
32
+ defaultRef: HTMLButtonElement;
33
+ defaultComponent: 'button';
34
+ stylesNames: TableActionItemStylesNames;
35
+ compound: true;
36
+ }> & import("@mantine/core/lib/core/factory/factory").ComponentClasses<{
37
+ props: TableActionItemProps;
38
+ defaultRef: HTMLButtonElement;
39
+ defaultComponent: 'button';
40
+ stylesNames: TableActionItemStylesNames;
41
+ compound: true;
42
+ }>;
43
+ export {};
44
+ //# sourceMappingURL=TableActionItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableActionItem.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/table-actions/TableActionItem.tsx"],"names":[],"mappings":"AAAA,OAAO,EACH,sBAAsB,EAEtB,aAAa,EACb,kBAAkB,EAGrB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAChC,OAAO,EAAS,WAAW,EAAC,MAAM,cAAc,CAAC;AAIjD,MAAM,MAAM,0BAA0B,GAAG,gBAAgB,CAAC;AAE1D,MAAM,WAAW,oBACb,SAAQ,IAAI,CAAC,WAAW,EAAE,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,aAAa,GAAG,cAAc,CAAC,EACpG,IAAI,CAAC,aAAa,EAAE,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,aAAa,GAAG,UAAU,CAAC,EAC9F,sBAAsB,CAAC,sBAAsB,CAAC;IAClD;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;IACpB;;OAEG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;CAC3B;AAED,KAAK,sBAAsB,GAAG,kBAAkB,CAAC;IAC7C,KAAK,EAAE,oBAAoB,CAAC;IAC5B,UAAU,EAAE,iBAAiB,CAAC;IAC9B,gBAAgB,EAAE,QAAQ,CAAC;IAC3B,WAAW,EAAE,0BAA0B,CAAC;IACxC,QAAQ,EAAE,IAAI,CAAC;CAClB,CAAC,CAAC;AAIH,eAAO,MAAM,eAAe;;;;;;;;;WATjB,oBAAoB;gBACf,iBAAiB;sBACX,QAAQ;iBACb,0BAA0B;cAC7B,IAAI;;WAJP,oBAAoB;gBACf,iBAAiB;sBACX,QAAQ;iBACb,0BAA0B;cAC7B,IAAI;EA6CjB,CAAC"}
@@ -0,0 +1,40 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Menu, polymorphicFactory, useProps } from '@mantine/core';
3
+ import { Button } from '../../button';
4
+ import { useTableContext } from '../TableContext';
5
+ import { useTableActionContext } from './TableActionContext';
6
+ const defaultProps = {};
7
+ export const TableActionItem = polymorphicFactory((props, ref)=>{
8
+ const { getStyles } = useTableContext();
9
+ const { primary } = useTableActionContext();
10
+ const { classNames, className, style, styles, vars: _vars, children, component, ...others } = useProps('PlasmaTableActionItem', defaultProps, props);
11
+ if (primary) {
12
+ return /*#__PURE__*/ _jsx(Button, {
13
+ component: component,
14
+ ref: ref,
15
+ variant: "subtle",
16
+ ...others,
17
+ ...getStyles('actionItemRoot', {
18
+ className,
19
+ style,
20
+ classNames,
21
+ styles
22
+ }),
23
+ children: children
24
+ });
25
+ }
26
+ return /*#__PURE__*/ _jsx(Menu.Item, {
27
+ component: component,
28
+ ref: ref,
29
+ ...others,
30
+ ...getStyles('actionItemRoot', {
31
+ className,
32
+ style,
33
+ classNames,
34
+ styles
35
+ }),
36
+ children: children
37
+ });
38
+ });
39
+
40
+ //# sourceMappingURL=TableActionItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/components/table/table-actions/TableActionItem.tsx"],"sourcesContent":["import {\n CompoundStylesApiProps,\n Menu,\n MenuItemProps,\n PolymorphicFactory,\n polymorphicFactory,\n useProps,\n} from '@mantine/core';\nimport {ReactNode} from 'react';\nimport {Button, ButtonProps} from '../../button';\nimport {useTableContext} from '../TableContext';\nimport {useTableActionContext} from './TableActionContext';\n\nexport type TableActionItemStylesNames = 'actionItemRoot';\n\nexport interface TableActionItemProps\n extends Omit<ButtonProps, 'classNames' | 'styles' | 'vars' | 'variant' | 'leftSection' | 'rightSection'>,\n Omit<MenuItemProps, 'classNames' | 'styles' | 'vars' | 'variant' | 'leftSection' | 'disabled'>,\n CompoundStylesApiProps<TableActionItemFactory> {\n /**\n * Action label\n */\n children: ReactNode;\n /**\n * Content to put on the left of the label\n */\n leftSection?: ReactNode;\n}\n\ntype TableActionItemFactory = PolymorphicFactory<{\n props: TableActionItemProps;\n defaultRef: HTMLButtonElement;\n defaultComponent: 'button';\n stylesNames: TableActionItemStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<TableActionItemProps> = {};\n\nexport const TableActionItem = polymorphicFactory<TableActionItemFactory>(\n (props: TableActionItemProps & {component?: any}, ref) => {\n const {getStyles} = useTableContext();\n const {primary} = useTableActionContext();\n const {\n classNames,\n className,\n style,\n styles,\n vars: _vars,\n children,\n component,\n ...others\n } = useProps('PlasmaTableActionItem', defaultProps, props);\n\n if (primary) {\n return (\n <Button\n component={component}\n ref={ref}\n variant=\"subtle\"\n {...others}\n {...getStyles('actionItemRoot', {className, style, classNames, styles})}\n >\n {children}\n </Button>\n );\n }\n\n return (\n <Menu.Item\n component={component}\n ref={ref}\n {...others}\n {...getStyles('actionItemRoot', {className, style, classNames, styles})}\n >\n {children}\n </Menu.Item>\n );\n },\n);\n"],"names":["Menu","polymorphicFactory","useProps","Button","useTableContext","useTableActionContext","defaultProps","TableActionItem","props","ref","getStyles","primary","classNames","className","style","styles","vars","_vars","children","component","others","variant","Item"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAAA,SAEIA,IAAI,EAGJC,kBAAkB,EAClBC,QAAQ,QACL,gBAAgB;AAEvB,SAAQC,MAAM,QAAoB,eAAe;AACjD,SAAQC,eAAe,QAAO,kBAAkB;AAChD,SAAQC,qBAAqB,QAAO,uBAAuB;AA0B3D,MAAMC,eAA8C,CAAC;AAErD,OAAO,MAAMC,kBAAkBN,mBAC3B,CAACO,OAAiDC;IAC9C,MAAM,EAACC,SAAS,EAAC,GAAGN;IACpB,MAAM,EAACO,OAAO,EAAC,GAAGN;IAClB,MAAM,EACFO,UAAU,EACVC,SAAS,EACTC,KAAK,EACLC,MAAM,EACNC,MAAMC,KAAK,EACXC,QAAQ,EACRC,SAAS,EACT,GAAGC,QACN,GAAGlB,SAAS,yBAAyBI,cAAcE;IAEpD,IAAIG,SAAS;QACT,qBACI,KAACR;YACGgB,WAAWA;YACXV,KAAKA;YACLY,SAAQ;YACP,GAAGD,MAAM;YACT,GAAGV,UAAU,kBAAkB;gBAACG;gBAAWC;gBAAOF;gBAAYG;YAAM,EAAE;sBAEtEG;;IAGb;IAEA,qBACI,KAAClB,KAAKsB,IAAI;QACNH,WAAWA;QACXV,KAAKA;QACJ,GAAGW,MAAM;QACT,GAAGV,UAAU,kBAAkB;YAACG;YAAWC;YAAOF;YAAYG;QAAM,EAAE;kBAEtEG;;AAGb,GACF"}
@@ -0,0 +1,37 @@
1
+ import { CompoundStylesApiProps, ExtendComponent, Factory, MenuProps } from '@mantine/core';
2
+ import { ReactNode } from 'react';
3
+ import { TableAction } from '../Table.types';
4
+ export type TableActionsListStylesNames = 'actionsTarget' | 'actionsDropdown' | 'actionsTooltip' | 'actionsGroup' | 'actionsGroupLabel' | 'actionsGroupDivider' | 'actionsGroupItems';
5
+ export interface TableActionsListProps extends Omit<MenuProps, 'classNames' | 'styles' | 'vars' | 'variant'>, CompoundStylesApiProps<TableActionsListFactory> {
6
+ actions: TableAction[];
7
+ /**
8
+ * Label for the more menu
9
+ * @default 'More' when variant is 'split', 'Actions' when variant is 'combined'
10
+ */
11
+ label?: string;
12
+ /**
13
+ * Label for the primary actions group when variant is 'combined'
14
+ * @default ''
15
+ */
16
+ primaryGroupLabel?: string;
17
+ icon?: ReactNode;
18
+ }
19
+ type TableActionsListFactory = Factory<{
20
+ props: TableActionsListProps;
21
+ ref: HTMLDivElement;
22
+ stylesNames: TableActionsListStylesNames;
23
+ compound: true;
24
+ variant: 'split' | 'combined';
25
+ }>;
26
+ export declare const TableActionsList: {
27
+ (props: TableActionsListProps): import("react/jsx-runtime").JSX.Element;
28
+ extend(input: ExtendComponent<TableActionsListFactory>): import("@mantine/core/lib/core/factory/factory").ExtendCompoundComponent<{
29
+ props: TableActionsListProps;
30
+ ref: HTMLDivElement;
31
+ stylesNames: TableActionsListStylesNames;
32
+ compound: true;
33
+ variant: 'split' | 'combined';
34
+ }>;
35
+ };
36
+ export {};
37
+ //# sourceMappingURL=TableActionsList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableActionsList.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/table-actions/TableActionsList.tsx"],"names":[],"mappings":"AACA,OAAO,EAKH,sBAAsB,EACtB,eAAe,EACf,OAAO,EAEP,SAAS,EAGZ,MAAM,eAAe,CAAC;AACvB,OAAO,EAAoB,SAAS,EAAW,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAI3C,MAAM,MAAM,2BAA2B,GACjC,eAAe,GACf,iBAAiB,GACjB,gBAAgB,GAChB,cAAc,GACd,mBAAmB,GACnB,qBAAqB,GACrB,mBAAmB,CAAC;AAE1B,MAAM,WAAW,qBACb,SAAQ,IAAI,CAAC,SAAS,EAAE,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC,EACjE,sBAAsB,CAAC,uBAAuB,CAAC;IACnD,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,IAAI,CAAC,EAAE,SAAS,CAAC;CACpB;AAED,KAAK,uBAAuB,GAAG,OAAO,CAAC;IACnC,KAAK,EAAE,qBAAqB,CAAC;IAC7B,GAAG,EAAE,cAAc,CAAC;IACpB,WAAW,EAAE,2BAA2B,CAAC;IACzC,QAAQ,EAAE,IAAI,CAAC;IACf,OAAO,EAAE,OAAO,GAAG,UAAU,CAAC;CACjC,CAAC,CAAC;AAmBH,eAAO,MAAM,gBAAgB;YAAW,qBAAqB;kBAyI3B,gBAAgB,uBAAuB,CAAC;eAjK/D,qBAAqB;aACvB,cAAc;qBACN,2BAA2B;kBAC9B,IAAI;iBACL,OAAO,GAAG,UAAU;;CAsIhC,CAAC"}
@@ -0,0 +1,187 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { MoreSize16Px } from '@coveord/plasma-react-icons';
3
+ import { ActionIcon, Box, Button, Menu, Tooltip, useProps } from '@mantine/core';
4
+ import { useState } from 'react';
5
+ import { InlineConfirm } from '../../inline-confirm';
6
+ import { useTableContext } from '../TableContext';
7
+ import { TableActionProvider } from './TableActionContext';
8
+ const defaultProps = {
9
+ label: 'More',
10
+ primaryGroupLabel: '',
11
+ icon: /*#__PURE__*/ _jsx(MoreSize16Px, {
12
+ height: 16
13
+ })
14
+ };
15
+ export const TableActionsList = (props)=>{
16
+ const { getStyles } = useTableContext();
17
+ const { actions, icon, label, primaryGroupLabel, classNames, styles, vars: _vars, variant, ...others } = useProps('PlasmaTableActionsListColumn', defaultProps, props);
18
+ const [opened, setOpened] = useState(false);
19
+ const onClick = (e)=>{
20
+ e.preventDefault();
21
+ e.stopPropagation();
22
+ setOpened((prevState)=>!prevState);
23
+ };
24
+ const onChange = (newOpened)=>{
25
+ if (!newOpened) {
26
+ setOpened(false);
27
+ }
28
+ };
29
+ const actionsGroups = actions.reduce((acc, action)=>{
30
+ if (action.group === '$$primary') {
31
+ acc.$$primary.push(action);
32
+ } else if (action.group === '$$confirmPrompt') {
33
+ acc.$$confirmPrompt.push(action);
34
+ } else {
35
+ if (acc.secondary[action.group]) {
36
+ acc.secondary[action.group].push(action.component);
37
+ } else {
38
+ acc.secondary[action.group] = [
39
+ action.component
40
+ ];
41
+ }
42
+ }
43
+ return acc;
44
+ }, {
45
+ $$primary: [],
46
+ $$confirmPrompt: [],
47
+ secondary: {}
48
+ });
49
+ const primaryActions = actionsGroups.$$primary.map((action)=>action.component);
50
+ const confirmPrompts = actionsGroups.$$confirmPrompt.map((confirmPromptAction)=>confirmPromptAction.component);
51
+ const secondaryActionGroups = Object.entries(actionsGroups.secondary).map(([group, groupActions])=>({
52
+ name: group,
53
+ actions: groupActions
54
+ }));
55
+ if (variant === 'split') {
56
+ return /*#__PURE__*/ _jsxs(InlineConfirm, {
57
+ children: [
58
+ confirmPrompts,
59
+ /*#__PURE__*/ _jsx(TableActionProvider, {
60
+ value: {
61
+ primary: true
62
+ },
63
+ children: primaryActions
64
+ }),
65
+ secondaryActionGroups.length > 0 ? /*#__PURE__*/ _jsx(TableActionProvider, {
66
+ value: {
67
+ primary: false
68
+ },
69
+ children: /*#__PURE__*/ _jsxs(Menu, {
70
+ withinPortal: false,
71
+ ...others,
72
+ children: [
73
+ /*#__PURE__*/ _jsx(Menu.Target, {
74
+ children: /*#__PURE__*/ _jsx(Button, {
75
+ ...getStyles('actionsTarget', {
76
+ styles,
77
+ classNames
78
+ }),
79
+ variant: "subtle",
80
+ leftSection: icon,
81
+ children: label
82
+ })
83
+ }),
84
+ /*#__PURE__*/ _jsx(Menu.Dropdown, {
85
+ ...getStyles('actionsDropdown', {
86
+ styles,
87
+ classNames
88
+ }),
89
+ children: /*#__PURE__*/ _jsx(ActionsGroupsMenuItems, {
90
+ classNames: classNames,
91
+ styles: styles,
92
+ actionGroups: secondaryActionGroups
93
+ })
94
+ })
95
+ ]
96
+ })
97
+ }) : null
98
+ ]
99
+ });
100
+ }
101
+ return /*#__PURE__*/ _jsxs(InlineConfirm, {
102
+ children: [
103
+ confirmPrompts,
104
+ /*#__PURE__*/ _jsx(TableActionProvider, {
105
+ value: {
106
+ primary: false
107
+ },
108
+ children: /*#__PURE__*/ _jsxs(Menu, {
109
+ opened: opened,
110
+ onChange: onChange,
111
+ ...others,
112
+ children: [
113
+ /*#__PURE__*/ _jsx(Menu.Target, {
114
+ children: /*#__PURE__*/ _jsx(Tooltip, {
115
+ label: label,
116
+ ...getStyles('actionsTooltip', {
117
+ styles,
118
+ classNames
119
+ }),
120
+ children: /*#__PURE__*/ _jsx(ActionIcon, {
121
+ onClick: onClick,
122
+ variant: "subtle",
123
+ ...getStyles('actionsTarget', {
124
+ styles,
125
+ classNames
126
+ }),
127
+ children: icon
128
+ })
129
+ })
130
+ }),
131
+ /*#__PURE__*/ _jsx(Menu.Dropdown, {
132
+ ...getStyles('actionsDropdown', {
133
+ styles,
134
+ classNames
135
+ }),
136
+ children: /*#__PURE__*/ _jsx(ActionsGroupsMenuItems, {
137
+ classNames: classNames,
138
+ styles: styles,
139
+ actionGroups: primaryActions.length > 0 ? [
140
+ {
141
+ name: primaryGroupLabel,
142
+ actions: primaryActions
143
+ },
144
+ ...secondaryActionGroups
145
+ ] : secondaryActionGroups
146
+ })
147
+ })
148
+ ]
149
+ })
150
+ })
151
+ ]
152
+ });
153
+ };
154
+ const ActionsGroupsMenuItems = ({ styles, classNames, actionGroups })=>{
155
+ const { getStyles } = useTableContext();
156
+ return actionGroups.map(({ name, actions }, index)=>/*#__PURE__*/ _jsxs(Box, {
157
+ ...getStyles('actionsGroup', {
158
+ styles,
159
+ classNames
160
+ }),
161
+ children: [
162
+ actionGroups.length > 1 ? /*#__PURE__*/ _jsx(Menu.Label, {
163
+ ...getStyles('actionsGroupLabel', {
164
+ styles,
165
+ classNames
166
+ }),
167
+ children: name
168
+ }) : null,
169
+ /*#__PURE__*/ _jsx(Box, {
170
+ ...getStyles('actionsGroupItems', {
171
+ styles,
172
+ classNames
173
+ }),
174
+ children: actions
175
+ }),
176
+ index < actionGroups.length - 1 ? /*#__PURE__*/ _jsx(Menu.Divider, {
177
+ ...getStyles('actionsGroupDivider', {
178
+ styles,
179
+ classNames
180
+ })
181
+ }) : null
182
+ ]
183
+ }, name));
184
+ };
185
+ TableActionsList.extend = (input)=>input;
186
+
187
+ //# sourceMappingURL=TableActionsList.js.map