@coveord/plasma-mantine 52.5.0 → 52.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (223) hide show
  1. package/.turbo/turbo-build.log +3 -3
  2. package/.turbo/turbo-test.log +31 -30
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/cjs/components/blank-slate/BlankSlate.js.map +1 -1
  5. package/dist/cjs/components/button/Button.js.map +1 -1
  6. package/dist/cjs/components/button/ButtonWithDisabledTooltip.js.map +1 -1
  7. package/dist/cjs/components/code-editor/CodeEditor.js.map +1 -1
  8. package/dist/cjs/components/code-editor/languages/xml.js.map +1 -1
  9. package/dist/cjs/components/collection/Collection.js.map +1 -1
  10. package/dist/cjs/components/collection/Collection.styles.js.map +1 -1
  11. package/dist/cjs/components/collection/CollectionItem.js.map +1 -1
  12. package/dist/cjs/components/copyToClipboard/CopyToClipboard.js.map +1 -1
  13. package/dist/cjs/components/date-range-picker/DateRangePickerInlineCalendar.js +5 -5
  14. package/dist/cjs/components/date-range-picker/DateRangePickerInlineCalendar.js.map +1 -1
  15. package/dist/cjs/components/date-range-picker/DateRangePickerPopoverCalendar.js.map +1 -1
  16. package/dist/cjs/components/date-range-picker/DateRangePickerPresetSelect.js.map +1 -1
  17. package/dist/cjs/components/date-range-picker/EditableDateRangePicker.js.map +1 -1
  18. package/dist/cjs/components/header/Header.d.ts.map +1 -1
  19. package/dist/cjs/components/header/Header.js +3 -0
  20. package/dist/cjs/components/header/Header.js.map +1 -1
  21. package/dist/cjs/components/header/__tests__/__snapshots__/Header.spec.tsx.snap +1 -1
  22. package/dist/cjs/components/inline-confirm/InlineConfirm.js.map +1 -1
  23. package/dist/cjs/components/inline-confirm/InlineConfirmButton.js.map +1 -1
  24. package/dist/cjs/components/inline-confirm/InlineConfirmContext.js.map +1 -1
  25. package/dist/cjs/components/inline-confirm/InlineConfirmMenuItem.js.map +1 -1
  26. package/dist/cjs/components/inline-confirm/InlineConfirmPrompt.js.map +1 -1
  27. package/dist/cjs/components/inline-confirm/useInlineConfirm.js.map +1 -1
  28. package/dist/cjs/components/menu/Menu.js.map +1 -1
  29. package/dist/cjs/components/modal-wizard/ModalWizard.js.map +1 -1
  30. package/dist/cjs/components/modal-wizard/ModalWizardStep.js.map +1 -1
  31. package/dist/cjs/components/prompt/Prompt.js.map +1 -1
  32. package/dist/cjs/components/prompt/PromptFooter.js.map +1 -1
  33. package/dist/cjs/components/sticky-footer/StickyFooter.js.map +1 -1
  34. package/dist/cjs/components/table/Table.d.ts.map +1 -1
  35. package/dist/cjs/components/table/Table.js +33 -84
  36. package/dist/cjs/components/table/Table.js.map +1 -1
  37. package/dist/cjs/components/table/Table.styles.d.ts +2 -4
  38. package/dist/cjs/components/table/Table.styles.d.ts.map +1 -1
  39. package/dist/cjs/components/table/Table.styles.js +7 -25
  40. package/dist/cjs/components/table/Table.styles.js.map +1 -1
  41. package/dist/cjs/components/table/Table.types.d.ts +68 -2
  42. package/dist/cjs/components/table/Table.types.d.ts.map +1 -1
  43. package/dist/cjs/components/table/TableActions.d.ts +12 -2
  44. package/dist/cjs/components/table/TableActions.d.ts.map +1 -1
  45. package/dist/cjs/components/table/TableActions.js +29 -7
  46. package/dist/cjs/components/table/TableActions.js.map +1 -1
  47. package/dist/cjs/components/table/TableCollapsibleColumn.js.map +1 -1
  48. package/dist/cjs/components/table/TableContext.js.map +1 -1
  49. package/dist/cjs/components/table/TableDateRangePicker.d.ts +12 -1
  50. package/dist/cjs/components/table/TableDateRangePicker.d.ts.map +1 -1
  51. package/dist/cjs/components/table/TableDateRangePicker.js +38 -12
  52. package/dist/cjs/components/table/TableDateRangePicker.js.map +1 -1
  53. package/dist/cjs/components/table/TableFilter.d.ts +1 -0
  54. package/dist/cjs/components/table/TableFilter.d.ts.map +1 -1
  55. package/dist/cjs/components/table/TableFilter.js +3 -1
  56. package/dist/cjs/components/table/TableFilter.js.map +1 -1
  57. package/dist/cjs/components/table/TableFooter.js.map +1 -1
  58. package/dist/cjs/components/table/TableHeader.d.ts.map +1 -1
  59. package/dist/cjs/components/table/TableHeader.js +5 -2
  60. package/dist/cjs/components/table/TableHeader.js.map +1 -1
  61. package/dist/cjs/components/table/TableLayoutControl.d.ts +3 -0
  62. package/dist/cjs/components/table/TableLayoutControl.d.ts.map +1 -0
  63. package/dist/cjs/components/table/TableLayoutControl.js +50 -0
  64. package/dist/cjs/components/table/TableLayoutControl.js.map +1 -0
  65. package/dist/cjs/components/table/TableLoading.d.ts +4 -0
  66. package/dist/cjs/components/table/TableLoading.d.ts.map +1 -0
  67. package/dist/cjs/components/table/TableLoading.js +28 -0
  68. package/dist/cjs/components/table/TableLoading.js.map +1 -0
  69. package/dist/cjs/components/table/TablePagination.js.map +1 -1
  70. package/dist/cjs/components/table/TablePerPage.js.map +1 -1
  71. package/dist/cjs/components/table/TablePredicate.d.ts +12 -2
  72. package/dist/cjs/components/table/TablePredicate.d.ts.map +1 -1
  73. package/dist/cjs/components/table/TablePredicate.js +29 -4
  74. package/dist/cjs/components/table/TablePredicate.js.map +1 -1
  75. package/dist/cjs/components/table/TableSelectableColumn.js.map +1 -1
  76. package/dist/cjs/components/table/Th.d.ts.map +1 -1
  77. package/dist/cjs/components/table/Th.js +2 -1
  78. package/dist/cjs/components/table/Th.js.map +1 -1
  79. package/dist/cjs/components/table/index.d.ts +1 -0
  80. package/dist/cjs/components/table/index.d.ts.map +1 -1
  81. package/dist/cjs/components/table/index.js +12 -3
  82. package/dist/cjs/components/table/index.js.map +1 -1
  83. package/dist/cjs/components/table/layouts/RowLayout.d.ts +3 -0
  84. package/dist/cjs/components/table/layouts/RowLayout.d.ts.map +1 -0
  85. package/dist/cjs/components/table/layouts/RowLayout.js +156 -0
  86. package/dist/cjs/components/table/layouts/RowLayout.js.map +1 -0
  87. package/dist/cjs/components/table/layouts/TableLayouts.d.ts +4 -0
  88. package/dist/cjs/components/table/layouts/TableLayouts.d.ts.map +1 -0
  89. package/dist/cjs/components/table/layouts/TableLayouts.js +16 -0
  90. package/dist/cjs/components/table/layouts/TableLayouts.js.map +1 -0
  91. package/dist/cjs/components/table/useRowSelection.js.map +1 -1
  92. package/dist/cjs/form/FormProvider.js.map +1 -1
  93. package/dist/cjs/form/useForm.js.map +1 -1
  94. package/dist/cjs/hooks/useControlledList.js.map +1 -1
  95. package/dist/cjs/hooks/useParentHeight.js.map +1 -1
  96. package/dist/cjs/index.js.map +1 -1
  97. package/dist/cjs/theme/PlasmaColors.js.map +1 -1
  98. package/dist/cjs/theme/Plasmantine.js.map +1 -1
  99. package/dist/cjs/theme/Theme.js +12 -10
  100. package/dist/cjs/theme/Theme.js.map +1 -1
  101. package/dist/cjs/utils/createPolymorphicComponent.js.map +1 -1
  102. package/dist/cjs/utils/overrideComponent.js.map +1 -1
  103. package/dist/esm/components/blank-slate/BlankSlate.js.map +1 -1
  104. package/dist/esm/components/button/Button.js.map +1 -1
  105. package/dist/esm/components/button/ButtonWithDisabledTooltip.js.map +1 -1
  106. package/dist/esm/components/code-editor/CodeEditor.js.map +1 -1
  107. package/dist/esm/components/code-editor/languages/xml.js.map +1 -1
  108. package/dist/esm/components/collection/Collection.js.map +1 -1
  109. package/dist/esm/components/collection/Collection.styles.js.map +1 -1
  110. package/dist/esm/components/collection/CollectionItem.js.map +1 -1
  111. package/dist/esm/components/copyToClipboard/CopyToClipboard.js.map +1 -1
  112. package/dist/esm/components/date-range-picker/DateRangePickerInlineCalendar.js +5 -5
  113. package/dist/esm/components/date-range-picker/DateRangePickerInlineCalendar.js.map +1 -1
  114. package/dist/esm/components/date-range-picker/DateRangePickerPopoverCalendar.js.map +1 -1
  115. package/dist/esm/components/date-range-picker/DateRangePickerPresetSelect.js.map +1 -1
  116. package/dist/esm/components/date-range-picker/EditableDateRangePicker.js.map +1 -1
  117. package/dist/esm/components/header/Header.d.ts.map +1 -1
  118. package/dist/esm/components/header/Header.js +3 -0
  119. package/dist/esm/components/header/Header.js.map +1 -1
  120. package/dist/esm/components/header/__tests__/__snapshots__/Header.spec.tsx.snap +1 -1
  121. package/dist/esm/components/inline-confirm/InlineConfirm.js.map +1 -1
  122. package/dist/esm/components/inline-confirm/InlineConfirmButton.js.map +1 -1
  123. package/dist/esm/components/inline-confirm/InlineConfirmContext.js.map +1 -1
  124. package/dist/esm/components/inline-confirm/InlineConfirmMenuItem.js.map +1 -1
  125. package/dist/esm/components/inline-confirm/InlineConfirmPrompt.js.map +1 -1
  126. package/dist/esm/components/inline-confirm/useInlineConfirm.js.map +1 -1
  127. package/dist/esm/components/menu/Menu.js.map +1 -1
  128. package/dist/esm/components/modal-wizard/ModalWizard.js.map +1 -1
  129. package/dist/esm/components/modal-wizard/ModalWizardStep.js.map +1 -1
  130. package/dist/esm/components/prompt/Prompt.js.map +1 -1
  131. package/dist/esm/components/prompt/PromptFooter.js.map +1 -1
  132. package/dist/esm/components/sticky-footer/StickyFooter.js.map +1 -1
  133. package/dist/esm/components/table/Table.d.ts.map +1 -1
  134. package/dist/esm/components/table/Table.js +36 -87
  135. package/dist/esm/components/table/Table.js.map +1 -1
  136. package/dist/esm/components/table/Table.styles.d.ts +2 -4
  137. package/dist/esm/components/table/Table.styles.d.ts.map +1 -1
  138. package/dist/esm/components/table/Table.styles.js +7 -25
  139. package/dist/esm/components/table/Table.styles.js.map +1 -1
  140. package/dist/esm/components/table/Table.types.d.ts +68 -2
  141. package/dist/esm/components/table/Table.types.d.ts.map +1 -1
  142. package/dist/esm/components/table/Table.types.js.map +1 -1
  143. package/dist/esm/components/table/TableActions.d.ts +12 -2
  144. package/dist/esm/components/table/TableActions.d.ts.map +1 -1
  145. package/dist/esm/components/table/TableActions.js +30 -8
  146. package/dist/esm/components/table/TableActions.js.map +1 -1
  147. package/dist/esm/components/table/TableCollapsibleColumn.js.map +1 -1
  148. package/dist/esm/components/table/TableContext.js.map +1 -1
  149. package/dist/esm/components/table/TableDateRangePicker.d.ts +12 -1
  150. package/dist/esm/components/table/TableDateRangePicker.d.ts.map +1 -1
  151. package/dist/esm/components/table/TableDateRangePicker.js +39 -13
  152. package/dist/esm/components/table/TableDateRangePicker.js.map +1 -1
  153. package/dist/esm/components/table/TableFilter.d.ts +1 -0
  154. package/dist/esm/components/table/TableFilter.d.ts.map +1 -1
  155. package/dist/esm/components/table/TableFilter.js +3 -1
  156. package/dist/esm/components/table/TableFilter.js.map +1 -1
  157. package/dist/esm/components/table/TableFooter.js.map +1 -1
  158. package/dist/esm/components/table/TableHeader.d.ts.map +1 -1
  159. package/dist/esm/components/table/TableHeader.js +5 -2
  160. package/dist/esm/components/table/TableHeader.js.map +1 -1
  161. package/dist/esm/components/table/TableLayoutControl.d.ts +3 -0
  162. package/dist/esm/components/table/TableLayoutControl.d.ts.map +1 -0
  163. package/dist/esm/components/table/TableLayoutControl.js +40 -0
  164. package/dist/esm/components/table/TableLayoutControl.js.map +1 -0
  165. package/dist/esm/components/table/TableLoading.d.ts +4 -0
  166. package/dist/esm/components/table/TableLoading.d.ts.map +1 -0
  167. package/dist/esm/components/table/TableLoading.js +18 -0
  168. package/dist/esm/components/table/TableLoading.js.map +1 -0
  169. package/dist/esm/components/table/TablePagination.js.map +1 -1
  170. package/dist/esm/components/table/TablePerPage.js.map +1 -1
  171. package/dist/esm/components/table/TablePredicate.d.ts +12 -2
  172. package/dist/esm/components/table/TablePredicate.d.ts.map +1 -1
  173. package/dist/esm/components/table/TablePredicate.js +30 -5
  174. package/dist/esm/components/table/TablePredicate.js.map +1 -1
  175. package/dist/esm/components/table/TableSelectableColumn.js.map +1 -1
  176. package/dist/esm/components/table/Th.d.ts.map +1 -1
  177. package/dist/esm/components/table/Th.js +2 -1
  178. package/dist/esm/components/table/Th.js.map +1 -1
  179. package/dist/esm/components/table/index.d.ts +1 -0
  180. package/dist/esm/components/table/index.d.ts.map +1 -1
  181. package/dist/esm/components/table/index.js +1 -0
  182. package/dist/esm/components/table/index.js.map +1 -1
  183. package/dist/esm/components/table/layouts/RowLayout.d.ts +3 -0
  184. package/dist/esm/components/table/layouts/RowLayout.d.ts.map +1 -0
  185. package/dist/esm/components/table/layouts/RowLayout.js +146 -0
  186. package/dist/esm/components/table/layouts/RowLayout.js.map +1 -0
  187. package/dist/esm/components/table/layouts/TableLayouts.d.ts +4 -0
  188. package/dist/esm/components/table/layouts/TableLayouts.d.ts.map +1 -0
  189. package/dist/esm/components/table/layouts/TableLayouts.js +6 -0
  190. package/dist/esm/components/table/layouts/TableLayouts.js.map +1 -0
  191. package/dist/esm/components/table/useRowSelection.js.map +1 -1
  192. package/dist/esm/form/FormProvider.js.map +1 -1
  193. package/dist/esm/form/useForm.js.map +1 -1
  194. package/dist/esm/hooks/useControlledList.js.map +1 -1
  195. package/dist/esm/hooks/useParentHeight.js.map +1 -1
  196. package/dist/esm/theme/PlasmaColors.js.map +1 -1
  197. package/dist/esm/theme/Theme.js +12 -10
  198. package/dist/esm/theme/Theme.js.map +1 -1
  199. package/dist/esm/utils/overrideComponent.js.map +1 -1
  200. package/package.json +10 -10
  201. package/src/__tests__/VitestSetup.ts +7 -5
  202. package/src/components/date-range-picker/DateRangePickerInlineCalendar.tsx +3 -3
  203. package/src/components/header/Header.tsx +5 -1
  204. package/src/components/header/__tests__/Header.spec.tsx +1 -1
  205. package/src/components/header/__tests__/__snapshots__/Header.spec.tsx.snap +1 -1
  206. package/src/components/table/Table.styles.ts +33 -63
  207. package/src/components/table/Table.tsx +42 -83
  208. package/src/components/table/Table.types.ts +71 -2
  209. package/src/components/table/TableActions.tsx +22 -6
  210. package/src/components/table/TableDateRangePicker.tsx +34 -12
  211. package/src/components/table/TableFilter.tsx +4 -3
  212. package/src/components/table/TableHeader.tsx +10 -2
  213. package/src/components/table/TableLayoutControl.tsx +29 -0
  214. package/src/components/table/TableLoading.tsx +8 -0
  215. package/src/components/table/TablePredicate.tsx +24 -7
  216. package/src/components/table/Th.tsx +1 -0
  217. package/src/components/table/__tests__/Table.spec.tsx +140 -316
  218. package/src/components/table/__tests__/TableDateRangePicker.spec.tsx +41 -14
  219. package/src/components/table/index.ts +1 -0
  220. package/src/components/table/layouts/RowLayout.tsx +150 -0
  221. package/src/components/table/layouts/TableLayouts.tsx +5 -0
  222. package/src/components/table/layouts/__tests__/RowLayout.spec.tsx +296 -0
  223. package/src/theme/Theme.tsx +10 -10
@@ -1,26 +1,48 @@
1
+ import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
2
+ import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
3
+ import { _ as _object_without_properties } from "@swc/helpers/_/_object_without_properties";
1
4
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { Grid, Group } from "@mantine/core";
5
+ import { createStyles, Grid, Group } from "@mantine/core";
3
6
  import { TableComponentsOrder } from "./Table.styles";
4
7
  import { useTable } from "./TableContext";
5
- export var TableActions = function(param) {
6
- var children = param.children;
8
+ var useStyles = createStyles(function(theme) {
9
+ return {
10
+ root: {},
11
+ wrapper: {
12
+ display: "inline-flex"
13
+ }
14
+ };
15
+ });
16
+ export var TableActions = function(_param) {
17
+ var children = _param.children, classNames = _param.classNames, styles = _param.styles, unstyled = _param.unstyled, others = _object_without_properties(_param, [
18
+ "children",
19
+ "classNames",
20
+ "styles",
21
+ "unstyled"
22
+ ]);
23
+ var classes = useStyles(null, {
24
+ name: "TableActions",
25
+ classNames: classNames,
26
+ styles: styles,
27
+ unstyled: unstyled
28
+ }).classes;
7
29
  var _useTable = useTable(), getSelectedRows = _useTable.getSelectedRows, multiRowSelectionEnabled = _useTable.multiRowSelectionEnabled;
8
30
  var selectedRows = getSelectedRows();
9
31
  if (selectedRows.length <= 0) {
10
32
  return null;
11
33
  }
12
- return /*#__PURE__*/ _jsx(Grid.Col, {
34
+ return /*#__PURE__*/ _jsx(Grid.Col, _object_spread_props(_object_spread({
13
35
  span: "content",
14
36
  order: TableComponentsOrder.Actions,
15
37
  py: "sm",
38
+ className: classes.root
39
+ }, others), {
16
40
  children: /*#__PURE__*/ _jsx(Group, {
17
41
  spacing: "xs",
18
- style: {
19
- display: "inline-flex"
20
- },
42
+ className: classes.wrapper,
21
43
  children: multiRowSelectionEnabled ? children(selectedRows) : children(selectedRows[0])
22
44
  })
23
- });
45
+ }));
24
46
  };
25
47
 
26
48
  //# sourceMappingURL=TableActions.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/table/TableActions.tsx"],"sourcesContent":["import {Grid, Group} from '@mantine/core';\nimport {ReactElement, ReactNode} from 'react';\nimport {TableComponentsOrder} from './Table.styles';\n\nimport {useTable} from './TableContext';\n\ninterface TableActionsProps<T> {\n /**\n * Function that return components for the selected row or selected rows when multi row selection is enabled\n *\n * @param datum the data of the selected row(s)\n * @example\n * <Table.Actions<MyType>>\n * {(datum: MyType) => (\n * <Button\n * component={Link}\n * to={`edit/${datum.id}`}\n * leftIcon={<EditSize24Px />}\n * variant=\"subtle\"\n * color=\"navyBlue.8\"\n * >\n * Edit\n * </Button>\n * )}\n * </Table.Actions>\n */\n children: ((datum: T) => ReactNode) | ((data: T[]) => ReactNode);\n}\n\nexport const TableActions = <T,>({children}: TableActionsProps<T>): ReactElement => {\n const {getSelectedRows, multiRowSelectionEnabled} = useTable<T>();\n const selectedRows = getSelectedRows();\n\n if (selectedRows.length <= 0) {\n return null;\n }\n\n return (\n <Grid.Col span=\"content\" order={TableComponentsOrder.Actions} py=\"sm\">\n <Group spacing=\"xs\" style={{display: 'inline-flex'}}>\n {multiRowSelectionEnabled\n ? (children as (data: T[]) => ReactNode)(selectedRows)\n : (children as (datum: T) => ReactNode)(selectedRows[0])}\n </Group>\n </Grid.Col>\n );\n};\n"],"names":["Grid","Group","TableComponentsOrder","useTable","TableActions","children","getSelectedRows","multiRowSelectionEnabled","selectedRows","length","Col","span","order","Actions","py","spacing","style","display"],"mappings":";AAAA,SAAQA,IAAI,EAAEC,KAAK,QAAO,gBAAgB;AAE1C,SAAQC,oBAAoB,QAAO,iBAAiB;AAEpD,SAAQC,QAAQ,QAAO,iBAAiB;AAyBxC,OAAO,IAAMC,eAAe,gBAAwD;QAAlDC,iBAAAA;IAC9B,IAAoDF,YAAAA,YAA7CG,kBAA6CH,UAA7CG,iBAAiBC,2BAA4BJ,UAA5BI;IACxB,IAAMC,eAAeF;IAErB,IAAIE,aAAaC,MAAM,IAAI,GAAG;QAC1B,OAAO,IAAI;IACf,CAAC;IAED,qBACI,KAACT,KAAKU,GAAG;QAACC,MAAK;QAAUC,OAAOV,qBAAqBW,OAAO;QAAEC,IAAG;kBAC7D,cAAA,KAACb;YAAMc,SAAQ;YAAKC,OAAO;gBAACC,SAAS;YAAa;sBAC7CV,2BACK,AAACF,SAAsCG,gBACvC,AAACH,SAAqCG,YAAY,CAAC,EAAE,CAAC;;;AAI5E,EAAE"}
1
+ {"version":3,"sources":["../../../../src/components/table/TableActions.tsx"],"sourcesContent":["import {createStyles, DefaultProps, Grid, Group, Selectors} from '@mantine/core';\nimport {ReactElement, ReactNode} from 'react';\n\nimport {TableComponentsOrder} from './Table.styles';\nimport {useTable} from './TableContext';\n\nconst useStyles = createStyles((theme) => ({\n root: {},\n wrapper: {\n display: 'inline-flex',\n },\n}));\n\ntype TableActionsStylesNames = Selectors<typeof useStyles>;\n\ninterface TableActionsProps<T> extends DefaultProps<TableActionsStylesNames> {\n /**\n * Function that return components for the selected row or selected rows when multi row selection is enabled\n *\n * @param datum the data of the selected row(s)\n * @example\n * <Table.Actions<MyType>>\n * {(datum: MyType) => (\n * <Button\n * component={Link}\n * to={`edit/${datum.id}`}\n * leftIcon={<EditSize24Px />}\n * variant=\"subtle\"\n * color=\"navyBlue.8\"\n * >\n * Edit\n * </Button>\n * )}\n * </Table.Actions>\n */\n children: ((datum: T) => ReactNode) | ((data: T[]) => ReactNode);\n}\n\nexport const TableActions = <T,>({\n children,\n classNames,\n styles,\n unstyled,\n ...others\n}: TableActionsProps<T>): ReactElement => {\n const {classes} = useStyles(null, {name: 'TableActions', classNames, styles, unstyled});\n const {getSelectedRows, multiRowSelectionEnabled} = useTable<T>();\n const selectedRows = getSelectedRows();\n\n if (selectedRows.length <= 0) {\n return null;\n }\n\n return (\n <Grid.Col span=\"content\" order={TableComponentsOrder.Actions} py=\"sm\" className={classes.root} {...others}>\n <Group spacing=\"xs\" className={classes.wrapper}>\n {multiRowSelectionEnabled\n ? (children as (data: T[]) => ReactNode)(selectedRows)\n : (children as (datum: T) => ReactNode)(selectedRows[0])}\n </Group>\n </Grid.Col>\n );\n};\n"],"names":["createStyles","Grid","Group","TableComponentsOrder","useTable","useStyles","theme","root","wrapper","display","TableActions","children","classNames","styles","unstyled","others","classes","name","getSelectedRows","multiRowSelectionEnabled","selectedRows","length","Col","span","order","Actions","py","className","spacing"],"mappings":";;;;AAAA,SAAQA,YAAY,EAAgBC,IAAI,EAAEC,KAAK,QAAkB,gBAAgB;AAGjF,SAAQC,oBAAoB,QAAO,iBAAiB;AACpD,SAAQC,QAAQ,QAAO,iBAAiB;AAExC,IAAMC,YAAYL,aAAa,SAACM;WAAW;QACvCC,MAAM,CAAC;QACPC,SAAS;YACLC,SAAS;QACb;IACJ;;AA2BA,OAAO,IAAMC,eAAe;QACxBC,kBAAAA,UACAC,oBAAAA,YACAC,gBAAAA,QACAC,kBAAAA,UACGC;QAJHJ;QACAC;QACAC;QACAC;;IAGA,IAAM,AAACE,UAAWX,UAAU,MAAM;QAACY,MAAM;QAAgBL,YAAAA;QAAYC,QAAAA;QAAQC,UAAAA;IAAQ,GAA9EE;IACP,IAAoDZ,YAAAA,YAA7Cc,kBAA6Cd,UAA7Cc,iBAAiBC,2BAA4Bf,UAA5Be;IACxB,IAAMC,eAAeF;IAErB,IAAIE,aAAaC,UAAU,GAAG;QAC1B,OAAO;IACX;IAEA,qBACI,KAACpB,KAAKqB;QAAIC,MAAK;QAAUC,OAAOrB,qBAAqBsB;QAASC,IAAG;QAAKC,WAAWX,QAAQT;OAAUQ;kBAC/F,cAAA,KAACb;YAAM0B,SAAQ;YAAKD,WAAWX,QAAQR;sBAClCW,2BACK,AAACR,SAAsCS,gBACvC,AAACT,SAAqCS,YAAY,CAAC,EAAE;;;AAI3E,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/table/TableCollapsibleColumn.tsx"],"sourcesContent":["import {ArrowHeadDownSize24Px, ArrowHeadUpSize24Px} from '@coveord/plasma-react-icons';\nimport {ActionIcon} from '@mantine/core';\nimport {CellContext, ColumnDef} from '@tanstack/table-core';\nimport {FunctionComponent, MouseEvent as ReactMouseEvent} from 'react';\n\nconst defaultProps: ColumnDef<unknown> = {\n id: 'collapsible',\n enableSorting: false,\n header: '',\n size: 62,\n};\n\n/**\n * Generic column to use when your table needs collapsible rows\n */\nexport const TableCollapsibleColumn: ColumnDef<unknown> = {\n ...defaultProps,\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 ...defaultProps,\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\nconst CollapsibleIcon: FunctionComponent<{\n info: CellContext<unknown, unknown>;\n onToggle?: (e: ReactMouseEvent<HTMLButtonElement>) => void;\n}> = ({info, onToggle}) => {\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 onClick={onClick} variant=\"subtle\" radius=\"sm\">\n {info.row.getIsExpanded() ? <ArrowHeadUpSize24Px /> : <ArrowHeadDownSize24Px />}\n </ActionIcon>\n ) : null;\n};\n"],"names":["ArrowHeadDownSize24Px","ArrowHeadUpSize24Px","ActionIcon","defaultProps","id","enableSorting","header","size","TableCollapsibleColumn","cell","info","CollapsibleIcon","TableAccordionColumn","onToggle","row","getIsExpanded","table","toggleAllRowsExpanded","handler","getToggleExpandedHandler","onClick","e","stopPropagation","getCanExpand","variant","radius"],"mappings":";;;AAAA,SAAQA,qBAAqB,EAAEC,mBAAmB,QAAO,8BAA8B;AACvF,SAAQC,UAAU,QAAO,gBAAgB;AAIzC,IAAMC,eAAmC;IACrCC,IAAI;IACJC,eAAe,KAAK;IACpBC,QAAQ;IACRC,MAAM;AACV;AAEA;;CAEC,GACD,OAAO,IAAMC,yBAA6C,wCACnDL;IACHM,MAAM,SAACC;6BAAS,KAACC;YAAgBD,MAAMA;;;GACzC;AAEF;;CAEC,GACD,OAAO,IAAME,uBAA2C,wCACjDT;IACHM,MAAM,SAACC,MAAS;QACZ,IAAMG,WAAW,WAAM;YACnB,4DAA4D;YAC5D,IAAI,CAACH,KAAKI,GAAG,CAACC,aAAa,IAAI;gBAC3BL,KAAKM,KAAK,CAACC,qBAAqB,CAAC,KAAK;YAC1C,CAAC;QACL;QAEA,qBAAO,KAACN;YAAgBE,UAAUA;YAAUH,MAAMA;;IACtD;GACF;AAEF,IAAMC,kBAGD,gBAAsB;QAApBD,aAAAA,MAAMG,iBAAAA;IACT,IAAMK,UAAUR,KAAKI,GAAG,CAACK,wBAAwB;IACjD,IAAMC,UAAU,SAACC,GAA0C;QACvDA,EAAEC,eAAe;QACjBT,qBAAAA,sBAAAA,KAAAA,IAAAA,SAAWQ;QACXH;IACJ;IACA,OAAOR,KAAKI,GAAG,CAACS,YAAY,mBACxB,KAACrB;QAAWkB,SAASA;QAASI,SAAQ;QAASC,QAAO;kBACjDf,KAAKI,GAAG,CAACC,aAAa,mBAAK,KAACd,yCAAyB,KAACD,0BAAwB;SAEnF,IAAI;AACZ"}
1
+ {"version":3,"sources":["../../../../src/components/table/TableCollapsibleColumn.tsx"],"sourcesContent":["import {ArrowHeadDownSize24Px, ArrowHeadUpSize24Px} from '@coveord/plasma-react-icons';\nimport {ActionIcon} from '@mantine/core';\nimport {CellContext, ColumnDef} from '@tanstack/table-core';\nimport {FunctionComponent, MouseEvent as ReactMouseEvent} from 'react';\n\nconst defaultProps: ColumnDef<unknown> = {\n id: 'collapsible',\n enableSorting: false,\n header: '',\n size: 62,\n};\n\n/**\n * Generic column to use when your table needs collapsible rows\n */\nexport const TableCollapsibleColumn: ColumnDef<unknown> = {\n ...defaultProps,\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 ...defaultProps,\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\nconst CollapsibleIcon: FunctionComponent<{\n info: CellContext<unknown, unknown>;\n onToggle?: (e: ReactMouseEvent<HTMLButtonElement>) => void;\n}> = ({info, onToggle}) => {\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 onClick={onClick} variant=\"subtle\" radius=\"sm\">\n {info.row.getIsExpanded() ? <ArrowHeadUpSize24Px /> : <ArrowHeadDownSize24Px />}\n </ActionIcon>\n ) : null;\n};\n"],"names":["ArrowHeadDownSize24Px","ArrowHeadUpSize24Px","ActionIcon","defaultProps","id","enableSorting","header","size","TableCollapsibleColumn","cell","info","CollapsibleIcon","TableAccordionColumn","onToggle","row","getIsExpanded","table","toggleAllRowsExpanded","handler","getToggleExpandedHandler","onClick","e","stopPropagation","getCanExpand","variant","radius"],"mappings":";;;AAAA,SAAQA,qBAAqB,EAAEC,mBAAmB,QAAO,8BAA8B;AACvF,SAAQC,UAAU,QAAO,gBAAgB;AAIzC,IAAMC,eAAmC;IACrCC,IAAI;IACJC,eAAe;IACfC,QAAQ;IACRC,MAAM;AACV;AAEA;;CAEC,GACD,OAAO,IAAMC,yBAA6C,wCACnDL;IACHM,MAAM,SAACC;6BAAS,KAACC;YAAgBD,MAAMA;;;GACzC;AAEF;;CAEC,GACD,OAAO,IAAME,uBAA2C,wCACjDT;IACHM,MAAM,SAACC;QACH,IAAMG,WAAW;YACb,4DAA4D;YAC5D,IAAI,CAACH,KAAKI,IAAIC,iBAAiB;gBAC3BL,KAAKM,MAAMC,sBAAsB;YACrC;QACJ;QAEA,qBAAO,KAACN;YAAgBE,UAAUA;YAAUH,MAAMA;;IACtD;GACF;AAEF,IAAMC,kBAGD;QAAED,aAAAA,MAAMG,iBAAAA;IACT,IAAMK,UAAUR,KAAKI,IAAIK;IACzB,IAAMC,UAAU,SAACC;QACbA,EAAEC;QACFT,qBAAAA,sBAAAA,KAAAA,IAAAA,SAAWQ;QACXH;IACJ;IACA,OAAOR,KAAKI,IAAIS,+BACZ,KAACrB;QAAWkB,SAASA;QAASI,SAAQ;QAASC,QAAO;kBACjDf,KAAKI,IAAIC,gCAAkB,KAACd,yCAAyB,KAACD;SAE3D;AACR"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/table/TableContext.tsx"],"sourcesContent":["import {createContext, useContext} from 'react';\n\nimport {TableContextType} from './Table.types';\n\nexport const TableContext = createContext<TableContextType<any> | null>(null);\n\nexport const useTable = <T,>(): TableContextType<T> => {\n const ctx = useContext(TableContext);\n if (ctx === null) {\n throw new Error('useTable must be used inside of a TableContext.Provider');\n }\n\n return ctx;\n};\n"],"names":["createContext","useContext","TableContext","useTable","ctx","Error"],"mappings":"AAAA,SAAQA,aAAa,EAAEC,UAAU,QAAO,QAAQ;AAIhD,OAAO,IAAMC,6BAAeF,cAA4C,IAAI,EAAE;AAE9E,OAAO,IAAMG,WAAW,WAA+B;IACnD,IAAMC,MAAMH,WAAWC;IACvB,IAAIE,QAAQ,IAAI,EAAE;QACd,MAAM,IAAIC,MAAM,2DAA2D;IAC/E,CAAC;IAED,OAAOD;AACX,EAAE"}
1
+ {"version":3,"sources":["../../../../src/components/table/TableContext.tsx"],"sourcesContent":["import {createContext, useContext} from 'react';\n\nimport {TableContextType} from './Table.types';\n\nexport const TableContext = createContext<TableContextType<any> | null>(null);\n\nexport const useTable = <T,>(): TableContextType<T> => {\n const ctx = useContext(TableContext);\n if (ctx === null) {\n throw new Error('useTable must be used inside of a TableContext.Provider');\n }\n\n return ctx;\n};\n"],"names":["createContext","useContext","TableContext","useTable","ctx","Error"],"mappings":"AAAA,SAAQA,aAAa,EAAEC,UAAU,QAAO,QAAQ;AAIhD,OAAO,IAAMC,6BAAeF,cAA4C,MAAM;AAE9E,OAAO,IAAMG,WAAW;IACpB,IAAMC,MAAMH,WAAWC;IACvB,IAAIE,QAAQ,MAAM;QACd,MAAM,IAAIC,MAAM;IACpB;IAEA,OAAOD;AACX,EAAE"}
@@ -1,6 +1,17 @@
1
+ import { DefaultProps, Selectors } from '@mantine/core';
1
2
  import { FunctionComponent } from 'react';
2
3
  import { DateRangePickerInlineCalendarProps, DateRangePickerPreset } from '../date-range-picker';
3
- interface TableDateRangePickerProps extends Pick<DateRangePickerInlineCalendarProps, 'startProps' | 'endProps' | 'rangeCalendarProps'> {
4
+ declare const useStyles: (params: void, options?: import("@mantine/core").UseStylesOptions<string>) => {
5
+ classes: {
6
+ root: string;
7
+ wrapper: string;
8
+ label: string;
9
+ };
10
+ cx: (...args: any) => string;
11
+ theme: import("@mantine/core").MantineTheme;
12
+ };
13
+ type TableDateRangePickerStylesNames = Selectors<typeof useStyles>;
14
+ interface TableDateRangePickerProps extends Pick<DateRangePickerInlineCalendarProps, 'startProps' | 'endProps' | 'rangeCalendarProps'>, DefaultProps<TableDateRangePickerStylesNames> {
4
15
  /**
5
16
  * An object containing date presets.
6
17
  * If empty the preset dropdown won't be shown
@@ -1 +1 @@
1
- {"version":3,"file":"TableDateRangePicker.d.ts","sourceRoot":"","sources":["../../../../src/components/table/TableDateRangePicker.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAC,iBAAiB,EAAW,MAAM,OAAO,CAAC;AAGlD,OAAO,EAEH,kCAAkC,EAClC,qBAAqB,EAExB,MAAM,sBAAsB,CAAC;AAI9B,UAAU,yBACN,SAAQ,IAAI,CAAC,kCAAkC,EAAE,YAAY,GAAG,UAAU,GAAG,oBAAoB,CAAC;IAClG;;;;;;;;;;OAUG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;CACnD;AAED,eAAO,MAAM,oBAAoB,EAAE,iBAAiB,CAAC,yBAAyB,CAyC7E,CAAC"}
1
+ {"version":3,"file":"TableDateRangePicker.d.ts","sourceRoot":"","sources":["../../../../src/components/table/TableDateRangePicker.tsx"],"names":[],"mappings":"AACA,OAAO,EAAe,YAAY,EAAwB,SAAS,EAAO,MAAM,eAAe,CAAC;AAGhG,OAAO,EAAC,iBAAiB,EAAC,MAAM,OAAO,CAAC;AAGxC,OAAO,EAEH,kCAAkC,EAClC,qBAAqB,EAExB,MAAM,sBAAsB,CAAC;AAI9B,QAAA,MAAM,SAAS;;;;;;;;CAIZ,CAAC;AAEJ,KAAK,+BAA+B,GAAG,SAAS,CAAC,OAAO,SAAS,CAAC,CAAC;AACnE,UAAU,yBACN,SAAQ,IAAI,CAAC,kCAAkC,EAAE,YAAY,GAAG,UAAU,GAAG,oBAAoB,CAAC,EAC9F,YAAY,CAAC,+BAA+B,CAAC;IACjD;;;;;;;;;;OAUG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;CACnD;AAED,eAAO,MAAM,oBAAoB,EAAE,iBAAiB,CAAC,yBAAyB,CAsD7E,CAAC"}
@@ -1,42 +1,68 @@
1
+ import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
2
+ import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
3
+ import { _ as _object_without_properties } from "@swc/helpers/_/_object_without_properties";
1
4
  import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
2
5
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
6
  import { CalendarSize24Px } from "@coveord/plasma-react-icons";
4
- import { Grid, Group, Popover, Text } from "@mantine/core";
7
+ import { createStyles, Grid, Group, Popover, Text } from "@mantine/core";
8
+ import { useToggle } from "@mantine/hooks";
5
9
  import dayjs from "dayjs";
6
- import { useState } from "react";
7
10
  import { Button } from "../button";
8
11
  import { DateRangePickerInlineCalendar } from "../date-range-picker";
9
12
  import { TableComponentsOrder } from "./Table.styles";
10
13
  import { useTable } from "./TableContext";
11
- export var TableDateRangePicker = function(param) {
12
- var _param_presets = param.presets, presets = _param_presets === void 0 ? {} : _param_presets, rangeCalendarProps = param.rangeCalendarProps;
13
- var _useState = _sliced_to_array(useState(false), 2), opened = _useState[0], setOpened = _useState[1];
14
+ var useStyles = createStyles(function(theme) {
15
+ return {
16
+ root: {},
17
+ wrapper: {},
18
+ label: {}
19
+ };
20
+ });
21
+ export var TableDateRangePicker = function(_param) {
22
+ var _param_presets = _param.presets, presets = _param_presets === void 0 ? {} : _param_presets, rangeCalendarProps = _param.rangeCalendarProps, classNames = _param.classNames, styles = _param.styles, unstyled = _param.unstyled, others = _object_without_properties(_param, [
23
+ "presets",
24
+ "rangeCalendarProps",
25
+ "classNames",
26
+ "styles",
27
+ "unstyled"
28
+ ]);
29
+ var classes = useStyles(null, {
30
+ name: "TableDateRangePicker",
31
+ classNames: classNames,
32
+ styles: styles,
33
+ unstyled: unstyled
34
+ }).classes;
35
+ var _useToggle = _sliced_to_array(useToggle(), 2), opened = _useToggle[0], toggleOpened = _useToggle[1];
14
36
  var form = useTable().form;
15
37
  var onApply = function(dates) {
16
38
  form.setFieldValue("dateRange", dates);
17
- setOpened(false);
39
+ toggleOpened(false);
18
40
  };
19
41
  var onCancel = function() {
20
- setOpened(false);
42
+ toggleOpened(false);
21
43
  };
22
44
  var formatDate = function(date) {
23
45
  return dayjs(date).format("MMM DD, YYYY");
24
46
  };
25
- var formatedRange = "".concat(formatDate(form.values.dateRange[0]), " - ").concat(formatDate(form.values.dateRange[1]));
26
- return /*#__PURE__*/ _jsx(Grid.Col, {
47
+ var formattedRange = "".concat(formatDate(form.values.dateRange[0]), " - ").concat(formatDate(form.values.dateRange[1]));
48
+ return /*#__PURE__*/ _jsx(Grid.Col, _object_spread_props(_object_spread({
27
49
  span: "content",
28
50
  order: TableComponentsOrder.DateRangePicker,
29
51
  py: "sm",
52
+ className: classes.root
53
+ }, others), {
30
54
  children: /*#__PURE__*/ _jsxs(Group, {
31
55
  spacing: "xs",
56
+ className: classes.wrapper,
32
57
  children: [
33
58
  /*#__PURE__*/ _jsx(Text, {
34
59
  span: true,
35
- children: formatedRange
60
+ className: classes.label,
61
+ children: formattedRange
36
62
  }),
37
63
  /*#__PURE__*/ _jsxs(Popover, {
38
64
  opened: opened,
39
- onChange: setOpened,
65
+ onChange: toggleOpened,
40
66
  withinPortal: true,
41
67
  children: [
42
68
  /*#__PURE__*/ _jsx(Popover.Target, {
@@ -44,7 +70,7 @@ export var TableDateRangePicker = function(param) {
44
70
  variant: "outline",
45
71
  color: "gray",
46
72
  onClick: function() {
47
- return setOpened(true);
73
+ return toggleOpened();
48
74
  },
49
75
  px: "xs",
50
76
  children: /*#__PURE__*/ _jsx(CalendarSize24Px, {
@@ -67,7 +93,7 @@ export var TableDateRangePicker = function(param) {
67
93
  })
68
94
  ]
69
95
  })
70
- });
96
+ }));
71
97
  };
72
98
 
73
99
  //# sourceMappingURL=TableDateRangePicker.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/table/TableDateRangePicker.tsx"],"sourcesContent":["import {CalendarSize24Px} from '@coveord/plasma-react-icons';\nimport {Grid, Group, Popover, Text} from '@mantine/core';\nimport dayjs from 'dayjs';\nimport {FunctionComponent, useState} from 'react';\n\nimport {Button} from '../button';\nimport {\n DateRangePickerInlineCalendar,\n DateRangePickerInlineCalendarProps,\n DateRangePickerPreset,\n DateRangePickerValue,\n} from '../date-range-picker';\nimport {TableComponentsOrder} from './Table.styles';\nimport {useTable} from './TableContext';\n\ninterface TableDateRangePickerProps\n extends 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 const TableDateRangePicker: FunctionComponent<TableDateRangePickerProps> = ({\n presets = {},\n rangeCalendarProps,\n}) => {\n const [opened, setOpened] = useState(false);\n const {form} = useTable();\n\n const onApply = (dates: DateRangePickerValue) => {\n form.setFieldValue('dateRange', 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 formatedRange = `${formatDate(form.values.dateRange[0])} - ${formatDate(form.values.dateRange[1])}`;\n\n return (\n <Grid.Col span=\"content\" order={TableComponentsOrder.DateRangePicker} py=\"sm\">\n <Group spacing=\"xs\">\n <Text span>{formatedRange}</Text>\n <Popover opened={opened} onChange={setOpened} withinPortal>\n <Popover.Target>\n <Button variant=\"outline\" color=\"gray\" onClick={() => setOpened(true)} px=\"xs\">\n <CalendarSize24Px width={24} height={24} />\n </Button>\n </Popover.Target>\n <Popover.Dropdown p={0}>\n <DateRangePickerInlineCalendar\n initialRange={form.values.dateRange}\n onApply={onApply}\n onCancel={onCancel}\n presets={presets}\n rangeCalendarProps={rangeCalendarProps}\n />\n </Popover.Dropdown>\n </Popover>\n </Group>\n </Grid.Col>\n );\n};\n"],"names":["CalendarSize24Px","Grid","Group","Popover","Text","dayjs","useState","Button","DateRangePickerInlineCalendar","TableComponentsOrder","useTable","TableDateRangePicker","presets","rangeCalendarProps","opened","setOpened","form","onApply","dates","setFieldValue","onCancel","formatDate","date","format","formatedRange","values","dateRange","Col","span","order","DateRangePicker","py","spacing","onChange","withinPortal","Target","variant","color","onClick","px","width","height","Dropdown","p","initialRange"],"mappings":";;AAAA,SAAQA,gBAAgB,QAAO,8BAA8B;AAC7D,SAAQC,IAAI,EAAEC,KAAK,EAAEC,OAAO,EAAEC,IAAI,QAAO,gBAAgB;AACzD,OAAOC,WAAW,QAAQ;AAC1B,SAA2BC,QAAQ,QAAO,QAAQ;AAElD,SAAQC,MAAM,QAAO,YAAY;AACjC,SACIC,6BAA6B,QAI1B,uBAAuB;AAC9B,SAAQC,oBAAoB,QAAO,iBAAiB;AACpD,SAAQC,QAAQ,QAAO,iBAAiB;AAkBxC,OAAO,IAAMC,uBAAqE,gBAG5E;+BAFFC,SAAAA,sCAAU,CAAC,oBACXC,2BAAAA;IAEA,IAA4BP,6BAAAA,SAAS,KAAK,OAAnCQ,SAAqBR,cAAbS,YAAaT;IAC5B,IAAM,AAACU,OAAQN,WAARM;IAEP,IAAMC,UAAU,SAACC,OAAgC;QAC7CF,KAAKG,aAAa,CAAC,aAAaD;QAChCH,UAAU,KAAK;IACnB;IACA,IAAMK,WAAW,WAAM;QACnBL,UAAU,KAAK;IACnB;IAEA,IAAMM,aAAa,SAACC;eAAejB,MAAMiB,MAAMC,MAAM,CAAC;;IACtD,IAAMC,gBAAgB,AAAC,GAA4CH,OAA1CA,WAAWL,KAAKS,MAAM,CAACC,SAAS,CAAC,EAAE,GAAE,OAA0C,OAArCL,WAAWL,KAAKS,MAAM,CAACC,SAAS,CAAC,EAAE;IAEtG,qBACI,KAACzB,KAAK0B,GAAG;QAACC,MAAK;QAAUC,OAAOpB,qBAAqBqB,eAAe;QAAEC,IAAG;kBACrE,cAAA,MAAC7B;YAAM8B,SAAQ;;8BACX,KAAC5B;oBAAKwB,IAAI;8BAAEJ;;8BACZ,MAACrB;oBAAQW,QAAQA;oBAAQmB,UAAUlB;oBAAWmB,YAAY;;sCACtD,KAAC/B,QAAQgC,MAAM;sCACX,cAAA,KAAC5B;gCAAO6B,SAAQ;gCAAUC,OAAM;gCAAOC,SAAS;2CAAMvB,UAAU,IAAI;;gCAAGwB,IAAG;0CACtE,cAAA,KAACvC;oCAAiBwC,OAAO;oCAAIC,QAAQ;;;;sCAG7C,KAACtC,QAAQuC,QAAQ;4BAACC,GAAG;sCACjB,cAAA,KAACnC;gCACGoC,cAAc5B,KAAKS,MAAM,CAACC,SAAS;gCACnCT,SAASA;gCACTG,UAAUA;gCACVR,SAASA;gCACTC,oBAAoBA;;;;;;;;AAOhD,EAAE"}
1
+ {"version":3,"sources":["../../../../src/components/table/TableDateRangePicker.tsx"],"sourcesContent":["import {CalendarSize24Px} from '@coveord/plasma-react-icons';\nimport {createStyles, DefaultProps, Grid, Group, Popover, Selectors, Text} from '@mantine/core';\nimport {useToggle} from '@mantine/hooks';\nimport dayjs from 'dayjs';\nimport {FunctionComponent} from 'react';\n\nimport {Button} from '../button';\nimport {\n DateRangePickerInlineCalendar,\n DateRangePickerInlineCalendarProps,\n DateRangePickerPreset,\n DateRangePickerValue,\n} from '../date-range-picker';\nimport {TableComponentsOrder} from './Table.styles';\nimport {useTable} from './TableContext';\n\nconst useStyles = createStyles((theme) => ({\n root: {},\n wrapper: {},\n label: {},\n}));\n\ntype TableDateRangePickerStylesNames = Selectors<typeof useStyles>;\ninterface TableDateRangePickerProps\n extends Pick<DateRangePickerInlineCalendarProps, 'startProps' | 'endProps' | 'rangeCalendarProps'>,\n DefaultProps<TableDateRangePickerStylesNames> {\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 const TableDateRangePicker: FunctionComponent<TableDateRangePickerProps> = ({\n presets = {},\n rangeCalendarProps,\n classNames,\n styles,\n unstyled,\n ...others\n}) => {\n const {classes} = useStyles(null, {name: 'TableDateRangePicker', classNames, styles, unstyled});\n const [opened, toggleOpened] = useToggle();\n const {form} = useTable();\n\n const onApply = (dates: DateRangePickerValue) => {\n form.setFieldValue('dateRange', dates);\n toggleOpened(false);\n };\n const onCancel = () => {\n toggleOpened(false);\n };\n\n const formatDate = (date: Date) => dayjs(date).format('MMM DD, YYYY');\n const formattedRange = `${formatDate(form.values.dateRange[0])} - ${formatDate(form.values.dateRange[1])}`;\n\n return (\n <Grid.Col\n span=\"content\"\n order={TableComponentsOrder.DateRangePicker}\n py=\"sm\"\n className={classes.root}\n {...others}\n >\n <Group spacing=\"xs\" className={classes.wrapper}>\n <Text span className={classes.label}>\n {formattedRange}\n </Text>\n <Popover opened={opened} onChange={toggleOpened} withinPortal>\n <Popover.Target>\n <Button variant=\"outline\" color=\"gray\" onClick={() => toggleOpened()} px=\"xs\">\n <CalendarSize24Px width={24} height={24} />\n </Button>\n </Popover.Target>\n <Popover.Dropdown p={0}>\n <DateRangePickerInlineCalendar\n initialRange={form.values.dateRange}\n onApply={onApply}\n onCancel={onCancel}\n presets={presets}\n rangeCalendarProps={rangeCalendarProps}\n />\n </Popover.Dropdown>\n </Popover>\n </Group>\n </Grid.Col>\n );\n};\n"],"names":["CalendarSize24Px","createStyles","Grid","Group","Popover","Text","useToggle","dayjs","Button","DateRangePickerInlineCalendar","TableComponentsOrder","useTable","useStyles","theme","root","wrapper","label","TableDateRangePicker","presets","rangeCalendarProps","classNames","styles","unstyled","others","classes","name","opened","toggleOpened","form","onApply","dates","setFieldValue","onCancel","formatDate","date","format","formattedRange","values","dateRange","Col","span","order","DateRangePicker","py","className","spacing","onChange","withinPortal","Target","variant","color","onClick","px","width","height","Dropdown","p","initialRange"],"mappings":";;;;;AAAA,SAAQA,gBAAgB,QAAO,8BAA8B;AAC7D,SAAQC,YAAY,EAAgBC,IAAI,EAAEC,KAAK,EAAEC,OAAO,EAAaC,IAAI,QAAO,gBAAgB;AAChG,SAAQC,SAAS,QAAO,iBAAiB;AACzC,OAAOC,WAAW,QAAQ;AAG1B,SAAQC,MAAM,QAAO,YAAY;AACjC,SACIC,6BAA6B,QAI1B,uBAAuB;AAC9B,SAAQC,oBAAoB,QAAO,iBAAiB;AACpD,SAAQC,QAAQ,QAAO,iBAAiB;AAExC,IAAMC,YAAYX,aAAa,SAACY;WAAW;QACvCC,MAAM,CAAC;QACPC,SAAS,CAAC;QACVC,OAAO,CAAC;IACZ;;AAoBA,OAAO,IAAMC,uBAAqE;gCAC9EC,SAAAA,sCAAU,CAAC,oBACXC,4BAAAA,oBACAC,oBAAAA,YACAC,gBAAAA,QACAC,kBAAAA,UACGC;QALHL;QACAC;QACAC;QACAC;QACAC;;IAGA,IAAM,AAACE,UAAWZ,UAAU,MAAM;QAACa,MAAM;QAAwBL,YAAAA;QAAYC,QAAAA;QAAQC,UAAAA;IAAQ,GAAtFE;IACP,IAA+BlB,8BAAAA,iBAAxBoB,SAAwBpB,eAAhBqB,eAAgBrB;IAC/B,IAAM,AAACsB,OAAQjB,WAARiB;IAEP,IAAMC,UAAU,SAACC;QACbF,KAAKG,cAAc,aAAaD;QAChCH,aAAa;IACjB;IACA,IAAMK,WAAW;QACbL,aAAa;IACjB;IAEA,IAAMM,aAAa,SAACC;eAAe3B,MAAM2B,MAAMC,OAAO;;IACtD,IAAMC,iBAAiB,AAAC,GAA4CH,OAA1CA,WAAWL,KAAKS,OAAOC,SAAS,CAAC,EAAE,GAAE,OAA0C,OAArCL,WAAWL,KAAKS,OAAOC,SAAS,CAAC,EAAE;IAEvG,qBACI,KAACpC,KAAKqC;QACFC,MAAK;QACLC,OAAO/B,qBAAqBgC;QAC5BC,IAAG;QACHC,WAAWpB,QAAQV;OACfS;kBAEJ,cAAA,MAACpB;YAAM0C,SAAQ;YAAKD,WAAWpB,QAAQT;;8BACnC,KAACV;oBAAKmC,IAAI;oBAACI,WAAWpB,QAAQR;8BACzBoB;;8BAEL,MAAChC;oBAAQsB,QAAQA;oBAAQoB,UAAUnB;oBAAcoB,YAAY;;sCACzD,KAAC3C,QAAQ4C;sCACL,cAAA,KAACxC;gCAAOyC,SAAQ;gCAAUC,OAAM;gCAAOC,SAAS;2CAAMxB;;gCAAgByB,IAAG;0CACrE,cAAA,KAACpD;oCAAiBqD,OAAO;oCAAIC,QAAQ;;;;sCAG7C,KAAClD,QAAQmD;4BAASC,GAAG;sCACjB,cAAA,KAAC/C;gCACGgD,cAAc7B,KAAKS,OAAOC;gCAC1BT,SAASA;gCACTG,UAAUA;gCACVd,SAASA;gCACTC,oBAAoBA;;;;;;;;AAOhD,EAAE"}
@@ -2,6 +2,7 @@ import { DefaultProps, Selectors } from '@mantine/core';
2
2
  import { FunctionComponent } from 'react';
3
3
  declare const useStyles: (params: void, options?: import("@mantine/core").UseStylesOptions<string>) => {
4
4
  classes: {
5
+ root: string;
5
6
  wrapper: string;
6
7
  empty: string;
7
8
  };
@@ -1 +1 @@
1
- {"version":3,"file":"TableFilter.d.ts","sourceRoot":"","sources":["../../../../src/components/table/TableFilter.tsx"],"names":[],"mappings":"AACA,OAAO,EAA2B,YAAY,EAAQ,SAAS,EAAY,MAAM,eAAe,CAAC;AACjG,OAAO,EAAqB,iBAAiB,EAAoB,MAAM,OAAO,CAAC;AAK/E,QAAA,MAAM,SAAS;;;;;;;CAOZ,CAAC;AAEJ,KAAK,sBAAsB,GAAG,SAAS,CAAC,OAAO,SAAS,CAAC,CAAC;AAC1D,UAAU,gBAAiB,SAAQ,YAAY,CAAC,sBAAsB,CAAC;IACnE;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,WAAW,EAAE,iBAAiB,CAAC,gBAAgB,CAkD3D,CAAC"}
1
+ {"version":3,"file":"TableFilter.d.ts","sourceRoot":"","sources":["../../../../src/components/table/TableFilter.tsx"],"names":[],"mappings":"AACA,OAAO,EAA2B,YAAY,EAAQ,SAAS,EAAY,MAAM,eAAe,CAAC;AACjG,OAAO,EAAqB,iBAAiB,EAAoB,MAAM,OAAO,CAAC;AAK/E,QAAA,MAAM,SAAS;;;;;;;;CAQZ,CAAC;AAEJ,KAAK,sBAAsB,GAAG,SAAS,CAAC,OAAO,SAAS,CAAC,CAAC;AAC1D,UAAU,gBAAiB,SAAQ,YAAY,CAAC,sBAAsB,CAAC;IACnE;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,WAAW,EAAE,iBAAiB,CAAC,gBAAgB,CAkD3D,CAAC"}
@@ -8,6 +8,7 @@ import { TableComponentsOrder } from "./Table.styles";
8
8
  import { useTable } from "./TableContext";
9
9
  var useStyles = createStyles(function(theme) {
10
10
  return {
11
+ root: {},
11
12
  wrapper: {
12
13
  marginBottom: "0 !important"
13
14
  },
@@ -24,7 +25,7 @@ export var TableFilter = function(_param) {
24
25
  "unstyled"
25
26
  ]);
26
27
  var classes = useStyles(null, {
27
- name: "TableHeader",
28
+ name: "TableFilter",
28
29
  classNames: classNames,
29
30
  styles: styles,
30
31
  unstyled: unstyled
@@ -52,6 +53,7 @@ export var TableFilter = function(_param) {
52
53
  span: "content",
53
54
  order: TableComponentsOrder.Filter,
54
55
  py: "sm",
56
+ className: classes.root,
55
57
  children: /*#__PURE__*/ _jsx(TextInput, _object_spread({
56
58
  className: classes.wrapper,
57
59
  placeholder: placeholder,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/table/TableFilter.tsx"],"sourcesContent":["import {CrossSize16Px, SearchSize16Px} from '@coveord/plasma-react-icons';\nimport {ActionIcon, createStyles, DefaultProps, Grid, Selectors, TextInput} from '@mantine/core';\nimport {ChangeEventHandler, FunctionComponent, MouseEventHandler} from 'react';\nimport {TableComponentsOrder} from './Table.styles';\n\nimport {useTable} from './TableContext';\n\nconst useStyles = createStyles((theme) => ({\n wrapper: {\n marginBottom: '0 !important',\n },\n empty: {\n color: theme.colors.gray[4],\n },\n}));\n\ntype TableFilterStylesNames = Selectors<typeof useStyles>;\ninterface TableFilterProps extends DefaultProps<TableFilterStylesNames> {\n /**\n * The placeholder for the filter input\n *\n * @default \"Search by any field\"\n */\n placeholder?: string;\n}\n\nexport const TableFilter: FunctionComponent<TableFilterProps> = ({\n placeholder = 'Search by any field',\n classNames,\n styles,\n unstyled,\n ...others\n}) => {\n const {classes} = useStyles(null, {name: 'TableHeader', classNames, styles, unstyled});\n const {state, setState} = useTable();\n\n const changeFilterValue = (value: string) => {\n setState((prevState) => ({\n ...prevState,\n pagination: prevState.pagination\n ? {pageIndex: 0, pageSize: prevState.pagination.pageSize}\n : prevState.pagination,\n globalFilter: value,\n }));\n };\n\n const handleChange: ChangeEventHandler<HTMLInputElement> = (event) => {\n const {value} = event.currentTarget;\n changeFilterValue(value);\n };\n\n const handleClear: MouseEventHandler<HTMLButtonElement> = () => {\n changeFilterValue('');\n };\n\n return (\n <Grid.Col span=\"content\" order={TableComponentsOrder.Filter} py=\"sm\">\n <TextInput\n className={classes.wrapper}\n placeholder={placeholder}\n mb=\"md\"\n rightSection={\n state.globalFilter ? (\n <ActionIcon onClick={handleClear}>\n <CrossSize16Px height={16} />\n </ActionIcon>\n ) : (\n <SearchSize16Px height={14} className={classes.empty} />\n )\n }\n value={state.globalFilter}\n onChange={handleChange}\n {...others}\n />\n </Grid.Col>\n );\n};\n"],"names":["CrossSize16Px","SearchSize16Px","ActionIcon","createStyles","Grid","TextInput","TableComponentsOrder","useTable","useStyles","theme","wrapper","marginBottom","empty","color","colors","gray","TableFilter","placeholder","classNames","styles","unstyled","others","classes","name","state","setState","changeFilterValue","value","prevState","pagination","pageIndex","pageSize","globalFilter","handleChange","event","currentTarget","handleClear","Col","span","order","Filter","py","className","mb","rightSection","onClick","height","onChange"],"mappings":";;;;AAAA,SAAQA,aAAa,EAAEC,cAAc,QAAO,8BAA8B;AAC1E,SAAQC,UAAU,EAAEC,YAAY,EAAgBC,IAAI,EAAaC,SAAS,QAAO,gBAAgB;AAEjG,SAAQC,oBAAoB,QAAO,iBAAiB;AAEpD,SAAQC,QAAQ,QAAO,iBAAiB;AAExC,IAAMC,YAAYL,aAAa,SAACM;WAAW;QACvCC,SAAS;YACLC,cAAc;QAClB;QACAC,OAAO;YACHC,OAAOJ,MAAMK,MAAM,CAACC,IAAI,CAAC,EAAE;QAC/B;IACJ;;AAYA,OAAO,IAAMC,cAAmD,iBAM1D;oCALFC,aAAAA,8CAAc,4CACdC,oBAAAA,YACAC,gBAAAA,QACAC,kBAAAA,UACGC;QAJHJ;QACAC;QACAC;QACAC;;IAGA,IAAM,AAACE,UAAWd,UAAU,IAAI,EAAE;QAACe,MAAM;QAAeL,YAAAA;QAAYC,QAAAA;QAAQC,UAAAA;IAAQ,GAA7EE;IACP,IAA0Bf,YAAAA,YAAnBiB,QAAmBjB,UAAnBiB,OAAOC,WAAYlB,UAAZkB;IAEd,IAAMC,oBAAoB,SAACC,OAAkB;QACzCF,SAAS,SAACG;mBAAe,wCAClBA;gBACHC,YAAYD,UAAUC,UAAU,GAC1B;oBAACC,WAAW;oBAAGC,UAAUH,UAAUC,UAAU,CAACE,QAAQ;gBAAA,IACtDH,UAAUC,UAAU;gBAC1BG,cAAcL;;;IAEtB;IAEA,IAAMM,eAAqD,SAACC,OAAU;QAClE,IAAM,AAACP,QAASO,MAAMC,aAAa,CAA5BR;QACPD,kBAAkBC;IACtB;IAEA,IAAMS,cAAoD,WAAM;QAC5DV,kBAAkB;IACtB;IAEA,qBACI,KAACtB,KAAKiC,GAAG;QAACC,MAAK;QAAUC,OAAOjC,qBAAqBkC,MAAM;QAAEC,IAAG;kBAC5D,cAAA,KAACpC;YACGqC,WAAWpB,QAAQZ,OAAO;YAC1BO,aAAaA;YACb0B,IAAG;YACHC,cACIpB,MAAMQ,YAAY,iBACd,KAAC9B;gBAAW2C,SAAST;0BACjB,cAAA,KAACpC;oBAAc8C,QAAQ;;+BAG3B,KAAC7C;gBAAe6C,QAAQ;gBAAIJ,WAAWpB,QAAQV,KAAK;cACvD;YAELe,OAAOH,MAAMQ,YAAY;YACzBe,UAAUd;WACNZ;;AAIpB,EAAE"}
1
+ {"version":3,"sources":["../../../../src/components/table/TableFilter.tsx"],"sourcesContent":["import {CrossSize16Px, SearchSize16Px} from '@coveord/plasma-react-icons';\nimport {ActionIcon, createStyles, DefaultProps, Grid, Selectors, TextInput} from '@mantine/core';\nimport {ChangeEventHandler, FunctionComponent, MouseEventHandler} from 'react';\n\nimport {TableComponentsOrder} from './Table.styles';\nimport {useTable} from './TableContext';\n\nconst useStyles = createStyles((theme) => ({\n root: {},\n wrapper: {\n marginBottom: '0 !important',\n },\n empty: {\n color: theme.colors.gray[4],\n },\n}));\n\ntype TableFilterStylesNames = Selectors<typeof useStyles>;\ninterface TableFilterProps extends DefaultProps<TableFilterStylesNames> {\n /**\n * The placeholder for the filter input\n *\n * @default \"Search by any field\"\n */\n placeholder?: string;\n}\n\nexport const TableFilter: FunctionComponent<TableFilterProps> = ({\n placeholder = 'Search by any field',\n classNames,\n styles,\n unstyled,\n ...others\n}) => {\n const {classes} = useStyles(null, {name: 'TableFilter', classNames, styles, unstyled});\n const {state, setState} = useTable();\n\n const changeFilterValue = (value: string) => {\n setState((prevState) => ({\n ...prevState,\n pagination: prevState.pagination\n ? {pageIndex: 0, pageSize: prevState.pagination.pageSize}\n : prevState.pagination,\n globalFilter: value,\n }));\n };\n\n const handleChange: ChangeEventHandler<HTMLInputElement> = (event) => {\n const {value} = event.currentTarget;\n changeFilterValue(value);\n };\n\n const handleClear: MouseEventHandler<HTMLButtonElement> = () => {\n changeFilterValue('');\n };\n\n return (\n <Grid.Col span=\"content\" order={TableComponentsOrder.Filter} py=\"sm\" className={classes.root}>\n <TextInput\n className={classes.wrapper}\n placeholder={placeholder}\n mb=\"md\"\n rightSection={\n state.globalFilter ? (\n <ActionIcon onClick={handleClear}>\n <CrossSize16Px height={16} />\n </ActionIcon>\n ) : (\n <SearchSize16Px height={14} className={classes.empty} />\n )\n }\n value={state.globalFilter}\n onChange={handleChange}\n {...others}\n />\n </Grid.Col>\n );\n};\n"],"names":["CrossSize16Px","SearchSize16Px","ActionIcon","createStyles","Grid","TextInput","TableComponentsOrder","useTable","useStyles","theme","root","wrapper","marginBottom","empty","color","colors","gray","TableFilter","placeholder","classNames","styles","unstyled","others","classes","name","state","setState","changeFilterValue","value","prevState","pagination","pageIndex","pageSize","globalFilter","handleChange","event","currentTarget","handleClear","Col","span","order","Filter","py","className","mb","rightSection","onClick","height","onChange"],"mappings":";;;;AAAA,SAAQA,aAAa,EAAEC,cAAc,QAAO,8BAA8B;AAC1E,SAAQC,UAAU,EAAEC,YAAY,EAAgBC,IAAI,EAAaC,SAAS,QAAO,gBAAgB;AAGjG,SAAQC,oBAAoB,QAAO,iBAAiB;AACpD,SAAQC,QAAQ,QAAO,iBAAiB;AAExC,IAAMC,YAAYL,aAAa,SAACM;WAAW;QACvCC,MAAM,CAAC;QACPC,SAAS;YACLC,cAAc;QAClB;QACAC,OAAO;YACHC,OAAOL,MAAMM,OAAOC,IAAI,CAAC,EAAE;QAC/B;IACJ;;AAYA,OAAO,IAAMC,cAAmD;oCAC5DC,aAAAA,8CAAc,4CACdC,oBAAAA,YACAC,gBAAAA,QACAC,kBAAAA,UACGC;QAJHJ;QACAC;QACAC;QACAC;;IAGA,IAAM,AAACE,UAAWf,UAAU,MAAM;QAACgB,MAAM;QAAeL,YAAAA;QAAYC,QAAAA;QAAQC,UAAAA;IAAQ,GAA7EE;IACP,IAA0BhB,YAAAA,YAAnBkB,QAAmBlB,UAAnBkB,OAAOC,WAAYnB,UAAZmB;IAEd,IAAMC,oBAAoB,SAACC;QACvBF,SAAS,SAACG;mBAAe,wCAClBA;gBACHC,YAAYD,UAAUC,aAChB;oBAACC,WAAW;oBAAGC,UAAUH,UAAUC,WAAWE;gBAAQ,IACtDH,UAAUC;gBAChBG,cAAcL;;;IAEtB;IAEA,IAAMM,eAAqD,SAACC;QACxD,IAAM,AAACP,QAASO,MAAMC,cAAfR;QACPD,kBAAkBC;IACtB;IAEA,IAAMS,cAAoD;QACtDV,kBAAkB;IACtB;IAEA,qBACI,KAACvB,KAAKkC;QAAIC,MAAK;QAAUC,OAAOlC,qBAAqBmC;QAAQC,IAAG;QAAKC,WAAWpB,QAAQb;kBACpF,cAAA,KAACL;YACGsC,WAAWpB,QAAQZ;YACnBO,aAAaA;YACb0B,IAAG;YACHC,cACIpB,MAAMQ,6BACF,KAAC/B;gBAAW4C,SAAST;0BACjB,cAAA,KAACrC;oBAAc+C,QAAQ;;+BAG3B,KAAC9C;gBAAe8C,QAAQ;gBAAIJ,WAAWpB,QAAQV;;YAGvDe,OAAOH,MAAMQ;YACbe,UAAUd;WACNZ;;AAIpB,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/table/TableFooter.tsx"],"sourcesContent":["import {Group, DefaultProps} from '@mantine/core';\nimport {FunctionComponent, ReactNode} from 'react';\n\ninterface TableFooterProps extends DefaultProps {\n children?: ReactNode;\n}\nexport const TableFooter: FunctionComponent<TableFooterProps> = ({children, ...others}) => (\n <Group position=\"apart\" px=\"md\" py=\"sm\" {...others}>\n {children}\n </Group>\n);\n"],"names":["Group","TableFooter","children","others","position","px","py"],"mappings":";;;;AAAA,SAAQA,KAAK,QAAqB,gBAAgB;AAMlD,OAAO,IAAMC,cAAmD,+BAC5D;QAD8DC,kBAAAA,UAAaC;QAAbD;;WAC9D,KAACF;QAAMI,UAAS;QAAQC,IAAG;QAAKC,IAAG;OAASH;kBACvCD;;AACE,EACT"}
1
+ {"version":3,"sources":["../../../../src/components/table/TableFooter.tsx"],"sourcesContent":["import {Group, DefaultProps} from '@mantine/core';\nimport {FunctionComponent, ReactNode} from 'react';\n\ninterface TableFooterProps extends DefaultProps {\n children?: ReactNode;\n}\nexport const TableFooter: FunctionComponent<TableFooterProps> = ({children, ...others}) => (\n <Group position=\"apart\" px=\"md\" py=\"sm\" {...others}>\n {children}\n </Group>\n);\n"],"names":["Group","TableFooter","children","others","position","px","py"],"mappings":";;;;AAAA,SAAQA,KAAK,QAAqB,gBAAgB;AAMlD,OAAO,IAAMC,cAAmD;QAAEC,kBAAAA,UAAaC;QAAbD;;WAC9D,KAACF;QAAMI,UAAS;QAAQC,IAAG;QAAKC,IAAG;OAASH;kBACvCD;;AACE,EACT"}
@@ -1 +1 @@
1
- {"version":3,"file":"TableHeader.d.ts","sourceRoot":"","sources":["../../../../src/components/table/TableHeader.tsx"],"names":[],"mappings":"AACA,OAAO,EAAe,YAAY,EAAQ,SAAS,EAAU,MAAM,eAAe,CAAC;AACnF,OAAO,EAAC,iBAAiB,EAAE,SAAS,EAAC,MAAM,OAAO,CAAC;AAMnD,QAAA,MAAM,SAAS;;;;;;;CAUZ,CAAC;AAEJ,KAAK,sBAAsB,GAAG,SAAS,CAAC,OAAO,SAAS,CAAC,CAAC;AAC1D,UAAU,gBAAiB,SAAQ,YAAY,CAAC,sBAAsB,CAAC;IAEnE,QAAQ,CAAC,EAAE,SAAS,CAAC;CACxB;AACD,eAAO,MAAM,WAAW,EAAE,iBAAiB,CAAC,gBAAgB,CAuC3D,CAAC"}
1
+ {"version":3,"file":"TableHeader.d.ts","sourceRoot":"","sources":["../../../../src/components/table/TableHeader.tsx"],"names":[],"mappings":"AACA,OAAO,EAAe,YAAY,EAAQ,SAAS,EAAU,MAAM,eAAe,CAAC;AACnF,OAAO,EAAC,iBAAiB,EAAE,SAAS,EAAC,MAAM,OAAO,CAAC;AAOnD,QAAA,MAAM,SAAS;;;;;;;CAUZ,CAAC;AAEJ,KAAK,sBAAsB,GAAG,SAAS,CAAC,OAAO,SAAS,CAAC,CAAC;AAC1D,UAAU,gBAAiB,SAAQ,YAAY,CAAC,sBAAsB,CAAC;IAEnE,QAAQ,CAAC,EAAE,SAAS,CAAC;CACxB;AACD,eAAO,MAAM,WAAW,EAAE,iBAAiB,CAAC,gBAAgB,CA8C3D,CAAC"}
@@ -7,6 +7,7 @@ import { createStyles, Grid, Tooltip } from "@mantine/core";
7
7
  import { Button } from "../button";
8
8
  import { TableComponentsOrder } from "./Table.styles";
9
9
  import { useTable } from "./TableContext";
10
+ import { TableLayoutControl } from "./TableLayoutControl";
10
11
  var useStyles = createStyles(function(theme) {
11
12
  return {
12
13
  root: {
@@ -27,7 +28,7 @@ export var TableHeader = function(_param) {
27
28
  "unstyled",
28
29
  "children"
29
30
  ]);
30
- var _useTable = useTable(), getSelectedRows = _useTable.getSelectedRows, multiRowSelectionEnabled = _useTable.multiRowSelectionEnabled, clearSelection = _useTable.clearSelection;
31
+ var _useTable = useTable(), getSelectedRows = _useTable.getSelectedRows, multiRowSelectionEnabled = _useTable.multiRowSelectionEnabled, clearSelection = _useTable.clearSelection, disableRowSelection = _useTable.disableRowSelection;
31
32
  var classes = useStyles(null, {
32
33
  name: "TableHeader",
33
34
  classNames: classNames,
@@ -56,6 +57,7 @@ export var TableHeader = function(_param) {
56
57
  children: /*#__PURE__*/ _jsxs(Button, {
57
58
  onClick: clearSelection,
58
59
  variant: "subtle",
60
+ disabled: disableRowSelection,
59
61
  leftIcon: /*#__PURE__*/ _jsx(CrossSize16Px, {
60
62
  height: 16
61
63
  }),
@@ -66,7 +68,8 @@ export var TableHeader = function(_param) {
66
68
  })
67
69
  })
68
70
  }) : null,
69
- children
71
+ children,
72
+ /*#__PURE__*/ _jsx(TableLayoutControl, {})
70
73
  ]
71
74
  }));
72
75
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/table/TableHeader.tsx"],"sourcesContent":["import {CrossSize16Px} from '@coveord/plasma-react-icons';\nimport {createStyles, DefaultProps, Grid, Selectors, Tooltip} from '@mantine/core';\nimport {FunctionComponent, ReactNode} from 'react';\n\nimport {Button} from '../button';\nimport {TableComponentsOrder} from './Table.styles';\nimport {useTable} from './TableContext';\n\nconst useStyles = createStyles((theme) => ({\n root: {\n flexDirection: 'row-reverse',\n flexWrap: 'wrap-reverse',\n background: `repeating-linear-gradient(${theme.colors.gray[1]}, ${theme.colors.gray[1]} 68px, ${theme.colors.gray[3]} 68px, ${theme.colors.gray[3]} 69px)`,\n borderBottom: `1px solid ${theme.colors.gray[3]}`,\n },\n multiSelectInfo: {\n justifySelf: 'flex-start',\n },\n}));\n\ntype TableHeaderStylesNames = Selectors<typeof useStyles>;\ninterface TableHeaderProps extends DefaultProps<TableHeaderStylesNames> {\n /* Children of header (ie: actions, datepicker, etc.) */\n children?: ReactNode;\n}\nexport const TableHeader: FunctionComponent<TableHeaderProps> = ({\n classNames,\n styles,\n unstyled,\n children,\n ...others\n}) => {\n const {getSelectedRows, multiRowSelectionEnabled, clearSelection} = useTable();\n const {classes} = useStyles(null, {name: 'TableHeader', classNames, styles, unstyled});\n const selectedRows = getSelectedRows();\n return (\n <Grid\n justify=\"flex-start\"\n align=\"center\"\n gutter=\"sm\"\n p={0}\n pl=\"md\"\n pr=\"lg\"\n m={0}\n className={classes.root}\n {...others}\n >\n {multiRowSelectionEnabled && selectedRows.length > 0 ? (\n <Grid.Col\n span=\"auto\"\n py=\"sm\"\n className={classes.multiSelectInfo}\n order={TableComponentsOrder.MultiSelectInfo}\n >\n <Tooltip label=\"Unselect all\">\n <Button onClick={clearSelection} variant=\"subtle\" leftIcon={<CrossSize16Px height={16} />}>\n {selectedRows.length} selected\n </Button>\n </Tooltip>\n </Grid.Col>\n ) : null}\n {children}\n </Grid>\n );\n};\n"],"names":["CrossSize16Px","createStyles","Grid","Tooltip","Button","TableComponentsOrder","useTable","useStyles","theme","root","flexDirection","flexWrap","background","colors","gray","borderBottom","multiSelectInfo","justifySelf","TableHeader","classNames","styles","unstyled","children","others","getSelectedRows","multiRowSelectionEnabled","clearSelection","classes","name","selectedRows","justify","align","gutter","p","pl","pr","m","className","length","Col","span","py","order","MultiSelectInfo","label","onClick","variant","leftIcon","height"],"mappings":";;;;AAAA,SAAQA,aAAa,QAAO,8BAA8B;AAC1D,SAAQC,YAAY,EAAgBC,IAAI,EAAaC,OAAO,QAAO,gBAAgB;AAGnF,SAAQC,MAAM,QAAO,YAAY;AACjC,SAAQC,oBAAoB,QAAO,iBAAiB;AACpD,SAAQC,QAAQ,QAAO,iBAAiB;AAExC,IAAMC,YAAYN,aAAa,SAACO;WAAW;QACvCC,MAAM;YACFC,eAAe;YACfC,UAAU;YACVC,YAAY,AAAC,6BAAqDJ,OAAzBA,MAAMK,MAAM,CAACC,IAAI,CAAC,EAAE,EAAC,MAAkCN,OAA9BA,MAAMK,MAAM,CAACC,IAAI,CAAC,EAAE,EAAC,WAAuCN,OAA9BA,MAAMK,MAAM,CAACC,IAAI,CAAC,EAAE,EAAC,WAA8B,OAArBN,MAAMK,MAAM,CAACC,IAAI,CAAC,EAAE,EAAC;YACnJC,cAAc,AAAC,aAAiC,OAArBP,MAAMK,MAAM,CAACC,IAAI,CAAC,EAAE;QACnD;QACAE,iBAAiB;YACbC,aAAa;QACjB;IACJ;;AAOA,OAAO,IAAMC,cAAmD,iBAM1D;QALFC,oBAAAA,YACAC,gBAAAA,QACAC,kBAAAA,UACAC,kBAAAA,UACGC;QAJHJ;QACAC;QACAC;QACAC;;IAGA,IAAoEhB,YAAAA,YAA7DkB,kBAA6DlB,UAA7DkB,iBAAiBC,2BAA4CnB,UAA5CmB,0BAA0BC,iBAAkBpB,UAAlBoB;IAClD,IAAM,AAACC,UAAWpB,UAAU,IAAI,EAAE;QAACqB,MAAM;QAAeT,YAAAA;QAAYC,QAAAA;QAAQC,UAAAA;IAAQ,GAA7EM;IACP,IAAME,eAAeL;IACrB,qBACI,MAACtB;QACG4B,SAAQ;QACRC,OAAM;QACNC,QAAO;QACPC,GAAG;QACHC,IAAG;QACHC,IAAG;QACHC,GAAG;QACHC,WAAWV,QAAQlB,IAAI;OACnBc;;YAEHE,4BAA4BI,aAAaS,MAAM,GAAG,kBAC/C,KAACpC,KAAKqC,GAAG;gBACLC,MAAK;gBACLC,IAAG;gBACHJ,WAAWV,QAAQX,eAAe;gBAClC0B,OAAOrC,qBAAqBsC,eAAe;0BAE3C,cAAA,KAACxC;oBAAQyC,OAAM;8BACX,cAAA,MAACxC;wBAAOyC,SAASnB;wBAAgBoB,SAAQ;wBAASC,wBAAU,KAAC/C;4BAAcgD,QAAQ;;;4BAC9EnB,aAAaS,MAAM;4BAAC;;;;iBAIjC,IAAI;YACPhB;;;AAGb,EAAE"}
1
+ {"version":3,"sources":["../../../../src/components/table/TableHeader.tsx"],"sourcesContent":["import {CrossSize16Px} from '@coveord/plasma-react-icons';\nimport {createStyles, DefaultProps, Grid, Selectors, Tooltip} from '@mantine/core';\nimport {FunctionComponent, ReactNode} from 'react';\n\nimport {Button} from '../button';\nimport {TableComponentsOrder} from './Table.styles';\nimport {useTable} from './TableContext';\nimport {TableLayoutControl} from './TableLayoutControl';\n\nconst useStyles = createStyles((theme) => ({\n root: {\n flexDirection: 'row-reverse',\n flexWrap: 'wrap-reverse',\n background: `repeating-linear-gradient(${theme.colors.gray[1]}, ${theme.colors.gray[1]} 68px, ${theme.colors.gray[3]} 68px, ${theme.colors.gray[3]} 69px)`,\n borderBottom: `1px solid ${theme.colors.gray[3]}`,\n },\n multiSelectInfo: {\n justifySelf: 'flex-start',\n },\n}));\n\ntype TableHeaderStylesNames = Selectors<typeof useStyles>;\ninterface TableHeaderProps extends DefaultProps<TableHeaderStylesNames> {\n /* Children of header (ie: actions, datepicker, etc.) */\n children?: ReactNode;\n}\nexport const TableHeader: FunctionComponent<TableHeaderProps> = ({\n classNames,\n styles,\n unstyled,\n children,\n ...others\n}) => {\n const {getSelectedRows, multiRowSelectionEnabled, clearSelection, disableRowSelection} = useTable();\n const {classes} = useStyles(null, {name: 'TableHeader', classNames, styles, unstyled});\n const selectedRows = getSelectedRows();\n\n return (\n <Grid\n justify=\"flex-start\"\n align=\"center\"\n gutter=\"sm\"\n p={0}\n pl=\"md\"\n pr=\"lg\"\n m={0}\n className={classes.root}\n {...others}\n >\n {multiRowSelectionEnabled && selectedRows.length > 0 ? (\n <Grid.Col\n span=\"auto\"\n py=\"sm\"\n className={classes.multiSelectInfo}\n order={TableComponentsOrder.MultiSelectInfo}\n >\n <Tooltip label=\"Unselect all\">\n <Button\n onClick={clearSelection}\n variant=\"subtle\"\n disabled={disableRowSelection}\n leftIcon={<CrossSize16Px height={16} />}\n >\n {selectedRows.length} selected\n </Button>\n </Tooltip>\n </Grid.Col>\n ) : null}\n {children}\n <TableLayoutControl />\n </Grid>\n );\n};\n"],"names":["CrossSize16Px","createStyles","Grid","Tooltip","Button","TableComponentsOrder","useTable","TableLayoutControl","useStyles","theme","root","flexDirection","flexWrap","background","colors","gray","borderBottom","multiSelectInfo","justifySelf","TableHeader","classNames","styles","unstyled","children","others","getSelectedRows","multiRowSelectionEnabled","clearSelection","disableRowSelection","classes","name","selectedRows","justify","align","gutter","p","pl","pr","m","className","length","Col","span","py","order","MultiSelectInfo","label","onClick","variant","disabled","leftIcon","height"],"mappings":";;;;AAAA,SAAQA,aAAa,QAAO,8BAA8B;AAC1D,SAAQC,YAAY,EAAgBC,IAAI,EAAaC,OAAO,QAAO,gBAAgB;AAGnF,SAAQC,MAAM,QAAO,YAAY;AACjC,SAAQC,oBAAoB,QAAO,iBAAiB;AACpD,SAAQC,QAAQ,QAAO,iBAAiB;AACxC,SAAQC,kBAAkB,QAAO,uBAAuB;AAExD,IAAMC,YAAYP,aAAa,SAACQ;WAAW;QACvCC,MAAM;YACFC,eAAe;YACfC,UAAU;YACVC,YAAY,AAAC,6BAAqDJ,OAAzBA,MAAMK,OAAOC,IAAI,CAAC,EAAE,EAAC,MAAkCN,OAA9BA,MAAMK,OAAOC,IAAI,CAAC,EAAE,EAAC,WAAuCN,OAA9BA,MAAMK,OAAOC,IAAI,CAAC,EAAE,EAAC,WAA8B,OAArBN,MAAMK,OAAOC,IAAI,CAAC,EAAE,EAAC;YACnJC,cAAc,AAAC,aAAiC,OAArBP,MAAMK,OAAOC,IAAI,CAAC,EAAE;QACnD;QACAE,iBAAiB;YACbC,aAAa;QACjB;IACJ;;AAOA,OAAO,IAAMC,cAAmD;QAC5DC,oBAAAA,YACAC,gBAAAA,QACAC,kBAAAA,UACAC,kBAAAA,UACGC;QAJHJ;QACAC;QACAC;QACAC;;IAGA,IAAyFjB,YAAAA,YAAlFmB,kBAAkFnB,UAAlFmB,iBAAiBC,2BAAiEpB,UAAjEoB,0BAA0BC,iBAAuCrB,UAAvCqB,gBAAgBC,sBAAuBtB,UAAvBsB;IAClE,IAAM,AAACC,UAAWrB,UAAU,MAAM;QAACsB,MAAM;QAAeV,YAAAA;QAAYC,QAAAA;QAAQC,UAAAA;IAAQ,GAA7EO;IACP,IAAME,eAAeN;IAErB,qBACI,MAACvB;QACG8B,SAAQ;QACRC,OAAM;QACNC,QAAO;QACPC,GAAG;QACHC,IAAG;QACHC,IAAG;QACHC,GAAG;QACHC,WAAWV,QAAQnB;OACfc;;YAEHE,4BAA4BK,aAAaS,SAAS,kBAC/C,KAACtC,KAAKuC;gBACFC,MAAK;gBACLC,IAAG;gBACHJ,WAAWV,QAAQZ;gBACnB2B,OAAOvC,qBAAqBwC;0BAE5B,cAAA,KAAC1C;oBAAQ2C,OAAM;8BACX,cAAA,MAAC1C;wBACG2C,SAASpB;wBACTqB,SAAQ;wBACRC,UAAUrB;wBACVsB,wBAAU,KAAClD;4BAAcmD,QAAQ;;;4BAEhCpB,aAAaS;4BAAO;;;;iBAIjC;YACHjB;0BACD,KAAChB;;;AAGb,EAAE"}
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ export declare const TableLayoutControl: () => JSX.Element;
3
+ //# sourceMappingURL=TableLayoutControl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableLayoutControl.d.ts","sourceRoot":"","sources":["../../../../src/components/table/TableLayoutControl.tsx"],"names":[],"mappings":";AAIA,eAAO,MAAM,kBAAkB,mBAwB9B,CAAC"}
@@ -0,0 +1,40 @@
1
+ import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { Box, Center, Grid, SegmentedControl, Space } from "@mantine/core";
4
+ import { TableComponentsOrder } from "./Table.styles";
5
+ import { useTable } from "./TableContext";
6
+ export var TableLayoutControl = function() {
7
+ var _useTable = useTable(), form = _useTable.form, layouts = _useTable.layouts;
8
+ return layouts.length > 1 ? /*#__PURE__*/ _jsx(Grid.Col, {
9
+ order: TableComponentsOrder.LayoutControl,
10
+ span: "content",
11
+ children: /*#__PURE__*/ _jsx(SegmentedControl, _object_spread({
12
+ color: "action",
13
+ data: layouts.map(function(param) {
14
+ var name = param.name, Icon = param.icon;
15
+ return {
16
+ value: name,
17
+ label: /*#__PURE__*/ _jsxs(Center, {
18
+ children: [
19
+ Icon ? /*#__PURE__*/ _jsxs(_Fragment, {
20
+ children: [
21
+ /*#__PURE__*/ _jsx(Icon, {
22
+ height: 16
23
+ }),
24
+ /*#__PURE__*/ _jsx(Space, {
25
+ w: "xs"
26
+ })
27
+ ]
28
+ }) : null,
29
+ /*#__PURE__*/ _jsx(Box, {
30
+ children: name
31
+ })
32
+ ]
33
+ })
34
+ };
35
+ })
36
+ }, form.getInputProps("layout")))
37
+ }) : null;
38
+ };
39
+
40
+ //# sourceMappingURL=TableLayoutControl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/table/TableLayoutControl.tsx"],"sourcesContent":["import {Box, Center, Grid, SegmentedControl, Space} from '@mantine/core';\nimport {TableComponentsOrder} from './Table.styles';\nimport {useTable} from './TableContext';\n\nexport const TableLayoutControl = () => {\n const {form, layouts} = useTable();\n return layouts.length > 1 ? (\n <Grid.Col order={TableComponentsOrder.LayoutControl} span=\"content\">\n <SegmentedControl\n color=\"action\"\n data={layouts.map(({name, icon: Icon}) => ({\n value: name,\n label: (\n <Center>\n {Icon ? (\n <>\n <Icon height={16} />\n <Space w=\"xs\" />\n </>\n ) : null}\n <Box>{name}</Box>\n </Center>\n ),\n }))}\n {...form.getInputProps('layout')}\n />\n </Grid.Col>\n ) : null;\n};\n"],"names":["Box","Center","Grid","SegmentedControl","Space","TableComponentsOrder","useTable","TableLayoutControl","form","layouts","length","Col","order","LayoutControl","span","color","data","map","name","icon","Icon","value","label","height","w","getInputProps"],"mappings":";;AAAA,SAAQA,GAAG,EAAEC,MAAM,EAAEC,IAAI,EAAEC,gBAAgB,EAAEC,KAAK,QAAO,gBAAgB;AACzE,SAAQC,oBAAoB,QAAO,iBAAiB;AACpD,SAAQC,QAAQ,QAAO,iBAAiB;AAExC,OAAO,IAAMC,qBAAqB;IAC9B,IAAwBD,YAAAA,YAAjBE,OAAiBF,UAAjBE,MAAMC,UAAWH,UAAXG;IACb,OAAOA,QAAQC,SAAS,kBACpB,KAACR,KAAKS;QAAIC,OAAOP,qBAAqBQ;QAAeC,MAAK;kBACtD,cAAA,KAACX;YACGY,OAAM;YACNC,MAAMP,QAAQQ,IAAI;oBAAEC,aAAAA,MAAMC,AAAMC,aAAND;uBAAiB;oBACvCE,OAAOH;oBACPI,qBACI,MAACrB;;4BACImB,qBACG;;kDACI,KAACA;wCAAKG,QAAQ;;kDACd,KAACnB;wCAAMoB,GAAE;;;iCAEb;0CACJ,KAACxB;0CAAKkB;;;;gBAGlB;;WACIV,KAAKiB,cAAc;SAG/B;AACR,EAAE"}
@@ -0,0 +1,4 @@
1
+ import { SkeletonProps } from '@mantine/core';
2
+ import { FunctionComponent } from 'react';
3
+ export declare const TableLoading: FunctionComponent<SkeletonProps>;
4
+ //# sourceMappingURL=TableLoading.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableLoading.d.ts","sourceRoot":"","sources":["../../../../src/components/table/TableLoading.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAW,aAAa,EAAC,MAAM,eAAe,CAAC;AACtD,OAAO,EAAC,iBAAiB,EAAC,MAAM,OAAO,CAAC;AAExC,eAAO,MAAM,YAAY,EAAE,iBAAiB,CAAC,aAAa,CAIzD,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
2
+ import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
3
+ import { jsx as _jsx } from "react/jsx-runtime";
4
+ import { Skeleton } from "@mantine/core";
5
+ export var TableLoading = function(props) {
6
+ return /*#__PURE__*/ _jsx(Skeleton, _object_spread_props(_object_spread({
7
+ style: {
8
+ display: "inline-block"
9
+ }
10
+ }, props), {
11
+ sx: !props.visible ? {
12
+ borderRadius: 0
13
+ } : undefined,
14
+ children: props.children
15
+ }));
16
+ };
17
+
18
+ //# sourceMappingURL=TableLoading.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/table/TableLoading.tsx"],"sourcesContent":["import {Skeleton, SkeletonProps} from '@mantine/core';\nimport {FunctionComponent} from 'react';\n\nexport const TableLoading: FunctionComponent<SkeletonProps> = (props) => (\n <Skeleton style={{display: 'inline-block'}} {...props} sx={!props.visible ? {borderRadius: 0} : undefined}>\n {props.children}\n </Skeleton>\n);\n"],"names":["Skeleton","TableLoading","props","style","display","sx","visible","borderRadius","undefined","children"],"mappings":";;;AAAA,SAAQA,QAAQ,QAAsB,gBAAgB;AAGtD,OAAO,IAAMC,eAAiD,SAACC;yBAC3D,KAACF;QAASG,OAAO;YAACC,SAAS;QAAc;OAAOF;QAAOG,IAAI,CAACH,MAAMI,UAAU;YAACC,cAAc;QAAC,IAAIC;kBAC3FN,MAAMO;;EAEb"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/table/TablePagination.tsx"],"sourcesContent":["import {Pagination} from '@mantine/core';\nimport {FunctionComponent} from 'react';\n\nimport {useTable} from './TableContext';\n\ninterface TablePaginationProps {\n /**\n * The total number of page. Use null only if your table is paginated client side\n */\n totalPages: number | null;\n}\n\nexport const TablePagination: FunctionComponent<TablePaginationProps> = ({totalPages}) => {\n const {state, setState, containerRef, getPageCount} = useTable();\n const updatePage = (newPage: number) => {\n setState((prevState) => ({\n ...prevState,\n pagination: {...prevState.pagination, pageIndex: newPage - 1},\n }));\n containerRef.current.scrollIntoView({behavior: 'smooth'});\n };\n\n const total = totalPages === null ? getPageCount() : totalPages;\n\n return (\n <Pagination\n value={state.pagination.pageIndex + 1}\n onChange={updatePage}\n total={total}\n boundaries={0}\n size=\"md\"\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":["Pagination","useTable","TablePagination","totalPages","state","setState","containerRef","getPageCount","updatePage","newPage","prevState","pagination","pageIndex","current","scrollIntoView","behavior","total","value","onChange","boundaries","size","getControlProps","control","component"],"mappings":";;;AAAA,SAAQA,UAAU,QAAO,gBAAgB;AAGzC,SAAQC,QAAQ,QAAO,iBAAiB;AASxC,OAAO,IAAMC,kBAA2D,gBAAkB;QAAhBC,mBAAAA;IACtE,IAAsDF,YAAAA,YAA/CG,QAA+CH,UAA/CG,OAAOC,WAAwCJ,UAAxCI,UAAUC,eAA8BL,UAA9BK,cAAcC,eAAgBN,UAAhBM;IACtC,IAAMC,aAAa,SAACC,SAAoB;QACpCJ,SAAS,SAACK;mBAAe,wCAClBA;gBACHC,YAAY,wCAAID,UAAUC,UAAU;oBAAEC,WAAWH,UAAU;;;;QAE/DH,aAAaO,OAAO,CAACC,cAAc,CAAC;YAACC,UAAU;QAAQ;IAC3D;IAEA,IAAMC,QAAQb,eAAe,IAAI,GAAGI,iBAAiBJ,UAAU;IAE/D,qBACI,KAACH;QACGiB,OAAOb,MAAMO,UAAU,CAACC,SAAS,GAAG;QACpCM,UAAUV;QACVQ,OAAOA;QACPG,YAAY;QACZC,MAAK;QACLC,iBAAiB,SAACC,SAAY;YAC1B,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,EAAE"}
1
+ {"version":3,"sources":["../../../../src/components/table/TablePagination.tsx"],"sourcesContent":["import {Pagination} from '@mantine/core';\nimport {FunctionComponent} from 'react';\n\nimport {useTable} from './TableContext';\n\ninterface TablePaginationProps {\n /**\n * The total number of page. Use null only if your table is paginated client side\n */\n totalPages: number | null;\n}\n\nexport const TablePagination: FunctionComponent<TablePaginationProps> = ({totalPages}) => {\n const {state, setState, containerRef, getPageCount} = useTable();\n const updatePage = (newPage: number) => {\n setState((prevState) => ({\n ...prevState,\n pagination: {...prevState.pagination, pageIndex: newPage - 1},\n }));\n containerRef.current.scrollIntoView({behavior: 'smooth'});\n };\n\n const total = totalPages === null ? getPageCount() : totalPages;\n\n return (\n <Pagination\n value={state.pagination.pageIndex + 1}\n onChange={updatePage}\n total={total}\n boundaries={0}\n size=\"md\"\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":["Pagination","useTable","TablePagination","totalPages","state","setState","containerRef","getPageCount","updatePage","newPage","prevState","pagination","pageIndex","current","scrollIntoView","behavior","total","value","onChange","boundaries","size","getControlProps","control","component"],"mappings":";;;AAAA,SAAQA,UAAU,QAAO,gBAAgB;AAGzC,SAAQC,QAAQ,QAAO,iBAAiB;AASxC,OAAO,IAAMC,kBAA2D;QAAEC,mBAAAA;IACtE,IAAsDF,YAAAA,YAA/CG,QAA+CH,UAA/CG,OAAOC,WAAwCJ,UAAxCI,UAAUC,eAA8BL,UAA9BK,cAAcC,eAAgBN,UAAhBM;IACtC,IAAMC,aAAa,SAACC;QAChBJ,SAAS,SAACK;mBAAe,wCAClBA;gBACHC,YAAY,wCAAID,UAAUC;oBAAYC,WAAWH,UAAU;;;;QAE/DH,aAAaO,QAAQC,eAAe;YAACC,UAAU;QAAQ;IAC3D;IAEA,IAAMC,QAAQb,eAAe,OAAOI,iBAAiBJ;IAErD,qBACI,KAACH;QACGiB,OAAOb,MAAMO,WAAWC,YAAY;QACpCM,UAAUV;QACVQ,OAAOA;QACPG,YAAY;QACZC,MAAK;QACLC,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,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/table/TablePerPage.tsx"],"sourcesContent":["import {Group, SegmentedControl, Text} from '@mantine/core';\nimport {FunctionComponent} from 'react';\n\nimport {useTable} from './TableContext';\n\ninterface TablePerPageProps {\n /**\n * The label displayed before the control\n *\n * @default Results per page\n */\n label?: string;\n /**\n * The per page choices to display\n *\n * @default [25, 50, 100]\n */\n values?: number[];\n}\n\nexport const TablePerPage: FunctionComponent<TablePerPageProps> & {DEFAULT_SIZE: number} = ({\n label = 'Results per page',\n values = [25, 50, 100],\n}) => {\n const {state, setState} = useTable();\n\n const updatePerPage = (newPerPage: string) => {\n setState((prevState) => ({\n ...prevState,\n pagination: {pageIndex: 0, pageSize: parseInt(newPerPage, 10)},\n }));\n };\n\n return (\n <Group>\n <Text>{label}</Text>\n <SegmentedControl\n value={state.pagination.pageSize.toString() ?? values?.[1].toString()}\n onChange={updatePerPage}\n data={values.map((value) => value.toString())}\n color=\"action\"\n size=\"md\"\n />\n </Group>\n );\n};\n\nTablePerPage.DEFAULT_SIZE = 50;\n"],"names":["Group","SegmentedControl","Text","useTable","TablePerPage","label","values","state","setState","updatePerPage","newPerPage","prevState","pagination","pageIndex","pageSize","parseInt","value","toString","onChange","data","map","color","size","DEFAULT_SIZE"],"mappings":";;;AAAA,SAAQA,KAAK,EAAEC,gBAAgB,EAAEC,IAAI,QAAO,gBAAgB;AAG5D,SAAQC,QAAQ,QAAO,iBAAiB;AAiBxC,OAAO,IAAMC,eAA8E,gBAGrF;6BAFFC,OAAAA,kCAAQ,yDACRC,QAAAA,oCAAS;QAAC;QAAI;QAAI;KAAI;IAEtB,IAA0BH,YAAAA,YAAnBI,QAAmBJ,UAAnBI,OAAOC,WAAYL,UAAZK;IAEd,IAAMC,gBAAgB,SAACC,YAAuB;QAC1CF,SAAS,SAACG;mBAAe,wCAClBA;gBACHC,YAAY;oBAACC,WAAW;oBAAGC,UAAUC,SAASL,YAAY;gBAAG;;;IAErE;QAMmBH;IAJnB,qBACI,MAACP;;0BACG,KAACE;0BAAMG;;0BACP,KAACJ;gBACGe,OAAOT,CAAAA,sCAAAA,MAAMK,UAAU,CAACE,QAAQ,CAACG,QAAQ,gBAAlCV,iDAAAA,sCAAwCD,mBAAAA,oBAAAA,KAAAA,IAAAA,MAAQ,CAAC,EAAE,CAACW,QAAQ,EAAE;gBACrEC,UAAUT;gBACVU,MAAMb,OAAOc,GAAG,CAAC,SAACJ;2BAAUA,MAAMC,QAAQ;;gBAC1CI,OAAM;gBACNC,MAAK;;;;AAIrB,EAAE;AAEFlB,aAAamB,YAAY,GAAG"}
1
+ {"version":3,"sources":["../../../../src/components/table/TablePerPage.tsx"],"sourcesContent":["import {Group, SegmentedControl, Text} from '@mantine/core';\nimport {FunctionComponent} from 'react';\n\nimport {useTable} from './TableContext';\n\ninterface TablePerPageProps {\n /**\n * The label displayed before the control\n *\n * @default Results per page\n */\n label?: string;\n /**\n * The per page choices to display\n *\n * @default [25, 50, 100]\n */\n values?: number[];\n}\n\nexport const TablePerPage: FunctionComponent<TablePerPageProps> & {DEFAULT_SIZE: number} = ({\n label = 'Results per page',\n values = [25, 50, 100],\n}) => {\n const {state, setState} = useTable();\n\n const updatePerPage = (newPerPage: string) => {\n setState((prevState) => ({\n ...prevState,\n pagination: {pageIndex: 0, pageSize: parseInt(newPerPage, 10)},\n }));\n };\n\n return (\n <Group>\n <Text>{label}</Text>\n <SegmentedControl\n value={state.pagination.pageSize.toString() ?? values?.[1].toString()}\n onChange={updatePerPage}\n data={values.map((value) => value.toString())}\n color=\"action\"\n size=\"md\"\n />\n </Group>\n );\n};\n\nTablePerPage.DEFAULT_SIZE = 50;\n"],"names":["Group","SegmentedControl","Text","useTable","TablePerPage","label","values","state","setState","updatePerPage","newPerPage","prevState","pagination","pageIndex","pageSize","parseInt","value","toString","onChange","data","map","color","size","DEFAULT_SIZE"],"mappings":";;;AAAA,SAAQA,KAAK,EAAEC,gBAAgB,EAAEC,IAAI,QAAO,gBAAgB;AAG5D,SAAQC,QAAQ,QAAO,iBAAiB;AAiBxC,OAAO,IAAMC,eAA8E;6BACvFC,OAAAA,kCAAQ,yDACRC,QAAAA,oCAAS;QAAC;QAAI;QAAI;KAAI;IAEtB,IAA0BH,YAAAA,YAAnBI,QAAmBJ,UAAnBI,OAAOC,WAAYL,UAAZK;IAEd,IAAMC,gBAAgB,SAACC;QACnBF,SAAS,SAACG;mBAAe,wCAClBA;gBACHC,YAAY;oBAACC,WAAW;oBAAGC,UAAUC,SAASL,YAAY;gBAAG;;;IAErE;QAMmBH;IAJnB,qBACI,MAACP;;0BACG,KAACE;0BAAMG;;0BACP,KAACJ;gBACGe,OAAOT,CAAAA,sCAAAA,MAAMK,WAAWE,SAASG,wBAA1BV,iDAAAA,sCAAwCD,mBAAAA,oBAAAA,KAAAA,IAAAA,MAAQ,CAAC,EAAE,CAACW;gBAC3DC,UAAUT;gBACVU,MAAMb,OAAOc,IAAI,SAACJ;2BAAUA,MAAMC;;gBAClCI,OAAM;gBACNC,MAAK;;;;AAIrB,EAAE;AAEFlB,aAAamB,eAAe"}
@@ -1,6 +1,16 @@
1
- import { SelectItem } from '@mantine/core';
1
+ import { DefaultProps, SelectItem, Selectors } from '@mantine/core';
2
2
  import { FunctionComponent } from 'react';
3
- interface TablePredicateProps {
3
+ declare const useStyles: (params: void, options?: import("@mantine/core").UseStylesOptions<string>) => {
4
+ classes: {
5
+ root: string;
6
+ wrapper: string;
7
+ label: string;
8
+ };
9
+ cx: (...args: any) => string;
10
+ theme: import("@mantine/core").MantineTheme;
11
+ };
12
+ type TablePredicateStylesNames = Selectors<typeof useStyles>;
13
+ interface TablePredicateProps extends DefaultProps<TablePredicateStylesNames> {
4
14
  /**
5
15
  * Unique identifier for this predicate. Will be used to access the selected value in the table state
6
16
  */
@@ -1 +1 @@
1
- {"version":3,"file":"TablePredicate.d.ts","sourceRoot":"","sources":["../../../../src/components/table/TablePredicate.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAsB,UAAU,EAAO,MAAM,eAAe,CAAC;AACpE,OAAO,EAAC,iBAAiB,EAAC,MAAM,OAAO,CAAC;AAKxC,UAAU,mBAAmB;IACzB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,cAAc,EAAE,iBAAiB,CAAC,mBAAmB,CAuBjE,CAAC"}
1
+ {"version":3,"file":"TablePredicate.d.ts","sourceRoot":"","sources":["../../../../src/components/table/TablePredicate.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAe,YAAY,EAAuB,UAAU,EAAE,SAAS,EAAO,MAAM,eAAe,CAAC;AAC3G,OAAO,EAAC,iBAAiB,EAAC,MAAM,OAAO,CAAC;AAKxC,QAAA,MAAM,SAAS;;;;;;;;CAIZ,CAAC;AAEJ,KAAK,yBAAyB,GAAG,SAAS,CAAC,OAAO,SAAS,CAAC,CAAC;AAE7D,UAAU,mBAAoB,SAAQ,YAAY,CAAC,yBAAyB,CAAC;IACzE;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,cAAc,EAAE,iBAAiB,CAAC,mBAAmB,CAgCjE,CAAC"}