@coveord/plasma-mantine 54.0.2 → 54.0.3

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 (301) hide show
  1. package/.turbo/turbo-build.log +3 -3
  2. package/.turbo/turbo-test.log +41 -41
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/cjs/components/action-icon/ActionIcon.d.ts +5 -5
  5. package/dist/cjs/components/action-icon/ActionIcon.d.ts.map +1 -1
  6. package/dist/cjs/components/action-icon/ActionIcon.js.map +1 -1
  7. package/dist/cjs/components/action-icon/index.js.map +1 -1
  8. package/dist/cjs/components/blank-slate/BlankSlate.js.map +1 -1
  9. package/dist/cjs/components/blank-slate/index.js.map +1 -1
  10. package/dist/cjs/components/browser-preview/BrowserPreview.d.ts.map +1 -1
  11. package/dist/cjs/components/browser-preview/BrowserPreview.js.map +1 -1
  12. package/dist/cjs/components/browser-preview/index.js.map +1 -1
  13. package/dist/cjs/components/button/Button.d.ts +5 -5
  14. package/dist/cjs/components/button/Button.d.ts.map +1 -1
  15. package/dist/cjs/components/button/Button.js.map +1 -1
  16. package/dist/cjs/components/button/ButtonWithDisabledTooltip.d.ts +2 -2
  17. package/dist/cjs/components/button/ButtonWithDisabledTooltip.js.map +1 -1
  18. package/dist/cjs/components/button/index.js.map +1 -1
  19. package/dist/cjs/components/code-editor/CodeEditor.js.map +1 -1
  20. package/dist/cjs/components/code-editor/index.js.map +1 -1
  21. package/dist/cjs/components/code-editor/languages/xml.js.map +1 -1
  22. package/dist/cjs/components/code-editor/search/Search.d.ts +0 -1
  23. package/dist/cjs/components/code-editor/search/Search.d.ts.map +1 -1
  24. package/dist/cjs/components/code-editor/search/Search.js.map +1 -1
  25. package/dist/cjs/components/code-editor/search/index.js.map +1 -1
  26. package/dist/cjs/components/collection/Collection.d.ts.map +1 -1
  27. package/dist/cjs/components/collection/Collection.js.map +1 -1
  28. package/dist/cjs/components/collection/CollectionContext.d.ts +2 -3
  29. package/dist/cjs/components/collection/CollectionContext.d.ts.map +1 -1
  30. package/dist/cjs/components/collection/CollectionContext.js.map +1 -1
  31. package/dist/cjs/components/collection/CollectionItem.js.map +1 -1
  32. package/dist/cjs/components/collection/enhanceWithCollectionProps.d.ts +1 -1
  33. package/dist/cjs/components/collection/enhanceWithCollectionProps.d.ts.map +1 -1
  34. package/dist/cjs/components/collection/enhanceWithCollectionProps.js.map +1 -1
  35. package/dist/cjs/components/collection/index.js.map +1 -1
  36. package/dist/cjs/components/copyToClipboard/CopyToClipboard.d.ts +0 -1
  37. package/dist/cjs/components/copyToClipboard/CopyToClipboard.d.ts.map +1 -1
  38. package/dist/cjs/components/copyToClipboard/CopyToClipboard.js.map +1 -1
  39. package/dist/cjs/components/copyToClipboard/index.js.map +1 -1
  40. package/dist/cjs/components/date-range-picker/DateRangePickerInlineCalendar.js.map +1 -1
  41. package/dist/cjs/components/date-range-picker/DateRangePickerPopoverCalendar.d.ts.map +1 -1
  42. package/dist/cjs/components/date-range-picker/DateRangePickerPopoverCalendar.js.map +1 -1
  43. package/dist/cjs/components/date-range-picker/DateRangePickerPresetSelect.d.ts.map +1 -1
  44. package/dist/cjs/components/date-range-picker/DateRangePickerPresetSelect.js.map +1 -1
  45. package/dist/cjs/components/date-range-picker/EditableDateRangePicker.js.map +1 -1
  46. package/dist/cjs/components/date-range-picker/index.js.map +1 -1
  47. package/dist/cjs/components/header/Header.context.d.ts +2 -3
  48. package/dist/cjs/components/header/Header.context.d.ts.map +1 -1
  49. package/dist/cjs/components/header/Header.context.js.map +1 -1
  50. package/dist/cjs/components/header/Header.d.ts.map +1 -1
  51. package/dist/cjs/components/header/Header.js.map +1 -1
  52. package/dist/cjs/components/header/HeaderActions/HeaderActions.js.map +1 -1
  53. package/dist/cjs/components/header/HeaderBreadcrumbs/HeaderBreadcrumbs.js.map +1 -1
  54. package/dist/cjs/components/header/HeaderDocAnchor/HeaderDocAnchor.js.map +1 -1
  55. package/dist/cjs/components/header/index.js.map +1 -1
  56. package/dist/cjs/components/index.js.map +1 -1
  57. package/dist/cjs/components/inline-confirm/InlineConfirm.d.ts +1 -8
  58. package/dist/cjs/components/inline-confirm/InlineConfirm.d.ts.map +1 -1
  59. package/dist/cjs/components/inline-confirm/InlineConfirm.js.map +1 -1
  60. package/dist/cjs/components/inline-confirm/InlineConfirmContext.d.ts +2 -3
  61. package/dist/cjs/components/inline-confirm/InlineConfirmContext.d.ts.map +1 -1
  62. package/dist/cjs/components/inline-confirm/InlineConfirmContext.js.map +1 -1
  63. package/dist/cjs/components/inline-confirm/InlineConfirmPrompt.js.map +1 -1
  64. package/dist/cjs/components/inline-confirm/InlineConfirmTarget.d.ts +9 -24
  65. package/dist/cjs/components/inline-confirm/InlineConfirmTarget.d.ts.map +1 -1
  66. package/dist/cjs/components/inline-confirm/InlineConfirmTarget.js.map +1 -1
  67. package/dist/cjs/components/inline-confirm/index.js.map +1 -1
  68. package/dist/cjs/components/menu/Menu.d.ts +3 -4
  69. package/dist/cjs/components/menu/Menu.d.ts.map +1 -1
  70. package/dist/cjs/components/menu/Menu.js.map +1 -1
  71. package/dist/cjs/components/menu/index.js.map +1 -1
  72. package/dist/cjs/components/prompt/Prompt.js.map +1 -1
  73. package/dist/cjs/components/prompt/PromptFooter.js.map +1 -1
  74. package/dist/cjs/components/prompt/index.js.map +1 -1
  75. package/dist/cjs/components/sticky-footer/StickyFooter.js.map +1 -1
  76. package/dist/cjs/components/sticky-footer/index.js.map +1 -1
  77. package/dist/cjs/components/table/Table.d.ts +7 -7
  78. package/dist/cjs/components/table/Table.d.ts.map +1 -1
  79. package/dist/cjs/components/table/Table.js +2 -2
  80. package/dist/cjs/components/table/Table.js.map +1 -1
  81. package/dist/cjs/components/table/Table.types.js.map +1 -1
  82. package/dist/cjs/components/table/TableContext.d.ts.map +1 -1
  83. package/dist/cjs/components/table/TableContext.js.map +1 -1
  84. package/dist/cjs/components/table/index.js.map +1 -1
  85. package/dist/cjs/components/table/layouts/TableLayoutControl.js.map +1 -1
  86. package/dist/cjs/components/table/layouts/TableLayouts.js.map +1 -1
  87. package/dist/cjs/components/table/layouts/row-layout/RowLayout.js.map +1 -1
  88. package/dist/cjs/components/table/layouts/row-layout/RowLayoutBody.d.ts.map +1 -1
  89. package/dist/cjs/components/table/layouts/row-layout/RowLayoutBody.js.map +1 -1
  90. package/dist/cjs/components/table/layouts/row-layout/RowLayoutContext.d.ts +2 -3
  91. package/dist/cjs/components/table/layouts/row-layout/RowLayoutContext.d.ts.map +1 -1
  92. package/dist/cjs/components/table/layouts/row-layout/RowLayoutContext.js.map +1 -1
  93. package/dist/cjs/components/table/layouts/row-layout/RowLayoutHeader.d.ts.map +1 -1
  94. package/dist/cjs/components/table/layouts/row-layout/RowLayoutHeader.js.map +1 -1
  95. package/dist/cjs/components/table/layouts/row-layout/RowLayoutIcon.js.map +1 -1
  96. package/dist/cjs/components/table/table-actions/TableActionContext.d.ts +2 -3
  97. package/dist/cjs/components/table/table-actions/TableActionContext.d.ts.map +1 -1
  98. package/dist/cjs/components/table/table-actions/TableActionContext.js.map +1 -1
  99. package/dist/cjs/components/table/table-actions/TableActionItem.d.ts +5 -5
  100. package/dist/cjs/components/table/table-actions/TableActionItem.d.ts.map +1 -1
  101. package/dist/cjs/components/table/table-actions/TableActionItem.js.map +1 -1
  102. package/dist/cjs/components/table/table-actions/TableActionsList.d.ts +1 -1
  103. package/dist/cjs/components/table/table-actions/TableActionsList.d.ts.map +1 -1
  104. package/dist/cjs/components/table/table-actions/TableActionsList.js.map +1 -1
  105. package/dist/cjs/components/table/table-actions/TableHeaderActions.js.map +1 -1
  106. package/dist/cjs/components/table/table-actions/index.js.map +1 -1
  107. package/dist/cjs/components/table/table-column/TableActionsColumn.js.map +1 -1
  108. package/dist/cjs/components/table/table-column/TableCollapsibleColumn.js.map +1 -1
  109. package/dist/cjs/components/table/table-column/TableSelectableColumn.js.map +1 -1
  110. package/dist/cjs/components/table/table-columns-selector/TableColumnsSelector.js.map +1 -1
  111. package/dist/cjs/components/table/table-date-range-picker/TableDateRangePicker.js.map +1 -1
  112. package/dist/cjs/components/table/table-filter/TableFilter.js.map +1 -1
  113. package/dist/cjs/components/table/table-footer/TableFooter.js.map +1 -1
  114. package/dist/cjs/components/table/table-header/TableHeader.js.map +1 -1
  115. package/dist/cjs/components/table/table-header/Th.d.ts.map +1 -1
  116. package/dist/cjs/components/table/table-header/Th.js.map +1 -1
  117. package/dist/cjs/components/table/table-last-updated/TableLastUpdated.js.map +1 -1
  118. package/dist/cjs/components/table/table-loading/TableLoading.js.map +1 -1
  119. package/dist/cjs/components/table/table-no-data/TableNoData.js.map +1 -1
  120. package/dist/cjs/components/table/table-pagination/TablePagination.js.map +1 -1
  121. package/dist/cjs/components/table/table-pagination/TablePagination.types.js.map +1 -1
  122. package/dist/cjs/components/table/table-per-page/TablePerPage.js.map +1 -1
  123. package/dist/cjs/components/table/table-per-page/TablePerPage.types.js.map +1 -1
  124. package/dist/cjs/components/table/table-predicate/TablePredicate.js.map +1 -1
  125. package/dist/cjs/components/table/use-table.d.ts +0 -1
  126. package/dist/cjs/components/table/use-table.d.ts.map +1 -1
  127. package/dist/cjs/components/table/use-table.js.map +1 -1
  128. package/dist/cjs/hooks/index.js.map +1 -1
  129. package/dist/cjs/hooks/useClickWithLoading.d.ts.map +1 -1
  130. package/dist/cjs/hooks/useClickWithLoading.js.map +1 -1
  131. package/dist/cjs/hooks/useControlledList.d.ts.map +1 -1
  132. package/dist/cjs/hooks/useControlledList.js.map +1 -1
  133. package/dist/cjs/hooks/useParentHeight.d.ts.map +1 -1
  134. package/dist/cjs/hooks/useParentHeight.js.map +1 -1
  135. package/dist/cjs/index.js.map +1 -1
  136. package/dist/cjs/theme/PlasmaColors.d.ts.map +1 -1
  137. package/dist/cjs/theme/PlasmaColors.js.map +1 -1
  138. package/dist/cjs/theme/Plasmantine.js.map +1 -1
  139. package/dist/cjs/theme/Theme.js.map +1 -1
  140. package/dist/cjs/theme/index.js.map +1 -1
  141. package/dist/cjs/theme/mergeCSSVariablesResolvers.js.map +1 -1
  142. package/dist/cjs/theme/plasmaCSSVariablesResolver.js.map +1 -1
  143. package/dist/cjs/types/css/index.d.js.map +1 -1
  144. package/dist/cjs/utils/createFactoryComponent.d.ts.map +1 -1
  145. package/dist/cjs/utils/createFactoryComponent.js.map +1 -1
  146. package/dist/cjs/utils/createPolymorphicComponent.js.map +1 -1
  147. package/dist/cjs/utils/index.js.map +1 -1
  148. package/dist/cjs/utils/overrideComponent.d.ts.map +1 -1
  149. package/dist/cjs/utils/overrideComponent.js.map +1 -1
  150. package/dist/cjs/vars/Notification.vars.js.map +1 -1
  151. package/dist/cjs/vars/Text.vars.js.map +1 -1
  152. package/dist/esm/components/action-icon/ActionIcon.d.ts +5 -5
  153. package/dist/esm/components/action-icon/ActionIcon.d.ts.map +1 -1
  154. package/dist/esm/components/action-icon/ActionIcon.js.map +1 -1
  155. package/dist/esm/components/action-icon/index.js.map +1 -1
  156. package/dist/esm/components/blank-slate/BlankSlate.js.map +1 -1
  157. package/dist/esm/components/blank-slate/index.js.map +1 -1
  158. package/dist/esm/components/browser-preview/BrowserPreview.d.ts.map +1 -1
  159. package/dist/esm/components/browser-preview/BrowserPreview.js.map +1 -1
  160. package/dist/esm/components/browser-preview/index.js.map +1 -1
  161. package/dist/esm/components/button/Button.d.ts +5 -5
  162. package/dist/esm/components/button/Button.d.ts.map +1 -1
  163. package/dist/esm/components/button/Button.js.map +1 -1
  164. package/dist/esm/components/button/ButtonWithDisabledTooltip.d.ts +2 -2
  165. package/dist/esm/components/button/ButtonWithDisabledTooltip.js.map +1 -1
  166. package/dist/esm/components/button/index.js.map +1 -1
  167. package/dist/esm/components/code-editor/CodeEditor.js.map +1 -1
  168. package/dist/esm/components/code-editor/index.js.map +1 -1
  169. package/dist/esm/components/code-editor/languages/xml.js.map +1 -1
  170. package/dist/esm/components/code-editor/search/Search.d.ts +0 -1
  171. package/dist/esm/components/code-editor/search/Search.d.ts.map +1 -1
  172. package/dist/esm/components/code-editor/search/Search.js.map +1 -1
  173. package/dist/esm/components/code-editor/search/index.js.map +1 -1
  174. package/dist/esm/components/collection/Collection.d.ts.map +1 -1
  175. package/dist/esm/components/collection/Collection.js.map +1 -1
  176. package/dist/esm/components/collection/CollectionContext.d.ts +2 -3
  177. package/dist/esm/components/collection/CollectionContext.d.ts.map +1 -1
  178. package/dist/esm/components/collection/CollectionContext.js.map +1 -1
  179. package/dist/esm/components/collection/CollectionItem.js.map +1 -1
  180. package/dist/esm/components/collection/enhanceWithCollectionProps.d.ts +1 -1
  181. package/dist/esm/components/collection/enhanceWithCollectionProps.d.ts.map +1 -1
  182. package/dist/esm/components/collection/enhanceWithCollectionProps.js.map +1 -1
  183. package/dist/esm/components/collection/index.js.map +1 -1
  184. package/dist/esm/components/copyToClipboard/CopyToClipboard.d.ts +0 -1
  185. package/dist/esm/components/copyToClipboard/CopyToClipboard.d.ts.map +1 -1
  186. package/dist/esm/components/copyToClipboard/CopyToClipboard.js.map +1 -1
  187. package/dist/esm/components/copyToClipboard/index.js.map +1 -1
  188. package/dist/esm/components/date-range-picker/DateRangePickerInlineCalendar.js.map +1 -1
  189. package/dist/esm/components/date-range-picker/DateRangePickerPopoverCalendar.d.ts.map +1 -1
  190. package/dist/esm/components/date-range-picker/DateRangePickerPopoverCalendar.js.map +1 -1
  191. package/dist/esm/components/date-range-picker/DateRangePickerPresetSelect.d.ts.map +1 -1
  192. package/dist/esm/components/date-range-picker/DateRangePickerPresetSelect.js.map +1 -1
  193. package/dist/esm/components/date-range-picker/EditableDateRangePicker.js.map +1 -1
  194. package/dist/esm/components/date-range-picker/index.js.map +1 -1
  195. package/dist/esm/components/header/Header.context.d.ts +2 -3
  196. package/dist/esm/components/header/Header.context.d.ts.map +1 -1
  197. package/dist/esm/components/header/Header.context.js.map +1 -1
  198. package/dist/esm/components/header/Header.d.ts.map +1 -1
  199. package/dist/esm/components/header/Header.js.map +1 -1
  200. package/dist/esm/components/header/HeaderActions/HeaderActions.js.map +1 -1
  201. package/dist/esm/components/header/HeaderBreadcrumbs/HeaderBreadcrumbs.js.map +1 -1
  202. package/dist/esm/components/header/HeaderDocAnchor/HeaderDocAnchor.js.map +1 -1
  203. package/dist/esm/components/header/index.js.map +1 -1
  204. package/dist/esm/components/index.js.map +1 -1
  205. package/dist/esm/components/inline-confirm/InlineConfirm.d.ts +1 -8
  206. package/dist/esm/components/inline-confirm/InlineConfirm.d.ts.map +1 -1
  207. package/dist/esm/components/inline-confirm/InlineConfirm.js.map +1 -1
  208. package/dist/esm/components/inline-confirm/InlineConfirmContext.d.ts +2 -3
  209. package/dist/esm/components/inline-confirm/InlineConfirmContext.d.ts.map +1 -1
  210. package/dist/esm/components/inline-confirm/InlineConfirmContext.js.map +1 -1
  211. package/dist/esm/components/inline-confirm/InlineConfirmPrompt.js.map +1 -1
  212. package/dist/esm/components/inline-confirm/InlineConfirmTarget.d.ts +9 -24
  213. package/dist/esm/components/inline-confirm/InlineConfirmTarget.d.ts.map +1 -1
  214. package/dist/esm/components/inline-confirm/InlineConfirmTarget.js.map +1 -1
  215. package/dist/esm/components/inline-confirm/index.js.map +1 -1
  216. package/dist/esm/components/menu/Menu.d.ts +3 -4
  217. package/dist/esm/components/menu/Menu.d.ts.map +1 -1
  218. package/dist/esm/components/menu/Menu.js.map +1 -1
  219. package/dist/esm/components/menu/index.js.map +1 -1
  220. package/dist/esm/components/prompt/Prompt.js.map +1 -1
  221. package/dist/esm/components/prompt/PromptFooter.js.map +1 -1
  222. package/dist/esm/components/prompt/index.js.map +1 -1
  223. package/dist/esm/components/sticky-footer/StickyFooter.js.map +1 -1
  224. package/dist/esm/components/sticky-footer/index.js.map +1 -1
  225. package/dist/esm/components/table/Table.d.ts +7 -7
  226. package/dist/esm/components/table/Table.d.ts.map +1 -1
  227. package/dist/esm/components/table/Table.js +1 -1
  228. package/dist/esm/components/table/Table.js.map +1 -1
  229. package/dist/esm/components/table/Table.types.js.map +1 -1
  230. package/dist/esm/components/table/TableContext.d.ts.map +1 -1
  231. package/dist/esm/components/table/TableContext.js.map +1 -1
  232. package/dist/esm/components/table/index.js.map +1 -1
  233. package/dist/esm/components/table/layouts/TableLayoutControl.js.map +1 -1
  234. package/dist/esm/components/table/layouts/TableLayouts.js.map +1 -1
  235. package/dist/esm/components/table/layouts/row-layout/RowLayout.js.map +1 -1
  236. package/dist/esm/components/table/layouts/row-layout/RowLayoutBody.d.ts.map +1 -1
  237. package/dist/esm/components/table/layouts/row-layout/RowLayoutBody.js.map +1 -1
  238. package/dist/esm/components/table/layouts/row-layout/RowLayoutContext.d.ts +2 -3
  239. package/dist/esm/components/table/layouts/row-layout/RowLayoutContext.d.ts.map +1 -1
  240. package/dist/esm/components/table/layouts/row-layout/RowLayoutContext.js.map +1 -1
  241. package/dist/esm/components/table/layouts/row-layout/RowLayoutHeader.d.ts.map +1 -1
  242. package/dist/esm/components/table/layouts/row-layout/RowLayoutHeader.js.map +1 -1
  243. package/dist/esm/components/table/layouts/row-layout/RowLayoutIcon.js.map +1 -1
  244. package/dist/esm/components/table/table-actions/TableActionContext.d.ts +2 -3
  245. package/dist/esm/components/table/table-actions/TableActionContext.d.ts.map +1 -1
  246. package/dist/esm/components/table/table-actions/TableActionContext.js.map +1 -1
  247. package/dist/esm/components/table/table-actions/TableActionItem.d.ts +5 -5
  248. package/dist/esm/components/table/table-actions/TableActionItem.d.ts.map +1 -1
  249. package/dist/esm/components/table/table-actions/TableActionItem.js.map +1 -1
  250. package/dist/esm/components/table/table-actions/TableActionsList.d.ts +1 -1
  251. package/dist/esm/components/table/table-actions/TableActionsList.d.ts.map +1 -1
  252. package/dist/esm/components/table/table-actions/TableActionsList.js.map +1 -1
  253. package/dist/esm/components/table/table-actions/TableHeaderActions.js.map +1 -1
  254. package/dist/esm/components/table/table-actions/index.js.map +1 -1
  255. package/dist/esm/components/table/table-column/TableActionsColumn.js.map +1 -1
  256. package/dist/esm/components/table/table-column/TableCollapsibleColumn.js.map +1 -1
  257. package/dist/esm/components/table/table-column/TableSelectableColumn.js.map +1 -1
  258. package/dist/esm/components/table/table-columns-selector/TableColumnsSelector.js.map +1 -1
  259. package/dist/esm/components/table/table-date-range-picker/TableDateRangePicker.js.map +1 -1
  260. package/dist/esm/components/table/table-filter/TableFilter.js.map +1 -1
  261. package/dist/esm/components/table/table-footer/TableFooter.js.map +1 -1
  262. package/dist/esm/components/table/table-header/TableHeader.js.map +1 -1
  263. package/dist/esm/components/table/table-header/Th.d.ts.map +1 -1
  264. package/dist/esm/components/table/table-header/Th.js.map +1 -1
  265. package/dist/esm/components/table/table-last-updated/TableLastUpdated.js.map +1 -1
  266. package/dist/esm/components/table/table-loading/TableLoading.js.map +1 -1
  267. package/dist/esm/components/table/table-no-data/TableNoData.js.map +1 -1
  268. package/dist/esm/components/table/table-pagination/TablePagination.js.map +1 -1
  269. package/dist/esm/components/table/table-pagination/TablePagination.types.js.map +1 -1
  270. package/dist/esm/components/table/table-per-page/TablePerPage.js.map +1 -1
  271. package/dist/esm/components/table/table-per-page/TablePerPage.types.js.map +1 -1
  272. package/dist/esm/components/table/table-predicate/TablePredicate.js.map +1 -1
  273. package/dist/esm/components/table/use-table.d.ts +0 -1
  274. package/dist/esm/components/table/use-table.d.ts.map +1 -1
  275. package/dist/esm/components/table/use-table.js.map +1 -1
  276. package/dist/esm/hooks/index.js.map +1 -1
  277. package/dist/esm/hooks/useClickWithLoading.d.ts.map +1 -1
  278. package/dist/esm/hooks/useClickWithLoading.js.map +1 -1
  279. package/dist/esm/hooks/useControlledList.d.ts.map +1 -1
  280. package/dist/esm/hooks/useControlledList.js.map +1 -1
  281. package/dist/esm/hooks/useParentHeight.d.ts.map +1 -1
  282. package/dist/esm/hooks/useParentHeight.js.map +1 -1
  283. package/dist/esm/index.js.map +1 -1
  284. package/dist/esm/theme/PlasmaColors.d.ts.map +1 -1
  285. package/dist/esm/theme/PlasmaColors.js.map +1 -1
  286. package/dist/esm/theme/Plasmantine.js.map +1 -1
  287. package/dist/esm/theme/Theme.js.map +1 -1
  288. package/dist/esm/theme/index.js.map +1 -1
  289. package/dist/esm/theme/mergeCSSVariablesResolvers.js.map +1 -1
  290. package/dist/esm/theme/plasmaCSSVariablesResolver.js.map +1 -1
  291. package/dist/esm/types/css/index.d.js.map +1 -1
  292. package/dist/esm/utils/createFactoryComponent.d.ts.map +1 -1
  293. package/dist/esm/utils/createFactoryComponent.js.map +1 -1
  294. package/dist/esm/utils/createPolymorphicComponent.js.map +1 -1
  295. package/dist/esm/utils/index.js.map +1 -1
  296. package/dist/esm/utils/overrideComponent.d.ts.map +1 -1
  297. package/dist/esm/utils/overrideComponent.js.map +1 -1
  298. package/dist/esm/vars/Notification.vars.js.map +1 -1
  299. package/dist/esm/vars/Text.vars.js.map +1 -1
  300. package/package.json +19 -19
  301. package/src/components/table/Table.tsx +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/table/table-actions/TableHeaderActions.tsx"],"sourcesContent":["import {Factory, factory, Grid, GridColProps, Group, useProps} from '@mantine/core';\nimport {ReactElement, useMemo} from 'react';\n\nimport {TableComponentsOrder} from '../Table';\nimport {useTableContext} from '../TableContext';\nimport {TableActionsList} from './TableActionsList';\n\nexport type TableHeaderActionsStylesNames = 'headerActionsRoot' | 'headerActionsGroup';\n\nexport interface TableHeaderActionsProps extends Omit<GridColProps, 'children'> {}\n\ntype TableHeaderActionsFactory = Factory<{\n props: TableHeaderActionsProps;\n ref: HTMLDivElement;\n stylesNames: TableHeaderActionsStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<TableHeaderActionsProps> = {};\n\nexport const TableHeaderActions = factory<TableHeaderActionsFactory>(\n (props: TableHeaderActionsProps, ref): ReactElement => {\n const {store, getStyles, getRowActions} = useTableContext();\n const {style, className, classNames, styles, ...others} = useProps(\n 'PlasmaTableHeaderActions',\n defaultProps,\n props,\n );\n\n const actions = useMemo(() => {\n const selectedRows = store.getSelectedRows();\n if (selectedRows.length === 0) {\n return [];\n }\n return getRowActions(selectedRows);\n }, [store.state.rowSelection]);\n\n if (actions.length === 0) {\n return null;\n }\n\n const stylesApiProps = {classNames, styles};\n\n return (\n <Grid.Col\n span=\"content\"\n order={TableComponentsOrder.Actions}\n ref={ref}\n {...getStyles('headerActionsRoot', {className, style, ...stylesApiProps})}\n {...others}\n >\n <Group gap=\"xs\" {...getStyles('headerActionsGroup', stylesApiProps)}>\n <TableActionsList actions={actions} variant=\"split\" />\n </Group>\n </Grid.Col>\n );\n },\n);\n"],"names":["TableHeaderActions","defaultProps","factory","props","ref","useTableContext","store","getStyles","getRowActions","useProps","style","className","classNames","styles","others","actions","useMemo","selectedRows","getSelectedRows","length","state","rowSelection","stylesApiProps","Grid","Col","span","order","TableComponentsOrder","Actions","Group","gap","TableActionsList","variant"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAoBaA;;;eAAAA;;;;;;;oBApBuD;qBAChC;qBAED;4BACL;gCACC;AAa/B,IAAMC,eAAiD,CAAC;AAEjD,IAAMD,qBAAqBE,IAAAA,aAAO,EACrC,SAACC,OAAgCC;IAC7B,IAA0CC,mBAAAA,IAAAA,6BAAe,KAAlDC,QAAmCD,iBAAnCC,OAAOC,YAA4BF,iBAA5BE,WAAWC,gBAAiBH,iBAAjBG;IACzB,IAA0DC,YAAAA,IAAAA,cAAQ,EAC9D,4BACAR,cACAE,QAHGO,QAAmDD,UAAnDC,OAAOC,YAA4CF,UAA5CE,WAAWC,aAAiCH,UAAjCG,YAAYC,SAAqBJ,UAArBI,QAAWC,sCAAUL;QAAnDC;QAAOC;QAAWC;QAAYC;;IAMrC,IAAME,UAAUC,IAAAA,cAAO,EAAC;QACpB,IAAMC,eAAeX,MAAMY,eAAe;QAC1C,IAAID,aAAaE,MAAM,KAAK,GAAG;YAC3B,OAAO,EAAE;QACb;QACA,OAAOX,cAAcS;IACzB,GAAG;QAACX,MAAMc,KAAK,CAACC,YAAY;KAAC;IAE7B,IAAIN,QAAQI,MAAM,KAAK,GAAG;QACtB,OAAO;IACX;IAEA,IAAMG,iBAAiB;QAACV,YAAAA;QAAYC,QAAAA;IAAM;IAE1C,qBACI,qBAACU,UAAI,CAACC,GAAG;QACLC,MAAK;QACLC,OAAOC,2BAAoB,CAACC,OAAO;QACnCxB,KAAKA;OACDG,UAAU,qBAAqB;QAACI,WAAAA;QAAWD,OAAAA;OAAUY,kBACrDR;kBAEJ,cAAA,qBAACe,WAAK;YAACC,KAAI;WAASvB,UAAU,sBAAsBe;sBAChD,cAAA,qBAACS,kCAAgB;gBAAChB,SAASA;gBAASiB,SAAQ;;;;AAI5D"}
1
+ {"version":3,"sources":["../../../../../src/components/table/table-actions/TableHeaderActions.tsx"],"sourcesContent":["import {Factory, factory, Grid, GridColProps, Group, useProps} from '@mantine/core';\nimport {ReactElement, useMemo} from 'react';\n\nimport {TableComponentsOrder} from '../Table';\nimport {useTableContext} from '../TableContext';\nimport {TableActionsList} from './TableActionsList';\n\nexport type TableHeaderActionsStylesNames = 'headerActionsRoot' | 'headerActionsGroup';\n\nexport interface TableHeaderActionsProps extends Omit<GridColProps, 'children'> {}\n\ntype TableHeaderActionsFactory = Factory<{\n props: TableHeaderActionsProps;\n ref: HTMLDivElement;\n stylesNames: TableHeaderActionsStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<TableHeaderActionsProps> = {};\n\nexport const TableHeaderActions = factory<TableHeaderActionsFactory>(\n (props: TableHeaderActionsProps, ref): ReactElement => {\n const {store, getStyles, getRowActions} = useTableContext();\n const {style, className, classNames, styles, ...others} = useProps(\n 'PlasmaTableHeaderActions',\n defaultProps,\n props,\n );\n\n const actions = useMemo(() => {\n const selectedRows = store.getSelectedRows();\n if (selectedRows.length === 0) {\n return [];\n }\n return getRowActions(selectedRows);\n }, [store.state.rowSelection]);\n\n if (actions.length === 0) {\n return null;\n }\n\n const stylesApiProps = {classNames, styles};\n\n return (\n <Grid.Col\n span=\"content\"\n order={TableComponentsOrder.Actions}\n ref={ref}\n {...getStyles('headerActionsRoot', {className, style, ...stylesApiProps})}\n {...others}\n >\n <Group gap=\"xs\" {...getStyles('headerActionsGroup', stylesApiProps)}>\n <TableActionsList actions={actions} variant=\"split\" />\n </Group>\n </Grid.Col>\n );\n },\n);\n"],"names":["TableHeaderActions","defaultProps","factory","props","ref","useTableContext","store","getStyles","getRowActions","useProps","style","className","classNames","styles","others","actions","useMemo","selectedRows","getSelectedRows","length","state","rowSelection","stylesApiProps","Grid","Col","span","order","TableComponentsOrder","Actions","Group","gap","TableActionsList","variant"],"mappings":";;;;+BAoBaA;;;eAAAA;;;;;;;oBApBuD;qBAChC;qBAED;4BACL;gCACC;AAa/B,IAAMC,eAAiD,CAAC;AAEjD,IAAMD,qBAAqBE,IAAAA,aAAO,EACrC,SAACC,OAAgCC;IAC7B,IAA0CC,mBAAAA,IAAAA,6BAAe,KAAlDC,QAAmCD,iBAAnCC,OAAOC,YAA4BF,iBAA5BE,WAAWC,gBAAiBH,iBAAjBG;IACzB,IAA0DC,YAAAA,IAAAA,cAAQ,EAC9D,4BACAR,cACAE,QAHGO,QAAmDD,UAAnDC,OAAOC,YAA4CF,UAA5CE,WAAWC,aAAiCH,UAAjCG,YAAYC,SAAqBJ,UAArBI,QAAWC,sCAAUL;QAAnDC;QAAOC;QAAWC;QAAYC;;IAMrC,IAAME,UAAUC,IAAAA,cAAO,EAAC;QACpB,IAAMC,eAAeX,MAAMY,eAAe;QAC1C,IAAID,aAAaE,MAAM,KAAK,GAAG;YAC3B,OAAO,EAAE;QACb;QACA,OAAOX,cAAcS;IACzB,GAAG;QAACX,MAAMc,KAAK,CAACC,YAAY;KAAC;IAE7B,IAAIN,QAAQI,MAAM,KAAK,GAAG;QACtB,OAAO;IACX;IAEA,IAAMG,iBAAiB;QAACV,YAAAA;QAAYC,QAAAA;IAAM;IAE1C,qBACI,qBAACU,UAAI,CAACC,GAAG;QACLC,MAAK;QACLC,OAAOC,2BAAoB,CAACC,OAAO;QACnCxB,KAAKA;OACDG,UAAU,qBAAqB;QAACI,WAAAA;QAAWD,OAAAA;OAAUY,kBACrDR;kBAEJ,cAAA,qBAACe,WAAK;YAACC,KAAI;WAASvB,UAAU,sBAAsBe;sBAChD,cAAA,qBAACS,kCAAgB;gBAAChB,SAASA;gBAASiB,SAAQ;;;;AAI5D"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/table/table-actions/index.ts"],"sourcesContent":["export * from './TableActionItem';\nexport * from './TableHeaderActions';\n"],"names":[],"rangeMappings":";;;;;;","mappings":";;;;;uBAAc;uBACA"}
1
+ {"version":3,"sources":["../../../../../src/components/table/table-actions/index.ts"],"sourcesContent":["export * from './TableActionItem';\nexport * from './TableHeaderActions';\n"],"names":[],"mappings":";;;;;uBAAc;uBACA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/table/table-column/TableActionsColumn.tsx"],"sourcesContent":["import {MoreSize16Px} from '@coveord/plasma-react-icons';\nimport {useProps} from '@mantine/core';\nimport {CellContext, ColumnDef} from '@tanstack/table-core';\nimport {FunctionComponent} from 'react';\nimport {TableActionsList, TableActionsListProps} from '../table-actions/TableActionsList';\nimport {useTableContext} from '../TableContext';\n\n/**\n * Generic column to use when your table needs actions on rows\n */\nexport const TableActionsColumn: ColumnDef<unknown> = {\n id: 'actions',\n enableSorting: false,\n enableHiding: false,\n meta: {\n controlColumn: true,\n },\n header: '',\n size: 84, // 16px padding left + 28px ActionIcon + 40px padding right\n cell: (info) => <ActionsMenu info={info} />,\n};\n\ninterface TableActionsColumnProps extends Omit<TableActionsListProps, 'actions'> {\n info: CellContext<unknown, unknown>;\n}\n\nconst defaultProps: Partial<TableActionsColumnProps> = {\n label: 'Actions',\n icon: <MoreSize16Px height={16} />,\n};\n\nconst ActionsMenu: FunctionComponent<TableActionsColumnProps> = (props) => {\n const {getRowActions} = useTableContext();\n\n const {info, ...others} = useProps('PlasmaTableActionsColumn', defaultProps, props);\n\n const actionsElements = getRowActions([info.row.original]);\n return <TableActionsList actions={actionsElements} variant=\"combined\" {...others} />;\n};\n"],"names":["TableActionsColumn","id","enableSorting","enableHiding","meta","controlColumn","header","size","cell","info","ActionsMenu","defaultProps","label","icon","MoreSize16Px","height","props","getRowActions","useTableContext","useProps","others","actionsElements","row","original","TableActionsList","actions","variant"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAUaA;;;eAAAA;;;;;;gCAVc;oBACJ;gCAG+B;4BACxB;AAKvB,IAAMA,qBAAyC;IAClDC,IAAI;IACJC,eAAe;IACfC,cAAc;IACdC,MAAM;QACFC,eAAe;IACnB;IACAC,QAAQ;IACRC,MAAM;IACNC,MAAM,SAACC;6BAAS,qBAACC;YAAYD,MAAMA;;;AACvC;AAMA,IAAME,eAAiD;IACnDC,OAAO;IACPC,oBAAM,qBAACC,8BAAY;QAACC,QAAQ;;AAChC;AAEA,IAAML,cAA0D,SAACM;IAC7D,IAAM,AAACC,gBAAiBC,IAAAA,6BAAe,IAAhCD;IAEP,IAA0BE,YAAAA,IAAAA,cAAQ,EAAC,4BAA4BR,cAAcK,QAAvE,AAACP,OAAmBU,UAAnBV,MAASW,sCAAUD;QAAnBV;;IAEP,IAAMY,kBAAkBJ,cAAc;QAACR,KAAKa,GAAG,CAACC,QAAQ;KAAC;IACzD,qBAAO,qBAACC,kCAAgB;QAACC,SAASJ;QAAiBK,SAAQ;OAAeN;AAC9E"}
1
+ {"version":3,"sources":["../../../../../src/components/table/table-column/TableActionsColumn.tsx"],"sourcesContent":["import {MoreSize16Px} from '@coveord/plasma-react-icons';\nimport {useProps} from '@mantine/core';\nimport {CellContext, ColumnDef} from '@tanstack/table-core';\nimport {FunctionComponent} from 'react';\nimport {TableActionsList, TableActionsListProps} from '../table-actions/TableActionsList';\nimport {useTableContext} from '../TableContext';\n\n/**\n * Generic column to use when your table needs actions on rows\n */\nexport const TableActionsColumn: ColumnDef<unknown> = {\n id: 'actions',\n enableSorting: false,\n enableHiding: false,\n meta: {\n controlColumn: true,\n },\n header: '',\n size: 84, // 16px padding left + 28px ActionIcon + 40px padding right\n cell: (info) => <ActionsMenu info={info} />,\n};\n\ninterface TableActionsColumnProps extends Omit<TableActionsListProps, 'actions'> {\n info: CellContext<unknown, unknown>;\n}\n\nconst defaultProps: Partial<TableActionsColumnProps> = {\n label: 'Actions',\n icon: <MoreSize16Px height={16} />,\n};\n\nconst ActionsMenu: FunctionComponent<TableActionsColumnProps> = (props) => {\n const {getRowActions} = useTableContext();\n\n const {info, ...others} = useProps('PlasmaTableActionsColumn', defaultProps, props);\n\n const actionsElements = getRowActions([info.row.original]);\n return <TableActionsList actions={actionsElements} variant=\"combined\" {...others} />;\n};\n"],"names":["TableActionsColumn","id","enableSorting","enableHiding","meta","controlColumn","header","size","cell","info","ActionsMenu","defaultProps","label","icon","MoreSize16Px","height","props","getRowActions","useTableContext","useProps","others","actionsElements","row","original","TableActionsList","actions","variant"],"mappings":";;;;+BAUaA;;;eAAAA;;;;;;gCAVc;oBACJ;gCAG+B;4BACxB;AAKvB,IAAMA,qBAAyC;IAClDC,IAAI;IACJC,eAAe;IACfC,cAAc;IACdC,MAAM;QACFC,eAAe;IACnB;IACAC,QAAQ;IACRC,MAAM;IACNC,MAAM,SAACC;6BAAS,qBAACC;YAAYD,MAAMA;;;AACvC;AAMA,IAAME,eAAiD;IACnDC,OAAO;IACPC,oBAAM,qBAACC,8BAAY;QAACC,QAAQ;;AAChC;AAEA,IAAML,cAA0D,SAACM;IAC7D,IAAM,AAACC,gBAAiBC,IAAAA,6BAAe,IAAhCD;IAEP,IAA0BE,YAAAA,IAAAA,cAAQ,EAAC,4BAA4BR,cAAcK,QAAvE,AAACP,OAAmBU,UAAnBV,MAASW,sCAAUD;QAAnBV;;IAEP,IAAMY,kBAAkBJ,cAAc;QAACR,KAAKa,GAAG,CAACC,QAAQ;KAAC;IACzD,qBAAO,qBAACC,kCAAgB;QAACC,SAASJ;QAAiBK,SAAQ;OAAeN;AAC9E"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/table/table-column/TableCollapsibleColumn.tsx"],"sourcesContent":["import {ArrowHeadDownSize16Px, ArrowHeadUpSize16Px} from '@coveord/plasma-react-icons';\nimport {Factory, factory, useProps} from '@mantine/core';\nimport {CellContext, ColumnDef} from '@tanstack/table-core';\nimport {MouseEvent as ReactMouseEvent, ReactNode} from 'react';\nimport {ActionIcon, ActionIconProps} from '../../action-icon';\nimport {useTableContext} from '../TableContext';\n\nexport type TableCollapsibleColumnStylesNames = 'collapsibleIcon';\n\nconst sharedProps: ColumnDef<unknown> = {\n id: 'collapsible',\n enableSorting: false,\n enableHiding: false,\n meta: {\n controlColumn: true,\n },\n header: '',\n size: 84, // 16px padding left + 28px ActionIcon + 40px padding right\n};\n\n/**\n * Generic column to use when your table needs collapsible rows\n */\nexport const TableCollapsibleColumn: ColumnDef<unknown> = {\n ...sharedProps,\n cell: (info) => <CollapsibleIcon info={info} />,\n};\n\n/**\n * Generic column to use when your table needs an accordion (collapsible rows, but only one open at the time)\n */\nexport const TableAccordionColumn: ColumnDef<unknown> = {\n ...sharedProps,\n cell: (info) => {\n const onToggle = () => {\n // close all other rows when the current row not is expanded\n if (!info.row.getIsExpanded()) {\n info.table.toggleAllRowsExpanded(false);\n }\n };\n\n return <CollapsibleIcon onToggle={onToggle} info={info} />;\n },\n};\n\ninterface CollapsibleIconProps extends ActionIconProps {\n info: CellContext<unknown, unknown>;\n onToggle?: (e: ReactMouseEvent<HTMLButtonElement>) => void;\n iconExpanded?: ReactNode;\n iconCollapsed?: ReactNode;\n}\n\ntype TableCollapsibleColumnFactory = Factory<{\n props: CollapsibleIconProps;\n ref: HTMLButtonElement;\n stylesNames: TableCollapsibleColumnStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<CollapsibleIconProps> = {\n iconExpanded: <ArrowHeadUpSize16Px height={16} />,\n iconCollapsed: <ArrowHeadDownSize16Px height={16} />,\n};\n\nconst CollapsibleIcon = factory<TableCollapsibleColumnFactory>((props, ref) => {\n const {getStyles} = useTableContext();\n const {info, onToggle, iconExpanded, iconCollapsed, classNames, className, style, styles, ...others} = useProps(\n 'PlasmaTableCollapsibleColumn',\n defaultProps,\n props,\n );\n const handler = info.row.getToggleExpandedHandler();\n const onClick = (e: ReactMouseEvent<HTMLButtonElement>) => {\n e.stopPropagation();\n onToggle?.(e);\n handler();\n };\n return info.row.getCanExpand() ? (\n <ActionIcon\n ref={ref}\n onClick={onClick}\n variant=\"subtle\"\n color=\"gray\"\n radius=\"sm\"\n {...getStyles('collapsibleIcon', {className, classNames, styles, style})}\n {...others}\n >\n {info.row.getIsExpanded() ? iconExpanded : iconCollapsed}\n </ActionIcon>\n ) : null;\n});\n"],"names":["TableAccordionColumn","TableCollapsibleColumn","sharedProps","id","enableSorting","enableHiding","meta","controlColumn","header","size","cell","info","CollapsibleIcon","onToggle","row","getIsExpanded","table","toggleAllRowsExpanded","defaultProps","iconExpanded","ArrowHeadUpSize16Px","height","iconCollapsed","ArrowHeadDownSize16Px","factory","props","ref","getStyles","useTableContext","useProps","classNames","className","style","styles","others","handler","getToggleExpandedHandler","onClick","e","stopPropagation","getCanExpand","ActionIcon","variant","color","radius"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;IA+BaA,oBAAoB;eAApBA;;IARAC,sBAAsB;eAAtBA;;;;;;;gCAvB4C;oBAChB;0BAGC;4BACZ;AAI9B,IAAMC,cAAkC;IACpCC,IAAI;IACJC,eAAe;IACfC,cAAc;IACdC,MAAM;QACFC,eAAe;IACnB;IACAC,QAAQ;IACRC,MAAM;AACV;AAKO,IAAMR,yBAA6C,4CACnDC;IACHQ,MAAM,SAACC;6BAAS,qBAACC;YAAgBD,MAAMA;;;;AAMpC,IAAMX,uBAA2C,4CACjDE;IACHQ,MAAM,SAACC;QACH,IAAME,WAAW;YACb,4DAA4D;YAC5D,IAAI,CAACF,KAAKG,GAAG,CAACC,aAAa,IAAI;gBAC3BJ,KAAKK,KAAK,CAACC,qBAAqB,CAAC;YACrC;QACJ;QAEA,qBAAO,qBAACL;YAAgBC,UAAUA;YAAUF,MAAMA;;IACtD;;AAiBJ,IAAMO,eAA8C;IAChDC,4BAAc,qBAACC,qCAAmB;QAACC,QAAQ;;IAC3CC,6BAAe,qBAACC,uCAAqB;QAACF,QAAQ;;AAClD;AAEA,IAAMT,kBAAkBY,IAAAA,aAAO,EAAgC,SAACC,OAAOC;IACnE,IAAM,AAACC,YAAaC,IAAAA,6BAAe,IAA5BD;IACP,IAAuGE,YAAAA,IAAAA,cAAQ,EAC3G,gCACAX,cACAO,QAHGd,OAAgGkB,UAAhGlB,MAAME,WAA0FgB,UAA1FhB,UAAUM,eAAgFU,UAAhFV,cAAcG,gBAAkEO,UAAlEP,eAAeQ,aAAmDD,UAAnDC,YAAYC,YAAuCF,UAAvCE,WAAWC,QAA4BH,UAA5BG,OAAOC,SAAqBJ,UAArBI,QAAWC,sCAAUL;QAAhGlB;QAAME;QAAUM;QAAcG;QAAeQ;QAAYC;QAAWC;QAAOC;;IAKlF,IAAME,UAAUxB,KAAKG,GAAG,CAACsB,wBAAwB;IACjD,IAAMC,UAAU,SAACC;QACbA,EAAEC,eAAe;QACjB1B,qBAAAA,+BAAAA,SAAWyB;QACXH;IACJ;IACA,OAAOxB,KAAKG,GAAG,CAAC0B,YAAY,mBACxB,qBAACC,sBAAU;QACPf,KAAKA;QACLW,SAASA;QACTK,SAAQ;QACRC,OAAM;QACNC,QAAO;OACHjB,UAAU,mBAAmB;QAACI,WAAAA;QAAWD,YAAAA;QAAYG,QAAAA;QAAQD,OAAAA;IAAK,IAClEE;kBAEHvB,KAAKG,GAAG,CAACC,aAAa,KAAKI,eAAeG;UAE/C;AACR"}
1
+ {"version":3,"sources":["../../../../../src/components/table/table-column/TableCollapsibleColumn.tsx"],"sourcesContent":["import {ArrowHeadDownSize16Px, ArrowHeadUpSize16Px} from '@coveord/plasma-react-icons';\nimport {Factory, factory, useProps} from '@mantine/core';\nimport {CellContext, ColumnDef} from '@tanstack/table-core';\nimport {MouseEvent as ReactMouseEvent, ReactNode} from 'react';\nimport {ActionIcon, ActionIconProps} from '../../action-icon';\nimport {useTableContext} from '../TableContext';\n\nexport type TableCollapsibleColumnStylesNames = 'collapsibleIcon';\n\nconst sharedProps: ColumnDef<unknown> = {\n id: 'collapsible',\n enableSorting: false,\n enableHiding: false,\n meta: {\n controlColumn: true,\n },\n header: '',\n size: 84, // 16px padding left + 28px ActionIcon + 40px padding right\n};\n\n/**\n * Generic column to use when your table needs collapsible rows\n */\nexport const TableCollapsibleColumn: ColumnDef<unknown> = {\n ...sharedProps,\n cell: (info) => <CollapsibleIcon info={info} />,\n};\n\n/**\n * Generic column to use when your table needs an accordion (collapsible rows, but only one open at the time)\n */\nexport const TableAccordionColumn: ColumnDef<unknown> = {\n ...sharedProps,\n cell: (info) => {\n const onToggle = () => {\n // close all other rows when the current row not is expanded\n if (!info.row.getIsExpanded()) {\n info.table.toggleAllRowsExpanded(false);\n }\n };\n\n return <CollapsibleIcon onToggle={onToggle} info={info} />;\n },\n};\n\ninterface CollapsibleIconProps extends ActionIconProps {\n info: CellContext<unknown, unknown>;\n onToggle?: (e: ReactMouseEvent<HTMLButtonElement>) => void;\n iconExpanded?: ReactNode;\n iconCollapsed?: ReactNode;\n}\n\ntype TableCollapsibleColumnFactory = Factory<{\n props: CollapsibleIconProps;\n ref: HTMLButtonElement;\n stylesNames: TableCollapsibleColumnStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<CollapsibleIconProps> = {\n iconExpanded: <ArrowHeadUpSize16Px height={16} />,\n iconCollapsed: <ArrowHeadDownSize16Px height={16} />,\n};\n\nconst CollapsibleIcon = factory<TableCollapsibleColumnFactory>((props, ref) => {\n const {getStyles} = useTableContext();\n const {info, onToggle, iconExpanded, iconCollapsed, classNames, className, style, styles, ...others} = useProps(\n 'PlasmaTableCollapsibleColumn',\n defaultProps,\n props,\n );\n const handler = info.row.getToggleExpandedHandler();\n const onClick = (e: ReactMouseEvent<HTMLButtonElement>) => {\n e.stopPropagation();\n onToggle?.(e);\n handler();\n };\n return info.row.getCanExpand() ? (\n <ActionIcon\n ref={ref}\n onClick={onClick}\n variant=\"subtle\"\n color=\"gray\"\n radius=\"sm\"\n {...getStyles('collapsibleIcon', {className, classNames, styles, style})}\n {...others}\n >\n {info.row.getIsExpanded() ? iconExpanded : iconCollapsed}\n </ActionIcon>\n ) : null;\n});\n"],"names":["TableAccordionColumn","TableCollapsibleColumn","sharedProps","id","enableSorting","enableHiding","meta","controlColumn","header","size","cell","info","CollapsibleIcon","onToggle","row","getIsExpanded","table","toggleAllRowsExpanded","defaultProps","iconExpanded","ArrowHeadUpSize16Px","height","iconCollapsed","ArrowHeadDownSize16Px","factory","props","ref","getStyles","useTableContext","useProps","classNames","className","style","styles","others","handler","getToggleExpandedHandler","onClick","e","stopPropagation","getCanExpand","ActionIcon","variant","color","radius"],"mappings":";;;;;;;;;;;IA+BaA,oBAAoB;eAApBA;;IARAC,sBAAsB;eAAtBA;;;;;;;gCAvB4C;oBAChB;0BAGC;4BACZ;AAI9B,IAAMC,cAAkC;IACpCC,IAAI;IACJC,eAAe;IACfC,cAAc;IACdC,MAAM;QACFC,eAAe;IACnB;IACAC,QAAQ;IACRC,MAAM;AACV;AAKO,IAAMR,yBAA6C,4CACnDC;IACHQ,MAAM,SAACC;6BAAS,qBAACC;YAAgBD,MAAMA;;;;AAMpC,IAAMX,uBAA2C,4CACjDE;IACHQ,MAAM,SAACC;QACH,IAAME,WAAW;YACb,4DAA4D;YAC5D,IAAI,CAACF,KAAKG,GAAG,CAACC,aAAa,IAAI;gBAC3BJ,KAAKK,KAAK,CAACC,qBAAqB,CAAC;YACrC;QACJ;QAEA,qBAAO,qBAACL;YAAgBC,UAAUA;YAAUF,MAAMA;;IACtD;;AAiBJ,IAAMO,eAA8C;IAChDC,4BAAc,qBAACC,qCAAmB;QAACC,QAAQ;;IAC3CC,6BAAe,qBAACC,uCAAqB;QAACF,QAAQ;;AAClD;AAEA,IAAMT,kBAAkBY,IAAAA,aAAO,EAAgC,SAACC,OAAOC;IACnE,IAAM,AAACC,YAAaC,IAAAA,6BAAe,IAA5BD;IACP,IAAuGE,YAAAA,IAAAA,cAAQ,EAC3G,gCACAX,cACAO,QAHGd,OAAgGkB,UAAhGlB,MAAME,WAA0FgB,UAA1FhB,UAAUM,eAAgFU,UAAhFV,cAAcG,gBAAkEO,UAAlEP,eAAeQ,aAAmDD,UAAnDC,YAAYC,YAAuCF,UAAvCE,WAAWC,QAA4BH,UAA5BG,OAAOC,SAAqBJ,UAArBI,QAAWC,sCAAUL;QAAhGlB;QAAME;QAAUM;QAAcG;QAAeQ;QAAYC;QAAWC;QAAOC;;IAKlF,IAAME,UAAUxB,KAAKG,GAAG,CAACsB,wBAAwB;IACjD,IAAMC,UAAU,SAACC;QACbA,EAAEC,eAAe;QACjB1B,qBAAAA,+BAAAA,SAAWyB;QACXH;IACJ;IACA,OAAOxB,KAAKG,GAAG,CAAC0B,YAAY,mBACxB,qBAACC,sBAAU;QACPf,KAAKA;QACLW,SAASA;QACTK,SAAQ;QACRC,OAAM;QACNC,QAAO;OACHjB,UAAU,mBAAmB;QAACI,WAAAA;QAAWD,YAAAA;QAAYG,QAAAA;QAAQD,OAAAA;IAAK,IAClEE;kBAEHvB,KAAKG,GAAG,CAACC,aAAa,KAAKI,eAAeG;UAE/C;AACR"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/table/table-column/TableSelectableColumn.tsx"],"sourcesContent":["import {Checkbox, Tooltip} from '@mantine/core';\nimport {ColumnDef} from '@tanstack/table-core';\n\n/**\n * Generic column to use when your table needs multi selection of rows\n */\nexport const TableSelectableColumn: ColumnDef<unknown> = {\n id: 'select',\n enableSorting: false,\n enableHiding: false,\n meta: {\n controlColumn: true,\n },\n header: ({table}) => {\n const label = table.getIsAllRowsSelected() ? 'Unselect all from this page' : 'Select all from this page';\n return (\n <Tooltip label={label}>\n <Checkbox\n checked={table.getIsAllPageRowsSelected()}\n indeterminate={table.getIsSomePageRowsSelected()}\n onChange={table.getToggleAllPageRowsSelectedHandler()}\n flex={1}\n aria-label={label}\n />\n </Tooltip>\n );\n },\n cell: ({row}) => (\n <Checkbox\n checked={row.getIsSelected()}\n indeterminate={row.getIsSomeSelected()}\n onChange={row.getToggleSelectedHandler()}\n flex={1}\n aria-label=\"Select row\"\n />\n ),\n};\n"],"names":["TableSelectableColumn","id","enableSorting","enableHiding","meta","controlColumn","header","table","label","getIsAllRowsSelected","Tooltip","Checkbox","checked","getIsAllPageRowsSelected","indeterminate","getIsSomePageRowsSelected","onChange","getToggleAllPageRowsSelectedHandler","flex","aria-label","cell","row","getIsSelected","getIsSomeSelected","getToggleSelectedHandler"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAMaA;;;eAAAA;;;;oBANmB;AAMzB,IAAMA,wBAA4C;IACrDC,IAAI;IACJC,eAAe;IACfC,cAAc;IACdC,MAAM;QACFC,eAAe;IACnB;IACAC,QAAQ;YAAEC,cAAAA;QACN,IAAMC,QAAQD,MAAME,oBAAoB,KAAK,gCAAgC;QAC7E,qBACI,qBAACC,aAAO;YAACF,OAAOA;sBACZ,cAAA,qBAACG,cAAQ;gBACLC,SAASL,MAAMM,wBAAwB;gBACvCC,eAAeP,MAAMQ,yBAAyB;gBAC9CC,UAAUT,MAAMU,mCAAmC;gBACnDC,MAAM;gBACNC,cAAYX;;;IAI5B;IACAY,MAAM;YAAEC,YAAAA;6BACJ,qBAACV,cAAQ;YACLC,SAASS,IAAIC,aAAa;YAC1BR,eAAeO,IAAIE,iBAAiB;YACpCP,UAAUK,IAAIG,wBAAwB;YACtCN,MAAM;YACNC,cAAW;;;AAGvB"}
1
+ {"version":3,"sources":["../../../../../src/components/table/table-column/TableSelectableColumn.tsx"],"sourcesContent":["import {Checkbox, Tooltip} from '@mantine/core';\nimport {ColumnDef} from '@tanstack/table-core';\n\n/**\n * Generic column to use when your table needs multi selection of rows\n */\nexport const TableSelectableColumn: ColumnDef<unknown> = {\n id: 'select',\n enableSorting: false,\n enableHiding: false,\n meta: {\n controlColumn: true,\n },\n header: ({table}) => {\n const label = table.getIsAllRowsSelected() ? 'Unselect all from this page' : 'Select all from this page';\n return (\n <Tooltip label={label}>\n <Checkbox\n checked={table.getIsAllPageRowsSelected()}\n indeterminate={table.getIsSomePageRowsSelected()}\n onChange={table.getToggleAllPageRowsSelectedHandler()}\n flex={1}\n aria-label={label}\n />\n </Tooltip>\n );\n },\n cell: ({row}) => (\n <Checkbox\n checked={row.getIsSelected()}\n indeterminate={row.getIsSomeSelected()}\n onChange={row.getToggleSelectedHandler()}\n flex={1}\n aria-label=\"Select row\"\n />\n ),\n};\n"],"names":["TableSelectableColumn","id","enableSorting","enableHiding","meta","controlColumn","header","table","label","getIsAllRowsSelected","Tooltip","Checkbox","checked","getIsAllPageRowsSelected","indeterminate","getIsSomePageRowsSelected","onChange","getToggleAllPageRowsSelectedHandler","flex","aria-label","cell","row","getIsSelected","getIsSomeSelected","getToggleSelectedHandler"],"mappings":";;;;+BAMaA;;;eAAAA;;;;oBANmB;AAMzB,IAAMA,wBAA4C;IACrDC,IAAI;IACJC,eAAe;IACfC,cAAc;IACdC,MAAM;QACFC,eAAe;IACnB;IACAC,QAAQ;YAAEC,cAAAA;QACN,IAAMC,QAAQD,MAAME,oBAAoB,KAAK,gCAAgC;QAC7E,qBACI,qBAACC,aAAO;YAACF,OAAOA;sBACZ,cAAA,qBAACG,cAAQ;gBACLC,SAASL,MAAMM,wBAAwB;gBACvCC,eAAeP,MAAMQ,yBAAyB;gBAC9CC,UAAUT,MAAMU,mCAAmC;gBACnDC,MAAM;gBACNC,cAAYX;;;IAI5B;IACAY,MAAM;YAAEC,YAAAA;6BACJ,qBAACV,cAAQ;YACLC,SAASS,IAAIC,aAAa;YAC1BR,eAAeO,IAAIE,iBAAiB;YACpCP,UAAUK,IAAIG,wBAAwB;YACtCN,MAAM;YACNC,cAAW;;;AAGvB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/table/table-columns-selector/TableColumnsSelector.tsx"],"sourcesContent":["import {\n BoxProps,\n Button,\n Checkbox,\n CompoundStylesApiProps,\n Divider,\n factory,\n Factory,\n Grid,\n Popover,\n ScrollArea,\n Stack,\n Tooltip,\n useProps,\n} from '@mantine/core';\nimport {flexRender, Header} from '@tanstack/react-table';\nimport {ReactNode} from 'react';\nimport {TableComponentsOrder} from '../Table';\nimport {useTableContext} from '../TableContext';\n\nexport type TableColumnsSelectorStylesNames = 'columnSelector' | 'columnSelectorWrapper';\n\nexport interface TableColumnsSelectorProps extends BoxProps, CompoundStylesApiProps<TableColumnsSelectorFactory> {\n /**\n * The label of the button\n * @default 'Edit columns'\n */\n label?: ReactNode;\n /**\n * The style variant of the button\n * @default 'outline'\n */\n buttonVariant?: string;\n /**\n * Whether the count of visible columns is shown in the button label.\n * @default false\n */\n showVisibleCountLabel?: boolean;\n /**\n * The maximum number of columns that can be selected at the same time.\n * If defined a footer will render with the remaining number of columns that can be selected.\n */\n maxSelectableColumns?: number;\n /**\n * The content to display in the footer when maxSelectableColumns is defined.\n */\n footer?: ReactNode;\n /**\n * The tooltip to display when the user hovers over a disabled checkbox because of the limit.\n * @default 'You have reached the maximum display limit.'\n */\n limitReachedTooltip?: string;\n /**\n * The tooltip to display when the user hovers over a disabled checkbox because a column cannot be hidden.\n * @default 'This column is always visible.'\n */\n alwaysVisibleTooltip?: string;\n}\n\nexport type TableColumnsSelectorFactory = Factory<{\n props: TableColumnsSelectorProps;\n ref: HTMLDivElement;\n stylesNames: TableColumnsSelectorStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<TableColumnsSelectorProps> = {\n label: 'Edit columns',\n buttonVariant: 'outline',\n limitReachedTooltip: 'You have reached the maximum display limit.',\n alwaysVisibleTooltip: 'This column is always visible.',\n showVisibleCountLabel: false,\n};\n\nexport const TableColumnsSelector = factory<TableColumnsSelectorFactory>((props, ref) => {\n const {getStyles} = useTableContext();\n const {\n label,\n buttonVariant,\n showVisibleCountLabel,\n maxSelectableColumns,\n footer,\n limitReachedTooltip,\n alwaysVisibleTooltip,\n classNames,\n className,\n styles,\n style,\n vars,\n ...others\n } = useProps('TableColumnsSelector', defaultProps, props);\n const {table} = useTableContext();\n\n const allColumns = table.getAllLeafColumns();\n\n const filteredColumns = allColumns.filter((column) => !column.columnDef.meta?.controlColumn);\n const selectedColumnsCount = filteredColumns.filter((column) => column.getIsVisible()).length;\n\n if (filteredColumns.length <= 0) {\n return null;\n }\n\n const stylesApiProps = {classNames, styles};\n\n return (\n <Grid.Col\n span=\"content\"\n order={TableComponentsOrder.ColumnsSelector}\n {...getStyles('columnSelector', {className, style, ...stylesApiProps})}\n {...others}\n >\n <Popover withinPortal position=\"bottom\" shadow=\"md\">\n <Popover.Target>\n <Button variant={buttonVariant}>{`${label}${\n showVisibleCountLabel ? ` (${selectedColumnsCount})` : ''\n }`}</Button>\n </Popover.Target>\n <Popover.Dropdown miw={240}>\n <ScrollArea.Autosize mah={154}>\n <Stack {...getStyles('columnSelectorWrapper', stylesApiProps)}>\n {filteredColumns.map((column) => {\n const alwaysVisible = !column.getCanHide();\n const isDisabled =\n (selectedColumnsCount >= maxSelectableColumns && !column.getIsVisible()) ||\n alwaysVisible;\n\n return (\n <Tooltip\n label={alwaysVisible ? alwaysVisibleTooltip : limitReachedTooltip}\n disabled={!isDisabled}\n position=\"left\"\n key={column.id}\n >\n <div>\n <Checkbox\n key={column.id}\n label={flexRender(column.columnDef.header, {\n table,\n column,\n header: {column} as Header<unknown, unknown>,\n })}\n name={column.id}\n checked={column.getIsVisible() || alwaysVisible}\n disabled={isDisabled}\n onChange={column.getToggleVisibilityHandler()}\n />\n </div>\n </Tooltip>\n );\n })}\n </Stack>\n </ScrollArea.Autosize>\n {maxSelectableColumns && (\n <>\n <Divider mb=\"xs\" mt=\"sm\" />\n {footer}\n </>\n )}\n </Popover.Dropdown>\n </Popover>\n </Grid.Col>\n );\n});\n"],"names":["TableColumnsSelector","defaultProps","label","buttonVariant","limitReachedTooltip","alwaysVisibleTooltip","showVisibleCountLabel","factory","props","ref","getStyles","useTableContext","useProps","maxSelectableColumns","footer","classNames","className","styles","style","vars","others","table","allColumns","getAllLeafColumns","filteredColumns","filter","column","columnDef","meta","controlColumn","selectedColumnsCount","getIsVisible","length","stylesApiProps","Grid","Col","span","order","TableComponentsOrder","ColumnsSelector","Popover","withinPortal","position","shadow","Target","Button","variant","Dropdown","miw","ScrollArea","Autosize","mah","Stack","map","alwaysVisible","getCanHide","isDisabled","Tooltip","disabled","div","Checkbox","flexRender","header","name","id","checked","onChange","getToggleVisibilityHandler","Divider","mb","mt"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../../../src/components/table/table-columns-selector/TableColumnsSelector.tsx"],"sourcesContent":["import {\n BoxProps,\n Button,\n Checkbox,\n CompoundStylesApiProps,\n Divider,\n factory,\n Factory,\n Grid,\n Popover,\n ScrollArea,\n Stack,\n Tooltip,\n useProps,\n} from '@mantine/core';\nimport {flexRender, Header} from '@tanstack/react-table';\nimport {ReactNode} from 'react';\nimport {TableComponentsOrder} from '../Table';\nimport {useTableContext} from '../TableContext';\n\nexport type TableColumnsSelectorStylesNames = 'columnSelector' | 'columnSelectorWrapper';\n\nexport interface TableColumnsSelectorProps extends BoxProps, CompoundStylesApiProps<TableColumnsSelectorFactory> {\n /**\n * The label of the button\n * @default 'Edit columns'\n */\n label?: ReactNode;\n /**\n * The style variant of the button\n * @default 'outline'\n */\n buttonVariant?: string;\n /**\n * Whether the count of visible columns is shown in the button label.\n * @default false\n */\n showVisibleCountLabel?: boolean;\n /**\n * The maximum number of columns that can be selected at the same time.\n * If defined a footer will render with the remaining number of columns that can be selected.\n */\n maxSelectableColumns?: number;\n /**\n * The content to display in the footer when maxSelectableColumns is defined.\n */\n footer?: ReactNode;\n /**\n * The tooltip to display when the user hovers over a disabled checkbox because of the limit.\n * @default 'You have reached the maximum display limit.'\n */\n limitReachedTooltip?: string;\n /**\n * The tooltip to display when the user hovers over a disabled checkbox because a column cannot be hidden.\n * @default 'This column is always visible.'\n */\n alwaysVisibleTooltip?: string;\n}\n\nexport type TableColumnsSelectorFactory = Factory<{\n props: TableColumnsSelectorProps;\n ref: HTMLDivElement;\n stylesNames: TableColumnsSelectorStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<TableColumnsSelectorProps> = {\n label: 'Edit columns',\n buttonVariant: 'outline',\n limitReachedTooltip: 'You have reached the maximum display limit.',\n alwaysVisibleTooltip: 'This column is always visible.',\n showVisibleCountLabel: false,\n};\n\nexport const TableColumnsSelector = factory<TableColumnsSelectorFactory>((props, ref) => {\n const {getStyles} = useTableContext();\n const {\n label,\n buttonVariant,\n showVisibleCountLabel,\n maxSelectableColumns,\n footer,\n limitReachedTooltip,\n alwaysVisibleTooltip,\n classNames,\n className,\n styles,\n style,\n vars,\n ...others\n } = useProps('TableColumnsSelector', defaultProps, props);\n const {table} = useTableContext();\n\n const allColumns = table.getAllLeafColumns();\n\n const filteredColumns = allColumns.filter((column) => !column.columnDef.meta?.controlColumn);\n const selectedColumnsCount = filteredColumns.filter((column) => column.getIsVisible()).length;\n\n if (filteredColumns.length <= 0) {\n return null;\n }\n\n const stylesApiProps = {classNames, styles};\n\n return (\n <Grid.Col\n span=\"content\"\n order={TableComponentsOrder.ColumnsSelector}\n {...getStyles('columnSelector', {className, style, ...stylesApiProps})}\n {...others}\n >\n <Popover withinPortal position=\"bottom\" shadow=\"md\">\n <Popover.Target>\n <Button variant={buttonVariant}>{`${label}${\n showVisibleCountLabel ? ` (${selectedColumnsCount})` : ''\n }`}</Button>\n </Popover.Target>\n <Popover.Dropdown miw={240}>\n <ScrollArea.Autosize mah={154}>\n <Stack {...getStyles('columnSelectorWrapper', stylesApiProps)}>\n {filteredColumns.map((column) => {\n const alwaysVisible = !column.getCanHide();\n const isDisabled =\n (selectedColumnsCount >= maxSelectableColumns && !column.getIsVisible()) ||\n alwaysVisible;\n\n return (\n <Tooltip\n label={alwaysVisible ? alwaysVisibleTooltip : limitReachedTooltip}\n disabled={!isDisabled}\n position=\"left\"\n key={column.id}\n >\n <div>\n <Checkbox\n key={column.id}\n label={flexRender(column.columnDef.header, {\n table,\n column,\n header: {column} as Header<unknown, unknown>,\n })}\n name={column.id}\n checked={column.getIsVisible() || alwaysVisible}\n disabled={isDisabled}\n onChange={column.getToggleVisibilityHandler()}\n />\n </div>\n </Tooltip>\n );\n })}\n </Stack>\n </ScrollArea.Autosize>\n {maxSelectableColumns && (\n <>\n <Divider mb=\"xs\" mt=\"sm\" />\n {footer}\n </>\n )}\n </Popover.Dropdown>\n </Popover>\n </Grid.Col>\n );\n});\n"],"names":["TableColumnsSelector","defaultProps","label","buttonVariant","limitReachedTooltip","alwaysVisibleTooltip","showVisibleCountLabel","factory","props","ref","getStyles","useTableContext","useProps","maxSelectableColumns","footer","classNames","className","styles","style","vars","others","table","allColumns","getAllLeafColumns","filteredColumns","filter","column","columnDef","meta","controlColumn","selectedColumnsCount","getIsVisible","length","stylesApiProps","Grid","Col","span","order","TableComponentsOrder","ColumnsSelector","Popover","withinPortal","position","shadow","Target","Button","variant","Dropdown","miw","ScrollArea","Autosize","mah","Stack","map","alwaysVisible","getCanHide","isDisabled","Tooltip","disabled","div","Checkbox","flexRender","header","name","id","checked","onChange","getToggleVisibilityHandler","Divider","mb","mt"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/table/table-date-range-picker/TableDateRangePicker.tsx"],"sourcesContent":["import {CalendarSize16Px} from '@coveord/plasma-react-icons';\nimport {BoxProps, CompoundStylesApiProps, Factory, Grid, InputBase, Popover, factory, useProps} from '@mantine/core';\nimport dayjs from 'dayjs';\n\nimport {useState} from 'react';\nimport {\n DateRangePickerInlineCalendar,\n DateRangePickerInlineCalendarProps,\n DateRangePickerPreset,\n DateRangePickerValue,\n} from '../../date-range-picker';\nimport {TableComponentsOrder} from '../Table';\nimport {useTableContext} from '../TableContext';\n\nexport type TableDateRangePickerStylesNames = 'dateRangeRoot';\n\nexport interface TableDateRangePickerProps\n extends BoxProps,\n CompoundStylesApiProps<TableDateRangePickerFactory>,\n Pick<DateRangePickerInlineCalendarProps, 'startProps' | 'endProps' | 'rangeCalendarProps'> {\n /**\n * An object containing date presets.\n * If empty the preset dropdown won't be shown\n *\n * @example\n * {\n * january: {label: 'January', range: [new Date(2022, 0, 1), new Date(2022, 0, 31)]},\n * february: {label: 'February', range: [new Date(2022, 1, 1), new Date(2022, 1, 28)]}\n * }\n * @default {}\n */\n presets?: Record<string, DateRangePickerPreset>;\n}\n\nexport type TableDateRangePickerFactory = Factory<{\n props: TableDateRangePickerProps;\n ref: HTMLDivElement;\n stylesNames: TableDateRangePickerStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<TableDateRangePickerProps> = {\n presets: {},\n};\n\nexport const TableDateRangePicker = factory<TableDateRangePickerFactory>((props, ref) => {\n const {store, getStyles} = useTableContext();\n const {presets, rangeCalendarProps, classNames, className, styles, style, vars, ...others} = useProps(\n 'PlasmaTableDateRangePicker',\n defaultProps,\n props,\n );\n const [opened, setOpened] = useState(false);\n\n const onApply = (dates: DateRangePickerValue) => {\n store.setDateRange(dates);\n setOpened(false);\n };\n const onCancel = () => {\n setOpened(false);\n };\n\n const formatDate = (date: Date) => dayjs(date).format('MMM DD, YYYY');\n const formattedRange = `${formatDate(store.state.dateRange[0])} - ${formatDate(store.state.dateRange[1])}`;\n const dateRangeInitialized = store.state.dateRange.every((date) => date instanceof Date);\n\n const stylesApiProps = {classNames, styles};\n\n return (\n <Grid.Col\n span=\"content\"\n order={TableComponentsOrder.DateRangePicker}\n ref={ref}\n {...getStyles('dateRangeRoot', {className, style, ...stylesApiProps})}\n {...others}\n >\n <Popover withinPortal opened={opened} onChange={setOpened}>\n <Popover.Target>\n <InputBase\n component=\"button\"\n leftSection={<CalendarSize16Px height={16} />}\n miw={220}\n onClick={() => setOpened(true)}\n >\n {dateRangeInitialized ? formattedRange : 'Select date range'}\n </InputBase>\n </Popover.Target>\n <Popover.Dropdown p={0}>\n <DateRangePickerInlineCalendar\n initialRange={store.state.dateRange}\n onApply={onApply}\n onCancel={onCancel}\n presets={presets}\n rangeCalendarProps={rangeCalendarProps}\n />\n </Popover.Dropdown>\n </Popover>\n </Grid.Col>\n );\n});\n"],"names":["TableDateRangePicker","defaultProps","presets","factory","props","ref","useTableContext","store","getStyles","useProps","rangeCalendarProps","classNames","className","styles","style","vars","others","useState","opened","setOpened","onApply","dates","setDateRange","onCancel","formatDate","date","dayjs","format","formattedRange","state","dateRange","dateRangeInitialized","every","Date","stylesApiProps","Grid","Col","span","order","TableComponentsOrder","DateRangePicker","Popover","withinPortal","onChange","Target","InputBase","component","leftSection","CalendarSize16Px","height","miw","onClick","Dropdown","p","DateRangePickerInlineCalendar","initialRange"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BA6CaA;;;eAAAA;;;;;;;;;;gCA7CkB;oBACsE;8DACnF;qBAEK;+BAMhB;qBAC4B;4BACL;AA6B9B,IAAMC,eAAmD;IACrDC,SAAS,CAAC;AACd;AAEO,IAAMF,uBAAuBG,IAAAA,aAAO,EAA8B,SAACC,OAAOC;IAC7E,IAA2BC,mBAAAA,IAAAA,6BAAe,KAAnCC,QAAoBD,iBAApBC,OAAOC,YAAaF,iBAAbE;IACd,IAA6FC,YAAAA,IAAAA,cAAQ,EACjG,8BACAR,cACAG,QAHGF,UAAsFO,UAAtFP,SAASQ,qBAA6ED,UAA7EC,oBAAoBC,aAAyDF,UAAzDE,YAAYC,YAA6CH,UAA7CG,WAAWC,SAAkCJ,UAAlCI,QAAQC,QAA0BL,UAA1BK,OAAOC,OAAmBN,UAAnBM,MAASC,sCAAUP;QAAtFP;QAASQ;QAAoBC;QAAYC;QAAWC;QAAQC;QAAOC;;IAK1E,IAA4BE,+BAAAA,IAAAA,eAAQ,EAAC,YAA9BC,SAAqBD,cAAbE,YAAaF;IAE5B,IAAMG,UAAU,SAACC;QACbd,MAAMe,YAAY,CAACD;QACnBF,UAAU;IACd;IACA,IAAMI,WAAW;QACbJ,UAAU;IACd;IAEA,IAAMK,aAAa,SAACC;eAAeC,IAAAA,cAAK,EAACD,MAAME,MAAM,CAAC;;IACtD,IAAMC,iBAAiB,AAAC,GAA4CJ,OAA1CA,WAAWjB,MAAMsB,KAAK,CAACC,SAAS,CAAC,EAAE,GAAE,OAA0C,OAArCN,WAAWjB,MAAMsB,KAAK,CAACC,SAAS,CAAC,EAAE;IACvG,IAAMC,uBAAuBxB,MAAMsB,KAAK,CAACC,SAAS,CAACE,KAAK,CAAC,SAACP;eAASA,AAAI,aAAYQ,CAAhBR,MAAgBQ;;IAEnF,IAAMC,iBAAiB;QAACvB,YAAAA;QAAYE,QAAAA;IAAM;IAE1C,qBACI,qBAACsB,UAAI,CAACC,GAAG;QACLC,MAAK;QACLC,OAAOC,2BAAoB,CAACC,eAAe;QAC3CnC,KAAKA;OACDG,UAAU,iBAAiB;QAACI,WAAAA;QAAWE,OAAAA;OAAUoB,kBACjDlB;kBAEJ,cAAA,sBAACyB,aAAO;YAACC,YAAY;YAACxB,QAAQA;YAAQyB,UAAUxB;;8BAC5C,qBAACsB,aAAO,CAACG,MAAM;8BACX,cAAA,qBAACC,eAAS;wBACNC,WAAU;wBACVC,2BAAa,qBAACC,kCAAgB;4BAACC,QAAQ;;wBACvCC,KAAK;wBACLC,SAAS;mCAAMhC,UAAU;;kCAExBY,uBAAuBH,iBAAiB;;;8BAGjD,qBAACa,aAAO,CAACW,QAAQ;oBAACC,GAAG;8BACjB,cAAA,qBAACC,8CAA6B;wBAC1BC,cAAchD,MAAMsB,KAAK,CAACC,SAAS;wBACnCV,SAASA;wBACTG,UAAUA;wBACVrB,SAASA;wBACTQ,oBAAoBA;;;;;;AAM5C"}
1
+ {"version":3,"sources":["../../../../../src/components/table/table-date-range-picker/TableDateRangePicker.tsx"],"sourcesContent":["import {CalendarSize16Px} from '@coveord/plasma-react-icons';\nimport {BoxProps, CompoundStylesApiProps, Factory, Grid, InputBase, Popover, factory, useProps} from '@mantine/core';\nimport dayjs from 'dayjs';\n\nimport {useState} from 'react';\nimport {\n DateRangePickerInlineCalendar,\n DateRangePickerInlineCalendarProps,\n DateRangePickerPreset,\n DateRangePickerValue,\n} from '../../date-range-picker';\nimport {TableComponentsOrder} from '../Table';\nimport {useTableContext} from '../TableContext';\n\nexport type TableDateRangePickerStylesNames = 'dateRangeRoot';\n\nexport interface TableDateRangePickerProps\n extends BoxProps,\n CompoundStylesApiProps<TableDateRangePickerFactory>,\n Pick<DateRangePickerInlineCalendarProps, 'startProps' | 'endProps' | 'rangeCalendarProps'> {\n /**\n * An object containing date presets.\n * If empty the preset dropdown won't be shown\n *\n * @example\n * {\n * january: {label: 'January', range: [new Date(2022, 0, 1), new Date(2022, 0, 31)]},\n * february: {label: 'February', range: [new Date(2022, 1, 1), new Date(2022, 1, 28)]}\n * }\n * @default {}\n */\n presets?: Record<string, DateRangePickerPreset>;\n}\n\nexport type TableDateRangePickerFactory = Factory<{\n props: TableDateRangePickerProps;\n ref: HTMLDivElement;\n stylesNames: TableDateRangePickerStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<TableDateRangePickerProps> = {\n presets: {},\n};\n\nexport const TableDateRangePicker = factory<TableDateRangePickerFactory>((props, ref) => {\n const {store, getStyles} = useTableContext();\n const {presets, rangeCalendarProps, classNames, className, styles, style, vars, ...others} = useProps(\n 'PlasmaTableDateRangePicker',\n defaultProps,\n props,\n );\n const [opened, setOpened] = useState(false);\n\n const onApply = (dates: DateRangePickerValue) => {\n store.setDateRange(dates);\n setOpened(false);\n };\n const onCancel = () => {\n setOpened(false);\n };\n\n const formatDate = (date: Date) => dayjs(date).format('MMM DD, YYYY');\n const formattedRange = `${formatDate(store.state.dateRange[0])} - ${formatDate(store.state.dateRange[1])}`;\n const dateRangeInitialized = store.state.dateRange.every((date) => date instanceof Date);\n\n const stylesApiProps = {classNames, styles};\n\n return (\n <Grid.Col\n span=\"content\"\n order={TableComponentsOrder.DateRangePicker}\n ref={ref}\n {...getStyles('dateRangeRoot', {className, style, ...stylesApiProps})}\n {...others}\n >\n <Popover withinPortal opened={opened} onChange={setOpened}>\n <Popover.Target>\n <InputBase\n component=\"button\"\n leftSection={<CalendarSize16Px height={16} />}\n miw={220}\n onClick={() => setOpened(true)}\n >\n {dateRangeInitialized ? formattedRange : 'Select date range'}\n </InputBase>\n </Popover.Target>\n <Popover.Dropdown p={0}>\n <DateRangePickerInlineCalendar\n initialRange={store.state.dateRange}\n onApply={onApply}\n onCancel={onCancel}\n presets={presets}\n rangeCalendarProps={rangeCalendarProps}\n />\n </Popover.Dropdown>\n </Popover>\n </Grid.Col>\n );\n});\n"],"names":["TableDateRangePicker","defaultProps","presets","factory","props","ref","useTableContext","store","getStyles","useProps","rangeCalendarProps","classNames","className","styles","style","vars","others","useState","opened","setOpened","onApply","dates","setDateRange","onCancel","formatDate","date","dayjs","format","formattedRange","state","dateRange","dateRangeInitialized","every","Date","stylesApiProps","Grid","Col","span","order","TableComponentsOrder","DateRangePicker","Popover","withinPortal","onChange","Target","InputBase","component","leftSection","CalendarSize16Px","height","miw","onClick","Dropdown","p","DateRangePickerInlineCalendar","initialRange"],"mappings":";;;;+BA6CaA;;;eAAAA;;;;;;;;;;gCA7CkB;oBACsE;8DACnF;qBAEK;+BAMhB;qBAC4B;4BACL;AA6B9B,IAAMC,eAAmD;IACrDC,SAAS,CAAC;AACd;AAEO,IAAMF,uBAAuBG,IAAAA,aAAO,EAA8B,SAACC,OAAOC;IAC7E,IAA2BC,mBAAAA,IAAAA,6BAAe,KAAnCC,QAAoBD,iBAApBC,OAAOC,YAAaF,iBAAbE;IACd,IAA6FC,YAAAA,IAAAA,cAAQ,EACjG,8BACAR,cACAG,QAHGF,UAAsFO,UAAtFP,SAASQ,qBAA6ED,UAA7EC,oBAAoBC,aAAyDF,UAAzDE,YAAYC,YAA6CH,UAA7CG,WAAWC,SAAkCJ,UAAlCI,QAAQC,QAA0BL,UAA1BK,OAAOC,OAAmBN,UAAnBM,MAASC,sCAAUP;QAAtFP;QAASQ;QAAoBC;QAAYC;QAAWC;QAAQC;QAAOC;;IAK1E,IAA4BE,+BAAAA,IAAAA,eAAQ,EAAC,YAA9BC,SAAqBD,cAAbE,YAAaF;IAE5B,IAAMG,UAAU,SAACC;QACbd,MAAMe,YAAY,CAACD;QACnBF,UAAU;IACd;IACA,IAAMI,WAAW;QACbJ,UAAU;IACd;IAEA,IAAMK,aAAa,SAACC;eAAeC,IAAAA,cAAK,EAACD,MAAME,MAAM,CAAC;;IACtD,IAAMC,iBAAiB,AAAC,GAA4CJ,OAA1CA,WAAWjB,MAAMsB,KAAK,CAACC,SAAS,CAAC,EAAE,GAAE,OAA0C,OAArCN,WAAWjB,MAAMsB,KAAK,CAACC,SAAS,CAAC,EAAE;IACvG,IAAMC,uBAAuBxB,MAAMsB,KAAK,CAACC,SAAS,CAACE,KAAK,CAAC,SAACP;eAASA,AAAI,aAAYQ,CAAhBR,MAAgBQ;;IAEnF,IAAMC,iBAAiB;QAACvB,YAAAA;QAAYE,QAAAA;IAAM;IAE1C,qBACI,qBAACsB,UAAI,CAACC,GAAG;QACLC,MAAK;QACLC,OAAOC,2BAAoB,CAACC,eAAe;QAC3CnC,KAAKA;OACDG,UAAU,iBAAiB;QAACI,WAAAA;QAAWE,OAAAA;OAAUoB,kBACjDlB;kBAEJ,cAAA,sBAACyB,aAAO;YAACC,YAAY;YAACxB,QAAQA;YAAQyB,UAAUxB;;8BAC5C,qBAACsB,aAAO,CAACG,MAAM;8BACX,cAAA,qBAACC,eAAS;wBACNC,WAAU;wBACVC,2BAAa,qBAACC,kCAAgB;4BAACC,QAAQ;;wBACvCC,KAAK;wBACLC,SAAS;mCAAMhC,UAAU;;kCAExBY,uBAAuBH,iBAAiB;;;8BAGjD,qBAACa,aAAO,CAACW,QAAQ;oBAACC,GAAG;8BACjB,cAAA,qBAACC,8CAA6B;wBAC1BC,cAAchD,MAAMsB,KAAK,CAACC,SAAS;wBACnCV,SAASA;wBACTG,UAAUA;wBACVrB,SAASA;wBACTQ,oBAAoBA;;;;;;AAM5C"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/table/table-filter/TableFilter.tsx"],"sourcesContent":["import {CrossSize16Px, FilterSize16Px} from '@coveord/plasma-react-icons';\nimport {ActionIcon, BoxProps, CompoundStylesApiProps, Factory, Grid, TextInput, factory, useProps} from '@mantine/core';\nimport {useDebouncedValue, useDidUpdate} from '@mantine/hooks';\nimport {ChangeEventHandler, MouseEventHandler, useEffect, useState} from 'react';\n\nimport {TableComponentsOrder} from '../Table';\nimport {useTableContext} from '../TableContext';\n\nexport type TableFilterStylesNames = 'filterRoot' | 'filterWrapper' | 'filterEmpty';\n\nexport interface TableFilterProps extends BoxProps, CompoundStylesApiProps<TableFilterFactory> {\n /**\n * The placeholder for the filter input\n *\n * @default \"Search by any field\"\n */\n placeholder?: string;\n}\n\nexport type TableFilterFactory = Factory<{\n props: TableFilterProps;\n ref: HTMLDivElement;\n stylesNames: TableFilterStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<TableFilterProps> = {\n placeholder: 'Search by any field',\n};\n\nexport const TableFilter = factory<TableFilterFactory>((props, ref) => {\n const {store, getStyles} = useTableContext();\n const {placeholder, classNames, className, styles, style, vars, ...others} = useProps(\n 'PlasmaTableFilter',\n defaultProps,\n props,\n );\n const [filter, setFilter] = useState(store.state.globalFilter);\n const [debounced, cancel] = useDebouncedValue(filter, 300);\n\n useDidUpdate(() => {\n store.setGlobalFilter(debounced);\n store.setPagination({pageIndex: 0, pageSize: store.state.pagination.pageSize});\n\n return cancel;\n }, [debounced]);\n\n const handleChange: ChangeEventHandler<HTMLInputElement> = (event) => {\n const {value} = event.currentTarget;\n setFilter(value);\n };\n\n const handleClear: MouseEventHandler<HTMLButtonElement> = () => {\n setFilter('');\n };\n\n useEffect(() => {\n setFilter(store.state.globalFilter);\n }, [store.state.globalFilter]);\n\n const stylesApiProps = {classNames, styles};\n\n return (\n <Grid.Col\n span=\"content\"\n order={TableComponentsOrder.Filter}\n ref={ref}\n {...getStyles('filterRoot', {className, style, ...stylesApiProps})}\n {...others}\n >\n <TextInput\n {...getStyles('filterWrapper', stylesApiProps)}\n placeholder={placeholder}\n autoComplete=\"off\"\n rightSection={\n filter ? (\n <ActionIcon onClick={handleClear} color=\"gray\" variant=\"subtle\">\n <CrossSize16Px height={16} />\n </ActionIcon>\n ) : (\n <FilterSize16Px height={16} {...getStyles('filterEmpty', stylesApiProps)} />\n )\n }\n value={filter}\n onChange={handleChange}\n />\n </Grid.Col>\n );\n});\n"],"names":["TableFilter","defaultProps","placeholder","factory","props","ref","useTableContext","store","getStyles","useProps","classNames","className","styles","style","vars","others","useState","state","globalFilter","filter","setFilter","useDebouncedValue","debounced","cancel","useDidUpdate","setGlobalFilter","setPagination","pageIndex","pageSize","pagination","handleChange","event","value","currentTarget","handleClear","useEffect","stylesApiProps","Grid","Col","span","order","TableComponentsOrder","Filter","TextInput","autoComplete","rightSection","ActionIcon","onClick","color","variant","CrossSize16Px","height","FilterSize16Px","onChange"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BA8BaA;;;eAAAA;;;;;;;;gCA9B+B;oBAC4D;qBAC1D;qBAC2B;qBAEtC;4BACL;AAoB9B,IAAMC,eAA0C;IAC5CC,aAAa;AACjB;AAEO,IAAMF,cAAcG,IAAAA,aAAO,EAAqB,SAACC,OAAOC;IAC3D,IAA2BC,mBAAAA,IAAAA,6BAAe,KAAnCC,QAAoBD,iBAApBC,OAAOC,YAAaF,iBAAbE;IACd,IAA6EC,YAAAA,IAAAA,cAAQ,EACjF,qBACAR,cACAG,QAHGF,cAAsEO,UAAtEP,aAAaQ,aAAyDD,UAAzDC,YAAYC,YAA6CF,UAA7CE,WAAWC,SAAkCH,UAAlCG,QAAQC,QAA0BJ,UAA1BI,OAAOC,OAAmBL,UAAnBK,MAASC,sCAAUN;QAAtEP;QAAaQ;QAAYC;QAAWC;QAAQC;QAAOC;;IAK1D,IAA4BE,+BAAAA,IAAAA,eAAQ,EAACT,MAAMU,KAAK,CAACC,YAAY,OAAtDC,SAAqBH,cAAbI,YAAaJ;IAC5B,IAA4BK,wCAAAA,IAAAA,wBAAiB,EAACF,QAAQ,UAA/CG,YAAqBD,uBAAVE,SAAUF;IAE5BG,IAAAA,mBAAY,EAAC;QACTjB,MAAMkB,eAAe,CAACH;QACtBf,MAAMmB,aAAa,CAAC;YAACC,WAAW;YAAGC,UAAUrB,MAAMU,KAAK,CAACY,UAAU,CAACD,QAAQ;QAAA;QAE5E,OAAOL;IACX,GAAG;QAACD;KAAU;IAEd,IAAMQ,eAAqD,SAACC;QACxD,IAAM,AAACC,QAASD,MAAME,aAAa,CAA5BD;QACPZ,UAAUY;IACd;IAEA,IAAME,cAAoD;QACtDd,UAAU;IACd;IAEAe,IAAAA,gBAAS,EAAC;QACNf,UAAUb,MAAMU,KAAK,CAACC,YAAY;IACtC,GAAG;QAACX,MAAMU,KAAK,CAACC,YAAY;KAAC;IAE7B,IAAMkB,iBAAiB;QAAC1B,YAAAA;QAAYE,QAAAA;IAAM;IAE1C,qBACI,qBAACyB,UAAI,CAACC,GAAG;QACLC,MAAK;QACLC,OAAOC,2BAAoB,CAACC,MAAM;QAClCrC,KAAKA;OACDG,UAAU,cAAc;QAACG,WAAAA;QAAWE,OAAAA;OAAUuB,kBAC9CrB;kBAEJ,cAAA,qBAAC4B,eAAS,8CACFnC,UAAU,iBAAiB4B;YAC/BlC,aAAaA;YACb0C,cAAa;YACbC,cACI1B,uBACI,qBAAC2B,gBAAU;gBAACC,SAASb;gBAAac,OAAM;gBAAOC,SAAQ;0BACnD,cAAA,qBAACC,+BAAa;oBAACC,QAAQ;;+BAG3B,qBAACC,gCAAc;gBAACD,QAAQ;eAAQ3C,UAAU,eAAe4B;YAGjEJ,OAAOb;YACPkC,UAAUvB;;;AAI1B"}
1
+ {"version":3,"sources":["../../../../../src/components/table/table-filter/TableFilter.tsx"],"sourcesContent":["import {CrossSize16Px, FilterSize16Px} from '@coveord/plasma-react-icons';\nimport {ActionIcon, BoxProps, CompoundStylesApiProps, Factory, Grid, TextInput, factory, useProps} from '@mantine/core';\nimport {useDebouncedValue, useDidUpdate} from '@mantine/hooks';\nimport {ChangeEventHandler, MouseEventHandler, useEffect, useState} from 'react';\n\nimport {TableComponentsOrder} from '../Table';\nimport {useTableContext} from '../TableContext';\n\nexport type TableFilterStylesNames = 'filterRoot' | 'filterWrapper' | 'filterEmpty';\n\nexport interface TableFilterProps extends BoxProps, CompoundStylesApiProps<TableFilterFactory> {\n /**\n * The placeholder for the filter input\n *\n * @default \"Search by any field\"\n */\n placeholder?: string;\n}\n\nexport type TableFilterFactory = Factory<{\n props: TableFilterProps;\n ref: HTMLDivElement;\n stylesNames: TableFilterStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<TableFilterProps> = {\n placeholder: 'Search by any field',\n};\n\nexport const TableFilter = factory<TableFilterFactory>((props, ref) => {\n const {store, getStyles} = useTableContext();\n const {placeholder, classNames, className, styles, style, vars, ...others} = useProps(\n 'PlasmaTableFilter',\n defaultProps,\n props,\n );\n const [filter, setFilter] = useState(store.state.globalFilter);\n const [debounced, cancel] = useDebouncedValue(filter, 300);\n\n useDidUpdate(() => {\n store.setGlobalFilter(debounced);\n store.setPagination({pageIndex: 0, pageSize: store.state.pagination.pageSize});\n\n return cancel;\n }, [debounced]);\n\n const handleChange: ChangeEventHandler<HTMLInputElement> = (event) => {\n const {value} = event.currentTarget;\n setFilter(value);\n };\n\n const handleClear: MouseEventHandler<HTMLButtonElement> = () => {\n setFilter('');\n };\n\n useEffect(() => {\n setFilter(store.state.globalFilter);\n }, [store.state.globalFilter]);\n\n const stylesApiProps = {classNames, styles};\n\n return (\n <Grid.Col\n span=\"content\"\n order={TableComponentsOrder.Filter}\n ref={ref}\n {...getStyles('filterRoot', {className, style, ...stylesApiProps})}\n {...others}\n >\n <TextInput\n {...getStyles('filterWrapper', stylesApiProps)}\n placeholder={placeholder}\n autoComplete=\"off\"\n rightSection={\n filter ? (\n <ActionIcon onClick={handleClear} color=\"gray\" variant=\"subtle\">\n <CrossSize16Px height={16} />\n </ActionIcon>\n ) : (\n <FilterSize16Px height={16} {...getStyles('filterEmpty', stylesApiProps)} />\n )\n }\n value={filter}\n onChange={handleChange}\n />\n </Grid.Col>\n );\n});\n"],"names":["TableFilter","defaultProps","placeholder","factory","props","ref","useTableContext","store","getStyles","useProps","classNames","className","styles","style","vars","others","useState","state","globalFilter","filter","setFilter","useDebouncedValue","debounced","cancel","useDidUpdate","setGlobalFilter","setPagination","pageIndex","pageSize","pagination","handleChange","event","value","currentTarget","handleClear","useEffect","stylesApiProps","Grid","Col","span","order","TableComponentsOrder","Filter","TextInput","autoComplete","rightSection","ActionIcon","onClick","color","variant","CrossSize16Px","height","FilterSize16Px","onChange"],"mappings":";;;;+BA8BaA;;;eAAAA;;;;;;;;gCA9B+B;oBAC4D;qBAC1D;qBAC2B;qBAEtC;4BACL;AAoB9B,IAAMC,eAA0C;IAC5CC,aAAa;AACjB;AAEO,IAAMF,cAAcG,IAAAA,aAAO,EAAqB,SAACC,OAAOC;IAC3D,IAA2BC,mBAAAA,IAAAA,6BAAe,KAAnCC,QAAoBD,iBAApBC,OAAOC,YAAaF,iBAAbE;IACd,IAA6EC,YAAAA,IAAAA,cAAQ,EACjF,qBACAR,cACAG,QAHGF,cAAsEO,UAAtEP,aAAaQ,aAAyDD,UAAzDC,YAAYC,YAA6CF,UAA7CE,WAAWC,SAAkCH,UAAlCG,QAAQC,QAA0BJ,UAA1BI,OAAOC,OAAmBL,UAAnBK,MAASC,sCAAUN;QAAtEP;QAAaQ;QAAYC;QAAWC;QAAQC;QAAOC;;IAK1D,IAA4BE,+BAAAA,IAAAA,eAAQ,EAACT,MAAMU,KAAK,CAACC,YAAY,OAAtDC,SAAqBH,cAAbI,YAAaJ;IAC5B,IAA4BK,wCAAAA,IAAAA,wBAAiB,EAACF,QAAQ,UAA/CG,YAAqBD,uBAAVE,SAAUF;IAE5BG,IAAAA,mBAAY,EAAC;QACTjB,MAAMkB,eAAe,CAACH;QACtBf,MAAMmB,aAAa,CAAC;YAACC,WAAW;YAAGC,UAAUrB,MAAMU,KAAK,CAACY,UAAU,CAACD,QAAQ;QAAA;QAE5E,OAAOL;IACX,GAAG;QAACD;KAAU;IAEd,IAAMQ,eAAqD,SAACC;QACxD,IAAM,AAACC,QAASD,MAAME,aAAa,CAA5BD;QACPZ,UAAUY;IACd;IAEA,IAAME,cAAoD;QACtDd,UAAU;IACd;IAEAe,IAAAA,gBAAS,EAAC;QACNf,UAAUb,MAAMU,KAAK,CAACC,YAAY;IACtC,GAAG;QAACX,MAAMU,KAAK,CAACC,YAAY;KAAC;IAE7B,IAAMkB,iBAAiB;QAAC1B,YAAAA;QAAYE,QAAAA;IAAM;IAE1C,qBACI,qBAACyB,UAAI,CAACC,GAAG;QACLC,MAAK;QACLC,OAAOC,2BAAoB,CAACC,MAAM;QAClCrC,KAAKA;OACDG,UAAU,cAAc;QAACG,WAAAA;QAAWE,OAAAA;OAAUuB,kBAC9CrB;kBAEJ,cAAA,qBAAC4B,eAAS,8CACFnC,UAAU,iBAAiB4B;YAC/BlC,aAAaA;YACb0C,cAAa;YACbC,cACI1B,uBACI,qBAAC2B,gBAAU;gBAACC,SAASb;gBAAac,OAAM;gBAAOC,SAAQ;0BACnD,cAAA,qBAACC,+BAAa;oBAACC,QAAQ;;+BAG3B,qBAACC,gCAAc;gBAACD,QAAQ;eAAQ3C,UAAU,eAAe4B;YAGjEJ,OAAOb;YACPkC,UAAUvB;;;AAI1B"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/table/table-footer/TableFooter.tsx"],"sourcesContent":["import {Group, GroupProps} from '@mantine/core';\nimport {FunctionComponent, ReactNode} from 'react';\n\nexport interface TableFooterProps extends GroupProps {\n children?: ReactNode;\n}\n\nexport const TableFooter: FunctionComponent<TableFooterProps> = ({...others}) => (\n <Group justify=\"space-between\" px=\"xl\" py=\"md\" {...others} />\n);\n"],"names":["TableFooter","others","Group","justify","px","py"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAOaA;;;eAAAA;;;;;;;oBAPmB;AAOzB,IAAMA,cAAmD;QAAKC;yBACjE,qBAACC,WAAK;QAACC,SAAQ;QAAgBC,IAAG;QAAKC,IAAG;OAASJ"}
1
+ {"version":3,"sources":["../../../../../src/components/table/table-footer/TableFooter.tsx"],"sourcesContent":["import {Group, GroupProps} from '@mantine/core';\nimport {FunctionComponent, ReactNode} from 'react';\n\nexport interface TableFooterProps extends GroupProps {\n children?: ReactNode;\n}\n\nexport const TableFooter: FunctionComponent<TableFooterProps> = ({...others}) => (\n <Group justify=\"space-between\" px=\"xl\" py=\"md\" {...others} />\n);\n"],"names":["TableFooter","others","Group","justify","px","py"],"mappings":";;;;+BAOaA;;;eAAAA;;;;;;;oBAPmB;AAOzB,IAAMA,cAAmD;QAAKC;yBACjE,qBAACC,WAAK;QAACC,SAAQ;QAAgBC,IAAG;QAAKC,IAAG;OAASJ"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/table/table-header/TableHeader.tsx"],"sourcesContent":["import {CrossSize16Px} from '@coveord/plasma-react-icons';\nimport {Box, BoxProps, CompoundStylesApiProps, factory, Factory, Grid, Tooltip, useProps} from '@mantine/core';\nimport {ReactNode} from 'react';\n\nimport {Button} from '../../button';\nimport {TableLayoutControl} from '../layouts/TableLayoutControl';\nimport {TableComponentsOrder} from '../Table';\nimport {TableHeaderActions} from '../table-actions';\nimport {useTableContext} from '../TableContext';\n\nexport type TableHeaderStylesNames = 'headerRoot' | 'headerGrid' | 'headerGridInner' | 'headerCol';\n\nexport interface TableHeaderProps\n extends Omit<BoxProps, 'classNames' | 'styles' | 'vars'>,\n CompoundStylesApiProps<TableHeaderFactory> {\n /* Children of header (ie: actions, datepicker, etc.) */\n children?: ReactNode;\n unselectAllLabel?: string;\n selectedCountLabel?: (count: number) => string;\n /**\n * Whether to show actions when rows are selected\n *\n * default true\n */\n showActions?: boolean;\n}\n\nexport type TableHeaderFactory = Factory<{\n props: TableHeaderProps;\n ref: HTMLDivElement;\n stylesNames: TableHeaderStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<TableHeaderProps> = {\n unselectAllLabel: 'Unselect all',\n selectedCountLabel: (count) => `${count} selected`,\n showActions: true,\n};\n\nexport const TableHeader = factory<TableHeaderFactory>((props, ref) => {\n const {store, getStyles} = useTableContext();\n const {\n showActions,\n unselectAllLabel,\n selectedCountLabel,\n children,\n classNames,\n className,\n styles,\n style,\n vars: _vars,\n ...others\n } = useProps('PlasmaTableHeader', defaultProps, props);\n const selectedRows = store.getSelectedRows();\n\n const stylesApiProps = {classNames, styles};\n const innerStyles = getStyles('headerGridInner', stylesApiProps);\n const gridStyles = getStyles('headerGrid', stylesApiProps);\n\n return (\n <Box ref={ref} {...getStyles('headerRoot', {className, style, ...stylesApiProps})} {...others}>\n <Grid\n justify=\"flex-start\"\n align=\"center\"\n classNames={{inner: innerStyles.className, root: gridStyles.className}}\n styles={{inner: innerStyles.style, root: gridStyles.style}}\n >\n {store.multiRowSelectionEnabled && selectedRows.length > 0 ? (\n <Grid.Col\n span=\"auto\"\n {...getStyles('headerCol', stylesApiProps)}\n order={TableComponentsOrder.MultiSelectInfo}\n >\n <Tooltip label={unselectAllLabel}>\n <Button\n onClick={store.clearRowSelection}\n variant=\"subtle\"\n disabled={!store.rowSelectionEnabled}\n leftSection={<CrossSize16Px height={16} />}\n >\n {selectedCountLabel(selectedRows.length)}\n </Button>\n </Tooltip>\n </Grid.Col>\n ) : null}\n {children}\n {showActions ? <TableHeaderActions /> : null}\n <TableLayoutControl />\n </Grid>\n </Box>\n );\n});\n"],"names":["TableHeader","defaultProps","unselectAllLabel","selectedCountLabel","count","showActions","factory","props","ref","useTableContext","store","getStyles","useProps","children","classNames","className","styles","style","vars","_vars","others","selectedRows","getSelectedRows","stylesApiProps","innerStyles","gridStyles","Box","Grid","justify","align","inner","root","multiRowSelectionEnabled","length","Col","span","order","TableComponentsOrder","MultiSelectInfo","Tooltip","label","Button","onClick","clearRowSelection","variant","disabled","rowSelectionEnabled","leftSection","CrossSize16Px","height","TableHeaderActions","TableLayoutControl"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAwCaA;;;eAAAA;;;;;;;gCAxCe;oBACmE;sBAG1E;kCACY;qBACE;4BACF;4BACH;AA0B9B,IAAMC,eAA0C;IAC5CC,kBAAkB;IAClBC,oBAAoB,SAACC;eAAU,AAAC,GAAQ,OAANA,OAAM;;IACxCC,aAAa;AACjB;AAEO,IAAML,cAAcM,IAAAA,aAAO,EAAqB,SAACC,OAAOC;IAC3D,IAA2BC,mBAAAA,IAAAA,6BAAe,KAAnCC,QAAoBD,iBAApBC,OAAOC,YAAaF,iBAAbE;IACd,IAWIC,YAAAA,IAAAA,cAAQ,EAAC,qBAAqBX,cAAcM,QAV5CF,cAUAO,UAVAP,aACAH,mBASAU,UATAV,kBACAC,qBAQAS,UARAT,oBACAU,WAOAD,UAPAC,UACAC,aAMAF,UANAE,YACAC,YAKAH,UALAG,WACAC,SAIAJ,UAJAI,QACAC,QAGAL,UAHAK,OACAC,AAAMC,QAENP,UAFAM,MACGE,sCACHR;QAVAP;QACAH;QACAC;QACAU;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGJ,IAAMG,eAAeX,MAAMY,eAAe;IAE1C,IAAMC,iBAAiB;QAACT,YAAAA;QAAYE,QAAAA;IAAM;IAC1C,IAAMQ,cAAcb,UAAU,mBAAmBY;IACjD,IAAME,aAAad,UAAU,cAAcY;IAE3C,qBACI,qBAACG,SAAG;QAAClB,KAAKA;OAASG,UAAU,cAAc;QAACI,WAAAA;QAAWE,OAAAA;OAAUM,kBAAsBH;kBACnF,cAAA,sBAACO,UAAI;YACDC,SAAQ;YACRC,OAAM;YACNf,YAAY;gBAACgB,OAAON,YAAYT,SAAS;gBAAEgB,MAAMN,WAAWV,SAAS;YAAA;YACrEC,QAAQ;gBAACc,OAAON,YAAYP,KAAK;gBAAEc,MAAMN,WAAWR,KAAK;YAAA;;gBAExDP,MAAMsB,wBAAwB,IAAIX,aAAaY,MAAM,GAAG,kBACrD,qBAACN,UAAI,CAACO,GAAG;oBACLC,MAAK;mBACDxB,UAAU,aAAaY;oBAC3Ba,OAAOC,2BAAoB,CAACC,eAAe;8BAE3C,cAAA,qBAACC,aAAO;wBAACC,OAAOtC;kCACZ,cAAA,qBAACuC,cAAM;4BACHC,SAAShC,MAAMiC,iBAAiB;4BAChCC,SAAQ;4BACRC,UAAU,CAACnC,MAAMoC,mBAAmB;4BACpCC,2BAAa,qBAACC,+BAAa;gCAACC,QAAQ;;sCAEnC9C,mBAAmBkB,aAAaY,MAAM;;;sBAInD;gBACHpB;gBACAR,4BAAc,qBAAC6C,gCAAkB,QAAM;8BACxC,qBAACC,sCAAkB;;;;AAInC"}
1
+ {"version":3,"sources":["../../../../../src/components/table/table-header/TableHeader.tsx"],"sourcesContent":["import {CrossSize16Px} from '@coveord/plasma-react-icons';\nimport {Box, BoxProps, CompoundStylesApiProps, factory, Factory, Grid, Tooltip, useProps} from '@mantine/core';\nimport {ReactNode} from 'react';\n\nimport {Button} from '../../button';\nimport {TableLayoutControl} from '../layouts/TableLayoutControl';\nimport {TableComponentsOrder} from '../Table';\nimport {TableHeaderActions} from '../table-actions';\nimport {useTableContext} from '../TableContext';\n\nexport type TableHeaderStylesNames = 'headerRoot' | 'headerGrid' | 'headerGridInner' | 'headerCol';\n\nexport interface TableHeaderProps\n extends Omit<BoxProps, 'classNames' | 'styles' | 'vars'>,\n CompoundStylesApiProps<TableHeaderFactory> {\n /* Children of header (ie: actions, datepicker, etc.) */\n children?: ReactNode;\n unselectAllLabel?: string;\n selectedCountLabel?: (count: number) => string;\n /**\n * Whether to show actions when rows are selected\n *\n * default true\n */\n showActions?: boolean;\n}\n\nexport type TableHeaderFactory = Factory<{\n props: TableHeaderProps;\n ref: HTMLDivElement;\n stylesNames: TableHeaderStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<TableHeaderProps> = {\n unselectAllLabel: 'Unselect all',\n selectedCountLabel: (count) => `${count} selected`,\n showActions: true,\n};\n\nexport const TableHeader = factory<TableHeaderFactory>((props, ref) => {\n const {store, getStyles} = useTableContext();\n const {\n showActions,\n unselectAllLabel,\n selectedCountLabel,\n children,\n classNames,\n className,\n styles,\n style,\n vars: _vars,\n ...others\n } = useProps('PlasmaTableHeader', defaultProps, props);\n const selectedRows = store.getSelectedRows();\n\n const stylesApiProps = {classNames, styles};\n const innerStyles = getStyles('headerGridInner', stylesApiProps);\n const gridStyles = getStyles('headerGrid', stylesApiProps);\n\n return (\n <Box ref={ref} {...getStyles('headerRoot', {className, style, ...stylesApiProps})} {...others}>\n <Grid\n justify=\"flex-start\"\n align=\"center\"\n classNames={{inner: innerStyles.className, root: gridStyles.className}}\n styles={{inner: innerStyles.style, root: gridStyles.style}}\n >\n {store.multiRowSelectionEnabled && selectedRows.length > 0 ? (\n <Grid.Col\n span=\"auto\"\n {...getStyles('headerCol', stylesApiProps)}\n order={TableComponentsOrder.MultiSelectInfo}\n >\n <Tooltip label={unselectAllLabel}>\n <Button\n onClick={store.clearRowSelection}\n variant=\"subtle\"\n disabled={!store.rowSelectionEnabled}\n leftSection={<CrossSize16Px height={16} />}\n >\n {selectedCountLabel(selectedRows.length)}\n </Button>\n </Tooltip>\n </Grid.Col>\n ) : null}\n {children}\n {showActions ? <TableHeaderActions /> : null}\n <TableLayoutControl />\n </Grid>\n </Box>\n );\n});\n"],"names":["TableHeader","defaultProps","unselectAllLabel","selectedCountLabel","count","showActions","factory","props","ref","useTableContext","store","getStyles","useProps","children","classNames","className","styles","style","vars","_vars","others","selectedRows","getSelectedRows","stylesApiProps","innerStyles","gridStyles","Box","Grid","justify","align","inner","root","multiRowSelectionEnabled","length","Col","span","order","TableComponentsOrder","MultiSelectInfo","Tooltip","label","Button","onClick","clearRowSelection","variant","disabled","rowSelectionEnabled","leftSection","CrossSize16Px","height","TableHeaderActions","TableLayoutControl"],"mappings":";;;;+BAwCaA;;;eAAAA;;;;;;;gCAxCe;oBACmE;sBAG1E;kCACY;qBACE;4BACF;4BACH;AA0B9B,IAAMC,eAA0C;IAC5CC,kBAAkB;IAClBC,oBAAoB,SAACC;eAAU,AAAC,GAAQ,OAANA,OAAM;;IACxCC,aAAa;AACjB;AAEO,IAAML,cAAcM,IAAAA,aAAO,EAAqB,SAACC,OAAOC;IAC3D,IAA2BC,mBAAAA,IAAAA,6BAAe,KAAnCC,QAAoBD,iBAApBC,OAAOC,YAAaF,iBAAbE;IACd,IAWIC,YAAAA,IAAAA,cAAQ,EAAC,qBAAqBX,cAAcM,QAV5CF,cAUAO,UAVAP,aACAH,mBASAU,UATAV,kBACAC,qBAQAS,UARAT,oBACAU,WAOAD,UAPAC,UACAC,aAMAF,UANAE,YACAC,YAKAH,UALAG,WACAC,SAIAJ,UAJAI,QACAC,QAGAL,UAHAK,OACAC,AAAMC,QAENP,UAFAM,MACGE,sCACHR;QAVAP;QACAH;QACAC;QACAU;QACAC;QACAC;QACAC;QACAC;QACAC;;IAGJ,IAAMG,eAAeX,MAAMY,eAAe;IAE1C,IAAMC,iBAAiB;QAACT,YAAAA;QAAYE,QAAAA;IAAM;IAC1C,IAAMQ,cAAcb,UAAU,mBAAmBY;IACjD,IAAME,aAAad,UAAU,cAAcY;IAE3C,qBACI,qBAACG,SAAG;QAAClB,KAAKA;OAASG,UAAU,cAAc;QAACI,WAAAA;QAAWE,OAAAA;OAAUM,kBAAsBH;kBACnF,cAAA,sBAACO,UAAI;YACDC,SAAQ;YACRC,OAAM;YACNf,YAAY;gBAACgB,OAAON,YAAYT,SAAS;gBAAEgB,MAAMN,WAAWV,SAAS;YAAA;YACrEC,QAAQ;gBAACc,OAAON,YAAYP,KAAK;gBAAEc,MAAMN,WAAWR,KAAK;YAAA;;gBAExDP,MAAMsB,wBAAwB,IAAIX,aAAaY,MAAM,GAAG,kBACrD,qBAACN,UAAI,CAACO,GAAG;oBACLC,MAAK;mBACDxB,UAAU,aAAaY;oBAC3Ba,OAAOC,2BAAoB,CAACC,eAAe;8BAE3C,cAAA,qBAACC,aAAO;wBAACC,OAAOtC;kCACZ,cAAA,qBAACuC,cAAM;4BACHC,SAAShC,MAAMiC,iBAAiB;4BAChCC,SAAQ;4BACRC,UAAU,CAACnC,MAAMoC,mBAAmB;4BACpCC,2BAAa,qBAACC,+BAAa;gCAACC,QAAQ;;sCAEnC9C,mBAAmBkB,aAAaY,MAAM;;;sBAInD;gBACHpB;gBACAR,4BAAc,qBAAC6C,gCAAkB,QAAM;8BACxC,qBAACC,sCAAkB;;;;AAInC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Th.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/table-header/Th.tsx"],"names":[],"mappings":"AACA,OAAO,EAAC,QAAQ,EAAE,sBAAsB,EAAE,OAAO,EAAkC,MAAM,eAAe,CAAC;AACzG,OAAO,EAAC,MAAM,EAAkC,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAiB,aAAa,EAAE,YAAY,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AAC5E,OAAO,EAAC,0BAA0B,EAAW,MAAM,gBAAgB,CAAC;AAGpE,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAEtC,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;AAEhD,MAAM,WAAW,OAAO,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,QAAQ,EAAE,sBAAsB,CAAC,cAAc,CAAC;IAC1F,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;CAC5E;AAcD,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC;IACjC,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,oBAAoB,CAAC;IAC1B,WAAW,EAAE,kBAAkB,CAAC;IAChC,QAAQ,EAAE,IAAI,CAAC;CAClB,CAAC,CAAC;AAMH,eAAO,MAAM,EAAE;eAAe,QAAQ,CAAC,CAAC,GAAG;QAAC,GAAG,CAAC,EAAE,aAAa,oBAAoB,CAAC,CAAA;KAAC;;eAV1E,OAAO;aACT,oBAAoB;qBACZ,kBAAkB;kBACrB,IAAI;;CAkEjB,CAAC"}
1
+ {"version":3,"file":"Th.d.ts","sourceRoot":"","sources":["../../../../../src/components/table/table-header/Th.tsx"],"names":[],"mappings":"AACA,OAAO,EAAC,QAAQ,EAAE,sBAAsB,EAAE,OAAO,EAAkC,MAAM,eAAe,CAAC;AACzG,OAAO,EAAC,MAAM,EAAkC,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAiB,aAAa,EAAE,YAAY,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AAC5E,OAAO,EAAC,0BAA0B,EAAW,MAAM,gBAAgB,CAAC;AAGpE,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAEtC,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;AAEhD,MAAM,WAAW,OAAO,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,QAAQ,EAAE,sBAAsB,CAAC,cAAc,CAAC;IAC1F,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;CAC5E;AAcD,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC;IACjC,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,oBAAoB,CAAC;IAC1B,WAAW,EAAE,kBAAkB,CAAC;IAChC,QAAQ,EAAE,IAAI,CAAC;CAClB,CAAC,CAAC;AAMH,eAAO,MAAM,EAAE;KAAI,CAAC,SAAU,OAAO,CAAC,CAAC,CAAC,GAAG;QAAC,GAAG,CAAC,EAAE,YAAY,CAAC,oBAAoB,CAAC,CAAA;KAAC;;eAV1E,OAAO;aACT,oBAAoB;qBACZ,kBAAkB;kBACrB,IAAI;;CAkEjB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/table/table-header/Th.tsx"],"sourcesContent":["import {ArrowDownSize16Px, ArrowUpSize16Px, DoubleArrowHeadVSize16Px} from '@coveord/plasma-react-icons';\nimport {BoxProps, CompoundStylesApiProps, Factory, Group, UnstyledButton, useProps} from '@mantine/core';\nimport {Header, defaultColumnSizing, flexRender} from '@tanstack/react-table';\nimport {AriaAttributes, ComponentType, ForwardedRef, SVGProps} from 'react';\nimport {CustomComponentThemeExtend, identity} from '../../../utils';\nimport {useTableContext} from '../TableContext';\n\nexport type TableThStylesNames = 'th';\n\nexport type SortState = 'asc' | 'desc' | 'none';\n\nexport interface ThProps<T = unknown> extends BoxProps, CompoundStylesApiProps<TableThFactory> {\n header: Header<T, unknown>;\n sortingIcons?: Record<SortState, ComponentType<SVGProps<SVGSVGElement>>>;\n}\n\nconst SortingIcons: ThProps['sortingIcons'] = {\n asc: ArrowUpSize16Px,\n desc: ArrowDownSize16Px,\n none: DoubleArrowHeadVSize16Px,\n};\n\nconst SortingLabels: Record<SortState, AriaAttributes['aria-sort']> = {\n asc: 'ascending',\n desc: 'descending',\n none: 'none',\n} as const;\n\nexport type TableThFactory = Factory<{\n props: ThProps;\n ref: HTMLTableCellElement;\n stylesNames: TableThStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<ThProps> = {\n sortingIcons: SortingIcons,\n};\n\nexport const Th = <T,>(props: ThProps<T> & {ref?: ForwardedRef<HTMLTableCellElement>}) => {\n const {getStyles} = useTableContext();\n const {header, sortingIcons, classNames, className, styles, style, vars, ...others} = useProps(\n 'PlasmaTableTh',\n defaultProps as Partial<ThProps<T>>,\n props,\n );\n\n const columnSizing = {\n ...defaultColumnSizing,\n size: header.column.columnDef.size,\n minSize: header.column.columnDef.minSize,\n maxSize: header.column.columnDef.maxSize,\n };\n\n const thStyles = getStyles('th', {classNames, className, styles, style});\n\n if (header.isPlaceholder) {\n return null;\n }\n\n if (!header.column.getCanSort()) {\n return (\n <th\n className={thStyles.className}\n style={{\n ...thStyles.style,\n width: columnSizing.size ?? 'auto',\n minWidth: columnSizing.minSize,\n maxWidth: columnSizing.maxSize,\n }}\n {...others}\n >\n <Group wrap=\"nowrap\" gap=\"xs\">\n {flexRender(header.column.columnDef.header, header.getContext())}\n </Group>\n </th>\n );\n }\n\n const onSort = header.column.getToggleSortingHandler();\n const sortingOrder = header.column.getIsSorted() || 'none';\n const Icon = sortingIcons[sortingOrder];\n\n return (\n <UnstyledButton\n component=\"th\"\n onClick={onSort}\n aria-sort={SortingLabels[sortingOrder]}\n data-control={true}\n {...thStyles}\n {...others}\n >\n <Group wrap=\"nowrap\" gap=\"xs\">\n {flexRender(header.column.columnDef.header, header.getContext())}\n <Icon height={16} width={16} />\n </Group>\n </UnstyledButton>\n );\n};\nTh.extend = identity as CustomComponentThemeExtend<TableThFactory>;\n"],"names":["Th","SortingIcons","asc","ArrowUpSize16Px","desc","ArrowDownSize16Px","none","DoubleArrowHeadVSize16Px","SortingLabels","defaultProps","sortingIcons","props","getStyles","useTableContext","useProps","header","classNames","className","styles","style","vars","others","columnSizing","defaultColumnSizing","size","column","columnDef","minSize","maxSize","thStyles","isPlaceholder","getCanSort","th","width","minWidth","maxWidth","Group","wrap","gap","flexRender","getContext","onSort","getToggleSortingHandler","sortingOrder","getIsSorted","Icon","UnstyledButton","component","onClick","aria-sort","data-control","height","extend","identity"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAuCaA;;;eAAAA;;;;;;;gCAvC8D;oBACc;0BACnC;qBAEH;4BACrB;AAW9B,IAAMC,eAAwC;IAC1CC,KAAKC,iCAAe;IACpBC,MAAMC,mCAAiB;IACvBC,MAAMC,0CAAwB;AAClC;AAEA,IAAMC,gBAAgE;IAClEN,KAAK;IACLE,MAAM;IACNE,MAAM;AACV;AASA,IAAMG,eAAiC;IACnCC,cAAcT;AAClB;AAEO,IAAMD,KAAK,SAAKW;IACnB,IAAM,AAACC,YAAaC,IAAAA,6BAAe,IAA5BD;IACP,IAAsFE,YAAAA,IAAAA,cAAQ,EAC1F,iBACAL,cACAE,QAHGI,SAA+ED,UAA/EC,QAAQL,eAAuEI,UAAvEJ,cAAcM,aAAyDF,UAAzDE,YAAYC,YAA6CH,UAA7CG,WAAWC,SAAkCJ,UAAlCI,QAAQC,QAA0BL,UAA1BK,OAAOC,OAAmBN,UAAnBM,MAASC,sCAAUP;QAA/EC;QAAQL;QAAcM;QAAYC;QAAWC;QAAQC;QAAOC;;IAMnE,IAAME,eAAe,4CACdC,+BAAmB;QACtBC,MAAMT,OAAOU,MAAM,CAACC,SAAS,CAACF,IAAI;QAClCG,SAASZ,OAAOU,MAAM,CAACC,SAAS,CAACC,OAAO;QACxCC,SAASb,OAAOU,MAAM,CAACC,SAAS,CAACE,OAAO;;IAG5C,IAAMC,WAAWjB,UAAU,MAAM;QAACI,YAAAA;QAAYC,WAAAA;QAAWC,QAAAA;QAAQC,OAAAA;IAAK;IAEtE,IAAIJ,OAAOe,aAAa,EAAE;QACtB,OAAO;IACX;IAEA,IAAI,CAACf,OAAOU,MAAM,CAACM,UAAU,IAAI;YAMVT;QALnB,qBACI,qBAACU;YACGf,WAAWY,SAASZ,SAAS;YAC7BE,OAAO,4CACAU,SAASV,KAAK;gBACjBc,OAAOX,CAAAA,qBAAAA,aAAaE,IAAI,cAAjBF,gCAAAA,qBAAqB;gBAC5BY,UAAUZ,aAAaK,OAAO;gBAC9BQ,UAAUb,aAAaM,OAAO;;WAE9BP;sBAEJ,cAAA,qBAACe,WAAK;gBAACC,MAAK;gBAASC,KAAI;0BACpBC,IAAAA,sBAAU,EAACxB,OAAOU,MAAM,CAACC,SAAS,CAACX,MAAM,EAAEA,OAAOyB,UAAU;;;IAI7E;IAEA,IAAMC,SAAS1B,OAAOU,MAAM,CAACiB,uBAAuB;IACpD,IAAMC,eAAe5B,OAAOU,MAAM,CAACmB,WAAW,MAAM;IACpD,IAAMC,OAAOnC,YAAY,CAACiC,aAAa;IAEvC,qBACI,qBAACG,oBAAc;QACXC,WAAU;QACVC,SAASP;QACTQ,aAAWzC,aAAa,CAACmC,aAAa;QACtCO,gBAAc;OACVrB,UACAR;kBAEJ,cAAA,sBAACe,WAAK;YAACC,MAAK;YAASC,KAAI;;gBACpBC,IAAAA,sBAAU,EAACxB,OAAOU,MAAM,CAACC,SAAS,CAACX,MAAM,EAAEA,OAAOyB,UAAU;8BAC7D,qBAACK;oBAAKM,QAAQ;oBAAIlB,OAAO;;;;;AAIzC;AACAjC,GAAGoD,MAAM,GAAGC,eAAQ"}
1
+ {"version":3,"sources":["../../../../../src/components/table/table-header/Th.tsx"],"sourcesContent":["import {ArrowDownSize16Px, ArrowUpSize16Px, DoubleArrowHeadVSize16Px} from '@coveord/plasma-react-icons';\nimport {BoxProps, CompoundStylesApiProps, Factory, Group, UnstyledButton, useProps} from '@mantine/core';\nimport {Header, defaultColumnSizing, flexRender} from '@tanstack/react-table';\nimport {AriaAttributes, ComponentType, ForwardedRef, SVGProps} from 'react';\nimport {CustomComponentThemeExtend, identity} from '../../../utils';\nimport {useTableContext} from '../TableContext';\n\nexport type TableThStylesNames = 'th';\n\nexport type SortState = 'asc' | 'desc' | 'none';\n\nexport interface ThProps<T = unknown> extends BoxProps, CompoundStylesApiProps<TableThFactory> {\n header: Header<T, unknown>;\n sortingIcons?: Record<SortState, ComponentType<SVGProps<SVGSVGElement>>>;\n}\n\nconst SortingIcons: ThProps['sortingIcons'] = {\n asc: ArrowUpSize16Px,\n desc: ArrowDownSize16Px,\n none: DoubleArrowHeadVSize16Px,\n};\n\nconst SortingLabels: Record<SortState, AriaAttributes['aria-sort']> = {\n asc: 'ascending',\n desc: 'descending',\n none: 'none',\n} as const;\n\nexport type TableThFactory = Factory<{\n props: ThProps;\n ref: HTMLTableCellElement;\n stylesNames: TableThStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<ThProps> = {\n sortingIcons: SortingIcons,\n};\n\nexport const Th = <T,>(props: ThProps<T> & {ref?: ForwardedRef<HTMLTableCellElement>}) => {\n const {getStyles} = useTableContext();\n const {header, sortingIcons, classNames, className, styles, style, vars, ...others} = useProps(\n 'PlasmaTableTh',\n defaultProps as Partial<ThProps<T>>,\n props,\n );\n\n const columnSizing = {\n ...defaultColumnSizing,\n size: header.column.columnDef.size,\n minSize: header.column.columnDef.minSize,\n maxSize: header.column.columnDef.maxSize,\n };\n\n const thStyles = getStyles('th', {classNames, className, styles, style});\n\n if (header.isPlaceholder) {\n return null;\n }\n\n if (!header.column.getCanSort()) {\n return (\n <th\n className={thStyles.className}\n style={{\n ...thStyles.style,\n width: columnSizing.size ?? 'auto',\n minWidth: columnSizing.minSize,\n maxWidth: columnSizing.maxSize,\n }}\n {...others}\n >\n <Group wrap=\"nowrap\" gap=\"xs\">\n {flexRender(header.column.columnDef.header, header.getContext())}\n </Group>\n </th>\n );\n }\n\n const onSort = header.column.getToggleSortingHandler();\n const sortingOrder = header.column.getIsSorted() || 'none';\n const Icon = sortingIcons[sortingOrder];\n\n return (\n <UnstyledButton\n component=\"th\"\n onClick={onSort}\n aria-sort={SortingLabels[sortingOrder]}\n data-control={true}\n {...thStyles}\n {...others}\n >\n <Group wrap=\"nowrap\" gap=\"xs\">\n {flexRender(header.column.columnDef.header, header.getContext())}\n <Icon height={16} width={16} />\n </Group>\n </UnstyledButton>\n );\n};\nTh.extend = identity as CustomComponentThemeExtend<TableThFactory>;\n"],"names":["Th","SortingIcons","asc","ArrowUpSize16Px","desc","ArrowDownSize16Px","none","DoubleArrowHeadVSize16Px","SortingLabels","defaultProps","sortingIcons","props","getStyles","useTableContext","useProps","header","classNames","className","styles","style","vars","others","columnSizing","defaultColumnSizing","size","column","columnDef","minSize","maxSize","thStyles","isPlaceholder","getCanSort","th","width","minWidth","maxWidth","Group","wrap","gap","flexRender","getContext","onSort","getToggleSortingHandler","sortingOrder","getIsSorted","Icon","UnstyledButton","component","onClick","aria-sort","data-control","height","extend","identity"],"mappings":";;;;+BAuCaA;;;eAAAA;;;;;;;gCAvC8D;oBACc;0BACnC;qBAEH;4BACrB;AAW9B,IAAMC,eAAwC;IAC1CC,KAAKC,iCAAe;IACpBC,MAAMC,mCAAiB;IACvBC,MAAMC,0CAAwB;AAClC;AAEA,IAAMC,gBAAgE;IAClEN,KAAK;IACLE,MAAM;IACNE,MAAM;AACV;AASA,IAAMG,eAAiC;IACnCC,cAAcT;AAClB;AAEO,IAAMD,KAAK,SAAKW;IACnB,IAAM,AAACC,YAAaC,IAAAA,6BAAe,IAA5BD;IACP,IAAsFE,YAAAA,IAAAA,cAAQ,EAC1F,iBACAL,cACAE,QAHGI,SAA+ED,UAA/EC,QAAQL,eAAuEI,UAAvEJ,cAAcM,aAAyDF,UAAzDE,YAAYC,YAA6CH,UAA7CG,WAAWC,SAAkCJ,UAAlCI,QAAQC,QAA0BL,UAA1BK,OAAOC,OAAmBN,UAAnBM,MAASC,sCAAUP;QAA/EC;QAAQL;QAAcM;QAAYC;QAAWC;QAAQC;QAAOC;;IAMnE,IAAME,eAAe,4CACdC,+BAAmB;QACtBC,MAAMT,OAAOU,MAAM,CAACC,SAAS,CAACF,IAAI;QAClCG,SAASZ,OAAOU,MAAM,CAACC,SAAS,CAACC,OAAO;QACxCC,SAASb,OAAOU,MAAM,CAACC,SAAS,CAACE,OAAO;;IAG5C,IAAMC,WAAWjB,UAAU,MAAM;QAACI,YAAAA;QAAYC,WAAAA;QAAWC,QAAAA;QAAQC,OAAAA;IAAK;IAEtE,IAAIJ,OAAOe,aAAa,EAAE;QACtB,OAAO;IACX;IAEA,IAAI,CAACf,OAAOU,MAAM,CAACM,UAAU,IAAI;YAMVT;QALnB,qBACI,qBAACU;YACGf,WAAWY,SAASZ,SAAS;YAC7BE,OAAO,4CACAU,SAASV,KAAK;gBACjBc,OAAOX,CAAAA,qBAAAA,aAAaE,IAAI,cAAjBF,gCAAAA,qBAAqB;gBAC5BY,UAAUZ,aAAaK,OAAO;gBAC9BQ,UAAUb,aAAaM,OAAO;;WAE9BP;sBAEJ,cAAA,qBAACe,WAAK;gBAACC,MAAK;gBAASC,KAAI;0BACpBC,IAAAA,sBAAU,EAACxB,OAAOU,MAAM,CAACC,SAAS,CAACX,MAAM,EAAEA,OAAOyB,UAAU;;;IAI7E;IAEA,IAAMC,SAAS1B,OAAOU,MAAM,CAACiB,uBAAuB;IACpD,IAAMC,eAAe5B,OAAOU,MAAM,CAACmB,WAAW,MAAM;IACpD,IAAMC,OAAOnC,YAAY,CAACiC,aAAa;IAEvC,qBACI,qBAACG,oBAAc;QACXC,WAAU;QACVC,SAASP;QACTQ,aAAWzC,aAAa,CAACmC,aAAa;QACtCO,gBAAc;OACVrB,UACAR;kBAEJ,cAAA,sBAACe,WAAK;YAACC,MAAK;YAASC,KAAI;;gBACpBC,IAAAA,sBAAU,EAACxB,OAAOU,MAAM,CAACC,SAAS,CAACX,MAAM,EAAEA,OAAOyB,UAAU;8BAC7D,qBAACK;oBAAKM,QAAQ;oBAAIlB,OAAO;;;;;AAIzC;AACAjC,GAAGoD,MAAM,GAAGC,eAAQ"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/table/table-last-updated/TableLastUpdated.tsx"],"sourcesContent":["import {BoxProps, CompoundStylesApiProps, factory, Factory, Group, Text, useProps} from '@mantine/core';\nimport {useDidUpdate} from '@mantine/hooks';\nimport dayjs from 'dayjs';\nimport {useState} from 'react';\nimport {useTableContext} from '../TableContext';\n\nexport type TableLastUpdatedStylesNames = 'lastUpdatedRoot' | 'lastUpdatedLabel';\n\nexport interface TableLastUpdatedProps extends BoxProps, CompoundStylesApiProps<TableLastUpdatedFactory> {\n /**\n * Label to contextualize the date\n *\n * @default \"Last update:\"\n */\n label?: string;\n}\nexport type TableLastUpdatedFactory = Factory<{\n props: TableLastUpdatedProps;\n ref: HTMLDivElement;\n stylesNames: TableLastUpdatedStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<TableLastUpdatedProps> = {\n label: 'Last update:',\n};\n\nexport const TableLastUpdated = factory<TableLastUpdatedFactory>((props, ref) => {\n const {table, getStyles} = useTableContext();\n const {label, classNames, className, styles, style, vars, ...others} = useProps(\n 'PlasmaTableLastUpdated',\n defaultProps,\n props,\n );\n const [time, setTime] = useState(new Date());\n\n useDidUpdate(() => {\n setTime(new Date());\n }, [table.options.data]);\n\n const stylesApiProps = {classNames, styles};\n\n return (\n <Group\n px=\"xl\"\n justify=\"right\"\n ref={ref}\n {...getStyles('lastUpdatedRoot', {className, style, ...stylesApiProps})}\n {...others}\n >\n <Text size=\"xs\" {...getStyles('lastUpdatedLabel', {className, style, ...stylesApiProps})}>\n {label}\n <span role=\"timer\">{dayjs(time).format('h:mm:ss A')}</span>\n </Text>\n </Group>\n );\n});\n"],"names":["TableLastUpdated","defaultProps","label","factory","props","ref","useTableContext","table","getStyles","useProps","classNames","className","styles","style","vars","others","useState","Date","time","setTime","useDidUpdate","options","data","stylesApiProps","Group","px","justify","Text","size","span","role","dayjs","format"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BA2BaA;;;eAAAA;;;;;;;;;oBA3B2E;qBAC7D;8DACT;qBACK;4BACO;AAmB9B,IAAMC,eAA+C;IACjDC,OAAO;AACX;AAEO,IAAMF,mBAAmBG,IAAAA,aAAO,EAA0B,SAACC,OAAOC;IACrE,IAA2BC,mBAAAA,IAAAA,6BAAe,KAAnCC,QAAoBD,iBAApBC,OAAOC,YAAaF,iBAAbE;IACd,IAAuEC,YAAAA,IAAAA,cAAQ,EAC3E,0BACAR,cACAG,QAHGF,QAAgEO,UAAhEP,OAAOQ,aAAyDD,UAAzDC,YAAYC,YAA6CF,UAA7CE,WAAWC,SAAkCH,UAAlCG,QAAQC,QAA0BJ,UAA1BI,OAAOC,OAAmBL,UAAnBK,MAASC,sCAAUN;QAAhEP;QAAOQ;QAAYC;QAAWC;QAAQC;QAAOC;;IAKpD,IAAwBE,+BAAAA,IAAAA,eAAQ,EAAC,IAAIC,aAA9BC,OAAiBF,cAAXG,UAAWH;IAExBI,IAAAA,mBAAY,EAAC;QACTD,QAAQ,IAAIF;IAChB,GAAG;QAACV,MAAMc,OAAO,CAACC,IAAI;KAAC;IAEvB,IAAMC,iBAAiB;QAACb,YAAAA;QAAYE,QAAAA;IAAM;IAE1C,qBACI,qBAACY,WAAK;QACFC,IAAG;QACHC,SAAQ;QACRrB,KAAKA;OACDG,UAAU,mBAAmB;QAACG,WAAAA;QAAWE,OAAAA;OAAUU,kBACnDR;kBAEJ,cAAA,sBAACY,UAAI;YAACC,MAAK;WAASpB,UAAU,oBAAoB;YAACG,WAAAA;YAAWE,OAAAA;WAAUU;;gBACnErB;8BACD,qBAAC2B;oBAAKC,MAAK;8BAASC,IAAAA,cAAK,EAACb,MAAMc,MAAM,CAAC;;;;;AAIvD"}
1
+ {"version":3,"sources":["../../../../../src/components/table/table-last-updated/TableLastUpdated.tsx"],"sourcesContent":["import {BoxProps, CompoundStylesApiProps, factory, Factory, Group, Text, useProps} from '@mantine/core';\nimport {useDidUpdate} from '@mantine/hooks';\nimport dayjs from 'dayjs';\nimport {useState} from 'react';\nimport {useTableContext} from '../TableContext';\n\nexport type TableLastUpdatedStylesNames = 'lastUpdatedRoot' | 'lastUpdatedLabel';\n\nexport interface TableLastUpdatedProps extends BoxProps, CompoundStylesApiProps<TableLastUpdatedFactory> {\n /**\n * Label to contextualize the date\n *\n * @default \"Last update:\"\n */\n label?: string;\n}\nexport type TableLastUpdatedFactory = Factory<{\n props: TableLastUpdatedProps;\n ref: HTMLDivElement;\n stylesNames: TableLastUpdatedStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<TableLastUpdatedProps> = {\n label: 'Last update:',\n};\n\nexport const TableLastUpdated = factory<TableLastUpdatedFactory>((props, ref) => {\n const {table, getStyles} = useTableContext();\n const {label, classNames, className, styles, style, vars, ...others} = useProps(\n 'PlasmaTableLastUpdated',\n defaultProps,\n props,\n );\n const [time, setTime] = useState(new Date());\n\n useDidUpdate(() => {\n setTime(new Date());\n }, [table.options.data]);\n\n const stylesApiProps = {classNames, styles};\n\n return (\n <Group\n px=\"xl\"\n justify=\"right\"\n ref={ref}\n {...getStyles('lastUpdatedRoot', {className, style, ...stylesApiProps})}\n {...others}\n >\n <Text size=\"xs\" {...getStyles('lastUpdatedLabel', {className, style, ...stylesApiProps})}>\n {label}\n <span role=\"timer\">{dayjs(time).format('h:mm:ss A')}</span>\n </Text>\n </Group>\n );\n});\n"],"names":["TableLastUpdated","defaultProps","label","factory","props","ref","useTableContext","table","getStyles","useProps","classNames","className","styles","style","vars","others","useState","Date","time","setTime","useDidUpdate","options","data","stylesApiProps","Group","px","justify","Text","size","span","role","dayjs","format"],"mappings":";;;;+BA2BaA;;;eAAAA;;;;;;;;;oBA3B2E;qBAC7D;8DACT;qBACK;4BACO;AAmB9B,IAAMC,eAA+C;IACjDC,OAAO;AACX;AAEO,IAAMF,mBAAmBG,IAAAA,aAAO,EAA0B,SAACC,OAAOC;IACrE,IAA2BC,mBAAAA,IAAAA,6BAAe,KAAnCC,QAAoBD,iBAApBC,OAAOC,YAAaF,iBAAbE;IACd,IAAuEC,YAAAA,IAAAA,cAAQ,EAC3E,0BACAR,cACAG,QAHGF,QAAgEO,UAAhEP,OAAOQ,aAAyDD,UAAzDC,YAAYC,YAA6CF,UAA7CE,WAAWC,SAAkCH,UAAlCG,QAAQC,QAA0BJ,UAA1BI,OAAOC,OAAmBL,UAAnBK,MAASC,sCAAUN;QAAhEP;QAAOQ;QAAYC;QAAWC;QAAQC;QAAOC;;IAKpD,IAAwBE,+BAAAA,IAAAA,eAAQ,EAAC,IAAIC,aAA9BC,OAAiBF,cAAXG,UAAWH;IAExBI,IAAAA,mBAAY,EAAC;QACTD,QAAQ,IAAIF;IAChB,GAAG;QAACV,MAAMc,OAAO,CAACC,IAAI;KAAC;IAEvB,IAAMC,iBAAiB;QAACb,YAAAA;QAAYE,QAAAA;IAAM;IAE1C,qBACI,qBAACY,WAAK;QACFC,IAAG;QACHC,SAAQ;QACRrB,KAAKA;OACDG,UAAU,mBAAmB;QAACG,WAAAA;QAAWE,OAAAA;OAAUU,kBACnDR;kBAEJ,cAAA,sBAACY,UAAI;YAACC,MAAK;WAASpB,UAAU,oBAAoB;YAACG,WAAAA;YAAWE,OAAAA;WAAUU;;gBACnErB;8BACD,qBAAC2B;oBAAKC,MAAK;8BAASC,IAAAA,cAAK,EAACb,MAAMc,MAAM,CAAC;;;;;AAIvD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/table/table-loading/TableLoading.tsx"],"sourcesContent":["import {Skeleton, SkeletonProps} from '@mantine/core';\nimport {FunctionComponent} from 'react';\n\nexport const TableLoading: FunctionComponent<SkeletonProps> = (props) => (\n <Skeleton {...props} style={!props.visible ? {borderRadius: 0} : undefined}>\n {props.children}\n </Skeleton>\n);\n"],"names":["TableLoading","props","Skeleton","style","visible","borderRadius","undefined","children"],"rangeMappings":";;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAGaA;;;eAAAA;;;;;;oBAHyB;AAG/B,IAAMA,eAAiD,SAACC;yBAC3D,qBAACC,cAAQ,8CAAKD;QAAOE,OAAO,CAACF,MAAMG,OAAO,GAAG;YAACC,cAAc;QAAC,IAAIC;kBAC5DL,MAAMM,QAAQ"}
1
+ {"version":3,"sources":["../../../../../src/components/table/table-loading/TableLoading.tsx"],"sourcesContent":["import {Skeleton, SkeletonProps} from '@mantine/core';\nimport {FunctionComponent} from 'react';\n\nexport const TableLoading: FunctionComponent<SkeletonProps> = (props) => (\n <Skeleton {...props} style={!props.visible ? {borderRadius: 0} : undefined}>\n {props.children}\n </Skeleton>\n);\n"],"names":["TableLoading","props","Skeleton","style","visible","borderRadius","undefined","children"],"mappings":";;;;+BAGaA;;;eAAAA;;;;;;oBAHyB;AAG/B,IAAMA,eAAiD,SAACC;yBAC3D,qBAACC,cAAQ,8CAAKD;QAAOE,OAAO,CAACF,MAAMG,OAAO,GAAG;YAACC,cAAc;QAAC,IAAIC;kBAC5DL,MAAMM,QAAQ"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/table/table-no-data/TableNoData.tsx"],"sourcesContent":["import {FunctionComponent, ReactNode} from 'react';\n\nexport interface TableNoDataProps {\n children: ReactNode;\n}\n\nexport const TableNoData: FunctionComponent<TableNoDataProps> = ({children}) => <>{children}</>;\n"],"names":["TableNoData","children"],"rangeMappings":";;;;;;;;;;;;;;","mappings":";;;;+BAMaA;;;eAAAA;;;;AAAN,IAAMA,cAAmD;QAAEC,iBAAAA;yBAAc;kBAAGA"}
1
+ {"version":3,"sources":["../../../../../src/components/table/table-no-data/TableNoData.tsx"],"sourcesContent":["import {FunctionComponent, ReactNode} from 'react';\n\nexport interface TableNoDataProps {\n children: ReactNode;\n}\n\nexport const TableNoData: FunctionComponent<TableNoDataProps> = ({children}) => <>{children}</>;\n"],"names":["TableNoData","children"],"mappings":";;;;+BAMaA;;;eAAAA;;;;AAAN,IAAMA,cAAmD;QAAEC,iBAAAA;yBAAc;kBAAGA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/table/table-pagination/TablePagination.tsx"],"sourcesContent":["import {Pagination} from '@mantine/core';\nimport {useDidUpdate} from '@mantine/hooks';\nimport {FunctionComponent} from 'react';\n\nimport {TablePaginationProps} from './TablePagination.types';\nimport {useTableContext} from '../TableContext';\n\nexport const TablePagination: FunctionComponent<TablePaginationProps> = ({onPageChange}) => {\n const {store, table, containerRef} = useTableContext();\n\n const updatePage = (newPage: number) => {\n onPageChange?.(newPage - 1);\n store.setPagination((prev) => ({...prev, pageIndex: newPage - 1}));\n containerRef.current.scrollIntoView({behavior: 'smooth'});\n };\n\n const total = table.getPageCount();\n\n useDidUpdate(() => {\n if (store.state.pagination.pageIndex + 1 > total && total > 0) {\n updatePage(total);\n }\n }, [store.state.pagination.pageIndex, total]);\n\n return (\n <Pagination\n value={store.state.pagination.pageIndex + 1}\n onChange={updatePage}\n total={total}\n boundaries={0}\n size=\"md\"\n gap=\"xs\"\n getControlProps={(control) => {\n switch (control) {\n case 'previous':\n return {\n component: 'button',\n 'aria-label': 'previous page',\n };\n case 'next':\n return {component: 'button', 'aria-label': 'next page'};\n default:\n return {};\n }\n }}\n />\n );\n};\n"],"names":["TablePagination","onPageChange","useTableContext","store","table","containerRef","updatePage","newPage","setPagination","prev","pageIndex","current","scrollIntoView","behavior","total","getPageCount","useDidUpdate","state","pagination","Pagination","value","onChange","boundaries","size","gap","getControlProps","control","component"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAOaA;;;eAAAA;;;;;;oBAPY;qBACE;4BAIG;AAEvB,IAAMA,kBAA2D;QAAEC,qBAAAA;IACtE,IAAqCC,mBAAAA,IAAAA,6BAAe,KAA7CC,QAA8BD,iBAA9BC,OAAOC,QAAuBF,iBAAvBE,OAAOC,eAAgBH,iBAAhBG;IAErB,IAAMC,aAAa,SAACC;QAChBN,yBAAAA,mCAAAA,aAAeM,UAAU;QACzBJ,MAAMK,aAAa,CAAC,SAACC;mBAAU,4CAAIA;gBAAMC,WAAWH,UAAU;;;QAC9DF,aAAaM,OAAO,CAACC,cAAc,CAAC;YAACC,UAAU;QAAQ;IAC3D;IAEA,IAAMC,QAAQV,MAAMW,YAAY;IAEhCC,IAAAA,mBAAY,EAAC;QACT,IAAIb,MAAMc,KAAK,CAACC,UAAU,CAACR,SAAS,GAAG,IAAII,SAASA,QAAQ,GAAG;YAC3DR,WAAWQ;QACf;IACJ,GAAG;QAACX,MAAMc,KAAK,CAACC,UAAU,CAACR,SAAS;QAAEI;KAAM;IAE5C,qBACI,qBAACK,gBAAU;QACPC,OAAOjB,MAAMc,KAAK,CAACC,UAAU,CAACR,SAAS,GAAG;QAC1CW,UAAUf;QACVQ,OAAOA;QACPQ,YAAY;QACZC,MAAK;QACLC,KAAI;QACJC,iBAAiB,SAACC;YACd,OAAQA;gBACJ,KAAK;oBACD,OAAO;wBACHC,WAAW;wBACX,cAAc;oBAClB;gBACJ,KAAK;oBACD,OAAO;wBAACA,WAAW;wBAAU,cAAc;oBAAW;gBAC1D;oBACI,OAAO,CAAC;YAChB;QACJ;;AAGZ"}
1
+ {"version":3,"sources":["../../../../../src/components/table/table-pagination/TablePagination.tsx"],"sourcesContent":["import {Pagination} from '@mantine/core';\nimport {useDidUpdate} from '@mantine/hooks';\nimport {FunctionComponent} from 'react';\n\nimport {TablePaginationProps} from './TablePagination.types';\nimport {useTableContext} from '../TableContext';\n\nexport const TablePagination: FunctionComponent<TablePaginationProps> = ({onPageChange}) => {\n const {store, table, containerRef} = useTableContext();\n\n const updatePage = (newPage: number) => {\n onPageChange?.(newPage - 1);\n store.setPagination((prev) => ({...prev, pageIndex: newPage - 1}));\n containerRef.current.scrollIntoView({behavior: 'smooth'});\n };\n\n const total = table.getPageCount();\n\n useDidUpdate(() => {\n if (store.state.pagination.pageIndex + 1 > total && total > 0) {\n updatePage(total);\n }\n }, [store.state.pagination.pageIndex, total]);\n\n return (\n <Pagination\n value={store.state.pagination.pageIndex + 1}\n onChange={updatePage}\n total={total}\n boundaries={0}\n size=\"md\"\n gap=\"xs\"\n getControlProps={(control) => {\n switch (control) {\n case 'previous':\n return {\n component: 'button',\n 'aria-label': 'previous page',\n };\n case 'next':\n return {component: 'button', 'aria-label': 'next page'};\n default:\n return {};\n }\n }}\n />\n );\n};\n"],"names":["TablePagination","onPageChange","useTableContext","store","table","containerRef","updatePage","newPage","setPagination","prev","pageIndex","current","scrollIntoView","behavior","total","getPageCount","useDidUpdate","state","pagination","Pagination","value","onChange","boundaries","size","gap","getControlProps","control","component"],"mappings":";;;;+BAOaA;;;eAAAA;;;;;;oBAPY;qBACE;4BAIG;AAEvB,IAAMA,kBAA2D;QAAEC,qBAAAA;IACtE,IAAqCC,mBAAAA,IAAAA,6BAAe,KAA7CC,QAA8BD,iBAA9BC,OAAOC,QAAuBF,iBAAvBE,OAAOC,eAAgBH,iBAAhBG;IAErB,IAAMC,aAAa,SAACC;QAChBN,yBAAAA,mCAAAA,aAAeM,UAAU;QACzBJ,MAAMK,aAAa,CAAC,SAACC;mBAAU,4CAAIA;gBAAMC,WAAWH,UAAU;;;QAC9DF,aAAaM,OAAO,CAACC,cAAc,CAAC;YAACC,UAAU;QAAQ;IAC3D;IAEA,IAAMC,QAAQV,MAAMW,YAAY;IAEhCC,IAAAA,mBAAY,EAAC;QACT,IAAIb,MAAMc,KAAK,CAACC,UAAU,CAACR,SAAS,GAAG,IAAII,SAASA,QAAQ,GAAG;YAC3DR,WAAWQ;QACf;IACJ,GAAG;QAACX,MAAMc,KAAK,CAACC,UAAU,CAACR,SAAS;QAAEI;KAAM;IAE5C,qBACI,qBAACK,gBAAU;QACPC,OAAOjB,MAAMc,KAAK,CAACC,UAAU,CAACR,SAAS,GAAG;QAC1CW,UAAUf;QACVQ,OAAOA;QACPQ,YAAY;QACZC,MAAK;QACLC,KAAI;QACJC,iBAAiB,SAACC;YACd,OAAQA;gBACJ,KAAK;oBACD,OAAO;wBACHC,WAAW;wBACX,cAAc;oBAClB;gBACJ,KAAK;oBACD,OAAO;wBAACA,WAAW;wBAAU,cAAc;oBAAW;gBAC1D;oBACI,OAAO,CAAC;YAChB;QACJ;;AAGZ"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/table/table-pagination/TablePagination.types.ts"],"names":[],"rangeMappings":"","mappings":""}
1
+ {"version":3,"sources":["../../../../../src/components/table/table-pagination/TablePagination.types.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/table/table-per-page/TablePerPage.tsx"],"sourcesContent":["import {Group, SegmentedControl, Text} from '@mantine/core';\nimport {FunctionComponent, useMemo} from 'react';\n\nimport {useTableContext} from '../TableContext';\nimport {TablePerPageProps} from './TablePerPage.types';\n\nexport const TablePerPage: FunctionComponent<TablePerPageProps> & {DEFAULT_SIZE: number} = ({\n label = 'Results per page',\n values = [25, 50, 100],\n onPerPageChange,\n}) => {\n const {store, table} = useTableContext();\n const choices = useMemo(() => values.map((value) => value.toString()), [values]);\n\n const updatePerPage = (newPerPage: string) => {\n onPerPageChange?.(Number(newPerPage));\n store.setPagination({pageIndex: 0, pageSize: parseInt(newPerPage, 10)});\n };\n\n return table.getPageCount() > 0 ? (\n <Group gap=\"sm\">\n <Text fw={500}>{label}</Text>\n <SegmentedControl\n value={store.state.pagination.pageSize.toString() ?? choices[1] ?? choices[0]}\n onChange={updatePerPage}\n data={choices}\n size=\"sm\"\n />\n </Group>\n ) : null;\n};\n\nTablePerPage.DEFAULT_SIZE = 50;\n"],"names":["TablePerPage","label","values","onPerPageChange","useTableContext","store","table","choices","useMemo","map","value","toString","updatePerPage","newPerPage","Number","setPagination","pageIndex","pageSize","parseInt","getPageCount","Group","gap","Text","fw","SegmentedControl","state","pagination","onChange","data","size","DEFAULT_SIZE"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAMaA;;;eAAAA;;;;oBAN+B;qBACH;4BAEX;AAGvB,IAAMA,eAA8E;6BACvFC,OAAAA,kCAAQ,yDACRC,QAAAA,oCAAS;QAAC;QAAI;QAAI;KAAI,kBACtBC,wBAAAA;IAEA,IAAuBC,mBAAAA,IAAAA,6BAAe,KAA/BC,QAAgBD,iBAAhBC,OAAOC,QAASF,iBAATE;IACd,IAAMC,UAAUC,IAAAA,cAAO,EAAC;eAAMN,OAAOO,GAAG,CAAC,SAACC;mBAAUA,MAAMC,QAAQ;;OAAK;QAACT;KAAO;IAE/E,IAAMU,gBAAgB,SAACC;QACnBV,4BAAAA,sCAAAA,gBAAkBW,OAAOD;QACzBR,MAAMU,aAAa,CAAC;YAACC,WAAW;YAAGC,UAAUC,SAASL,YAAY;QAAG;IACzE;QAMmBR,2CAAAA;IAJnB,OAAOC,MAAMa,YAAY,KAAK,kBAC1B,sBAACC,WAAK;QAACC,KAAI;;0BACP,qBAACC,UAAI;gBAACC,IAAI;0BAAMtB;;0BAChB,qBAACuB,sBAAgB;gBACbd,OAAOL,CAAAA,OAAAA,CAAAA,4CAAAA,MAAMoB,KAAK,CAACC,UAAU,CAACT,QAAQ,CAACN,QAAQ,gBAAxCN,uDAAAA,4CAA8CE,OAAO,CAAC,EAAE,cAAxDF,kBAAAA,OAA4DE,OAAO,CAAC,EAAE;gBAC7EoB,UAAUf;gBACVgB,MAAMrB;gBACNsB,MAAK;;;SAGb;AACR;AAEA7B,aAAa8B,YAAY,GAAG"}
1
+ {"version":3,"sources":["../../../../../src/components/table/table-per-page/TablePerPage.tsx"],"sourcesContent":["import {Group, SegmentedControl, Text} from '@mantine/core';\nimport {FunctionComponent, useMemo} from 'react';\n\nimport {useTableContext} from '../TableContext';\nimport {TablePerPageProps} from './TablePerPage.types';\n\nexport const TablePerPage: FunctionComponent<TablePerPageProps> & {DEFAULT_SIZE: number} = ({\n label = 'Results per page',\n values = [25, 50, 100],\n onPerPageChange,\n}) => {\n const {store, table} = useTableContext();\n const choices = useMemo(() => values.map((value) => value.toString()), [values]);\n\n const updatePerPage = (newPerPage: string) => {\n onPerPageChange?.(Number(newPerPage));\n store.setPagination({pageIndex: 0, pageSize: parseInt(newPerPage, 10)});\n };\n\n return table.getPageCount() > 0 ? (\n <Group gap=\"sm\">\n <Text fw={500}>{label}</Text>\n <SegmentedControl\n value={store.state.pagination.pageSize.toString() ?? choices[1] ?? choices[0]}\n onChange={updatePerPage}\n data={choices}\n size=\"sm\"\n />\n </Group>\n ) : null;\n};\n\nTablePerPage.DEFAULT_SIZE = 50;\n"],"names":["TablePerPage","label","values","onPerPageChange","useTableContext","store","table","choices","useMemo","map","value","toString","updatePerPage","newPerPage","Number","setPagination","pageIndex","pageSize","parseInt","getPageCount","Group","gap","Text","fw","SegmentedControl","state","pagination","onChange","data","size","DEFAULT_SIZE"],"mappings":";;;;+BAMaA;;;eAAAA;;;;oBAN+B;qBACH;4BAEX;AAGvB,IAAMA,eAA8E;6BACvFC,OAAAA,kCAAQ,yDACRC,QAAAA,oCAAS;QAAC;QAAI;QAAI;KAAI,kBACtBC,wBAAAA;IAEA,IAAuBC,mBAAAA,IAAAA,6BAAe,KAA/BC,QAAgBD,iBAAhBC,OAAOC,QAASF,iBAATE;IACd,IAAMC,UAAUC,IAAAA,cAAO,EAAC;eAAMN,OAAOO,GAAG,CAAC,SAACC;mBAAUA,MAAMC,QAAQ;;OAAK;QAACT;KAAO;IAE/E,IAAMU,gBAAgB,SAACC;QACnBV,4BAAAA,sCAAAA,gBAAkBW,OAAOD;QACzBR,MAAMU,aAAa,CAAC;YAACC,WAAW;YAAGC,UAAUC,SAASL,YAAY;QAAG;IACzE;QAMmBR,2CAAAA;IAJnB,OAAOC,MAAMa,YAAY,KAAK,kBAC1B,sBAACC,WAAK;QAACC,KAAI;;0BACP,qBAACC,UAAI;gBAACC,IAAI;0BAAMtB;;0BAChB,qBAACuB,sBAAgB;gBACbd,OAAOL,CAAAA,OAAAA,CAAAA,4CAAAA,MAAMoB,KAAK,CAACC,UAAU,CAACT,QAAQ,CAACN,QAAQ,gBAAxCN,uDAAAA,4CAA8CE,OAAO,CAAC,EAAE,cAAxDF,kBAAAA,OAA4DE,OAAO,CAAC,EAAE;gBAC7EoB,UAAUf;gBACVgB,MAAMrB;gBACNsB,MAAK;;;SAGb;AACR;AAEA7B,aAAa8B,YAAY,GAAG"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/table/table-per-page/TablePerPage.types.ts"],"names":[],"rangeMappings":"","mappings":""}
1
+ {"version":3,"sources":["../../../../../src/components/table/table-per-page/TablePerPage.types.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/table/table-predicate/TablePredicate.tsx"],"sourcesContent":["import {\n BoxProps,\n ComboboxData,\n CompoundStylesApiProps,\n factory,\n Factory,\n Grid,\n Group,\n Select,\n Text,\n useProps,\n} from '@mantine/core';\nimport {FunctionComponent} from 'react';\n\nimport {TableComponentsOrder} from '../Table';\nimport {useTableContext} from '../TableContext';\n\nexport type TablePredicateStylesNames = 'predicate' | 'predicateWrapper' | 'predicateLabel' | 'predicateSelect';\n\nexport interface TablePredicateProps extends BoxProps, CompoundStylesApiProps<TablePredicateFactory> {\n /**\n * Unique identifier for this predicate. Will be used to access the selected value in the table state\n */\n id: string;\n /**\n * The values to display in the predicate\n */\n data: ComboboxData;\n /**\n * Input label (not displayed for now)\n *\n * @default default to the predicate id\n */\n label?: string;\n}\n\nexport type TablePredicateFactory = Factory<{\n props: TablePredicateProps;\n ref: HTMLDivElement;\n stylesNames: TablePredicateStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<TablePredicateProps> = {};\n\nexport const TablePredicate: FunctionComponent<TablePredicateProps> = factory<TablePredicateFactory>((props, ref) => {\n const {store, getStyles} = useTableContext();\n const {id, data, label, classNames, className, styles, style, vars, ...others} = useProps(\n 'PlasmaTablePredicate',\n defaultProps,\n props,\n );\n\n const handleChange = (newValue: string) => {\n store.setPredicates((prev) => ({...prev, [id]: newValue}));\n store.setPagination((prev) => ({...prev, pageIndex: 0}));\n };\n\n const stylesApiProps = {classNames, styles};\n\n return (\n <Grid.Col\n span=\"content\"\n order={TableComponentsOrder.Predicate}\n ref={ref}\n {...getStyles('predicate', {className, style, ...stylesApiProps})}\n {...others}\n >\n <Group gap=\"xs\" {...getStyles('predicateWrapper', stylesApiProps)}>\n {label ? <Text {...getStyles('predicateLabel', stylesApiProps)}>{label}:</Text> : null}\n <Select\n comboboxProps={{withinPortal: true}}\n value={store.state.predicates[id]}\n onChange={handleChange}\n data={data}\n aria-label={label ?? id}\n searchable={data.length > 7}\n {...getStyles('predicateSelect', stylesApiProps)}\n />\n </Group>\n </Grid.Col>\n );\n});\n"],"names":["TablePredicate","defaultProps","factory","props","ref","useTableContext","store","getStyles","useProps","id","data","label","classNames","className","styles","style","vars","others","handleChange","newValue","setPredicates","prev","setPagination","pageIndex","stylesApiProps","Grid","Col","span","order","TableComponentsOrder","Predicate","Group","gap","Text","Select","comboboxProps","withinPortal","value","state","predicates","onChange","aria-label","searchable","length"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BA6CaA;;;eAAAA;;;;;;;;oBAlCN;qBAG4B;4BACL;AA4B9B,IAAMC,eAA6C,CAAC;AAE7C,IAAMD,iBAAyDE,IAAAA,aAAO,EAAwB,SAACC,OAAOC;IACzG,IAA2BC,mBAAAA,IAAAA,6BAAe,KAAnCC,QAAoBD,iBAApBC,OAAOC,YAAaF,iBAAbE;IACd,IAAiFC,YAAAA,IAAAA,cAAQ,EACrF,wBACAP,cACAE,QAHGM,KAA0ED,UAA1EC,IAAIC,OAAsEF,UAAtEE,MAAMC,QAAgEH,UAAhEG,OAAOC,aAAyDJ,UAAzDI,YAAYC,YAA6CL,UAA7CK,WAAWC,SAAkCN,UAAlCM,QAAQC,QAA0BP,UAA1BO,OAAOC,OAAmBR,UAAnBQ,MAASC,sCAAUT;QAA1EC;QAAIC;QAAMC;QAAOC;QAAYC;QAAWC;QAAQC;QAAOC;;IAM9D,IAAME,eAAe,SAACC;QAClBb,MAAMc,aAAa,CAAC,SAACC;mBAAU,4CAAIA,OAAM,uBAACZ,IAAKU;;QAC/Cb,MAAMgB,aAAa,CAAC,SAACD;mBAAU,4CAAIA;gBAAME,WAAW;;;IACxD;IAEA,IAAMC,iBAAiB;QAACZ,YAAAA;QAAYE,QAAAA;IAAM;IAE1C,qBACI,qBAACW,UAAI,CAACC,GAAG;QACLC,MAAK;QACLC,OAAOC,2BAAoB,CAACC,SAAS;QACrC1B,KAAKA;OACDG,UAAU,aAAa;QAACM,WAAAA;QAAWE,OAAAA;OAAUS,kBAC7CP;kBAEJ,cAAA,sBAACc,WAAK;YAACC,KAAI;WAASzB,UAAU,oBAAoBiB;;gBAC7Cb,sBAAQ,sBAACsB,UAAI,8CAAK1B,UAAU,kBAAkBiB;;wBAAkBb;wBAAM;;sBAAW;8BAClF,qBAACuB,YAAM;oBACHC,eAAe;wBAACC,cAAc;oBAAI;oBAClCC,OAAO/B,MAAMgC,KAAK,CAACC,UAAU,CAAC9B,GAAG;oBACjC+B,UAAUtB;oBACVR,MAAMA;oBACN+B,cAAY9B,kBAAAA,mBAAAA,QAASF;oBACrBiC,YAAYhC,KAAKiC,MAAM,GAAG;mBACtBpC,UAAU,mBAAmBiB;;;;AAKrD"}
1
+ {"version":3,"sources":["../../../../../src/components/table/table-predicate/TablePredicate.tsx"],"sourcesContent":["import {\n BoxProps,\n ComboboxData,\n CompoundStylesApiProps,\n factory,\n Factory,\n Grid,\n Group,\n Select,\n Text,\n useProps,\n} from '@mantine/core';\nimport {FunctionComponent} from 'react';\n\nimport {TableComponentsOrder} from '../Table';\nimport {useTableContext} from '../TableContext';\n\nexport type TablePredicateStylesNames = 'predicate' | 'predicateWrapper' | 'predicateLabel' | 'predicateSelect';\n\nexport interface TablePredicateProps extends BoxProps, CompoundStylesApiProps<TablePredicateFactory> {\n /**\n * Unique identifier for this predicate. Will be used to access the selected value in the table state\n */\n id: string;\n /**\n * The values to display in the predicate\n */\n data: ComboboxData;\n /**\n * Input label (not displayed for now)\n *\n * @default default to the predicate id\n */\n label?: string;\n}\n\nexport type TablePredicateFactory = Factory<{\n props: TablePredicateProps;\n ref: HTMLDivElement;\n stylesNames: TablePredicateStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<TablePredicateProps> = {};\n\nexport const TablePredicate: FunctionComponent<TablePredicateProps> = factory<TablePredicateFactory>((props, ref) => {\n const {store, getStyles} = useTableContext();\n const {id, data, label, classNames, className, styles, style, vars, ...others} = useProps(\n 'PlasmaTablePredicate',\n defaultProps,\n props,\n );\n\n const handleChange = (newValue: string) => {\n store.setPredicates((prev) => ({...prev, [id]: newValue}));\n store.setPagination((prev) => ({...prev, pageIndex: 0}));\n };\n\n const stylesApiProps = {classNames, styles};\n\n return (\n <Grid.Col\n span=\"content\"\n order={TableComponentsOrder.Predicate}\n ref={ref}\n {...getStyles('predicate', {className, style, ...stylesApiProps})}\n {...others}\n >\n <Group gap=\"xs\" {...getStyles('predicateWrapper', stylesApiProps)}>\n {label ? <Text {...getStyles('predicateLabel', stylesApiProps)}>{label}:</Text> : null}\n <Select\n comboboxProps={{withinPortal: true}}\n value={store.state.predicates[id]}\n onChange={handleChange}\n data={data}\n aria-label={label ?? id}\n searchable={data.length > 7}\n {...getStyles('predicateSelect', stylesApiProps)}\n />\n </Group>\n </Grid.Col>\n );\n});\n"],"names":["TablePredicate","defaultProps","factory","props","ref","useTableContext","store","getStyles","useProps","id","data","label","classNames","className","styles","style","vars","others","handleChange","newValue","setPredicates","prev","setPagination","pageIndex","stylesApiProps","Grid","Col","span","order","TableComponentsOrder","Predicate","Group","gap","Text","Select","comboboxProps","withinPortal","value","state","predicates","onChange","aria-label","searchable","length"],"mappings":";;;;+BA6CaA;;;eAAAA;;;;;;;;oBAlCN;qBAG4B;4BACL;AA4B9B,IAAMC,eAA6C,CAAC;AAE7C,IAAMD,iBAAyDE,IAAAA,aAAO,EAAwB,SAACC,OAAOC;IACzG,IAA2BC,mBAAAA,IAAAA,6BAAe,KAAnCC,QAAoBD,iBAApBC,OAAOC,YAAaF,iBAAbE;IACd,IAAiFC,YAAAA,IAAAA,cAAQ,EACrF,wBACAP,cACAE,QAHGM,KAA0ED,UAA1EC,IAAIC,OAAsEF,UAAtEE,MAAMC,QAAgEH,UAAhEG,OAAOC,aAAyDJ,UAAzDI,YAAYC,YAA6CL,UAA7CK,WAAWC,SAAkCN,UAAlCM,QAAQC,QAA0BP,UAA1BO,OAAOC,OAAmBR,UAAnBQ,MAASC,sCAAUT;QAA1EC;QAAIC;QAAMC;QAAOC;QAAYC;QAAWC;QAAQC;QAAOC;;IAM9D,IAAME,eAAe,SAACC;QAClBb,MAAMc,aAAa,CAAC,SAACC;mBAAU,4CAAIA,OAAM,uBAACZ,IAAKU;;QAC/Cb,MAAMgB,aAAa,CAAC,SAACD;mBAAU,4CAAIA;gBAAME,WAAW;;;IACxD;IAEA,IAAMC,iBAAiB;QAACZ,YAAAA;QAAYE,QAAAA;IAAM;IAE1C,qBACI,qBAACW,UAAI,CAACC,GAAG;QACLC,MAAK;QACLC,OAAOC,2BAAoB,CAACC,SAAS;QACrC1B,KAAKA;OACDG,UAAU,aAAa;QAACM,WAAAA;QAAWE,OAAAA;OAAUS,kBAC7CP;kBAEJ,cAAA,sBAACc,WAAK;YAACC,KAAI;WAASzB,UAAU,oBAAoBiB;;gBAC7Cb,sBAAQ,sBAACsB,UAAI,8CAAK1B,UAAU,kBAAkBiB;;wBAAkBb;wBAAM;;sBAAW;8BAClF,qBAACuB,YAAM;oBACHC,eAAe;wBAACC,cAAc;oBAAI;oBAClCC,OAAO/B,MAAMgC,KAAK,CAACC,UAAU,CAAC9B,GAAG;oBACjC+B,UAAUtB;oBACVR,MAAMA;oBACN+B,cAAY9B,kBAAAA,mBAAAA,QAASF;oBACrBiC,YAAYhC,KAAKiC,MAAM,GAAG;mBACtBpC,UAAU,mBAAmBiB;;;;AAKrD"}
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { type PaginationState, type SortingState, type ExpandedState } from '@tanstack/table-core';
3
2
  import { type DateRangePickerValue } from '../date-range-picker';
4
3
  type PartialDeep<T> = T extends object ? {
@@ -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":["useTable","defaultOptions","enableRowSelection","enableMultiRowSelection","forceSelection","defaultState","pagination","pageIndex","pageSize","totalEntries","sorting","globalFilter","predicates","layout","dateRange","rowSelection","columnVisibility","userOptions","options","defaultsDeep","initialState","useState","setPagination","_setTotalEntries","unfilteredTotalEntries","setUnfilteredTotalEntries","setSorting","setGlobalFilter","expanded","setExpanded","setPredicates","setLayout","setDateRange","setRowSelection","setColumnVisibility","isFiltered","Object","keys","some","predicate","isVacant","setTotalEntries","useCallback","updater","old","newTotalEntries","Function","clearFilters","clearRowSelection","getSelectedRows","values","getSelectedRow","useDidUpdate","state","useMemo","rowSelectionEnabled","rowSelectionForced","multiRowSelectionEnabled"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
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":["useTable","defaultOptions","enableRowSelection","enableMultiRowSelection","forceSelection","defaultState","pagination","pageIndex","pageSize","totalEntries","sorting","globalFilter","predicates","layout","dateRange","rowSelection","columnVisibility","userOptions","options","defaultsDeep","initialState","useState","setPagination","_setTotalEntries","unfilteredTotalEntries","setUnfilteredTotalEntries","setSorting","setGlobalFilter","expanded","setExpanded","setPredicates","setLayout","setDateRange","setRowSelection","setColumnVisibility","isFiltered","Object","keys","some","predicate","isVacant","setTotalEntries","useCallback","updater","old","newTotalEntries","Function","clearFilters","clearRowSelection","getSelectedRows","values","getSelectedRow","useDidUpdate","state","useMemo","rowSelectionEnabled","rowSelectionForced","multiRowSelectionEnabled"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hooks/index.ts"],"sourcesContent":["export * from './useParentHeight';\nexport * from './useControlledList';\n"],"names":[],"rangeMappings":";;;;;;","mappings":";;;;;uBAAc;uBACA"}
1
+ {"version":3,"sources":["../../../src/hooks/index.ts"],"sourcesContent":["export * from './useParentHeight';\nexport * from './useControlledList';\n"],"names":[],"mappings":";;;;;uBAAc;uBACA"}
@@ -1 +1 @@
1
- {"version":3,"file":"useClickWithLoading.d.ts","sourceRoot":"","sources":["../../../src/hooks/useClickWithLoading.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,iBAAiB,EAAW,MAAM,OAAO,CAAC;AAE9D,eAAO,MAAM,mBAAmB,aAAc,kBAAkB,iBAAiB,CAAC;;yBAG5C,WAAW,iBAAiB,CAAC;CAelE,CAAC"}
1
+ {"version":3,"file":"useClickWithLoading.d.ts","sourceRoot":"","sources":["../../../src/hooks/useClickWithLoading.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,iBAAiB,EAAW,MAAM,OAAO,CAAC;AAE9D,eAAO,MAAM,mBAAmB,aAAc,iBAAiB,CAAC,iBAAiB,CAAC;;yBAG5C,UAAU,CAAC,iBAAiB,CAAC;CAelE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hooks/useClickWithLoading.ts"],"sourcesContent":["import {MouseEvent, MouseEventHandler, useState} from 'react';\n\nexport const useClickWithLoading = (handler?: MouseEventHandler<HTMLButtonElement>) => {\n const [isLoading, setIsLoading] = useState(false);\n\n const handleClick = async (event: MouseEvent<HTMLButtonElement>) => {\n const possiblePromise: unknown = handler?.(event);\n try {\n if (possiblePromise instanceof Promise) {\n setIsLoading(true);\n await possiblePromise;\n setIsLoading(false);\n }\n } catch (err) {\n setIsLoading(false);\n console.error(err);\n }\n };\n\n return {isLoading, handleClick};\n};\n"],"names":["useClickWithLoading","handler","useState","isLoading","setIsLoading","handleClick","event","possiblePromise","err","Promise","console","error"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAEaA;;;eAAAA;;;;;;;qBAFyC;AAE/C,IAAMA,sBAAsB,SAACC;IAChC,IAAkCC,+BAAAA,IAAAA,eAAQ,EAAC,YAApCC,YAA2BD,cAAhBE,eAAgBF;IAElC,IAAMG;mBAAc,sBAAA,SAAOC;gBACjBC,iBAOGC;;;;wBAPHD,kBAA2BN,oBAAAA,8BAAAA,QAAUK;;;;;;;;;6BAEnCC,AAAe,aAAYE,CAA3BF,iBAA2BE,UAA3BF;;;;wBACAH,aAAa;wBACb;;4BAAMG;;;wBAAN;wBACAH,aAAa;;;;;;;;wBAEZI;wBACLJ,aAAa;wBACbM,QAAQC,KAAK,CAACH;;;;;;;;;;;QAEtB;wBAZMH,YAAqBC;;;;IAc3B,OAAO;QAACH,WAAAA;QAAWE,aAAAA;IAAW;AAClC"}
1
+ {"version":3,"sources":["../../../src/hooks/useClickWithLoading.ts"],"sourcesContent":["import {MouseEvent, MouseEventHandler, useState} from 'react';\n\nexport const useClickWithLoading = (handler?: MouseEventHandler<HTMLButtonElement>) => {\n const [isLoading, setIsLoading] = useState(false);\n\n const handleClick = async (event: MouseEvent<HTMLButtonElement>) => {\n const possiblePromise: unknown = handler?.(event);\n try {\n if (possiblePromise instanceof Promise) {\n setIsLoading(true);\n await possiblePromise;\n setIsLoading(false);\n }\n } catch (err) {\n setIsLoading(false);\n console.error(err);\n }\n };\n\n return {isLoading, handleClick};\n};\n"],"names":["useClickWithLoading","handler","useState","isLoading","setIsLoading","handleClick","event","possiblePromise","err","Promise","console","error"],"mappings":";;;;+BAEaA;;;eAAAA;;;;;;;qBAFyC;AAE/C,IAAMA,sBAAsB,SAACC;IAChC,IAAkCC,+BAAAA,IAAAA,eAAQ,EAAC,YAApCC,YAA2BD,cAAhBE,eAAgBF;IAElC,IAAMG;mBAAc,sBAAA,SAAOC;gBACjBC,iBAOGC;;;;wBAPHD,kBAA2BN,oBAAAA,8BAAAA,QAAUK;;;;;;;;;6BAEnCC,AAAe,aAAYE,CAA3BF,iBAA2BE,UAA3BF;;;;wBACAH,aAAa;wBACb;;4BAAMG;;;wBAAN;wBACAH,aAAa;;;;;;;;wBAEZI;wBACLJ,aAAa;wBACbM,QAAQC,KAAK,CAACH;;;;;;;;;;;QAEtB;wBAZMH,YAAqBC;;;;IAc3B,OAAO;QAACH,WAAAA;QAAWE,aAAAA;IAAW;AAClC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useControlledList.d.ts","sourceRoot":"","sources":["../../../src/hooks/useControlledList.ts"],"names":[],"mappings":"AAEA,UAAU,iBAAiB,CAAC,CAAC;IACzB,2CAA2C;IAC3C,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;IACnB,iCAAiC;IACjC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;IACZ,wCAAwC;IACxC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;CACpC;AAED,UAAU,YAAY,CAAC,CAAC;IACpB,8CAA8C;IAC9C,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IAC1B,kDAAkD;IAClD,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,iFAAiF;IACjF,OAAO,EAAE,CAAC,EAAC,IAAI,EAAE,EAAE,EAAC,EAAE;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAC,KAAK,IAAI,CAAC;CAC7D;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,yCAAwC,kBAAkB,CAAC,CAAC,KAAG,CAAC,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC,CA6BjH,CAAC"}
1
+ {"version":3,"file":"useControlledList.d.ts","sourceRoot":"","sources":["../../../src/hooks/useControlledList.ts"],"names":[],"mappings":"AAEA,UAAU,iBAAiB,CAAC,CAAC;IACzB,2CAA2C;IAC3C,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;IACnB,iCAAiC;IACjC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;IACZ,wCAAwC;IACxC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;CACpC;AAED,UAAU,YAAY,CAAC,CAAC;IACpB,8CAA8C;IAC9C,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IAC1B,kDAAkD;IAClD,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,iFAAiF;IACjF,OAAO,EAAE,CAAC,EAAC,IAAI,EAAE,EAAE,EAAC,EAAE;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAC,KAAK,IAAI,CAAC;CAC7D;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,CAAC,qCAAmC,iBAAiB,CAAC,CAAC,CAAC,KAAG,CAAC,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,CA6BjH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hooks/useControlledList.ts"],"sourcesContent":["import {useUncontrolled} from '@mantine/hooks';\n\ninterface UseControlledList<T> {\n /** Initial value for uncontrolled state */\n defaultValue?: T[];\n /** Value for controlled state */\n value?: T[];\n /** Controlled state onChange handler */\n onChange?: (values: T[]) => void;\n}\n\ninterface ListHandlers<T> {\n /** Appends the item at the end of the list */\n append: (item: T) => void;\n /** Removes the item at the index from the list */\n remove: (index: number) => void;\n /** Moves the item at the \"from\" position to another position within the list */\n reorder: ({from, to}: {from: number; to: number}) => void;\n}\n\n/**\n * Manage a list of items in a controlled fashion, to be used with inputs\n */\nexport const useControlledList = <T>({defaultValue, value, onChange}: UseControlledList<T>): [T[], ListHandlers<T>] => {\n const [values, handleChange] = useUncontrolled({\n value,\n defaultValue,\n finalValue: [],\n onChange,\n });\n\n const remove = (index: number) => {\n const newValues = values.filter((_, i) => i !== index);\n handleChange?.(newValues);\n };\n\n const append = (item: T) => {\n const newValues = [...values, item];\n handleChange?.(newValues);\n };\n\n const reorder = ({from, to}: {from: number; to: number}) => {\n const newValues = [...values];\n const item = values[from];\n\n newValues.splice(from, 1);\n newValues.splice(to, 0, item);\n\n handleChange?.(newValues);\n };\n\n return [values, {remove, append, reorder}];\n};\n"],"names":["useControlledList","defaultValue","value","onChange","useUncontrolled","finalValue","values","handleChange","remove","index","newValues","filter","_","i","append","item","reorder","from","to","splice"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;+BAuBaA;;;eAAAA;;;;;qBAvBiB;AAuBvB,IAAMA,oBAAoB;QAAKC,qBAAAA,cAAcC,cAAAA,OAAOC,iBAAAA;IACvD,IAA+BC,sCAAAA,IAAAA,sBAAe,EAAC;QAC3CF,OAAAA;QACAD,cAAAA;QACAI,YAAY,EAAE;QACdF,UAAAA;IACJ,QALOG,SAAwBF,qBAAhBG,eAAgBH;IAO/B,IAAMI,SAAS,SAACC;QACZ,IAAMC,YAAYJ,OAAOK,MAAM,CAAC,SAACC,GAAGC;mBAAMA,MAAMJ;;QAChDF,yBAAAA,mCAAAA,aAAeG;IACnB;IAEA,IAAMI,SAAS,SAACC;QACZ,IAAML,YAAY,AAAC,uBAAGJ,eAAJ;YAAYS;SAAK;QACnCR,yBAAAA,mCAAAA,aAAeG;IACnB;IAEA,IAAMM,UAAU;YAAEC,aAAAA,MAAMC,WAAAA;QACpB,IAAMR,YAAa,uBAAGJ;QACtB,IAAMS,OAAOT,MAAM,CAACW,KAAK;QAEzBP,UAAUS,MAAM,CAACF,MAAM;QACvBP,UAAUS,MAAM,CAACD,IAAI,GAAGH;QAExBR,yBAAAA,mCAAAA,aAAeG;IACnB;IAEA,OAAO;QAACJ;QAAQ;YAACE,QAAAA;YAAQM,QAAAA;YAAQE,SAAAA;QAAO;KAAE;AAC9C"}
1
+ {"version":3,"sources":["../../../src/hooks/useControlledList.ts"],"sourcesContent":["import {useUncontrolled} from '@mantine/hooks';\n\ninterface UseControlledList<T> {\n /** Initial value for uncontrolled state */\n defaultValue?: T[];\n /** Value for controlled state */\n value?: T[];\n /** Controlled state onChange handler */\n onChange?: (values: T[]) => void;\n}\n\ninterface ListHandlers<T> {\n /** Appends the item at the end of the list */\n append: (item: T) => void;\n /** Removes the item at the index from the list */\n remove: (index: number) => void;\n /** Moves the item at the \"from\" position to another position within the list */\n reorder: ({from, to}: {from: number; to: number}) => void;\n}\n\n/**\n * Manage a list of items in a controlled fashion, to be used with inputs\n */\nexport const useControlledList = <T>({defaultValue, value, onChange}: UseControlledList<T>): [T[], ListHandlers<T>] => {\n const [values, handleChange] = useUncontrolled({\n value,\n defaultValue,\n finalValue: [],\n onChange,\n });\n\n const remove = (index: number) => {\n const newValues = values.filter((_, i) => i !== index);\n handleChange?.(newValues);\n };\n\n const append = (item: T) => {\n const newValues = [...values, item];\n handleChange?.(newValues);\n };\n\n const reorder = ({from, to}: {from: number; to: number}) => {\n const newValues = [...values];\n const item = values[from];\n\n newValues.splice(from, 1);\n newValues.splice(to, 0, item);\n\n handleChange?.(newValues);\n };\n\n return [values, {remove, append, reorder}];\n};\n"],"names":["useControlledList","defaultValue","value","onChange","useUncontrolled","finalValue","values","handleChange","remove","index","newValues","filter","_","i","append","item","reorder","from","to","splice"],"mappings":";;;;+BAuBaA;;;eAAAA;;;;;qBAvBiB;AAuBvB,IAAMA,oBAAoB;QAAKC,qBAAAA,cAAcC,cAAAA,OAAOC,iBAAAA;IACvD,IAA+BC,sCAAAA,IAAAA,sBAAe,EAAC;QAC3CF,OAAAA;QACAD,cAAAA;QACAI,YAAY,EAAE;QACdF,UAAAA;IACJ,QALOG,SAAwBF,qBAAhBG,eAAgBH;IAO/B,IAAMI,SAAS,SAACC;QACZ,IAAMC,YAAYJ,OAAOK,MAAM,CAAC,SAACC,GAAGC;mBAAMA,MAAMJ;;QAChDF,yBAAAA,mCAAAA,aAAeG;IACnB;IAEA,IAAMI,SAAS,SAACC;QACZ,IAAML,YAAY,AAAC,uBAAGJ,eAAJ;YAAYS;SAAK;QACnCR,yBAAAA,mCAAAA,aAAeG;IACnB;IAEA,IAAMM,UAAU;YAAEC,aAAAA,MAAMC,WAAAA;QACpB,IAAMR,YAAa,uBAAGJ;QACtB,IAAMS,OAAOT,MAAM,CAACW,KAAK;QAEzBP,UAAUS,MAAM,CAACF,MAAM;QACvBP,UAAUS,MAAM,CAACD,IAAI,GAAGH;QAExBR,yBAAAA,mCAAAA,aAAeG;IACnB;IAEA,OAAO;QAACJ;QAAQ;YAACE,QAAAA;YAAQM,QAAAA;YAAQE,SAAAA;QAAO;KAAE;AAC9C"}
@@ -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,MAAM,gBAAgB,CAAC,cAAc,CAAC,CAWjF,CAAC"}
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"}