@coveord/plasma-mantine 54.1.2 → 54.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (308) hide show
  1. package/.turbo/turbo-build.log +3 -3
  2. package/.turbo/turbo-test.log +34 -34
  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 +8 -0
  130. package/dist/cjs/theme/__tests__/mergeCSSVariablesResolvers.spec.d.ts +2 -0
  131. package/dist/cjs/theme/__tests__/mergeCSSVariablesResolvers.spec.d.ts.map +1 -0
  132. package/dist/cjs/theme/__tests__/plasmaCSSVariablesResolver.spec.d.ts +2 -0
  133. package/dist/cjs/theme/__tests__/plasmaCSSVariablesResolver.spec.d.ts.map +1 -0
  134. package/dist/cjs/utils/__tests__/overrideComponent.spec.d.ts +2 -0
  135. package/dist/cjs/utils/__tests__/overrideComponent.spec.d.ts.map +1 -0
  136. package/dist/esm/__tests__/Utils.d.ts +8 -0
  137. package/dist/esm/__tests__/Utils.d.ts.map +1 -0
  138. package/dist/esm/__tests__/VitestSetup.d.ts +6 -0
  139. package/dist/esm/__tests__/VitestSetup.d.ts.map +1 -0
  140. package/dist/esm/components/action-icon/ActionIcon.d.ts +1 -1
  141. package/dist/esm/components/action-icon/ActionIcon.d.ts.map +1 -1
  142. package/dist/esm/components/action-icon/ActionIcon.js.map +1 -1
  143. package/dist/esm/components/blank-slate/__tests__/BlankSlate.spec.d.ts +2 -0
  144. package/dist/esm/components/blank-slate/__tests__/BlankSlate.spec.d.ts.map +1 -0
  145. package/dist/esm/components/browser-preview/__tests__/BrowserPreview.spec.d.ts +2 -0
  146. package/dist/esm/components/browser-preview/__tests__/BrowserPreview.spec.d.ts.map +1 -0
  147. package/dist/esm/components/button/Button.d.ts +1 -1
  148. package/dist/esm/components/button/Button.d.ts.map +1 -1
  149. package/dist/esm/components/button/Button.js.map +1 -1
  150. package/dist/esm/components/button/__tests__/Button.spec.d.ts +2 -0
  151. package/dist/esm/components/button/__tests__/Button.spec.d.ts.map +1 -0
  152. package/dist/esm/components/button/__tests__/ButtonWithDisabledTooltip.spec.d.ts +2 -0
  153. package/dist/esm/components/button/__tests__/ButtonWithDisabledTooltip.spec.d.ts.map +1 -0
  154. package/dist/esm/components/code-editor/CodeEditor.module.css +1 -0
  155. package/dist/esm/components/code-editor/__tests__/CodeEditor.spec.d.ts +2 -0
  156. package/dist/esm/components/code-editor/__tests__/CodeEditor.spec.d.ts.map +1 -0
  157. package/dist/esm/components/code-editor/search/__tests__/Search.unit.spec.d.ts +2 -0
  158. package/dist/esm/components/code-editor/search/__tests__/Search.unit.spec.d.ts.map +1 -0
  159. package/dist/esm/components/collection/Collection.module.css +2 -0
  160. package/dist/esm/components/collection/CollectionContext.d.ts +1 -1
  161. package/dist/esm/components/collection/CollectionContext.d.ts.map +1 -1
  162. package/dist/esm/components/collection/__tests__/Collection.spec.d.ts +2 -0
  163. package/dist/esm/components/collection/__tests__/Collection.spec.d.ts.map +1 -0
  164. package/dist/esm/components/copyToClipboard/__tests__/CopyToClipboard.spec.d.ts +2 -0
  165. package/dist/esm/components/copyToClipboard/__tests__/CopyToClipboard.spec.d.ts.map +1 -0
  166. package/dist/esm/components/date-range-picker/DateRangePickerPopoverCalendar.d.ts +2 -2
  167. package/dist/esm/components/date-range-picker/DateRangePickerPopoverCalendar.d.ts.map +1 -1
  168. package/dist/esm/components/date-range-picker/DateRangePickerPopoverCalendar.js.map +1 -1
  169. package/dist/esm/components/date-range-picker/DateRangePickerPresetSelect.d.ts +2 -2
  170. package/dist/esm/components/date-range-picker/DateRangePickerPresetSelect.d.ts.map +1 -1
  171. package/dist/esm/components/date-range-picker/DateRangePickerPresetSelect.js +1 -1
  172. package/dist/esm/components/date-range-picker/DateRangePickerPresetSelect.js.map +1 -1
  173. package/dist/esm/components/date-range-picker/__tests__/DateRangePickerInlineCalendar.spec.d.ts +2 -0
  174. package/dist/esm/components/date-range-picker/__tests__/DateRangePickerInlineCalendar.spec.d.ts.map +1 -0
  175. package/dist/esm/components/date-range-picker/__tests__/DateRangePickerPopoverCalendar.spec.d.ts +2 -0
  176. package/dist/esm/components/date-range-picker/__tests__/DateRangePickerPopoverCalendar.spec.d.ts.map +1 -0
  177. package/dist/esm/components/date-range-picker/__tests__/DateRangePickerPresetSelect.spec.d.ts +2 -0
  178. package/dist/esm/components/date-range-picker/__tests__/DateRangePickerPresetSelect.spec.d.ts.map +1 -0
  179. package/dist/esm/components/date-range-picker/__tests__/EditableDateRangePicker.spec.d.ts +2 -0
  180. package/dist/esm/components/date-range-picker/__tests__/EditableDateRangePicker.spec.d.ts.map +1 -0
  181. package/dist/esm/components/header/Header.context.d.ts +1 -1
  182. package/dist/esm/components/header/Header.context.d.ts.map +1 -1
  183. package/dist/esm/components/header/Header.module.css +3 -0
  184. package/dist/esm/components/header/__tests__/Header.spec.d.ts +2 -0
  185. package/dist/esm/components/header/__tests__/Header.spec.d.ts.map +1 -0
  186. package/dist/esm/components/inline-confirm/InlineConfirmContext.d.ts +1 -1
  187. package/dist/esm/components/inline-confirm/InlineConfirmContext.d.ts.map +1 -1
  188. package/dist/esm/components/inline-confirm/__tests__/InlineConfirm.spec.d.ts +2 -0
  189. package/dist/esm/components/inline-confirm/__tests__/InlineConfirm.spec.d.ts.map +1 -0
  190. package/dist/esm/components/menu/Menu.d.ts +1 -1
  191. package/dist/esm/components/prompt/Prompt.context.d.ts +1 -1
  192. package/dist/esm/components/prompt/Prompt.context.d.ts.map +1 -1
  193. package/dist/esm/components/prompt/__tests__/Prompt.spec.d.ts +2 -0
  194. package/dist/esm/components/prompt/__tests__/Prompt.spec.d.ts.map +1 -0
  195. package/dist/esm/components/sticky-footer/StickyFooter.module.css +2 -4
  196. package/dist/esm/components/sticky-footer/__tests__/StickyFooter.spec.d.ts +2 -0
  197. package/dist/esm/components/sticky-footer/__tests__/StickyFooter.spec.d.ts.map +1 -0
  198. package/dist/esm/components/table/Table.js +2 -2
  199. package/dist/esm/components/table/Table.js.map +1 -1
  200. package/dist/esm/components/table/Table.module.css +3 -0
  201. package/dist/esm/components/table/Table.types.d.ts +2 -2
  202. package/dist/esm/components/table/Table.types.d.ts.map +1 -1
  203. package/dist/esm/components/table/Table.types.js.map +1 -1
  204. package/dist/esm/components/table/__tests__/Table.spec.d.ts +2 -0
  205. package/dist/esm/components/table/__tests__/Table.spec.d.ts.map +1 -0
  206. package/dist/esm/components/table/__tests__/TableActions.spec.d.ts +2 -0
  207. package/dist/esm/components/table/__tests__/TableActions.spec.d.ts.map +1 -0
  208. package/dist/esm/components/table/__tests__/TableCollapsibleColumn.spec.d.ts +2 -0
  209. package/dist/esm/components/table/__tests__/TableCollapsibleColumn.spec.d.ts.map +1 -0
  210. package/dist/esm/components/table/__tests__/TableColumnsSelector.spec.d.ts +2 -0
  211. package/dist/esm/components/table/__tests__/TableColumnsSelector.spec.d.ts.map +1 -0
  212. package/dist/esm/components/table/__tests__/TableDateRangePicker.spec.d.ts +2 -0
  213. package/dist/esm/components/table/__tests__/TableDateRangePicker.spec.d.ts.map +1 -0
  214. package/dist/esm/components/table/__tests__/TableFilter.spec.d.ts +2 -0
  215. package/dist/esm/components/table/__tests__/TableFilter.spec.d.ts.map +1 -0
  216. package/dist/esm/components/table/__tests__/TableLastUpdated.spec.d.ts +2 -0
  217. package/dist/esm/components/table/__tests__/TableLastUpdated.spec.d.ts.map +1 -0
  218. package/dist/esm/components/table/__tests__/TablePagination.spec.d.ts +2 -0
  219. package/dist/esm/components/table/__tests__/TablePagination.spec.d.ts.map +1 -0
  220. package/dist/esm/components/table/__tests__/TablePerPage.spec.d.ts +2 -0
  221. package/dist/esm/components/table/__tests__/TablePerPage.spec.d.ts.map +1 -0
  222. package/dist/esm/components/table/__tests__/TablePredicate.spec.d.ts +2 -0
  223. package/dist/esm/components/table/__tests__/TablePredicate.spec.d.ts.map +1 -0
  224. package/dist/esm/components/table/__tests__/Th.spec.d.ts +2 -0
  225. package/dist/esm/components/table/__tests__/Th.spec.d.ts.map +1 -0
  226. package/dist/esm/components/table/layouts/__tests__/RowLayout.spec.d.ts +2 -0
  227. package/dist/esm/components/table/layouts/__tests__/RowLayout.spec.d.ts.map +1 -0
  228. package/dist/esm/components/table/layouts/row-layout/RowLayout.js +1 -1
  229. package/dist/esm/components/table/layouts/row-layout/RowLayout.js.map +1 -1
  230. package/dist/esm/components/table/layouts/row-layout/RowLayout.module.css +8 -1
  231. package/dist/esm/components/table/layouts/row-layout/RowLayoutBody.js +1 -1
  232. package/dist/esm/components/table/layouts/row-layout/RowLayoutBody.js.map +1 -1
  233. package/dist/esm/components/table/layouts/row-layout/RowLayoutContext.d.ts +1 -1
  234. package/dist/esm/components/table/layouts/row-layout/RowLayoutContext.d.ts.map +1 -1
  235. package/dist/esm/components/table/table-actions/TableActionContext.d.ts +1 -1
  236. package/dist/esm/components/table/table-actions/TableActionContext.d.ts.map +1 -1
  237. package/dist/esm/components/table/table-columns-selector/TableColumnsSelector.d.ts.map +1 -1
  238. package/dist/esm/components/table/table-columns-selector/TableColumnsSelector.js +5 -2
  239. package/dist/esm/components/table/table-columns-selector/TableColumnsSelector.js.map +1 -1
  240. package/dist/esm/components/table/use-table.d.ts +12 -11
  241. package/dist/esm/components/table/use-table.d.ts.map +1 -1
  242. package/dist/esm/components/table/use-table.js.map +1 -1
  243. package/dist/esm/hooks/__tests__/useControlledList.spec.d.ts +2 -0
  244. package/dist/esm/hooks/__tests__/useControlledList.spec.d.ts.map +1 -0
  245. package/dist/esm/hooks/useParentHeight.d.ts +2 -1
  246. package/dist/esm/hooks/useParentHeight.d.ts.map +1 -1
  247. package/dist/esm/hooks/useParentHeight.js.map +1 -1
  248. package/dist/esm/index.d.ts +4 -4
  249. package/dist/esm/index.d.ts.map +1 -1
  250. package/dist/esm/index.js.map +1 -1
  251. package/dist/esm/styles/Alert.module.css +2 -0
  252. package/dist/esm/styles/Checkbox.module.css +1 -0
  253. package/dist/esm/styles/Combobox.module.css +1 -0
  254. package/dist/esm/styles/Modal.module.css +6 -0
  255. package/dist/esm/styles/NavLink.module.css +1 -1
  256. package/dist/esm/styles/Notification.module.css +1 -0
  257. package/dist/esm/styles/Pagination.module.css +3 -0
  258. package/dist/esm/styles/Select.module.css +8 -1
  259. package/dist/esm/styles/Skeleton.module.css +1 -0
  260. package/dist/esm/styles/Stepper.module.css +14 -0
  261. package/dist/esm/styles/Tabs.module.css +8 -0
  262. package/dist/esm/theme/__tests__/mergeCSSVariablesResolvers.spec.d.ts +2 -0
  263. package/dist/esm/theme/__tests__/mergeCSSVariablesResolvers.spec.d.ts.map +1 -0
  264. package/dist/esm/theme/__tests__/plasmaCSSVariablesResolver.spec.d.ts +2 -0
  265. package/dist/esm/theme/__tests__/plasmaCSSVariablesResolver.spec.d.ts.map +1 -0
  266. package/dist/esm/utils/__tests__/overrideComponent.spec.d.ts +2 -0
  267. package/dist/esm/utils/__tests__/overrideComponent.spec.d.ts.map +1 -0
  268. package/package.json +28 -32
  269. package/src/components/action-icon/ActionIcon.tsx +1 -1
  270. package/src/components/button/Button.tsx +3 -3
  271. package/src/components/code-editor/CodeEditor.module.css +1 -0
  272. package/src/components/collection/Collection.module.css +2 -0
  273. package/src/components/collection/__tests__/Collection.spec.tsx +5 -7
  274. package/src/components/date-range-picker/DateRangePickerPopoverCalendar.tsx +3 -3
  275. package/src/components/date-range-picker/DateRangePickerPresetSelect.tsx +4 -4
  276. package/src/components/header/Header.module.css +3 -0
  277. package/src/components/sticky-footer/StickyFooter.module.css +2 -4
  278. package/src/components/table/Table.module.css +3 -0
  279. package/src/components/table/Table.tsx +2 -2
  280. package/src/components/table/Table.types.ts +2 -2
  281. package/src/components/table/__tests__/Table.spec.tsx +1 -1
  282. package/src/components/table/__tests__/TableDateRangePicker.spec.tsx +2 -2
  283. package/src/components/table/__tests__/TableLastUpdated.spec.tsx +1 -1
  284. package/src/components/table/__tests__/Th.spec.tsx +1 -1
  285. package/src/components/table/layouts/__tests__/RowLayout.spec.tsx +3 -5
  286. package/src/components/table/layouts/row-layout/RowLayout.module.css +8 -1
  287. package/src/components/table/layouts/row-layout/RowLayout.tsx +1 -1
  288. package/src/components/table/layouts/row-layout/RowLayoutBody.tsx +1 -1
  289. package/src/components/table/table-columns-selector/TableColumnsSelector.tsx +4 -3
  290. package/src/components/table/use-table.ts +17 -19
  291. package/src/hooks/useParentHeight.ts +2 -2
  292. package/src/index.ts +4 -6
  293. package/src/styles/Alert.module.css +2 -0
  294. package/src/styles/Checkbox.module.css +1 -0
  295. package/src/styles/Combobox.module.css +1 -0
  296. package/src/styles/Modal.module.css +6 -0
  297. package/src/styles/NavLink.module.css +1 -1
  298. package/src/styles/Notification.module.css +1 -0
  299. package/src/styles/Pagination.module.css +3 -0
  300. package/src/styles/Select.module.css +8 -1
  301. package/src/styles/Skeleton.module.css +1 -0
  302. package/src/styles/Stepper.module.css +14 -0
  303. package/src/styles/Tabs.module.css +8 -0
  304. package/tsconfig.json +1 -6
  305. package/tsconfig.test.json +8 -0
  306. package/vitest.config.ts +1 -4
  307. package/.eslintrc.js +0 -28
  308. package/tsconfig.build.json +0 -5
@@ -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":""}
@@ -6,7 +6,7 @@ import { RowLayoutProvider } from './RowLayoutContext';
6
6
  import { RowLayoutHeader } from './RowLayoutHeader';
7
7
  import { RowLayoutIcon } from './RowLayoutIcon';
8
8
  const defaultProps = {};
9
- export const RowLayout = factory((props, ref)=>{
9
+ export const RowLayout = factory((props)=>{
10
10
  const { children, styles, classNames, unstyled } = useProps('PlasmaRowLayout', defaultProps, props);
11
11
  const getStyles = useStyles({
12
12
  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":["factory","useProps","useStyles","classes","RowLayoutBody","RowLayoutProvider","RowLayoutHeader","RowLayoutIcon","defaultProps","RowLayout","props","ref","children","styles","classNames","unstyled","getStyles","name","value","Body","Header","Icon","displayName"],"mappings":";AAAA,SAAQA,OAAO,EAA2BC,QAAQ,EAAEC,SAAS,QAAO,gBAAgB;AAEpF,OAAOC,aAAa,yBAAyB;AAE7C,SAAQC,aAAa,QAAiC,kBAAkB;AACxE,SAAQC,iBAAiB,QAAO,qBAAqB;AACrD,SAAQC,eAAe,QAAkC,oBAAoB;AAC7E,SAAQC,aAAa,QAAO,kBAAkB;AAY9C,MAAMC,eAAwC,CAAC;AAE/C,OAAO,MAAMC,YAAYT,QAA0B,CAACU,OAAOC;IACvD,MAAM,EAACC,QAAQ,EAAEC,MAAM,EAAEC,UAAU,EAAEC,QAAQ,EAAC,GAAGd,SAAS,mBAAmBO,cAAcE;IAC3F,MAAMM,YAAYd,UAA4B;QAC1Ce,MAAM;QACNd;QACAO;QACAG;QACAC;QACAC;IACJ;IAEA,qBAAO,KAACV;QAAkBa,OAAO;YAACF;QAAS;kBAAIJ;;AACnD,GAAG;AAEHH,UAAUU,IAAI,GAAGf;AACjBK,UAAUW,MAAM,GAAGd;AACnBG,UAAUY,IAAI,GAAGd;AACjBE,UAAUa,WAAW,GAAG"}
1
+ {"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":["factory","useProps","useStyles","classes","RowLayoutBody","RowLayoutProvider","RowLayoutHeader","RowLayoutIcon","defaultProps","RowLayout","props","children","styles","classNames","unstyled","getStyles","name","value","Body","Header","Icon","displayName"],"mappings":";AAAA,SAAQA,OAAO,EAA2BC,QAAQ,EAAEC,SAAS,QAAO,gBAAgB;AAEpF,OAAOC,aAAa,yBAAyB;AAE7C,SAAQC,aAAa,QAAiC,kBAAkB;AACxE,SAAQC,iBAAiB,QAAO,qBAAqB;AACrD,SAAQC,eAAe,QAAkC,oBAAoB;AAC7E,SAAQC,aAAa,QAAO,kBAAkB;AAY9C,MAAMC,eAAwC,CAAC;AAE/C,OAAO,MAAMC,YAAYT,QAA0B,CAACU;IAChD,MAAM,EAACC,QAAQ,EAAEC,MAAM,EAAEC,UAAU,EAAEC,QAAQ,EAAC,GAAGb,SAAS,mBAAmBO,cAAcE;IAC3F,MAAMK,YAAYb,UAA4B;QAC1Cc,MAAM;QACNb;QACAO;QACAE;QACAC;QACAC;IACJ;IAEA,qBAAO,KAACT;QAAkBY,OAAO;YAACF;QAAS;kBAAIJ;;AACnD,GAAG;AAEHF,UAAUS,IAAI,GAAGd;AACjBK,UAAUU,MAAM,GAAGb;AACnBG,UAAUW,IAAI,GAAGb;AACjBE,UAAUY,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);
@@ -69,7 +69,7 @@ export const RowLayoutBody = (props)=>{
69
69
  styles
70
70
  }).className,
71
71
  style: {
72
- width: `${columnSizing.size}px` ?? 'auto',
72
+ width: columnSizing.size ? `${columnSizing.size}px` : 'auto',
73
73
  minWidth: `${columnSizing.minSize}px`,
74
74
  maxWidth: `${columnSizing.maxSize}px`,
75
75
  ...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":["Box","Collapse","useProps","flexRender","defaultColumnSizing","Fragment","identity","useTableContext","TableCollapsibleColumn","TableSelectableColumn","TableLoading","useRowLayout","defaultProps","RowLayoutBody","props","ctx","getRowExpandedContent","onRowDoubleClick","loading","classNames","className","styles","style","getRowAttributes","others","table","store","toggleCollapsible","el","cell","children","length","querySelector","click","rows","getRowModel","map","row","rowChildren","original","index","isSelected","getIsSelected","shouldKeepSelection","rowSelectionForced","onClick","event","currentTarget","rowSelectionEnabled","multiRowSelectionEnabled","toggleSelected","tr","onDoubleClick","data-selectable","data-selected","data-multi-selection","aria-selected","data-testid","id","getStyles","getVisibleCells","columnSizing","size","column","columnDef","minSize","maxSize","onCollapsibleCellClick","stopPropagation","td","width","minWidth","maxWidth","data-collapsible-cell","visible","getContext","colSpan","getAllColumns","padding","in","getIsExpanded","px","py","extend"],"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":["Box","Collapse","useProps","flexRender","defaultColumnSizing","Fragment","identity","useTableContext","TableCollapsibleColumn","TableSelectableColumn","TableLoading","useRowLayout","defaultProps","RowLayoutBody","props","ctx","getRowExpandedContent","onRowDoubleClick","loading","classNames","className","styles","style","getRowAttributes","others","table","store","toggleCollapsible","el","cell","children","length","querySelector","click","rows","getRowModel","map","row","rowChildren","original","index","isSelected","getIsSelected","shouldKeepSelection","rowSelectionForced","onClick","event","currentTarget","rowSelectionEnabled","multiRowSelectionEnabled","toggleSelected","tr","onDoubleClick","data-selectable","data-selected","data-multi-selection","aria-selected","data-testid","id","getStyles","getVisibleCells","columnSizing","size","column","columnDef","minSize","maxSize","onCollapsibleCellClick","stopPropagation","td","width","minWidth","maxWidth","data-collapsible-cell","visible","getContext","colSpan","getAllColumns","padding","in","getIsExpanded","px","py","extend"],"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"}
@@ -39,9 +39,12 @@ export const TableColumnsSelector = factory((props, ref)=>{
39
39
  shadow: "md",
40
40
  children: [
41
41
  /*#__PURE__*/ _jsx(Popover.Target, {
42
- children: /*#__PURE__*/ _jsx(Button, {
42
+ children: /*#__PURE__*/ _jsxs(Button, {
43
43
  variant: buttonVariant,
44
- children: `${label}${showVisibleCountLabel ? ` (${selectedColumnsCount})` : ''}`
44
+ children: [
45
+ label,
46
+ showVisibleCountLabel ? ` (${selectedColumnsCount})` : ''
47
+ ]
45
48
  })
46
49
  }),
47
50
  /*#__PURE__*/ _jsxs(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":["Button","Checkbox","Divider","factory","Grid","Popover","ScrollArea","Stack","Tooltip","useProps","flexRender","TableComponentsOrder","useTableContext","defaultProps","label","buttonVariant","limitReachedTooltip","alwaysVisibleTooltip","showVisibleCountLabel","TableColumnsSelector","props","ref","getStyles","maxSelectableColumns","footer","classNames","className","styles","style","vars","others","table","allColumns","getAllLeafColumns","filteredColumns","filter","column","columnDef","meta","controlColumn","selectedColumnsCount","getIsVisible","length","stylesApiProps","Col","span","order","ColumnsSelector","withinPortal","position","shadow","Target","variant","Dropdown","miw","Autosize","mah","map","alwaysVisible","getCanHide","isDisabled","disabled","div","header","name","id","checked","onChange","getToggleVisibilityHandler","mb","mt"],"mappings":";AAAA,SAEIA,MAAM,EACNC,QAAQ,EAERC,OAAO,EACPC,OAAO,EAEPC,IAAI,EACJC,OAAO,EACPC,UAAU,EACVC,KAAK,EACLC,OAAO,EACPC,QAAQ,QACL,gBAAgB;AACvB,SAAQC,UAAU,QAAe,wBAAwB;AAEzD,SAAQC,oBAAoB,QAAO,WAAW;AAC9C,SAAQC,eAAe,QAAO,kBAAkB;AAgDhD,MAAMC,eAAmD;IACrDC,OAAO;IACPC,eAAe;IACfC,qBAAqB;IACrBC,sBAAsB;IACtBC,uBAAuB;AAC3B;AAEA,OAAO,MAAMC,uBAAuBhB,QAAqC,CAACiB,OAAOC;IAC7E,MAAM,EAACC,SAAS,EAAC,GAAGV;IACpB,MAAM,EACFE,KAAK,EACLC,aAAa,EACbG,qBAAqB,EACrBK,oBAAoB,EACpBC,MAAM,EACNR,mBAAmB,EACnBC,oBAAoB,EACpBQ,UAAU,EACVC,SAAS,EACTC,MAAM,EACNC,KAAK,EACLC,IAAI,EACJ,GAAGC,QACN,GAAGrB,SAAS,wBAAwBI,cAAcO;IACnD,MAAM,EAACW,KAAK,EAAC,GAAGnB;IAEhB,MAAMoB,aAAaD,MAAME,iBAAiB;IAE1C,MAAMC,kBAAkBF,WAAWG,MAAM,CAAC,CAACC,SAAW,CAACA,OAAOC,SAAS,CAACC,IAAI,EAAEC;IAC9E,MAAMC,uBAAuBN,gBAAgBC,MAAM,CAAC,CAACC,SAAWA,OAAOK,YAAY,IAAIC,MAAM;IAE7F,IAAIR,gBAAgBQ,MAAM,IAAI,GAAG;QAC7B,OAAO;IACX;IAEA,MAAMC,iBAAiB;QAAClB;QAAYE;IAAM;IAE1C,qBACI,KAACvB,KAAKwC,GAAG;QACLC,MAAK;QACLC,OAAOnC,qBAAqBoC,eAAe;QAC1C,GAAGzB,UAAU,kBAAkB;YAACI;YAAWE;YAAO,GAAGe,cAAc;QAAA,EAAE;QACrE,GAAGb,MAAM;kBAEV,cAAA,MAACzB;YAAQ2C,YAAY;YAACC,UAAS;YAASC,QAAO;;8BAC3C,KAAC7C,QAAQ8C,MAAM;8BACX,cAAA,KAACnD;wBAAOoD,SAASrC;kCAAgB,CAAC,EAAED,MAAM,EACtCI,wBAAwB,CAAC,EAAE,EAAEsB,qBAAqB,CAAC,CAAC,GAAG,GAC1D,CAAC;;;8BAEN,MAACnC,QAAQgD,QAAQ;oBAACC,KAAK;;sCACnB,KAAChD,WAAWiD,QAAQ;4BAACC,KAAK;sCACtB,cAAA,KAACjD;gCAAO,GAAGe,UAAU,yBAAyBqB,eAAe;0CACxDT,gBAAgBuB,GAAG,CAAC,CAACrB;oCAClB,MAAMsB,gBAAgB,CAACtB,OAAOuB,UAAU;oCACxC,MAAMC,aACF,AAACpB,wBAAwBjB,wBAAwB,CAACa,OAAOK,YAAY,MACrEiB;oCAEJ,qBACI,KAAClD;wCACGM,OAAO4C,gBAAgBzC,uBAAuBD;wCAC9C6C,UAAU,CAACD;wCACXX,UAAS;kDAGT,cAAA,KAACa;sDACG,cAAA,KAAC7D;gDAEGa,OAAOJ,WAAW0B,OAAOC,SAAS,CAAC0B,MAAM,EAAE;oDACvChC;oDACAK;oDACA2B,QAAQ;wDAAC3B;oDAAM;gDACnB;gDACA4B,MAAM5B,OAAO6B,EAAE;gDACfC,SAAS9B,OAAOK,YAAY,MAAMiB;gDAClCG,UAAUD;gDACVO,UAAU/B,OAAOgC,0BAA0B;+CATtChC,OAAO6B,EAAE;;uCAJjB7B,OAAO6B,EAAE;gCAkB1B;;;wBAGP1C,sCACG;;8CACI,KAACrB;oCAAQmE,IAAG;oCAAKC,IAAG;;gCACnB9C;;;;;;;;AAO7B,GAAG"}
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":["Button","Checkbox","Divider","factory","Grid","Popover","ScrollArea","Stack","Tooltip","useProps","flexRender","TableComponentsOrder","useTableContext","defaultProps","label","buttonVariant","limitReachedTooltip","alwaysVisibleTooltip","showVisibleCountLabel","TableColumnsSelector","props","ref","getStyles","maxSelectableColumns","footer","classNames","className","styles","style","vars","others","table","allColumns","getAllLeafColumns","filteredColumns","filter","column","columnDef","meta","controlColumn","selectedColumnsCount","getIsVisible","length","stylesApiProps","Col","span","order","ColumnsSelector","withinPortal","position","shadow","Target","variant","Dropdown","miw","Autosize","mah","map","alwaysVisible","getCanHide","isDisabled","disabled","div","header","name","id","checked","onChange","getToggleVisibilityHandler","mb","mt"],"mappings":";AAAA,SAEIA,MAAM,EACNC,QAAQ,EAERC,OAAO,EACPC,OAAO,EAEPC,IAAI,EACJC,OAAO,EACPC,UAAU,EACVC,KAAK,EACLC,OAAO,EACPC,QAAQ,QACL,gBAAgB;AACvB,SAAQC,UAAU,QAAe,wBAAwB;AAEzD,SAAQC,oBAAoB,QAAO,WAAW;AAC9C,SAAQC,eAAe,QAAO,kBAAkB;AAgDhD,MAAMC,eAAmD;IACrDC,OAAO;IACPC,eAAe;IACfC,qBAAqB;IACrBC,sBAAsB;IACtBC,uBAAuB;AAC3B;AAEA,OAAO,MAAMC,uBAAuBhB,QAAqC,CAACiB,OAAOC;IAC7E,MAAM,EAACC,SAAS,EAAC,GAAGV;IACpB,MAAM,EACFE,KAAK,EACLC,aAAa,EACbG,qBAAqB,EACrBK,oBAAoB,EACpBC,MAAM,EACNR,mBAAmB,EACnBC,oBAAoB,EACpBQ,UAAU,EACVC,SAAS,EACTC,MAAM,EACNC,KAAK,EACLC,IAAI,EACJ,GAAGC,QACN,GAAGrB,SAAS,wBAAwBI,cAAcO;IACnD,MAAM,EAACW,KAAK,EAAC,GAAGnB;IAEhB,MAAMoB,aAAaD,MAAME,iBAAiB;IAE1C,MAAMC,kBAAkBF,WAAWG,MAAM,CAAC,CAACC,SAAW,CAACA,OAAOC,SAAS,CAACC,IAAI,EAAEC;IAC9E,MAAMC,uBAAuBN,gBAAgBC,MAAM,CAAC,CAACC,SAAWA,OAAOK,YAAY,IAAIC,MAAM;IAE7F,IAAIR,gBAAgBQ,MAAM,IAAI,GAAG;QAC7B,OAAO;IACX;IAEA,MAAMC,iBAAiB;QAAClB;QAAYE;IAAM;IAE1C,qBACI,KAACvB,KAAKwC,GAAG;QACLC,MAAK;QACLC,OAAOnC,qBAAqBoC,eAAe;QAC1C,GAAGzB,UAAU,kBAAkB;YAACI;YAAWE;YAAO,GAAGe,cAAc;QAAA,EAAE;QACrE,GAAGb,MAAM;kBAEV,cAAA,MAACzB;YAAQ2C,YAAY;YAACC,UAAS;YAASC,QAAO;;8BAC3C,KAAC7C,QAAQ8C,MAAM;8BACX,cAAA,MAACnD;wBAAOoD,SAASrC;;4BACZD;4BACAI,wBAAwB,CAAC,EAAE,EAAEsB,qBAAqB,CAAC,CAAC,GAAG;;;;8BAGhE,MAACnC,QAAQgD,QAAQ;oBAACC,KAAK;;sCACnB,KAAChD,WAAWiD,QAAQ;4BAACC,KAAK;sCACtB,cAAA,KAACjD;gCAAO,GAAGe,UAAU,yBAAyBqB,eAAe;0CACxDT,gBAAgBuB,GAAG,CAAC,CAACrB;oCAClB,MAAMsB,gBAAgB,CAACtB,OAAOuB,UAAU;oCACxC,MAAMC,aACF,AAACpB,wBAAwBjB,wBAAwB,CAACa,OAAOK,YAAY,MACrEiB;oCAEJ,qBACI,KAAClD;wCACGM,OAAO4C,gBAAgBzC,uBAAuBD;wCAC9C6C,UAAU,CAACD;wCACXX,UAAS;kDAGT,cAAA,KAACa;sDACG,cAAA,KAAC7D;gDAEGa,OAAOJ,WAAW0B,OAAOC,SAAS,CAAC0B,MAAM,EAAE;oDACvChC;oDACAK;oDACA2B,QAAQ;wDAAC3B;oDAAM;gDACnB;gDACA4B,MAAM5B,OAAO6B,EAAE;gDACfC,SAAS9B,OAAOK,YAAY,MAAMiB;gDAClCG,UAAUD;gDACVO,UAAU/B,OAAOgC,0BAA0B;+CATtChC,OAAO6B,EAAE;;uCAJjB7B,OAAO6B,EAAE;gCAkB1B;;;wBAGP1C,sCACG;;8CACI,KAACrB;oCAAQmE,IAAG;oCAAKC,IAAG;;gCACnB9C;;;;;;;;AAO7B,GAAG"}
@@ -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
  */
@@ -1 +1 @@
1
- {"version":3,"file":"use-table.d.ts","sourceRoot":"","sources":["../../../../src/components/table/use-table.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-table.d.ts","sourceRoot":"","sources":["../../../../src/components/table/use-table.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/table/use-table.ts"],"sourcesContent":["import {useDidUpdate} from '@mantine/hooks';\nimport {type PaginationState, type SortingState, type ExpandedState} from '@tanstack/table-core';\nimport defaultsDeep from 'lodash.defaultsdeep';\nimport {useCallback, useMemo, useState} from 'react';\nimport {type DateRangePickerValue} from '../date-range-picker';\n\n// Create a deeply optional version of another type\ntype PartialDeep<T> = T extends object\n ? {\n [P in keyof T]?: PartialDeep<T[P]>;\n }\n : T;\n\nexport interface TableState<TData = unknown> {\n /**\n * Current pagination state\n *\n * @default { pageIndex: 0, pageSize: 50 }\n */\n pagination: PaginationState;\n /**\n * Total number of entries in the table.\n * This number is used to calculate the number of pages in the pagination.\n * When null, the number of pages is calculated using the current data length.\n *\n * @default null\n */\n totalEntries: number | null;\n /**\n * Current sorting state\n *\n * @default []\n */\n sorting: SortingState;\n /**\n * Current global filter value\n *\n * @default ''\n */\n globalFilter: string;\n\n /**\n * Current expanded state\n *\n * @default {}\n */\n expanded: ExpandedState;\n /**\n * Predicates and their current value\n *\n * @default {}\n */\n predicates: Record<string, string>;\n /**\n * Layout currently selected. When null, the first layout is used.\n *\n * @default null\n */\n layout: string | null;\n /**\n * Currently selected date range\n *\n * @default [null, null]\n */\n dateRange: DateRangePickerValue;\n /**\n * Currently selected rows\n *\n * @default {}\n */\n rowSelection: Record<string, TData>;\n /**\n * Columns that are currently visible\n *\n * @default {}\n */\n columnVisibility: Record<string, boolean>;\n}\n\nexport interface TableStore<TData = unknown> {\n /**\n * Current state of the table.\n */\n state: TableState<TData>;\n /**\n * Allows to change the pagination state.\n */\n setPagination: React.Dispatch<React.SetStateAction<TableState<TData>['pagination']>>;\n /**\n * Allows to change the total number of entries.\n */\n setTotalEntries: React.Dispatch<React.SetStateAction<TableState<TData>['totalEntries']>>;\n /**\n * Allows to change the sorting state.\n */\n setSorting: React.Dispatch<React.SetStateAction<TableState<TData>['sorting']>>;\n /**\n * Allows to change the global filter value.\n */\n setGlobalFilter: React.Dispatch<React.SetStateAction<TableState<TData>['globalFilter']>>;\n /**\n * Allows to change the rows expanded state.\n */\n setExpanded: React.Dispatch<React.SetStateAction<TableState<TData>['expanded']>>;\n /**\n * Allows to change the predicates values.\n */\n setPredicates: React.Dispatch<React.SetStateAction<TableState<TData>['predicates']>>;\n /**\n * Allows to change the selected layout.\n */\n setLayout: React.Dispatch<React.SetStateAction<TableState<TData>['layout']>>;\n /**\n * Allows to change the selected date range.\n */\n setDateRange: React.Dispatch<React.SetStateAction<TableState<TData>['dateRange']>>;\n /**\n * Allows to change the current row selection.\n */\n setRowSelection: React.Dispatch<React.SetStateAction<TableState<TData>['rowSelection']>>;\n /**\n * Allows to change the visible columns.\n */\n setColumnVisibility: React.Dispatch<React.SetStateAction<TableState<TData>['columnVisibility']>>;\n /**\n * Whether the table is currently filtered.\n */\n isFiltered: boolean;\n /**\n * Whether the table has data when unfiltered.\n *\n * This is derived from the totalEntries so make sure you set that number correctly, even if you're using a client side table.\n */\n isVacant: boolean;\n /**\n * Clear currently applied filters.\n */\n clearFilters: () => void;\n /**\n * Deselects all currently selected rows.\n */\n clearRowSelection: () => void;\n /**\n * Get currently selected rows.\n */\n getSelectedRows: () => TData[];\n /**\n * Get currently selected row\n */\n getSelectedRow: () => TData | null;\n /**\n * Whether the user can select multiple rows at the same time.\n */\n multiRowSelectionEnabled: boolean;\n /**\n * Whether rows can be selected.\n */\n rowSelectionEnabled: boolean;\n /**\n * Whether row selection is forced.\n */\n rowSelectionForced: boolean;\n}\n\nexport interface UseTableOptions<TData = unknown> {\n /**\n * Initial state of the table.\n */\n initialState?: PartialDeep<TableState<TData>>;\n /**\n * Whether rows can be selected.\n *\n * @default true\n */\n enableRowSelection?: boolean;\n /**\n * Whether multiple rows can be selected at the same time.\n *\n * @default false\n */\n enableMultiRowSelection?: boolean;\n /**\n * Forces the user to always have one row selected.\n * When activating that setting, a good practice is to have a row already selected in the initial state.\n *\n * @default false\n */\n forceSelection?: boolean;\n}\n\nconst defaultOptions: UseTableOptions = {\n enableRowSelection: true,\n enableMultiRowSelection: false,\n forceSelection: false,\n};\n\nconst defaultState: Partial<TableState> = {\n pagination: {\n pageIndex: 0,\n pageSize: 50,\n },\n totalEntries: null,\n sorting: [],\n globalFilter: '',\n predicates: {},\n layout: null,\n dateRange: [null, null],\n rowSelection: {},\n columnVisibility: {},\n};\n\nexport const useTable = <TData>(userOptions: UseTableOptions<TData> = {}): TableStore<TData> => {\n const options: UseTableOptions<TData> = defaultsDeep({}, userOptions, defaultOptions);\n const initialState: TableState<TData> = defaultsDeep({}, options.initialState, defaultState);\n\n const [pagination, setPagination] = useState<TableState<TData>['pagination']>(\n initialState.pagination as PaginationState,\n );\n const [totalEntries, _setTotalEntries] = useState<TableState<TData>['totalEntries']>(initialState.totalEntries);\n const [unfilteredTotalEntries, setUnfilteredTotalEntries] = useState<TableState<TData>['totalEntries']>(\n initialState.totalEntries,\n );\n const [sorting, setSorting] = useState<TableState<TData>['sorting']>(initialState.sorting as SortingState);\n const [globalFilter, setGlobalFilter] = useState<TableState<TData>['globalFilter']>(initialState.globalFilter);\n const [expanded, setExpanded] = useState<TableState<TData>['expanded']>(initialState.expanded as ExpandedState);\n const [predicates, setPredicates] = useState<TableState<TData>['predicates']>(initialState.predicates);\n const [layout, setLayout] = useState<TableState<TData>['layout']>(initialState.layout);\n const [dateRange, setDateRange] = useState<TableState<TData>['dateRange']>(initialState.dateRange);\n const [rowSelection, setRowSelection] = useState<TableState<TData>['rowSelection']>(initialState.rowSelection);\n const [columnVisibility, setColumnVisibility] = useState<TableState<TData>['columnVisibility']>(\n initialState.columnVisibility,\n );\n\n const isFiltered =\n !!globalFilter ||\n Object.keys(predicates).some((predicate) => !!predicates[predicate]) ||\n !!dateRange?.[0] ||\n !!dateRange?.[1];\n\n const isVacant = unfilteredTotalEntries === 0;\n\n const setTotalEntries: typeof _setTotalEntries = useCallback(\n (updater) => {\n _setTotalEntries((old) => {\n const newTotalEntries = updater instanceof Function ? updater(old) : updater;\n if (!isFiltered) {\n setUnfilteredTotalEntries(newTotalEntries);\n }\n return newTotalEntries;\n });\n },\n [isFiltered],\n );\n\n const clearFilters = useCallback(() => {\n setPredicates(initialState.predicates);\n setGlobalFilter('');\n }, []);\n\n const clearRowSelection = useCallback(() => {\n setRowSelection({});\n }, []);\n\n const getSelectedRows = useCallback(() => Object.values(rowSelection), [rowSelection]);\n\n const getSelectedRow = () => getSelectedRows()[0] ?? null;\n\n useDidUpdate(() => {\n if (!options.enableMultiRowSelection) {\n clearRowSelection();\n }\n }, [globalFilter, pagination, sorting, dateRange, predicates]);\n\n const state = useMemo(\n () => ({\n pagination,\n totalEntries,\n sorting,\n globalFilter,\n expanded,\n predicates,\n layout,\n dateRange,\n rowSelection,\n columnVisibility,\n }),\n [\n pagination,\n totalEntries,\n sorting,\n globalFilter,\n expanded,\n predicates,\n layout,\n dateRange,\n rowSelection,\n columnVisibility,\n ],\n );\n\n return {\n state,\n setPagination,\n setTotalEntries,\n setSorting,\n setGlobalFilter,\n setExpanded,\n setPredicates,\n setLayout,\n setDateRange,\n setRowSelection,\n setColumnVisibility,\n isFiltered,\n isVacant,\n clearFilters,\n clearRowSelection,\n getSelectedRows,\n getSelectedRow,\n rowSelectionEnabled: options.enableRowSelection,\n rowSelectionForced: options.forceSelection,\n multiRowSelectionEnabled: options.enableMultiRowSelection,\n };\n};\n"],"names":["useDidUpdate","defaultsDeep","useCallback","useMemo","useState","defaultOptions","enableRowSelection","enableMultiRowSelection","forceSelection","defaultState","pagination","pageIndex","pageSize","totalEntries","sorting","globalFilter","predicates","layout","dateRange","rowSelection","columnVisibility","useTable","userOptions","options","initialState","setPagination","_setTotalEntries","unfilteredTotalEntries","setUnfilteredTotalEntries","setSorting","setGlobalFilter","expanded","setExpanded","setPredicates","setLayout","setDateRange","setRowSelection","setColumnVisibility","isFiltered","Object","keys","some","predicate","isVacant","setTotalEntries","updater","old","newTotalEntries","Function","clearFilters","clearRowSelection","getSelectedRows","values","getSelectedRow","state","rowSelectionEnabled","rowSelectionForced","multiRowSelectionEnabled"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/components/table/use-table.ts"],"sourcesContent":["import {useDidUpdate} from '@mantine/hooks';\nimport {type ExpandedState, type PaginationState, type SortingState} from '@tanstack/table-core';\nimport defaultsDeep from 'lodash.defaultsdeep';\nimport {Dispatch, SetStateAction, useCallback, useMemo, useState} from 'react';\nimport {type DateRangePickerValue} from '../date-range-picker';\n\n// Create a deeply optional version of another type\ntype PartialDeep<T> = T extends object\n ? {\n [P in keyof T]?: PartialDeep<T[P]>;\n }\n : T;\n\nexport interface TableState<TData = unknown> {\n /**\n * Current pagination state\n *\n * @default { pageIndex: 0, pageSize: 50 }\n */\n pagination: PaginationState;\n /**\n * Total number of entries in the table.\n * This number is used to calculate the number of pages in the pagination.\n * When null, the number of pages is calculated using the current data length.\n *\n * @default null\n */\n totalEntries: number | null;\n /**\n * Current sorting state\n *\n * @default []\n */\n sorting: SortingState;\n /**\n * Current global filter value\n *\n * @default ''\n */\n globalFilter: string;\n\n /**\n * Current expanded state\n *\n * @default {}\n */\n expanded: ExpandedState;\n /**\n * Predicates and their current value\n *\n * @default {}\n */\n predicates: Record<string, string>;\n /**\n * Layout currently selected. When null, the first layout is used.\n *\n * @default null\n */\n layout: string | null;\n /**\n * Currently selected date range\n *\n * @default [null, null]\n */\n dateRange: DateRangePickerValue;\n /**\n * Currently selected rows\n *\n * @default {}\n */\n rowSelection: Record<string, TData>;\n /**\n * Columns that are currently visible\n *\n * @default {}\n */\n columnVisibility: Record<string, boolean>;\n}\n\nexport interface TableStore<TData = unknown> {\n /**\n * Current state of the table.\n */\n state: TableState<TData>;\n /**\n * Allows to change the pagination state.\n */\n setPagination: Dispatch<SetStateAction<TableState<TData>['pagination']>>;\n /**\n * Allows to change the total number of entries.\n */\n setTotalEntries: Dispatch<SetStateAction<TableState<TData>['totalEntries']>>;\n /**\n * Allows to change the sorting state.\n */\n setSorting: Dispatch<SetStateAction<TableState<TData>['sorting']>>;\n /**\n * Allows to change the global filter value.\n */\n setGlobalFilter: Dispatch<SetStateAction<TableState<TData>['globalFilter']>>;\n /**\n * Allows to change the rows expanded state.\n */\n setExpanded: Dispatch<SetStateAction<TableState<TData>['expanded']>>;\n /**\n * Allows to change the predicates values.\n */\n setPredicates: Dispatch<SetStateAction<TableState<TData>['predicates']>>;\n /**\n * Allows to change the selected layout.\n */\n setLayout: Dispatch<SetStateAction<TableState<TData>['layout']>>;\n /**\n * Allows to change the selected date range.\n */\n setDateRange: Dispatch<SetStateAction<TableState<TData>['dateRange']>>;\n /**\n * Allows to change the current row selection.\n */\n setRowSelection: Dispatch<SetStateAction<TableState<TData>['rowSelection']>>;\n /**\n * Allows to change the visible columns.\n */\n setColumnVisibility: Dispatch<SetStateAction<TableState<TData>['columnVisibility']>>;\n /**\n * Whether the table is currently filtered.\n */\n isFiltered: boolean;\n /**\n * Whether the table has data when unfiltered.\n *\n * This is derived from the totalEntries so make sure you set that number correctly, even if you're using a client side table.\n */\n isVacant: boolean;\n /**\n * Clear currently applied filters.\n */\n clearFilters: () => void;\n /**\n * Deselects all currently selected rows.\n */\n clearRowSelection: () => void;\n /**\n * Get currently selected rows.\n */\n getSelectedRows: () => TData[];\n /**\n * Get currently selected row\n */\n getSelectedRow: () => TData | null;\n /**\n * Whether the user can select multiple rows at the same time.\n */\n multiRowSelectionEnabled: boolean;\n /**\n * Whether rows can be selected.\n */\n rowSelectionEnabled: boolean;\n /**\n * Whether row selection is forced.\n */\n rowSelectionForced: boolean;\n}\n\nexport interface UseTableOptions<TData = unknown> {\n /**\n * Initial state of the table.\n */\n initialState?: PartialDeep<TableState<TData>>;\n /**\n * Whether rows can be selected.\n *\n * @default true\n */\n enableRowSelection?: boolean;\n /**\n * Whether multiple rows can be selected at the same time.\n *\n * @default false\n */\n enableMultiRowSelection?: boolean;\n /**\n * Forces the user to always have one row selected.\n * When activating that setting, a good practice is to have a row already selected in the initial state.\n *\n * @default false\n */\n forceSelection?: boolean;\n}\n\nconst defaultOptions: UseTableOptions = {\n enableRowSelection: true,\n enableMultiRowSelection: false,\n forceSelection: false,\n};\n\nconst defaultState: Partial<TableState> = {\n pagination: {\n pageIndex: 0,\n pageSize: 50,\n },\n totalEntries: null,\n sorting: [],\n globalFilter: '',\n predicates: {},\n layout: null,\n dateRange: [null, null],\n rowSelection: {},\n columnVisibility: {},\n};\n\nexport const useTable = <TData>(userOptions: UseTableOptions<TData> = {}): TableStore<TData> => {\n const options = defaultsDeep({}, userOptions, defaultOptions) as UseTableOptions<TData>;\n const initialState = defaultsDeep({}, options.initialState, defaultState) as TableState<TData>;\n\n const [pagination, setPagination] = useState<TableState<TData>['pagination']>(initialState.pagination);\n const [totalEntries, _setTotalEntries] = useState<TableState<TData>['totalEntries']>(initialState.totalEntries);\n const [unfilteredTotalEntries, setUnfilteredTotalEntries] = useState<TableState<TData>['totalEntries']>(\n initialState.totalEntries,\n );\n const [sorting, setSorting] = useState<TableState<TData>['sorting']>(initialState.sorting);\n const [globalFilter, setGlobalFilter] = useState<TableState<TData>['globalFilter']>(initialState.globalFilter);\n const [expanded, setExpanded] = useState<TableState<TData>['expanded']>(initialState.expanded);\n const [predicates, setPredicates] = useState<TableState<TData>['predicates']>(initialState.predicates);\n const [layout, setLayout] = useState<TableState<TData>['layout']>(initialState.layout);\n const [dateRange, setDateRange] = useState<TableState<TData>['dateRange']>(initialState.dateRange);\n const [rowSelection, setRowSelection] = useState<TableState<TData>['rowSelection']>(initialState.rowSelection);\n const [columnVisibility, setColumnVisibility] = useState<TableState<TData>['columnVisibility']>(\n initialState.columnVisibility,\n );\n\n const isFiltered =\n !!globalFilter ||\n Object.keys(predicates).some((predicate) => !!predicates[predicate]) ||\n !!dateRange?.[0] ||\n !!dateRange?.[1];\n\n const isVacant = unfilteredTotalEntries === 0;\n\n const setTotalEntries: typeof _setTotalEntries = useCallback(\n (updater) => {\n _setTotalEntries((old) => {\n const newTotalEntries = updater instanceof Function ? updater(old) : updater;\n if (!isFiltered) {\n setUnfilteredTotalEntries(newTotalEntries);\n }\n return newTotalEntries;\n });\n },\n [isFiltered],\n );\n\n const clearFilters = useCallback(() => {\n setPredicates(initialState.predicates);\n setGlobalFilter('');\n }, []);\n\n const clearRowSelection = useCallback(() => {\n setRowSelection({});\n }, []);\n\n const getSelectedRows = useCallback(() => Object.values(rowSelection), [rowSelection]);\n\n const getSelectedRow = () => getSelectedRows()[0] ?? null;\n\n useDidUpdate(() => {\n if (!options.enableMultiRowSelection) {\n clearRowSelection();\n }\n }, [globalFilter, pagination, sorting, dateRange, predicates]);\n\n const state = useMemo(\n () => ({\n pagination,\n totalEntries,\n sorting,\n globalFilter,\n expanded,\n predicates,\n layout,\n dateRange,\n rowSelection,\n columnVisibility,\n }),\n [\n pagination,\n totalEntries,\n sorting,\n globalFilter,\n expanded,\n predicates,\n layout,\n dateRange,\n rowSelection,\n columnVisibility,\n ],\n );\n\n return {\n state,\n setPagination,\n setTotalEntries,\n setSorting,\n setGlobalFilter,\n setExpanded,\n setPredicates,\n setLayout,\n setDateRange,\n setRowSelection,\n setColumnVisibility,\n isFiltered,\n isVacant,\n clearFilters,\n clearRowSelection,\n getSelectedRows,\n getSelectedRow,\n rowSelectionEnabled: options.enableRowSelection,\n rowSelectionForced: options.forceSelection,\n multiRowSelectionEnabled: options.enableMultiRowSelection,\n };\n};\n"],"names":["useDidUpdate","defaultsDeep","useCallback","useMemo","useState","defaultOptions","enableRowSelection","enableMultiRowSelection","forceSelection","defaultState","pagination","pageIndex","pageSize","totalEntries","sorting","globalFilter","predicates","layout","dateRange","rowSelection","columnVisibility","useTable","userOptions","options","initialState","setPagination","_setTotalEntries","unfilteredTotalEntries","setUnfilteredTotalEntries","setSorting","setGlobalFilter","expanded","setExpanded","setPredicates","setLayout","setDateRange","setRowSelection","setColumnVisibility","isFiltered","Object","keys","some","predicate","isVacant","setTotalEntries","updater","old","newTotalEntries","Function","clearFilters","clearRowSelection","getSelectedRows","values","getSelectedRow","state","rowSelectionEnabled","rowSelectionForced","multiRowSelectionEnabled"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=useControlledList.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useControlledList.spec.d.ts","sourceRoot":"","sources":["../../../../src/hooks/__tests__/useControlledList.spec.tsx"],"names":[],"mappings":""}
@@ -1,5 +1,6 @@
1
+ import { MutableRefObject } from 'react';
1
2
  /**
2
3
  * Computes the available height of the parent element on mount
3
4
  */
4
- export declare const useParentHeight: () => [number, React.MutableRefObject<HTMLDivElement>];
5
+ export declare const useParentHeight: () => [number, MutableRefObject<HTMLDivElement>];
5
6
  //# sourceMappingURL=useParentHeight.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useParentHeight.d.ts","sourceRoot":"","sources":["../../../src/hooks/useParentHeight.ts"],"names":[],"mappings":"AAUA;;GAEG;AACH,eAAO,MAAM,eAAe,QAAO,CAAC,MAAM,EAAE,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAWjF,CAAC"}
1
+ {"version":3,"file":"useParentHeight.d.ts","sourceRoot":"","sources":["../../../src/hooks/useParentHeight.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAA8B,MAAM,OAAO,CAAC;AAUpE;;GAEG;AACH,eAAO,MAAM,eAAe,QAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAW3E,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hooks/useParentHeight.ts"],"sourcesContent":["import {useEffect, useRef, useState} from 'react';\n\nconst getElementInnerHeight = (el: HTMLElement): number => {\n const fullHeight = el.getBoundingClientRect().height;\n const cs = getComputedStyle(el);\n const padding = parseFloat(cs.paddingTop) + parseFloat(cs.paddingBottom);\n const border = parseFloat(cs.borderTopWidth) + parseFloat(cs.borderBottomWidth);\n return fullHeight - padding - border;\n};\n\n/**\n * Computes the available height of the parent element on mount\n */\nexport const useParentHeight = (): [number, React.MutableRefObject<HTMLDivElement>] => {\n const [height, setHeight] = useState(-1);\n const ref = useRef<HTMLDivElement>();\n\n useEffect(() => {\n if (ref.current) {\n setHeight(getElementInnerHeight(ref.current.parentElement));\n }\n }, [ref.current]);\n\n return [height, ref];\n};\n"],"names":["useEffect","useRef","useState","getElementInnerHeight","el","fullHeight","getBoundingClientRect","height","cs","getComputedStyle","padding","parseFloat","paddingTop","paddingBottom","border","borderTopWidth","borderBottomWidth","useParentHeight","setHeight","ref","current","parentElement"],"mappings":"AAAA,SAAQA,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAO,QAAQ;AAElD,MAAMC,wBAAwB,CAACC;IAC3B,MAAMC,aAAaD,GAAGE,qBAAqB,GAAGC,MAAM;IACpD,MAAMC,KAAKC,iBAAiBL;IAC5B,MAAMM,UAAUC,WAAWH,GAAGI,UAAU,IAAID,WAAWH,GAAGK,aAAa;IACvE,MAAMC,SAASH,WAAWH,GAAGO,cAAc,IAAIJ,WAAWH,GAAGQ,iBAAiB;IAC9E,OAAOX,aAAaK,UAAUI;AAClC;AAEA;;CAEC,GACD,OAAO,MAAMG,kBAAkB;IAC3B,MAAM,CAACV,QAAQW,UAAU,GAAGhB,SAAS,CAAC;IACtC,MAAMiB,MAAMlB;IAEZD,UAAU;QACN,IAAImB,IAAIC,OAAO,EAAE;YACbF,UAAUf,sBAAsBgB,IAAIC,OAAO,CAACC,aAAa;QAC7D;IACJ,GAAG;QAACF,IAAIC,OAAO;KAAC;IAEhB,OAAO;QAACb;QAAQY;KAAI;AACxB,EAAE"}
1
+ {"version":3,"sources":["../../../src/hooks/useParentHeight.ts"],"sourcesContent":["import {MutableRefObject, useEffect, useRef, useState} from 'react';\n\nconst getElementInnerHeight = (el: HTMLElement): number => {\n const fullHeight = el.getBoundingClientRect().height;\n const cs = getComputedStyle(el);\n const padding = parseFloat(cs.paddingTop) + parseFloat(cs.paddingBottom);\n const border = parseFloat(cs.borderTopWidth) + parseFloat(cs.borderBottomWidth);\n return fullHeight - padding - border;\n};\n\n/**\n * Computes the available height of the parent element on mount\n */\nexport const useParentHeight = (): [number, MutableRefObject<HTMLDivElement>] => {\n const [height, setHeight] = useState(-1);\n const ref = useRef<HTMLDivElement>();\n\n useEffect(() => {\n if (ref.current) {\n setHeight(getElementInnerHeight(ref.current.parentElement));\n }\n }, [ref.current]);\n\n return [height, ref];\n};\n"],"names":["useEffect","useRef","useState","getElementInnerHeight","el","fullHeight","getBoundingClientRect","height","cs","getComputedStyle","padding","parseFloat","paddingTop","paddingBottom","border","borderTopWidth","borderBottomWidth","useParentHeight","setHeight","ref","current","parentElement"],"mappings":"AAAA,SAA0BA,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAO,QAAQ;AAEpE,MAAMC,wBAAwB,CAACC;IAC3B,MAAMC,aAAaD,GAAGE,qBAAqB,GAAGC,MAAM;IACpD,MAAMC,KAAKC,iBAAiBL;IAC5B,MAAMM,UAAUC,WAAWH,GAAGI,UAAU,IAAID,WAAWH,GAAGK,aAAa;IACvE,MAAMC,SAASH,WAAWH,GAAGO,cAAc,IAAIJ,WAAWH,GAAGQ,iBAAiB;IAC9E,OAAOX,aAAaK,UAAUI;AAClC;AAEA;;CAEC,GACD,OAAO,MAAMG,kBAAkB;IAC3B,MAAM,CAACV,QAAQW,UAAU,GAAGhB,SAAS,CAAC;IACtC,MAAMiB,MAAMlB;IAEZD,UAAU;QACN,IAAImB,IAAIC,OAAO,EAAE;YACbF,UAAUf,sBAAsBgB,IAAIC,OAAO,CAACC,aAAa;QAC7D;IACJ,GAAG;QAACF,IAAIC,OAAO;KAAC;IAEhB,OAAO;QAACb;QAAQY;KAAI;AACxB,EAAE"}
@@ -1,6 +1,6 @@
1
- import { MantineColorsTuple } from '@mantine/core';
2
- import { noop } from '@mantine/core';
3
- import { PlasmaColors } from './theme/PlasmaColors';
1
+ import { MantineColorsTuple, noop } from '@mantine/core';
2
+ import { type RowData } from '@tanstack/table-core';
3
+ import { type PlasmaColors } from './theme/PlasmaColors';
4
4
  export * from '@mantine/carousel';
5
5
  export * from '@mantine/core';
6
6
  export { Pagination } from '@mantine/core';
@@ -19,7 +19,7 @@ declare module '@mantine/core' {
19
19
  }
20
20
  }
21
21
  declare module '@tanstack/react-table' {
22
- interface ColumnMeta<TData extends unknown, TValue> {
22
+ interface ColumnMeta<TData extends RowData, TValue> {
23
23
  /**
24
24
  * Whether the column is a control column.
25
25
  * Control columns are columns that are not part of the data but are used to control the table.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAC,MAAM,eAAe,CAAC;AAEjD,OAAO,EAAC,IAAI,EAAC,MAAM,eAAe,CAAC;AACnC,OAAO,EAAC,YAAY,EAAC,MAAM,sBAAsB,CAAC;AAElD,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAC,KAAK,kBAAkB,EAAC,MAAM,wBAAwB,CAAC;AAC/D,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAC,IAAI,EAAC,CAAC;AAGd,OAAO,EACH,UAAU,EACV,cAAc,EACd,MAAM,EACN,eAAe,EACf,MAAM,EACN,IAAI,EACJ,KAAK,EACL,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,oBAAoB,EACzB,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,UAAU,GAClB,MAAM,cAAc,CAAC;AAEtB,cAAc,SAAS,CAAC;AAExB,OAAO,QAAQ,eAAe,CAAC;IAC3B,UAAiB,0BAA0B;QAEvC,MAAM,EAAE,MAAM,CAAC,MAAM,OAAO,YAAY,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,EAAE,kBAAkB,CAAC,CAAC;KACjF;CACJ;AAED,OAAO,QAAQ,uBAAuB,CAAC;IACnC,UAAU,UAAU,CAAC,KAAK,SAAS,OAAO,EAAE,MAAM;QAC9C;;;;WAIG;QACH,aAAa,EAAE,OAAO,CAAC;KAC1B;CACJ"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAE,IAAI,EAAC,MAAM,eAAe,CAAC;AACvD,OAAO,EAAC,KAAK,OAAO,EAAC,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAC,KAAK,YAAY,EAAC,MAAM,sBAAsB,CAAC;AAEvD,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAC,KAAK,kBAAkB,EAAC,MAAM,wBAAwB,CAAC;AAC/D,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAC,IAAI,EAAC,CAAC;AAGd,OAAO,EACH,UAAU,EACV,cAAc,EACd,MAAM,EACN,eAAe,EACf,MAAM,EACN,IAAI,EACJ,KAAK,EACL,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,oBAAoB,EACzB,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,UAAU,GAClB,MAAM,cAAc,CAAC;AAEtB,cAAc,SAAS,CAAC;AAExB,OAAO,QAAQ,eAAe,CAAC;IAC3B,UAAiB,0BAA0B;QACvC,MAAM,EAAE,MAAM,CAAC,MAAM,OAAO,YAAY,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,EAAE,kBAAkB,CAAC,CAAC;KACjF;CACJ;AAED,OAAO,QAAQ,uBAAuB,CAAC;IACnC,UAAU,UAAU,CAAC,KAAK,SAAS,OAAO,EAAE,MAAM;QAC9C;;;;WAIG;QACH,aAAa,EAAE,OAAO,CAAC;KAC1B;CACJ"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts"],"sourcesContent":["import {MantineColorsTuple} from '@mantine/core';\n\nimport {noop} from '@mantine/core';\nimport {PlasmaColors} from './theme/PlasmaColors';\n\nexport * from '@mantine/carousel';\nexport * from '@mantine/core';\nexport {Pagination} from '@mantine/core';\nexport * from '@mantine/form';\nexport * from '@mantine/hooks';\nexport * from '@mantine/notifications';\nexport {type NotificationsProps} from '@mantine/notifications';\nexport * from '@tanstack/table-core';\nexport * from './components';\nexport {noop};\n\n// explicitly overriding mantine components\nexport {\n ActionIcon,\n BrowserPreview,\n Button,\n CopyToClipboard,\n Header,\n Menu,\n Table,\n type ActionIconProps,\n type ButtonProps,\n type CopyToClipboardProps,\n type HeaderProps,\n type MenuItemProps,\n type TableProps,\n type TableState,\n} from './components';\n\nexport * from './theme';\n\ndeclare module '@mantine/core' {\n export interface MantineThemeColorsOverride {\n // eslint-disable-next-line @typescript-eslint/ban-types\n colors: Record<keyof typeof PlasmaColors | (string & {}), MantineColorsTuple>;\n }\n}\n\ndeclare module '@tanstack/react-table' {\n interface ColumnMeta<TData extends unknown, TValue> {\n /**\n * Whether the column is a control column.\n * Control columns are columns that are not part of the data but are used to control the table.\n * For example, a column that contains checkboxes to select rows.\n */\n controlColumn: boolean;\n }\n}\n"],"names":["noop","Pagination","ActionIcon","BrowserPreview","Button","CopyToClipboard","Header","Menu","Table"],"mappings":"AAEA,SAAQA,IAAI,QAAO,gBAAgB;AAGnC,cAAc,oBAAoB;AAClC,cAAc,gBAAgB;AAC9B,SAAQC,UAAU,QAAO,gBAAgB;AACzC,cAAc,gBAAgB;AAC9B,cAAc,iBAAiB;AAC/B,cAAc,yBAAyB;AAEvC,cAAc,uBAAuB;AACrC,cAAc,eAAe;AAC7B,SAAQD,IAAI,GAAE;AAEd,2CAA2C;AAC3C,SACIE,UAAU,EACVC,cAAc,EACdC,MAAM,EACNC,eAAe,EACfC,MAAM,EACNC,IAAI,EACJC,KAAK,QAQF,eAAe;AAEtB,cAAc,UAAU"}
1
+ {"version":3,"sources":["../../src/index.ts"],"sourcesContent":["import {MantineColorsTuple, noop} from '@mantine/core';\nimport {type RowData} from '@tanstack/table-core';\nimport {type PlasmaColors} from './theme/PlasmaColors';\n\nexport * from '@mantine/carousel';\nexport * from '@mantine/core';\nexport {Pagination} from '@mantine/core';\nexport * from '@mantine/form';\nexport * from '@mantine/hooks';\nexport * from '@mantine/notifications';\nexport {type NotificationsProps} from '@mantine/notifications';\nexport * from '@tanstack/table-core';\nexport * from './components';\nexport {noop};\n\n// explicitly overriding mantine components\nexport {\n ActionIcon,\n BrowserPreview,\n Button,\n CopyToClipboard,\n Header,\n Menu,\n Table,\n type ActionIconProps,\n type ButtonProps,\n type CopyToClipboardProps,\n type HeaderProps,\n type MenuItemProps,\n type TableProps,\n type TableState,\n} from './components';\n\nexport * from './theme';\n\ndeclare module '@mantine/core' {\n export interface MantineThemeColorsOverride {\n colors: Record<keyof typeof PlasmaColors | (string & {}), MantineColorsTuple>;\n }\n}\n\ndeclare module '@tanstack/react-table' {\n interface ColumnMeta<TData extends RowData, TValue> {\n /**\n * Whether the column is a control column.\n * Control columns are columns that are not part of the data but are used to control the table.\n * For example, a column that contains checkboxes to select rows.\n */\n controlColumn: boolean;\n }\n}\n"],"names":["noop","Pagination","ActionIcon","BrowserPreview","Button","CopyToClipboard","Header","Menu","Table"],"mappings":"AAAA,SAA4BA,IAAI,QAAO,gBAAgB;AAIvD,cAAc,oBAAoB;AAClC,cAAc,gBAAgB;AAC9B,SAAQC,UAAU,QAAO,gBAAgB;AACzC,cAAc,gBAAgB;AAC9B,cAAc,iBAAiB;AAC/B,cAAc,yBAAyB;AAEvC,cAAc,uBAAuB;AACrC,cAAc,eAAe;AAC7B,SAAQD,IAAI,GAAE;AAEd,2CAA2C;AAC3C,SACIE,UAAU,EACVC,cAAc,EACdC,MAAM,EACNC,eAAe,EACfC,MAAM,EACNC,IAAI,EACJC,KAAK,QAQF,eAAe;AAEtB,cAAc,UAAU"}
@@ -1,5 +1,6 @@
1
1
  .root {
2
2
  padding: var(--mantine-spacing-sm);
3
+
3
4
  &:not(&[data-variant]) {
4
5
  border-color: color-mix(in srgb, var(--alert-color), var(--alert-bg) 85%);
5
6
  }
@@ -22,6 +23,7 @@
22
23
  .message {
23
24
  @mixin light {
24
25
  color: var(--mantine-color-gray-7);
26
+
25
27
  &:where([data-variant='filled']) {
26
28
  color: var(--alert-color);
27
29
  }
@@ -7,6 +7,7 @@
7
7
  &[data-indeterminate] {
8
8
  background-color: var(--mantine-color-pureWhite);
9
9
  border-color: var(--mantine-color-gray-4);
10
+
10
11
  & + svg {
11
12
  color: var(--mantine-color-gray-6);
12
13
  }
@@ -4,6 +4,7 @@
4
4
  border: 1px solid;
5
5
  width: 100%;
6
6
  border-color: var(--mantine-color-gray-4);
7
+
7
8
  &:focus {
8
9
  border-color: var(--mantine-primary-color-filled);
9
10
  }
@@ -4,31 +4,37 @@
4
4
  flex: 0 0 100%;
5
5
  }
6
6
  }
7
+
7
8
  &[data-size='xs'] {
8
9
  .content {
9
10
  flex: 0 0 rem(432px);
10
11
  }
11
12
  }
13
+
12
14
  &[data-size='sm'] {
13
15
  .content {
14
16
  flex: 0 0 rem(664px);
15
17
  }
16
18
  }
19
+
17
20
  &[data-size='md'] {
18
21
  .content {
19
22
  flex: 0 0 rem(896px);
20
23
  }
21
24
  }
25
+
22
26
  &[data-size='lg'] {
23
27
  .content {
24
28
  flex: 0 0 rem(1120px);
25
29
  }
26
30
  }
31
+
27
32
  &[data-size='xl'] {
28
33
  .content {
29
34
  flex: 0 0 rem(88%);
30
35
  }
31
36
  }
37
+
32
38
  &:not([data-size]) {
33
39
  .content {
34
40
  flex: 0 0 rem(896px);