@coveord/plasma-mantine 54.1.2 → 54.2.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 (315) hide show
  1. package/.turbo/turbo-build.log +3 -3
  2. package/.turbo/turbo-test.log +33 -33
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/cjs/__tests__/Utils.d.ts +8 -0
  5. package/dist/cjs/__tests__/Utils.d.ts.map +1 -0
  6. package/dist/cjs/__tests__/VitestSetup.d.ts +6 -0
  7. package/dist/cjs/__tests__/VitestSetup.d.ts.map +1 -0
  8. package/dist/cjs/components/action-icon/ActionIcon.d.ts +1 -1
  9. package/dist/cjs/components/action-icon/ActionIcon.d.ts.map +1 -1
  10. package/dist/cjs/components/action-icon/ActionIcon.js.map +1 -1
  11. package/dist/cjs/components/blank-slate/__tests__/BlankSlate.spec.d.ts +2 -0
  12. package/dist/cjs/components/blank-slate/__tests__/BlankSlate.spec.d.ts.map +1 -0
  13. package/dist/cjs/components/browser-preview/__tests__/BrowserPreview.spec.d.ts +2 -0
  14. package/dist/cjs/components/browser-preview/__tests__/BrowserPreview.spec.d.ts.map +1 -0
  15. package/dist/cjs/components/button/Button.d.ts +1 -1
  16. package/dist/cjs/components/button/Button.d.ts.map +1 -1
  17. package/dist/cjs/components/button/Button.js.map +1 -1
  18. package/dist/cjs/components/button/__tests__/Button.spec.d.ts +2 -0
  19. package/dist/cjs/components/button/__tests__/Button.spec.d.ts.map +1 -0
  20. package/dist/cjs/components/button/__tests__/ButtonWithDisabledTooltip.spec.d.ts +2 -0
  21. package/dist/cjs/components/button/__tests__/ButtonWithDisabledTooltip.spec.d.ts.map +1 -0
  22. package/dist/cjs/components/code-editor/CodeEditor.module.css +1 -0
  23. package/dist/cjs/components/code-editor/__tests__/CodeEditor.spec.d.ts +2 -0
  24. package/dist/cjs/components/code-editor/__tests__/CodeEditor.spec.d.ts.map +1 -0
  25. package/dist/cjs/components/code-editor/search/__tests__/Search.unit.spec.d.ts +2 -0
  26. package/dist/cjs/components/code-editor/search/__tests__/Search.unit.spec.d.ts.map +1 -0
  27. package/dist/cjs/components/collection/Collection.js.map +1 -1
  28. package/dist/cjs/components/collection/Collection.module.css +2 -0
  29. package/dist/cjs/components/collection/CollectionContext.d.ts +1 -1
  30. package/dist/cjs/components/collection/CollectionContext.d.ts.map +1 -1
  31. package/dist/cjs/components/collection/__tests__/Collection.spec.d.ts +2 -0
  32. package/dist/cjs/components/collection/__tests__/Collection.spec.d.ts.map +1 -0
  33. package/dist/cjs/components/copyToClipboard/__tests__/CopyToClipboard.spec.d.ts +2 -0
  34. package/dist/cjs/components/copyToClipboard/__tests__/CopyToClipboard.spec.d.ts.map +1 -0
  35. package/dist/cjs/components/date-range-picker/DateRangePickerPopoverCalendar.d.ts +2 -2
  36. package/dist/cjs/components/date-range-picker/DateRangePickerPopoverCalendar.d.ts.map +1 -1
  37. package/dist/cjs/components/date-range-picker/DateRangePickerPopoverCalendar.js.map +1 -1
  38. package/dist/cjs/components/date-range-picker/DateRangePickerPresetSelect.d.ts +2 -2
  39. package/dist/cjs/components/date-range-picker/DateRangePickerPresetSelect.d.ts.map +1 -1
  40. package/dist/cjs/components/date-range-picker/DateRangePickerPresetSelect.js +1 -1
  41. package/dist/cjs/components/date-range-picker/DateRangePickerPresetSelect.js.map +1 -1
  42. package/dist/cjs/components/date-range-picker/__tests__/DateRangePickerInlineCalendar.spec.d.ts +2 -0
  43. package/dist/cjs/components/date-range-picker/__tests__/DateRangePickerInlineCalendar.spec.d.ts.map +1 -0
  44. package/dist/cjs/components/date-range-picker/__tests__/DateRangePickerPopoverCalendar.spec.d.ts +2 -0
  45. package/dist/cjs/components/date-range-picker/__tests__/DateRangePickerPopoverCalendar.spec.d.ts.map +1 -0
  46. package/dist/cjs/components/date-range-picker/__tests__/DateRangePickerPresetSelect.spec.d.ts +2 -0
  47. package/dist/cjs/components/date-range-picker/__tests__/DateRangePickerPresetSelect.spec.d.ts.map +1 -0
  48. package/dist/cjs/components/date-range-picker/__tests__/EditableDateRangePicker.spec.d.ts +2 -0
  49. package/dist/cjs/components/date-range-picker/__tests__/EditableDateRangePicker.spec.d.ts.map +1 -0
  50. package/dist/cjs/components/header/Header.context.d.ts +1 -1
  51. package/dist/cjs/components/header/Header.context.d.ts.map +1 -1
  52. package/dist/cjs/components/header/Header.module.css +3 -0
  53. package/dist/cjs/components/header/__tests__/Header.spec.d.ts +2 -0
  54. package/dist/cjs/components/header/__tests__/Header.spec.d.ts.map +1 -0
  55. package/dist/cjs/components/inline-confirm/InlineConfirmContext.d.ts +1 -1
  56. package/dist/cjs/components/inline-confirm/InlineConfirmContext.d.ts.map +1 -1
  57. package/dist/cjs/components/inline-confirm/__tests__/InlineConfirm.spec.d.ts +2 -0
  58. package/dist/cjs/components/inline-confirm/__tests__/InlineConfirm.spec.d.ts.map +1 -0
  59. package/dist/cjs/components/menu/Menu.d.ts +1 -1
  60. package/dist/cjs/components/prompt/Prompt.context.d.ts +1 -1
  61. package/dist/cjs/components/prompt/Prompt.context.d.ts.map +1 -1
  62. package/dist/cjs/components/prompt/__tests__/Prompt.spec.d.ts +2 -0
  63. package/dist/cjs/components/prompt/__tests__/Prompt.spec.d.ts.map +1 -0
  64. package/dist/cjs/components/sticky-footer/StickyFooter.module.css +2 -4
  65. package/dist/cjs/components/sticky-footer/__tests__/StickyFooter.spec.d.ts +2 -0
  66. package/dist/cjs/components/sticky-footer/__tests__/StickyFooter.spec.d.ts.map +1 -0
  67. package/dist/cjs/components/table/Table.js +2 -3
  68. package/dist/cjs/components/table/Table.js.map +1 -1
  69. package/dist/cjs/components/table/Table.module.css +3 -0
  70. package/dist/cjs/components/table/Table.types.d.ts +2 -2
  71. package/dist/cjs/components/table/Table.types.d.ts.map +1 -1
  72. package/dist/cjs/components/table/__tests__/Table.spec.d.ts +2 -0
  73. package/dist/cjs/components/table/__tests__/Table.spec.d.ts.map +1 -0
  74. package/dist/cjs/components/table/__tests__/TableActions.spec.d.ts +2 -0
  75. package/dist/cjs/components/table/__tests__/TableActions.spec.d.ts.map +1 -0
  76. package/dist/cjs/components/table/__tests__/TableCollapsibleColumn.spec.d.ts +2 -0
  77. package/dist/cjs/components/table/__tests__/TableCollapsibleColumn.spec.d.ts.map +1 -0
  78. package/dist/cjs/components/table/__tests__/TableColumnsSelector.spec.d.ts +2 -0
  79. package/dist/cjs/components/table/__tests__/TableColumnsSelector.spec.d.ts.map +1 -0
  80. package/dist/cjs/components/table/__tests__/TableDateRangePicker.spec.d.ts +2 -0
  81. package/dist/cjs/components/table/__tests__/TableDateRangePicker.spec.d.ts.map +1 -0
  82. package/dist/cjs/components/table/__tests__/TableFilter.spec.d.ts +2 -0
  83. package/dist/cjs/components/table/__tests__/TableFilter.spec.d.ts.map +1 -0
  84. package/dist/cjs/components/table/__tests__/TableLastUpdated.spec.d.ts +2 -0
  85. package/dist/cjs/components/table/__tests__/TableLastUpdated.spec.d.ts.map +1 -0
  86. package/dist/cjs/components/table/__tests__/TablePagination.spec.d.ts +2 -0
  87. package/dist/cjs/components/table/__tests__/TablePagination.spec.d.ts.map +1 -0
  88. package/dist/cjs/components/table/__tests__/TablePerPage.spec.d.ts +2 -0
  89. package/dist/cjs/components/table/__tests__/TablePerPage.spec.d.ts.map +1 -0
  90. package/dist/cjs/components/table/__tests__/TablePredicate.spec.d.ts +2 -0
  91. package/dist/cjs/components/table/__tests__/TablePredicate.spec.d.ts.map +1 -0
  92. package/dist/cjs/components/table/__tests__/Th.spec.d.ts +2 -0
  93. package/dist/cjs/components/table/__tests__/Th.spec.d.ts.map +1 -0
  94. package/dist/cjs/components/table/layouts/__tests__/RowLayout.spec.d.ts +2 -0
  95. package/dist/cjs/components/table/layouts/__tests__/RowLayout.spec.d.ts.map +1 -0
  96. package/dist/cjs/components/table/layouts/row-layout/RowLayout.js +1 -1
  97. package/dist/cjs/components/table/layouts/row-layout/RowLayout.js.map +1 -1
  98. package/dist/cjs/components/table/layouts/row-layout/RowLayout.module.css +8 -1
  99. package/dist/cjs/components/table/layouts/row-layout/RowLayoutBody.js +1 -2
  100. package/dist/cjs/components/table/layouts/row-layout/RowLayoutBody.js.map +1 -1
  101. package/dist/cjs/components/table/layouts/row-layout/RowLayoutContext.d.ts +1 -1
  102. package/dist/cjs/components/table/layouts/row-layout/RowLayoutContext.d.ts.map +1 -1
  103. package/dist/cjs/components/table/table-actions/TableActionContext.d.ts +1 -1
  104. package/dist/cjs/components/table/table-actions/TableActionContext.d.ts.map +1 -1
  105. package/dist/cjs/components/table/table-columns-selector/TableColumnsSelector.d.ts.map +1 -1
  106. package/dist/cjs/components/table/table-columns-selector/TableColumnsSelector.js +5 -2
  107. package/dist/cjs/components/table/table-columns-selector/TableColumnsSelector.js.map +1 -1
  108. package/dist/cjs/components/table/use-table.d.ts +12 -11
  109. package/dist/cjs/components/table/use-table.d.ts.map +1 -1
  110. package/dist/cjs/components/table/use-table.js.map +1 -1
  111. package/dist/cjs/hooks/__tests__/useControlledList.spec.d.ts +2 -0
  112. package/dist/cjs/hooks/__tests__/useControlledList.spec.d.ts.map +1 -0
  113. package/dist/cjs/hooks/useParentHeight.d.ts +2 -1
  114. package/dist/cjs/hooks/useParentHeight.d.ts.map +1 -1
  115. package/dist/cjs/hooks/useParentHeight.js.map +1 -1
  116. package/dist/cjs/index.d.ts +4 -4
  117. package/dist/cjs/index.d.ts.map +1 -1
  118. package/dist/cjs/index.js.map +1 -1
  119. package/dist/cjs/styles/Alert.module.css +2 -0
  120. package/dist/cjs/styles/Checkbox.module.css +1 -0
  121. package/dist/cjs/styles/Combobox.module.css +1 -0
  122. package/dist/cjs/styles/Modal.module.css +6 -0
  123. package/dist/cjs/styles/NavLink.module.css +1 -1
  124. package/dist/cjs/styles/Notification.module.css +1 -0
  125. package/dist/cjs/styles/Pagination.module.css +3 -0
  126. package/dist/cjs/styles/Select.module.css +8 -1
  127. package/dist/cjs/styles/Skeleton.module.css +1 -0
  128. package/dist/cjs/styles/Stepper.module.css +14 -0
  129. package/dist/cjs/styles/Tabs.module.css +12 -30
  130. package/dist/cjs/theme/Theme.d.ts.map +1 -1
  131. package/dist/cjs/theme/Theme.js +5 -3
  132. package/dist/cjs/theme/Theme.js.map +1 -1
  133. package/dist/cjs/theme/__tests__/mergeCSSVariablesResolvers.spec.d.ts +2 -0
  134. package/dist/cjs/theme/__tests__/mergeCSSVariablesResolvers.spec.d.ts.map +1 -0
  135. package/dist/cjs/theme/__tests__/plasmaCSSVariablesResolver.spec.d.ts +2 -0
  136. package/dist/cjs/theme/__tests__/plasmaCSSVariablesResolver.spec.d.ts.map +1 -0
  137. package/dist/cjs/utils/__tests__/overrideComponent.spec.d.ts +2 -0
  138. package/dist/cjs/utils/__tests__/overrideComponent.spec.d.ts.map +1 -0
  139. package/dist/esm/__tests__/Utils.d.ts +8 -0
  140. package/dist/esm/__tests__/Utils.d.ts.map +1 -0
  141. package/dist/esm/__tests__/VitestSetup.d.ts +6 -0
  142. package/dist/esm/__tests__/VitestSetup.d.ts.map +1 -0
  143. package/dist/esm/components/action-icon/ActionIcon.d.ts +1 -1
  144. package/dist/esm/components/action-icon/ActionIcon.d.ts.map +1 -1
  145. package/dist/esm/components/action-icon/ActionIcon.js.map +1 -1
  146. package/dist/esm/components/blank-slate/__tests__/BlankSlate.spec.d.ts +2 -0
  147. package/dist/esm/components/blank-slate/__tests__/BlankSlate.spec.d.ts.map +1 -0
  148. package/dist/esm/components/browser-preview/__tests__/BrowserPreview.spec.d.ts +2 -0
  149. package/dist/esm/components/browser-preview/__tests__/BrowserPreview.spec.d.ts.map +1 -0
  150. package/dist/esm/components/button/Button.d.ts +1 -1
  151. package/dist/esm/components/button/Button.d.ts.map +1 -1
  152. package/dist/esm/components/button/Button.js.map +1 -1
  153. package/dist/esm/components/button/__tests__/Button.spec.d.ts +2 -0
  154. package/dist/esm/components/button/__tests__/Button.spec.d.ts.map +1 -0
  155. package/dist/esm/components/button/__tests__/ButtonWithDisabledTooltip.spec.d.ts +2 -0
  156. package/dist/esm/components/button/__tests__/ButtonWithDisabledTooltip.spec.d.ts.map +1 -0
  157. package/dist/esm/components/code-editor/CodeEditor.module.css +1 -0
  158. package/dist/esm/components/code-editor/__tests__/CodeEditor.spec.d.ts +2 -0
  159. package/dist/esm/components/code-editor/__tests__/CodeEditor.spec.d.ts.map +1 -0
  160. package/dist/esm/components/code-editor/search/__tests__/Search.unit.spec.d.ts +2 -0
  161. package/dist/esm/components/code-editor/search/__tests__/Search.unit.spec.d.ts.map +1 -0
  162. package/dist/esm/components/collection/Collection.module.css +2 -0
  163. package/dist/esm/components/collection/CollectionContext.d.ts +1 -1
  164. package/dist/esm/components/collection/CollectionContext.d.ts.map +1 -1
  165. package/dist/esm/components/collection/__tests__/Collection.spec.d.ts +2 -0
  166. package/dist/esm/components/collection/__tests__/Collection.spec.d.ts.map +1 -0
  167. package/dist/esm/components/copyToClipboard/__tests__/CopyToClipboard.spec.d.ts +2 -0
  168. package/dist/esm/components/copyToClipboard/__tests__/CopyToClipboard.spec.d.ts.map +1 -0
  169. package/dist/esm/components/date-range-picker/DateRangePickerPopoverCalendar.d.ts +2 -2
  170. package/dist/esm/components/date-range-picker/DateRangePickerPopoverCalendar.d.ts.map +1 -1
  171. package/dist/esm/components/date-range-picker/DateRangePickerPopoverCalendar.js.map +1 -1
  172. package/dist/esm/components/date-range-picker/DateRangePickerPresetSelect.d.ts +2 -2
  173. package/dist/esm/components/date-range-picker/DateRangePickerPresetSelect.d.ts.map +1 -1
  174. package/dist/esm/components/date-range-picker/DateRangePickerPresetSelect.js +1 -1
  175. package/dist/esm/components/date-range-picker/DateRangePickerPresetSelect.js.map +1 -1
  176. package/dist/esm/components/date-range-picker/__tests__/DateRangePickerInlineCalendar.spec.d.ts +2 -0
  177. package/dist/esm/components/date-range-picker/__tests__/DateRangePickerInlineCalendar.spec.d.ts.map +1 -0
  178. package/dist/esm/components/date-range-picker/__tests__/DateRangePickerPopoverCalendar.spec.d.ts +2 -0
  179. package/dist/esm/components/date-range-picker/__tests__/DateRangePickerPopoverCalendar.spec.d.ts.map +1 -0
  180. package/dist/esm/components/date-range-picker/__tests__/DateRangePickerPresetSelect.spec.d.ts +2 -0
  181. package/dist/esm/components/date-range-picker/__tests__/DateRangePickerPresetSelect.spec.d.ts.map +1 -0
  182. package/dist/esm/components/date-range-picker/__tests__/EditableDateRangePicker.spec.d.ts +2 -0
  183. package/dist/esm/components/date-range-picker/__tests__/EditableDateRangePicker.spec.d.ts.map +1 -0
  184. package/dist/esm/components/header/Header.context.d.ts +1 -1
  185. package/dist/esm/components/header/Header.context.d.ts.map +1 -1
  186. package/dist/esm/components/header/Header.module.css +3 -0
  187. package/dist/esm/components/header/__tests__/Header.spec.d.ts +2 -0
  188. package/dist/esm/components/header/__tests__/Header.spec.d.ts.map +1 -0
  189. package/dist/esm/components/inline-confirm/InlineConfirmContext.d.ts +1 -1
  190. package/dist/esm/components/inline-confirm/InlineConfirmContext.d.ts.map +1 -1
  191. package/dist/esm/components/inline-confirm/__tests__/InlineConfirm.spec.d.ts +2 -0
  192. package/dist/esm/components/inline-confirm/__tests__/InlineConfirm.spec.d.ts.map +1 -0
  193. package/dist/esm/components/menu/Menu.d.ts +1 -1
  194. package/dist/esm/components/prompt/Prompt.context.d.ts +1 -1
  195. package/dist/esm/components/prompt/Prompt.context.d.ts.map +1 -1
  196. package/dist/esm/components/prompt/__tests__/Prompt.spec.d.ts +2 -0
  197. package/dist/esm/components/prompt/__tests__/Prompt.spec.d.ts.map +1 -0
  198. package/dist/esm/components/sticky-footer/StickyFooter.module.css +2 -4
  199. package/dist/esm/components/sticky-footer/__tests__/StickyFooter.spec.d.ts +2 -0
  200. package/dist/esm/components/sticky-footer/__tests__/StickyFooter.spec.d.ts.map +1 -0
  201. package/dist/esm/components/table/Table.js +2 -2
  202. package/dist/esm/components/table/Table.js.map +1 -1
  203. package/dist/esm/components/table/Table.module.css +3 -0
  204. package/dist/esm/components/table/Table.types.d.ts +2 -2
  205. package/dist/esm/components/table/Table.types.d.ts.map +1 -1
  206. package/dist/esm/components/table/Table.types.js.map +1 -1
  207. package/dist/esm/components/table/__tests__/Table.spec.d.ts +2 -0
  208. package/dist/esm/components/table/__tests__/Table.spec.d.ts.map +1 -0
  209. package/dist/esm/components/table/__tests__/TableActions.spec.d.ts +2 -0
  210. package/dist/esm/components/table/__tests__/TableActions.spec.d.ts.map +1 -0
  211. package/dist/esm/components/table/__tests__/TableCollapsibleColumn.spec.d.ts +2 -0
  212. package/dist/esm/components/table/__tests__/TableCollapsibleColumn.spec.d.ts.map +1 -0
  213. package/dist/esm/components/table/__tests__/TableColumnsSelector.spec.d.ts +2 -0
  214. package/dist/esm/components/table/__tests__/TableColumnsSelector.spec.d.ts.map +1 -0
  215. package/dist/esm/components/table/__tests__/TableDateRangePicker.spec.d.ts +2 -0
  216. package/dist/esm/components/table/__tests__/TableDateRangePicker.spec.d.ts.map +1 -0
  217. package/dist/esm/components/table/__tests__/TableFilter.spec.d.ts +2 -0
  218. package/dist/esm/components/table/__tests__/TableFilter.spec.d.ts.map +1 -0
  219. package/dist/esm/components/table/__tests__/TableLastUpdated.spec.d.ts +2 -0
  220. package/dist/esm/components/table/__tests__/TableLastUpdated.spec.d.ts.map +1 -0
  221. package/dist/esm/components/table/__tests__/TablePagination.spec.d.ts +2 -0
  222. package/dist/esm/components/table/__tests__/TablePagination.spec.d.ts.map +1 -0
  223. package/dist/esm/components/table/__tests__/TablePerPage.spec.d.ts +2 -0
  224. package/dist/esm/components/table/__tests__/TablePerPage.spec.d.ts.map +1 -0
  225. package/dist/esm/components/table/__tests__/TablePredicate.spec.d.ts +2 -0
  226. package/dist/esm/components/table/__tests__/TablePredicate.spec.d.ts.map +1 -0
  227. package/dist/esm/components/table/__tests__/Th.spec.d.ts +2 -0
  228. package/dist/esm/components/table/__tests__/Th.spec.d.ts.map +1 -0
  229. package/dist/esm/components/table/layouts/__tests__/RowLayout.spec.d.ts +2 -0
  230. package/dist/esm/components/table/layouts/__tests__/RowLayout.spec.d.ts.map +1 -0
  231. package/dist/esm/components/table/layouts/row-layout/RowLayout.js +1 -1
  232. package/dist/esm/components/table/layouts/row-layout/RowLayout.js.map +1 -1
  233. package/dist/esm/components/table/layouts/row-layout/RowLayout.module.css +8 -1
  234. package/dist/esm/components/table/layouts/row-layout/RowLayoutBody.js +1 -1
  235. package/dist/esm/components/table/layouts/row-layout/RowLayoutBody.js.map +1 -1
  236. package/dist/esm/components/table/layouts/row-layout/RowLayoutContext.d.ts +1 -1
  237. package/dist/esm/components/table/layouts/row-layout/RowLayoutContext.d.ts.map +1 -1
  238. package/dist/esm/components/table/table-actions/TableActionContext.d.ts +1 -1
  239. package/dist/esm/components/table/table-actions/TableActionContext.d.ts.map +1 -1
  240. package/dist/esm/components/table/table-columns-selector/TableColumnsSelector.d.ts.map +1 -1
  241. package/dist/esm/components/table/table-columns-selector/TableColumnsSelector.js +5 -2
  242. package/dist/esm/components/table/table-columns-selector/TableColumnsSelector.js.map +1 -1
  243. package/dist/esm/components/table/use-table.d.ts +12 -11
  244. package/dist/esm/components/table/use-table.d.ts.map +1 -1
  245. package/dist/esm/components/table/use-table.js.map +1 -1
  246. package/dist/esm/hooks/__tests__/useControlledList.spec.d.ts +2 -0
  247. package/dist/esm/hooks/__tests__/useControlledList.spec.d.ts.map +1 -0
  248. package/dist/esm/hooks/useParentHeight.d.ts +2 -1
  249. package/dist/esm/hooks/useParentHeight.d.ts.map +1 -1
  250. package/dist/esm/hooks/useParentHeight.js.map +1 -1
  251. package/dist/esm/index.d.ts +4 -4
  252. package/dist/esm/index.d.ts.map +1 -1
  253. package/dist/esm/index.js.map +1 -1
  254. package/dist/esm/styles/Alert.module.css +2 -0
  255. package/dist/esm/styles/Checkbox.module.css +1 -0
  256. package/dist/esm/styles/Combobox.module.css +1 -0
  257. package/dist/esm/styles/Modal.module.css +6 -0
  258. package/dist/esm/styles/NavLink.module.css +1 -1
  259. package/dist/esm/styles/Notification.module.css +1 -0
  260. package/dist/esm/styles/Pagination.module.css +3 -0
  261. package/dist/esm/styles/Select.module.css +8 -1
  262. package/dist/esm/styles/Skeleton.module.css +1 -0
  263. package/dist/esm/styles/Stepper.module.css +14 -0
  264. package/dist/esm/styles/Tabs.module.css +12 -30
  265. package/dist/esm/theme/Theme.d.ts.map +1 -1
  266. package/dist/esm/theme/Theme.js +5 -3
  267. package/dist/esm/theme/Theme.js.map +1 -1
  268. package/dist/esm/theme/__tests__/mergeCSSVariablesResolvers.spec.d.ts +2 -0
  269. package/dist/esm/theme/__tests__/mergeCSSVariablesResolvers.spec.d.ts.map +1 -0
  270. package/dist/esm/theme/__tests__/plasmaCSSVariablesResolver.spec.d.ts +2 -0
  271. package/dist/esm/theme/__tests__/plasmaCSSVariablesResolver.spec.d.ts.map +1 -0
  272. package/dist/esm/utils/__tests__/overrideComponent.spec.d.ts +2 -0
  273. package/dist/esm/utils/__tests__/overrideComponent.spec.d.ts.map +1 -0
  274. package/package.json +28 -32
  275. package/src/components/action-icon/ActionIcon.tsx +1 -1
  276. package/src/components/button/Button.tsx +3 -3
  277. package/src/components/code-editor/CodeEditor.module.css +1 -0
  278. package/src/components/collection/Collection.module.css +2 -0
  279. package/src/components/collection/__tests__/Collection.spec.tsx +5 -7
  280. package/src/components/date-range-picker/DateRangePickerPopoverCalendar.tsx +3 -3
  281. package/src/components/date-range-picker/DateRangePickerPresetSelect.tsx +4 -4
  282. package/src/components/header/Header.module.css +3 -0
  283. package/src/components/sticky-footer/StickyFooter.module.css +2 -4
  284. package/src/components/table/Table.module.css +3 -0
  285. package/src/components/table/Table.tsx +2 -2
  286. package/src/components/table/Table.types.ts +2 -2
  287. package/src/components/table/__tests__/Table.spec.tsx +1 -1
  288. package/src/components/table/__tests__/TableDateRangePicker.spec.tsx +2 -2
  289. package/src/components/table/__tests__/TableLastUpdated.spec.tsx +1 -1
  290. package/src/components/table/__tests__/Th.spec.tsx +1 -1
  291. package/src/components/table/layouts/__tests__/RowLayout.spec.tsx +3 -5
  292. package/src/components/table/layouts/row-layout/RowLayout.module.css +8 -1
  293. package/src/components/table/layouts/row-layout/RowLayout.tsx +1 -1
  294. package/src/components/table/layouts/row-layout/RowLayoutBody.tsx +1 -1
  295. package/src/components/table/table-columns-selector/TableColumnsSelector.tsx +4 -3
  296. package/src/components/table/use-table.ts +17 -19
  297. package/src/hooks/useParentHeight.ts +2 -2
  298. package/src/index.ts +4 -6
  299. package/src/styles/Alert.module.css +2 -0
  300. package/src/styles/Checkbox.module.css +1 -0
  301. package/src/styles/Combobox.module.css +1 -0
  302. package/src/styles/Modal.module.css +6 -0
  303. package/src/styles/NavLink.module.css +1 -1
  304. package/src/styles/Notification.module.css +1 -0
  305. package/src/styles/Pagination.module.css +3 -0
  306. package/src/styles/Select.module.css +8 -1
  307. package/src/styles/Skeleton.module.css +1 -0
  308. package/src/styles/Stepper.module.css +14 -0
  309. package/src/styles/Tabs.module.css +12 -30
  310. package/src/theme/Theme.tsx +6 -1
  311. package/tsconfig.json +1 -6
  312. package/tsconfig.test.json +8 -0
  313. package/vitest.config.ts +1 -4
  314. package/.eslintrc.js +0 -28
  315. package/tsconfig.build.json +0 -5
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/table/Table.tsx"],"sourcesContent":["import {Box, Center, Factory, Loader, useProps, useStyles} from '@mantine/core';\nimport {useClickOutside, useMergedRef} from '@mantine/hooks';\nimport {\n ColumnDef,\n Row,\n RowSelectionState,\n defaultColumnSizing,\n getCoreRowModel,\n useReactTable,\n} from '@tanstack/react-table';\nimport isEqual from 'fast-deep-equal';\nimport {Children, ForwardedRef, ReactElement, useEffect, useRef} from 'react';\nimport {CustomComponentThemeExtend, identity} from '../../utils';\nimport classes from './Table.module.css';\nimport {TableLayout, TableProps} from './Table.types';\nimport {TableProvider} from './TableContext';\nimport {TableLayouts} from './layouts/TableLayouts';\nimport {TableActionItem, TableActionItemStylesNames, TableHeaderActionsStylesNames} from './table-actions';\nimport {TableActionsListStylesNames} from './table-actions/TableActionsList';\nimport {TableActionsColumn} from './table-column/TableActionsColumn';\nimport {\n TableAccordionColumn,\n TableCollapsibleColumn,\n TableCollapsibleColumnStylesNames,\n} from './table-column/TableCollapsibleColumn';\nimport {TableSelectableColumn} from './table-column/TableSelectableColumn';\nimport {TableColumnsSelector, TableColumnsSelectorStylesNames} from './table-columns-selector/TableColumnsSelector';\nimport {TableDateRangePicker, TableDateRangePickerStylesNames} from './table-date-range-picker/TableDateRangePicker';\nimport {TableFilter, TableFilterStylesNames} from './table-filter/TableFilter';\nimport {TableFooter} from './table-footer/TableFooter';\nimport {TableHeader, TableHeaderStylesNames} from './table-header/TableHeader';\nimport {TableThStylesNames} from './table-header/Th';\nimport {TableLastUpdated, TableLastUpdatedStylesNames} from './table-last-updated/TableLastUpdated';\nimport {TableLoading} from './table-loading/TableLoading';\nimport {TableNoData} from './table-no-data/TableNoData';\nimport {TablePagination} from './table-pagination/TablePagination';\nimport {TablePerPage} from './table-per-page/TablePerPage';\nimport {TablePredicate, TablePredicateStylesNames} from './table-predicate/TablePredicate';\nimport {TableState} from './use-table';\n\ntype TableStylesNames =\n | 'root'\n | 'table'\n | 'header'\n | 'body'\n | TableHeaderActionsStylesNames\n | TableActionsListStylesNames\n | TableActionItemStylesNames\n | TableCollapsibleColumnStylesNames\n | TableDateRangePickerStylesNames\n | TableFilterStylesNames\n | TableHeaderStylesNames\n | TableThStylesNames\n | TableLastUpdatedStylesNames\n | TablePredicateStylesNames\n | TableColumnsSelectorStylesNames;\n\nexport type PlasmaTableFactory = Factory<{\n props: TableProps<unknown>;\n ref: HTMLDivElement;\n stylesNames: TableStylesNames;\n staticComponents: {\n AccordionColumn: typeof TableAccordionColumn;\n ActionsColumn: typeof TableActionsColumn;\n ActionItem: typeof TableActionItem;\n CollapsibleColumn: typeof TableCollapsibleColumn;\n ColumnsSelector: typeof TableColumnsSelector;\n DateRangePicker: typeof TableDateRangePicker;\n Filter: typeof TableFilter;\n Footer: typeof TableFooter;\n Header: typeof TableHeader;\n LastUpdated: typeof TableLastUpdated;\n Layouts: typeof TableLayouts;\n Loading: typeof TableLoading;\n NoData: typeof TableNoData;\n Pagination: typeof TablePagination;\n PerPage: typeof TablePerPage;\n Predicate: typeof TablePredicate;\n };\n}>;\n\nconst defaultProps: Partial<TableProps<unknown>> = {\n layouts: [TableLayouts.Rows as TableLayout],\n layoutProps: {},\n loading: false,\n additionalRootNodes: [],\n options: {},\n getRowActions: () => [],\n};\n\nexport const Table = <T,>(props: TableProps<T> & {ref?: ForwardedRef<HTMLDivElement>}) => {\n const {\n store,\n data,\n getRowId,\n getRowAttributes,\n getRowExpandedContent,\n getRowActions,\n columns,\n layouts,\n layoutProps,\n children,\n loading,\n additionalRootNodes,\n options,\n ref,\n\n // Style props\n style,\n className,\n classNames,\n styles,\n unstyled,\n ...others\n } = useProps('PlasmaTable', defaultProps as TableProps<T>, props);\n\n const getStyles = useStyles<PlasmaTableFactory>({\n name: 'PlasmaTable',\n classes,\n props: props as TableProps<unknown>,\n className,\n style,\n classNames,\n styles,\n unstyled,\n });\n\n const convertedChildren = Children.toArray(children) as ReactElement[];\n const header = convertedChildren.find((child) => child.type === TableHeader);\n const footer = convertedChildren.find((child) => child.type === TableFooter);\n const lastUpdated = convertedChildren.find((child) => child.type === TableLastUpdated);\n const noData = convertedChildren.find((child) => child.type === TableNoData);\n\n const table = useReactTable({\n data,\n state: {\n globalFilter: store.state.globalFilter,\n sorting: store.state.sorting,\n pagination: store.state.pagination,\n columnVisibility: store.state.columnVisibility,\n expanded: store.state.expanded,\n },\n onGlobalFilterChange: store.setGlobalFilter,\n onExpandedChange: store.setExpanded,\n onSortingChange: store.setSorting,\n onPaginationChange: store.setPagination,\n onColumnVisibilityChange: store.setColumnVisibility,\n columns: store.multiRowSelectionEnabled ? [TableSelectableColumn as ColumnDef<T>].concat(columns) : columns,\n getCoreRowModel: getCoreRowModel(),\n manualPagination: options?.getPaginationRowModel === undefined,\n enableMultiRowSelection: !!store.multiRowSelectionEnabled,\n getRowId,\n getRowCanExpand: (row: Row<T>) => !!getRowExpandedContent?.(row.original, row.index, row) ?? false,\n enableRowSelection: !loading,\n defaultColumn: {\n size: undefined,\n minSize: defaultColumnSizing.minSize,\n maxSize: defaultColumnSizing.maxSize,\n },\n rowCount: options?.getFilteredRowModel ? undefined : store.state.totalEntries,\n ...options,\n });\n\n table.setOptions((prev) => ({\n ...prev,\n state: {\n ...prev.state,\n rowSelection: store.state.rowSelection as RowSelectionState,\n },\n onRowSelectionChange: (rowSelectionUpdater) => {\n store.setRowSelection((old) => {\n const newRowSelection = (\n rowSelectionUpdater instanceof Function\n ? rowSelectionUpdater(old as RowSelectionState)\n : rowSelectionUpdater\n ) as TableState<T>['rowSelection'];\n\n if (isEqual(old, newRowSelection)) {\n return old;\n }\n\n const rows = table.getRowModel().rowsById;\n\n Object.keys(newRowSelection).forEach((rowId) => {\n if (newRowSelection[rowId] === true) {\n if (!rows[rowId]) {\n console.error(\n 'The table was not initialized properly, the rowSelection state should contain an object of type Record<string, TData>.',\n );\n }\n newRowSelection[rowId] = rows[rowId]?.original ?? (true as T);\n }\n });\n\n return newRowSelection;\n });\n },\n }));\n\n useEffect(() => {\n // Update the selected rows data when the data prop changes\n if (store.getSelectedRows().length > 0) {\n store.setRowSelection((old) => {\n const rowsById = table.getRowModel().rowsById;\n const newSelection = {...old};\n Object.keys(old).forEach((rowId) => {\n if (rowsById[rowId]) {\n newSelection[rowId] = rowsById[rowId].original;\n }\n });\n return isEqual(newSelection, old) ? old : newSelection;\n });\n }\n }, [data]);\n\n const containerRef = useRef<HTMLDivElement>();\n useClickOutside(\n () => {\n if (!store.multiRowSelectionEnabled && store.getSelectedRows().length > 0) {\n store.clearRowSelection();\n }\n },\n null,\n [containerRef.current, ...additionalRootNodes],\n );\n const mergedRef = useMergedRef(containerRef, ref);\n\n if (!data) {\n return (\n <Center style={{flexGrow: 1}}>\n <Loader />\n </Center>\n );\n }\n\n const Layout =\n store.state.layout === null ? layouts[0] : layouts.find(({displayName}) => displayName === store.state.layout);\n const hasRows = table.getRowModel().rows.length > 0;\n\n return (\n <Box ref={mergedRef} {...others} {...getStyles('root')}>\n <TableProvider<T> value={{getStyles, getRowActions, store, table, layouts, containerRef}}>\n <Layout>\n {store.isVacant && !store.isFiltered ? (\n noData\n ) : (\n <>\n <Box component=\"table\" {...getStyles('table')} mod={{loading}}>\n <thead {...getStyles('header')}>\n {!!header ? (\n <tr>\n <th style={{padding: 0}} colSpan={table.getAllColumns().length}>\n {header}\n </th>\n </tr>\n ) : null}\n <Layout.Header\n getRowExpandedContent={getRowExpandedContent}\n getRowAttributes={getRowAttributes}\n loading={loading}\n {...layoutProps}\n />\n </thead>\n <tbody {...getStyles('body')}>\n {hasRows ? (\n <Layout.Body\n getRowExpandedContent={getRowExpandedContent}\n getRowAttributes={getRowAttributes}\n loading={loading}\n {...layoutProps}\n />\n ) : (\n <tr>\n <td colSpan={table.getAllColumns().length}>\n <TableLoading visible={loading || !store.isFiltered}>\n {noData}\n </TableLoading>\n </td>\n </tr>\n )}\n </tbody>\n </Box>\n {footer}\n {lastUpdated}\n </>\n )}\n </Layout>\n </TableProvider>\n </Box>\n );\n};\n\nexport const TableComponentsOrder = {\n MultiSelectInfo: 7,\n Actions: 6,\n Predicate: 5,\n Filter: 4,\n DateRangePicker: 3,\n ColumnsSelector: 2,\n LayoutControl: 1,\n};\n\nTable.AccordionColumn = TableAccordionColumn;\nTable.ActionsColumn = TableActionsColumn;\nTable.ActionItem = TableActionItem;\nTable.CollapsibleColumn = TableCollapsibleColumn;\nTable.ColumnsSelector = TableColumnsSelector;\nTable.DateRangePicker = TableDateRangePicker;\nTable.Filter = TableFilter;\nTable.Footer = TableFooter;\nTable.Header = TableHeader;\nTable.LastUpdated = TableLastUpdated;\nTable.Layouts = TableLayouts;\nTable.Loading = TableLoading;\nTable.NoData = TableNoData;\nTable.Pagination = TablePagination;\nTable.PerPage = TablePerPage;\nTable.Predicate = TablePredicate;\n\nTable.extend = identity as CustomComponentThemeExtend<PlasmaTableFactory>;\n"],"names":["Table","TableComponentsOrder","defaultProps","layouts","TableLayouts","Rows","layoutProps","loading","additionalRootNodes","options","getRowActions","props","useProps","store","data","getRowId","getRowAttributes","getRowExpandedContent","columns","children","ref","style","className","classNames","styles","unstyled","others","getStyles","useStyles","name","classes","convertedChildren","Children","toArray","header","find","child","type","TableHeader","footer","TableFooter","lastUpdated","TableLastUpdated","noData","TableNoData","table","useReactTable","state","globalFilter","sorting","pagination","columnVisibility","expanded","onGlobalFilterChange","setGlobalFilter","onExpandedChange","setExpanded","onSortingChange","setSorting","onPaginationChange","setPagination","onColumnVisibilityChange","setColumnVisibility","multiRowSelectionEnabled","TableSelectableColumn","concat","getCoreRowModel","manualPagination","getPaginationRowModel","undefined","enableMultiRowSelection","getRowCanExpand","row","original","index","enableRowSelection","defaultColumn","size","minSize","defaultColumnSizing","maxSize","rowCount","getFilteredRowModel","totalEntries","setOptions","prev","rowSelection","onRowSelectionChange","rowSelectionUpdater","setRowSelection","old","newRowSelection","Function","isEqual","rows","getRowModel","rowsById","Object","keys","forEach","rowId","console","error","useEffect","getSelectedRows","length","newSelection","containerRef","useRef","useClickOutside","clearRowSelection","current","mergedRef","useMergedRef","Center","flexGrow","Loader","Layout","layout","displayName","hasRows","Box","TableProvider","value","isVacant","isFiltered","component","mod","thead","tr","th","padding","colSpan","getAllColumns","Header","tbody","Body","td","TableLoading","visible","MultiSelectInfo","Actions","Predicate","Filter","DateRangePicker","ColumnsSelector","LayoutControl","AccordionColumn","TableAccordionColumn","ActionsColumn","TableActionsColumn","ActionItem","TableActionItem","CollapsibleColumn","TableCollapsibleColumn","TableColumnsSelector","TableDateRangePicker","TableFilter","Footer","LastUpdated","Layouts","Loading","NoData","Pagination","TablePagination","PerPage","TablePerPage","TablePredicate","extend","identity"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/components/table/Table.tsx"],"sourcesContent":["import {Box, Center, Factory, Loader, useProps, useStyles} from '@mantine/core';\nimport {useClickOutside, useMergedRef} from '@mantine/hooks';\nimport {\n ColumnDef,\n Row,\n RowSelectionState,\n defaultColumnSizing,\n getCoreRowModel,\n useReactTable,\n} from '@tanstack/react-table';\nimport isEqual from 'fast-deep-equal';\nimport {Children, ForwardedRef, ReactElement, useEffect, useRef} from 'react';\nimport {CustomComponentThemeExtend, identity} from '../../utils';\nimport classes from './Table.module.css';\nimport {TableLayout, TableProps} from './Table.types';\nimport {TableProvider} from './TableContext';\nimport {TableLayouts} from './layouts/TableLayouts';\nimport {TableActionItem, TableActionItemStylesNames, TableHeaderActionsStylesNames} from './table-actions';\nimport {TableActionsListStylesNames} from './table-actions/TableActionsList';\nimport {TableActionsColumn} from './table-column/TableActionsColumn';\nimport {\n TableAccordionColumn,\n TableCollapsibleColumn,\n TableCollapsibleColumnStylesNames,\n} from './table-column/TableCollapsibleColumn';\nimport {TableSelectableColumn} from './table-column/TableSelectableColumn';\nimport {TableColumnsSelector, TableColumnsSelectorStylesNames} from './table-columns-selector/TableColumnsSelector';\nimport {TableDateRangePicker, TableDateRangePickerStylesNames} from './table-date-range-picker/TableDateRangePicker';\nimport {TableFilter, TableFilterStylesNames} from './table-filter/TableFilter';\nimport {TableFooter} from './table-footer/TableFooter';\nimport {TableHeader, TableHeaderStylesNames} from './table-header/TableHeader';\nimport {TableThStylesNames} from './table-header/Th';\nimport {TableLastUpdated, TableLastUpdatedStylesNames} from './table-last-updated/TableLastUpdated';\nimport {TableLoading} from './table-loading/TableLoading';\nimport {TableNoData} from './table-no-data/TableNoData';\nimport {TablePagination} from './table-pagination/TablePagination';\nimport {TablePerPage} from './table-per-page/TablePerPage';\nimport {TablePredicate, TablePredicateStylesNames} from './table-predicate/TablePredicate';\nimport {TableState} from './use-table';\n\ntype TableStylesNames =\n | 'root'\n | 'table'\n | 'header'\n | 'body'\n | TableHeaderActionsStylesNames\n | TableActionsListStylesNames\n | TableActionItemStylesNames\n | TableCollapsibleColumnStylesNames\n | TableDateRangePickerStylesNames\n | TableFilterStylesNames\n | TableHeaderStylesNames\n | TableThStylesNames\n | TableLastUpdatedStylesNames\n | TablePredicateStylesNames\n | TableColumnsSelectorStylesNames;\n\nexport type PlasmaTableFactory = Factory<{\n props: TableProps<unknown>;\n ref: HTMLDivElement;\n stylesNames: TableStylesNames;\n staticComponents: {\n AccordionColumn: typeof TableAccordionColumn;\n ActionsColumn: typeof TableActionsColumn;\n ActionItem: typeof TableActionItem;\n CollapsibleColumn: typeof TableCollapsibleColumn;\n ColumnsSelector: typeof TableColumnsSelector;\n DateRangePicker: typeof TableDateRangePicker;\n Filter: typeof TableFilter;\n Footer: typeof TableFooter;\n Header: typeof TableHeader;\n LastUpdated: typeof TableLastUpdated;\n Layouts: typeof TableLayouts;\n Loading: typeof TableLoading;\n NoData: typeof TableNoData;\n Pagination: typeof TablePagination;\n PerPage: typeof TablePerPage;\n Predicate: typeof TablePredicate;\n };\n}>;\n\nconst defaultProps: Partial<TableProps<unknown>> = {\n layouts: [TableLayouts.Rows as TableLayout],\n layoutProps: {},\n loading: false,\n additionalRootNodes: [],\n options: {},\n getRowActions: () => [],\n};\n\nexport const Table = <T,>(props: TableProps<T> & {ref?: ForwardedRef<HTMLDivElement>}) => {\n const {\n store,\n data,\n getRowId,\n getRowAttributes,\n getRowExpandedContent,\n getRowActions,\n columns,\n layouts,\n layoutProps,\n children,\n loading,\n additionalRootNodes,\n options,\n ref,\n\n // Style props\n style,\n className,\n classNames,\n styles,\n unstyled,\n ...others\n } = useProps('PlasmaTable', defaultProps as TableProps<T>, props);\n\n const getStyles = useStyles<PlasmaTableFactory>({\n name: 'PlasmaTable',\n classes,\n props: props as TableProps<unknown>,\n className,\n style,\n classNames,\n styles,\n unstyled,\n });\n\n const convertedChildren = Children.toArray(children) as ReactElement[];\n const header = convertedChildren.find((child) => child.type === TableHeader);\n const footer = convertedChildren.find((child) => child.type === TableFooter);\n const lastUpdated = convertedChildren.find((child) => child.type === TableLastUpdated);\n const noData = convertedChildren.find((child) => child.type === TableNoData);\n\n const table = useReactTable({\n data,\n state: {\n globalFilter: store.state.globalFilter,\n sorting: store.state.sorting,\n pagination: store.state.pagination,\n columnVisibility: store.state.columnVisibility,\n expanded: store.state.expanded,\n },\n onGlobalFilterChange: store.setGlobalFilter,\n onExpandedChange: store.setExpanded,\n onSortingChange: store.setSorting,\n onPaginationChange: store.setPagination,\n onColumnVisibilityChange: store.setColumnVisibility,\n columns: store.multiRowSelectionEnabled ? [TableSelectableColumn as ColumnDef<T>].concat(columns) : columns,\n getCoreRowModel: getCoreRowModel(),\n manualPagination: options?.getPaginationRowModel === undefined,\n enableMultiRowSelection: !!store.multiRowSelectionEnabled,\n getRowId,\n getRowCanExpand: (row: Row<T>) => !!getRowExpandedContent?.(row.original, row.index, row),\n enableRowSelection: !loading,\n defaultColumn: {\n size: undefined,\n minSize: defaultColumnSizing.minSize,\n maxSize: defaultColumnSizing.maxSize,\n },\n rowCount: options?.getFilteredRowModel ? undefined : store.state.totalEntries,\n ...options,\n });\n\n table.setOptions((prev) => ({\n ...prev,\n state: {\n ...prev.state,\n rowSelection: store.state.rowSelection as RowSelectionState,\n },\n onRowSelectionChange: (rowSelectionUpdater) => {\n store.setRowSelection((old) => {\n const newRowSelection = (\n rowSelectionUpdater instanceof Function\n ? rowSelectionUpdater(old as RowSelectionState)\n : rowSelectionUpdater\n ) as TableState<T>['rowSelection'];\n\n if (isEqual(old, newRowSelection)) {\n return old;\n }\n\n const rows = table.getRowModel().rowsById;\n\n Object.keys(newRowSelection).forEach((rowId) => {\n if (newRowSelection[rowId] === true) {\n if (!rows[rowId]) {\n console.error(\n 'The table was not initialized properly, the rowSelection state should contain an object of type Record<string, TData>.',\n );\n }\n newRowSelection[rowId] = rows[rowId]?.original ?? (true as T);\n }\n });\n\n return newRowSelection;\n });\n },\n }));\n\n useEffect(() => {\n // Update the selected rows data when the data prop changes\n if (store.getSelectedRows().length > 0) {\n store.setRowSelection((old) => {\n const rowsById = table.getRowModel().rowsById;\n const newSelection = {...old};\n Object.keys(old).forEach((rowId) => {\n if (rowsById[rowId]) {\n newSelection[rowId] = rowsById[rowId].original;\n }\n });\n return isEqual(newSelection, old) ? old : newSelection;\n });\n }\n }, [data]);\n\n const containerRef = useRef<HTMLDivElement>();\n useClickOutside(\n () => {\n if (!store.multiRowSelectionEnabled && store.getSelectedRows().length > 0) {\n store.clearRowSelection();\n }\n },\n null,\n [containerRef.current, ...additionalRootNodes],\n );\n const mergedRef = useMergedRef(containerRef, ref);\n\n if (!data) {\n return (\n <Center style={{flexGrow: 1}}>\n <Loader />\n </Center>\n );\n }\n\n const Layout =\n store.state.layout === null ? layouts[0] : layouts.find(({displayName}) => displayName === store.state.layout);\n const hasRows = table.getRowModel().rows.length > 0;\n\n return (\n <Box ref={mergedRef} {...others} {...getStyles('root')}>\n <TableProvider<T> value={{getStyles, getRowActions, store, table, layouts, containerRef}}>\n <Layout>\n {store.isVacant && !store.isFiltered ? (\n noData\n ) : (\n <>\n <Box component=\"table\" {...getStyles('table')} mod={{loading}}>\n <thead {...getStyles('header')}>\n {header ? (\n <tr>\n <th style={{padding: 0}} colSpan={table.getAllColumns().length}>\n {header}\n </th>\n </tr>\n ) : null}\n <Layout.Header\n getRowExpandedContent={getRowExpandedContent}\n getRowAttributes={getRowAttributes}\n loading={loading}\n {...layoutProps}\n />\n </thead>\n <tbody {...getStyles('body')}>\n {hasRows ? (\n <Layout.Body\n getRowExpandedContent={getRowExpandedContent}\n getRowAttributes={getRowAttributes}\n loading={loading}\n {...layoutProps}\n />\n ) : (\n <tr>\n <td colSpan={table.getAllColumns().length}>\n <TableLoading visible={loading || !store.isFiltered}>\n {noData}\n </TableLoading>\n </td>\n </tr>\n )}\n </tbody>\n </Box>\n {footer}\n {lastUpdated}\n </>\n )}\n </Layout>\n </TableProvider>\n </Box>\n );\n};\n\nexport const TableComponentsOrder = {\n MultiSelectInfo: 7,\n Actions: 6,\n Predicate: 5,\n Filter: 4,\n DateRangePicker: 3,\n ColumnsSelector: 2,\n LayoutControl: 1,\n};\n\nTable.AccordionColumn = TableAccordionColumn;\nTable.ActionsColumn = TableActionsColumn;\nTable.ActionItem = TableActionItem;\nTable.CollapsibleColumn = TableCollapsibleColumn;\nTable.ColumnsSelector = TableColumnsSelector;\nTable.DateRangePicker = TableDateRangePicker;\nTable.Filter = TableFilter;\nTable.Footer = TableFooter;\nTable.Header = TableHeader;\nTable.LastUpdated = TableLastUpdated;\nTable.Layouts = TableLayouts;\nTable.Loading = TableLoading;\nTable.NoData = TableNoData;\nTable.Pagination = TablePagination;\nTable.PerPage = TablePerPage;\nTable.Predicate = TablePredicate;\n\nTable.extend = identity as CustomComponentThemeExtend<PlasmaTableFactory>;\n"],"names":["Table","TableComponentsOrder","defaultProps","layouts","TableLayouts","Rows","layoutProps","loading","additionalRootNodes","options","getRowActions","props","useProps","store","data","getRowId","getRowAttributes","getRowExpandedContent","columns","children","ref","style","className","classNames","styles","unstyled","others","getStyles","useStyles","name","classes","convertedChildren","Children","toArray","header","find","child","type","TableHeader","footer","TableFooter","lastUpdated","TableLastUpdated","noData","TableNoData","table","useReactTable","state","globalFilter","sorting","pagination","columnVisibility","expanded","onGlobalFilterChange","setGlobalFilter","onExpandedChange","setExpanded","onSortingChange","setSorting","onPaginationChange","setPagination","onColumnVisibilityChange","setColumnVisibility","multiRowSelectionEnabled","TableSelectableColumn","concat","getCoreRowModel","manualPagination","getPaginationRowModel","undefined","enableMultiRowSelection","getRowCanExpand","row","original","index","enableRowSelection","defaultColumn","size","minSize","defaultColumnSizing","maxSize","rowCount","getFilteredRowModel","totalEntries","setOptions","prev","rowSelection","onRowSelectionChange","rowSelectionUpdater","setRowSelection","old","newRowSelection","Function","isEqual","rows","getRowModel","rowsById","Object","keys","forEach","rowId","console","error","useEffect","getSelectedRows","length","newSelection","containerRef","useRef","useClickOutside","clearRowSelection","current","mergedRef","useMergedRef","Center","flexGrow","Loader","Layout","layout","displayName","hasRows","Box","TableProvider","value","isVacant","isFiltered","component","mod","thead","tr","th","padding","colSpan","getAllColumns","Header","tbody","Body","td","TableLoading","visible","MultiSelectInfo","Actions","Predicate","Filter","DateRangePicker","ColumnsSelector","LayoutControl","AccordionColumn","TableAccordionColumn","ActionsColumn","TableActionsColumn","ActionItem","TableActionItem","CollapsibleColumn","TableCollapsibleColumn","TableColumnsSelector","TableDateRangePicker","TableFilter","Footer","LastUpdated","Layouts","Loading","NoData","Pagination","TablePagination","PerPage","TablePerPage","TablePredicate","extend","identity"],"mappings":"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"}
@@ -23,6 +23,7 @@
23
23
  .actionsDropdown {
24
24
  text-align: left;
25
25
  }
26
+
26
27
  .actionsGroup {
27
28
  &:has(.actionsGroupItems:empty) {
28
29
  /* Hide empty groups */
@@ -34,6 +35,7 @@
34
35
  .filterWrapper {
35
36
  width: 20rem;
36
37
  }
38
+
37
39
  .filterEmpty {
38
40
  color: var(--mantine-color-gray-5);
39
41
  }
@@ -85,6 +87,7 @@
85
87
  .lastUpdatedRoot {
86
88
  min-height: 98px;
87
89
  }
90
+
88
91
  .lastUpdatedLabel {
89
92
  color: var(--mantine-color-gray-6);
90
93
  }
@@ -4,7 +4,7 @@ import { ColumnDef, CoreOptions, Row, TableOptions } from '@tanstack/table-core'
4
4
  import { ReactElement, ReactNode } from 'react';
5
5
  import { type PlasmaTableFactory } from './Table';
6
6
  import { TableStore } from './use-table';
7
- export type TableLayoutProps<TData = unknown> = Pick<TableProps<TData>, 'getRowExpandedContent' | 'getRowAttributes' | 'loading'> & TableProps<TData>['layoutProps'];
7
+ export type TableLayoutProps<TData = unknown> = Pick<TableProps<TData>, 'getRowExpandedContent' | 'getRowAttributes' | 'getRowActions' | 'loading'> & TableProps<TData>['layoutProps'];
8
8
  export interface TableLayout {
9
9
  (props: {
10
10
  children: ReactNode;
@@ -84,7 +84,7 @@ export interface TableProps<TData> extends BoxProps, StylesApiProps<PlasmaTableF
84
84
  * @returns
85
85
  */
86
86
  onRowDoubleClick?: (selectedRow: TData, index: number, row: Row<TData>) => void;
87
- } & Record<string, any>;
87
+ } & Record<string, unknown>;
88
88
  /**
89
89
  * Whether the table is loading or not
90
90
  *
@@ -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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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Table.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Table.spec.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/__tests__/Table.spec.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=TableActions.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableActions.spec.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/__tests__/TableActions.spec.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=TableCollapsibleColumn.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableCollapsibleColumn.spec.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/__tests__/TableCollapsibleColumn.spec.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=TableColumnsSelector.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableColumnsSelector.spec.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/__tests__/TableColumnsSelector.spec.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=TableDateRangePicker.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableDateRangePicker.spec.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/__tests__/TableDateRangePicker.spec.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=TableFilter.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableFilter.spec.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/__tests__/TableFilter.spec.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=TableLastUpdated.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableLastUpdated.spec.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/__tests__/TableLastUpdated.spec.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=TablePagination.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TablePagination.spec.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/__tests__/TablePagination.spec.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=TablePerPage.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TablePerPage.spec.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/__tests__/TablePerPage.spec.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=TablePredicate.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TablePredicate.spec.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/__tests__/TablePredicate.spec.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Th.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Th.spec.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/__tests__/Th.spec.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=RowLayout.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RowLayout.spec.d.ts","sourceRoot":"","sources":["../../../../../../src/components/table/layouts/__tests__/RowLayout.spec.tsx"],"names":[],"mappings":""}
@@ -17,7 +17,7 @@ var _RowLayoutContext = require("./RowLayoutContext");
17
17
  var _RowLayoutHeader = require("./RowLayoutHeader");
18
18
  var _RowLayoutIcon = require("./RowLayoutIcon");
19
19
  var defaultProps = {};
20
- var RowLayout = (0, _core.factory)(function(props, ref) {
20
+ var RowLayout = (0, _core.factory)(function(props) {
21
21
  var _useProps = (0, _core.useProps)('PlasmaRowLayout', defaultProps, props), children = _useProps.children, styles = _useProps.styles, classNames = _useProps.classNames, unstyled = _useProps.unstyled;
22
22
  var getStyles = (0, _core.useStyles)({
23
23
  name: 'PlasmaRowLayout',
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/components/table/layouts/row-layout/RowLayout.tsx"],"sourcesContent":["import {factory, Factory, StylesApiProps, useProps, useStyles} from '@mantine/core';\nimport {ReactNode} from 'react';\nimport classes from './RowLayout.module.css';\nimport {TableLayout} from '../../Table.types';\nimport {RowLayoutBody, RowLayoutBodyStylesNames} from './RowLayoutBody';\nimport {RowLayoutProvider} from './RowLayoutContext';\nimport {RowLayoutHeader, RowLayoutHeaderStyleNames} from './RowLayoutHeader';\nimport {RowLayoutIcon} from './RowLayoutIcon';\n\ntype RowLayoutStylesNames = RowLayoutHeaderStyleNames | RowLayoutBodyStylesNames;\nexport interface RowLayoutProps extends StylesApiProps<RowLayoutFactory> {\n children: ReactNode;\n}\n\nexport type RowLayoutFactory = Factory<{\n props: RowLayoutProps;\n stylesNames: RowLayoutStylesNames;\n staticComponents: TableLayout;\n}>;\nconst defaultProps: Partial<RowLayoutProps> = {};\n\nexport const RowLayout = factory<RowLayoutFactory>((props, ref) => {\n const {children, styles, classNames, unstyled} = useProps('PlasmaRowLayout', defaultProps, props);\n const getStyles = useStyles<RowLayoutFactory>({\n name: 'PlasmaRowLayout',\n classes,\n props,\n styles,\n classNames,\n unstyled,\n });\n\n return <RowLayoutProvider value={{getStyles}}>{children}</RowLayoutProvider>;\n});\n\nRowLayout.Body = RowLayoutBody;\nRowLayout.Header = RowLayoutHeader;\nRowLayout.Icon = RowLayoutIcon;\nRowLayout.displayName = 'Rows';\n"],"names":["RowLayout","defaultProps","factory","props","ref","useProps","children","styles","classNames","unstyled","getStyles","useStyles","name","classes","RowLayoutProvider","value","Body","RowLayoutBody","Header","RowLayoutHeader","Icon","RowLayoutIcon","displayName"],"mappings":";;;;+BAqBaA;;;eAAAA;;;;;oBArBuD;2EAEhD;6BAEkC;gCACtB;+BACyB;6BAC7B;AAY5B,IAAMC,eAAwC,CAAC;AAExC,IAAMD,YAAYE,IAAAA,aAAO,EAAmB,SAACC,OAAOC;IACvD,IAAiDC,YAAAA,IAAAA,cAAQ,EAAC,mBAAmBJ,cAAcE,QAApFG,WAA0CD,UAA1CC,UAAUC,SAAgCF,UAAhCE,QAAQC,aAAwBH,UAAxBG,YAAYC,WAAYJ,UAAZI;IACrC,IAAMC,YAAYC,IAAAA,eAAS,EAAmB;QAC1CC,MAAM;QACNC,SAAAA,2BAAO;QACPV,OAAAA;QACAI,QAAAA;QACAC,YAAAA;QACAC,UAAAA;IACJ;IAEA,qBAAO,qBAACK,mCAAiB;QAACC,OAAO;YAACL,WAAAA;QAAS;kBAAIJ;;AACnD;AAEAN,UAAUgB,IAAI,GAAGC,4BAAa;AAC9BjB,UAAUkB,MAAM,GAAGC,gCAAe;AAClCnB,UAAUoB,IAAI,GAAGC,4BAAa;AAC9BrB,UAAUsB,WAAW,GAAG"}
1
+ {"version":3,"sources":["../../../../../../src/components/table/layouts/row-layout/RowLayout.tsx"],"sourcesContent":["import {factory, Factory, StylesApiProps, useProps, useStyles} from '@mantine/core';\nimport {ReactNode} from 'react';\nimport classes from './RowLayout.module.css';\nimport {TableLayout} from '../../Table.types';\nimport {RowLayoutBody, RowLayoutBodyStylesNames} from './RowLayoutBody';\nimport {RowLayoutProvider} from './RowLayoutContext';\nimport {RowLayoutHeader, RowLayoutHeaderStyleNames} from './RowLayoutHeader';\nimport {RowLayoutIcon} from './RowLayoutIcon';\n\ntype RowLayoutStylesNames = RowLayoutHeaderStyleNames | RowLayoutBodyStylesNames;\nexport interface RowLayoutProps extends StylesApiProps<RowLayoutFactory> {\n children: ReactNode;\n}\n\nexport type RowLayoutFactory = Factory<{\n props: RowLayoutProps;\n stylesNames: RowLayoutStylesNames;\n staticComponents: TableLayout;\n}>;\nconst defaultProps: Partial<RowLayoutProps> = {};\n\nexport const RowLayout = factory<RowLayoutFactory>((props) => {\n const {children, styles, classNames, unstyled} = useProps('PlasmaRowLayout', defaultProps, props);\n const getStyles = useStyles<RowLayoutFactory>({\n name: 'PlasmaRowLayout',\n classes,\n props,\n styles,\n classNames,\n unstyled,\n });\n\n return <RowLayoutProvider value={{getStyles}}>{children}</RowLayoutProvider>;\n});\n\nRowLayout.Body = RowLayoutBody;\nRowLayout.Header = RowLayoutHeader;\nRowLayout.Icon = RowLayoutIcon;\nRowLayout.displayName = 'Rows';\n"],"names":["RowLayout","defaultProps","factory","props","useProps","children","styles","classNames","unstyled","getStyles","useStyles","name","classes","RowLayoutProvider","value","Body","RowLayoutBody","Header","RowLayoutHeader","Icon","RowLayoutIcon","displayName"],"mappings":";;;;+BAqBaA;;;eAAAA;;;;;oBArBuD;2EAEhD;6BAEkC;gCACtB;+BACyB;6BAC7B;AAY5B,IAAMC,eAAwC,CAAC;AAExC,IAAMD,YAAYE,IAAAA,aAAO,EAAmB,SAACC;IAChD,IAAiDC,YAAAA,IAAAA,cAAQ,EAAC,mBAAmBH,cAAcE,QAApFE,WAA0CD,UAA1CC,UAAUC,SAAgCF,UAAhCE,QAAQC,aAAwBH,UAAxBG,YAAYC,WAAYJ,UAAZI;IACrC,IAAMC,YAAYC,IAAAA,eAAS,EAAmB;QAC1CC,MAAM;QACNC,SAAAA,2BAAO;QACPT,OAAAA;QACAG,QAAAA;QACAC,YAAAA;QACAC,UAAAA;IACJ;IAEA,qBAAO,qBAACK,mCAAiB;QAACC,OAAO;YAACL,WAAAA;QAAS;kBAAIJ;;AACnD;AAEAL,UAAUe,IAAI,GAAGC,4BAAa;AAC9BhB,UAAUiB,MAAM,GAAGC,gCAAe;AAClClB,UAAUmB,IAAI,GAAGC,4BAAa;AAC9BpB,UAAUqB,WAAW,GAAG"}
@@ -10,6 +10,7 @@
10
10
  border-color: var(--mantine-color-gray-3);
11
11
  pointer-events: none;
12
12
  cursor: not-allowed;
13
+
13
14
  & + svg {
14
15
  color: var(--mantine-color-gray-5);
15
16
  }
@@ -18,9 +19,11 @@
18
19
 
19
20
  .row {
20
21
  overflow-wrap: anywhere;
22
+
21
23
  & td:first-of-type {
22
24
  padding-left: 40px;
23
25
  }
26
+
24
27
  @mixin hover {
25
28
  background-color: var(--mantine-color-gray-1);
26
29
  }
@@ -30,14 +33,17 @@
30
33
  border-color: var(--mantine-color-gray-3);
31
34
  pointer-events: none;
32
35
  cursor: not-allowed;
36
+
33
37
  &:checked + svg {
34
38
  color: var(--mantine-color-gray-5);
35
39
  }
36
40
  }
41
+
37
42
  &[data-selected='true'] {
38
43
  &[data-multi-selection='false'] {
39
44
  background-color: var(--mantine-color-gray-1);
40
45
  }
46
+
41
47
  &[data-multi-selection='true'] {
42
48
  background-color: transparent;
43
49
  }
@@ -51,7 +57,8 @@
51
57
 
52
58
  .cell {
53
59
  vertical-align: middle;
54
- /* We must use height instead of minHeight here, otherwise it doesn’t apply*/
60
+
61
+ /* We must use height instead of minHeight here, otherwise it doesn’t apply */
55
62
  height: 56px;
56
63
  padding: var(--mantine-spacing-xs) var(--mantine-spacing-sm);
57
64
  border-bottom: rem(1) solid var(--mantine-color-gray-3);
@@ -84,7 +84,6 @@ var RowLayoutBody = function(props) {
84
84
  event.stopPropagation();
85
85
  }
86
86
  };
87
- var _ref;
88
87
  return /*#__PURE__*/ (0, _jsxruntime.jsx)("td", {
89
88
  "data-testid": cell.id,
90
89
  className: ctx.getStyles('cell', {
@@ -92,7 +91,7 @@ var RowLayoutBody = function(props) {
92
91
  styles: styles
93
92
  }).className,
94
93
  style: _object_spread._({
95
- width: (_ref = "".concat(columnSizing.size, "px")) !== null && _ref !== void 0 ? _ref : 'auto',
94
+ width: columnSizing.size ? "".concat(columnSizing.size, "px") : 'auto',
96
95
  minWidth: "".concat(columnSizing.minSize, "px"),
97
96
  maxWidth: "".concat(columnSizing.maxSize, "px")
98
97
  }, ctx.getStyles('cell', {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/components/table/layouts/row-layout/RowLayoutBody.tsx"],"sourcesContent":["import {Box, BoxProps, Collapse, CompoundStylesApiProps, Factory, useProps} from '@mantine/core';\nimport {flexRender} from '@tanstack/react-table';\nimport {defaultColumnSizing} from '@tanstack/table-core';\nimport {ForwardedRef, Fragment, type MouseEvent} from 'react';\nimport {CustomComponentThemeExtend, identity} from '../../../../utils';\nimport {TableLayoutProps} from '../../Table.types';\nimport {useTableContext} from '../../TableContext';\nimport {TableCollapsibleColumn} from '../../table-column/TableCollapsibleColumn';\nimport {TableSelectableColumn} from '../../table-column/TableSelectableColumn';\nimport {TableLoading} from '../../table-loading/TableLoading';\nimport {useRowLayout} from './RowLayoutContext';\n\nexport type RowLayoutBodyStylesNames = 'row' | 'cell' | 'collapsibleRow' | 'collapsibleWrapper';\n\nexport interface RowLayoutBodyProps<T>\n extends BoxProps,\n TableLayoutProps<T>,\n CompoundStylesApiProps<RowLayoutBodyFactory> {}\n\nexport type RowLayoutBodyFactory = Factory<{\n props: RowLayoutBodyProps<unknown>;\n ref: HTMLTableRowElement;\n stylesNames: RowLayoutBodyStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<RowLayoutBodyProps<unknown>> = {};\n\nexport const RowLayoutBody = <T,>(props: RowLayoutBodyProps<T> & {ref?: ForwardedRef<HTMLTableRowElement>}) => {\n const ctx = useRowLayout();\n const {\n getRowExpandedContent,\n onRowDoubleClick,\n loading,\n classNames,\n className,\n styles,\n style,\n getRowAttributes,\n ...others\n } = useProps('RowLayoutBody', defaultProps as RowLayoutBodyProps<T>, props);\n const {table, store} = useTableContext<T>();\n const toggleCollapsible = (el: HTMLTableRowElement) => {\n const cell = el.children[el.children.length - 1] as HTMLTableCellElement;\n cell.querySelector('button').click();\n };\n\n const rows = table.getRowModel()?.rows.map((row) => {\n const rowChildren = getRowExpandedContent?.(row.original, row.index, row) ?? null;\n const isSelected = !!row.getIsSelected();\n const shouldKeepSelection = store.rowSelectionForced && isSelected;\n const onClick = (event: MouseEvent<HTMLTableRowElement>) => {\n if (rowChildren) {\n toggleCollapsible(event.currentTarget);\n }\n if (store.rowSelectionEnabled && !store.multiRowSelectionEnabled && !shouldKeepSelection) {\n row.toggleSelected();\n }\n };\n\n return (\n <Fragment key={row.id}>\n <tr\n onClick={onClick}\n onDoubleClick={() => {\n onRowDoubleClick?.(row.original, row.index, row);\n }}\n data-selectable={store.rowSelectionEnabled}\n data-selected={isSelected}\n data-multi-selection={store.multiRowSelectionEnabled}\n aria-selected={isSelected}\n data-testid={row.id}\n {...ctx.getStyles('row', {classNames, className, styles, style})}\n {...(getRowAttributes?.(row.original, row.index, row) ?? {})}\n {...others}\n >\n {row.getVisibleCells().map((cell) => {\n const columnSizing = {\n ...defaultColumnSizing,\n size: cell.column.columnDef.size,\n minSize: cell.column.columnDef.minSize,\n maxSize: cell.column.columnDef.maxSize,\n };\n\n const onCollapsibleCellClick = (event: MouseEvent<HTMLTableCellElement>) => {\n if (cell.column.id === TableSelectableColumn.id && store.rowSelectionEnabled) {\n event.stopPropagation();\n }\n };\n\n return (\n <td\n key={cell.id}\n data-testid={cell.id}\n className={ctx.getStyles('cell', {classNames, styles}).className}\n style={{\n width: `${columnSizing.size}px` ?? 'auto',\n minWidth: `${columnSizing.minSize}px`,\n maxWidth: `${columnSizing.maxSize}px`,\n ...ctx.getStyles('cell', {classNames, styles}).style,\n }}\n data-collapsible-cell={cell.column.id === TableCollapsibleColumn.id}\n onClick={onCollapsibleCellClick}\n >\n <TableLoading visible={loading}>\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </TableLoading>\n </td>\n );\n })}\n </tr>\n {rowChildren ? (\n <tr {...ctx.getStyles('collapsibleRow', {classNames, styles})}>\n <td\n colSpan={table.getAllColumns().length}\n style={{\n padding: 0,\n }}\n >\n <Collapse in={row.getIsExpanded()}>\n <Box {...ctx.getStyles('collapsibleWrapper', {classNames, styles})} px=\"sm\" py=\"xs\">\n {rowChildren}\n </Box>\n </Collapse>\n </td>\n </tr>\n ) : null}\n </Fragment>\n );\n });\n\n return <>{rows}</>;\n};\n\nRowLayoutBody.extend = identity as CustomComponentThemeExtend<RowLayoutBodyFactory>;\n"],"names":["RowLayoutBody","defaultProps","props","table","ctx","useRowLayout","useProps","getRowExpandedContent","onRowDoubleClick","loading","classNames","className","styles","style","getRowAttributes","others","useTableContext","store","toggleCollapsible","el","cell","children","length","querySelector","click","rows","getRowModel","map","row","rowChildren","original","index","isSelected","getIsSelected","shouldKeepSelection","rowSelectionForced","onClick","event","currentTarget","rowSelectionEnabled","multiRowSelectionEnabled","toggleSelected","Fragment","tr","onDoubleClick","data-selectable","data-selected","data-multi-selection","aria-selected","data-testid","id","getStyles","getVisibleCells","columnSizing","defaultColumnSizing","size","column","columnDef","minSize","maxSize","onCollapsibleCellClick","TableSelectableColumn","stopPropagation","td","width","minWidth","maxWidth","data-collapsible-cell","TableCollapsibleColumn","TableLoading","visible","flexRender","getContext","colSpan","getAllColumns","padding","Collapse","in","getIsExpanded","Box","px","py","extend","identity"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../../src/components/table/layouts/row-layout/RowLayoutBody.tsx"],"sourcesContent":["import {Box, BoxProps, Collapse, CompoundStylesApiProps, Factory, useProps} from '@mantine/core';\nimport {flexRender} from '@tanstack/react-table';\nimport {defaultColumnSizing} from '@tanstack/table-core';\nimport {ForwardedRef, Fragment, type MouseEvent} from 'react';\nimport {CustomComponentThemeExtend, identity} from '../../../../utils';\nimport {TableLayoutProps} from '../../Table.types';\nimport {useTableContext} from '../../TableContext';\nimport {TableCollapsibleColumn} from '../../table-column/TableCollapsibleColumn';\nimport {TableSelectableColumn} from '../../table-column/TableSelectableColumn';\nimport {TableLoading} from '../../table-loading/TableLoading';\nimport {useRowLayout} from './RowLayoutContext';\n\nexport type RowLayoutBodyStylesNames = 'row' | 'cell' | 'collapsibleRow' | 'collapsibleWrapper';\n\nexport interface RowLayoutBodyProps<T>\n extends BoxProps,\n TableLayoutProps<T>,\n CompoundStylesApiProps<RowLayoutBodyFactory> {}\n\nexport type RowLayoutBodyFactory = Factory<{\n props: RowLayoutBodyProps<unknown>;\n ref: HTMLTableRowElement;\n stylesNames: RowLayoutBodyStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<RowLayoutBodyProps<unknown>> = {};\n\nexport const RowLayoutBody = <T,>(props: RowLayoutBodyProps<T> & {ref?: ForwardedRef<HTMLTableRowElement>}) => {\n const ctx = useRowLayout();\n const {\n getRowExpandedContent,\n onRowDoubleClick,\n loading,\n classNames,\n className,\n styles,\n style,\n getRowAttributes,\n ...others\n } = useProps('RowLayoutBody', defaultProps as RowLayoutBodyProps<T>, props);\n const {table, store} = useTableContext<T>();\n const toggleCollapsible = (el: HTMLTableRowElement) => {\n const cell = el.children[el.children.length - 1] as HTMLTableCellElement;\n cell.querySelector('button').click();\n };\n\n const rows = table.getRowModel()?.rows.map((row) => {\n const rowChildren = getRowExpandedContent?.(row.original, row.index, row) ?? null;\n const isSelected = !!row.getIsSelected();\n const shouldKeepSelection = store.rowSelectionForced && isSelected;\n const onClick = (event: MouseEvent<HTMLTableRowElement>) => {\n if (rowChildren) {\n toggleCollapsible(event.currentTarget);\n }\n if (store.rowSelectionEnabled && !store.multiRowSelectionEnabled && !shouldKeepSelection) {\n row.toggleSelected();\n }\n };\n\n return (\n <Fragment key={row.id}>\n <tr\n onClick={onClick}\n onDoubleClick={() => {\n onRowDoubleClick?.(row.original, row.index, row);\n }}\n data-selectable={store.rowSelectionEnabled}\n data-selected={isSelected}\n data-multi-selection={store.multiRowSelectionEnabled}\n aria-selected={isSelected}\n data-testid={row.id}\n {...ctx.getStyles('row', {classNames, className, styles, style})}\n {...(getRowAttributes?.(row.original, row.index, row) ?? {})}\n {...others}\n >\n {row.getVisibleCells().map((cell) => {\n const columnSizing = {\n ...defaultColumnSizing,\n size: cell.column.columnDef.size,\n minSize: cell.column.columnDef.minSize,\n maxSize: cell.column.columnDef.maxSize,\n };\n\n const onCollapsibleCellClick = (event: MouseEvent<HTMLTableCellElement>) => {\n if (cell.column.id === TableSelectableColumn.id && store.rowSelectionEnabled) {\n event.stopPropagation();\n }\n };\n\n return (\n <td\n key={cell.id}\n data-testid={cell.id}\n className={ctx.getStyles('cell', {classNames, styles}).className}\n style={{\n width: columnSizing.size ? `${columnSizing.size}px` : 'auto',\n minWidth: `${columnSizing.minSize}px`,\n maxWidth: `${columnSizing.maxSize}px`,\n ...ctx.getStyles('cell', {classNames, styles}).style,\n }}\n data-collapsible-cell={cell.column.id === TableCollapsibleColumn.id}\n onClick={onCollapsibleCellClick}\n >\n <TableLoading visible={loading}>\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </TableLoading>\n </td>\n );\n })}\n </tr>\n {rowChildren ? (\n <tr {...ctx.getStyles('collapsibleRow', {classNames, styles})}>\n <td\n colSpan={table.getAllColumns().length}\n style={{\n padding: 0,\n }}\n >\n <Collapse in={row.getIsExpanded()}>\n <Box {...ctx.getStyles('collapsibleWrapper', {classNames, styles})} px=\"sm\" py=\"xs\">\n {rowChildren}\n </Box>\n </Collapse>\n </td>\n </tr>\n ) : null}\n </Fragment>\n );\n });\n\n return <>{rows}</>;\n};\n\nRowLayoutBody.extend = identity as CustomComponentThemeExtend<RowLayoutBodyFactory>;\n"],"names":["RowLayoutBody","defaultProps","props","table","ctx","useRowLayout","useProps","getRowExpandedContent","onRowDoubleClick","loading","classNames","className","styles","style","getRowAttributes","others","useTableContext","store","toggleCollapsible","el","cell","children","length","querySelector","click","rows","getRowModel","map","row","rowChildren","original","index","isSelected","getIsSelected","shouldKeepSelection","rowSelectionForced","onClick","event","currentTarget","rowSelectionEnabled","multiRowSelectionEnabled","toggleSelected","Fragment","tr","onDoubleClick","data-selectable","data-selected","data-multi-selection","aria-selected","data-testid","id","getStyles","getVisibleCells","columnSizing","defaultColumnSizing","size","column","columnDef","minSize","maxSize","onCollapsibleCellClick","TableSelectableColumn","stopPropagation","td","width","minWidth","maxWidth","data-collapsible-cell","TableCollapsibleColumn","TableLoading","visible","flexRender","getContext","colSpan","getAllColumns","padding","Collapse","in","getIsExpanded","Box","px","py","extend","identity"],"mappings":"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"}
@@ -6,6 +6,6 @@ interface RowLayoutContextType {
6
6
  export declare const RowLayoutProvider: ({ children, value }: {
7
7
  value: RowLayoutContextType;
8
8
  children: React.ReactNode;
9
- }) => import("react/jsx-runtime").JSX.Element, useRowLayout: () => RowLayoutContextType & ({} | undefined);
9
+ }) => import("react/jsx-runtime").JSX.Element, useRowLayout: () => RowLayoutContextType;
10
10
  export {};
11
11
  //# sourceMappingURL=RowLayoutContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RowLayoutContext.d.ts","sourceRoot":"","sources":["../../../../../../src/components/table/layouts/row-layout/RowLayoutContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAoB,YAAY,EAAC,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAC,KAAK,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAElD,UAAU,oBAAoB;IAC1B,SAAS,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC;CAC7C;AACD,eAAO,MAAO,iBAAiB;;cAF3B,MAAM,SAAS;aAAe,mBAE9B,eAA6B,YAAY,+CAE5C,CAAC"}
1
+ {"version":3,"file":"RowLayoutContext.d.ts","sourceRoot":"","sources":["../../../../../../src/components/table/layouts/row-layout/RowLayoutContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAoB,YAAY,EAAC,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAC,KAAK,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAElD,UAAU,oBAAoB;IAC1B,SAAS,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC;CAC7C;AACD,eAAO,MAAO,iBAAiB;;cAF3B,MAAM,SAAS;aAAe,mBAE9B,eAA6B,YAAY,4BAE5C,CAAC"}
@@ -4,5 +4,5 @@ export interface TableActionContextValue {
4
4
  export declare const TableActionProvider: ({ children, value }: {
5
5
  value: TableActionContextValue;
6
6
  children: React.ReactNode;
7
- }) => import("react/jsx-runtime").JSX.Element, useTableActionContext: () => TableActionContextValue & ({} | undefined);
7
+ }) => import("react/jsx-runtime").JSX.Element, useTableActionContext: () => TableActionContextValue;
8
8
  //# sourceMappingURL=TableActionContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableActionContext.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/table-actions/TableActionContext.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,uBAAuB;IACpC,OAAO,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAO,mBAAmB;;cAAA,MAAO,SAAS;aAAe,mBAAmB,eAAhD,qBAAqB,kDAEvD,CAAC"}
1
+ {"version":3,"file":"TableActionContext.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/table-actions/TableActionContext.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,uBAAuB;IACpC,OAAO,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAO,mBAAmB;;cAAA,MAAO,SAAS;aAAe,mBAAmB,eAAhD,qBAAqB,+BAEvD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"TableColumnsSelector.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/table-columns-selector/TableColumnsSelector.tsx"],"names":[],"mappings":"AAAA,OAAO,EACH,QAAQ,EAGR,sBAAsB,EAGtB,OAAO,EAOV,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAIhC,MAAM,MAAM,+BAA+B,GAAG,gBAAgB,GAAG,uBAAuB,CAAC;AAEzF,MAAM,WAAW,yBAA0B,SAAQ,QAAQ,EAAE,sBAAsB,CAAC,2BAA2B,CAAC;IAC5G;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;OAEG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,MAAM,2BAA2B,GAAG,OAAO,CAAC;IAC9C,KAAK,EAAE,yBAAyB,CAAC;IACjC,GAAG,EAAE,cAAc,CAAC;IACpB,WAAW,EAAE,+BAA+B,CAAC;IAC7C,QAAQ,EAAE,IAAI,CAAC;CAClB,CAAC,CAAC;AAUH,eAAO,MAAM,oBAAoB;WAdtB,yBAAyB;SAC3B,cAAc;iBACN,+BAA+B;cAClC,IAAI;EAmGhB,CAAC"}
1
+ {"version":3,"file":"TableColumnsSelector.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/table-columns-selector/TableColumnsSelector.tsx"],"names":[],"mappings":"AAAA,OAAO,EACH,QAAQ,EAGR,sBAAsB,EAGtB,OAAO,EAOV,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAIhC,MAAM,MAAM,+BAA+B,GAAG,gBAAgB,GAAG,uBAAuB,CAAC;AAEzF,MAAM,WAAW,yBAA0B,SAAQ,QAAQ,EAAE,sBAAsB,CAAC,2BAA2B,CAAC;IAC5G;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;OAEG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,MAAM,2BAA2B,GAAG,OAAO,CAAC;IAC9C,KAAK,EAAE,yBAAyB,CAAC;IACjC,GAAG,EAAE,cAAc,CAAC;IACpB,WAAW,EAAE,+BAA+B,CAAC;IAC7C,QAAQ,EAAE,IAAI,CAAC;CAClB,CAAC,CAAC;AAUH,eAAO,MAAM,oBAAoB;WAdtB,yBAAyB;SAC3B,cAAc;iBACN,+BAA+B;cAClC,IAAI;EAoGhB,CAAC"}
@@ -68,9 +68,12 @@ var TableColumnsSelector = (0, _core.factory)(function(props, ref) {
68
68
  shadow: "md",
69
69
  children: [
70
70
  /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Popover.Target, {
71
- children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Button, {
71
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_core.Button, {
72
72
  variant: buttonVariant,
73
- children: "".concat(label).concat(showVisibleCountLabel ? " (".concat(selectedColumnsCount, ")") : '')
73
+ children: [
74
+ label,
75
+ showVisibleCountLabel ? " (".concat(selectedColumnsCount, ")") : ''
76
+ ]
74
77
  })
75
78
  }),
76
79
  /*#__PURE__*/ (0, _jsxruntime.jsxs)(_core.Popover.Dropdown, {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/table/table-columns-selector/TableColumnsSelector.tsx"],"sourcesContent":["import {\n BoxProps,\n Button,\n Checkbox,\n CompoundStylesApiProps,\n Divider,\n factory,\n Factory,\n Grid,\n Popover,\n ScrollArea,\n Stack,\n Tooltip,\n useProps,\n} from '@mantine/core';\nimport {flexRender, Header} from '@tanstack/react-table';\nimport {ReactNode} from 'react';\nimport {TableComponentsOrder} from '../Table';\nimport {useTableContext} from '../TableContext';\n\nexport type TableColumnsSelectorStylesNames = 'columnSelector' | 'columnSelectorWrapper';\n\nexport interface TableColumnsSelectorProps extends BoxProps, CompoundStylesApiProps<TableColumnsSelectorFactory> {\n /**\n * The label of the button\n * @default 'Edit columns'\n */\n label?: ReactNode;\n /**\n * The style variant of the button\n * @default 'outline'\n */\n buttonVariant?: string;\n /**\n * Whether the count of visible columns is shown in the button label.\n * @default false\n */\n showVisibleCountLabel?: boolean;\n /**\n * The maximum number of columns that can be selected at the same time.\n * If defined a footer will render with the remaining number of columns that can be selected.\n */\n maxSelectableColumns?: number;\n /**\n * The content to display in the footer when maxSelectableColumns is defined.\n */\n footer?: ReactNode;\n /**\n * The tooltip to display when the user hovers over a disabled checkbox because of the limit.\n * @default 'You have reached the maximum display limit.'\n */\n limitReachedTooltip?: string;\n /**\n * The tooltip to display when the user hovers over a disabled checkbox because a column cannot be hidden.\n * @default 'This column is always visible.'\n */\n alwaysVisibleTooltip?: string;\n}\n\nexport type TableColumnsSelectorFactory = Factory<{\n props: TableColumnsSelectorProps;\n ref: HTMLDivElement;\n stylesNames: TableColumnsSelectorStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<TableColumnsSelectorProps> = {\n label: 'Edit columns',\n buttonVariant: 'outline',\n limitReachedTooltip: 'You have reached the maximum display limit.',\n alwaysVisibleTooltip: 'This column is always visible.',\n showVisibleCountLabel: false,\n};\n\nexport const TableColumnsSelector = factory<TableColumnsSelectorFactory>((props, ref) => {\n const {getStyles} = useTableContext();\n const {\n label,\n buttonVariant,\n showVisibleCountLabel,\n maxSelectableColumns,\n footer,\n limitReachedTooltip,\n alwaysVisibleTooltip,\n classNames,\n className,\n styles,\n style,\n vars,\n ...others\n } = useProps('TableColumnsSelector', defaultProps, props);\n const {table} = useTableContext();\n\n const allColumns = table.getAllLeafColumns();\n\n const filteredColumns = allColumns.filter((column) => !column.columnDef.meta?.controlColumn);\n const selectedColumnsCount = filteredColumns.filter((column) => column.getIsVisible()).length;\n\n if (filteredColumns.length <= 0) {\n return null;\n }\n\n const stylesApiProps = {classNames, styles};\n\n return (\n <Grid.Col\n span=\"content\"\n order={TableComponentsOrder.ColumnsSelector}\n {...getStyles('columnSelector', {className, style, ...stylesApiProps})}\n {...others}\n >\n <Popover withinPortal position=\"bottom\" shadow=\"md\">\n <Popover.Target>\n <Button variant={buttonVariant}>{`${label}${\n showVisibleCountLabel ? ` (${selectedColumnsCount})` : ''\n }`}</Button>\n </Popover.Target>\n <Popover.Dropdown miw={240}>\n <ScrollArea.Autosize mah={154}>\n <Stack {...getStyles('columnSelectorWrapper', stylesApiProps)}>\n {filteredColumns.map((column) => {\n const alwaysVisible = !column.getCanHide();\n const isDisabled =\n (selectedColumnsCount >= maxSelectableColumns && !column.getIsVisible()) ||\n alwaysVisible;\n\n return (\n <Tooltip\n label={alwaysVisible ? alwaysVisibleTooltip : limitReachedTooltip}\n disabled={!isDisabled}\n position=\"left\"\n key={column.id}\n >\n <div>\n <Checkbox\n key={column.id}\n label={flexRender(column.columnDef.header, {\n table,\n column,\n header: {column} as Header<unknown, unknown>,\n })}\n name={column.id}\n checked={column.getIsVisible() || alwaysVisible}\n disabled={isDisabled}\n onChange={column.getToggleVisibilityHandler()}\n />\n </div>\n </Tooltip>\n );\n })}\n </Stack>\n </ScrollArea.Autosize>\n {maxSelectableColumns && (\n <>\n <Divider mb=\"xs\" mt=\"sm\" />\n {footer}\n </>\n )}\n </Popover.Dropdown>\n </Popover>\n </Grid.Col>\n );\n});\n"],"names":["TableColumnsSelector","defaultProps","label","buttonVariant","limitReachedTooltip","alwaysVisibleTooltip","showVisibleCountLabel","factory","props","ref","getStyles","useTableContext","useProps","maxSelectableColumns","footer","classNames","className","styles","style","vars","others","table","allColumns","getAllLeafColumns","filteredColumns","filter","column","columnDef","meta","controlColumn","selectedColumnsCount","getIsVisible","length","stylesApiProps","Grid","Col","span","order","TableComponentsOrder","ColumnsSelector","Popover","withinPortal","position","shadow","Target","Button","variant","Dropdown","miw","ScrollArea","Autosize","mah","Stack","map","alwaysVisible","getCanHide","isDisabled","Tooltip","disabled","div","Checkbox","flexRender","header","name","id","checked","onChange","getToggleVisibilityHandler","Divider","mb","mt"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../src/components/table/table-columns-selector/TableColumnsSelector.tsx"],"sourcesContent":["import {\n BoxProps,\n Button,\n Checkbox,\n CompoundStylesApiProps,\n Divider,\n factory,\n Factory,\n Grid,\n Popover,\n ScrollArea,\n Stack,\n Tooltip,\n useProps,\n} from '@mantine/core';\nimport {flexRender, Header} from '@tanstack/react-table';\nimport {ReactNode} from 'react';\nimport {TableComponentsOrder} from '../Table';\nimport {useTableContext} from '../TableContext';\n\nexport type TableColumnsSelectorStylesNames = 'columnSelector' | 'columnSelectorWrapper';\n\nexport interface TableColumnsSelectorProps extends BoxProps, CompoundStylesApiProps<TableColumnsSelectorFactory> {\n /**\n * The label of the button\n * @default 'Edit columns'\n */\n label?: ReactNode;\n /**\n * The style variant of the button\n * @default 'outline'\n */\n buttonVariant?: string;\n /**\n * Whether the count of visible columns is shown in the button label.\n * @default false\n */\n showVisibleCountLabel?: boolean;\n /**\n * The maximum number of columns that can be selected at the same time.\n * If defined a footer will render with the remaining number of columns that can be selected.\n */\n maxSelectableColumns?: number;\n /**\n * The content to display in the footer when maxSelectableColumns is defined.\n */\n footer?: ReactNode;\n /**\n * The tooltip to display when the user hovers over a disabled checkbox because of the limit.\n * @default 'You have reached the maximum display limit.'\n */\n limitReachedTooltip?: string;\n /**\n * The tooltip to display when the user hovers over a disabled checkbox because a column cannot be hidden.\n * @default 'This column is always visible.'\n */\n alwaysVisibleTooltip?: string;\n}\n\nexport type TableColumnsSelectorFactory = Factory<{\n props: TableColumnsSelectorProps;\n ref: HTMLDivElement;\n stylesNames: TableColumnsSelectorStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<TableColumnsSelectorProps> = {\n label: 'Edit columns',\n buttonVariant: 'outline',\n limitReachedTooltip: 'You have reached the maximum display limit.',\n alwaysVisibleTooltip: 'This column is always visible.',\n showVisibleCountLabel: false,\n};\n\nexport const TableColumnsSelector = factory<TableColumnsSelectorFactory>((props, ref) => {\n const {getStyles} = useTableContext();\n const {\n label,\n buttonVariant,\n showVisibleCountLabel,\n maxSelectableColumns,\n footer,\n limitReachedTooltip,\n alwaysVisibleTooltip,\n classNames,\n className,\n styles,\n style,\n vars,\n ...others\n } = useProps('TableColumnsSelector', defaultProps, props);\n const {table} = useTableContext();\n\n const allColumns = table.getAllLeafColumns();\n\n const filteredColumns = allColumns.filter((column) => !column.columnDef.meta?.controlColumn);\n const selectedColumnsCount = filteredColumns.filter((column) => column.getIsVisible()).length;\n\n if (filteredColumns.length <= 0) {\n return null;\n }\n\n const stylesApiProps = {classNames, styles};\n\n return (\n <Grid.Col\n span=\"content\"\n order={TableComponentsOrder.ColumnsSelector}\n {...getStyles('columnSelector', {className, style, ...stylesApiProps})}\n {...others}\n >\n <Popover withinPortal position=\"bottom\" shadow=\"md\">\n <Popover.Target>\n <Button variant={buttonVariant}>\n {label}\n {showVisibleCountLabel ? ` (${selectedColumnsCount})` : ''}\n </Button>\n </Popover.Target>\n <Popover.Dropdown miw={240}>\n <ScrollArea.Autosize mah={154}>\n <Stack {...getStyles('columnSelectorWrapper', stylesApiProps)}>\n {filteredColumns.map((column) => {\n const alwaysVisible = !column.getCanHide();\n const isDisabled =\n (selectedColumnsCount >= maxSelectableColumns && !column.getIsVisible()) ||\n alwaysVisible;\n\n return (\n <Tooltip\n label={alwaysVisible ? alwaysVisibleTooltip : limitReachedTooltip}\n disabled={!isDisabled}\n position=\"left\"\n key={column.id}\n >\n <div>\n <Checkbox\n key={column.id}\n label={flexRender(column.columnDef.header, {\n table,\n column,\n header: {column} as Header<unknown, unknown>,\n })}\n name={column.id}\n checked={column.getIsVisible() || alwaysVisible}\n disabled={isDisabled}\n onChange={column.getToggleVisibilityHandler()}\n />\n </div>\n </Tooltip>\n );\n })}\n </Stack>\n </ScrollArea.Autosize>\n {maxSelectableColumns && (\n <>\n <Divider mb=\"xs\" mt=\"sm\" />\n {footer}\n </>\n )}\n </Popover.Dropdown>\n </Popover>\n </Grid.Col>\n );\n});\n"],"names":["TableColumnsSelector","defaultProps","label","buttonVariant","limitReachedTooltip","alwaysVisibleTooltip","showVisibleCountLabel","factory","props","ref","getStyles","useTableContext","useProps","maxSelectableColumns","footer","classNames","className","styles","style","vars","others","table","allColumns","getAllLeafColumns","filteredColumns","filter","column","columnDef","meta","controlColumn","selectedColumnsCount","getIsVisible","length","stylesApiProps","Grid","Col","span","order","TableComponentsOrder","ColumnsSelector","Popover","withinPortal","position","shadow","Target","Button","variant","Dropdown","miw","ScrollArea","Autosize","mah","Stack","map","alwaysVisible","getCanHide","isDisabled","Tooltip","disabled","div","Checkbox","flexRender","header","name","id","checked","onChange","getToggleVisibilityHandler","Divider","mb","mt"],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import { type PaginationState, type SortingState, type ExpandedState } from '@tanstack/table-core';
1
+ import { type ExpandedState, type PaginationState, type SortingState } from '@tanstack/table-core';
2
+ import { Dispatch, SetStateAction } from 'react';
2
3
  import { type DateRangePickerValue } from '../date-range-picker';
3
4
  type PartialDeep<T> = T extends object ? {
4
5
  [P in keyof T]?: PartialDeep<T[P]>;
@@ -75,43 +76,43 @@ export interface TableStore<TData = unknown> {
75
76
  /**
76
77
  * Allows to change the pagination state.
77
78
  */
78
- setPagination: React.Dispatch<React.SetStateAction<TableState<TData>['pagination']>>;
79
+ setPagination: Dispatch<SetStateAction<TableState<TData>['pagination']>>;
79
80
  /**
80
81
  * Allows to change the total number of entries.
81
82
  */
82
- setTotalEntries: React.Dispatch<React.SetStateAction<TableState<TData>['totalEntries']>>;
83
+ setTotalEntries: Dispatch<SetStateAction<TableState<TData>['totalEntries']>>;
83
84
  /**
84
85
  * Allows to change the sorting state.
85
86
  */
86
- setSorting: React.Dispatch<React.SetStateAction<TableState<TData>['sorting']>>;
87
+ setSorting: Dispatch<SetStateAction<TableState<TData>['sorting']>>;
87
88
  /**
88
89
  * Allows to change the global filter value.
89
90
  */
90
- setGlobalFilter: React.Dispatch<React.SetStateAction<TableState<TData>['globalFilter']>>;
91
+ setGlobalFilter: Dispatch<SetStateAction<TableState<TData>['globalFilter']>>;
91
92
  /**
92
93
  * Allows to change the rows expanded state.
93
94
  */
94
- setExpanded: React.Dispatch<React.SetStateAction<TableState<TData>['expanded']>>;
95
+ setExpanded: Dispatch<SetStateAction<TableState<TData>['expanded']>>;
95
96
  /**
96
97
  * Allows to change the predicates values.
97
98
  */
98
- setPredicates: React.Dispatch<React.SetStateAction<TableState<TData>['predicates']>>;
99
+ setPredicates: Dispatch<SetStateAction<TableState<TData>['predicates']>>;
99
100
  /**
100
101
  * Allows to change the selected layout.
101
102
  */
102
- setLayout: React.Dispatch<React.SetStateAction<TableState<TData>['layout']>>;
103
+ setLayout: Dispatch<SetStateAction<TableState<TData>['layout']>>;
103
104
  /**
104
105
  * Allows to change the selected date range.
105
106
  */
106
- setDateRange: React.Dispatch<React.SetStateAction<TableState<TData>['dateRange']>>;
107
+ setDateRange: Dispatch<SetStateAction<TableState<TData>['dateRange']>>;
107
108
  /**
108
109
  * Allows to change the current row selection.
109
110
  */
110
- setRowSelection: React.Dispatch<React.SetStateAction<TableState<TData>['rowSelection']>>;
111
+ setRowSelection: Dispatch<SetStateAction<TableState<TData>['rowSelection']>>;
111
112
  /**
112
113
  * Allows to change the visible columns.
113
114
  */
114
- setColumnVisibility: React.Dispatch<React.SetStateAction<TableState<TData>['columnVisibility']>>;
115
+ setColumnVisibility: Dispatch<SetStateAction<TableState<TData>['columnVisibility']>>;
115
116
  /**
116
117
  * Whether the table is currently filtered.
117
118
  */