@coveord/plasma-mantine 52.16.2 → 52.17.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (497) hide show
  1. package/.turbo/turbo-build.log +3 -3
  2. package/.turbo/turbo-test.log +30 -30
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/cjs/components/action-icon/ActionIcon.d.ts +16 -0
  5. package/dist/cjs/components/action-icon/ActionIcon.d.ts.map +1 -0
  6. package/dist/cjs/components/action-icon/ActionIcon.js +109 -0
  7. package/dist/cjs/components/action-icon/ActionIcon.js.map +1 -0
  8. package/dist/cjs/components/action-icon/index.d.ts +2 -0
  9. package/dist/cjs/components/action-icon/index.d.ts.map +1 -0
  10. package/dist/cjs/components/action-icon/index.js +8 -0
  11. package/dist/cjs/components/action-icon/index.js.map +1 -0
  12. package/dist/cjs/components/collection/Collection.d.ts +1 -1
  13. package/dist/cjs/components/collection/Collection.d.ts.map +1 -1
  14. package/dist/cjs/components/date-range-picker/DateRangePickerInlineCalendar.d.ts +1 -2
  15. package/dist/cjs/components/date-range-picker/DateRangePickerInlineCalendar.d.ts.map +1 -1
  16. package/dist/cjs/components/date-range-picker/DateRangePickerPopoverCalendar.d.ts +1 -2
  17. package/dist/cjs/components/date-range-picker/DateRangePickerPopoverCalendar.d.ts.map +1 -1
  18. package/dist/cjs/components/date-range-picker/DateRangePickerPresetSelect.d.ts +1 -2
  19. package/dist/cjs/components/date-range-picker/DateRangePickerPresetSelect.d.ts.map +1 -1
  20. package/dist/cjs/components/date-range-picker/EditableDateRangePicker.d.ts +1 -1
  21. package/dist/cjs/components/date-range-picker/EditableDateRangePicker.d.ts.map +1 -1
  22. package/dist/cjs/components/index.d.ts +1 -0
  23. package/dist/cjs/components/index.d.ts.map +1 -1
  24. package/dist/cjs/components/index.js +1 -0
  25. package/dist/cjs/components/index.js.map +1 -1
  26. package/dist/cjs/components/sticky-footer/StickyFooter.d.ts +30 -4
  27. package/dist/cjs/components/sticky-footer/StickyFooter.d.ts.map +1 -1
  28. package/dist/cjs/components/sticky-footer/StickyFooter.js +35 -14
  29. package/dist/cjs/components/sticky-footer/StickyFooter.js.map +1 -1
  30. package/dist/cjs/components/table/Table.js +15 -15
  31. package/dist/cjs/components/table/Table.js.map +1 -1
  32. package/dist/cjs/components/table/Table.types.d.ts +14 -32
  33. package/dist/cjs/components/table/Table.types.d.ts.map +1 -1
  34. package/dist/cjs/components/table/index.d.ts +3 -2
  35. package/dist/cjs/components/table/index.d.ts.map +1 -1
  36. package/dist/cjs/components/table/index.js +5 -4
  37. package/dist/cjs/components/table/index.js.map +1 -1
  38. package/dist/cjs/components/table/layouts/RowLayout.d.ts.map +1 -1
  39. package/dist/cjs/components/table/layouts/RowLayout.js +25 -67
  40. package/dist/cjs/components/table/layouts/RowLayout.js.map +1 -1
  41. package/dist/cjs/components/table/layouts/RowLayout.styles.d.ts +13 -0
  42. package/dist/cjs/components/table/layouts/RowLayout.styles.d.ts.map +1 -0
  43. package/dist/cjs/components/table/layouts/RowLayout.styles.js +72 -0
  44. package/dist/cjs/components/table/layouts/RowLayout.styles.js.map +1 -0
  45. package/dist/cjs/components/table/layouts/RowLayout.types.d.ts +26 -0
  46. package/dist/cjs/components/table/layouts/RowLayout.types.d.ts.map +1 -0
  47. package/dist/cjs/components/table/layouts/RowLayout.types.js +6 -0
  48. package/dist/cjs/components/table/layouts/RowLayout.types.js.map +1 -0
  49. package/dist/cjs/components/table/layouts/TableLayoutControl.d.ts +2 -0
  50. package/dist/cjs/components/table/layouts/TableLayoutControl.d.ts.map +1 -0
  51. package/dist/cjs/components/table/{TableLayoutControl.js → layouts/TableLayoutControl.js} +2 -2
  52. package/dist/cjs/components/table/layouts/TableLayoutControl.js.map +1 -0
  53. package/dist/cjs/components/table/table-actions/TableActions.d.ts +4 -0
  54. package/dist/cjs/components/table/table-actions/TableActions.d.ts.map +1 -0
  55. package/dist/cjs/components/table/{TableActions.js → table-actions/TableActions.js} +5 -11
  56. package/dist/cjs/components/table/table-actions/TableActions.js.map +1 -0
  57. package/dist/cjs/components/table/table-actions/TableActions.styles.d.ts +10 -0
  58. package/dist/cjs/components/table/table-actions/TableActions.styles.d.ts.map +1 -0
  59. package/dist/cjs/components/table/table-actions/TableActions.styles.js +21 -0
  60. package/dist/cjs/components/table/table-actions/TableActions.styles.js.map +1 -0
  61. package/dist/cjs/components/table/{TableActions.d.ts → table-actions/TableActions.types.d.ts} +4 -12
  62. package/dist/cjs/components/table/table-actions/TableActions.types.d.ts.map +1 -0
  63. package/dist/cjs/components/table/table-actions/TableActions.types.js +6 -0
  64. package/dist/cjs/components/table/table-actions/TableActions.types.js.map +1 -0
  65. package/dist/cjs/components/table/table-column/TableCollapsibleColumn.d.ts.map +1 -0
  66. package/dist/cjs/components/table/table-column/TableCollapsibleColumn.js.map +1 -0
  67. package/dist/cjs/components/table/table-column/TableSelectableColumn.d.ts.map +1 -0
  68. package/dist/cjs/components/table/table-column/TableSelectableColumn.js.map +1 -0
  69. package/dist/cjs/components/table/table-consumer/TableConsumer.d.ts.map +1 -0
  70. package/dist/cjs/components/table/table-consumer/TableConsumer.js.map +1 -0
  71. package/dist/cjs/components/table/table-date-range-picker/TableDateRangePicker.d.ts +4 -0
  72. package/dist/cjs/components/table/table-date-range-picker/TableDateRangePicker.d.ts.map +1 -0
  73. package/dist/cjs/components/table/{TableDateRangePicker.js → table-date-range-picker/TableDateRangePicker.js} +6 -12
  74. package/dist/cjs/components/table/table-date-range-picker/TableDateRangePicker.js.map +1 -0
  75. package/dist/cjs/components/table/table-date-range-picker/TableDateRangePicker.styles.d.ts +11 -0
  76. package/dist/cjs/components/table/table-date-range-picker/TableDateRangePicker.styles.d.ts.map +1 -0
  77. package/dist/cjs/components/table/table-date-range-picker/TableDateRangePicker.styles.js +20 -0
  78. package/dist/cjs/components/table/table-date-range-picker/TableDateRangePicker.styles.js.map +1 -0
  79. package/dist/cjs/components/table/table-date-range-picker/TableDateRangePicker.types.d.ts +20 -0
  80. package/dist/cjs/components/table/table-date-range-picker/TableDateRangePicker.types.d.ts.map +1 -0
  81. package/dist/cjs/components/table/table-date-range-picker/TableDateRangePicker.types.js +6 -0
  82. package/dist/cjs/components/table/table-date-range-picker/TableDateRangePicker.types.js.map +1 -0
  83. package/dist/cjs/components/table/table-filter/TableFilter.d.ts +4 -0
  84. package/dist/cjs/components/table/table-filter/TableFilter.d.ts.map +1 -0
  85. package/dist/cjs/components/table/{TableFilter.js → table-filter/TableFilter.js} +5 -14
  86. package/dist/cjs/components/table/table-filter/TableFilter.js.map +1 -0
  87. package/dist/cjs/components/table/table-filter/TableFilter.styles.d.ts +11 -0
  88. package/dist/cjs/components/table/table-filter/TableFilter.styles.d.ts.map +1 -0
  89. package/dist/cjs/components/table/table-filter/TableFilter.styles.js +24 -0
  90. package/dist/cjs/components/table/table-filter/TableFilter.styles.js.map +1 -0
  91. package/dist/cjs/components/table/table-filter/TableFilter.types.d.ts +13 -0
  92. package/dist/cjs/components/table/table-filter/TableFilter.types.d.ts.map +1 -0
  93. package/dist/cjs/components/table/table-filter/TableFilter.types.js +6 -0
  94. package/dist/cjs/components/table/table-filter/TableFilter.types.js.map +1 -0
  95. package/dist/cjs/components/table/table-footer/TableFooter.d.ts +4 -0
  96. package/dist/cjs/components/table/table-footer/TableFooter.d.ts.map +1 -0
  97. package/dist/cjs/components/table/table-footer/TableFooter.js.map +1 -0
  98. package/dist/cjs/components/table/table-footer/TableFooter.types.d.ts +6 -0
  99. package/dist/cjs/components/table/table-footer/TableFooter.types.d.ts.map +1 -0
  100. package/dist/cjs/components/table/table-footer/TableFooter.types.js +6 -0
  101. package/dist/cjs/components/table/table-footer/TableFooter.types.js.map +1 -0
  102. package/dist/cjs/components/table/table-header/TableHeader.d.ts +4 -0
  103. package/dist/cjs/components/table/table-header/TableHeader.d.ts.map +1 -0
  104. package/dist/cjs/components/table/{TableHeader.js → table-header/TableHeader.js} +7 -18
  105. package/dist/cjs/components/table/table-header/TableHeader.js.map +1 -0
  106. package/dist/cjs/components/table/table-header/TableHeader.styles.d.ts +10 -0
  107. package/dist/cjs/components/table/table-header/TableHeader.styles.d.ts.map +1 -0
  108. package/dist/cjs/components/table/table-header/TableHeader.styles.js +26 -0
  109. package/dist/cjs/components/table/table-header/TableHeader.styles.js.map +1 -0
  110. package/dist/cjs/components/table/table-header/TableHeader.types.d.ts +9 -0
  111. package/dist/cjs/components/table/table-header/TableHeader.types.d.ts.map +1 -0
  112. package/dist/cjs/components/table/table-header/TableHeader.types.js +6 -0
  113. package/dist/cjs/components/table/table-header/TableHeader.types.js.map +1 -0
  114. package/dist/cjs/components/table/table-header/Th.d.ts +3 -0
  115. package/dist/cjs/components/table/table-header/Th.d.ts.map +1 -0
  116. package/dist/cjs/components/table/{Th.js → table-header/Th.js} +3 -28
  117. package/dist/cjs/components/table/table-header/Th.js.map +1 -0
  118. package/dist/cjs/components/table/table-header/Th.styles.d.ts +14 -0
  119. package/dist/cjs/components/table/table-header/Th.styles.d.ts.map +1 -0
  120. package/dist/cjs/components/table/table-header/Th.styles.js +40 -0
  121. package/dist/cjs/components/table/table-header/Th.styles.js.map +1 -0
  122. package/dist/cjs/components/table/table-header/Th.types.d.ts +5 -0
  123. package/dist/cjs/components/table/table-header/Th.types.d.ts.map +1 -0
  124. package/dist/cjs/components/table/table-header/Th.types.js +6 -0
  125. package/dist/cjs/components/table/table-header/Th.types.js.map +1 -0
  126. package/dist/cjs/components/table/table-last-updated/TableLastUpdated.d.ts +6 -0
  127. package/dist/cjs/components/table/table-last-updated/TableLastUpdated.d.ts.map +1 -0
  128. package/dist/cjs/components/table/{TableLastUpdated.js → table-last-updated/TableLastUpdated.js} +3 -12
  129. package/dist/cjs/components/table/table-last-updated/TableLastUpdated.js.map +1 -0
  130. package/dist/cjs/components/table/table-last-updated/TableLastUpdated.styles.d.ts +10 -0
  131. package/dist/cjs/components/table/table-last-updated/TableLastUpdated.styles.d.ts.map +1 -0
  132. package/dist/cjs/components/table/table-last-updated/TableLastUpdated.styles.js +23 -0
  133. package/dist/cjs/components/table/table-last-updated/TableLastUpdated.styles.js.map +1 -0
  134. package/dist/cjs/components/table/table-last-updated/TableLastUpdated.types.d.ts +13 -0
  135. package/dist/cjs/components/table/table-last-updated/TableLastUpdated.types.d.ts.map +1 -0
  136. package/dist/cjs/components/table/table-last-updated/TableLastUpdated.types.js +6 -0
  137. package/dist/cjs/components/table/table-last-updated/TableLastUpdated.types.js.map +1 -0
  138. package/dist/cjs/components/table/table-loading/TableLoading.d.ts.map +1 -0
  139. package/dist/cjs/components/table/table-loading/TableLoading.js.map +1 -0
  140. package/dist/cjs/components/table/table-pagination/TablePagination.d.ts +4 -0
  141. package/dist/cjs/components/table/table-pagination/TablePagination.d.ts.map +1 -0
  142. package/dist/cjs/components/table/{TablePagination.js → table-pagination/TablePagination.js} +1 -1
  143. package/dist/cjs/components/table/table-pagination/TablePagination.js.map +1 -0
  144. package/dist/{esm/components/table/TablePagination.d.ts → cjs/components/table/table-pagination/TablePagination.types.d.ts} +2 -5
  145. package/dist/cjs/components/table/table-pagination/TablePagination.types.d.ts.map +1 -0
  146. package/dist/cjs/components/table/table-pagination/TablePagination.types.js +6 -0
  147. package/dist/cjs/components/table/table-pagination/TablePagination.types.js.map +1 -0
  148. package/dist/cjs/components/table/table-per-page/TablePerPage.d.ts +6 -0
  149. package/dist/cjs/components/table/table-per-page/TablePerPage.d.ts.map +1 -0
  150. package/dist/cjs/components/table/{TablePerPage.js → table-per-page/TablePerPage.js} +1 -1
  151. package/dist/cjs/components/table/table-per-page/TablePerPage.js.map +1 -0
  152. package/dist/cjs/components/table/{TablePerPage.d.ts → table-per-page/TablePerPage.types.d.ts} +2 -7
  153. package/dist/cjs/components/table/table-per-page/TablePerPage.types.d.ts.map +1 -0
  154. package/dist/cjs/components/table/table-per-page/TablePerPage.types.js +6 -0
  155. package/dist/cjs/components/table/table-per-page/TablePerPage.types.js.map +1 -0
  156. package/dist/cjs/components/table/table-predicate/TablePredicate.d.ts +4 -0
  157. package/dist/cjs/components/table/table-predicate/TablePredicate.d.ts.map +1 -0
  158. package/dist/cjs/components/table/{TablePredicate.js → table-predicate/TablePredicate.js} +5 -11
  159. package/dist/cjs/components/table/table-predicate/TablePredicate.js.map +1 -0
  160. package/dist/cjs/components/table/table-predicate/TablePredicate.styles.d.ts +12 -0
  161. package/dist/cjs/components/table/table-predicate/TablePredicate.styles.d.ts.map +1 -0
  162. package/dist/cjs/components/table/table-predicate/TablePredicate.styles.js +21 -0
  163. package/dist/cjs/components/table/table-predicate/TablePredicate.styles.js.map +1 -0
  164. package/dist/cjs/components/table/table-predicate/TablePredicate.types.d.ts +21 -0
  165. package/dist/cjs/components/table/table-predicate/TablePredicate.types.d.ts.map +1 -0
  166. package/dist/cjs/components/table/table-predicate/TablePredicate.types.js +6 -0
  167. package/dist/cjs/components/table/table-predicate/TablePredicate.types.js.map +1 -0
  168. package/dist/cjs/{components/table → hooks}/useRowSelection.d.ts +1 -1
  169. package/dist/cjs/hooks/useRowSelection.d.ts.map +1 -0
  170. package/dist/cjs/{components/table → hooks}/useRowSelection.js.map +1 -1
  171. package/dist/cjs/index.d.ts +1 -1
  172. package/dist/cjs/index.d.ts.map +1 -1
  173. package/dist/cjs/index.js +3 -0
  174. package/dist/cjs/index.js.map +1 -1
  175. package/dist/cjs/theme/Theme.d.ts.map +1 -1
  176. package/dist/cjs/theme/Theme.js.map +1 -1
  177. package/dist/esm/components/action-icon/ActionIcon.d.ts +16 -0
  178. package/dist/esm/components/action-icon/ActionIcon.d.ts.map +1 -0
  179. package/dist/esm/components/action-icon/ActionIcon.js +99 -0
  180. package/dist/esm/components/action-icon/ActionIcon.js.map +1 -0
  181. package/dist/esm/components/action-icon/index.d.ts +2 -0
  182. package/dist/esm/components/action-icon/index.d.ts.map +1 -0
  183. package/dist/esm/components/action-icon/index.js +3 -0
  184. package/dist/esm/components/action-icon/index.js.map +1 -0
  185. package/dist/esm/components/collection/Collection.d.ts +1 -1
  186. package/dist/esm/components/collection/Collection.d.ts.map +1 -1
  187. package/dist/esm/components/date-range-picker/DateRangePickerInlineCalendar.d.ts +1 -2
  188. package/dist/esm/components/date-range-picker/DateRangePickerInlineCalendar.d.ts.map +1 -1
  189. package/dist/esm/components/date-range-picker/DateRangePickerPopoverCalendar.d.ts +1 -2
  190. package/dist/esm/components/date-range-picker/DateRangePickerPopoverCalendar.d.ts.map +1 -1
  191. package/dist/esm/components/date-range-picker/DateRangePickerPresetSelect.d.ts +1 -2
  192. package/dist/esm/components/date-range-picker/DateRangePickerPresetSelect.d.ts.map +1 -1
  193. package/dist/esm/components/date-range-picker/EditableDateRangePicker.d.ts +1 -1
  194. package/dist/esm/components/date-range-picker/EditableDateRangePicker.d.ts.map +1 -1
  195. package/dist/esm/components/index.d.ts +1 -0
  196. package/dist/esm/components/index.d.ts.map +1 -1
  197. package/dist/esm/components/index.js +1 -0
  198. package/dist/esm/components/index.js.map +1 -1
  199. package/dist/esm/components/sticky-footer/StickyFooter.d.ts +30 -4
  200. package/dist/esm/components/sticky-footer/StickyFooter.d.ts.map +1 -1
  201. package/dist/esm/components/sticky-footer/StickyFooter.js +36 -15
  202. package/dist/esm/components/sticky-footer/StickyFooter.js.map +1 -1
  203. package/dist/esm/components/table/Table.js +15 -15
  204. package/dist/esm/components/table/Table.js.map +1 -1
  205. package/dist/esm/components/table/Table.types.d.ts +14 -32
  206. package/dist/esm/components/table/Table.types.d.ts.map +1 -1
  207. package/dist/esm/components/table/Table.types.js.map +1 -1
  208. package/dist/esm/components/table/index.d.ts +3 -2
  209. package/dist/esm/components/table/index.d.ts.map +1 -1
  210. package/dist/esm/components/table/index.js +2 -1
  211. package/dist/esm/components/table/index.js.map +1 -1
  212. package/dist/esm/components/table/layouts/RowLayout.d.ts.map +1 -1
  213. package/dist/esm/components/table/layouts/RowLayout.js +23 -66
  214. package/dist/esm/components/table/layouts/RowLayout.js.map +1 -1
  215. package/dist/esm/components/table/layouts/RowLayout.styles.d.ts +13 -0
  216. package/dist/esm/components/table/layouts/RowLayout.styles.d.ts.map +1 -0
  217. package/dist/esm/components/table/layouts/RowLayout.styles.js +62 -0
  218. package/dist/esm/components/table/layouts/RowLayout.styles.js.map +1 -0
  219. package/dist/esm/components/table/layouts/RowLayout.types.d.ts +26 -0
  220. package/dist/esm/components/table/layouts/RowLayout.types.d.ts.map +1 -0
  221. package/dist/esm/components/table/layouts/RowLayout.types.js +3 -0
  222. package/dist/esm/components/table/layouts/RowLayout.types.js.map +1 -0
  223. package/dist/esm/components/table/layouts/TableLayoutControl.d.ts +2 -0
  224. package/dist/esm/components/table/layouts/TableLayoutControl.d.ts.map +1 -0
  225. package/dist/esm/components/table/{TableLayoutControl.js → layouts/TableLayoutControl.js} +2 -2
  226. package/dist/esm/components/table/layouts/TableLayoutControl.js.map +1 -0
  227. package/dist/esm/components/table/table-actions/TableActions.d.ts +4 -0
  228. package/dist/esm/components/table/table-actions/TableActions.d.ts.map +1 -0
  229. package/dist/esm/components/table/{TableActions.js → table-actions/TableActions.js} +4 -11
  230. package/dist/esm/components/table/table-actions/TableActions.js.map +1 -0
  231. package/dist/esm/components/table/table-actions/TableActions.styles.d.ts +10 -0
  232. package/dist/esm/components/table/table-actions/TableActions.styles.d.ts.map +1 -0
  233. package/dist/esm/components/table/table-actions/TableActions.styles.js +11 -0
  234. package/dist/esm/components/table/table-actions/TableActions.styles.js.map +1 -0
  235. package/dist/esm/components/table/{TableActions.d.ts → table-actions/TableActions.types.d.ts} +4 -12
  236. package/dist/esm/components/table/table-actions/TableActions.types.d.ts.map +1 -0
  237. package/dist/esm/components/table/table-actions/TableActions.types.js +3 -0
  238. package/dist/esm/components/table/table-actions/TableActions.types.js.map +1 -0
  239. package/dist/esm/components/table/table-column/TableCollapsibleColumn.d.ts.map +1 -0
  240. package/dist/esm/components/table/table-column/TableCollapsibleColumn.js.map +1 -0
  241. package/dist/esm/components/table/table-column/TableSelectableColumn.d.ts.map +1 -0
  242. package/dist/esm/components/table/table-column/TableSelectableColumn.js.map +1 -0
  243. package/dist/esm/components/table/table-consumer/TableConsumer.d.ts.map +1 -0
  244. package/dist/esm/components/table/table-consumer/TableConsumer.js.map +1 -0
  245. package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.d.ts +4 -0
  246. package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.d.ts.map +1 -0
  247. package/dist/esm/components/table/{TableDateRangePicker.js → table-date-range-picker/TableDateRangePicker.js} +6 -12
  248. package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.js.map +1 -0
  249. package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.styles.d.ts +11 -0
  250. package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.styles.d.ts.map +1 -0
  251. package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.styles.js +10 -0
  252. package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.styles.js.map +1 -0
  253. package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.types.d.ts +20 -0
  254. package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.types.d.ts.map +1 -0
  255. package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.types.js +3 -0
  256. package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.types.js.map +1 -0
  257. package/dist/esm/components/table/table-filter/TableFilter.d.ts +4 -0
  258. package/dist/esm/components/table/table-filter/TableFilter.d.ts.map +1 -0
  259. package/dist/esm/components/table/{TableFilter.js → table-filter/TableFilter.js} +4 -14
  260. package/dist/esm/components/table/table-filter/TableFilter.js.map +1 -0
  261. package/dist/esm/components/table/table-filter/TableFilter.styles.d.ts +11 -0
  262. package/dist/esm/components/table/table-filter/TableFilter.styles.d.ts.map +1 -0
  263. package/dist/esm/components/table/table-filter/TableFilter.styles.js +14 -0
  264. package/dist/esm/components/table/table-filter/TableFilter.styles.js.map +1 -0
  265. package/dist/esm/components/table/table-filter/TableFilter.types.d.ts +13 -0
  266. package/dist/esm/components/table/table-filter/TableFilter.types.d.ts.map +1 -0
  267. package/dist/esm/components/table/table-filter/TableFilter.types.js +3 -0
  268. package/dist/esm/components/table/table-filter/TableFilter.types.js.map +1 -0
  269. package/dist/esm/components/table/table-footer/TableFooter.d.ts +4 -0
  270. package/dist/esm/components/table/table-footer/TableFooter.d.ts.map +1 -0
  271. package/dist/esm/components/table/table-footer/TableFooter.js.map +1 -0
  272. package/dist/esm/components/table/table-footer/TableFooter.types.d.ts +6 -0
  273. package/dist/esm/components/table/table-footer/TableFooter.types.d.ts.map +1 -0
  274. package/dist/esm/components/table/table-footer/TableFooter.types.js +3 -0
  275. package/dist/esm/components/table/table-footer/TableFooter.types.js.map +1 -0
  276. package/dist/esm/components/table/table-header/TableHeader.d.ts +4 -0
  277. package/dist/esm/components/table/table-header/TableHeader.d.ts.map +1 -0
  278. package/dist/esm/components/table/{TableHeader.js → table-header/TableHeader.js} +6 -18
  279. package/dist/esm/components/table/table-header/TableHeader.js.map +1 -0
  280. package/dist/esm/components/table/table-header/TableHeader.styles.d.ts +10 -0
  281. package/dist/esm/components/table/table-header/TableHeader.styles.d.ts.map +1 -0
  282. package/dist/esm/components/table/table-header/TableHeader.styles.js +16 -0
  283. package/dist/esm/components/table/table-header/TableHeader.styles.js.map +1 -0
  284. package/dist/esm/components/table/table-header/TableHeader.types.d.ts +9 -0
  285. package/dist/esm/components/table/table-header/TableHeader.types.d.ts.map +1 -0
  286. package/dist/esm/components/table/table-header/TableHeader.types.js +3 -0
  287. package/dist/esm/components/table/table-header/TableHeader.types.js.map +1 -0
  288. package/dist/esm/components/table/table-header/Th.d.ts +3 -0
  289. package/dist/esm/components/table/table-header/Th.d.ts.map +1 -0
  290. package/dist/esm/components/table/{Th.js → table-header/Th.js} +2 -28
  291. package/dist/esm/components/table/table-header/Th.js.map +1 -0
  292. package/dist/esm/components/table/table-header/Th.styles.d.ts +14 -0
  293. package/dist/esm/components/table/table-header/Th.styles.d.ts.map +1 -0
  294. package/dist/esm/components/table/table-header/Th.styles.js +30 -0
  295. package/dist/esm/components/table/table-header/Th.styles.js.map +1 -0
  296. package/dist/esm/components/table/table-header/Th.types.d.ts +5 -0
  297. package/dist/esm/components/table/table-header/Th.types.d.ts.map +1 -0
  298. package/dist/esm/components/table/table-header/Th.types.js +3 -0
  299. package/dist/esm/components/table/table-header/Th.types.js.map +1 -0
  300. package/dist/esm/components/table/table-last-updated/TableLastUpdated.d.ts +6 -0
  301. package/dist/esm/components/table/table-last-updated/TableLastUpdated.d.ts.map +1 -0
  302. package/dist/esm/components/table/{TableLastUpdated.js → table-last-updated/TableLastUpdated.js} +3 -12
  303. package/dist/esm/components/table/table-last-updated/TableLastUpdated.js.map +1 -0
  304. package/dist/esm/components/table/table-last-updated/TableLastUpdated.styles.d.ts +10 -0
  305. package/dist/esm/components/table/table-last-updated/TableLastUpdated.styles.d.ts.map +1 -0
  306. package/dist/esm/components/table/table-last-updated/TableLastUpdated.styles.js +13 -0
  307. package/dist/esm/components/table/table-last-updated/TableLastUpdated.styles.js.map +1 -0
  308. package/dist/esm/components/table/table-last-updated/TableLastUpdated.types.d.ts +13 -0
  309. package/dist/esm/components/table/table-last-updated/TableLastUpdated.types.d.ts.map +1 -0
  310. package/dist/esm/components/table/table-last-updated/TableLastUpdated.types.js +3 -0
  311. package/dist/esm/components/table/table-last-updated/TableLastUpdated.types.js.map +1 -0
  312. package/dist/esm/components/table/table-loading/TableLoading.d.ts.map +1 -0
  313. package/dist/esm/components/table/table-loading/TableLoading.js.map +1 -0
  314. package/dist/esm/components/table/table-pagination/TablePagination.d.ts +4 -0
  315. package/dist/esm/components/table/table-pagination/TablePagination.d.ts.map +1 -0
  316. package/dist/esm/components/table/{TablePagination.js → table-pagination/TablePagination.js} +1 -1
  317. package/dist/esm/components/table/table-pagination/TablePagination.js.map +1 -0
  318. package/dist/{cjs/components/table/TablePagination.d.ts → esm/components/table/table-pagination/TablePagination.types.d.ts} +2 -5
  319. package/dist/esm/components/table/table-pagination/TablePagination.types.d.ts.map +1 -0
  320. package/dist/esm/components/table/table-pagination/TablePagination.types.js +3 -0
  321. package/dist/esm/components/table/table-pagination/TablePagination.types.js.map +1 -0
  322. package/dist/esm/components/table/table-per-page/TablePerPage.d.ts +6 -0
  323. package/dist/esm/components/table/table-per-page/TablePerPage.d.ts.map +1 -0
  324. package/dist/esm/components/table/{TablePerPage.js → table-per-page/TablePerPage.js} +1 -1
  325. package/dist/esm/components/table/table-per-page/TablePerPage.js.map +1 -0
  326. package/dist/esm/components/table/{TablePerPage.d.ts → table-per-page/TablePerPage.types.d.ts} +2 -7
  327. package/dist/esm/components/table/table-per-page/TablePerPage.types.d.ts.map +1 -0
  328. package/dist/esm/components/table/table-per-page/TablePerPage.types.js +3 -0
  329. package/dist/esm/components/table/table-per-page/TablePerPage.types.js.map +1 -0
  330. package/dist/esm/components/table/table-predicate/TablePredicate.d.ts +4 -0
  331. package/dist/esm/components/table/table-predicate/TablePredicate.d.ts.map +1 -0
  332. package/dist/esm/components/table/{TablePredicate.js → table-predicate/TablePredicate.js} +4 -11
  333. package/dist/esm/components/table/table-predicate/TablePredicate.js.map +1 -0
  334. package/dist/esm/components/table/table-predicate/TablePredicate.styles.d.ts +12 -0
  335. package/dist/esm/components/table/table-predicate/TablePredicate.styles.d.ts.map +1 -0
  336. package/dist/esm/components/table/table-predicate/TablePredicate.styles.js +11 -0
  337. package/dist/esm/components/table/table-predicate/TablePredicate.styles.js.map +1 -0
  338. package/dist/esm/components/table/table-predicate/TablePredicate.types.d.ts +21 -0
  339. package/dist/esm/components/table/table-predicate/TablePredicate.types.d.ts.map +1 -0
  340. package/dist/esm/components/table/table-predicate/TablePredicate.types.js +3 -0
  341. package/dist/esm/components/table/table-predicate/TablePredicate.types.js.map +1 -0
  342. package/dist/esm/{components/table → hooks}/useRowSelection.d.ts +1 -1
  343. package/dist/esm/hooks/useRowSelection.d.ts.map +1 -0
  344. package/dist/esm/hooks/useRowSelection.js.map +1 -0
  345. package/dist/esm/index.d.ts +1 -1
  346. package/dist/esm/index.d.ts.map +1 -1
  347. package/dist/esm/index.js +1 -1
  348. package/dist/esm/index.js.map +1 -1
  349. package/dist/esm/theme/Theme.d.ts.map +1 -1
  350. package/dist/esm/theme/Theme.js +1 -1
  351. package/dist/esm/theme/Theme.js.map +1 -1
  352. package/package.json +3 -3
  353. package/src/components/action-icon/ActionIcon.tsx +60 -0
  354. package/src/components/action-icon/index.ts +1 -0
  355. package/src/components/index.ts +1 -0
  356. package/src/components/sticky-footer/StickyFooter.tsx +47 -15
  357. package/src/components/table/Table.tsx +18 -18
  358. package/src/components/table/Table.types.ts +14 -34
  359. package/src/components/table/index.ts +6 -6
  360. package/src/components/table/layouts/RowLayout.styles.ts +74 -0
  361. package/src/components/table/layouts/RowLayout.tsx +16 -81
  362. package/src/components/table/layouts/RowLayout.types.ts +27 -0
  363. package/src/components/table/{TableLayoutControl.tsx → layouts/TableLayoutControl.tsx} +2 -2
  364. package/src/components/table/table-actions/TableActions.styles.ts +8 -0
  365. package/src/components/table/table-actions/TableActions.tsx +33 -0
  366. package/src/components/table/table-actions/TableActions.types.ts +28 -0
  367. package/src/components/table/table-date-range-picker/TableDateRangePicker.styles.ts +7 -0
  368. package/src/components/table/{TableDateRangePicker.tsx → table-date-range-picker/TableDateRangePicker.tsx} +7 -34
  369. package/src/components/table/table-date-range-picker/TableDateRangePicker.types.ts +22 -0
  370. package/src/components/table/table-filter/TableFilter.styles.ts +11 -0
  371. package/src/components/table/{TableFilter.tsx → table-filter/TableFilter.tsx} +5 -23
  372. package/src/components/table/table-filter/TableFilter.types.ts +13 -0
  373. package/src/components/table/{TableFooter.tsx → table-footer/TableFooter.tsx} +3 -5
  374. package/src/components/table/table-footer/TableFooter.types.ts +6 -0
  375. package/src/components/table/table-header/TableHeader.styles.ts +13 -0
  376. package/src/components/table/{TableHeader.tsx → table-header/TableHeader.tsx} +8 -23
  377. package/src/components/table/table-header/TableHeader.types.ts +10 -0
  378. package/src/components/table/table-header/Th.styles.ts +27 -0
  379. package/src/components/table/{Th.tsx → table-header/Th.tsx} +4 -32
  380. package/src/components/table/table-header/Th.types.ts +5 -0
  381. package/src/components/table/table-last-updated/TableLastUpdated.styles.ts +10 -0
  382. package/src/components/table/{TableLastUpdated.tsx → table-last-updated/TableLastUpdated.tsx} +4 -22
  383. package/src/components/table/table-last-updated/TableLastUpdated.types.ts +13 -0
  384. package/src/components/table/{TablePagination.tsx → table-pagination/TablePagination.tsx} +2 -14
  385. package/src/components/table/table-pagination/TablePagination.types.ts +12 -0
  386. package/src/components/table/{TablePerPage.tsx → table-per-page/TablePerPage.tsx} +2 -22
  387. package/src/components/table/table-per-page/TablePerPage.types.ts +20 -0
  388. package/src/components/table/table-predicate/TablePredicate.styles.ts +8 -0
  389. package/src/components/table/{TablePredicate.tsx → table-predicate/TablePredicate.tsx} +5 -29
  390. package/src/components/table/table-predicate/TablePredicate.types.ts +21 -0
  391. package/src/{components/table → hooks}/useRowSelection.ts +6 -6
  392. package/src/index.ts +2 -0
  393. package/src/theme/Theme.tsx +1 -1
  394. package/dist/cjs/components/table/TableActions.d.ts.map +0 -1
  395. package/dist/cjs/components/table/TableActions.js.map +0 -1
  396. package/dist/cjs/components/table/TableCollapsibleColumn.d.ts.map +0 -1
  397. package/dist/cjs/components/table/TableCollapsibleColumn.js.map +0 -1
  398. package/dist/cjs/components/table/TableConsumer.d.ts.map +0 -1
  399. package/dist/cjs/components/table/TableConsumer.js.map +0 -1
  400. package/dist/cjs/components/table/TableDateRangePicker.d.ts +0 -30
  401. package/dist/cjs/components/table/TableDateRangePicker.d.ts.map +0 -1
  402. package/dist/cjs/components/table/TableDateRangePicker.js.map +0 -1
  403. package/dist/cjs/components/table/TableFilter.d.ts +0 -23
  404. package/dist/cjs/components/table/TableFilter.d.ts.map +0 -1
  405. package/dist/cjs/components/table/TableFilter.js.map +0 -1
  406. package/dist/cjs/components/table/TableFooter.d.ts +0 -8
  407. package/dist/cjs/components/table/TableFooter.d.ts.map +0 -1
  408. package/dist/cjs/components/table/TableFooter.js.map +0 -1
  409. package/dist/cjs/components/table/TableHeader.d.ts +0 -17
  410. package/dist/cjs/components/table/TableHeader.d.ts.map +0 -1
  411. package/dist/cjs/components/table/TableHeader.js.map +0 -1
  412. package/dist/cjs/components/table/TableLastUpdated.d.ts +0 -24
  413. package/dist/cjs/components/table/TableLastUpdated.d.ts.map +0 -1
  414. package/dist/cjs/components/table/TableLastUpdated.js.map +0 -1
  415. package/dist/cjs/components/table/TableLayoutControl.d.ts +0 -3
  416. package/dist/cjs/components/table/TableLayoutControl.d.ts.map +0 -1
  417. package/dist/cjs/components/table/TableLayoutControl.js.map +0 -1
  418. package/dist/cjs/components/table/TableLoading.d.ts.map +0 -1
  419. package/dist/cjs/components/table/TableLoading.js.map +0 -1
  420. package/dist/cjs/components/table/TablePagination.d.ts.map +0 -1
  421. package/dist/cjs/components/table/TablePagination.js.map +0 -1
  422. package/dist/cjs/components/table/TablePerPage.d.ts.map +0 -1
  423. package/dist/cjs/components/table/TablePerPage.js.map +0 -1
  424. package/dist/cjs/components/table/TablePredicate.d.ts +0 -32
  425. package/dist/cjs/components/table/TablePredicate.d.ts.map +0 -1
  426. package/dist/cjs/components/table/TablePredicate.js.map +0 -1
  427. package/dist/cjs/components/table/TableSelectableColumn.d.ts.map +0 -1
  428. package/dist/cjs/components/table/TableSelectableColumn.js.map +0 -1
  429. package/dist/cjs/components/table/Th.d.ts +0 -8
  430. package/dist/cjs/components/table/Th.d.ts.map +0 -1
  431. package/dist/cjs/components/table/Th.js.map +0 -1
  432. package/dist/cjs/components/table/useRowSelection.d.ts.map +0 -1
  433. package/dist/esm/components/table/TableActions.d.ts.map +0 -1
  434. package/dist/esm/components/table/TableActions.js.map +0 -1
  435. package/dist/esm/components/table/TableCollapsibleColumn.d.ts.map +0 -1
  436. package/dist/esm/components/table/TableCollapsibleColumn.js.map +0 -1
  437. package/dist/esm/components/table/TableConsumer.d.ts.map +0 -1
  438. package/dist/esm/components/table/TableConsumer.js.map +0 -1
  439. package/dist/esm/components/table/TableDateRangePicker.d.ts +0 -30
  440. package/dist/esm/components/table/TableDateRangePicker.d.ts.map +0 -1
  441. package/dist/esm/components/table/TableDateRangePicker.js.map +0 -1
  442. package/dist/esm/components/table/TableFilter.d.ts +0 -23
  443. package/dist/esm/components/table/TableFilter.d.ts.map +0 -1
  444. package/dist/esm/components/table/TableFilter.js.map +0 -1
  445. package/dist/esm/components/table/TableFooter.d.ts +0 -8
  446. package/dist/esm/components/table/TableFooter.d.ts.map +0 -1
  447. package/dist/esm/components/table/TableFooter.js.map +0 -1
  448. package/dist/esm/components/table/TableHeader.d.ts +0 -17
  449. package/dist/esm/components/table/TableHeader.d.ts.map +0 -1
  450. package/dist/esm/components/table/TableHeader.js.map +0 -1
  451. package/dist/esm/components/table/TableLastUpdated.d.ts +0 -24
  452. package/dist/esm/components/table/TableLastUpdated.d.ts.map +0 -1
  453. package/dist/esm/components/table/TableLastUpdated.js.map +0 -1
  454. package/dist/esm/components/table/TableLayoutControl.d.ts +0 -3
  455. package/dist/esm/components/table/TableLayoutControl.d.ts.map +0 -1
  456. package/dist/esm/components/table/TableLayoutControl.js.map +0 -1
  457. package/dist/esm/components/table/TableLoading.d.ts.map +0 -1
  458. package/dist/esm/components/table/TableLoading.js.map +0 -1
  459. package/dist/esm/components/table/TablePagination.d.ts.map +0 -1
  460. package/dist/esm/components/table/TablePagination.js.map +0 -1
  461. package/dist/esm/components/table/TablePerPage.d.ts.map +0 -1
  462. package/dist/esm/components/table/TablePerPage.js.map +0 -1
  463. package/dist/esm/components/table/TablePredicate.d.ts +0 -32
  464. package/dist/esm/components/table/TablePredicate.d.ts.map +0 -1
  465. package/dist/esm/components/table/TablePredicate.js.map +0 -1
  466. package/dist/esm/components/table/TableSelectableColumn.d.ts.map +0 -1
  467. package/dist/esm/components/table/TableSelectableColumn.js.map +0 -1
  468. package/dist/esm/components/table/Th.d.ts +0 -8
  469. package/dist/esm/components/table/Th.d.ts.map +0 -1
  470. package/dist/esm/components/table/Th.js.map +0 -1
  471. package/dist/esm/components/table/useRowSelection.d.ts.map +0 -1
  472. package/dist/esm/components/table/useRowSelection.js.map +0 -1
  473. package/src/components/table/TableActions.tsx +0 -63
  474. /package/dist/cjs/components/table/{TableCollapsibleColumn.d.ts → table-column/TableCollapsibleColumn.d.ts} +0 -0
  475. /package/dist/cjs/components/table/{TableCollapsibleColumn.js → table-column/TableCollapsibleColumn.js} +0 -0
  476. /package/dist/cjs/components/table/{TableSelectableColumn.d.ts → table-column/TableSelectableColumn.d.ts} +0 -0
  477. /package/dist/cjs/components/table/{TableSelectableColumn.js → table-column/TableSelectableColumn.js} +0 -0
  478. /package/dist/cjs/components/table/{TableConsumer.d.ts → table-consumer/TableConsumer.d.ts} +0 -0
  479. /package/dist/cjs/components/table/{TableConsumer.js → table-consumer/TableConsumer.js} +0 -0
  480. /package/dist/cjs/components/table/{TableFooter.js → table-footer/TableFooter.js} +0 -0
  481. /package/dist/cjs/components/table/{TableLoading.d.ts → table-loading/TableLoading.d.ts} +0 -0
  482. /package/dist/cjs/components/table/{TableLoading.js → table-loading/TableLoading.js} +0 -0
  483. /package/dist/cjs/{components/table → hooks}/useRowSelection.js +0 -0
  484. /package/dist/esm/components/table/{TableCollapsibleColumn.d.ts → table-column/TableCollapsibleColumn.d.ts} +0 -0
  485. /package/dist/esm/components/table/{TableCollapsibleColumn.js → table-column/TableCollapsibleColumn.js} +0 -0
  486. /package/dist/esm/components/table/{TableSelectableColumn.d.ts → table-column/TableSelectableColumn.d.ts} +0 -0
  487. /package/dist/esm/components/table/{TableSelectableColumn.js → table-column/TableSelectableColumn.js} +0 -0
  488. /package/dist/esm/components/table/{TableConsumer.d.ts → table-consumer/TableConsumer.d.ts} +0 -0
  489. /package/dist/esm/components/table/{TableConsumer.js → table-consumer/TableConsumer.js} +0 -0
  490. /package/dist/esm/components/table/{TableFooter.js → table-footer/TableFooter.js} +0 -0
  491. /package/dist/esm/components/table/{TableLoading.d.ts → table-loading/TableLoading.d.ts} +0 -0
  492. /package/dist/esm/components/table/{TableLoading.js → table-loading/TableLoading.js} +0 -0
  493. /package/dist/esm/{components/table → hooks}/useRowSelection.js +0 -0
  494. /package/src/components/table/{TableCollapsibleColumn.tsx → table-column/TableCollapsibleColumn.tsx} +0 -0
  495. /package/src/components/table/{TableSelectableColumn.tsx → table-column/TableSelectableColumn.tsx} +0 -0
  496. /package/src/components/table/{TableConsumer.tsx → table-consumer/TableConsumer.tsx} +0 -0
  497. /package/src/components/table/{TableLoading.tsx → table-loading/TableLoading.tsx} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/table/Table.tsx"],"sourcesContent":["import {Box, Center, Loader} from '@mantine/core';\nimport {useForm} from '@mantine/form';\nimport {useDidUpdate} from '@mantine/hooks';\nimport {\n ColumnDef,\n defaultColumnSizing,\n getCoreRowModel,\n Row,\n TableState as TanstackTableState,\n useReactTable,\n} from '@tanstack/react-table';\nimport debounce from 'lodash.debounce';\nimport defaultsDeep from 'lodash.defaultsdeep';\nimport {Children, cloneElement, Dispatch, ReactElement, useCallback, useEffect, useState} from 'react';\n\nimport {TableLayouts} from './layouts/TableLayouts';\nimport useStyles from './Table.styles';\nimport {TableFormType, TableProps, TableState, TableType} from './Table.types';\nimport {TableActions} from './TableActions';\nimport {TableAccordionColumn, TableCollapsibleColumn} from './TableCollapsibleColumn';\nimport {TableConsumer} from './TableConsumer';\nimport {TableContext} from './TableContext';\nimport {TableDateRangePicker} from './TableDateRangePicker';\nimport {TableFilter} from './TableFilter';\nimport {TableFooter} from './TableFooter';\nimport {TableHeader} from './TableHeader';\nimport {TableLastUpdated} from './TableLastUpdated';\nimport {TableLoading} from './TableLoading';\nimport {TablePagination} from './TablePagination';\nimport {TablePerPage} from './TablePerPage';\nimport {TablePredicate} from './TablePredicate';\nimport {TableSelectableColumn} from './TableSelectableColumn';\nimport {useRowSelection} from './useRowSelection';\n\nexport const Table: TableType = <T,>({\n data,\n getRowId,\n noDataChildren,\n getExpandChildren,\n initialState = {},\n columns,\n layouts = [TableLayouts.Rows],\n onMount,\n onChange,\n children,\n loading = false,\n doubleClickAction,\n multiRowSelectionEnabled,\n disableRowSelection,\n onRowSelectionChange,\n additionalRootNodes,\n options = {},\n}: TableProps<T>) => {\n const convertedChildren = Children.toArray(children) as ReactElement[];\n const header = convertedChildren.find((child) => child.type === TableHeader);\n const footer = convertedChildren.find((child) => child.type === TableFooter);\n const consumer = convertedChildren.find((child) => child.type === TableConsumer);\n const lastUpdated = convertedChildren.find((child) => child.type === TableLastUpdated);\n\n const {predicates, dateRange, ...initialStateWithoutForm} = initialState;\n const form = useForm<TableFormType>({\n initialValues: {\n predicates: initialState?.predicates ?? {},\n dateRange: initialState?.dateRange ?? [null, null],\n layout: initialState?.layout ?? layouts[0].name,\n },\n });\n const {classes} = useStyles();\n\n const table = useReactTable({\n initialState: defaultsDeep(initialStateWithoutForm, {\n pagination: {pageSize: TablePerPage.DEFAULT_SIZE},\n globalFilter: '',\n }),\n data,\n columns: multiRowSelectionEnabled ? [TableSelectableColumn as ColumnDef<T>].concat(columns) : columns,\n getCoreRowModel: getCoreRowModel(),\n manualPagination: options?.getPaginationRowModel === undefined,\n enableMultiRowSelection: !!multiRowSelectionEnabled,\n getRowId,\n getRowCanExpand: (row: Row<T>) => !!getExpandChildren?.(row.original) ?? false,\n enableRowSelection: !loading,\n defaultColumn: {\n size: undefined,\n minSize: defaultColumnSizing.minSize,\n maxSize: defaultColumnSizing.maxSize,\n },\n ...options,\n });\n\n const [state, setState] = useState<TableState<T>>(table.initialState as TableState<T>);\n table.setOptions((prev) => ({\n ...prev,\n state: state as TanstackTableState,\n onStateChange: setState as Dispatch<React.SetStateAction<TanstackTableState>>,\n }));\n const {clearSelection, getSelectedRow, getSelectedRows, outsideClickRef} = useRowSelection(table, {\n multiRowSelectionEnabled,\n onRowSelectionChange,\n additionalRootNodes,\n });\n const isFiltered =\n !!state.globalFilter ||\n Object.keys(form.values?.predicates ?? {}).some((predicate) => !!form.values.predicates[predicate]) ||\n !!form.values.dateRange?.[0] ||\n !!form.values.dateRange?.[1];\n\n const triggerChange = debounce(() => onChange?.({...state, ...form.values}), 500);\n\n useEffect(() => {\n onMount?.({...state, ...form.values});\n return () => {\n triggerChange.cancel();\n };\n }, []);\n\n useDidUpdate(() => {\n triggerChange();\n if (!multiRowSelectionEnabled) {\n clearSelection();\n }\n }, [\n state.globalFilter,\n state.pagination,\n state.sorting,\n JSON.stringify(form.values.dateRange),\n JSON.stringify(form.values.predicates),\n ]);\n\n const clearFilters = useCallback(() => {\n form.setFieldValue('predicates', initialState.predicates ?? {});\n setState((prevState) => ({...prevState, globalFilter: ''}));\n }, []);\n\n if (!data) {\n return (\n <Center sx={{flexGrow: 1}}>\n <Loader />\n </Center>\n );\n }\n\n const Layout = layouts.find(({name}) => name === form.values.layout);\n const hasRows = table.getRowModel().rows.length > 0;\n\n return (\n <Box ref={outsideClickRef}>\n <TableContext.Provider\n value={{\n onChange: triggerChange,\n state,\n isFiltered,\n setState,\n clearFilters,\n getSelectedRow,\n getSelectedRows,\n clearSelection,\n form,\n containerRef: outsideClickRef,\n multiRowSelectionEnabled,\n getPageCount: table.getPageCount,\n disableRowSelection,\n layouts,\n }}\n >\n {consumer}\n {!hasRows && !isFiltered && !loading ? (\n noDataChildren\n ) : (\n <>\n <Box component=\"table\" className={classes.table} pb=\"sm\">\n <thead className={classes.header}>\n {!!header ? (\n <tr>\n <th style={{padding: 0}} colSpan={table.getAllColumns().length}>\n {header}\n </th>\n </tr>\n ) : null}\n <Layout.Header\n table={table}\n doubleClickAction={doubleClickAction}\n getExpandChildren={getExpandChildren}\n loading={loading}\n />\n </thead>\n <tbody>\n {hasRows ? (\n <Layout.Body\n table={table}\n doubleClickAction={doubleClickAction}\n getExpandChildren={getExpandChildren}\n loading={loading}\n />\n ) : (\n <tr>\n <td colSpan={table.getAllColumns().length}>\n <TableLoading visible={loading}>{noDataChildren}</TableLoading>\n </td>\n </tr>\n )}\n </tbody>\n </Box>\n {footer}\n {lastUpdated\n ? cloneElement(lastUpdated, {\n dependencies: [data, ...(lastUpdated.props.dependencies ?? [])],\n })\n : null}\n </>\n )}\n </TableContext.Provider>\n </Box>\n );\n};\n\nTable.Actions = TableActions;\nTable.Filter = TableFilter;\nTable.Footer = TableFooter;\nTable.Header = TableHeader;\nTable.LastUpdated = TableLastUpdated;\nTable.Pagination = TablePagination;\nTable.Predicate = TablePredicate;\nTable.PerPage = TablePerPage;\nTable.Predicate = TablePredicate;\nTable.CollapsibleColumn = TableCollapsibleColumn;\nTable.AccordionColumn = TableAccordionColumn;\nTable.DateRangePicker = TableDateRangePicker;\nTable.Consumer = TableConsumer;\nTable.Loading = TableLoading;\nTable.Layouts = TableLayouts;\n"],"names":["Box","Center","Loader","useForm","useDidUpdate","defaultColumnSizing","getCoreRowModel","useReactTable","debounce","defaultsDeep","Children","cloneElement","useCallback","useEffect","useState","TableLayouts","useStyles","TableActions","TableAccordionColumn","TableCollapsibleColumn","TableConsumer","TableContext","TableDateRangePicker","TableFilter","TableFooter","TableHeader","TableLastUpdated","TableLoading","TablePagination","TablePerPage","TablePredicate","TableSelectableColumn","useRowSelection","Table","data","getRowId","noDataChildren","getExpandChildren","initialState","columns","layouts","Rows","onMount","onChange","children","loading","doubleClickAction","multiRowSelectionEnabled","disableRowSelection","onRowSelectionChange","additionalRootNodes","options","form","convertedChildren","toArray","header","find","child","type","footer","consumer","lastUpdated","predicates","dateRange","initialStateWithoutForm","initialValues","layout","name","classes","table","pagination","pageSize","DEFAULT_SIZE","globalFilter","concat","manualPagination","getPaginationRowModel","undefined","enableMultiRowSelection","getRowCanExpand","row","original","enableRowSelection","defaultColumn","size","minSize","maxSize","state","setState","setOptions","prev","onStateChange","clearSelection","getSelectedRow","getSelectedRows","outsideClickRef","isFiltered","Object","keys","values","some","predicate","triggerChange","cancel","sorting","JSON","stringify","clearFilters","setFieldValue","prevState","sx","flexGrow","Layout","hasRows","getRowModel","rows","length","ref","Provider","value","containerRef","getPageCount","component","className","pb","thead","tr","th","style","padding","colSpan","getAllColumns","Header","tbody","Body","td","visible","dependencies","props","Actions","Filter","Footer","LastUpdated","Pagination","Predicate","PerPage","CollapsibleColumn","AccordionColumn","DateRangePicker","Consumer","Loading","Layouts"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/components/table/Table.tsx"],"sourcesContent":["import {Box, Center, Loader} from '@mantine/core';\nimport {useForm} from '@mantine/form';\nimport {useDidUpdate} from '@mantine/hooks';\nimport {\n ColumnDef,\n Row,\n TableState as TanstackTableState,\n defaultColumnSizing,\n getCoreRowModel,\n useReactTable,\n} from '@tanstack/react-table';\nimport debounce from 'lodash.debounce';\nimport defaultsDeep from 'lodash.defaultsdeep';\nimport {Children, Dispatch, ReactElement, cloneElement, useCallback, useEffect, useState} from 'react';\n\nimport {useRowSelection} from '../../hooks/useRowSelection';\nimport useStyles from './Table.styles';\nimport {TableFormType, TableProps, TableState, TableType} from './Table.types';\nimport {TableContext} from './TableContext';\nimport {TableLayouts} from './layouts/TableLayouts';\nimport {TableActions} from './table-actions/TableActions';\nimport {TableAccordionColumn, TableCollapsibleColumn} from './table-column/TableCollapsibleColumn';\nimport {TableSelectableColumn} from './table-column/TableSelectableColumn';\nimport {TableConsumer} from './table-consumer/TableConsumer';\nimport {TableDateRangePicker} from './table-date-range-picker/TableDateRangePicker';\nimport {TableFilter} from './table-filter/TableFilter';\nimport {TableFooter} from './table-footer/TableFooter';\nimport {TableHeader} from './table-header/TableHeader';\nimport {TableLastUpdated} from './table-last-updated/TableLastUpdated';\nimport {TableLoading} from './table-loading/TableLoading';\nimport {TablePagination} from './table-pagination/TablePagination';\nimport {TablePerPage} from './table-per-page/TablePerPage';\nimport {TablePredicate} from './table-predicate/TablePredicate';\n\nexport const Table: TableType = <T,>({\n data,\n getRowId,\n noDataChildren,\n getExpandChildren,\n initialState = {},\n columns,\n layouts = [TableLayouts.Rows],\n onMount,\n onChange,\n children,\n loading = false,\n doubleClickAction,\n multiRowSelectionEnabled,\n disableRowSelection,\n onRowSelectionChange,\n additionalRootNodes,\n options = {},\n}: TableProps<T>) => {\n const convertedChildren = Children.toArray(children) as ReactElement[];\n const header = convertedChildren.find((child) => child.type === TableHeader);\n const footer = convertedChildren.find((child) => child.type === TableFooter);\n const consumer = convertedChildren.find((child) => child.type === TableConsumer);\n const lastUpdated = convertedChildren.find((child) => child.type === TableLastUpdated);\n\n const {predicates, dateRange, ...initialStateWithoutForm} = initialState;\n const form = useForm<TableFormType>({\n initialValues: {\n predicates: initialState?.predicates ?? {},\n dateRange: initialState?.dateRange ?? [null, null],\n layout: initialState?.layout ?? layouts[0].name,\n },\n });\n const {classes} = useStyles();\n\n const table = useReactTable({\n initialState: defaultsDeep(initialStateWithoutForm, {\n pagination: {pageSize: TablePerPage.DEFAULT_SIZE},\n globalFilter: '',\n }),\n data,\n columns: multiRowSelectionEnabled ? [TableSelectableColumn as ColumnDef<T>].concat(columns) : columns,\n getCoreRowModel: getCoreRowModel(),\n manualPagination: options?.getPaginationRowModel === undefined,\n enableMultiRowSelection: !!multiRowSelectionEnabled,\n getRowId,\n getRowCanExpand: (row: Row<T>) => !!getExpandChildren?.(row.original) ?? false,\n enableRowSelection: !loading,\n defaultColumn: {\n size: undefined,\n minSize: defaultColumnSizing.minSize,\n maxSize: defaultColumnSizing.maxSize,\n },\n ...options,\n });\n\n const [state, setState] = useState<TableState<T>>(table.initialState as TableState<T>);\n table.setOptions((prev) => ({\n ...prev,\n state: state as TanstackTableState,\n onStateChange: setState as Dispatch<React.SetStateAction<TanstackTableState>>,\n }));\n const {clearSelection, getSelectedRow, getSelectedRows, outsideClickRef} = useRowSelection(table, {\n multiRowSelectionEnabled,\n onRowSelectionChange,\n additionalRootNodes,\n });\n const isFiltered =\n !!state.globalFilter ||\n Object.keys(form.values?.predicates ?? {}).some((predicate) => !!form.values.predicates[predicate]) ||\n !!form.values.dateRange?.[0] ||\n !!form.values.dateRange?.[1];\n\n const triggerChange = debounce(() => onChange?.({...state, ...form.values}), 500);\n\n useEffect(() => {\n onMount?.({...state, ...form.values});\n return () => {\n triggerChange.cancel();\n };\n }, []);\n\n useDidUpdate(() => {\n triggerChange();\n if (!multiRowSelectionEnabled) {\n clearSelection();\n }\n }, [\n state.globalFilter,\n state.pagination,\n state.sorting,\n JSON.stringify(form.values.dateRange),\n JSON.stringify(form.values.predicates),\n ]);\n\n const clearFilters = useCallback(() => {\n form.setFieldValue('predicates', initialState.predicates ?? {});\n setState((prevState) => ({...prevState, globalFilter: ''}));\n }, []);\n\n if (!data) {\n return (\n <Center sx={{flexGrow: 1}}>\n <Loader />\n </Center>\n );\n }\n\n const Layout = layouts.find(({name}) => name === form.values.layout);\n const hasRows = table.getRowModel().rows.length > 0;\n\n return (\n <Box ref={outsideClickRef}>\n <TableContext.Provider\n value={{\n onChange: triggerChange,\n state,\n isFiltered,\n setState,\n clearFilters,\n getSelectedRow,\n getSelectedRows,\n clearSelection,\n form,\n containerRef: outsideClickRef,\n multiRowSelectionEnabled,\n getPageCount: table.getPageCount,\n disableRowSelection,\n layouts,\n }}\n >\n {consumer}\n {!hasRows && !isFiltered && !loading ? (\n noDataChildren\n ) : (\n <>\n <Box component=\"table\" className={classes.table} pb=\"sm\">\n <thead className={classes.header}>\n {!!header ? (\n <tr>\n <th style={{padding: 0}} colSpan={table.getAllColumns().length}>\n {header}\n </th>\n </tr>\n ) : null}\n <Layout.Header\n table={table}\n doubleClickAction={doubleClickAction}\n getExpandChildren={getExpandChildren}\n loading={loading}\n />\n </thead>\n <tbody>\n {hasRows ? (\n <Layout.Body\n table={table}\n doubleClickAction={doubleClickAction}\n getExpandChildren={getExpandChildren}\n loading={loading}\n />\n ) : (\n <tr>\n <td colSpan={table.getAllColumns().length}>\n <TableLoading visible={loading}>{noDataChildren}</TableLoading>\n </td>\n </tr>\n )}\n </tbody>\n </Box>\n {footer}\n {lastUpdated\n ? cloneElement(lastUpdated, {\n dependencies: [data, ...(lastUpdated.props.dependencies ?? [])],\n })\n : null}\n </>\n )}\n </TableContext.Provider>\n </Box>\n );\n};\n\nTable.Actions = TableActions;\nTable.Filter = TableFilter;\nTable.Footer = TableFooter;\nTable.Header = TableHeader;\nTable.LastUpdated = TableLastUpdated;\nTable.Pagination = TablePagination;\nTable.Predicate = TablePredicate;\nTable.PerPage = TablePerPage;\nTable.Predicate = TablePredicate;\nTable.CollapsibleColumn = TableCollapsibleColumn;\nTable.AccordionColumn = TableAccordionColumn;\nTable.DateRangePicker = TableDateRangePicker;\nTable.Consumer = TableConsumer;\nTable.Loading = TableLoading;\nTable.Layouts = TableLayouts;\n"],"names":["Box","Center","Loader","useForm","useDidUpdate","defaultColumnSizing","getCoreRowModel","useReactTable","debounce","defaultsDeep","Children","cloneElement","useCallback","useEffect","useState","useRowSelection","useStyles","TableContext","TableLayouts","TableActions","TableAccordionColumn","TableCollapsibleColumn","TableSelectableColumn","TableConsumer","TableDateRangePicker","TableFilter","TableFooter","TableHeader","TableLastUpdated","TableLoading","TablePagination","TablePerPage","TablePredicate","Table","data","getRowId","noDataChildren","getExpandChildren","initialState","columns","layouts","Rows","onMount","onChange","children","loading","doubleClickAction","multiRowSelectionEnabled","disableRowSelection","onRowSelectionChange","additionalRootNodes","options","form","convertedChildren","toArray","header","find","child","type","footer","consumer","lastUpdated","predicates","dateRange","initialStateWithoutForm","initialValues","layout","name","classes","table","pagination","pageSize","DEFAULT_SIZE","globalFilter","concat","manualPagination","getPaginationRowModel","undefined","enableMultiRowSelection","getRowCanExpand","row","original","enableRowSelection","defaultColumn","size","minSize","maxSize","state","setState","setOptions","prev","onStateChange","clearSelection","getSelectedRow","getSelectedRows","outsideClickRef","isFiltered","Object","keys","values","some","predicate","triggerChange","cancel","sorting","JSON","stringify","clearFilters","setFieldValue","prevState","sx","flexGrow","Layout","hasRows","getRowModel","rows","length","ref","Provider","value","containerRef","getPageCount","component","className","pb","thead","tr","th","style","padding","colSpan","getAllColumns","Header","tbody","Body","td","visible","dependencies","props","Actions","Filter","Footer","LastUpdated","Pagination","Predicate","PerPage","CollapsibleColumn","AccordionColumn","DateRangePicker","Consumer","Loading","Layouts"],"mappings":"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"}
@@ -1,21 +1,22 @@
1
1
  import { Icon } from '@coveord/plasma-react-icons';
2
2
  import { UseFormReturnType } from '@mantine/form';
3
- import { ColumnDef, CoreOptions, InitialTableState as TanstackInitialTableState, Table, TableOptions, TableState as TanstackTableState } from '@tanstack/table-core';
3
+ import { ColumnDef, CoreOptions, TableOptions, InitialTableState as TanstackInitialTableState, TableState as TanstackTableState } from '@tanstack/table-core';
4
4
  import { Dispatch, ReactElement, ReactNode, RefObject } from 'react';
5
5
  import { DateRangePickerValue } from '../date-range-picker/DateRangePickerInlineCalendar';
6
+ import { TableLayoutProps } from './layouts/RowLayout.types';
6
7
  import { TableLayouts } from './layouts/TableLayouts';
7
- import { TableActions } from './TableActions';
8
- import { TableAccordionColumn, TableCollapsibleColumn } from './TableCollapsibleColumn';
9
- import { TableConsumer } from './TableConsumer';
10
- import { TableDateRangePicker } from './TableDateRangePicker';
11
- import { TableFilter } from './TableFilter';
12
- import { TableFooter } from './TableFooter';
13
- import { TableHeader } from './TableHeader';
14
- import { TableLastUpdated } from './TableLastUpdated';
15
- import { TableLoading } from './TableLoading';
16
- import { TablePagination } from './TablePagination';
17
- import { TablePerPage } from './TablePerPage';
18
- import { TablePredicate } from './TablePredicate';
8
+ import { TableActions } from './table-actions/TableActions';
9
+ import { TableAccordionColumn, TableCollapsibleColumn } from './table-column/TableCollapsibleColumn';
10
+ import { TableConsumer } from './table-consumer/TableConsumer';
11
+ import { TableDateRangePicker } from './table-date-range-picker/TableDateRangePicker';
12
+ import { TableFilter } from './table-filter/TableFilter';
13
+ import { TableFooter } from './table-footer/TableFooter';
14
+ import { TableHeader } from './table-header/TableHeader';
15
+ import { TableLastUpdated } from './table-last-updated/TableLastUpdated';
16
+ import { TableLoading } from './table-loading/TableLoading';
17
+ import { TablePagination } from './table-pagination/TablePagination';
18
+ import { TablePerPage } from './table-per-page/TablePerPage';
19
+ import { TablePredicate } from './table-predicate/TablePredicate';
19
20
  export type RowSelectionWithData<TData> = Record<string, TData>;
20
21
  export interface RowSelectionState<TData> {
21
22
  rowSelection: RowSelectionWithData<TData>;
@@ -47,25 +48,6 @@ export interface TableLayout {
47
48
  */
48
49
  Body: <T>(props: TableLayoutProps<T>) => ReactElement;
49
50
  }
50
- export interface TableLayoutProps<T = unknown> {
51
- table: Table<T>;
52
- loading?: boolean;
53
- /**
54
- * Action passed when user double clicks on a row
55
- */
56
- doubleClickAction?: (datum: T) => void;
57
- /**
58
- * Function that generates the expandable content of a row
59
- * Return null for rows that don't need to be expandable
60
- *
61
- * @param datum the row for which the children should be generated.
62
- */
63
- getExpandChildren?: (datum: T) => ReactNode;
64
- /**
65
- * Whether clicking on a selected row will deselect the row or not.
66
- */
67
- keepSelection?: boolean;
68
- }
69
51
  export type TableFormType = {
70
52
  /**
71
53
  * Object containing the table predicates and their selected values
@@ -1 +1 @@
1
- {"version":3,"file":"Table.types.d.ts","sourceRoot":"","sources":["../../../../src/components/table/Table.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Table.types.d.ts","sourceRoot":"","sources":["../../../../src/components/table/Table.types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/table/Table.types.ts"],"sourcesContent":["import {Icon} from '@coveord/plasma-react-icons';\nimport {UseFormReturnType} from '@mantine/form';\nimport {\n ColumnDef,\n CoreOptions,\n InitialTableState as TanstackInitialTableState,\n Table,\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 {TableLayouts} from './layouts/TableLayouts';\nimport {TableActions} from './TableActions';\nimport {TableAccordionColumn, TableCollapsibleColumn} from './TableCollapsibleColumn';\nimport {TableConsumer} from './TableConsumer';\nimport {TableDateRangePicker} from './TableDateRangePicker';\nimport {TableFilter} from './TableFilter';\nimport {TableFooter} from './TableFooter';\nimport {TableHeader} from './TableHeader';\nimport {TableLastUpdated} from './TableLastUpdated';\nimport {TableLoading} from './TableLoading';\nimport {TablePagination} from './TablePagination';\nimport {TablePerPage} from './TablePerPage';\nimport {TablePredicate} from './TablePredicate';\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 /**\n * Name of the layout.\n * Will be displayed in the layout control\n */\n name: 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 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 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 * 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> {\n /**\n * Data to display in the table\n */\n data: T[];\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\nexport interface TableType {\n <T>(props: TableProps<T>): ReactElement;\n Actions: typeof TableActions;\n Filter: typeof TableFilter;\n Footer: typeof TableFooter;\n Header: typeof TableHeader;\n LastUpdated: typeof TableLastUpdated;\n Pagination: typeof TablePagination;\n PerPage: typeof TablePerPage;\n Predicate: typeof TablePredicate;\n DateRangePicker: typeof TableDateRangePicker;\n CollapsibleColumn: typeof TableCollapsibleColumn;\n AccordionColumn: typeof TableAccordionColumn;\n Consumer: typeof TableConsumer;\n Loading: typeof TableLoading;\n Layouts: typeof TableLayouts;\n}\n"],"names":[],"mappings":"AAAA,WAsSC"}
1
+ {"version":3,"sources":["../../../../src/components/table/Table.types.ts"],"sourcesContent":["import {Icon} from '@coveord/plasma-react-icons';\nimport {UseFormReturnType} from '@mantine/form';\nimport {\n ColumnDef,\n CoreOptions,\n TableOptions,\n InitialTableState as TanstackInitialTableState,\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/RowLayout.types'; // TODO https://coveord.atlassian.net/browse/ADUI-9182\nimport {TableLayouts} from './layouts/TableLayouts';\nimport {TableActions} from './table-actions/TableActions';\nimport {TableAccordionColumn, TableCollapsibleColumn} from './table-column/TableCollapsibleColumn';\nimport {TableConsumer} from './table-consumer/TableConsumer';\nimport {TableDateRangePicker} from './table-date-range-picker/TableDateRangePicker';\nimport {TableFilter} from './table-filter/TableFilter';\nimport {TableFooter} from './table-footer/TableFooter';\nimport {TableHeader} from './table-header/TableHeader';\nimport {TableLastUpdated} from './table-last-updated/TableLastUpdated';\nimport {TableLoading} from './table-loading/TableLoading';\nimport {TablePagination} from './table-pagination/TablePagination';\nimport {TablePerPage} from './table-per-page/TablePerPage';\nimport {TablePredicate} from './table-predicate/TablePredicate';\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 /**\n * Name of the layout.\n * Will be displayed in the layout control\n */\n name: 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 * 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> {\n /**\n * Data to display in the table\n */\n data: T[];\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\nexport interface TableType {\n <T>(props: TableProps<T>): ReactElement;\n Actions: typeof TableActions;\n Filter: typeof TableFilter;\n Footer: typeof TableFooter;\n Header: typeof TableHeader;\n LastUpdated: typeof TableLastUpdated;\n Pagination: typeof TablePagination;\n PerPage: typeof TablePerPage;\n Predicate: typeof TablePredicate;\n DateRangePicker: typeof TableDateRangePicker;\n CollapsibleColumn: typeof TableCollapsibleColumn;\n AccordionColumn: typeof TableAccordionColumn;\n Consumer: typeof TableConsumer;\n Loading: typeof TableLoading;\n Layouts: typeof TableLayouts;\n}\n"],"names":[],"mappings":"AAAA,WAkRC"}
@@ -1,5 +1,6 @@
1
+ export { flexRender as renderTableCell } from '@tanstack/react-table';
1
2
  export * from './Table';
3
+ export { type InitialTableState, type TableLayout, type TableProps, type TableState, type onTableChangeEvent, } from './Table.types';
2
4
  export { useTable } from './TableContext';
3
- export { type onTableChangeEvent, type InitialTableState, type TableState, type TableProps, type TableLayout, type TableLayoutProps, } from './Table.types';
4
- export { flexRender as renderTableCell } from '@tanstack/react-table';
5
+ export { type TableLayoutProps } from './layouts/RowLayout.types';
5
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,cAAc,SAAS,CAAC;AACxB,OAAO,EAAC,QAAQ,EAAC,MAAM,gBAAgB,CAAC;AACxC,OAAO,EACH,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,gBAAgB,GACxB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAC,UAAU,IAAI,eAAe,EAAC,MAAM,uBAAuB,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,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,2BAA2B,CAAC"}
@@ -1,5 +1,6 @@
1
+ export { flexRender as renderTableCell } from "@tanstack/react-table";
1
2
  export * from "./Table";
2
3
  export { useTable } from "./TableContext";
3
- export { flexRender as renderTableCell } from "@tanstack/react-table";
4
+ // TODO https://coveord.atlassian.net/browse/ADUI-9182
4
5
 
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/table/index.ts"],"sourcesContent":["export * from './Table';\nexport {useTable} from './TableContext';\nexport {\n type onTableChangeEvent,\n type InitialTableState,\n type TableState,\n type TableProps,\n type TableLayout,\n type TableLayoutProps,\n} from './Table.types';\nexport {flexRender as renderTableCell} from '@tanstack/react-table';\n"],"names":["useTable","flexRender","renderTableCell"],"mappings":"AAAA,cAAc,UAAU;AACxB,SAAQA,QAAQ,QAAO,iBAAiB;AASxC,SAAQC,cAAcC,eAAe,QAAO,wBAAwB"}
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/RowLayout.types'; // TODO https://coveord.atlassian.net/browse/ADUI-9182\n"],"names":["flexRender","renderTableCell","useTable"],"mappings":"AAAA,SAAQA,cAAcC,eAAe,QAAO,wBAAwB;AACpE,cAAc,UAAU;AAQxB,SAAQC,QAAQ,QAAO,iBAAiB;CACyB,sDAAsD"}
@@ -1 +1 @@
1
- {"version":3,"file":"RowLayout.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/layouts/RowLayout.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAC,WAAW,EAAmB,MAAM,gBAAgB,CAAC;AAgM7D,eAAO,MAAM,SAAS,EAAE,WAKvB,CAAC"}
1
+ {"version":3,"file":"RowLayout.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/layouts/RowLayout.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AA+H3C,eAAO,MAAM,SAAS,EAAE,WAKvB,CAAC"}
@@ -1,76 +1,19 @@
1
1
  import { _ as _define_property } from "@swc/helpers/_/_define_property";
2
2
  import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
3
3
  import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
4
+ import { _ as _object_without_properties } from "@swc/helpers/_/_object_without_properties";
4
5
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
5
6
  import { ListSize16Px } from "@coveord/plasma-react-icons";
6
- import { Box, Collapse, createStyles, rem } from "@mantine/core";
7
+ import { Box, Collapse } from "@mantine/core";
7
8
  import { flexRender } from "@tanstack/react-table";
8
9
  import { defaultColumnSizing } from "@tanstack/table-core";
9
10
  import { Fragment } from "react";
10
- import { TableCollapsibleColumn } from "../TableCollapsibleColumn";
11
11
  import { useTable } from "../TableContext";
12
- import { TableLoading } from "../TableLoading";
13
- import { TableSelectableColumn } from "../TableSelectableColumn";
14
- import { Th } from "../Th";
15
- var useStyles = createStyles(function(theme, param) {
16
- var multiRowSelectionEnabled = param.multiRowSelectionEnabled, disableRowSelection = param.disableRowSelection;
17
- var rowBackgroundColor = theme.colorScheme === "dark" ? theme.fn.rgba(theme.colors[theme.primaryColor][7], 0.2) : theme.colors.gray[1];
18
- var border = "".concat(rem(1), " solid ").concat(theme.colorScheme === "dark" ? theme.colors.dark[4] : theme.colors.gray[3]);
19
- return {
20
- headerColumns: {
21
- "& th:first-of-type > *": {
22
- paddingLeft: "40px"
23
- },
24
- "& input[type=checkbox]": {
25
- backgroundColor: disableRowSelection ? "".concat(theme.colors.gray[2]) : undefined,
26
- borderColor: disableRowSelection ? "".concat(theme.colors.gray[3]) : "".concat(theme.colors.gray[4]),
27
- pointerEvents: disableRowSelection ? "none" : "auto",
28
- cursor: disableRowSelection ? "not-allowed" : "default",
29
- "& + svg": {
30
- color: disableRowSelection ? "".concat(theme.colors.gray[5]) : "inherit"
31
- }
32
- }
33
- },
34
- rowSelected: {
35
- backgroundColor: multiRowSelectionEnabled ? undefined : rowBackgroundColor
36
- },
37
- rowUnselectable: {
38
- "& input[type=checkbox]": {
39
- backgroundColor: "".concat(theme.colors.gray[2]),
40
- borderColor: "".concat(theme.colors.gray[3]),
41
- pointerEvents: "none",
42
- cursor: "not-allowed",
43
- "&:checked + svg": {
44
- color: "".concat(theme.colors.gray[5])
45
- }
46
- }
47
- },
48
- rowCollapsibleButtonCell: {
49
- textAlign: "right",
50
- padding: "calc(".concat(theme.spacing.xs, "/2) ").concat(theme.spacing.sm, " !important")
51
- },
52
- row: {
53
- "& td:first-of-type": {
54
- paddingLeft: "40px"
55
- },
56
- "&:hover": {
57
- backgroundColor: rowBackgroundColor
58
- },
59
- overflowWrap: "anywhere"
60
- },
61
- cell: {
62
- verticalAlign: "middle",
63
- // We must use height instead of minHeight here, otherwise it doesn't apply
64
- height: "56px",
65
- padding: "".concat(theme.spacing.xs, " ").concat(theme.spacing.sm),
66
- borderBottom: border
67
- },
68
- collapsible: {
69
- backgroundColor: rowBackgroundColor,
70
- borderBottom: border
71
- }
72
- };
73
- });
12
+ import { TableCollapsibleColumn } from "../table-column/TableCollapsibleColumn";
13
+ import { TableSelectableColumn } from "../table-column/TableSelectableColumn";
14
+ import { Th } from "../table-header/Th";
15
+ import { TableLoading } from "../table-loading/TableLoading";
16
+ import useStyles from "./RowLayout.styles";
74
17
  var RowLayoutHeader = function(param) {
75
18
  var table = param.table;
76
19
  var _useTable = useTable(), multiRowSelectionEnabled = _useTable.multiRowSelectionEnabled, disableRowSelection = _useTable.disableRowSelection;
@@ -92,12 +35,26 @@ var RowLayoutHeader = function(param) {
92
35
  children: headers
93
36
  });
94
37
  };
95
- var RowLayoutBody = function(param) {
96
- var table = param.table, doubleClickAction = param.doubleClickAction, getExpandChildren = param.getExpandChildren, loading = param.loading, keepSelection = param.keepSelection;
38
+ var RowLayoutBody = function(_param) {
39
+ var table = _param.table, doubleClickAction = _param.doubleClickAction, getExpandChildren = _param.getExpandChildren, loading = _param.loading, keepSelection = _param.keepSelection, classNames = _param.classNames, styles = _param.styles, unstyled = _param.unstyled, others = _object_without_properties(_param, [
40
+ "table",
41
+ "doubleClickAction",
42
+ "getExpandChildren",
43
+ "loading",
44
+ "keepSelection",
45
+ "classNames",
46
+ "styles",
47
+ "unstyled"
48
+ ]);
97
49
  var _useTable = useTable(), multiRowSelectionEnabled = _useTable.multiRowSelectionEnabled, disableRowSelection = _useTable.disableRowSelection;
98
50
  var _useStyles = useStyles({
99
51
  disableRowSelection: disableRowSelection,
100
52
  multiRowSelectionEnabled: multiRowSelectionEnabled
53
+ }, {
54
+ name: "RowLayout",
55
+ classNames: classNames,
56
+ styles: styles,
57
+ unstyled: unstyled
101
58
  }), classes = _useStyles.classes, cx = _useStyles.cx;
102
59
  var toggleCollapsible = function(el) {
103
60
  var cell = el.children[el.children.length - 1];
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/table/layouts/RowLayout.tsx"],"sourcesContent":["import {ListSize16Px} from '@coveord/plasma-react-icons';\nimport {Box, Collapse, createStyles, rem} from '@mantine/core';\nimport {flexRender} from '@tanstack/react-table';\nimport {defaultColumnSizing} from '@tanstack/table-core';\nimport {Fragment, type MouseEvent} from 'react';\nimport {TableLayout, TableLayoutProps} from '../Table.types';\nimport {TableCollapsibleColumn} from '../TableCollapsibleColumn';\nimport {useTable} from '../TableContext';\nimport {TableLoading} from '../TableLoading';\nimport {TableSelectableColumn} from '../TableSelectableColumn';\nimport {Th} from '../Th';\n\ninterface TableStylesParams {\n multiRowSelectionEnabled: boolean;\n disableRowSelection: boolean;\n}\n\nconst useStyles = createStyles<string, TableStylesParams>((theme, {multiRowSelectionEnabled, disableRowSelection}) => {\n const rowBackgroundColor =\n theme.colorScheme === 'dark' ? theme.fn.rgba(theme.colors[theme.primaryColor][7], 0.2) : theme.colors.gray[1];\n const border = `${rem(1)} solid ${theme.colorScheme === 'dark' ? theme.colors.dark[4] : theme.colors.gray[3]}`;\n return {\n headerColumns: {\n '& th:first-of-type > *': {\n paddingLeft: '40px',\n },\n\n '& input[type=checkbox]': {\n backgroundColor: disableRowSelection ? `${theme.colors.gray[2]}` : undefined,\n borderColor: disableRowSelection ? `${theme.colors.gray[3]}` : `${theme.colors.gray[4]}`,\n pointerEvents: disableRowSelection ? 'none' : 'auto',\n cursor: disableRowSelection ? 'not-allowed' : 'default',\n\n '& + svg': {\n color: disableRowSelection ? `${theme.colors.gray[5]}` : 'inherit',\n },\n },\n },\n\n rowSelected: {\n backgroundColor: multiRowSelectionEnabled ? undefined : rowBackgroundColor,\n },\n\n rowUnselectable: {\n '& input[type=checkbox]': {\n backgroundColor: `${theme.colors.gray[2]}`,\n borderColor: `${theme.colors.gray[3]}`,\n pointerEvents: 'none',\n cursor: 'not-allowed',\n\n '&:checked + svg': {\n color: `${theme.colors.gray[5]}`,\n },\n },\n },\n\n rowCollapsibleButtonCell: {\n textAlign: 'right',\n padding: `calc(${theme.spacing.xs}/2) ${theme.spacing.sm} !important`,\n },\n\n row: {\n '& td:first-of-type': {\n paddingLeft: '40px',\n },\n '&:hover': {\n backgroundColor: rowBackgroundColor,\n },\n overflowWrap: 'anywhere',\n },\n\n cell: {\n verticalAlign: 'middle',\n // We must use height instead of minHeight here, otherwise it doesn't apply\n height: '56px',\n padding: `${theme.spacing.xs} ${theme.spacing.sm}`,\n borderBottom: border,\n },\n\n collapsible: {\n backgroundColor: rowBackgroundColor,\n borderBottom: border,\n },\n };\n});\n\nconst RowLayoutHeader = <T,>({table}: TableLayoutProps<T>) => {\n const {multiRowSelectionEnabled, disableRowSelection} = useTable();\n const {classes} = useStyles({disableRowSelection, multiRowSelectionEnabled});\n const headers = table.getHeaderGroups().map((headerGroup) => (\n <tr key={headerGroup.id} className={classes.headerColumns}>\n {headerGroup.headers.map((columnHeader) => (\n <Th key={columnHeader.id} header={columnHeader} />\n ))}\n </tr>\n ));\n return <>{headers}</>;\n};\n\nconst RowLayoutBody = <T,>({\n table,\n doubleClickAction,\n getExpandChildren,\n loading,\n keepSelection,\n}: TableLayoutProps<T>) => {\n const {multiRowSelectionEnabled, disableRowSelection} = useTable();\n const {classes, cx} = useStyles({disableRowSelection, multiRowSelectionEnabled});\n\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 className={cx(classes.row, {\n [classes.rowSelected]: isSelected,\n [classes.rowUnselectable]: disableRowSelection,\n })}\n aria-selected={isSelected}\n data-testid={row.id}\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 return (\n <td\n key={cell.id}\n data-testid={cell.id}\n style={{\n width: columnSizing.size ?? 'auto',\n minWidth: columnSizing.minSize,\n maxWidth: columnSizing.maxSize,\n }}\n className={cx(classes.cell, {\n [classes.rowCollapsibleButtonCell]: cell.column.id === TableCollapsibleColumn.id,\n })}\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>\n <td\n colSpan={table.getAllColumns().length}\n style={{\n padding: 0,\n }}\n >\n <Collapse in={row.getIsExpanded()}>\n <Box className={classes.collapsible} 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\nexport const RowLayout: TableLayout = {\n name: 'Rows',\n icon: ListSize16Px,\n Header: RowLayoutHeader,\n Body: RowLayoutBody,\n};\n"],"names":["ListSize16Px","Box","Collapse","createStyles","rem","flexRender","defaultColumnSizing","Fragment","TableCollapsibleColumn","useTable","TableLoading","TableSelectableColumn","Th","useStyles","theme","multiRowSelectionEnabled","disableRowSelection","rowBackgroundColor","colorScheme","fn","rgba","colors","primaryColor","gray","border","dark","headerColumns","paddingLeft","backgroundColor","undefined","borderColor","pointerEvents","cursor","color","rowSelected","rowUnselectable","rowCollapsibleButtonCell","textAlign","padding","spacing","xs","sm","row","overflowWrap","cell","verticalAlign","height","borderBottom","collapsible","RowLayoutHeader","table","classes","headers","getHeaderGroups","map","headerGroup","tr","className","columnHeader","header","id","RowLayoutBody","doubleClickAction","getExpandChildren","loading","keepSelection","cx","toggleCollapsible","el","children","length","querySelector","click","rows","getRowModel","rowChildren","original","isSelected","getIsSelected","shouldKeepSelection","onClick","event","currentTarget","toggleSelected","onDoubleClick","aria-selected","data-testid","getVisibleCells","columnSizing","size","column","columnDef","minSize","maxSize","onCollapsibleCellClick","stopPropagation","getToggleSelectedHandler","td","style","width","minWidth","maxWidth","visible","getContext","colSpan","getAllColumns","in","getIsExpanded","px","py","RowLayout","name","icon","Header","Body"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../src/components/table/layouts/RowLayout.tsx"],"sourcesContent":["import {ListSize16Px} from '@coveord/plasma-react-icons';\nimport {Box, Collapse} from '@mantine/core';\nimport {flexRender} from '@tanstack/react-table';\nimport {defaultColumnSizing} from '@tanstack/table-core';\nimport {Fragment, type MouseEvent} from 'react';\nimport {TableLayout} from '../Table.types';\nimport {useTable} from '../TableContext';\nimport {TableCollapsibleColumn} from '../table-column/TableCollapsibleColumn';\nimport {TableSelectableColumn} from '../table-column/TableSelectableColumn';\nimport {Th} from '../table-header/Th';\nimport {TableLoading} from '../table-loading/TableLoading';\nimport useStyles from './RowLayout.styles';\nimport {TableLayoutProps} from './RowLayout.types'; // TODO https://coveord.atlassian.net/browse/ADUI-9182\n\nconst RowLayoutHeader = <T,>({table}: TableLayoutProps<T>) => {\n const {multiRowSelectionEnabled, disableRowSelection} = useTable();\n const {classes} = useStyles({disableRowSelection, multiRowSelectionEnabled});\n const headers = table.getHeaderGroups().map((headerGroup) => (\n <tr key={headerGroup.id} className={classes.headerColumns}>\n {headerGroup.headers.map((columnHeader) => (\n <Th key={columnHeader.id} header={columnHeader} />\n ))}\n </tr>\n ));\n return <>{headers}</>;\n};\n\nconst RowLayoutBody = <T,>({\n table,\n doubleClickAction,\n getExpandChildren,\n loading,\n keepSelection,\n classNames,\n styles,\n unstyled,\n ...others\n}: TableLayoutProps<T>) => {\n const {multiRowSelectionEnabled, disableRowSelection} = useTable();\n const {classes, cx} = useStyles(\n {disableRowSelection, multiRowSelectionEnabled},\n {name: 'RowLayout', classNames, styles, unstyled},\n );\n\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 className={cx(classes.row, {\n [classes.rowSelected]: isSelected,\n [classes.rowUnselectable]: disableRowSelection,\n })}\n aria-selected={isSelected}\n data-testid={row.id}\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 return (\n <td\n key={cell.id}\n data-testid={cell.id}\n style={{\n width: columnSizing.size ?? 'auto',\n minWidth: columnSizing.minSize,\n maxWidth: columnSizing.maxSize,\n }}\n className={cx(classes.cell, {\n [classes.rowCollapsibleButtonCell]: cell.column.id === TableCollapsibleColumn.id,\n })}\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>\n <td\n colSpan={table.getAllColumns().length}\n style={{\n padding: 0,\n }}\n >\n <Collapse in={row.getIsExpanded()}>\n <Box className={classes.collapsible} 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\nexport const RowLayout: TableLayout = {\n name: 'Rows',\n icon: ListSize16Px,\n Header: RowLayoutHeader,\n Body: RowLayoutBody,\n};\n"],"names":["ListSize16Px","Box","Collapse","flexRender","defaultColumnSizing","Fragment","useTable","TableCollapsibleColumn","TableSelectableColumn","Th","TableLoading","useStyles","RowLayoutHeader","table","multiRowSelectionEnabled","disableRowSelection","classes","headers","getHeaderGroups","map","headerGroup","tr","className","headerColumns","columnHeader","header","id","RowLayoutBody","doubleClickAction","getExpandChildren","loading","keepSelection","classNames","styles","unstyled","others","name","cx","toggleCollapsible","el","cell","children","length","querySelector","click","rows","getRowModel","row","rowChildren","original","isSelected","getIsSelected","shouldKeepSelection","onClick","event","currentTarget","toggleSelected","onDoubleClick","rowSelected","rowUnselectable","aria-selected","data-testid","getVisibleCells","columnSizing","size","column","columnDef","minSize","maxSize","onCollapsibleCellClick","stopPropagation","getToggleSelectedHandler","td","style","width","minWidth","maxWidth","rowCollapsibleButtonCell","visible","getContext","colSpan","getAllColumns","padding","in","getIsExpanded","collapsible","px","py","RowLayout","icon","Header","Body"],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ export interface RowLayoutStylesParams {
2
+ multiRowSelectionEnabled: boolean;
3
+ disableRowSelection: boolean;
4
+ }
5
+ declare const _default: (params: RowLayoutStylesParams, options?: import("@mantine/core").UseStylesOptions<string>) => {
6
+ classes: {
7
+ [x: string]: string;
8
+ };
9
+ cx: (...args: any) => string;
10
+ theme: import("@mantine/core").MantineTheme;
11
+ };
12
+ export default _default;
13
+ //# sourceMappingURL=RowLayout.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RowLayout.styles.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/layouts/RowLayout.styles.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,qBAAqB;IAClC,wBAAwB,EAAE,OAAO,CAAC;IAClC,mBAAmB,EAAE,OAAO,CAAC;CAChC;;;;;;;;AAED,wBAmEG"}
@@ -0,0 +1,62 @@
1
+ import { createStyles, rem } from "@mantine/core";
2
+ export default createStyles(function(theme, param) {
3
+ var multiRowSelectionEnabled = param.multiRowSelectionEnabled, disableRowSelection = param.disableRowSelection;
4
+ var rowBackgroundColor = theme.colorScheme === "dark" ? theme.fn.rgba(theme.colors[theme.primaryColor][7], 0.2) : theme.colors.gray[1];
5
+ var border = "".concat(rem(1), " solid ").concat(theme.colorScheme === "dark" ? theme.colors.dark[4] : theme.colors.gray[3]);
6
+ return {
7
+ headerColumns: {
8
+ "& th:first-of-type > *": {
9
+ paddingLeft: "40px"
10
+ },
11
+ "& input[type=checkbox]": {
12
+ backgroundColor: disableRowSelection ? "".concat(theme.colors.gray[2]) : undefined,
13
+ borderColor: disableRowSelection ? "".concat(theme.colors.gray[3]) : "".concat(theme.colors.gray[4]),
14
+ pointerEvents: disableRowSelection ? "none" : "auto",
15
+ cursor: disableRowSelection ? "not-allowed" : "default",
16
+ "& + svg": {
17
+ color: disableRowSelection ? "".concat(theme.colors.gray[5]) : "inherit"
18
+ }
19
+ }
20
+ },
21
+ rowSelected: {
22
+ backgroundColor: multiRowSelectionEnabled ? undefined : rowBackgroundColor
23
+ },
24
+ rowUnselectable: {
25
+ "& input[type=checkbox]": {
26
+ backgroundColor: "".concat(theme.colors.gray[2]),
27
+ borderColor: "".concat(theme.colors.gray[3]),
28
+ pointerEvents: "none",
29
+ cursor: "not-allowed",
30
+ "&:checked + svg": {
31
+ color: "".concat(theme.colors.gray[5])
32
+ }
33
+ }
34
+ },
35
+ rowCollapsibleButtonCell: {
36
+ textAlign: "right",
37
+ padding: "calc(".concat(theme.spacing.xs, "/2) ").concat(theme.spacing.sm, " !important")
38
+ },
39
+ row: {
40
+ "& td:first-of-type": {
41
+ paddingLeft: "40px"
42
+ },
43
+ "&:hover": {
44
+ backgroundColor: rowBackgroundColor
45
+ },
46
+ overflowWrap: "anywhere"
47
+ },
48
+ cell: {
49
+ verticalAlign: "middle",
50
+ // We must use height instead of minHeight here, otherwise it doesn't apply
51
+ height: "56px",
52
+ padding: "".concat(theme.spacing.xs, " ").concat(theme.spacing.sm),
53
+ borderBottom: border
54
+ },
55
+ collapsible: {
56
+ backgroundColor: rowBackgroundColor,
57
+ borderBottom: border
58
+ }
59
+ };
60
+ });
61
+
62
+ //# sourceMappingURL=RowLayout.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/components/table/layouts/RowLayout.styles.ts"],"sourcesContent":["import {createStyles, rem} from '@mantine/core';\nexport interface RowLayoutStylesParams {\n multiRowSelectionEnabled: boolean;\n disableRowSelection: boolean;\n}\n\nexport default createStyles<string, RowLayoutStylesParams>((theme, {multiRowSelectionEnabled, disableRowSelection}) => {\n const rowBackgroundColor =\n theme.colorScheme === 'dark' ? theme.fn.rgba(theme.colors[theme.primaryColor][7], 0.2) : theme.colors.gray[1];\n const border = `${rem(1)} solid ${theme.colorScheme === 'dark' ? theme.colors.dark[4] : theme.colors.gray[3]}`;\n return {\n headerColumns: {\n '& th:first-of-type > *': {\n paddingLeft: '40px',\n },\n\n '& input[type=checkbox]': {\n backgroundColor: disableRowSelection ? `${theme.colors.gray[2]}` : undefined,\n borderColor: disableRowSelection ? `${theme.colors.gray[3]}` : `${theme.colors.gray[4]}`,\n pointerEvents: disableRowSelection ? 'none' : 'auto',\n cursor: disableRowSelection ? 'not-allowed' : 'default',\n\n '& + svg': {\n color: disableRowSelection ? `${theme.colors.gray[5]}` : 'inherit',\n },\n },\n },\n\n rowSelected: {\n backgroundColor: multiRowSelectionEnabled ? undefined : rowBackgroundColor,\n },\n\n rowUnselectable: {\n '& input[type=checkbox]': {\n backgroundColor: `${theme.colors.gray[2]}`,\n borderColor: `${theme.colors.gray[3]}`,\n pointerEvents: 'none',\n cursor: 'not-allowed',\n\n '&:checked + svg': {\n color: `${theme.colors.gray[5]}`,\n },\n },\n },\n\n rowCollapsibleButtonCell: {\n textAlign: 'right',\n padding: `calc(${theme.spacing.xs}/2) ${theme.spacing.sm} !important`,\n },\n\n row: {\n '& td:first-of-type': {\n paddingLeft: '40px',\n },\n '&:hover': {\n backgroundColor: rowBackgroundColor,\n },\n overflowWrap: 'anywhere',\n },\n\n cell: {\n verticalAlign: 'middle',\n // We must use height instead of minHeight here, otherwise it doesn't apply\n height: '56px',\n padding: `${theme.spacing.xs} ${theme.spacing.sm}`,\n borderBottom: border,\n },\n\n collapsible: {\n backgroundColor: rowBackgroundColor,\n borderBottom: border,\n },\n };\n});\n"],"names":["createStyles","rem","theme","multiRowSelectionEnabled","disableRowSelection","rowBackgroundColor","colorScheme","fn","rgba","colors","primaryColor","gray","border","dark","headerColumns","paddingLeft","backgroundColor","undefined","borderColor","pointerEvents","cursor","color","rowSelected","rowUnselectable","rowCollapsibleButtonCell","textAlign","padding","spacing","xs","sm","row","overflowWrap","cell","verticalAlign","height","borderBottom","collapsible"],"mappings":"AAAA,SAAQA,YAAY,EAAEC,GAAG,QAAO,gBAAgB;AAMhD,eAAeD,aAA4C,SAACE;QAAQC,iCAAAA,0BAA0BC,4BAAAA;IAC1F,IAAMC,qBACFH,MAAMI,WAAW,KAAK,SAASJ,MAAMK,EAAE,CAACC,IAAI,CAACN,MAAMO,MAAM,CAACP,MAAMQ,YAAY,CAAC,CAAC,EAAE,EAAE,OAAOR,MAAMO,MAAM,CAACE,IAAI,CAAC,EAAE;IACjH,IAAMC,SAAS,AAAC,GAAkBV,OAAhBD,IAAI,IAAG,WAAoF,OAA3EC,MAAMI,WAAW,KAAK,SAASJ,MAAMO,MAAM,CAACI,IAAI,CAAC,EAAE,GAAGX,MAAMO,MAAM,CAACE,IAAI,CAAC,EAAE;IAC5G,OAAO;QACHG,eAAe;YACX,0BAA0B;gBACtBC,aAAa;YACjB;YAEA,0BAA0B;gBACtBC,iBAAiBZ,sBAAsB,AAAC,GAAuB,OAArBF,MAAMO,MAAM,CAACE,IAAI,CAAC,EAAE,IAAKM;gBACnEC,aAAad,sBAAsB,AAAC,GAAuB,OAArBF,MAAMO,MAAM,CAACE,IAAI,CAAC,EAAE,IAAK,AAAC,GAAuB,OAArBT,MAAMO,MAAM,CAACE,IAAI,CAAC,EAAE;gBACtFQ,eAAef,sBAAsB,SAAS;gBAC9CgB,QAAQhB,sBAAsB,gBAAgB;gBAE9C,WAAW;oBACPiB,OAAOjB,sBAAsB,AAAC,GAAuB,OAArBF,MAAMO,MAAM,CAACE,IAAI,CAAC,EAAE,IAAK;gBAC7D;YACJ;QACJ;QAEAW,aAAa;YACTN,iBAAiBb,2BAA2Bc,YAAYZ;QAC5D;QAEAkB,iBAAiB;YACb,0BAA0B;gBACtBP,iBAAiB,AAAC,GAAuB,OAArBd,MAAMO,MAAM,CAACE,IAAI,CAAC,EAAE;gBACxCO,aAAa,AAAC,GAAuB,OAArBhB,MAAMO,MAAM,CAACE,IAAI,CAAC,EAAE;gBACpCQ,eAAe;gBACfC,QAAQ;gBAER,mBAAmB;oBACfC,OAAO,AAAC,GAAuB,OAArBnB,MAAMO,MAAM,CAACE,IAAI,CAAC,EAAE;gBAClC;YACJ;QACJ;QAEAa,0BAA0B;YACtBC,WAAW;YACXC,SAAS,AAAC,QAA8BxB,OAAvBA,MAAMyB,OAAO,CAACC,EAAE,EAAC,QAAuB,OAAjB1B,MAAMyB,OAAO,CAACE,EAAE,EAAC;QAC7D;QAEAC,KAAK;YACD,sBAAsB;gBAClBf,aAAa;YACjB;YACA,WAAW;gBACPC,iBAAiBX;YACrB;YACA0B,cAAc;QAClB;QAEAC,MAAM;YACFC,eAAe;YACf,2EAA2E;YAC3EC,QAAQ;YACRR,SAAS,AAAC,GAAsBxB,OAApBA,MAAMyB,OAAO,CAACC,EAAE,EAAC,KAAoB,OAAjB1B,MAAMyB,OAAO,CAACE,EAAE;YAChDM,cAAcvB;QAClB;QAEAwB,aAAa;YACTpB,iBAAiBX;YACjB8B,cAAcvB;QAClB;IACJ;AACJ,GAAG"}
@@ -0,0 +1,26 @@
1
+ import { DefaultProps, Selectors } from '@mantine/core';
2
+ import { Table } from '@tanstack/table-core';
3
+ import { ReactNode } from 'react';
4
+ import useStyles, { RowLayoutStylesParams } from './RowLayout.styles';
5
+ type RowLayoutStylesNames = Selectors<typeof useStyles>;
6
+ export interface TableLayoutProps<T = unknown> extends DefaultProps<RowLayoutStylesNames, RowLayoutStylesParams> {
7
+ table: Table<T>;
8
+ loading?: boolean;
9
+ /**
10
+ * Action passed when user double clicks on a row
11
+ */
12
+ doubleClickAction?: (datum: T) => void;
13
+ /**
14
+ * Function that generates the expandable content of a row
15
+ * Return null for rows that don't need to be expandable
16
+ *
17
+ * @param datum the row for which the children should be generated.
18
+ */
19
+ getExpandChildren?: (datum: T) => ReactNode;
20
+ /**
21
+ * Whether clicking on a selected row will deselect the row or not.
22
+ */
23
+ keepSelection?: boolean;
24
+ }
25
+ export {};
26
+ //# sourceMappingURL=RowLayout.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RowLayout.types.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/layouts/RowLayout.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAE,SAAS,EAAC,MAAM,eAAe,CAAC;AACtD,OAAO,EAAC,KAAK,EAAC,MAAM,sBAAsB,CAAC;AAC3C,OAAO,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAChC,OAAO,SAAS,EAAE,EAAC,qBAAqB,EAAC,MAAM,oBAAoB,CAAC;AAEpE,KAAK,oBAAoB,GAAG,SAAS,CAAC,OAAO,SAAS,CAAC,CAAC;AAGxD,MAAM,WAAW,gBAAgB,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,YAAY,CAAC,oBAAoB,EAAE,qBAAqB,CAAC;IAC5G,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"}
@@ -0,0 +1,3 @@
1
+ export { };
2
+
3
+ //# sourceMappingURL=RowLayout.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/components/table/layouts/RowLayout.types.ts"],"sourcesContent":["import {DefaultProps, Selectors} from '@mantine/core';\nimport {Table} from '@tanstack/table-core';\nimport {ReactNode} from 'react';\nimport useStyles, {RowLayoutStylesParams} from './RowLayout.styles';\n\ntype RowLayoutStylesNames = Selectors<typeof useStyles>;\n\n// TODO https://coveord.atlassian.net/browse/ADUI-9182\nexport interface TableLayoutProps<T = unknown> extends DefaultProps<RowLayoutStylesNames, RowLayoutStylesParams> {\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"],"names":[],"mappings":"AAAA,WA0BC"}
@@ -0,0 +1,2 @@
1
+ export declare const TableLayoutControl: () => import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=TableLayoutControl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableLayoutControl.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/layouts/TableLayoutControl.tsx"],"names":[],"mappings":"AAIA,eAAO,MAAM,kBAAkB,+CAwB9B,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
2
2
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
3
  import { Box, Center, Grid, SegmentedControl, Space } from "@mantine/core";
4
- import { TableComponentsOrder } from "./Table.styles";
5
- import { useTable } from "./TableContext";
4
+ import { TableComponentsOrder } from "../Table.styles";
5
+ import { useTable } from "../TableContext";
6
6
  export var TableLayoutControl = function() {
7
7
  var _useTable = useTable(), form = _useTable.form, layouts = _useTable.layouts;
8
8
  return layouts.length > 1 ? /*#__PURE__*/ _jsx(Grid.Col, {