@coveord/plasma-mantine 53.1.4 → 54.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (354) hide show
  1. package/.eslintrc.js +1 -5
  2. package/.turbo/turbo-build.log +3 -3
  3. package/.turbo/turbo-test.log +36 -35
  4. package/dist/.tsbuildinfo +1 -1
  5. package/dist/cjs/components/button/Button.d.ts +1 -2
  6. package/dist/cjs/components/button/Button.d.ts.map +1 -1
  7. package/dist/cjs/components/button/Button.js.map +1 -1
  8. package/dist/cjs/components/code-editor/CodeEditor.d.ts.map +1 -1
  9. package/dist/cjs/components/code-editor/CodeEditor.js +2 -4
  10. package/dist/cjs/components/code-editor/CodeEditor.js.map +1 -1
  11. package/dist/cjs/components/header/__tests__/__snapshots__/Header.spec.tsx.snap +0 -5
  12. package/dist/cjs/components/inline-confirm/InlineConfirm.d.ts +10 -2
  13. package/dist/cjs/components/inline-confirm/InlineConfirm.d.ts.map +1 -1
  14. package/dist/cjs/components/inline-confirm/InlineConfirm.js +2 -1
  15. package/dist/cjs/components/inline-confirm/InlineConfirm.js.map +1 -1
  16. package/dist/cjs/components/inline-confirm/InlineConfirmPrompt.d.ts +2 -5
  17. package/dist/cjs/components/inline-confirm/InlineConfirmPrompt.d.ts.map +1 -1
  18. package/dist/cjs/components/inline-confirm/InlineConfirmPrompt.js +5 -5
  19. package/dist/cjs/components/inline-confirm/InlineConfirmPrompt.js.map +1 -1
  20. package/dist/cjs/components/inline-confirm/InlineConfirmTarget.d.ts +2 -2
  21. package/dist/cjs/components/inline-confirm/InlineConfirmTarget.d.ts.map +1 -1
  22. package/dist/cjs/components/inline-confirm/InlineConfirmTarget.js +3 -3
  23. package/dist/cjs/components/inline-confirm/InlineConfirmTarget.js.map +1 -1
  24. package/dist/cjs/components/table/Table.d.ts +68 -55
  25. package/dist/cjs/components/table/Table.d.ts.map +1 -1
  26. package/dist/cjs/components/table/Table.js +129 -174
  27. package/dist/cjs/components/table/Table.js.map +1 -1
  28. package/dist/cjs/components/table/Table.module.css +8 -1
  29. package/dist/cjs/components/table/Table.types.d.ts +52 -147
  30. package/dist/cjs/components/table/Table.types.d.ts.map +1 -1
  31. package/dist/cjs/components/table/TableContext.d.ts +15 -10
  32. package/dist/cjs/components/table/TableContext.d.ts.map +1 -1
  33. package/dist/cjs/components/table/TableContext.js +5 -20
  34. package/dist/cjs/components/table/TableContext.js.map +1 -1
  35. package/dist/cjs/components/table/index.d.ts +3 -3
  36. package/dist/cjs/components/table/index.d.ts.map +1 -1
  37. package/dist/cjs/components/table/index.js +5 -1
  38. package/dist/cjs/components/table/index.js.map +1 -1
  39. package/dist/cjs/components/table/layouts/TableLayoutControl.js +6 -6
  40. package/dist/cjs/components/table/layouts/TableLayoutControl.js.map +1 -1
  41. package/dist/cjs/components/table/layouts/TableLayouts.d.ts +1 -22
  42. package/dist/cjs/components/table/layouts/TableLayouts.d.ts.map +1 -1
  43. package/dist/cjs/components/table/layouts/TableLayouts.js.map +1 -1
  44. package/dist/cjs/components/table/layouts/row-layout/RowLayout.d.ts +1 -2
  45. package/dist/cjs/components/table/layouts/row-layout/RowLayout.d.ts.map +1 -1
  46. package/dist/cjs/components/table/layouts/row-layout/RowLayout.js.map +1 -1
  47. package/dist/cjs/components/table/layouts/row-layout/RowLayoutBody.d.ts +2 -3
  48. package/dist/cjs/components/table/layouts/row-layout/RowLayoutBody.d.ts.map +1 -1
  49. package/dist/cjs/components/table/layouts/row-layout/RowLayoutBody.js +17 -18
  50. package/dist/cjs/components/table/layouts/row-layout/RowLayoutBody.js.map +1 -1
  51. package/dist/cjs/components/table/layouts/row-layout/RowLayoutHeader.d.ts +2 -3
  52. package/dist/cjs/components/table/layouts/row-layout/RowLayoutHeader.d.ts.map +1 -1
  53. package/dist/cjs/components/table/layouts/row-layout/RowLayoutHeader.js +9 -8
  54. package/dist/cjs/components/table/layouts/row-layout/RowLayoutHeader.js.map +1 -1
  55. package/dist/cjs/components/table/layouts/row-layout/RowLayoutIcon.d.ts +1 -5
  56. package/dist/cjs/components/table/layouts/row-layout/RowLayoutIcon.d.ts.map +1 -1
  57. package/dist/cjs/components/table/layouts/row-layout/RowLayoutIcon.js +3 -9
  58. package/dist/cjs/components/table/layouts/row-layout/RowLayoutIcon.js.map +1 -1
  59. package/dist/cjs/components/table/table-actions/TableActionContext.d.ts +9 -0
  60. package/dist/cjs/components/table/table-actions/TableActionContext.d.ts.map +1 -0
  61. package/dist/cjs/components/table/table-actions/TableActionContext.js +24 -0
  62. package/dist/cjs/components/table/table-actions/TableActionContext.js.map +1 -0
  63. package/dist/cjs/components/table/table-actions/TableActionItem.d.ts +44 -0
  64. package/dist/cjs/components/table/table-actions/TableActionItem.d.ts.map +1 -0
  65. package/dist/cjs/components/table/table-actions/TableActionItem.js +59 -0
  66. package/dist/cjs/components/table/table-actions/TableActionItem.js.map +1 -0
  67. package/dist/cjs/components/table/table-actions/TableActionsList.d.ts +37 -0
  68. package/dist/cjs/components/table/table-actions/TableActionsList.d.ts.map +1 -0
  69. package/dist/cjs/components/table/table-actions/TableActionsList.js +217 -0
  70. package/dist/cjs/components/table/table-actions/TableActionsList.js.map +1 -0
  71. package/dist/cjs/components/table/table-actions/TableHeaderActions.d.ts +11 -0
  72. package/dist/cjs/components/table/table-actions/TableHeaderActions.d.ts.map +1 -0
  73. package/dist/cjs/components/table/table-actions/TableHeaderActions.js +59 -0
  74. package/dist/cjs/components/table/table-actions/TableHeaderActions.js.map +1 -0
  75. package/dist/cjs/components/table/table-actions/index.d.ts +3 -0
  76. package/dist/cjs/components/table/table-actions/index.d.ts.map +1 -0
  77. package/dist/cjs/components/table/table-actions/index.js +9 -0
  78. package/dist/cjs/components/table/table-actions/index.js.map +1 -0
  79. package/dist/cjs/components/table/table-column/TableActionsColumn.d.ts +6 -0
  80. package/dist/cjs/components/table/table-column/TableActionsColumn.d.ts.map +1 -0
  81. package/dist/cjs/components/table/table-column/TableActionsColumn.js +53 -0
  82. package/dist/cjs/components/table/table-column/TableActionsColumn.js.map +1 -0
  83. package/dist/cjs/components/table/table-column/TableCollapsibleColumn.d.ts.map +1 -1
  84. package/dist/cjs/components/table/table-column/TableCollapsibleColumn.js +6 -2
  85. package/dist/cjs/components/table/table-column/TableCollapsibleColumn.js.map +1 -1
  86. package/dist/cjs/components/table/table-column/TableSelectableColumn.d.ts.map +1 -1
  87. package/dist/cjs/components/table/table-column/TableSelectableColumn.js +4 -0
  88. package/dist/cjs/components/table/table-column/TableSelectableColumn.js.map +1 -1
  89. package/dist/cjs/components/table/table-columns-selector/TableColumnsSelector.d.ts +7 -12
  90. package/dist/cjs/components/table/table-columns-selector/TableColumnsSelector.d.ts.map +1 -1
  91. package/dist/cjs/components/table/table-columns-selector/TableColumnsSelector.js +24 -20
  92. package/dist/cjs/components/table/table-columns-selector/TableColumnsSelector.js.map +1 -1
  93. package/dist/cjs/components/table/table-date-range-picker/TableDateRangePicker.d.ts +1 -2
  94. package/dist/cjs/components/table/table-date-range-picker/TableDateRangePicker.d.ts.map +1 -1
  95. package/dist/cjs/components/table/table-date-range-picker/TableDateRangePicker.js +7 -7
  96. package/dist/cjs/components/table/table-date-range-picker/TableDateRangePicker.js.map +1 -1
  97. package/dist/cjs/components/table/table-filter/TableFilter.d.ts +1 -2
  98. package/dist/cjs/components/table/table-filter/TableFilter.d.ts.map +1 -1
  99. package/dist/cjs/components/table/table-filter/TableFilter.js +11 -16
  100. package/dist/cjs/components/table/table-filter/TableFilter.js.map +1 -1
  101. package/dist/cjs/components/table/table-header/TableHeader.d.ts +7 -2
  102. package/dist/cjs/components/table/table-header/TableHeader.d.ts.map +1 -1
  103. package/dist/cjs/components/table/table-header/TableHeader.js +15 -12
  104. package/dist/cjs/components/table/table-header/TableHeader.js.map +1 -1
  105. package/dist/cjs/components/table/table-header/Th.d.ts +1 -2
  106. package/dist/cjs/components/table/table-header/Th.d.ts.map +1 -1
  107. package/dist/cjs/components/table/table-header/Th.js +7 -3
  108. package/dist/cjs/components/table/table-header/Th.js.map +1 -1
  109. package/dist/cjs/components/table/table-last-updated/TableLastUpdated.d.ts +1 -3
  110. package/dist/cjs/components/table/table-last-updated/TableLastUpdated.d.ts.map +1 -1
  111. package/dist/cjs/components/table/table-last-updated/TableLastUpdated.js +6 -9
  112. package/dist/cjs/components/table/table-last-updated/TableLastUpdated.js.map +1 -1
  113. package/dist/cjs/components/table/table-no-data/TableNoData.d.ts +6 -0
  114. package/dist/cjs/components/table/table-no-data/TableNoData.d.ts.map +1 -0
  115. package/dist/cjs/components/table/{table-consumer/TableConsumer.js → table-no-data/TableNoData.js} +4 -4
  116. package/dist/cjs/components/table/table-no-data/TableNoData.js.map +1 -0
  117. package/dist/cjs/components/table/table-pagination/TablePagination.d.ts.map +1 -1
  118. package/dist/cjs/components/table/table-pagination/TablePagination.js +9 -11
  119. package/dist/cjs/components/table/table-pagination/TablePagination.js.map +1 -1
  120. package/dist/cjs/components/table/table-pagination/TablePagination.types.d.ts +0 -4
  121. package/dist/cjs/components/table/table-pagination/TablePagination.types.d.ts.map +1 -1
  122. package/dist/cjs/components/table/table-per-page/TablePerPage.d.ts.map +1 -1
  123. package/dist/cjs/components/table/table-per-page/TablePerPage.js +16 -16
  124. package/dist/cjs/components/table/table-per-page/TablePerPage.js.map +1 -1
  125. package/dist/cjs/components/table/table-predicate/TablePredicate.d.ts +1 -2
  126. package/dist/cjs/components/table/table-predicate/TablePredicate.d.ts.map +1 -1
  127. package/dist/cjs/components/table/table-predicate/TablePredicate.js +12 -14
  128. package/dist/cjs/components/table/table-predicate/TablePredicate.js.map +1 -1
  129. package/dist/cjs/components/table/use-table.d.ts +182 -0
  130. package/dist/cjs/components/table/use-table.d.ts.map +1 -0
  131. package/dist/cjs/components/table/use-table.js +145 -0
  132. package/dist/cjs/components/table/use-table.js.map +1 -0
  133. package/dist/cjs/index.d.ts +11 -1
  134. package/dist/cjs/index.d.ts.map +1 -1
  135. package/dist/cjs/index.js.map +1 -1
  136. package/dist/cjs/theme/Theme.d.ts.map +1 -1
  137. package/dist/cjs/theme/Theme.js +0 -1
  138. package/dist/cjs/theme/Theme.js.map +1 -1
  139. package/dist/esm/components/button/Button.d.ts +1 -2
  140. package/dist/esm/components/button/Button.d.ts.map +1 -1
  141. package/dist/esm/components/button/Button.js.map +1 -1
  142. package/dist/esm/components/code-editor/CodeEditor.d.ts.map +1 -1
  143. package/dist/esm/components/code-editor/CodeEditor.js +2 -4
  144. package/dist/esm/components/code-editor/CodeEditor.js.map +1 -1
  145. package/dist/esm/components/header/__tests__/__snapshots__/Header.spec.tsx.snap +0 -5
  146. package/dist/esm/components/inline-confirm/InlineConfirm.d.ts +10 -2
  147. package/dist/esm/components/inline-confirm/InlineConfirm.d.ts.map +1 -1
  148. package/dist/esm/components/inline-confirm/InlineConfirm.js +1 -1
  149. package/dist/esm/components/inline-confirm/InlineConfirm.js.map +1 -1
  150. package/dist/esm/components/inline-confirm/InlineConfirmPrompt.d.ts +2 -5
  151. package/dist/esm/components/inline-confirm/InlineConfirmPrompt.d.ts.map +1 -1
  152. package/dist/esm/components/inline-confirm/InlineConfirmPrompt.js +4 -4
  153. package/dist/esm/components/inline-confirm/InlineConfirmPrompt.js.map +1 -1
  154. package/dist/esm/components/inline-confirm/InlineConfirmTarget.d.ts +2 -2
  155. package/dist/esm/components/inline-confirm/InlineConfirmTarget.d.ts.map +1 -1
  156. package/dist/esm/components/inline-confirm/InlineConfirmTarget.js +2 -2
  157. package/dist/esm/components/inline-confirm/InlineConfirmTarget.js.map +1 -1
  158. package/dist/esm/components/table/Table.d.ts +68 -55
  159. package/dist/esm/components/table/Table.d.ts.map +1 -1
  160. package/dist/esm/components/table/Table.js +122 -157
  161. package/dist/esm/components/table/Table.js.map +1 -1
  162. package/dist/esm/components/table/Table.module.css +8 -1
  163. package/dist/esm/components/table/Table.types.d.ts +52 -147
  164. package/dist/esm/components/table/Table.types.d.ts.map +1 -1
  165. package/dist/esm/components/table/Table.types.js.map +1 -1
  166. package/dist/esm/components/table/TableContext.d.ts +15 -10
  167. package/dist/esm/components/table/TableContext.d.ts.map +1 -1
  168. package/dist/esm/components/table/TableContext.js +1 -10
  169. package/dist/esm/components/table/TableContext.js.map +1 -1
  170. package/dist/esm/components/table/index.d.ts +3 -3
  171. package/dist/esm/components/table/index.d.ts.map +1 -1
  172. package/dist/esm/components/table/index.js +2 -1
  173. package/dist/esm/components/table/index.js.map +1 -1
  174. package/dist/esm/components/table/layouts/TableLayoutControl.js +4 -4
  175. package/dist/esm/components/table/layouts/TableLayoutControl.js.map +1 -1
  176. package/dist/esm/components/table/layouts/TableLayouts.d.ts +1 -22
  177. package/dist/esm/components/table/layouts/TableLayouts.d.ts.map +1 -1
  178. package/dist/esm/components/table/layouts/TableLayouts.js.map +1 -1
  179. package/dist/esm/components/table/layouts/row-layout/RowLayout.d.ts +1 -2
  180. package/dist/esm/components/table/layouts/row-layout/RowLayout.d.ts.map +1 -1
  181. package/dist/esm/components/table/layouts/row-layout/RowLayout.js.map +1 -1
  182. package/dist/esm/components/table/layouts/row-layout/RowLayoutBody.d.ts +2 -3
  183. package/dist/esm/components/table/layouts/row-layout/RowLayoutBody.d.ts.map +1 -1
  184. package/dist/esm/components/table/layouts/row-layout/RowLayoutBody.js +13 -11
  185. package/dist/esm/components/table/layouts/row-layout/RowLayoutBody.js.map +1 -1
  186. package/dist/esm/components/table/layouts/row-layout/RowLayoutHeader.d.ts +2 -3
  187. package/dist/esm/components/table/layouts/row-layout/RowLayoutHeader.d.ts.map +1 -1
  188. package/dist/esm/components/table/layouts/row-layout/RowLayoutHeader.js +5 -5
  189. package/dist/esm/components/table/layouts/row-layout/RowLayoutHeader.js.map +1 -1
  190. package/dist/esm/components/table/layouts/row-layout/RowLayoutIcon.d.ts +1 -5
  191. package/dist/esm/components/table/layouts/row-layout/RowLayoutIcon.d.ts.map +1 -1
  192. package/dist/esm/components/table/layouts/row-layout/RowLayoutIcon.js +2 -8
  193. package/dist/esm/components/table/layouts/row-layout/RowLayoutIcon.js.map +1 -1
  194. package/dist/esm/components/table/table-actions/TableActionContext.d.ts +9 -0
  195. package/dist/esm/components/table/table-actions/TableActionContext.d.ts.map +1 -0
  196. package/dist/esm/components/table/table-actions/TableActionContext.js +4 -0
  197. package/dist/esm/components/table/table-actions/TableActionContext.js.map +1 -0
  198. package/dist/esm/components/table/table-actions/TableActionItem.d.ts +44 -0
  199. package/dist/esm/components/table/table-actions/TableActionItem.d.ts.map +1 -0
  200. package/dist/esm/components/table/table-actions/TableActionItem.js +40 -0
  201. package/dist/esm/components/table/table-actions/TableActionItem.js.map +1 -0
  202. package/dist/esm/components/table/table-actions/TableActionsList.d.ts +37 -0
  203. package/dist/esm/components/table/table-actions/TableActionsList.d.ts.map +1 -0
  204. package/dist/esm/components/table/table-actions/TableActionsList.js +187 -0
  205. package/dist/esm/components/table/table-actions/TableActionsList.js.map +1 -0
  206. package/dist/esm/components/table/table-actions/TableHeaderActions.d.ts +11 -0
  207. package/dist/esm/components/table/table-actions/TableHeaderActions.d.ts.map +1 -0
  208. package/dist/esm/components/table/table-actions/TableHeaderActions.js +43 -0
  209. package/dist/esm/components/table/table-actions/TableHeaderActions.js.map +1 -0
  210. package/dist/esm/components/table/table-actions/index.d.ts +3 -0
  211. package/dist/esm/components/table/table-actions/index.d.ts.map +1 -0
  212. package/dist/esm/components/table/table-actions/index.js +4 -0
  213. package/dist/esm/components/table/table-actions/index.js.map +1 -0
  214. package/dist/esm/components/table/table-column/TableActionsColumn.d.ts +6 -0
  215. package/dist/esm/components/table/table-column/TableActionsColumn.d.ts.map +1 -0
  216. package/dist/esm/components/table/table-column/TableActionsColumn.js +40 -0
  217. package/dist/esm/components/table/table-column/TableActionsColumn.js.map +1 -0
  218. package/dist/esm/components/table/table-column/TableCollapsibleColumn.d.ts.map +1 -1
  219. package/dist/esm/components/table/table-column/TableCollapsibleColumn.js +7 -3
  220. package/dist/esm/components/table/table-column/TableCollapsibleColumn.js.map +1 -1
  221. package/dist/esm/components/table/table-column/TableSelectableColumn.d.ts.map +1 -1
  222. package/dist/esm/components/table/table-column/TableSelectableColumn.js +4 -0
  223. package/dist/esm/components/table/table-column/TableSelectableColumn.js.map +1 -1
  224. package/dist/esm/components/table/table-columns-selector/TableColumnsSelector.d.ts +7 -12
  225. package/dist/esm/components/table/table-columns-selector/TableColumnsSelector.d.ts.map +1 -1
  226. package/dist/esm/components/table/table-columns-selector/TableColumnsSelector.js +22 -20
  227. package/dist/esm/components/table/table-columns-selector/TableColumnsSelector.js.map +1 -1
  228. package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.d.ts +1 -2
  229. package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.d.ts.map +1 -1
  230. package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.js +8 -8
  231. package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.js.map +1 -1
  232. package/dist/esm/components/table/table-filter/TableFilter.d.ts +1 -2
  233. package/dist/esm/components/table/table-filter/TableFilter.d.ts.map +1 -1
  234. package/dist/esm/components/table/table-filter/TableFilter.js +14 -18
  235. package/dist/esm/components/table/table-filter/TableFilter.js.map +1 -1
  236. package/dist/esm/components/table/table-header/TableHeader.d.ts +7 -2
  237. package/dist/esm/components/table/table-header/TableHeader.d.ts.map +1 -1
  238. package/dist/esm/components/table/table-header/TableHeader.js +15 -13
  239. package/dist/esm/components/table/table-header/TableHeader.js.map +1 -1
  240. package/dist/esm/components/table/table-header/Th.d.ts +1 -2
  241. package/dist/esm/components/table/table-header/Th.d.ts.map +1 -1
  242. package/dist/esm/components/table/table-header/Th.js +8 -4
  243. package/dist/esm/components/table/table-header/Th.js.map +1 -1
  244. package/dist/esm/components/table/table-last-updated/TableLastUpdated.d.ts +1 -3
  245. package/dist/esm/components/table/table-last-updated/TableLastUpdated.d.ts.map +1 -1
  246. package/dist/esm/components/table/table-last-updated/TableLastUpdated.js +6 -8
  247. package/dist/esm/components/table/table-last-updated/TableLastUpdated.js.map +1 -1
  248. package/dist/esm/components/table/table-no-data/TableNoData.d.ts +6 -0
  249. package/dist/esm/components/table/table-no-data/TableNoData.d.ts.map +1 -0
  250. package/dist/esm/components/table/table-no-data/TableNoData.js +6 -0
  251. package/dist/esm/components/table/table-no-data/TableNoData.js.map +1 -0
  252. package/dist/esm/components/table/table-pagination/TablePagination.d.ts.map +1 -1
  253. package/dist/esm/components/table/table-pagination/TablePagination.js +10 -13
  254. package/dist/esm/components/table/table-pagination/TablePagination.js.map +1 -1
  255. package/dist/esm/components/table/table-pagination/TablePagination.types.d.ts +0 -4
  256. package/dist/esm/components/table/table-pagination/TablePagination.types.d.ts.map +1 -1
  257. package/dist/esm/components/table/table-pagination/TablePagination.types.js.map +1 -1
  258. package/dist/esm/components/table/table-per-page/TablePerPage.d.ts.map +1 -1
  259. package/dist/esm/components/table/table-per-page/TablePerPage.js +13 -12
  260. package/dist/esm/components/table/table-per-page/TablePerPage.js.map +1 -1
  261. package/dist/esm/components/table/table-predicate/TablePredicate.d.ts +1 -2
  262. package/dist/esm/components/table/table-predicate/TablePredicate.d.ts.map +1 -1
  263. package/dist/esm/components/table/table-predicate/TablePredicate.js +14 -18
  264. package/dist/esm/components/table/table-predicate/TablePredicate.js.map +1 -1
  265. package/dist/esm/components/table/use-table.d.ts +182 -0
  266. package/dist/esm/components/table/use-table.d.ts.map +1 -0
  267. package/dist/esm/components/table/use-table.js +122 -0
  268. package/dist/esm/components/table/use-table.js.map +1 -0
  269. package/dist/esm/index.d.ts +11 -1
  270. package/dist/esm/index.d.ts.map +1 -1
  271. package/dist/esm/index.js.map +1 -1
  272. package/dist/esm/theme/Theme.d.ts.map +1 -1
  273. package/dist/esm/theme/Theme.js +0 -1
  274. package/dist/esm/theme/Theme.js.map +1 -1
  275. package/package.json +36 -22
  276. package/src/__tests__/Utils.tsx +3 -1
  277. package/src/components/button/Button.tsx +3 -1
  278. package/src/components/code-editor/CodeEditor.tsx +1 -7
  279. package/src/components/header/__tests__/__snapshots__/Header.spec.tsx.snap +0 -5
  280. package/src/components/inline-confirm/InlineConfirm.tsx +12 -4
  281. package/src/components/inline-confirm/InlineConfirmPrompt.tsx +6 -9
  282. package/src/components/inline-confirm/InlineConfirmTarget.tsx +9 -4
  283. package/src/components/inline-confirm/__tests__/InlineConfirm.spec.tsx +37 -12
  284. package/src/components/table/Table.module.css +8 -1
  285. package/src/components/table/Table.tsx +148 -170
  286. package/src/components/table/Table.types.ts +57 -160
  287. package/src/components/table/TableContext.tsx +17 -16
  288. package/src/components/table/__tests__/Table.spec.tsx +176 -200
  289. package/src/components/table/__tests__/TableActions.spec.tsx +142 -31
  290. package/src/components/table/__tests__/TableCollapsibleColumn.spec.tsx +88 -0
  291. package/src/components/table/__tests__/TableColumnsSelector.spec.tsx +160 -119
  292. package/src/components/table/__tests__/TableDateRangePicker.spec.tsx +13 -17
  293. package/src/components/table/__tests__/TableFilter.spec.tsx +52 -96
  294. package/src/components/table/__tests__/TableLastUpdated.spec.tsx +18 -37
  295. package/src/components/table/__tests__/TablePagination.spec.tsx +84 -100
  296. package/src/components/table/__tests__/TablePerPage.spec.tsx +81 -104
  297. package/src/components/table/__tests__/TablePredicate.spec.tsx +26 -80
  298. package/src/components/table/__tests__/Th.spec.tsx +24 -19
  299. package/src/components/table/index.ts +3 -9
  300. package/src/components/table/layouts/TableLayoutControl.tsx +4 -4
  301. package/src/components/table/layouts/TableLayouts.tsx +0 -22
  302. package/src/components/table/layouts/__tests__/RowLayout.spec.tsx +210 -182
  303. package/src/components/table/layouts/row-layout/RowLayout.tsx +2 -2
  304. package/src/components/table/layouts/row-layout/RowLayoutBody.tsx +17 -17
  305. package/src/components/table/layouts/row-layout/RowLayoutHeader.tsx +18 -9
  306. package/src/components/table/layouts/row-layout/RowLayoutIcon.tsx +3 -8
  307. package/src/components/table/table-actions/TableActionContext.ts +9 -0
  308. package/src/components/table/table-actions/TableActionItem.tsx +80 -0
  309. package/src/components/table/table-actions/TableActionsList.tsx +209 -0
  310. package/src/components/table/table-actions/TableHeaderActions.tsx +56 -0
  311. package/src/components/table/table-actions/index.ts +2 -0
  312. package/src/components/table/table-column/TableActionsColumn.tsx +39 -0
  313. package/src/components/table/table-column/TableCollapsibleColumn.tsx +7 -3
  314. package/src/components/table/table-column/TableSelectableColumn.tsx +4 -0
  315. package/src/components/table/table-columns-selector/TableColumnsSelector.tsx +33 -28
  316. package/src/components/table/table-date-range-picker/TableDateRangePicker.tsx +9 -11
  317. package/src/components/table/table-filter/TableFilter.tsx +12 -18
  318. package/src/components/table/table-header/TableHeader.tsx +32 -15
  319. package/src/components/table/table-header/Th.tsx +8 -7
  320. package/src/components/table/table-last-updated/TableLastUpdated.tsx +7 -10
  321. package/src/components/table/table-no-data/TableNoData.tsx +7 -0
  322. package/src/components/table/table-pagination/TablePagination.tsx +8 -11
  323. package/src/components/table/table-pagination/TablePagination.types.ts +0 -4
  324. package/src/components/table/table-per-page/TablePerPage.tsx +8 -10
  325. package/src/components/table/table-predicate/TablePredicate.tsx +21 -17
  326. package/src/components/table/use-table.ts +323 -0
  327. package/src/index.ts +11 -1
  328. package/src/theme/Theme.tsx +0 -1
  329. package/dist/cjs/components/table/table-actions/TableActions.d.ts +0 -38
  330. package/dist/cjs/components/table/table-actions/TableActions.d.ts.map +0 -1
  331. package/dist/cjs/components/table/table-actions/TableActions.js +0 -47
  332. package/dist/cjs/components/table/table-actions/TableActions.js.map +0 -1
  333. package/dist/cjs/components/table/table-consumer/TableConsumer.d.ts +0 -5
  334. package/dist/cjs/components/table/table-consumer/TableConsumer.d.ts.map +0 -1
  335. package/dist/cjs/components/table/table-consumer/TableConsumer.js.map +0 -1
  336. package/dist/cjs/hooks/useRowSelection.d.ts +0 -10
  337. package/dist/cjs/hooks/useRowSelection.d.ts.map +0 -1
  338. package/dist/cjs/hooks/useRowSelection.js +0 -80
  339. package/dist/cjs/hooks/useRowSelection.js.map +0 -1
  340. package/dist/esm/components/table/table-actions/TableActions.d.ts +0 -38
  341. package/dist/esm/components/table/table-actions/TableActions.d.ts.map +0 -1
  342. package/dist/esm/components/table/table-actions/TableActions.js +0 -29
  343. package/dist/esm/components/table/table-actions/TableActions.js.map +0 -1
  344. package/dist/esm/components/table/table-consumer/TableConsumer.d.ts +0 -5
  345. package/dist/esm/components/table/table-consumer/TableConsumer.d.ts.map +0 -1
  346. package/dist/esm/components/table/table-consumer/TableConsumer.js +0 -6
  347. package/dist/esm/components/table/table-consumer/TableConsumer.js.map +0 -1
  348. package/dist/esm/hooks/useRowSelection.d.ts +0 -10
  349. package/dist/esm/hooks/useRowSelection.d.ts.map +0 -1
  350. package/dist/esm/hooks/useRowSelection.js +0 -59
  351. package/dist/esm/hooks/useRowSelection.js.map +0 -1
  352. package/src/components/table/table-actions/TableActions.tsx +0 -67
  353. package/src/components/table/table-consumer/TableConsumer.tsx +0 -3
  354. package/src/hooks/useRowSelection.ts +0 -76
@@ -1,20 +1,10 @@
1
1
  import { Icon } from '@coveord/plasma-react-icons';
2
2
  import { BoxProps, StylesApiProps } from '@mantine/core';
3
- import { UseFormReturnType } from '@mantine/form';
4
- import { Column, ColumnDef, CoreOptions, InitialTableState as TanstackInitialTableState, TableOptions, TableState as TanstackTableState } from '@tanstack/table-core';
5
- import { Dispatch, ReactElement, ReactNode, RefObject } from 'react';
6
- import { DateRangePickerValue } from '../date-range-picker/DateRangePickerInlineCalendar';
7
- import { TableLayoutProps } from './layouts/TableLayouts';
3
+ import { ColumnDef, CoreOptions, Row, TableOptions } from '@tanstack/table-core';
4
+ import { ReactElement, ReactNode } from 'react';
8
5
  import { type PlasmaTableFactory } from './Table';
9
- export type RowSelectionWithData<TData> = Record<string, TData>;
10
- export interface RowSelectionState<TData> {
11
- rowSelection: RowSelectionWithData<TData>;
12
- }
13
- export interface TableState<TData> extends Omit<TanstackTableState, 'rowSelection'>, RowSelectionState<TData> {
14
- }
15
- export interface InitialTableState<TData> extends Omit<TanstackInitialTableState, 'rowSelection'>, Partial<RowSelectionState<TData>>, Partial<TableFormType> {
16
- }
17
- export type onTableChangeEvent<TData> = (params: TableState<TData> & TableFormType) => void;
6
+ import { TableStore } from './use-table';
7
+ export type TableLayoutProps<TData = unknown> = Pick<TableProps<TData>, 'getRowExpandedContent' | 'getRowAttributes' | 'loading'> & TableProps<TData>['layoutProps'];
18
8
  export interface TableLayout {
19
9
  (props: {
20
10
  children: ReactNode;
@@ -33,111 +23,49 @@ export interface TableLayout {
33
23
  * Header portion of the table.
34
24
  * In the standard row layout that is where column headers would be displayed.
35
25
  */
36
- Header: <T>(props: TableLayoutProps<T>) => ReactElement;
26
+ Header: <TData>(props: TableLayoutProps<TData>) => ReactElement;
37
27
  /**
38
28
  * Body portion of the table.
39
29
  * In the standard row layout that is where the rows would be displayed.
40
30
  */
41
- Body: <T>(props: TableLayoutProps<T>) => ReactElement;
31
+ Body: <TData>(props: TableLayoutProps<TData>) => ReactElement;
42
32
  }
43
- export type TableFormType = {
44
- /**
45
- * Object containing the table predicates and their selected values
46
- *
47
- * @example {type: "LONG", origin: "system"}
48
- */
49
- predicates: Record<string, string>;
33
+ export interface TableProps<TData> extends BoxProps, StylesApiProps<PlasmaTableFactory> {
34
+ store: TableStore<TData>;
50
35
  /**
51
- * Selected date range in the table
52
- *
53
- * @example [new Date(2022, 0, 1), new Date(2022, 0, 31)]
54
- */
55
- dateRange: DateRangePickerValue;
56
- /**
57
- * Selected layout name
36
+ * Data to display in the table. Use `null` when the table is initially loading.
58
37
  */
59
- layout: TableLayout['name'];
60
- };
61
- export type TableContextType<TData> = {
38
+ data: TData[] | null;
62
39
  /**
63
- * Returns all flat columns in the table.
40
+ * Defines how each row is uniquely identified. It is highly recommended that you specify this prop to an ID that makes sense.
64
41
  */
65
- getAllColumns: () => Array<Column<TData, unknown>>;
42
+ getRowId?: CoreOptions<TData>['getRowId'];
66
43
  /**
67
- * Function to call when the table needs an update
44
+ * Allows to define html attributes that will be passed down to each row.
68
45
  */
69
- onChange: () => void;
46
+ getRowAttributes?: (datum: TData, index: number, row: Row<TData>) => Record<string, unknown>;
70
47
  /**
71
- * Internal state of the table
48
+ * Function that generates the expandable content of a row
49
+ * Return null for rows that don't need to be expandable
72
50
  *
73
- * @see https://tanstack.com/table/v8/docs/api/core/table#state
74
- */
75
- state: TableState<TData>;
76
- /**
77
- * Function to update the table state
78
- */
79
- setState: Dispatch<(prevState: TableState<TData>) => TableState<TData>>;
80
- /**
81
- * Whether the table currently as any kind of filter applied.
82
- * Useful to determine if the noDataChildren is an empty state or just the result of a filter
83
- */
84
- isFiltered: boolean;
85
- /**
86
- * Function that clears the filter and predicates
87
- */
88
- clearFilters: () => void;
89
- /**
90
- * Function that returns the selected row if any.
91
- */
92
- getSelectedRow: () => TData | null;
93
- /**
94
- * Function that returns an array of the selected rows. Most useful when multi row selection is enabled.
95
- */
96
- getSelectedRows: () => TData[];
97
- /**
98
- * Function that clear the selected row
99
- */
100
- clearSelection: () => void;
101
- /**
102
- * Form used to handle predicates and dateRange
103
- */
104
- form: UseFormReturnType<TableFormType>;
105
- /**
106
- * Table container ref
107
- */
108
- containerRef: RefObject<HTMLDivElement>;
109
- /**
110
- * Whether multi row selection is activated
111
- */
112
- multiRowSelectionEnabled: boolean;
113
- /**
114
- * Whether row selection is enabled or not
115
- */
116
- disableRowSelection: boolean;
117
- /**
118
- * Function that returns the number of pages
119
- */
120
- getPageCount: () => number;
121
- /**
122
- * Available layouts. When more than one layout is provided, it will display a layout control to switch between them.
123
- */
124
- layouts: TableLayout[];
125
- };
126
- export interface TableProps<T> extends BoxProps, StylesApiProps<PlasmaTableFactory> {
127
- /**
128
- * Data to display in the table. Use `null` when the table is initially loading.
51
+ * @param datum the row for which the children should be generated.
129
52
  */
130
- data: T[] | null;
53
+ getRowExpandedContent?: (datum: TData, index: number, row: Row<TData>) => ReactNode;
131
54
  /**
132
- * Defines how each row is uniquely identified. It is highly recommended that you specify this prop to an ID that makes sense.
55
+ * Function that generates the actions for the selected rows
56
+ * If the table doesn't support multi selection, access the data[0]
57
+ * Return an empty array for rows that don't have actions
58
+ *
59
+ * @param datum the row for which the children should be generated.
60
+ * @default []
133
61
  */
134
- getRowId?: CoreOptions<T>['getRowId'];
62
+ getRowActions?: (data: TData[]) => TableAction[];
135
63
  /**
136
64
  * Columns to display in the table.
137
65
  *
138
66
  * @see https://tanstack.com/table/v8/docs/guide/column-defs
139
67
  */
140
- columns: Array<ColumnDef<T>>;
68
+ columns: Array<ColumnDef<TData>>;
141
69
  /**
142
70
  * Available layouts
143
71
  *
@@ -145,28 +73,18 @@ export interface TableProps<T> extends BoxProps, StylesApiProps<PlasmaTableFacto
145
73
  */
146
74
  layouts?: TableLayout[];
147
75
  /**
148
- * Function called when the table mounts
149
- *
150
- * @param state the state of the table
151
- */
152
- onMount?: onTableChangeEvent<T>;
153
- /**
154
- * Function called when the table should update
155
- *
156
- * @param state the state of the table
76
+ * Props passed down to the active layout Header and Body components
157
77
  */
158
- onChange?: onTableChangeEvent<T>;
159
- /**
160
- * Function that generates the expandable content of a row
161
- * Return null for rows that don't need to be expandable
162
- *
163
- * @param datum the row for which the children should be generated.
164
- */
165
- getExpandChildren?: (datum: T) => ReactNode;
166
- /**
167
- * React children to show when the table has no rows to show. You can leverage useTable to get the state of the table
168
- */
169
- noDataChildren?: ReactNode;
78
+ layoutProps?: {
79
+ /**
80
+ * Called by the table layout when a row is double clicked.
81
+ * @param selectedRow The data of the row that was double clicked
82
+ * @param index The index of the row that was double clicked
83
+ * @param row The row object that was double clicked
84
+ * @returns
85
+ */
86
+ onRowDoubleClick?: (selectedRow: TData, index: number, row: Row<TData>) => void;
87
+ } & Record<string, any>;
170
88
  /**
171
89
  * Whether the table is loading or not
172
90
  *
@@ -174,7 +92,7 @@ export interface TableProps<T> extends BoxProps, StylesApiProps<PlasmaTableFacto
174
92
  */
175
93
  loading?: boolean;
176
94
  /**
177
- * Childrens to display in the table. They need to be wrap in either `Table.Header` or `Table.Footer`
95
+ * Children to display in the table. They need to be wrap in either `Table.Header` or `Table.Footer`
178
96
  *
179
97
  * @example
180
98
  * <Table ...>
@@ -184,32 +102,6 @@ export interface TableProps<T> extends BoxProps, StylesApiProps<PlasmaTableFacto
184
102
  * </Table>
185
103
  */
186
104
  children?: ReactNode;
187
- /**
188
- * Initial state of the table
189
- */
190
- initialState?: InitialTableState<T>;
191
- /**
192
- * Action passed when user double clicks on a row
193
- */
194
- doubleClickAction?: (datum: T) => void;
195
- /**
196
- * Function called whenever the row selection changes
197
- *
198
- * @param selectedRows The selected rows
199
- */
200
- onRowSelectionChange?: (selectedRows: T[]) => void;
201
- /**
202
- * Whether the user can select multiple rows in order to perform actions in bulk
203
- *
204
- * @default false
205
- */
206
- multiRowSelectionEnabled?: boolean;
207
- /**
208
- * Whether row selection is enabled or not
209
- *
210
- * @default false
211
- */
212
- disableRowSelection?: boolean;
213
105
  /**
214
106
  * Nodes that are considered inside the table.
215
107
  *
@@ -222,6 +114,19 @@ export interface TableProps<T> extends BoxProps, StylesApiProps<PlasmaTableFacto
222
114
  /**
223
115
  * Additional options that can be passed to the table
224
116
  */
225
- options?: Omit<Partial<TableOptions<T>>, 'initialState' | 'data' | 'columns' | 'manualPagination' | 'enableMultiRowSelection' | 'getRowId' | 'getRowCanExpand' | 'enableRowSelection' | 'onRowSelectionChange'>;
117
+ options?: Omit<Partial<TableOptions<TData>>, 'initialState' | 'data' | 'columns' | 'manualPagination' | 'enableMultiRowSelection' | 'getRowId' | 'getRowCanExpand' | 'enableRowSelection' | 'onRowSelectionChange'>;
118
+ }
119
+ export interface TableAction {
120
+ /**
121
+ * Group to which the action belongs
122
+ * $$primary is reserved for primary actions
123
+ * $$confirmPrompt is reserved for InlineConfirm.Prompt, it will hide other actions when prompt is opened
124
+ * other string will be considered secondary custom group
125
+ */
126
+ group: '$$primary' | '$$confirmPrompt' | (string & {});
127
+ /**
128
+ * Component to render, should be either `Table.PrimaryAction` or `Table.SecondaryAction`
129
+ */
130
+ component: ReactNode;
226
131
  }
227
132
  //# sourceMappingURL=Table.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Table.types.d.ts","sourceRoot":"","sources":["../../../../src/components/table/Table.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,6BAA6B,CAAC;AACjD,OAAO,EAAC,QAAQ,EAAE,cAAc,EAAC,MAAM,eAAe,CAAC;AACvD,OAAO,EAAC,iBAAiB,EAAC,MAAM,eAAe,CAAC;AAChD,OAAO,EACH,MAAM,EACN,SAAS,EACT,WAAW,EACX,iBAAiB,IAAI,yBAAyB,EAC9C,YAAY,EACZ,UAAU,IAAI,kBAAkB,EACnC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAC,MAAM,OAAO,CAAC;AAEnE,OAAO,EAAC,oBAAoB,EAAC,MAAM,oDAAoD,CAAC;AACxF,OAAO,EAAC,gBAAgB,EAAC,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAC,KAAK,kBAAkB,EAAC,MAAM,SAAS,CAAC;AAEhD,MAAM,MAAM,oBAAoB,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAChE,MAAM,WAAW,iBAAiB,CAAC,KAAK;IACpC,YAAY,EAAE,oBAAoB,CAAC,KAAK,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,UAAU,CAAC,KAAK,CAAE,SAAQ,IAAI,CAAC,kBAAkB,EAAE,cAAc,CAAC,EAAE,iBAAiB,CAAC,KAAK,CAAC;CAAG;AAEhH,MAAM,WAAW,iBAAiB,CAAC,KAAK,CACpC,SAAQ,IAAI,CAAC,yBAAyB,EAAE,cAAc,CAAC,EACnD,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,EACjC,OAAO,CAAC,aAAa,CAAC;CAAG;AAEjC,MAAM,MAAM,kBAAkB,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,GAAG,aAAa,KAAK,IAAI,CAAC;AAE5F,MAAM,WAAW,WAAW;IACxB,CAAC,KAAK,EAAE;QAAC,QAAQ,EAAE,SAAS,CAAA;KAAC,GAAG,YAAY,CAAC;IAC7C;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ;;;OAGG;IACH,MAAM,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC;IACxD;;;OAGG;IACH,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC;CACzD;AAED,MAAM,MAAM,aAAa,GAAG;IACxB;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC;;;;OAIG;IACH,SAAS,EAAE,oBAAoB,CAAC;IAChC;;OAEG;IACH,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,KAAK,IAAI;IAClC;;OAEG;IACH,aAAa,EAAE,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IACnD;;OAEG;IACH,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB;;;;OAIG;IACH,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IACzB;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IACxE;;;OAGG;IACH,UAAU,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB;;OAEG;IACH,cAAc,EAAE,MAAM,KAAK,GAAG,IAAI,CAAC;IACnC;;OAEG;IACH,eAAe,EAAE,MAAM,KAAK,EAAE,CAAC;IAC/B;;OAEG;IACH,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B;;OAEG;IACH,IAAI,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC;IACvC;;OAEG;IACH,YAAY,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;IACxC;;OAEG;IACH,wBAAwB,EAAE,OAAO,CAAC;IAClC;;OAEG;IACH,mBAAmB,EAAE,OAAO,CAAC;IAC7B;;OAEG;IACH,YAAY,EAAE,MAAM,MAAM,CAAC;IAC3B;;OAEG;IACH,OAAO,EAAE,WAAW,EAAE,CAAC;CAC1B,CAAC;AAEF,MAAM,WAAW,UAAU,CAAC,CAAC,CAAE,SAAQ,QAAQ,EAAE,cAAc,CAAC,kBAAkB,CAAC;IAC/E;;OAEG;IACH,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC;IACjB;;OAEG;IACH,QAAQ,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IACtC;;;;OAIG;IACH,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7B;;;;OAIG;IACH,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB;;;;OAIG;IACH,OAAO,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAChC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC;IACjC;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,CAAC;IAC5C;;OAEG;IACH,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;OAEG;IACH,YAAY,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACpC;;OAEG;IACH,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IACvC;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;IACnD;;;;OAIG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;;;;OAOG;IACH,mBAAmB,CAAC,EAAE,WAAW,EAAE,CAAC;IACpC;;OAEG;IACH,OAAO,CAAC,EAAE,IAAI,CACV,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EACtB,cAAc,GACd,MAAM,GACN,SAAS,GACT,kBAAkB,GAClB,yBAAyB,GACzB,UAAU,GACV,iBAAiB,GACjB,oBAAoB,GACpB,sBAAsB,CAC3B,CAAC;CACL"}
1
+ {"version":3,"file":"Table.types.d.ts","sourceRoot":"","sources":["../../../../src/components/table/Table.types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/table/Table.types.ts"],"sourcesContent":["import {Icon} from '@coveord/plasma-react-icons';\nimport {BoxProps, StylesApiProps} from '@mantine/core';\nimport {UseFormReturnType} from '@mantine/form';\nimport {\n Column,\n ColumnDef,\n CoreOptions,\n InitialTableState as TanstackInitialTableState,\n TableOptions,\n TableState as TanstackTableState,\n} from '@tanstack/table-core';\nimport {Dispatch, ReactElement, ReactNode, RefObject} from 'react';\n\nimport {DateRangePickerValue} from '../date-range-picker/DateRangePickerInlineCalendar';\nimport {TableLayoutProps} from './layouts/TableLayouts';\nimport {type PlasmaTableFactory} from './Table';\n\nexport type RowSelectionWithData<TData> = Record<string, TData>;\nexport interface RowSelectionState<TData> {\n rowSelection: RowSelectionWithData<TData>;\n}\n\nexport interface TableState<TData> extends Omit<TanstackTableState, 'rowSelection'>, RowSelectionState<TData> {}\n\nexport interface InitialTableState<TData>\n extends Omit<TanstackInitialTableState, 'rowSelection'>,\n Partial<RowSelectionState<TData>>,\n Partial<TableFormType> {}\n\nexport type onTableChangeEvent<TData> = (params: TableState<TData> & TableFormType) => void;\n\nexport interface TableLayout {\n (props: {children: ReactNode}): ReactElement;\n /**\n * Name of the layout.\n * Will be displayed in the layout control\n */\n displayName: string;\n /**\n * Icon illustrating the layout.\n * Will be displayed in the layout control\n */\n Icon?: Icon;\n /**\n * Header portion of the table.\n * In the standard row layout that is where column headers would be displayed.\n */\n Header: <T>(props: TableLayoutProps<T>) => ReactElement;\n /**\n * Body portion of the table.\n * In the standard row layout that is where the rows would be displayed.\n */\n Body: <T>(props: TableLayoutProps<T>) => ReactElement;\n}\n\nexport type TableFormType = {\n /**\n * Object containing the table predicates and their selected values\n *\n * @example {type: \"LONG\", origin: \"system\"}\n */\n predicates: Record<string, string>;\n /**\n * Selected date range in the table\n *\n * @example [new Date(2022, 0, 1), new Date(2022, 0, 31)]\n */\n dateRange: DateRangePickerValue;\n /**\n * Selected layout name\n */\n layout: TableLayout['name'];\n};\n\nexport type TableContextType<TData> = {\n /**\n * Returns all flat columns in the table.\n */\n getAllColumns: () => Array<Column<TData, unknown>>;\n /**\n * Function to call when the table needs an update\n */\n onChange: () => void;\n /**\n * Internal state of the table\n *\n * @see https://tanstack.com/table/v8/docs/api/core/table#state\n */\n state: TableState<TData>;\n /**\n * Function to update the table state\n */\n setState: Dispatch<(prevState: TableState<TData>) => TableState<TData>>;\n /**\n * Whether the table currently as any kind of filter applied.\n * Useful to determine if the noDataChildren is an empty state or just the result of a filter\n */\n isFiltered: boolean;\n /**\n * Function that clears the filter and predicates\n */\n clearFilters: () => void;\n /**\n * Function that returns the selected row if any.\n */\n getSelectedRow: () => TData | null;\n /**\n * Function that returns an array of the selected rows. Most useful when multi row selection is enabled.\n */\n getSelectedRows: () => TData[];\n /**\n * Function that clear the selected row\n */\n clearSelection: () => void;\n /**\n * Form used to handle predicates and dateRange\n */\n form: UseFormReturnType<TableFormType>;\n /**\n * Table container ref\n */\n containerRef: RefObject<HTMLDivElement>;\n /**\n * Whether multi row selection is activated\n */\n multiRowSelectionEnabled: boolean;\n /**\n * Whether row selection is enabled or not\n */\n disableRowSelection: boolean;\n /**\n * Function that returns the number of pages\n */\n getPageCount: () => number;\n /**\n * Available layouts. When more than one layout is provided, it will display a layout control to switch between them.\n */\n layouts: TableLayout[];\n};\n\nexport interface TableProps<T> extends BoxProps, StylesApiProps<PlasmaTableFactory> {\n /**\n * Data to display in the table. Use `null` when the table is initially loading.\n */\n data: T[] | null;\n /**\n * Defines how each row is uniquely identified. It is highly recommended that you specify this prop to an ID that makes sense.\n */\n getRowId?: CoreOptions<T>['getRowId'];\n /**\n * Columns to display in the table.\n *\n * @see https://tanstack.com/table/v8/docs/guide/column-defs\n */\n columns: Array<ColumnDef<T>>;\n /**\n * Available layouts\n *\n * @default [Table.Layouts.Rows]\n */\n layouts?: TableLayout[];\n /**\n * Function called when the table mounts\n *\n * @param state the state of the table\n */\n onMount?: onTableChangeEvent<T>;\n /**\n * Function called when the table should update\n *\n * @param state the state of the table\n */\n onChange?: onTableChangeEvent<T>;\n /**\n * Function that generates the expandable content of a row\n * Return null for rows that don't need to be expandable\n *\n * @param datum the row for which the children should be generated.\n */\n getExpandChildren?: (datum: T) => ReactNode;\n /**\n * React children to show when the table has no rows to show. You can leverage useTable to get the state of the table\n */\n noDataChildren?: ReactNode;\n /**\n * Whether the table is loading or not\n *\n * @default false\n */\n loading?: boolean;\n /**\n * Childrens to display in the table. They need to be wrap in either `Table.Header` or `Table.Footer`\n *\n * @example\n * <Table ...>\n * <Table.Header>\n * <div>Hello</div>\n * </Table.Header>\n * </Table>\n */\n children?: ReactNode;\n /**\n * Initial state of the table\n */\n initialState?: InitialTableState<T>;\n /**\n * Action passed when user double clicks on a row\n */\n doubleClickAction?: (datum: T) => void;\n /**\n * Function called whenever the row selection changes\n *\n * @param selectedRows The selected rows\n */\n onRowSelectionChange?: (selectedRows: T[]) => void;\n /**\n * Whether the user can select multiple rows in order to perform actions in bulk\n *\n * @default false\n */\n multiRowSelectionEnabled?: boolean;\n /**\n * Whether row selection is enabled or not\n *\n * @default false\n */\n disableRowSelection?: boolean;\n /**\n * Nodes that are considered inside the table.\n *\n * Rows normally get unselected when clicking outside the table, but sometimes it has difficulties guessing what is inside or outside, for example when using modals.\n * You can use this prop to force the table to consider some nodes to be inside the table.\n *\n * @see https://mantine.dev/hooks/use-click-outside/#multiple-nodes\n */\n additionalRootNodes?: HTMLElement[];\n /**\n * Additional options that can be passed to the table\n */\n options?: Omit<\n Partial<TableOptions<T>>,\n | 'initialState'\n | 'data'\n | 'columns'\n | 'manualPagination'\n | 'enableMultiRowSelection'\n | 'getRowId'\n | 'getRowCanExpand'\n | 'enableRowSelection'\n | 'onRowSelectionChange'\n >;\n}\n"],"names":[],"rangeMappings":"","mappings":"AA4IA,WA+GC"}
1
+ {"version":3,"sources":["../../../../src/components/table/Table.types.ts"],"sourcesContent":["import {Icon} from '@coveord/plasma-react-icons';\nimport {BoxProps, StylesApiProps} from '@mantine/core';\nimport {ColumnDef, CoreOptions, Row, TableOptions} from '@tanstack/table-core';\nimport {ReactElement, ReactNode} from 'react';\n\nimport {type PlasmaTableFactory} from './Table';\nimport {TableStore} from './use-table';\n\nexport type TableLayoutProps<TData = unknown> = Pick<\n TableProps<TData>,\n 'getRowExpandedContent' | 'getRowAttributes' | 'loading'\n> &\n TableProps<TData>['layoutProps'];\n\nexport interface TableLayout {\n (props: {children: ReactNode}): ReactElement;\n /**\n * Name of the layout.\n * Will be displayed in the layout control\n */\n displayName: string;\n /**\n * Icon illustrating the layout.\n * Will be displayed in the layout control\n */\n Icon?: Icon;\n /**\n * Header portion of the table.\n * In the standard row layout that is where column headers would be displayed.\n */\n Header: <TData>(props: TableLayoutProps<TData>) => ReactElement;\n /**\n * Body portion of the table.\n * In the standard row layout that is where the rows would be displayed.\n */\n Body: <TData>(props: TableLayoutProps<TData>) => ReactElement;\n}\n\nexport interface TableProps<TData> extends BoxProps, StylesApiProps<PlasmaTableFactory> {\n store: TableStore<TData>;\n /**\n * Data to display in the table. Use `null` when the table is initially loading.\n */\n data: TData[] | null;\n /**\n * Defines how each row is uniquely identified. It is highly recommended that you specify this prop to an ID that makes sense.\n */\n getRowId?: CoreOptions<TData>['getRowId'];\n /**\n * Allows to define html attributes that will be passed down to each row.\n */\n getRowAttributes?: (datum: TData, index: number, row: Row<TData>) => Record<string, unknown>;\n /**\n * Function that generates the expandable content of a row\n * Return null for rows that don't need to be expandable\n *\n * @param datum the row for which the children should be generated.\n */\n getRowExpandedContent?: (datum: TData, index: number, row: Row<TData>) => ReactNode;\n /**\n * Function that generates the actions for the selected rows\n * If the table doesn't support multi selection, access the data[0]\n * Return an empty array for rows that don't have actions\n *\n * @param datum the row for which the children should be generated.\n * @default []\n */\n getRowActions?: (data: TData[]) => TableAction[];\n /**\n * Columns to display in the table.\n *\n * @see https://tanstack.com/table/v8/docs/guide/column-defs\n */\n columns: Array<ColumnDef<TData>>;\n /**\n * Available layouts\n *\n * @default [Table.Layouts.Rows]\n */\n layouts?: TableLayout[];\n /**\n * Props passed down to the active layout Header and Body components\n */\n layoutProps?: {\n /**\n * Called by the table layout when a row is double clicked.\n * @param selectedRow The data of the row that was double clicked\n * @param index The index of the row that was double clicked\n * @param row The row object that was double clicked\n * @returns\n */\n onRowDoubleClick?: (selectedRow: TData, index: number, row: Row<TData>) => void;\n } & Record<string, any>;\n /**\n * Whether the table is loading or not\n *\n * @default false\n */\n loading?: boolean;\n /**\n * Children to display in the table. They need to be wrap in either `Table.Header` or `Table.Footer`\n *\n * @example\n * <Table ...>\n * <Table.Header>\n * <div>Hello</div>\n * </Table.Header>\n * </Table>\n */\n children?: ReactNode;\n /**\n * Nodes that are considered inside the table.\n *\n * Rows normally get unselected when clicking outside the table, but sometimes it has difficulties guessing what is inside or outside, for example when using modals.\n * You can use this prop to force the table to consider some nodes to be inside the table.\n *\n * @see https://mantine.dev/hooks/use-click-outside/#multiple-nodes\n */\n additionalRootNodes?: HTMLElement[];\n /**\n * Additional options that can be passed to the table\n */\n options?: Omit<\n Partial<TableOptions<TData>>,\n | 'initialState'\n | 'data'\n | 'columns'\n | 'manualPagination'\n | 'enableMultiRowSelection'\n | 'getRowId'\n | 'getRowCanExpand'\n | 'enableRowSelection'\n | 'onRowSelectionChange'\n >;\n}\n\nexport interface TableAction {\n /**\n * Group to which the action belongs\n * $$primary is reserved for primary actions\n * $$confirmPrompt is reserved for InlineConfirm.Prompt, it will hide other actions when prompt is opened\n * other string will be considered secondary custom group\n */\n group: '$$primary' | '$$confirmPrompt' | (string & {});\n /**\n * Component to render, should be either `Table.PrimaryAction` or `Table.SecondaryAction`\n */\n component: ReactNode;\n}\n"],"names":[],"rangeMappings":"","mappings":"AAwIA,WAYC"}
@@ -1,15 +1,20 @@
1
- /// <reference types="react" />
2
1
  import { GetStylesApi } from '@mantine/core';
2
+ import { Table } from '@tanstack/table-core';
3
+ import { MutableRefObject, ReactElement } from 'react';
3
4
  import { type PlasmaTableFactory } from './Table';
4
- import { TableContextType } from './Table.types';
5
- export declare const TableContext: import("react").Context<TableContextType<any>>;
6
- export declare const useTable: <T>() => TableContextType<T>;
7
- interface TableStyleContextType {
5
+ import { TableAction, TableLayout } from './Table.types';
6
+ import { TableStore } from './use-table';
7
+ export interface TableContextValue<TData = unknown> {
8
8
  getStyles: GetStylesApi<PlasmaTableFactory>;
9
+ store: TableStore<TData>;
10
+ layouts: TableLayout[];
11
+ getRowActions: (datum: TData[]) => TableAction[];
12
+ table: Table<TData>;
13
+ containerRef: MutableRefObject<HTMLDivElement>;
9
14
  }
10
- export declare const TableStylesProvider: ({ children, value }: {
11
- value: TableStyleContextType;
12
- children: import("react").ReactNode;
13
- }) => import("react").JSX.Element, useTableStyles: () => TableStyleContextType;
14
- export {};
15
+ export interface TableProviderProps<T> {
16
+ value: TableContextValue<T>;
17
+ children: JSX.Element;
18
+ }
19
+ export declare const TableProvider: <TData>(props: TableProviderProps<TData>) => ReactElement, useTableContext: <TData>() => TableContextValue<TData>;
15
20
  //# sourceMappingURL=TableContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableContext.d.ts","sourceRoot":"","sources":["../../../../src/components/table/TableContext.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAoB,YAAY,EAAC,MAAM,eAAe,CAAC;AAE9D,OAAO,EAAC,KAAK,kBAAkB,EAAC,MAAM,SAAS,CAAC;AAChD,OAAO,EAAC,gBAAgB,EAAC,MAAM,eAAe,CAAC;AAE/C,eAAO,MAAM,YAAY,gDAAoD,CAAC;AAE9E,eAAO,MAAM,QAAQ,8BAOpB,CAAC;AAEF,UAAU,qBAAqB;IAC3B,SAAS,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAC;CAC/C;AAED,eAAO,MAAO,mBAAmB;;;mCAAE,cAAc,6BAEhD,CAAC"}
1
+ {"version":3,"file":"TableContext.d.ts","sourceRoot":"","sources":["../../../../src/components/table/TableContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAoB,YAAY,EAAC,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAC,KAAK,EAAC,MAAM,sBAAsB,CAAC;AAC3C,OAAO,EAAC,gBAAgB,EAAE,YAAY,EAAC,MAAM,OAAO,CAAC;AACrD,OAAO,EAAC,KAAK,kBAAkB,EAAC,MAAM,SAAS,CAAC;AAChD,OAAO,EAAC,WAAW,EAAE,WAAW,EAAC,MAAM,eAAe,CAAC;AACvD,OAAO,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;AAEvC,MAAM,WAAW,iBAAiB,CAAC,KAAK,GAAG,OAAO;IAC9C,SAAS,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAC;IAC5C,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IACzB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,WAAW,EAAE,CAAC;IACjD,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACpB,YAAY,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAC;CAClD;AAED,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACjC,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAC5B,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC;CACzB;AAED,eAAO,MAAO,aAAa,+CAEwB,YAAY,EAFlC,eAAe,uCAE2D,CAAC"}
@@ -1,13 +1,4 @@
1
1
  import { createSafeContext } from '@mantine/core';
2
- import { createContext, useContext } from 'react';
3
- export const TableContext = /*#__PURE__*/ createContext(null);
4
- export const useTable = ()=>{
5
- const ctx = useContext(TableContext);
6
- if (ctx === null) {
7
- throw new Error('useTable must be used inside of a TableContext.Provider');
8
- }
9
- return ctx;
10
- };
11
- export const [TableStylesProvider, useTableStyles] = createSafeContext('Table component was not found in the tree');
2
+ export const [TableProvider, useTableContext] = createSafeContext('Table component was not found in the tree');
12
3
 
13
4
  //# sourceMappingURL=TableContext.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/table/TableContext.tsx"],"sourcesContent":["import {createSafeContext, GetStylesApi} from '@mantine/core';\nimport {createContext, useContext} from 'react';\nimport {type PlasmaTableFactory} from './Table';\nimport {TableContextType} from './Table.types';\n\nexport const TableContext = createContext<TableContextType<any> | null>(null);\n\nexport const useTable = <T,>(): TableContextType<T> => {\n const ctx = useContext(TableContext);\n if (ctx === null) {\n throw new Error('useTable must be used inside of a TableContext.Provider');\n }\n\n return ctx;\n};\n\ninterface TableStyleContextType {\n getStyles: GetStylesApi<PlasmaTableFactory>;\n}\n\nexport const [TableStylesProvider, useTableStyles] = createSafeContext<TableStyleContextType>(\n 'Table component was not found in the tree',\n);\n"],"names":["createSafeContext","createContext","useContext","TableContext","useTable","ctx","Error","TableStylesProvider","useTableStyles"],"rangeMappings":";;;;;;;;;;","mappings":"AAAA,SAAQA,iBAAiB,QAAqB,gBAAgB;AAC9D,SAAQC,aAAa,EAAEC,UAAU,QAAO,QAAQ;AAIhD,OAAO,MAAMC,6BAAeF,cAA4C,MAAM;AAE9E,OAAO,MAAMG,WAAW;IACpB,MAAMC,MAAMH,WAAWC;IACvB,IAAIE,QAAQ,MAAM;QACd,MAAM,IAAIC,MAAM;IACpB;IAEA,OAAOD;AACX,EAAE;AAMF,OAAO,MAAM,CAACE,qBAAqBC,eAAe,GAAGR,kBACjD,6CACF"}
1
+ {"version":3,"sources":["../../../../src/components/table/TableContext.tsx"],"sourcesContent":["import {createSafeContext, GetStylesApi} from '@mantine/core';\nimport {Table} from '@tanstack/table-core';\nimport {MutableRefObject, ReactElement} from 'react';\nimport {type PlasmaTableFactory} from './Table';\nimport {TableAction, TableLayout} from './Table.types';\nimport {TableStore} from './use-table';\n\nexport interface TableContextValue<TData = unknown> {\n getStyles: GetStylesApi<PlasmaTableFactory>;\n store: TableStore<TData>;\n layouts: TableLayout[];\n getRowActions: (datum: TData[]) => TableAction[];\n table: Table<TData>;\n containerRef: MutableRefObject<HTMLDivElement>;\n}\n\nexport interface TableProviderProps<T> {\n value: TableContextValue<T>;\n children: JSX.Element;\n}\n\nexport const [TableProvider, useTableContext] = createSafeContext<TableContextValue>(\n 'Table component was not found in the tree',\n) as [<TData>(props: TableProviderProps<TData>) => ReactElement, <TData>() => TableContextValue<TData>];\n"],"names":["createSafeContext","TableProvider","useTableContext"],"rangeMappings":";","mappings":"AAAA,SAAQA,iBAAiB,QAAqB,gBAAgB;AAqB9D,OAAO,MAAM,CAACC,eAAeC,gBAAgB,GAAGF,kBAC5C,6CACoG"}
@@ -1,6 +1,6 @@
1
1
  export { flexRender as renderTableCell } from '@tanstack/react-table';
2
2
  export * from './Table';
3
- export { type InitialTableState, type TableLayout, type TableProps, type TableState, type onTableChangeEvent, } from './Table.types';
4
- export { useTable } from './TableContext';
5
- export { type TableLayoutProps } from './layouts/TableLayouts';
3
+ export { type TableLayout, type TableProps, type TableLayoutProps, type TableAction } from './Table.types';
4
+ export { useTable, type TableState, type TableStore, type UseTableOptions } from './use-table';
5
+ export { useTableContext } from './TableContext';
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/table/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,IAAI,eAAe,EAAC,MAAM,uBAAuB,CAAC;AACpE,cAAc,SAAS,CAAC;AACxB,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,kBAAkB,GAC1B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAC,QAAQ,EAAC,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAC,KAAK,gBAAgB,EAAC,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/table/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,IAAI,eAAe,EAAC,MAAM,uBAAuB,CAAC;AACpE,cAAc,SAAS,CAAC;AACxB,OAAO,EAAC,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,gBAAgB,EAAE,KAAK,WAAW,EAAC,MAAM,eAAe,CAAC;AACzG,OAAO,EAAC,QAAQ,EAAE,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,KAAK,eAAe,EAAC,MAAM,aAAa,CAAC;AAC7F,OAAO,EAAC,eAAe,EAAC,MAAM,gBAAgB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  export { flexRender as renderTableCell } from '@tanstack/react-table';
2
2
  export * from './Table';
3
- export { useTable } from './TableContext';
3
+ export { useTable } from './use-table';
4
+ export { useTableContext } from './TableContext';
4
5
 
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/table/index.ts"],"sourcesContent":["export {flexRender as renderTableCell} from '@tanstack/react-table';\nexport * from './Table';\nexport {\n type InitialTableState,\n type TableLayout,\n type TableProps,\n type TableState,\n type onTableChangeEvent,\n} from './Table.types';\nexport {useTable} from './TableContext';\nexport {type TableLayoutProps} from './layouts/TableLayouts';\n"],"names":["flexRender","renderTableCell","useTable"],"rangeMappings":";;","mappings":"AAAA,SAAQA,cAAcC,eAAe,QAAO,wBAAwB;AACpE,cAAc,UAAU;AAQxB,SAAQC,QAAQ,QAAO,iBAAiB"}
1
+ {"version":3,"sources":["../../../../src/components/table/index.ts"],"sourcesContent":["export {flexRender as renderTableCell} from '@tanstack/react-table';\nexport * from './Table';\nexport {type TableLayout, type TableProps, type TableLayoutProps, type TableAction} from './Table.types';\nexport {useTable, type TableState, type TableStore, type UseTableOptions} from './use-table';\nexport {useTableContext} from './TableContext';\n"],"names":["flexRender","renderTableCell","useTable","useTableContext"],"rangeMappings":";;;","mappings":"AAAA,SAAQA,cAAcC,eAAe,QAAO,wBAAwB;AACpE,cAAc,UAAU;AAExB,SAAQC,QAAQ,QAA+D,cAAc;AAC7F,SAAQC,eAAe,QAAO,iBAAiB"}
@@ -1,14 +1,13 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { Box, Center, Grid, SegmentedControl, Space } from '@mantine/core';
3
3
  import { TableComponentsOrder } from '../Table';
4
- import { useTable } from '../TableContext';
4
+ import { useTableContext } from '../TableContext';
5
5
  export const TableLayoutControl = ()=>{
6
- const { form, layouts } = useTable();
6
+ const { layouts, store } = useTableContext();
7
7
  return layouts.length > 1 ? /*#__PURE__*/ _jsx(Grid.Col, {
8
8
  order: TableComponentsOrder.LayoutControl,
9
9
  span: "content",
10
10
  children: /*#__PURE__*/ _jsx(SegmentedControl, {
11
- color: "action",
12
11
  data: layouts.map(({ displayName, Icon })=>({
13
12
  value: displayName,
14
13
  label: /*#__PURE__*/ _jsxs(Center, {
@@ -29,7 +28,8 @@ export const TableLayoutControl = ()=>{
29
28
  ]
30
29
  })
31
30
  })),
32
- ...form.getInputProps('layout')
31
+ value: store.state.layout === null ? layouts[0].displayName : store.state.layout,
32
+ onChange: store.setLayout
33
33
  })
34
34
  }) : null;
35
35
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/table/layouts/TableLayoutControl.tsx"],"sourcesContent":["import {Box, Center, Grid, SegmentedControl, Space} from '@mantine/core';\nimport {TableComponentsOrder} from '../Table';\nimport {useTable} from '../TableContext';\n\nexport const TableLayoutControl = () => {\n const {form, layouts} = useTable();\n return layouts.length > 1 ? (\n <Grid.Col order={TableComponentsOrder.LayoutControl} span=\"content\">\n <SegmentedControl\n color=\"action\"\n data={layouts.map(({displayName, Icon}) => ({\n value: displayName,\n label: (\n <Center>\n {Icon ? (\n <>\n <Icon height={16} />\n <Space w=\"xs\" />\n </>\n ) : null}\n <Box>{displayName}</Box>\n </Center>\n ),\n }))}\n {...form.getInputProps('layout')}\n />\n </Grid.Col>\n ) : null;\n};\n"],"names":["Box","Center","Grid","SegmentedControl","Space","TableComponentsOrder","useTable","TableLayoutControl","form","layouts","length","Col","order","LayoutControl","span","color","data","map","displayName","Icon","value","label","height","w","getInputProps"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAAA,SAAQA,GAAG,EAAEC,MAAM,EAAEC,IAAI,EAAEC,gBAAgB,EAAEC,KAAK,QAAO,gBAAgB;AACzE,SAAQC,oBAAoB,QAAO,WAAW;AAC9C,SAAQC,QAAQ,QAAO,kBAAkB;AAEzC,OAAO,MAAMC,qBAAqB;IAC9B,MAAM,EAACC,IAAI,EAAEC,OAAO,EAAC,GAAGH;IACxB,OAAOG,QAAQC,MAAM,GAAG,kBACpB,KAACR,KAAKS,GAAG;QAACC,OAAOP,qBAAqBQ,aAAa;QAAEC,MAAK;kBACtD,cAAA,KAACX;YACGY,OAAM;YACNC,MAAMP,QAAQQ,GAAG,CAAC,CAAC,EAACC,WAAW,EAAEC,IAAI,EAAC,GAAM,CAAA;oBACxCC,OAAOF;oBACPG,qBACI,MAACpB;;4BACIkB,qBACG;;kDACI,KAACA;wCAAKG,QAAQ;;kDACd,KAAClB;wCAAMmB,GAAE;;;iCAEb;0CACJ,KAACvB;0CAAKkB;;;;gBAGlB,CAAA;YACC,GAAGV,KAAKgB,aAAa,CAAC,SAAS;;SAGxC;AACR,EAAE"}
1
+ {"version":3,"sources":["../../../../../src/components/table/layouts/TableLayoutControl.tsx"],"sourcesContent":["import {Box, Center, Grid, SegmentedControl, Space} from '@mantine/core';\nimport {TableComponentsOrder} from '../Table';\nimport {useTableContext} from '../TableContext';\n\nexport const TableLayoutControl = () => {\n const {layouts, store} = useTableContext();\n return layouts.length > 1 ? (\n <Grid.Col order={TableComponentsOrder.LayoutControl} span=\"content\">\n <SegmentedControl\n data={layouts.map(({displayName, Icon}) => ({\n value: displayName,\n label: (\n <Center>\n {Icon ? (\n <>\n <Icon height={16} />\n <Space w=\"xs\" />\n </>\n ) : null}\n <Box>{displayName}</Box>\n </Center>\n ),\n }))}\n value={store.state.layout === null ? layouts[0].displayName : store.state.layout}\n onChange={store.setLayout}\n />\n </Grid.Col>\n ) : null;\n};\n"],"names":["Box","Center","Grid","SegmentedControl","Space","TableComponentsOrder","useTableContext","TableLayoutControl","layouts","store","length","Col","order","LayoutControl","span","data","map","displayName","Icon","value","label","height","w","state","layout","onChange","setLayout"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAAA,SAAQA,GAAG,EAAEC,MAAM,EAAEC,IAAI,EAAEC,gBAAgB,EAAEC,KAAK,QAAO,gBAAgB;AACzE,SAAQC,oBAAoB,QAAO,WAAW;AAC9C,SAAQC,eAAe,QAAO,kBAAkB;AAEhD,OAAO,MAAMC,qBAAqB;IAC9B,MAAM,EAACC,OAAO,EAAEC,KAAK,EAAC,GAAGH;IACzB,OAAOE,QAAQE,MAAM,GAAG,kBACpB,KAACR,KAAKS,GAAG;QAACC,OAAOP,qBAAqBQ,aAAa;QAAEC,MAAK;kBACtD,cAAA,KAACX;YACGY,MAAMP,QAAQQ,GAAG,CAAC,CAAC,EAACC,WAAW,EAAEC,IAAI,EAAC,GAAM,CAAA;oBACxCC,OAAOF;oBACPG,qBACI,MAACnB;;4BACIiB,qBACG;;kDACI,KAACA;wCAAKG,QAAQ;;kDACd,KAACjB;wCAAMkB,GAAE;;;iCAEb;0CACJ,KAACtB;0CAAKiB;;;;gBAGlB,CAAA;YACAE,OAAOV,MAAMc,KAAK,CAACC,MAAM,KAAK,OAAOhB,OAAO,CAAC,EAAE,CAACS,WAAW,GAAGR,MAAMc,KAAK,CAACC,MAAM;YAChFC,UAAUhB,MAAMiB,SAAS;;SAGjC;AACR,EAAE"}
@@ -1,28 +1,7 @@
1
- import { Table } from '@tanstack/table-core';
2
- import { ReactNode } from 'react';
3
- export interface TableLayoutProps<T = unknown> {
4
- table: Table<T>;
5
- loading?: boolean;
6
- /**
7
- * Action passed when user double-clicks on a row
8
- */
9
- doubleClickAction?: (datum: T) => void;
10
- /**
11
- * Function that generates the expandable content of a row
12
- * Return null for rows that don't need to be expandable
13
- *
14
- * @param datum the row for which the children should be generated.
15
- */
16
- getExpandChildren?: (datum: T) => ReactNode;
17
- /**
18
- * Whether clicking on a selected row will deselect the row or not.
19
- */
20
- keepSelection?: boolean;
21
- }
22
1
  export declare const TableLayouts: {
23
2
  Rows: import("@mantine/core").MantineComponent<{
24
3
  props: import("./row-layout/RowLayout").RowLayoutProps;
25
- stylesNames: "icon" | "headerRow" | import("./row-layout/RowLayoutBody").RowLayoutBodyStylesNames;
4
+ stylesNames: "headerRow" | import("./row-layout/RowLayoutBody").RowLayoutBodyStylesNames;
26
5
  staticComponents: import("..").TableLayout;
27
6
  }>;
28
7
  };
@@ -1 +1 @@
1
- {"version":3,"file":"TableLayouts.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/layouts/TableLayouts.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,sBAAsB,CAAC;AAC3C,OAAO,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAGhC,MAAM,WAAW,gBAAgB,CAAC,CAAC,GAAG,OAAO;IACzC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IACvC;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,CAAC;IAC5C;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,eAAO,MAAM,YAAY;;;;;;CAExB,CAAC"}
1
+ {"version":3,"file":"TableLayouts.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/layouts/TableLayouts.tsx"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY;;;;;;CAExB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/table/layouts/TableLayouts.tsx"],"sourcesContent":["import {Table} from '@tanstack/table-core';\nimport {ReactNode} from 'react';\nimport {RowLayout} from './row-layout/RowLayout';\n\nexport interface TableLayoutProps<T = unknown> {\n table: Table<T>;\n loading?: boolean;\n /**\n * Action passed when user double-clicks on a row\n */\n doubleClickAction?: (datum: T) => void;\n /**\n * Function that generates the expandable content of a row\n * Return null for rows that don't need to be expandable\n *\n * @param datum the row for which the children should be generated.\n */\n getExpandChildren?: (datum: T) => ReactNode;\n /**\n * Whether clicking on a selected row will deselect the row or not.\n */\n keepSelection?: boolean;\n}\n\nexport const TableLayouts = {\n Rows: RowLayout,\n};\n"],"names":["RowLayout","TableLayouts","Rows"],"rangeMappings":";;;","mappings":"AAEA,SAAQA,SAAS,QAAO,yBAAyB;AAsBjD,OAAO,MAAMC,eAAe;IACxBC,MAAMF;AACV,EAAE"}
1
+ {"version":3,"sources":["../../../../../src/components/table/layouts/TableLayouts.tsx"],"sourcesContent":["import {RowLayout} from './row-layout/RowLayout';\n\nexport const TableLayouts = {\n Rows: RowLayout,\n};\n"],"names":["RowLayout","TableLayouts","Rows"],"rangeMappings":";;;","mappings":"AAAA,SAAQA,SAAS,QAAO,yBAAyB;AAEjD,OAAO,MAAMC,eAAe;IACxBC,MAAMF;AACV,EAAE"}
@@ -3,8 +3,7 @@ import { ReactNode } from 'react';
3
3
  import { TableLayout } from '../../Table.types';
4
4
  import { RowLayoutBodyStylesNames } from './RowLayoutBody';
5
5
  import { RowLayoutHeaderStyleNames } from './RowLayoutHeader';
6
- import { RowLayoutIconStylesNames } from './RowLayoutIcon';
7
- type RowLayoutStylesNames = RowLayoutHeaderStyleNames | RowLayoutIconStylesNames | RowLayoutBodyStylesNames;
6
+ type RowLayoutStylesNames = RowLayoutHeaderStyleNames | RowLayoutBodyStylesNames;
8
7
  export interface RowLayoutProps extends StylesApiProps<RowLayoutFactory> {
9
8
  children: ReactNode;
10
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RowLayout.d.ts","sourceRoot":"","sources":["../../../../../../src/components/table/layouts/row-layout/RowLayout.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAU,OAAO,EAAE,cAAc,EAAsB,MAAM,eAAe,CAAC;AACpF,OAAO,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAgB,wBAAwB,EAAC,MAAM,iBAAiB,CAAC;AAExE,OAAO,EAAkB,yBAAyB,EAAC,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAgB,wBAAwB,EAAC,MAAM,iBAAiB,CAAC;AAExE,KAAK,oBAAoB,GAAG,yBAAyB,GAAG,wBAAwB,GAAG,wBAAwB,CAAC;AAC5G,MAAM,WAAW,cAAe,SAAQ,cAAc,CAAC,gBAAgB,CAAC;IACpE,QAAQ,EAAE,SAAS,CAAC;CACvB;AAED,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC;IACnC,KAAK,EAAE,cAAc,CAAC;IACtB,WAAW,EAAE,oBAAoB,CAAC;IAClC,gBAAgB,EAAE,WAAW,CAAC;CACjC,CAAC,CAAC;AAGH,eAAO,MAAM,SAAS;WANX,cAAc;iBACR,oBAAoB;sBACf,WAAW;EAgB/B,CAAC"}
1
+ {"version":3,"file":"RowLayout.d.ts","sourceRoot":"","sources":["../../../../../../src/components/table/layouts/row-layout/RowLayout.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAU,OAAO,EAAE,cAAc,EAAsB,MAAM,eAAe,CAAC;AACpF,OAAO,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAgB,wBAAwB,EAAC,MAAM,iBAAiB,CAAC;AAExE,OAAO,EAAkB,yBAAyB,EAAC,MAAM,mBAAmB,CAAC;AAG7E,KAAK,oBAAoB,GAAG,yBAAyB,GAAG,wBAAwB,CAAC;AACjF,MAAM,WAAW,cAAe,SAAQ,cAAc,CAAC,gBAAgB,CAAC;IACpE,QAAQ,EAAE,SAAS,CAAC;CACvB;AAED,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC;IACnC,KAAK,EAAE,cAAc,CAAC;IACtB,WAAW,EAAE,oBAAoB,CAAC;IAClC,gBAAgB,EAAE,WAAW,CAAC;CACjC,CAAC,CAAC;AAGH,eAAO,MAAM,SAAS;WANX,cAAc;iBACR,oBAAoB;sBACf,WAAW;EAgB/B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/components/table/layouts/row-layout/RowLayout.tsx"],"sourcesContent":["import {factory, Factory, StylesApiProps, useProps, useStyles} from '@mantine/core';\nimport {ReactNode} from 'react';\nimport classes from './RowLayout.module.css';\nimport {TableLayout} from '../../Table.types';\nimport {RowLayoutBody, RowLayoutBodyStylesNames} from './RowLayoutBody';\nimport {RowLayoutProvider} from './RowLayoutContext';\nimport {RowLayoutHeader, RowLayoutHeaderStyleNames} from './RowLayoutHeader';\nimport {RowLayoutIcon, RowLayoutIconStylesNames} from './RowLayoutIcon';\n\ntype RowLayoutStylesNames = RowLayoutHeaderStyleNames | RowLayoutIconStylesNames | RowLayoutBodyStylesNames;\nexport interface RowLayoutProps extends StylesApiProps<RowLayoutFactory> {\n children: ReactNode;\n}\n\nexport type RowLayoutFactory = Factory<{\n props: RowLayoutProps;\n stylesNames: RowLayoutStylesNames;\n staticComponents: TableLayout;\n}>;\nconst defaultProps: Partial<RowLayoutProps> = {};\n\nexport const RowLayout = factory<RowLayoutFactory>((props, ref) => {\n const {children, styles, classNames, unstyled} = useProps('PlasmaRowLayout', defaultProps, props);\n const getStyles = useStyles<RowLayoutFactory>({\n name: 'PlasmaRowLayout',\n classes,\n props,\n styles,\n classNames,\n unstyled,\n });\n\n return <RowLayoutProvider value={{getStyles}}>{children}</RowLayoutProvider>;\n});\n\nRowLayout.Body = RowLayoutBody;\nRowLayout.Header = RowLayoutHeader;\nRowLayout.Icon = RowLayoutIcon;\nRowLayout.displayName = 'Rows';\n"],"names":["factory","useProps","useStyles","classes","RowLayoutBody","RowLayoutProvider","RowLayoutHeader","RowLayoutIcon","defaultProps","RowLayout","props","ref","children","styles","classNames","unstyled","getStyles","name","value","Body","Header","Icon","displayName"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAAA,SAAQA,OAAO,EAA2BC,QAAQ,EAAEC,SAAS,QAAO,gBAAgB;AAEpF,OAAOC,aAAa,yBAAyB;AAE7C,SAAQC,aAAa,QAAiC,kBAAkB;AACxE,SAAQC,iBAAiB,QAAO,qBAAqB;AACrD,SAAQC,eAAe,QAAkC,oBAAoB;AAC7E,SAAQC,aAAa,QAAiC,kBAAkB;AAYxE,MAAMC,eAAwC,CAAC;AAE/C,OAAO,MAAMC,YAAYT,QAA0B,CAACU,OAAOC;IACvD,MAAM,EAACC,QAAQ,EAAEC,MAAM,EAAEC,UAAU,EAAEC,QAAQ,EAAC,GAAGd,SAAS,mBAAmBO,cAAcE;IAC3F,MAAMM,YAAYd,UAA4B;QAC1Ce,MAAM;QACNd;QACAO;QACAG;QACAC;QACAC;IACJ;IAEA,qBAAO,KAACV;QAAkBa,OAAO;YAACF;QAAS;kBAAIJ;;AACnD,GAAG;AAEHH,UAAUU,IAAI,GAAGf;AACjBK,UAAUW,MAAM,GAAGd;AACnBG,UAAUY,IAAI,GAAGd;AACjBE,UAAUa,WAAW,GAAG"}
1
+ {"version":3,"sources":["../../../../../../src/components/table/layouts/row-layout/RowLayout.tsx"],"sourcesContent":["import {factory, Factory, StylesApiProps, useProps, useStyles} from '@mantine/core';\nimport {ReactNode} from 'react';\nimport classes from './RowLayout.module.css';\nimport {TableLayout} from '../../Table.types';\nimport {RowLayoutBody, RowLayoutBodyStylesNames} from './RowLayoutBody';\nimport {RowLayoutProvider} from './RowLayoutContext';\nimport {RowLayoutHeader, RowLayoutHeaderStyleNames} from './RowLayoutHeader';\nimport {RowLayoutIcon} from './RowLayoutIcon';\n\ntype RowLayoutStylesNames = RowLayoutHeaderStyleNames | RowLayoutBodyStylesNames;\nexport interface RowLayoutProps extends StylesApiProps<RowLayoutFactory> {\n children: ReactNode;\n}\n\nexport type RowLayoutFactory = Factory<{\n props: RowLayoutProps;\n stylesNames: RowLayoutStylesNames;\n staticComponents: TableLayout;\n}>;\nconst defaultProps: Partial<RowLayoutProps> = {};\n\nexport const RowLayout = factory<RowLayoutFactory>((props, ref) => {\n const {children, styles, classNames, unstyled} = useProps('PlasmaRowLayout', defaultProps, props);\n const getStyles = useStyles<RowLayoutFactory>({\n name: 'PlasmaRowLayout',\n classes,\n props,\n styles,\n classNames,\n unstyled,\n });\n\n return <RowLayoutProvider value={{getStyles}}>{children}</RowLayoutProvider>;\n});\n\nRowLayout.Body = RowLayoutBody;\nRowLayout.Header = RowLayoutHeader;\nRowLayout.Icon = RowLayoutIcon;\nRowLayout.displayName = 'Rows';\n"],"names":["factory","useProps","useStyles","classes","RowLayoutBody","RowLayoutProvider","RowLayoutHeader","RowLayoutIcon","defaultProps","RowLayout","props","ref","children","styles","classNames","unstyled","getStyles","name","value","Body","Header","Icon","displayName"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAAA,SAAQA,OAAO,EAA2BC,QAAQ,EAAEC,SAAS,QAAO,gBAAgB;AAEpF,OAAOC,aAAa,yBAAyB;AAE7C,SAAQC,aAAa,QAAiC,kBAAkB;AACxE,SAAQC,iBAAiB,QAAO,qBAAqB;AACrD,SAAQC,eAAe,QAAkC,oBAAoB;AAC7E,SAAQC,aAAa,QAAO,kBAAkB;AAY9C,MAAMC,eAAwC,CAAC;AAE/C,OAAO,MAAMC,YAAYT,QAA0B,CAACU,OAAOC;IACvD,MAAM,EAACC,QAAQ,EAAEC,MAAM,EAAEC,UAAU,EAAEC,QAAQ,EAAC,GAAGd,SAAS,mBAAmBO,cAAcE;IAC3F,MAAMM,YAAYd,UAA4B;QAC1Ce,MAAM;QACNd;QACAO;QACAG;QACAC;QACAC;IACJ;IAEA,qBAAO,KAACV;QAAkBa,OAAO;YAACF;QAAS;kBAAIJ;;AACnD,GAAG;AAEHH,UAAUU,IAAI,GAAGf;AACjBK,UAAUW,MAAM,GAAGd;AACnBG,UAAUY,IAAI,GAAGd;AACjBE,UAAUa,WAAW,GAAG"}
@@ -1,8 +1,7 @@
1
- import { BoxProps, Factory } from '@mantine/core';
2
- import { CompoundStylesApiProps } from '@mantine/core/lib/core/styles-api/styles-api.types';
1
+ import { BoxProps, CompoundStylesApiProps, Factory } from '@mantine/core';
3
2
  import { ForwardedRef } from 'react';
4
3
  import { CustomComponentThemeExtend } from '../../../../utils';
5
- import { TableLayoutProps } from '../TableLayouts';
4
+ import { TableLayoutProps } from '../../Table.types';
6
5
  export type RowLayoutBodyStylesNames = 'row' | 'cell' | 'collapsibleRow' | 'collapsibleWrapper';
7
6
  export interface RowLayoutBodyProps<T> extends BoxProps, TableLayoutProps<T>, CompoundStylesApiProps<RowLayoutBodyFactory> {
8
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RowLayoutBody.d.ts","sourceRoot":"","sources":["../../../../../../src/components/table/layouts/row-layout/RowLayoutBody.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAM,QAAQ,EAAY,OAAO,EAAW,MAAM,eAAe,CAAC;AACzE,OAAO,EAAC,sBAAsB,EAAC,MAAM,oDAAoD,CAAC;AAG1F,OAAO,EAAC,YAAY,EAA4B,MAAM,OAAO,CAAC;AAC9D,OAAO,EAAC,0BAA0B,EAAW,MAAM,mBAAmB,CAAC;AAKvE,OAAO,EAAC,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AAGjD,MAAM,MAAM,wBAAwB,GAAG,KAAK,GAAG,MAAM,GAAG,gBAAgB,GAAG,oBAAoB,CAAC;AAEhG,MAAM,WAAW,kBAAkB,CAAC,CAAC,CACjC,SAAQ,QAAQ,EACZ,gBAAgB,CAAC,CAAC,CAAC,EACnB,sBAAsB,CAAC,oBAAoB,CAAC;CAAG;AAEvD,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC;IACvC,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACnC,GAAG,EAAE,mBAAmB,CAAC;IACzB,WAAW,EAAE,wBAAwB,CAAC;IACtC,QAAQ,EAAE,IAAI,CAAC;CAClB,CAAC,CAAC;AAIH,eAAO,MAAM,aAAa;;cAA8C,aAAa,mBAAmB,CAAC;;;eAR9F,mBAAmB,OAAO,CAAC;aAC7B,mBAAmB;qBACX,wBAAwB;kBAC3B,IAAI;;CA4GjB,CAAC"}
1
+ {"version":3,"file":"RowLayoutBody.d.ts","sourceRoot":"","sources":["../../../../../../src/components/table/layouts/row-layout/RowLayoutBody.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAM,QAAQ,EAAY,sBAAsB,EAAE,OAAO,EAAW,MAAM,eAAe,CAAC;AAGjG,OAAO,EAAC,YAAY,EAA4B,MAAM,OAAO,CAAC;AAC9D,OAAO,EAAC,0BAA0B,EAAW,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAC,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AAOnD,MAAM,MAAM,wBAAwB,GAAG,KAAK,GAAG,MAAM,GAAG,gBAAgB,GAAG,oBAAoB,CAAC;AAEhG,MAAM,WAAW,kBAAkB,CAAC,CAAC,CACjC,SAAQ,QAAQ,EACZ,gBAAgB,CAAC,CAAC,CAAC,EACnB,sBAAsB,CAAC,oBAAoB,CAAC;CAAG;AAEvD,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC;IACvC,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACnC,GAAG,EAAE,mBAAmB,CAAC;IACzB,WAAW,EAAE,wBAAwB,CAAC;IACtC,QAAQ,EAAE,IAAI,CAAC;CAClB,CAAC,CAAC;AAIH,eAAO,MAAM,aAAa;;cAA8C,aAAa,mBAAmB,CAAC;;;eAR9F,mBAAmB,OAAO,CAAC;aAC7B,mBAAmB;qBACX,wBAAwB;kBAC3B,IAAI;;CA6GjB,CAAC"}