@coveord/plasma-mantine 52.1.0 → 52.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (191) hide show
  1. package/.turbo/turbo-build.log +3 -3
  2. package/.turbo/turbo-test.log +28 -28
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/cjs/__tests__/Utils.js +9 -9
  5. package/dist/cjs/__tests__/Utils.js.map +1 -1
  6. package/dist/cjs/__tests__/VitestSetup.js +2 -2
  7. package/dist/cjs/__tests__/VitestSetup.js.map +1 -1
  8. package/dist/cjs/components/blank-slate/BlankSlate.js +3 -3
  9. package/dist/cjs/components/blank-slate/index.js +2 -2
  10. package/dist/cjs/components/blank-slate/index.js.map +1 -1
  11. package/dist/cjs/components/button/Button.js +15 -15
  12. package/dist/cjs/components/button/Button.js.map +1 -1
  13. package/dist/cjs/components/button/ButtonWithDisabledTooltip.js +8 -8
  14. package/dist/cjs/components/button/index.js +2 -2
  15. package/dist/cjs/components/button/index.js.map +1 -1
  16. package/dist/cjs/components/code-editor/CodeEditor.js +30 -30
  17. package/dist/cjs/components/code-editor/CodeEditor.js.map +1 -1
  18. package/dist/cjs/components/code-editor/index.js +2 -2
  19. package/dist/cjs/components/code-editor/index.js.map +1 -1
  20. package/dist/cjs/components/code-editor/languages/xml.js +4 -4
  21. package/dist/cjs/components/code-editor/languages/xml.js.map +1 -1
  22. package/dist/cjs/components/collection/Collection.js +25 -25
  23. package/dist/cjs/components/collection/Collection.js.map +1 -1
  24. package/dist/cjs/components/collection/CollectionItem.js +29 -29
  25. package/dist/cjs/components/collection/CollectionItem.js.map +1 -1
  26. package/dist/cjs/components/collection/index.js +2 -2
  27. package/dist/cjs/components/collection/index.js.map +1 -1
  28. package/dist/cjs/components/copyToClipboard/CopyToClipboard.js +13 -13
  29. package/dist/cjs/components/copyToClipboard/CopyToClipboard.js.map +1 -1
  30. package/dist/cjs/components/copyToClipboard/index.js +2 -2
  31. package/dist/cjs/components/copyToClipboard/index.js.map +1 -1
  32. package/dist/cjs/components/date-range-picker/DateRangePickerInlineCalendar.js +16 -16
  33. package/dist/cjs/components/date-range-picker/DateRangePickerInlineCalendar.js.map +1 -1
  34. package/dist/cjs/components/date-range-picker/DateRangePickerPopoverCalendar.js +16 -16
  35. package/dist/cjs/components/date-range-picker/DateRangePickerPopoverCalendar.js.map +1 -1
  36. package/dist/cjs/components/date-range-picker/DateRangePickerPresetSelect.js +10 -10
  37. package/dist/cjs/components/date-range-picker/DateRangePickerPresetSelect.js.map +1 -1
  38. package/dist/cjs/components/date-range-picker/EditableDateRangePicker.js +9 -9
  39. package/dist/cjs/components/date-range-picker/EditableDateRangePicker.js.map +1 -1
  40. package/dist/cjs/components/date-range-picker/index.js +4 -4
  41. package/dist/cjs/components/date-range-picker/index.js.map +1 -1
  42. package/dist/cjs/components/header/Header.js +23 -23
  43. package/dist/cjs/components/header/Header.js.map +1 -1
  44. package/dist/cjs/components/header/__tests__/__snapshots__/Header.spec.tsx.snap +4 -8
  45. package/dist/cjs/components/header/index.js +2 -2
  46. package/dist/cjs/components/header/index.js.map +1 -1
  47. package/dist/cjs/components/index.js +14 -14
  48. package/dist/cjs/components/index.js.map +1 -1
  49. package/dist/cjs/components/inline-confirm/InlineConfirm.js +12 -12
  50. package/dist/cjs/components/inline-confirm/InlineConfirm.js.map +1 -1
  51. package/dist/cjs/components/inline-confirm/InlineConfirmButton.js +5 -5
  52. package/dist/cjs/components/inline-confirm/InlineConfirmMenuItem.js +5 -5
  53. package/dist/cjs/components/inline-confirm/InlineConfirmPrompt.js +4 -4
  54. package/dist/cjs/components/inline-confirm/index.js +4 -4
  55. package/dist/cjs/components/inline-confirm/index.js.map +1 -1
  56. package/dist/cjs/components/inline-confirm/useInlineConfirm.js +2 -2
  57. package/dist/cjs/components/menu/Menu.js +7 -7
  58. package/dist/cjs/components/menu/index.js +2 -2
  59. package/dist/cjs/components/menu/index.js.map +1 -1
  60. package/dist/cjs/components/modal-wizard/ModalWizard.js +22 -22
  61. package/dist/cjs/components/modal-wizard/ModalWizard.js.map +1 -1
  62. package/dist/cjs/components/modal-wizard/ModalWizardStep.js +2 -2
  63. package/dist/cjs/components/modal-wizard/index.js +2 -2
  64. package/dist/cjs/components/modal-wizard/index.js.map +1 -1
  65. package/dist/cjs/components/prompt/Prompt.js +18 -18
  66. package/dist/cjs/components/prompt/PromptFooter.js +7 -7
  67. package/dist/cjs/components/prompt/PromptFooter.js.map +1 -1
  68. package/dist/cjs/components/prompt/index.js +2 -2
  69. package/dist/cjs/components/prompt/index.js.map +1 -1
  70. package/dist/cjs/components/sticky-footer/StickyFooter.js +8 -8
  71. package/dist/cjs/components/sticky-footer/index.js +2 -2
  72. package/dist/cjs/components/sticky-footer/index.js.map +1 -1
  73. package/dist/cjs/components/table/Table.js +96 -86
  74. package/dist/cjs/components/table/Table.js.map +1 -1
  75. package/dist/cjs/components/table/Table.styles.js +30 -7
  76. package/dist/cjs/components/table/Table.styles.js.map +1 -1
  77. package/dist/cjs/components/table/TableActions.js +15 -6
  78. package/dist/cjs/components/table/TableActions.js.map +1 -1
  79. package/dist/cjs/components/table/TableCollapsibleColumn.js +10 -10
  80. package/dist/cjs/components/table/TableCollapsibleColumn.js.map +1 -1
  81. package/dist/cjs/components/table/TableConsumer.js +2 -2
  82. package/dist/cjs/components/table/TableDateRangePicker.js +51 -41
  83. package/dist/cjs/components/table/TableDateRangePicker.js.map +1 -1
  84. package/dist/cjs/components/table/TableFilter.js +31 -25
  85. package/dist/cjs/components/table/TableFilter.js.map +1 -1
  86. package/dist/cjs/components/table/TableFooter.js +6 -6
  87. package/dist/cjs/components/table/TableHeader.js +45 -45
  88. package/dist/cjs/components/table/TableHeader.js.map +1 -1
  89. package/dist/cjs/components/table/TablePagination.js +8 -8
  90. package/dist/cjs/components/table/TablePagination.js.map +1 -1
  91. package/dist/cjs/components/table/TablePerPage.js +9 -9
  92. package/dist/cjs/components/table/TablePerPage.js.map +1 -1
  93. package/dist/cjs/components/table/TablePredicate.js +31 -25
  94. package/dist/cjs/components/table/TablePredicate.js.map +1 -1
  95. package/dist/cjs/components/table/TableSelectableColumn.js +4 -4
  96. package/dist/cjs/components/table/Th.js +17 -17
  97. package/dist/cjs/components/table/index.js +4 -4
  98. package/dist/cjs/components/table/index.js.map +1 -1
  99. package/dist/cjs/components/table/useRowSelection.js +9 -9
  100. package/dist/cjs/components/table/useRowSelection.js.map +1 -1
  101. package/dist/cjs/form/FormProvider.js +4 -4
  102. package/dist/cjs/form/FormProvider.js.map +1 -1
  103. package/dist/cjs/form/index.js +3 -3
  104. package/dist/cjs/form/index.js.map +1 -1
  105. package/dist/cjs/form/useForm.js +4 -4
  106. package/dist/cjs/form/useForm.js.map +1 -1
  107. package/dist/cjs/hooks/index.js +3 -3
  108. package/dist/cjs/hooks/index.js.map +1 -1
  109. package/dist/cjs/hooks/useControlledList.js +5 -5
  110. package/dist/cjs/hooks/useControlledList.js.map +1 -1
  111. package/dist/cjs/hooks/useParentHeight.js +2 -2
  112. package/dist/cjs/hooks/useParentHeight.js.map +1 -1
  113. package/dist/cjs/index.js +9 -9
  114. package/dist/cjs/index.js.map +1 -1
  115. package/dist/cjs/theme/PlasmaColors.js +30 -30
  116. package/dist/cjs/theme/Plasmantine.js +4 -4
  117. package/dist/cjs/theme/Theme.js +13 -13
  118. package/dist/cjs/theme/Theme.js.map +1 -1
  119. package/dist/cjs/theme/index.js +2 -2
  120. package/dist/cjs/theme/index.js.map +1 -1
  121. package/dist/cjs/utils/index.js +3 -3
  122. package/dist/cjs/utils/index.js.map +1 -1
  123. package/dist/cjs/utils/overrideComponent.js +2 -2
  124. package/dist/cjs/utils/overrideComponent.js.map +1 -1
  125. package/dist/definitions/components/header/Header.d.ts.map +1 -1
  126. package/dist/definitions/components/table/Table.d.ts.map +1 -1
  127. package/dist/definitions/components/table/Table.styles.d.ts +7 -1
  128. package/dist/definitions/components/table/Table.styles.d.ts.map +1 -1
  129. package/dist/definitions/components/table/TableActions.d.ts.map +1 -1
  130. package/dist/definitions/components/table/TableDateRangePicker.d.ts.map +1 -1
  131. package/dist/definitions/components/table/TableFilter.d.ts.map +1 -1
  132. package/dist/definitions/components/table/TableHeader.d.ts +1 -0
  133. package/dist/definitions/components/table/TableHeader.d.ts.map +1 -1
  134. package/dist/definitions/components/table/TablePredicate.d.ts.map +1 -1
  135. package/dist/esm/__tests__/Utils.js +1 -1
  136. package/dist/esm/components/button/Button.js +6 -6
  137. package/dist/esm/components/button/ButtonWithDisabledTooltip.js +3 -3
  138. package/dist/esm/components/code-editor/CodeEditor.js +6 -6
  139. package/dist/esm/components/code-editor/languages/xml.js +2 -2
  140. package/dist/esm/components/collection/Collection.js +3 -3
  141. package/dist/esm/components/collection/CollectionItem.js +4 -4
  142. package/dist/esm/components/copyToClipboard/CopyToClipboard.js +2 -2
  143. package/dist/esm/components/date-range-picker/DateRangePickerInlineCalendar.js +2 -2
  144. package/dist/esm/components/date-range-picker/DateRangePickerPopoverCalendar.js +2 -2
  145. package/dist/esm/components/date-range-picker/DateRangePickerPresetSelect.js +3 -3
  146. package/dist/esm/components/date-range-picker/EditableDateRangePicker.js +1 -1
  147. package/dist/esm/components/header/Header.js +11 -11
  148. package/dist/esm/components/header/Header.js.map +1 -1
  149. package/dist/esm/components/header/__tests__/__snapshots__/Header.spec.tsx.snap +4 -8
  150. package/dist/esm/components/inline-confirm/InlineConfirm.js +1 -1
  151. package/dist/esm/components/inline-confirm/InlineConfirmButton.js +2 -2
  152. package/dist/esm/components/inline-confirm/InlineConfirmMenuItem.js +2 -2
  153. package/dist/esm/components/menu/Menu.js +2 -2
  154. package/dist/esm/components/modal-wizard/ModalWizard.js +4 -4
  155. package/dist/esm/components/prompt/Prompt.js +3 -3
  156. package/dist/esm/components/prompt/PromptFooter.js +3 -3
  157. package/dist/esm/components/sticky-footer/StickyFooter.js +3 -3
  158. package/dist/esm/components/table/Table.js +27 -17
  159. package/dist/esm/components/table/Table.js.map +1 -1
  160. package/dist/esm/components/table/Table.styles.js +19 -4
  161. package/dist/esm/components/table/Table.styles.js.map +1 -1
  162. package/dist/esm/components/table/TableActions.js +13 -4
  163. package/dist/esm/components/table/TableActions.js.map +1 -1
  164. package/dist/esm/components/table/TableCollapsibleColumn.js +2 -2
  165. package/dist/esm/components/table/TableDateRangePicker.js +45 -35
  166. package/dist/esm/components/table/TableDateRangePicker.js.map +1 -1
  167. package/dist/esm/components/table/TableFilter.js +26 -20
  168. package/dist/esm/components/table/TableFilter.js.map +1 -1
  169. package/dist/esm/components/table/TableFooter.js +3 -3
  170. package/dist/esm/components/table/TableHeader.js +41 -41
  171. package/dist/esm/components/table/TableHeader.js.map +1 -1
  172. package/dist/esm/components/table/TablePagination.js +2 -2
  173. package/dist/esm/components/table/TablePerPage.js +2 -2
  174. package/dist/esm/components/table/TablePredicate.js +28 -22
  175. package/dist/esm/components/table/TablePredicate.js.map +1 -1
  176. package/dist/esm/components/table/useRowSelection.js +2 -2
  177. package/dist/esm/form/useForm.js +2 -2
  178. package/dist/esm/hooks/useControlledList.js +2 -2
  179. package/dist/esm/hooks/useParentHeight.js +1 -1
  180. package/dist/esm/theme/Theme.js +2 -2
  181. package/dist/esm/utils/overrideComponent.js +1 -1
  182. package/package.json +8 -8
  183. package/src/components/header/Header.tsx +5 -7
  184. package/src/components/header/__tests__/__snapshots__/Header.spec.tsx.snap +4 -8
  185. package/src/components/table/Table.styles.ts +21 -5
  186. package/src/components/table/Table.tsx +10 -4
  187. package/src/components/table/TableActions.tsx +9 -6
  188. package/src/components/table/TableDateRangePicker.tsx +23 -20
  189. package/src/components/table/TableFilter.tsx +21 -18
  190. package/src/components/table/TableHeader.tsx +35 -23
  191. package/src/components/table/TablePredicate.tsx +15 -12
@@ -1,19 +1,22 @@
1
- import _object_spread from "@swc/helpers/src/_object_spread.mjs";
2
- import _object_spread_props from "@swc/helpers/src/_object_spread_props.mjs";
3
- import _object_without_properties from "@swc/helpers/src/_object_without_properties.mjs";
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";
4
4
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
5
  import { CrossSize16Px } from "@coveord/plasma-react-icons";
6
- import { createStyles, Group, Space, Tooltip } from "@mantine/core";
6
+ import { createStyles, Grid, Tooltip } from "@mantine/core";
7
7
  import { Button } from "../button";
8
+ import { TableComponentsOrder } from "./Table.styles";
8
9
  import { useTable } from "./TableContext";
9
10
  var useStyles = createStyles(function(theme) {
10
11
  return {
11
12
  root: {
12
- position: "sticky",
13
- top: 0,
14
- zIndex: 1,
15
- backgroundColor: theme.colors.gray[1],
13
+ flexDirection: "row-reverse",
14
+ flexWrap: "wrap-reverse",
15
+ background: "repeating-linear-gradient(".concat(theme.colors.gray[1], ", ").concat(theme.colors.gray[1], " 68px, ").concat(theme.colors.gray[3], " 68px, ").concat(theme.colors.gray[3], " 69px)"),
16
16
  borderBottom: "1px solid ".concat(theme.colors.gray[3])
17
+ },
18
+ multiSelectInfo: {
19
+ justifySelf: "flex-start"
17
20
  }
18
21
  };
19
22
  });
@@ -32,42 +35,39 @@ export var TableHeader = function(_param) {
32
35
  unstyled: unstyled
33
36
  }).classes;
34
37
  var selectedRows = getSelectedRows();
35
- return multiRowSelectionEnabled ? /*#__PURE__*/ _jsxs(Group, {
36
- position: "apart",
37
- className: classes.root,
38
+ return /*#__PURE__*/ _jsxs(Grid, _object_spread_props(_object_spread({
39
+ justify: "flex-start",
40
+ align: "center",
41
+ gutter: "sm",
42
+ p: 0,
43
+ pl: "md",
44
+ pr: "lg",
45
+ m: 0,
46
+ className: classes.root
47
+ }, others), {
38
48
  children: [
39
- selectedRows.length > 0 ? /*#__PURE__*/ _jsx(Tooltip, {
40
- label: "Unselect all",
41
- children: /*#__PURE__*/ _jsxs(Button, {
42
- onClick: clearSelection,
43
- ml: "lg",
44
- variant: "subtle",
45
- leftIcon: /*#__PURE__*/ _jsx(CrossSize16Px, {
46
- height: 16
47
- }),
48
- children: [
49
- selectedRows.length,
50
- " selected"
51
- ]
49
+ multiRowSelectionEnabled && selectedRows.length > 0 ? /*#__PURE__*/ _jsx(Grid.Col, {
50
+ span: "auto",
51
+ py: "sm",
52
+ className: classes.multiSelectInfo,
53
+ order: TableComponentsOrder.MultiSelectInfo,
54
+ children: /*#__PURE__*/ _jsx(Tooltip, {
55
+ label: "Unselect all",
56
+ children: /*#__PURE__*/ _jsxs(Button, {
57
+ onClick: clearSelection,
58
+ variant: "subtle",
59
+ leftIcon: /*#__PURE__*/ _jsx(CrossSize16Px, {
60
+ height: 16
61
+ }),
62
+ children: [
63
+ selectedRows.length,
64
+ " selected"
65
+ ]
66
+ })
52
67
  })
53
- }) : /*#__PURE__*/ _jsx(Space, {}),
54
- /*#__PURE__*/ _jsx(Group, _object_spread_props(_object_spread({
55
- position: "right",
56
- spacing: "lg",
57
- px: "md",
58
- py: "sm"
59
- }, others), {
60
- children: children
61
- }))
68
+ }) : null,
69
+ children
62
70
  ]
63
- }) : /*#__PURE__*/ _jsx(Group, _object_spread_props(_object_spread({
64
- position: "right",
65
- spacing: "lg",
66
- px: "md",
67
- py: "sm",
68
- className: classes.root
69
- }, others), {
70
- children: children
71
71
  }));
72
72
  };
73
73
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/table/TableHeader.tsx"],"sourcesContent":["import {CrossSize16Px} from '@coveord/plasma-react-icons';\nimport {createStyles, DefaultProps, Group, Selectors, Space, Tooltip} from '@mantine/core';\nimport {FunctionComponent, ReactNode} from 'react';\n\nimport {Button} from '../button';\nimport {useTable} from './TableContext';\n\nconst useStyles = createStyles((theme) => ({\n root: {\n position: 'sticky',\n top: 0,\n zIndex: 1,\n backgroundColor: theme.colors.gray[1],\n borderBottom: `1px solid ${theme.colors.gray[3]}`,\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 multiRowSelectionEnabled ? (\n <Group position=\"apart\" className={classes.root}>\n {selectedRows.length > 0 ? (\n <Tooltip label=\"Unselect all\">\n <Button onClick={clearSelection} ml=\"lg\" variant=\"subtle\" leftIcon={<CrossSize16Px height={16} />}>\n {selectedRows.length} selected\n </Button>\n </Tooltip>\n ) : (\n <Space />\n )}\n <Group position=\"right\" spacing=\"lg\" px=\"md\" py=\"sm\" {...others}>\n {children}\n </Group>\n </Group>\n ) : (\n <Group position=\"right\" spacing=\"lg\" px=\"md\" py=\"sm\" className={classes.root} {...others}>\n {children}\n </Group>\n );\n};\n"],"names":["CrossSize16Px","createStyles","Group","Space","Tooltip","Button","useTable","useStyles","theme","root","position","top","zIndex","backgroundColor","colors","gray","borderBottom","TableHeader","classNames","styles","unstyled","children","others","getSelectedRows","multiRowSelectionEnabled","clearSelection","classes","name","selectedRows","className","length","label","onClick","ml","variant","leftIcon","height","spacing","px","py"],"mappings":";;;;AAAA,SAAQA,aAAa,QAAO,8BAA8B;AAC1D,SAAQC,YAAY,EAAgBC,KAAK,EAAaC,KAAK,EAAEC,OAAO,QAAO,gBAAgB;AAG3F,SAAQC,MAAM,QAAO,YAAY;AACjC,SAAQC,QAAQ,QAAO,iBAAiB;AAExC,IAAMC,YAAYN,aAAa,SAACO;WAAW;QACvCC,MAAM;YACFC,UAAU;YACVC,KAAK;YACLC,QAAQ;YACRC,iBAAiBL,MAAMM,MAAM,CAACC,IAAI,CAAC,EAAE;YACrCC,cAAc,AAAC,aAAiC,OAArBR,MAAMM,MAAM,CAACC,IAAI,CAAC,EAAE;QACnD;IACJ;;AAOA,OAAO,IAAME,cAAmD,iBAM1D;QALFC,oBAAAA,YACAC,gBAAAA,QACAC,kBAAAA,UACAC,kBAAAA,UACGC;QAJHJ;QACAC;QACAC;QACAC;;IAGA,IAAoEf,YAAAA,YAA7DiB,kBAA6DjB,UAA7DiB,iBAAiBC,2BAA4ClB,UAA5CkB,0BAA0BC,iBAAkBnB,UAAlBmB;IAClD,IAAM,AAACC,UAAWnB,UAAU,IAAI,EAAE;QAACoB,MAAM;QAAeT,YAAAA;QAAYC,QAAAA;QAAQC,UAAAA;IAAQ,GAA7EM;IACP,IAAME,eAAeL;IACrB,OAAOC,yCACH,MAACtB;QAAMQ,UAAS;QAAQmB,WAAWH,QAAQjB,IAAI;;YAC1CmB,aAAaE,MAAM,GAAG,kBACnB,KAAC1B;gBAAQ2B,OAAM;0BACX,cAAA,MAAC1B;oBAAO2B,SAASP;oBAAgBQ,IAAG;oBAAKC,SAAQ;oBAASC,wBAAU,KAACnC;wBAAcoC,QAAQ;;;wBACtFR,aAAaE,MAAM;wBAAC;;;+BAI7B,KAAC3B,UACJ;0BACD,KAACD;gBAAMQ,UAAS;gBAAQ2B,SAAQ;gBAAKC,IAAG;gBAAKC,IAAG;eAASjB;0BACpDD;;;uBAIT,KAACnB;QAAMQ,UAAS;QAAQ2B,SAAQ;QAAKC,IAAG;QAAKC,IAAG;QAAKV,WAAWH,QAAQjB,IAAI;OAAMa;kBAC7ED;OAER;AACL,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';\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,5 +1,5 @@
1
- import _object_spread from "@swc/helpers/src/_object_spread.mjs";
2
- import _object_spread_props from "@swc/helpers/src/_object_spread_props.mjs";
1
+ import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
2
+ import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
3
3
  import { jsx as _jsx } from "react/jsx-runtime";
4
4
  import { Pagination } from "@mantine/core";
5
5
  import { useTable } from "./TableContext";
@@ -1,5 +1,5 @@
1
- import _object_spread from "@swc/helpers/src/_object_spread.mjs";
2
- import _object_spread_props from "@swc/helpers/src/_object_spread_props.mjs";
1
+ import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
2
+ import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
3
3
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
4
  import { Group, SegmentedControl, Text } from "@mantine/core";
5
5
  import { useTable } from "./TableContext";
@@ -1,8 +1,9 @@
1
- import _define_property from "@swc/helpers/src/_define_property.mjs";
2
- import _object_spread from "@swc/helpers/src/_object_spread.mjs";
3
- import _object_spread_props from "@swc/helpers/src/_object_spread_props.mjs";
1
+ import { _ as _define_property } from "@swc/helpers/_/_define_property";
2
+ import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
3
+ import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
4
4
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
- import { Group, Select, Text } from "@mantine/core";
5
+ import { Grid, Group, Select, Text } from "@mantine/core";
6
+ import { TableComponentsOrder } from "./Table.styles";
6
7
  import { useTable } from "./TableContext";
7
8
  export var TablePredicate = function(param) {
8
9
  var id = param.id, data = param.data, label = param.label;
@@ -11,24 +12,29 @@ export var TablePredicate = function(param) {
11
12
  form.setFieldValue("predicates", _object_spread_props(_object_spread({}, form.values.predicates), _define_property({}, id, newValue)));
12
13
  onChange === null || onChange === void 0 ? void 0 : onChange();
13
14
  };
14
- return /*#__PURE__*/ _jsxs(Group, {
15
- spacing: "xs",
16
- children: [
17
- label ? /*#__PURE__*/ _jsxs(Text, {
18
- children: [
19
- label,
20
- ":"
21
- ]
22
- }) : null,
23
- /*#__PURE__*/ _jsx(Select, {
24
- withinPortal: true,
25
- value: form.values.predicates[id],
26
- onChange: onUpdate,
27
- data: data,
28
- "aria-label": label !== null && label !== void 0 ? label : id,
29
- searchable: data.length > 7
30
- })
31
- ]
15
+ return /*#__PURE__*/ _jsx(Grid.Col, {
16
+ span: "content",
17
+ order: TableComponentsOrder.Predicate,
18
+ py: "sm",
19
+ children: /*#__PURE__*/ _jsxs(Group, {
20
+ spacing: "xs",
21
+ children: [
22
+ label ? /*#__PURE__*/ _jsxs(Text, {
23
+ children: [
24
+ label,
25
+ ":"
26
+ ]
27
+ }) : null,
28
+ /*#__PURE__*/ _jsx(Select, {
29
+ withinPortal: true,
30
+ value: form.values.predicates[id],
31
+ onChange: onUpdate,
32
+ data: data,
33
+ "aria-label": label !== null && label !== void 0 ? label : id,
34
+ searchable: data.length > 7
35
+ })
36
+ ]
37
+ })
32
38
  });
33
39
  };
34
40
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/table/TablePredicate.tsx"],"sourcesContent":["import {Group, Select, SelectItem, Text} from '@mantine/core';\nimport {FunctionComponent} from 'react';\n\nimport {useTable} from './TableContext';\n\ninterface TablePredicateProps {\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: SelectItem[];\n /**\n * Input label (not displayed for now)\n *\n * @default default to the predicate id\n */\n label?: string;\n}\n\nexport const TablePredicate: FunctionComponent<TablePredicateProps> = ({id, data, label}) => {\n const {onChange, form} = useTable();\n\n const onUpdate = (newValue: string) => {\n form.setFieldValue('predicates', {...form.values.predicates, [id]: newValue});\n onChange?.();\n };\n\n return (\n <Group spacing=\"xs\">\n {label ? <Text>{label}:</Text> : null}\n <Select\n withinPortal\n value={form.values.predicates[id]}\n onChange={onUpdate}\n data={data}\n aria-label={label ?? id}\n searchable={data.length > 7}\n />\n </Group>\n );\n};\n"],"names":["Group","Select","Text","useTable","TablePredicate","id","data","label","onChange","form","onUpdate","newValue","setFieldValue","values","predicates","spacing","withinPortal","value","aria-label","searchable","length"],"mappings":";;;;AAAA,SAAQA,KAAK,EAAEC,MAAM,EAAcC,IAAI,QAAO,gBAAgB;AAG9D,SAAQC,QAAQ,QAAO,iBAAiB;AAmBxC,OAAO,IAAMC,iBAAyD,gBAAuB;QAArBC,WAAAA,IAAIC,aAAAA,MAAMC,cAAAA;IAC9E,IAAyBJ,YAAAA,YAAlBK,WAAkBL,UAAlBK,UAAUC,OAAQN,UAARM;IAEjB,IAAMC,WAAW,SAACC,UAAqB;QACnCF,KAAKG,aAAa,CAAC,cAAc,wCAAIH,KAAKI,MAAM,CAACC,UAAU,GAAE,qBAACT,IAAKM;QACnEH,qBAAAA,sBAAAA,KAAAA,IAAAA;IACJ;IAEA,qBACI,MAACR;QAAMe,SAAQ;;YACVR,sBAAQ,MAACL;;oBAAMK;oBAAM;;iBAAW,IAAI;0BACrC,KAACN;gBACGe,YAAY;gBACZC,OAAOR,KAAKI,MAAM,CAACC,UAAU,CAACT,GAAG;gBACjCG,UAAUE;gBACVJ,MAAMA;gBACNY,cAAYX,kBAAAA,mBAAAA,QAASF,EAAE;gBACvBc,YAAYb,KAAKc,MAAM,GAAG;;;;AAI1C,EAAE"}
1
+ {"version":3,"sources":["../../../../src/components/table/TablePredicate.tsx"],"sourcesContent":["import {Grid, Group, Select, SelectItem, Text} from '@mantine/core';\nimport {FunctionComponent} from 'react';\nimport {TableComponentsOrder} from './Table.styles';\n\nimport {useTable} from './TableContext';\n\ninterface TablePredicateProps {\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: SelectItem[];\n /**\n * Input label (not displayed for now)\n *\n * @default default to the predicate id\n */\n label?: string;\n}\n\nexport const TablePredicate: FunctionComponent<TablePredicateProps> = ({id, data, label}) => {\n const {onChange, form} = useTable();\n\n const onUpdate = (newValue: string) => {\n form.setFieldValue('predicates', {...form.values.predicates, [id]: newValue});\n onChange?.();\n };\n\n return (\n <Grid.Col span=\"content\" order={TableComponentsOrder.Predicate} py=\"sm\">\n <Group spacing=\"xs\">\n {label ? <Text>{label}:</Text> : null}\n <Select\n withinPortal\n value={form.values.predicates[id]}\n onChange={onUpdate}\n data={data}\n aria-label={label ?? id}\n searchable={data.length > 7}\n />\n </Group>\n </Grid.Col>\n );\n};\n"],"names":["Grid","Group","Select","Text","TableComponentsOrder","useTable","TablePredicate","id","data","label","onChange","form","onUpdate","newValue","setFieldValue","values","predicates","Col","span","order","Predicate","py","spacing","withinPortal","value","aria-label","searchable","length"],"mappings":";;;;AAAA,SAAQA,IAAI,EAAEC,KAAK,EAAEC,MAAM,EAAcC,IAAI,QAAO,gBAAgB;AAEpE,SAAQC,oBAAoB,QAAO,iBAAiB;AAEpD,SAAQC,QAAQ,QAAO,iBAAiB;AAmBxC,OAAO,IAAMC,iBAAyD,gBAAuB;QAArBC,WAAAA,IAAIC,aAAAA,MAAMC,cAAAA;IAC9E,IAAyBJ,YAAAA,YAAlBK,WAAkBL,UAAlBK,UAAUC,OAAQN,UAARM;IAEjB,IAAMC,WAAW,SAACC,UAAqB;QACnCF,KAAKG,aAAa,CAAC,cAAc,wCAAIH,KAAKI,MAAM,CAACC,UAAU,GAAE,qBAACT,IAAKM;QACnEH,qBAAAA,sBAAAA,KAAAA,IAAAA;IACJ;IAEA,qBACI,KAACV,KAAKiB,GAAG;QAACC,MAAK;QAAUC,OAAOf,qBAAqBgB,SAAS;QAAEC,IAAG;kBAC/D,cAAA,MAACpB;YAAMqB,SAAQ;;gBACVb,sBAAQ,MAACN;;wBAAMM;wBAAM;;qBAAW,IAAI;8BACrC,KAACP;oBACGqB,YAAY;oBACZC,OAAOb,KAAKI,MAAM,CAACC,UAAU,CAACT,GAAG;oBACjCG,UAAUE;oBACVJ,MAAMA;oBACNiB,cAAYhB,kBAAAA,mBAAAA,QAASF,EAAE;oBACvBmB,YAAYlB,KAAKmB,MAAM,GAAG;;;;;AAK9C,EAAE"}
@@ -1,5 +1,5 @@
1
- import _object_spread from "@swc/helpers/src/_object_spread.mjs";
2
- import _object_spread_props from "@swc/helpers/src/_object_spread_props.mjs";
1
+ import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
2
+ import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
3
3
  import { useClickOutside } from "@mantine/hooks";
4
4
  import { functionalUpdate } from "@tanstack/table-core";
5
5
  import isEqual from "fast-deep-equal";
@@ -1,5 +1,5 @@
1
- import _object_spread from "@swc/helpers/src/_object_spread.mjs";
2
- import _object_spread_props from "@swc/helpers/src/_object_spread_props.mjs";
1
+ import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
2
+ import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
3
3
  import { useForm as useMantineForm } from "@mantine/form";
4
4
  export var useForm = function(options) {
5
5
  var form = useMantineForm(options);
@@ -1,5 +1,5 @@
1
- import _sliced_to_array from "@swc/helpers/src/_sliced_to_array.mjs";
2
- import _to_consumable_array from "@swc/helpers/src/_to_consumable_array.mjs";
1
+ import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
2
+ import { _ as _to_consumable_array } from "@swc/helpers/_/_to_consumable_array";
3
3
  import { useUncontrolled } from "@mantine/hooks";
4
4
  /**
5
5
  * Manage a list of items in a controlled fashion, to be used with inputs
@@ -1,4 +1,4 @@
1
- import _sliced_to_array from "@swc/helpers/src/_sliced_to_array.mjs";
1
+ import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
2
2
  import { useEffect, useRef, useState } from "react";
3
3
  var getElementInnerHeight = function(el) {
4
4
  var fullHeight = el.getBoundingClientRect().height;
@@ -1,5 +1,5 @@
1
- import _object_destructuring_empty from "@swc/helpers/src/_object_destructuring_empty.mjs";
2
- import _object_spread from "@swc/helpers/src/_object_spread.mjs";
1
+ import { _ as _object_destructuring_empty } from "@swc/helpers/_/_object_destructuring_empty";
2
+ import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
3
3
  import { jsx as _jsx } from "react/jsx-runtime";
4
4
  import { InfoSize24Px } from "@coveord/plasma-react-icons";
5
5
  import { color } from "@coveord/plasma-tokens";
@@ -5,7 +5,7 @@
5
5
  * @param properties The new static properties to assign on the component
6
6
  * @returns A new component with the specified properties. It doesn't change the original component
7
7
  * @example const Menu = overrideComponent(MantineMenu, {Item: MyMenuItem}); // Menu.Item will equal MyMenuItem
8
- */ import _to_consumable_array from "@swc/helpers/src/_to_consumable_array.mjs";
8
+ */ import { _ as _to_consumable_array } from "@swc/helpers/_/_to_consumable_array";
9
9
  export var overrideComponent = function(component, properties) {
10
10
  var componentClone = function() {
11
11
  for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coveord/plasma-mantine",
3
- "version": "52.1.0",
3
+ "version": "52.2.0",
4
4
  "description": "A Plasma flavoured Mantine theme",
5
5
  "keywords": [
6
6
  "plasma",
@@ -15,17 +15,17 @@
15
15
  "types": "./dist/definitions/index.d.ts",
16
16
  "dependencies": {
17
17
  "@mantine/utils": "6.0.6",
18
- "@monaco-editor/react": "4.4.5",
19
- "@swc/helpers": "0.4.14",
20
- "@tanstack/react-table": "8.7.9",
21
- "@tanstack/table-core": "8.7.9",
18
+ "@monaco-editor/react": "4.5.0",
19
+ "@swc/helpers": "0.5.0",
20
+ "@tanstack/react-table": "8.8.5",
21
+ "@tanstack/table-core": "8.8.5",
22
22
  "dayjs": "1.11.7",
23
23
  "fast-deep-equal": "3.1.3",
24
24
  "lodash.debounce": "4.0.8",
25
25
  "lodash.defaultsdeep": "4.6.1",
26
26
  "monaco-editor": "0.34.0",
27
27
  "react-beautiful-dnd": "13.1.1",
28
- "@coveord/plasma-react-icons": "52.1.0",
28
+ "@coveord/plasma-react-icons": "52.2.0",
29
29
  "@coveord/plasma-tokens": "52.0.0"
30
30
  },
31
31
  "devDependencies": {
@@ -38,7 +38,7 @@
38
38
  "@mantine/modals": "6.0.6",
39
39
  "@mantine/notifications": "6.0.6",
40
40
  "@swc/cli": "0.1.62",
41
- "@swc/core": "1.3.44",
41
+ "@swc/core": "1.3.49",
42
42
  "@swc/jest": "0.2.24",
43
43
  "@testing-library/dom": "8.18.1",
44
44
  "@testing-library/jest-dom": "5.16.5",
@@ -47,7 +47,7 @@
47
47
  "@types/jest": "29.1.2",
48
48
  "@types/lodash.debounce": "^4.0.7",
49
49
  "@types/lodash.defaultsdeep": "4.6.7",
50
- "@types/react": "18.0.33",
50
+ "@types/react": "18.0.34",
51
51
  "@types/react-beautiful-dnd": "13.1.4",
52
52
  "@types/react-dom": "18.0.11",
53
53
  "@types/testing-library__jest-dom": "5.14.5",
@@ -1,5 +1,5 @@
1
1
  import {QuestionSize16Px} from '@coveord/plasma-react-icons';
2
- import {Anchor, Breadcrumbs, DefaultProps, Divider, Flex, Group, Stack, Text, Title, Tooltip} from '@mantine/core';
2
+ import {Anchor, Breadcrumbs, DefaultProps, Divider, Group, Stack, Text, Title, Tooltip} from '@mantine/core';
3
3
  import {Children, FunctionComponent, ReactElement, ReactNode} from 'react';
4
4
 
5
5
  export interface HeaderProps extends DefaultProps {
@@ -48,12 +48,10 @@ export const Header: HeaderType = ({description, borderBottom, children, variant
48
48
  >
49
49
  <Stack spacing={0}>
50
50
  {breadcrumbs}
51
- <Flex align="center">
52
- <Title order={variant === 'page' ? 1 : 3} color={variant === 'page' ? 'gray.5' : undefined}>
53
- {otherChildren}
54
- </Title>
51
+ <Title order={variant === 'page' ? 1 : 3} color={variant === 'page' ? 'gray.5' : undefined}>
52
+ {otherChildren}
55
53
  {docAnchor}
56
- </Flex>
54
+ </Title>
57
55
  <Text size={variant === 'page' ? 'md' : 'sm'} color="gray.6">
58
56
  {description}
59
57
  </Text>
@@ -92,7 +90,7 @@ export interface HeaderDocAnchorProps {
92
90
 
93
91
  const HeaderDocAnchor: FunctionComponent<HeaderDocAnchorProps> = ({href: docLink, label: docLinkTooltipLabel}) => (
94
92
  <Tooltip label={docLinkTooltipLabel} disabled={!docLinkTooltipLabel} position="right">
95
- <Anchor inline href={docLink} target="_blank" ml="xs">
93
+ <Anchor inline href={docLink} target="_blank" ml="xs" style={{verticalAlign: 'middle'}}>
96
94
  <QuestionSize16Px height={16} />
97
95
  </Anchor>
98
96
  </Tooltip>
@@ -37,15 +37,11 @@ exports[`Header > renders the specified breadcrumbs above the title 1`] = `
37
37
  Three
38
38
  </a>
39
39
  </div>
40
- <div
41
- class="mantine-xg7kom"
40
+ <h1
41
+ class="mantine-Text-root mantine-Title-root mantine-d1yoif"
42
42
  >
43
- <h1
44
- class="mantine-Text-root mantine-Title-root mantine-d1yoif"
45
- >
46
- Title
47
- </h1>
48
- </div>
43
+ Title
44
+ </h1>
49
45
  <div
50
46
  class="mantine-Text-root mantine-1w25z6f"
51
47
  />
@@ -1,11 +1,10 @@
1
1
  import {createStyles} from '@mantine/core';
2
2
 
3
3
  interface TableStylesParams {
4
- hasHeader: boolean;
5
4
  multiRowSelectionEnabled: boolean;
6
5
  }
7
6
 
8
- const useStyles = createStyles<string, TableStylesParams>((theme, {hasHeader, multiRowSelectionEnabled}) => {
7
+ const useStyles = createStyles<string, TableStylesParams>((theme, {multiRowSelectionEnabled}) => {
9
8
  const rowBackgroundColor =
10
9
  theme.colorScheme === 'dark'
11
10
  ? theme.fn.rgba(theme.colors[theme.primaryColor][7], 0.2)
@@ -13,7 +12,10 @@ const useStyles = createStyles<string, TableStylesParams>((theme, {hasHeader, mu
13
12
  return {
14
13
  table: {
15
14
  width: '100%',
16
- '& td:first-of-type, th:first-of-type > *': {
15
+ '& thead tr th': {
16
+ borderBottom: 'none',
17
+ },
18
+ '& td:first-of-type': {
17
19
  paddingLeft: theme.spacing.xl,
18
20
  },
19
21
  '& tbody td': {
@@ -23,7 +25,7 @@ const useStyles = createStyles<string, TableStylesParams>((theme, {hasHeader, mu
23
25
 
24
26
  header: {
25
27
  position: 'sticky',
26
- top: hasHeader ? 69 : 0,
28
+ top: 0,
27
29
  backgroundColor: theme.colorScheme === 'dark' ? theme.black : theme.white,
28
30
  transition: 'box-shadow 150ms ease',
29
31
  zIndex: 1,
@@ -34,7 +36,13 @@ const useStyles = createStyles<string, TableStylesParams>((theme, {hasHeader, mu
34
36
  left: 0,
35
37
  right: 0,
36
38
  bottom: 0,
37
- borderBottom: `1px solid ${theme.colors.gray[2]}`,
39
+ borderBottom: `1px solid ${theme.colors.gray[3]}`,
40
+ },
41
+ },
42
+
43
+ headerColumns: {
44
+ '& th:first-of-type > *': {
45
+ paddingLeft: theme.spacing.xl,
38
46
  },
39
47
  },
40
48
 
@@ -55,4 +63,12 @@ const useStyles = createStyles<string, TableStylesParams>((theme, {hasHeader, mu
55
63
  };
56
64
  });
57
65
 
66
+ export const TableComponentsOrder = {
67
+ MultiSelectInfo: 5,
68
+ Actions: 4,
69
+ Predicate: 3,
70
+ Filter: 2,
71
+ DateRangePicker: 1,
72
+ };
73
+
58
74
  export default useStyles;
@@ -18,6 +18,7 @@ import useStyles from './Table.styles';
18
18
  import {TableFormType, TableProps, TableState, TableType} from './Table.types';
19
19
  import {TableActions} from './TableActions';
20
20
  import {TableAccordionColumn, TableCollapsibleColumn} from './TableCollapsibleColumn';
21
+ import {TableConsumer} from './TableConsumer';
21
22
  import {TableContext} from './TableContext';
22
23
  import {TableDateRangePicker} from './TableDateRangePicker';
23
24
  import {TableFilter} from './TableFilter';
@@ -26,7 +27,6 @@ import {TableHeader} from './TableHeader';
26
27
  import {TablePagination} from './TablePagination';
27
28
  import {TablePerPage} from './TablePerPage';
28
29
  import {TablePredicate} from './TablePredicate';
29
- import {TableConsumer} from './TableConsumer';
30
30
  import {TableSelectableColumn} from './TableSelectableColumn';
31
31
  import {Th} from './Th';
32
32
  import {useRowSelection} from './useRowSelection';
@@ -62,7 +62,7 @@ export const Table: TableType = <T,>({
62
62
  const form = useForm<TableFormType>({
63
63
  initialValues: {predicates: initialState?.predicates ?? {}, dateRange: initialState?.dateRange ?? [null, null]},
64
64
  });
65
- const {cx, classes} = useStyles({hasHeader: !!header, multiRowSelectionEnabled});
65
+ const {cx, classes} = useStyles({multiRowSelectionEnabled});
66
66
 
67
67
  const table = useReactTable({
68
68
  initialState: defaultsDeep(initialStateWithoutForm, {pagination: {pageSize: TablePerPage.DEFAULT_SIZE}}),
@@ -196,11 +196,17 @@ export const Table: TableType = <T,>({
196
196
  noDataChildren
197
197
  ) : (
198
198
  <>
199
- {header}
200
199
  <MantineTable className={classes.table} horizontalSpacing="sm" verticalSpacing="xs" pb="sm">
201
200
  <thead className={classes.header}>
201
+ {!!header ? (
202
+ <tr>
203
+ <th style={{padding: 0}} colSpan={table.getAllColumns().length}>
204
+ {header}
205
+ </th>
206
+ </tr>
207
+ ) : null}
202
208
  {table.getHeaderGroups().map((headerGroup) => (
203
- <tr key={headerGroup.id}>
209
+ <tr key={headerGroup.id} className={classes.headerColumns}>
204
210
  {headerGroup.headers.map((columnHeader) => (
205
211
  <Th key={columnHeader.id} header={columnHeader} />
206
212
  ))}
@@ -1,5 +1,6 @@
1
- import {Group} from '@mantine/core';
1
+ import {Grid, Group} from '@mantine/core';
2
2
  import {ReactElement, ReactNode} from 'react';
3
+ import {TableComponentsOrder} from './Table.styles';
3
4
 
4
5
  import {useTable} from './TableContext';
5
6
 
@@ -35,10 +36,12 @@ export const TableActions = <T,>({children}: TableActionsProps<T>): ReactElement
35
36
  }
36
37
 
37
38
  return (
38
- <Group spacing="xs">
39
- {multiRowSelectionEnabled
40
- ? (children as (data: T[]) => ReactNode)(selectedRows)
41
- : (children as (datum: T) => ReactNode)(selectedRows[0])}
42
- </Group>
39
+ <Grid.Col span="content" order={TableComponentsOrder.Actions} py="sm">
40
+ <Group spacing="xs" style={{display: 'inline-flex'}}>
41
+ {multiRowSelectionEnabled
42
+ ? (children as (data: T[]) => ReactNode)(selectedRows)
43
+ : (children as (datum: T) => ReactNode)(selectedRows[0])}
44
+ </Group>
45
+ </Grid.Col>
43
46
  );
44
47
  };
@@ -1,5 +1,5 @@
1
1
  import {CalendarSize24Px} from '@coveord/plasma-react-icons';
2
- import {Popover} from '@mantine/core';
2
+ import {Grid, Group, Popover, Text} from '@mantine/core';
3
3
  import dayjs from 'dayjs';
4
4
  import {FunctionComponent, useState} from 'react';
5
5
 
@@ -10,6 +10,7 @@ import {
10
10
  DateRangePickerPreset,
11
11
  DateRangePickerValue,
12
12
  } from '../date-range-picker';
13
+ import {TableComponentsOrder} from './Table.styles';
13
14
  import {useTable} from './TableContext';
14
15
 
15
16
  interface TableDateRangePickerProps
@@ -47,24 +48,26 @@ export const TableDateRangePicker: FunctionComponent<TableDateRangePickerProps>
47
48
  const formatedRange = `${formatDate(form.values.dateRange[0])} - ${formatDate(form.values.dateRange[1])}`;
48
49
 
49
50
  return (
50
- <>
51
- {formatedRange}
52
- <Popover opened={opened} onChange={setOpened}>
53
- <Popover.Target>
54
- <Button variant="outline" color="gray" onClick={() => setOpened(true)} px="xs">
55
- <CalendarSize24Px width={24} height={24} />
56
- </Button>
57
- </Popover.Target>
58
- <Popover.Dropdown p={0}>
59
- <DateRangePickerInlineCalendar
60
- initialRange={form.values.dateRange}
61
- onApply={onApply}
62
- onCancel={onCancel}
63
- presets={presets}
64
- rangeCalendarProps={rangeCalendarProps}
65
- />
66
- </Popover.Dropdown>
67
- </Popover>
68
- </>
51
+ <Grid.Col span="content" order={TableComponentsOrder.DateRangePicker} py="sm">
52
+ <Group spacing="xs">
53
+ <Text span>{formatedRange}</Text>
54
+ <Popover opened={opened} onChange={setOpened}>
55
+ <Popover.Target>
56
+ <Button variant="outline" color="gray" onClick={() => setOpened(true)} px="xs">
57
+ <CalendarSize24Px width={24} height={24} />
58
+ </Button>
59
+ </Popover.Target>
60
+ <Popover.Dropdown p={0}>
61
+ <DateRangePickerInlineCalendar
62
+ initialRange={form.values.dateRange}
63
+ onApply={onApply}
64
+ onCancel={onCancel}
65
+ presets={presets}
66
+ rangeCalendarProps={rangeCalendarProps}
67
+ />
68
+ </Popover.Dropdown>
69
+ </Popover>
70
+ </Group>
71
+ </Grid.Col>
69
72
  );
70
73
  };