@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.
- package/.turbo/turbo-build.log +3 -3
- package/.turbo/turbo-test.log +31 -30
- package/dist/.tsbuildinfo +1 -1
- package/dist/cjs/components/blank-slate/BlankSlate.js.map +1 -1
- package/dist/cjs/components/button/Button.js.map +1 -1
- package/dist/cjs/components/button/ButtonWithDisabledTooltip.js.map +1 -1
- package/dist/cjs/components/code-editor/CodeEditor.js.map +1 -1
- package/dist/cjs/components/code-editor/languages/xml.js.map +1 -1
- package/dist/cjs/components/collection/Collection.js.map +1 -1
- package/dist/cjs/components/collection/Collection.styles.js.map +1 -1
- package/dist/cjs/components/collection/CollectionItem.js.map +1 -1
- package/dist/cjs/components/copyToClipboard/CopyToClipboard.js.map +1 -1
- package/dist/cjs/components/date-range-picker/DateRangePickerInlineCalendar.js +5 -5
- package/dist/cjs/components/date-range-picker/DateRangePickerInlineCalendar.js.map +1 -1
- package/dist/cjs/components/date-range-picker/DateRangePickerPopoverCalendar.js.map +1 -1
- package/dist/cjs/components/date-range-picker/DateRangePickerPresetSelect.js.map +1 -1
- package/dist/cjs/components/date-range-picker/EditableDateRangePicker.js.map +1 -1
- package/dist/cjs/components/header/Header.d.ts.map +1 -1
- package/dist/cjs/components/header/Header.js +3 -0
- package/dist/cjs/components/header/Header.js.map +1 -1
- package/dist/cjs/components/header/__tests__/__snapshots__/Header.spec.tsx.snap +1 -1
- package/dist/cjs/components/inline-confirm/InlineConfirm.js.map +1 -1
- package/dist/cjs/components/inline-confirm/InlineConfirmButton.js.map +1 -1
- package/dist/cjs/components/inline-confirm/InlineConfirmContext.js.map +1 -1
- package/dist/cjs/components/inline-confirm/InlineConfirmMenuItem.js.map +1 -1
- package/dist/cjs/components/inline-confirm/InlineConfirmPrompt.js.map +1 -1
- package/dist/cjs/components/inline-confirm/useInlineConfirm.js.map +1 -1
- package/dist/cjs/components/menu/Menu.js.map +1 -1
- package/dist/cjs/components/modal-wizard/ModalWizard.js.map +1 -1
- package/dist/cjs/components/modal-wizard/ModalWizardStep.js.map +1 -1
- package/dist/cjs/components/prompt/Prompt.js.map +1 -1
- package/dist/cjs/components/prompt/PromptFooter.js.map +1 -1
- package/dist/cjs/components/sticky-footer/StickyFooter.js.map +1 -1
- package/dist/cjs/components/table/Table.d.ts.map +1 -1
- package/dist/cjs/components/table/Table.js +33 -84
- package/dist/cjs/components/table/Table.js.map +1 -1
- package/dist/cjs/components/table/Table.styles.d.ts +2 -4
- package/dist/cjs/components/table/Table.styles.d.ts.map +1 -1
- package/dist/cjs/components/table/Table.styles.js +7 -25
- package/dist/cjs/components/table/Table.styles.js.map +1 -1
- package/dist/cjs/components/table/Table.types.d.ts +68 -2
- package/dist/cjs/components/table/Table.types.d.ts.map +1 -1
- package/dist/cjs/components/table/TableActions.d.ts +12 -2
- package/dist/cjs/components/table/TableActions.d.ts.map +1 -1
- package/dist/cjs/components/table/TableActions.js +29 -7
- package/dist/cjs/components/table/TableActions.js.map +1 -1
- package/dist/cjs/components/table/TableCollapsibleColumn.js.map +1 -1
- package/dist/cjs/components/table/TableContext.js.map +1 -1
- package/dist/cjs/components/table/TableDateRangePicker.d.ts +12 -1
- package/dist/cjs/components/table/TableDateRangePicker.d.ts.map +1 -1
- package/dist/cjs/components/table/TableDateRangePicker.js +38 -12
- package/dist/cjs/components/table/TableDateRangePicker.js.map +1 -1
- package/dist/cjs/components/table/TableFilter.d.ts +1 -0
- package/dist/cjs/components/table/TableFilter.d.ts.map +1 -1
- package/dist/cjs/components/table/TableFilter.js +3 -1
- package/dist/cjs/components/table/TableFilter.js.map +1 -1
- package/dist/cjs/components/table/TableFooter.js.map +1 -1
- package/dist/cjs/components/table/TableHeader.d.ts.map +1 -1
- package/dist/cjs/components/table/TableHeader.js +5 -2
- package/dist/cjs/components/table/TableHeader.js.map +1 -1
- package/dist/cjs/components/table/TableLayoutControl.d.ts +3 -0
- package/dist/cjs/components/table/TableLayoutControl.d.ts.map +1 -0
- package/dist/cjs/components/table/TableLayoutControl.js +50 -0
- package/dist/cjs/components/table/TableLayoutControl.js.map +1 -0
- package/dist/cjs/components/table/TableLoading.d.ts +4 -0
- package/dist/cjs/components/table/TableLoading.d.ts.map +1 -0
- package/dist/cjs/components/table/TableLoading.js +28 -0
- package/dist/cjs/components/table/TableLoading.js.map +1 -0
- package/dist/cjs/components/table/TablePagination.js.map +1 -1
- package/dist/cjs/components/table/TablePerPage.js.map +1 -1
- package/dist/cjs/components/table/TablePredicate.d.ts +12 -2
- package/dist/cjs/components/table/TablePredicate.d.ts.map +1 -1
- package/dist/cjs/components/table/TablePredicate.js +29 -4
- package/dist/cjs/components/table/TablePredicate.js.map +1 -1
- package/dist/cjs/components/table/TableSelectableColumn.js.map +1 -1
- package/dist/cjs/components/table/Th.d.ts.map +1 -1
- package/dist/cjs/components/table/Th.js +2 -1
- package/dist/cjs/components/table/Th.js.map +1 -1
- package/dist/cjs/components/table/index.d.ts +1 -0
- package/dist/cjs/components/table/index.d.ts.map +1 -1
- package/dist/cjs/components/table/index.js +12 -3
- package/dist/cjs/components/table/index.js.map +1 -1
- package/dist/cjs/components/table/layouts/RowLayout.d.ts +3 -0
- package/dist/cjs/components/table/layouts/RowLayout.d.ts.map +1 -0
- package/dist/cjs/components/table/layouts/RowLayout.js +156 -0
- package/dist/cjs/components/table/layouts/RowLayout.js.map +1 -0
- package/dist/cjs/components/table/layouts/TableLayouts.d.ts +4 -0
- package/dist/cjs/components/table/layouts/TableLayouts.d.ts.map +1 -0
- package/dist/cjs/components/table/layouts/TableLayouts.js +16 -0
- package/dist/cjs/components/table/layouts/TableLayouts.js.map +1 -0
- package/dist/cjs/components/table/useRowSelection.js.map +1 -1
- package/dist/cjs/form/FormProvider.js.map +1 -1
- package/dist/cjs/form/useForm.js.map +1 -1
- package/dist/cjs/hooks/useControlledList.js.map +1 -1
- package/dist/cjs/hooks/useParentHeight.js.map +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/theme/PlasmaColors.js.map +1 -1
- package/dist/cjs/theme/Plasmantine.js.map +1 -1
- package/dist/cjs/theme/Theme.js +12 -10
- package/dist/cjs/theme/Theme.js.map +1 -1
- package/dist/cjs/utils/createPolymorphicComponent.js.map +1 -1
- package/dist/cjs/utils/overrideComponent.js.map +1 -1
- package/dist/esm/components/blank-slate/BlankSlate.js.map +1 -1
- package/dist/esm/components/button/Button.js.map +1 -1
- package/dist/esm/components/button/ButtonWithDisabledTooltip.js.map +1 -1
- package/dist/esm/components/code-editor/CodeEditor.js.map +1 -1
- package/dist/esm/components/code-editor/languages/xml.js.map +1 -1
- package/dist/esm/components/collection/Collection.js.map +1 -1
- package/dist/esm/components/collection/Collection.styles.js.map +1 -1
- package/dist/esm/components/collection/CollectionItem.js.map +1 -1
- package/dist/esm/components/copyToClipboard/CopyToClipboard.js.map +1 -1
- package/dist/esm/components/date-range-picker/DateRangePickerInlineCalendar.js +5 -5
- package/dist/esm/components/date-range-picker/DateRangePickerInlineCalendar.js.map +1 -1
- package/dist/esm/components/date-range-picker/DateRangePickerPopoverCalendar.js.map +1 -1
- package/dist/esm/components/date-range-picker/DateRangePickerPresetSelect.js.map +1 -1
- package/dist/esm/components/date-range-picker/EditableDateRangePicker.js.map +1 -1
- package/dist/esm/components/header/Header.d.ts.map +1 -1
- package/dist/esm/components/header/Header.js +3 -0
- package/dist/esm/components/header/Header.js.map +1 -1
- package/dist/esm/components/header/__tests__/__snapshots__/Header.spec.tsx.snap +1 -1
- package/dist/esm/components/inline-confirm/InlineConfirm.js.map +1 -1
- package/dist/esm/components/inline-confirm/InlineConfirmButton.js.map +1 -1
- package/dist/esm/components/inline-confirm/InlineConfirmContext.js.map +1 -1
- package/dist/esm/components/inline-confirm/InlineConfirmMenuItem.js.map +1 -1
- package/dist/esm/components/inline-confirm/InlineConfirmPrompt.js.map +1 -1
- package/dist/esm/components/inline-confirm/useInlineConfirm.js.map +1 -1
- package/dist/esm/components/menu/Menu.js.map +1 -1
- package/dist/esm/components/modal-wizard/ModalWizard.js.map +1 -1
- package/dist/esm/components/modal-wizard/ModalWizardStep.js.map +1 -1
- package/dist/esm/components/prompt/Prompt.js.map +1 -1
- package/dist/esm/components/prompt/PromptFooter.js.map +1 -1
- package/dist/esm/components/sticky-footer/StickyFooter.js.map +1 -1
- package/dist/esm/components/table/Table.d.ts.map +1 -1
- package/dist/esm/components/table/Table.js +36 -87
- package/dist/esm/components/table/Table.js.map +1 -1
- package/dist/esm/components/table/Table.styles.d.ts +2 -4
- package/dist/esm/components/table/Table.styles.d.ts.map +1 -1
- package/dist/esm/components/table/Table.styles.js +7 -25
- package/dist/esm/components/table/Table.styles.js.map +1 -1
- package/dist/esm/components/table/Table.types.d.ts +68 -2
- package/dist/esm/components/table/Table.types.d.ts.map +1 -1
- package/dist/esm/components/table/Table.types.js.map +1 -1
- package/dist/esm/components/table/TableActions.d.ts +12 -2
- package/dist/esm/components/table/TableActions.d.ts.map +1 -1
- package/dist/esm/components/table/TableActions.js +30 -8
- package/dist/esm/components/table/TableActions.js.map +1 -1
- package/dist/esm/components/table/TableCollapsibleColumn.js.map +1 -1
- package/dist/esm/components/table/TableContext.js.map +1 -1
- package/dist/esm/components/table/TableDateRangePicker.d.ts +12 -1
- package/dist/esm/components/table/TableDateRangePicker.d.ts.map +1 -1
- package/dist/esm/components/table/TableDateRangePicker.js +39 -13
- package/dist/esm/components/table/TableDateRangePicker.js.map +1 -1
- package/dist/esm/components/table/TableFilter.d.ts +1 -0
- package/dist/esm/components/table/TableFilter.d.ts.map +1 -1
- package/dist/esm/components/table/TableFilter.js +3 -1
- package/dist/esm/components/table/TableFilter.js.map +1 -1
- package/dist/esm/components/table/TableFooter.js.map +1 -1
- package/dist/esm/components/table/TableHeader.d.ts.map +1 -1
- package/dist/esm/components/table/TableHeader.js +5 -2
- package/dist/esm/components/table/TableHeader.js.map +1 -1
- package/dist/esm/components/table/TableLayoutControl.d.ts +3 -0
- package/dist/esm/components/table/TableLayoutControl.d.ts.map +1 -0
- package/dist/esm/components/table/TableLayoutControl.js +40 -0
- package/dist/esm/components/table/TableLayoutControl.js.map +1 -0
- package/dist/esm/components/table/TableLoading.d.ts +4 -0
- package/dist/esm/components/table/TableLoading.d.ts.map +1 -0
- package/dist/esm/components/table/TableLoading.js +18 -0
- package/dist/esm/components/table/TableLoading.js.map +1 -0
- package/dist/esm/components/table/TablePagination.js.map +1 -1
- package/dist/esm/components/table/TablePerPage.js.map +1 -1
- package/dist/esm/components/table/TablePredicate.d.ts +12 -2
- package/dist/esm/components/table/TablePredicate.d.ts.map +1 -1
- package/dist/esm/components/table/TablePredicate.js +30 -5
- package/dist/esm/components/table/TablePredicate.js.map +1 -1
- package/dist/esm/components/table/TableSelectableColumn.js.map +1 -1
- package/dist/esm/components/table/Th.d.ts.map +1 -1
- package/dist/esm/components/table/Th.js +2 -1
- package/dist/esm/components/table/Th.js.map +1 -1
- package/dist/esm/components/table/index.d.ts +1 -0
- package/dist/esm/components/table/index.d.ts.map +1 -1
- package/dist/esm/components/table/index.js +1 -0
- package/dist/esm/components/table/index.js.map +1 -1
- package/dist/esm/components/table/layouts/RowLayout.d.ts +3 -0
- package/dist/esm/components/table/layouts/RowLayout.d.ts.map +1 -0
- package/dist/esm/components/table/layouts/RowLayout.js +146 -0
- package/dist/esm/components/table/layouts/RowLayout.js.map +1 -0
- package/dist/esm/components/table/layouts/TableLayouts.d.ts +4 -0
- package/dist/esm/components/table/layouts/TableLayouts.d.ts.map +1 -0
- package/dist/esm/components/table/layouts/TableLayouts.js +6 -0
- package/dist/esm/components/table/layouts/TableLayouts.js.map +1 -0
- package/dist/esm/components/table/useRowSelection.js.map +1 -1
- package/dist/esm/form/FormProvider.js.map +1 -1
- package/dist/esm/form/useForm.js.map +1 -1
- package/dist/esm/hooks/useControlledList.js.map +1 -1
- package/dist/esm/hooks/useParentHeight.js.map +1 -1
- package/dist/esm/theme/PlasmaColors.js.map +1 -1
- package/dist/esm/theme/Theme.js +12 -10
- package/dist/esm/theme/Theme.js.map +1 -1
- package/dist/esm/utils/overrideComponent.js.map +1 -1
- package/package.json +10 -10
- package/src/__tests__/VitestSetup.ts +7 -5
- package/src/components/date-range-picker/DateRangePickerInlineCalendar.tsx +3 -3
- package/src/components/header/Header.tsx +5 -1
- package/src/components/header/__tests__/Header.spec.tsx +1 -1
- package/src/components/header/__tests__/__snapshots__/Header.spec.tsx.snap +1 -1
- package/src/components/table/Table.styles.ts +33 -63
- package/src/components/table/Table.tsx +42 -83
- package/src/components/table/Table.types.ts +71 -2
- package/src/components/table/TableActions.tsx +22 -6
- package/src/components/table/TableDateRangePicker.tsx +34 -12
- package/src/components/table/TableFilter.tsx +4 -3
- package/src/components/table/TableHeader.tsx +10 -2
- package/src/components/table/TableLayoutControl.tsx +29 -0
- package/src/components/table/TableLoading.tsx +8 -0
- package/src/components/table/TablePredicate.tsx +24 -7
- package/src/components/table/Th.tsx +1 -0
- package/src/components/table/__tests__/Table.spec.tsx +140 -316
- package/src/components/table/__tests__/TableDateRangePicker.spec.tsx +41 -14
- package/src/components/table/index.ts +1 -0
- package/src/components/table/layouts/RowLayout.tsx +150 -0
- package/src/components/table/layouts/TableLayouts.tsx +5 -0
- package/src/components/table/layouts/__tests__/RowLayout.spec.tsx +296 -0
- 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
|
-
|
|
6
|
-
|
|
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
|
-
|
|
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';\
|
|
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
|
|
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,
|
|
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
|
-
|
|
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":"
|
|
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
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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
|
-
|
|
39
|
+
toggleOpened(false);
|
|
18
40
|
};
|
|
19
41
|
var onCancel = function() {
|
|
20
|
-
|
|
42
|
+
toggleOpened(false);
|
|
21
43
|
};
|
|
22
44
|
var formatDate = function(date) {
|
|
23
45
|
return dayjs(date).format("MMM DD, YYYY");
|
|
24
46
|
};
|
|
25
|
-
var
|
|
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
|
-
|
|
60
|
+
className: classes.label,
|
|
61
|
+
children: formattedRange
|
|
36
62
|
}),
|
|
37
63
|
/*#__PURE__*/ _jsxs(Popover, {
|
|
38
64
|
opened: opened,
|
|
39
|
-
onChange:
|
|
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
|
|
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
|
|
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
|
|
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: "
|
|
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';\
|
|
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
|
|
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;
|
|
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
|
|
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 @@
|
|
|
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 @@
|
|
|
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
|
|
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
|
|
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
|
-
|
|
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,
|
|
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"}
|