@coveord/plasma-mantine 52.0.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.
- package/.turbo/turbo-build.log +3 -3
- package/.turbo/turbo-test.log +26 -26
- package/dist/.tsbuildinfo +1 -1
- package/dist/cjs/__tests__/Utils.js +9 -9
- package/dist/cjs/__tests__/Utils.js.map +1 -1
- package/dist/cjs/__tests__/VitestSetup.js +2 -2
- package/dist/cjs/__tests__/VitestSetup.js.map +1 -1
- package/dist/cjs/components/blank-slate/BlankSlate.js +3 -3
- package/dist/cjs/components/blank-slate/index.js +2 -2
- package/dist/cjs/components/blank-slate/index.js.map +1 -1
- package/dist/cjs/components/button/Button.js +15 -15
- package/dist/cjs/components/button/Button.js.map +1 -1
- package/dist/cjs/components/button/ButtonWithDisabledTooltip.js +8 -8
- package/dist/cjs/components/button/index.js +2 -2
- package/dist/cjs/components/button/index.js.map +1 -1
- package/dist/cjs/components/code-editor/CodeEditor.js +30 -30
- package/dist/cjs/components/code-editor/CodeEditor.js.map +1 -1
- package/dist/cjs/components/code-editor/index.js +2 -2
- package/dist/cjs/components/code-editor/index.js.map +1 -1
- package/dist/cjs/components/code-editor/languages/xml.js +4 -4
- package/dist/cjs/components/code-editor/languages/xml.js.map +1 -1
- package/dist/cjs/components/collection/Collection.js +25 -25
- package/dist/cjs/components/collection/Collection.js.map +1 -1
- package/dist/cjs/components/collection/CollectionItem.js +29 -29
- package/dist/cjs/components/collection/CollectionItem.js.map +1 -1
- package/dist/cjs/components/collection/index.js +2 -2
- package/dist/cjs/components/collection/index.js.map +1 -1
- package/dist/cjs/components/copyToClipboard/CopyToClipboard.js +26 -23
- package/dist/cjs/components/copyToClipboard/CopyToClipboard.js.map +1 -1
- package/dist/cjs/components/copyToClipboard/index.js +2 -2
- package/dist/cjs/components/copyToClipboard/index.js.map +1 -1
- package/dist/cjs/components/date-range-picker/DateRangePickerInlineCalendar.js +16 -16
- package/dist/cjs/components/date-range-picker/DateRangePickerInlineCalendar.js.map +1 -1
- package/dist/cjs/components/date-range-picker/DateRangePickerPopoverCalendar.js +16 -16
- package/dist/cjs/components/date-range-picker/DateRangePickerPopoverCalendar.js.map +1 -1
- package/dist/cjs/components/date-range-picker/DateRangePickerPresetSelect.js +10 -10
- package/dist/cjs/components/date-range-picker/DateRangePickerPresetSelect.js.map +1 -1
- package/dist/cjs/components/date-range-picker/EditableDateRangePicker.js +9 -9
- package/dist/cjs/components/date-range-picker/EditableDateRangePicker.js.map +1 -1
- package/dist/cjs/components/date-range-picker/index.js +4 -4
- package/dist/cjs/components/date-range-picker/index.js.map +1 -1
- package/dist/cjs/components/header/Header.js +23 -23
- package/dist/cjs/components/header/Header.js.map +1 -1
- package/dist/cjs/components/header/__tests__/__snapshots__/Header.spec.tsx.snap +4 -8
- package/dist/cjs/components/header/index.js +2 -2
- package/dist/cjs/components/header/index.js.map +1 -1
- package/dist/cjs/components/index.js +14 -14
- package/dist/cjs/components/index.js.map +1 -1
- package/dist/cjs/components/inline-confirm/InlineConfirm.js +12 -12
- package/dist/cjs/components/inline-confirm/InlineConfirm.js.map +1 -1
- package/dist/cjs/components/inline-confirm/InlineConfirmButton.js +5 -5
- package/dist/cjs/components/inline-confirm/InlineConfirmMenuItem.js +5 -5
- package/dist/cjs/components/inline-confirm/InlineConfirmPrompt.js +4 -4
- package/dist/cjs/components/inline-confirm/index.js +4 -4
- package/dist/cjs/components/inline-confirm/index.js.map +1 -1
- package/dist/cjs/components/inline-confirm/useInlineConfirm.js +2 -2
- package/dist/cjs/components/menu/Menu.js +7 -7
- package/dist/cjs/components/menu/index.js +2 -2
- package/dist/cjs/components/menu/index.js.map +1 -1
- package/dist/cjs/components/modal-wizard/ModalWizard.js +22 -22
- package/dist/cjs/components/modal-wizard/ModalWizard.js.map +1 -1
- package/dist/cjs/components/modal-wizard/ModalWizardStep.js +2 -2
- package/dist/cjs/components/modal-wizard/index.js +2 -2
- package/dist/cjs/components/modal-wizard/index.js.map +1 -1
- package/dist/cjs/components/prompt/Prompt.js +18 -18
- package/dist/cjs/components/prompt/PromptFooter.js +7 -7
- package/dist/cjs/components/prompt/PromptFooter.js.map +1 -1
- package/dist/cjs/components/prompt/index.js +2 -2
- package/dist/cjs/components/prompt/index.js.map +1 -1
- package/dist/cjs/components/sticky-footer/StickyFooter.js +8 -8
- package/dist/cjs/components/sticky-footer/index.js +2 -2
- package/dist/cjs/components/sticky-footer/index.js.map +1 -1
- package/dist/cjs/components/table/Table.js +96 -86
- package/dist/cjs/components/table/Table.js.map +1 -1
- package/dist/cjs/components/table/Table.styles.js +30 -7
- package/dist/cjs/components/table/Table.styles.js.map +1 -1
- package/dist/cjs/components/table/TableActions.js +15 -6
- package/dist/cjs/components/table/TableActions.js.map +1 -1
- package/dist/cjs/components/table/TableCollapsibleColumn.js +10 -10
- package/dist/cjs/components/table/TableCollapsibleColumn.js.map +1 -1
- package/dist/cjs/components/table/TableConsumer.js +2 -2
- package/dist/cjs/components/table/TableDateRangePicker.js +51 -41
- package/dist/cjs/components/table/TableDateRangePicker.js.map +1 -1
- package/dist/cjs/components/table/TableFilter.js +31 -25
- package/dist/cjs/components/table/TableFilter.js.map +1 -1
- package/dist/cjs/components/table/TableFooter.js +6 -6
- package/dist/cjs/components/table/TableHeader.js +45 -45
- package/dist/cjs/components/table/TableHeader.js.map +1 -1
- package/dist/cjs/components/table/TablePagination.js +8 -8
- package/dist/cjs/components/table/TablePagination.js.map +1 -1
- package/dist/cjs/components/table/TablePerPage.js +9 -9
- package/dist/cjs/components/table/TablePerPage.js.map +1 -1
- package/dist/cjs/components/table/TablePredicate.js +31 -25
- package/dist/cjs/components/table/TablePredicate.js.map +1 -1
- package/dist/cjs/components/table/TableSelectableColumn.js +4 -4
- package/dist/cjs/components/table/Th.js +17 -17
- package/dist/cjs/components/table/index.js +4 -4
- package/dist/cjs/components/table/index.js.map +1 -1
- package/dist/cjs/components/table/useRowSelection.js +9 -9
- package/dist/cjs/components/table/useRowSelection.js.map +1 -1
- package/dist/cjs/form/FormProvider.js +4 -4
- package/dist/cjs/form/FormProvider.js.map +1 -1
- package/dist/cjs/form/index.js +3 -3
- package/dist/cjs/form/index.js.map +1 -1
- package/dist/cjs/form/useForm.js +4 -4
- package/dist/cjs/form/useForm.js.map +1 -1
- package/dist/cjs/hooks/index.js +3 -3
- package/dist/cjs/hooks/index.js.map +1 -1
- package/dist/cjs/hooks/useControlledList.js +5 -5
- package/dist/cjs/hooks/useControlledList.js.map +1 -1
- package/dist/cjs/hooks/useParentHeight.js +2 -2
- package/dist/cjs/hooks/useParentHeight.js.map +1 -1
- package/dist/cjs/index.js +9 -9
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/theme/PlasmaColors.js +30 -30
- package/dist/cjs/theme/Plasmantine.js +4 -4
- package/dist/cjs/theme/Theme.js +15 -14
- package/dist/cjs/theme/Theme.js.map +1 -1
- package/dist/cjs/theme/index.js +2 -2
- package/dist/cjs/theme/index.js.map +1 -1
- package/dist/cjs/utils/index.js +3 -3
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/overrideComponent.js +2 -2
- package/dist/cjs/utils/overrideComponent.js.map +1 -1
- package/dist/definitions/components/copyToClipboard/CopyToClipboard.d.ts +5 -1
- package/dist/definitions/components/copyToClipboard/CopyToClipboard.d.ts.map +1 -1
- package/dist/definitions/components/header/Header.d.ts.map +1 -1
- package/dist/definitions/components/table/Table.d.ts.map +1 -1
- package/dist/definitions/components/table/Table.styles.d.ts +7 -1
- package/dist/definitions/components/table/Table.styles.d.ts.map +1 -1
- package/dist/definitions/components/table/TableActions.d.ts.map +1 -1
- package/dist/definitions/components/table/TableDateRangePicker.d.ts.map +1 -1
- package/dist/definitions/components/table/TableFilter.d.ts.map +1 -1
- package/dist/definitions/components/table/TableHeader.d.ts +1 -0
- package/dist/definitions/components/table/TableHeader.d.ts.map +1 -1
- package/dist/definitions/components/table/TablePredicate.d.ts.map +1 -1
- package/dist/definitions/theme/Theme.d.ts.map +1 -1
- package/dist/esm/__tests__/Utils.js +1 -1
- package/dist/esm/components/button/Button.js +6 -6
- package/dist/esm/components/button/ButtonWithDisabledTooltip.js +3 -3
- package/dist/esm/components/code-editor/CodeEditor.js +6 -6
- package/dist/esm/components/code-editor/languages/xml.js +2 -2
- package/dist/esm/components/collection/Collection.js +3 -3
- package/dist/esm/components/collection/CollectionItem.js +4 -4
- package/dist/esm/components/copyToClipboard/CopyToClipboard.js +24 -20
- package/dist/esm/components/copyToClipboard/CopyToClipboard.js.map +1 -1
- package/dist/esm/components/date-range-picker/DateRangePickerInlineCalendar.js +2 -2
- package/dist/esm/components/date-range-picker/DateRangePickerPopoverCalendar.js +2 -2
- package/dist/esm/components/date-range-picker/DateRangePickerPresetSelect.js +3 -3
- package/dist/esm/components/date-range-picker/EditableDateRangePicker.js +1 -1
- package/dist/esm/components/header/Header.js +11 -11
- package/dist/esm/components/header/Header.js.map +1 -1
- package/dist/esm/components/header/__tests__/__snapshots__/Header.spec.tsx.snap +4 -8
- package/dist/esm/components/inline-confirm/InlineConfirm.js +1 -1
- package/dist/esm/components/inline-confirm/InlineConfirmButton.js +2 -2
- package/dist/esm/components/inline-confirm/InlineConfirmMenuItem.js +2 -2
- package/dist/esm/components/menu/Menu.js +2 -2
- package/dist/esm/components/modal-wizard/ModalWizard.js +4 -4
- package/dist/esm/components/prompt/Prompt.js +3 -3
- package/dist/esm/components/prompt/PromptFooter.js +3 -3
- package/dist/esm/components/sticky-footer/StickyFooter.js +3 -3
- package/dist/esm/components/table/Table.js +27 -17
- package/dist/esm/components/table/Table.js.map +1 -1
- package/dist/esm/components/table/Table.styles.js +19 -4
- package/dist/esm/components/table/Table.styles.js.map +1 -1
- package/dist/esm/components/table/TableActions.js +13 -4
- package/dist/esm/components/table/TableActions.js.map +1 -1
- package/dist/esm/components/table/TableCollapsibleColumn.js +2 -2
- package/dist/esm/components/table/TableDateRangePicker.js +45 -35
- package/dist/esm/components/table/TableDateRangePicker.js.map +1 -1
- package/dist/esm/components/table/TableFilter.js +26 -20
- package/dist/esm/components/table/TableFilter.js.map +1 -1
- package/dist/esm/components/table/TableFooter.js +3 -3
- package/dist/esm/components/table/TableHeader.js +41 -41
- package/dist/esm/components/table/TableHeader.js.map +1 -1
- package/dist/esm/components/table/TablePagination.js +2 -2
- package/dist/esm/components/table/TablePerPage.js +2 -2
- package/dist/esm/components/table/TablePredicate.js +28 -22
- package/dist/esm/components/table/TablePredicate.js.map +1 -1
- package/dist/esm/components/table/useRowSelection.js +2 -2
- package/dist/esm/form/useForm.js +2 -2
- package/dist/esm/hooks/useControlledList.js +2 -2
- package/dist/esm/hooks/useParentHeight.js +1 -1
- package/dist/esm/theme/Theme.js +4 -3
- package/dist/esm/theme/Theme.js.map +1 -1
- package/dist/esm/utils/overrideComponent.js +1 -1
- package/package.json +9 -9
- package/src/components/copyToClipboard/CopyToClipboard.tsx +20 -12
- package/src/components/copyToClipboard/__tests__/CopyToClipboard.spec.tsx +12 -2
- package/src/components/header/Header.tsx +5 -7
- package/src/components/header/__tests__/__snapshots__/Header.spec.tsx.snap +4 -8
- package/src/components/table/Table.styles.ts +21 -5
- package/src/components/table/Table.tsx +10 -4
- package/src/components/table/TableActions.tsx +9 -6
- package/src/components/table/TableDateRangePicker.tsx +23 -20
- package/src/components/table/TableFilter.tsx +21 -18
- package/src/components/table/TableHeader.tsx +35 -23
- package/src/components/table/TablePredicate.tsx +15 -12
- package/src/theme/Theme.tsx +1 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import _object_spread from "@swc/helpers/
|
|
2
|
-
import _object_spread_props from "@swc/helpers/
|
|
3
|
-
import _object_without_properties from "@swc/helpers/
|
|
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, Fragment as _Fragment } from "react/jsx-runtime";
|
|
5
5
|
import { QuestionSize16Px } from "@coveord/plasma-react-icons";
|
|
6
|
-
import { Anchor, Breadcrumbs, Divider,
|
|
6
|
+
import { Anchor, Breadcrumbs, Divider, Group, Stack, Text, Title, Tooltip } from "@mantine/core";
|
|
7
7
|
import { Children } from "react";
|
|
8
8
|
export var Header = function(_param) {
|
|
9
9
|
var description = _param.description, borderBottom = _param.borderBottom, children = _param.children, _param_variant = _param.variant, variant = _param_variant === void 0 ? "page" : _param_variant, others = _object_without_properties(_param, [
|
|
@@ -37,14 +37,11 @@ export var Header = function(_param) {
|
|
|
37
37
|
spacing: 0,
|
|
38
38
|
children: [
|
|
39
39
|
breadcrumbs,
|
|
40
|
-
/*#__PURE__*/ _jsxs(
|
|
41
|
-
|
|
40
|
+
/*#__PURE__*/ _jsxs(Title, {
|
|
41
|
+
order: variant === "page" ? 1 : 3,
|
|
42
|
+
color: variant === "page" ? "gray.5" : undefined,
|
|
42
43
|
children: [
|
|
43
|
-
|
|
44
|
-
order: variant === "page" ? 1 : 3,
|
|
45
|
-
color: variant === "page" ? "gray.5" : undefined,
|
|
46
|
-
children: otherChildren
|
|
47
|
-
}),
|
|
44
|
+
otherChildren,
|
|
48
45
|
docAnchor
|
|
49
46
|
]
|
|
50
47
|
}),
|
|
@@ -99,6 +96,9 @@ var HeaderDocAnchor = function(param) {
|
|
|
99
96
|
href: docLink,
|
|
100
97
|
target: "_blank",
|
|
101
98
|
ml: "xs",
|
|
99
|
+
style: {
|
|
100
|
+
verticalAlign: "middle"
|
|
101
|
+
},
|
|
102
102
|
children: /*#__PURE__*/ _jsx(QuestionSize16Px, {
|
|
103
103
|
height: 16
|
|
104
104
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/header/Header.tsx"],"sourcesContent":["import {QuestionSize16Px} from '@coveord/plasma-react-icons';\nimport {Anchor, Breadcrumbs, DefaultProps, Divider,
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/header/Header.tsx"],"sourcesContent":["import {QuestionSize16Px} from '@coveord/plasma-react-icons';\nimport {Anchor, Breadcrumbs, DefaultProps, Divider, Group, Stack, Text, Title, Tooltip} from '@mantine/core';\nimport {Children, FunctionComponent, ReactElement, ReactNode} from 'react';\n\nexport interface HeaderProps extends DefaultProps {\n /**\n * The description text displayed inside the header underneath the title\n */\n description?: ReactNode;\n /**\n * Whether the header should have a border on the bottom\n */\n borderBottom?: boolean;\n /**\n * Use the modal variant when displaying the header inside a modal\n *\n * @default 'page'\n */\n variant?: 'page' | 'modal';\n /**\n * The title of the header.\n */\n children: ReactNode;\n}\n\ninterface HeaderType {\n (props: HeaderProps): ReactElement;\n Breadcrumbs: typeof HeaderBreadcrumbs;\n Actions: typeof HeaderActions;\n DocAnchor: typeof HeaderDocAnchor;\n}\n\nexport const Header: HeaderType = ({description, borderBottom, children, variant = 'page', ...others}) => {\n const convertedChildren = Children.toArray(children) as ReactElement[];\n const breadcrumbs = convertedChildren.find((child) => child.type === HeaderBreadcrumbs);\n const actions = convertedChildren.find((child) => child.type === HeaderActions);\n const docAnchor = convertedChildren.find((child) => child.type === HeaderDocAnchor);\n const otherChildren = convertedChildren.filter(\n (child) => child.type !== HeaderBreadcrumbs && child.type !== HeaderActions && child.type !== HeaderDocAnchor\n );\n return (\n <>\n <Group\n position=\"apart\"\n p={variant === 'page' ? 'xl' : undefined}\n pb={variant === 'page' ? 'lg' : undefined}\n {...others}\n >\n <Stack spacing={0}>\n {breadcrumbs}\n <Title order={variant === 'page' ? 1 : 3} color={variant === 'page' ? 'gray.5' : undefined}>\n {otherChildren}\n {docAnchor}\n </Title>\n <Text size={variant === 'page' ? 'md' : 'sm'} color=\"gray.6\">\n {description}\n </Text>\n </Stack>\n {actions}\n </Group>\n {borderBottom ? <Divider size=\"xs\" /> : null}\n </>\n );\n};\n\nconst HeaderBreadcrumbs: FunctionComponent<{children: ReactNode}> = ({children}) => (\n <Breadcrumbs\n styles={(theme) => ({\n breadcrumb: {fontSize: theme.fontSizes.sm, fontWeight: 300},\n separator: {color: theme.colors.gray[5]},\n })}\n >\n {children}\n </Breadcrumbs>\n);\n\nconst HeaderActions: FunctionComponent<{children: ReactNode}> = ({children}) => <Group spacing=\"sm\">{children}</Group>;\n\nexport interface HeaderDocAnchorProps {\n /**\n * A href pointing to documentation related to the current panel.\n * When provided, an info icon is rendered next to the title as link to this documentation\n */\n href: string;\n /**\n * The tooltip text shown when hovering over the doc link icon\n */\n label?: string;\n}\n\nconst HeaderDocAnchor: FunctionComponent<HeaderDocAnchorProps> = ({href: docLink, label: docLinkTooltipLabel}) => (\n <Tooltip label={docLinkTooltipLabel} disabled={!docLinkTooltipLabel} position=\"right\">\n <Anchor inline href={docLink} target=\"_blank\" ml=\"xs\" style={{verticalAlign: 'middle'}}>\n <QuestionSize16Px height={16} />\n </Anchor>\n </Tooltip>\n);\n\nHeader.Breadcrumbs = HeaderBreadcrumbs;\nHeader.Actions = HeaderActions;\nHeader.DocAnchor = HeaderDocAnchor;\n"],"names":["QuestionSize16Px","Anchor","Breadcrumbs","Divider","Group","Stack","Text","Title","Tooltip","Children","Header","description","borderBottom","children","variant","others","convertedChildren","toArray","breadcrumbs","find","child","type","HeaderBreadcrumbs","actions","HeaderActions","docAnchor","HeaderDocAnchor","otherChildren","filter","position","p","undefined","pb","spacing","order","color","size","styles","theme","breadcrumb","fontSize","fontSizes","sm","fontWeight","separator","colors","gray","href","docLink","label","docLinkTooltipLabel","disabled","inline","target","ml","style","verticalAlign","height","Actions","DocAnchor"],"mappings":";;;;AAAA,SAAQA,gBAAgB,QAAO,8BAA8B;AAC7D,SAAQC,MAAM,EAAEC,WAAW,EAAgBC,OAAO,EAAEC,KAAK,EAAEC,KAAK,EAAEC,IAAI,EAAEC,KAAK,EAAEC,OAAO,QAAO,gBAAgB;AAC7G,SAAQC,QAAQ,QAAmD,QAAQ;AA8B3E,OAAO,IAAMC,SAAqB,iBAAwE;QAAtEC,qBAAAA,aAAaC,sBAAAA,cAAcC,kBAAAA,kCAAUC,SAAAA,sCAAU,yBAAWC;QAA1DJ;QAAaC;QAAcC;QAAUC;;IACrE,IAAME,oBAAoBP,SAASQ,OAAO,CAACJ;IAC3C,IAAMK,cAAcF,kBAAkBG,IAAI,CAAC,SAACC;eAAUA,MAAMC,IAAI,KAAKC;;IACrE,IAAMC,UAAUP,kBAAkBG,IAAI,CAAC,SAACC;eAAUA,MAAMC,IAAI,KAAKG;;IACjE,IAAMC,YAAYT,kBAAkBG,IAAI,CAAC,SAACC;eAAUA,MAAMC,IAAI,KAAKK;;IACnE,IAAMC,gBAAgBX,kBAAkBY,MAAM,CAC1C,SAACR;eAAUA,MAAMC,IAAI,KAAKC,qBAAqBF,MAAMC,IAAI,KAAKG,iBAAiBJ,MAAMC,IAAI,KAAKK;;IAElG,qBACI;;0BACI,MAACtB;gBACGyB,UAAS;gBACTC,GAAGhB,YAAY,SAAS,OAAOiB,SAAS;gBACxCC,IAAIlB,YAAY,SAAS,OAAOiB,SAAS;eACrChB;;kCAEJ,MAACV;wBAAM4B,SAAS;;4BACXf;0CACD,MAACX;gCAAM2B,OAAOpB,YAAY,SAAS,IAAI,CAAC;gCAAEqB,OAAOrB,YAAY,SAAS,WAAWiB,SAAS;;oCACrFJ;oCACAF;;;0CAEL,KAACnB;gCAAK8B,MAAMtB,YAAY,SAAS,OAAO,IAAI;gCAAEqB,OAAM;0CAC/CxB;;;;oBAGRY;;;YAEJX,6BAAe,KAACT;gBAAQiC,MAAK;iBAAU,IAAI;;;AAGxD,EAAE;AAEF,IAAMd,oBAA8D;QAAET,iBAAAA;yBAClE,KAACX;QACGmC,QAAQ,SAACC;mBAAW;gBAChBC,YAAY;oBAACC,UAAUF,MAAMG,SAAS,CAACC,EAAE;oBAAEC,YAAY;gBAAG;gBAC1DC,WAAW;oBAACT,OAAOG,MAAMO,MAAM,CAACC,IAAI,CAAC,EAAE;gBAAA;YAC3C;;kBAECjC;;;AAIT,IAAMW,gBAA0D;QAAEX,iBAAAA;yBAAc,KAACT;QAAM6B,SAAQ;kBAAMpB;;;AAcrG,IAAMa,kBAA2D;QAAEqB,AAAMC,gBAAND,MAAeE,AAAOC,4BAAPD;yBAC9E,KAACzC;QAAQyC,OAAOC;QAAqBC,UAAU,CAACD;QAAqBrB,UAAS;kBAC1E,cAAA,KAAC5B;YAAOmD,MAAM;YAACL,MAAMC;YAASK,QAAO;YAASC,IAAG;YAAKC,OAAO;gBAACC,eAAe;YAAQ;sBACjF,cAAA,KAACxD;gBAAiByD,QAAQ;;;;;AAKtC/C,OAAOR,WAAW,GAAGoB;AACrBZ,OAAOgD,OAAO,GAAGlC;AACjBd,OAAOiD,SAAS,GAAGjC"}
|
|
@@ -37,15 +37,11 @@ exports[`Header > renders the specified breadcrumbs above the title 1`] = `
|
|
|
37
37
|
Three
|
|
38
38
|
</a>
|
|
39
39
|
</div>
|
|
40
|
-
<
|
|
41
|
-
class="mantine-
|
|
40
|
+
<h1
|
|
41
|
+
class="mantine-Text-root mantine-Title-root mantine-d1yoif"
|
|
42
42
|
>
|
|
43
|
-
|
|
44
|
-
|
|
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,4 +1,4 @@
|
|
|
1
|
-
import _sliced_to_array from "@swc/helpers/
|
|
1
|
+
import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
3
|
import { Children, useState } from "react";
|
|
4
4
|
import { InlineConfirmButton } from "./InlineConfirmButton";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import _object_spread from "@swc/helpers/
|
|
2
|
-
import _object_without_properties from "@swc/helpers/
|
|
1
|
+
import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
|
|
2
|
+
import { _ as _object_without_properties } from "@swc/helpers/_/_object_without_properties";
|
|
3
3
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
4
4
|
import { Button } from "@mantine/core";
|
|
5
5
|
import { forwardRef } from "react";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import _object_spread from "@swc/helpers/
|
|
2
|
-
import _object_without_properties from "@swc/helpers/
|
|
1
|
+
import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
|
|
2
|
+
import { _ as _object_without_properties } from "@swc/helpers/_/_object_without_properties";
|
|
3
3
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
4
4
|
import { forwardRef } from "react";
|
|
5
5
|
import { Menu } from "../menu";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import _object_spread from "@swc/helpers/
|
|
2
|
-
import _object_without_properties from "@swc/helpers/
|
|
1
|
+
import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
|
|
2
|
+
import { _ as _object_without_properties } from "@swc/helpers/_/_object_without_properties";
|
|
3
3
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
4
4
|
import { Menu as MantineMenu } from "@mantine/core";
|
|
5
5
|
import { forwardRef } from "react";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import _object_spread from "@swc/helpers/
|
|
2
|
-
import _object_spread_props from "@swc/helpers/
|
|
3
|
-
import _object_without_properties from "@swc/helpers/
|
|
4
|
-
import _sliced_to_array from "@swc/helpers/
|
|
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
|
+
import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
|
|
5
5
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
6
6
|
import { Box, CloseButton, createStyles, Modal, Progress } from "@mantine/core";
|
|
7
7
|
import { Children, useEffect, useMemo, useState } from "react";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import _object_spread from "@swc/helpers/
|
|
2
|
-
import _object_spread_props from "@swc/helpers/
|
|
3
|
-
import _object_without_properties from "@swc/helpers/
|
|
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 { color } from "@coveord/plasma-tokens";
|
|
6
6
|
import { createStyles, Modal } from "@mantine/core";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import _object_spread from "@swc/helpers/
|
|
2
|
-
import _object_spread_props from "@swc/helpers/
|
|
3
|
-
import _object_without_properties from "@swc/helpers/
|
|
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 } from "react/jsx-runtime";
|
|
5
5
|
import { StickyFooter } from "../sticky-footer";
|
|
6
6
|
export var PromptFooter = function(_param) /*#__PURE__*/ {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import _object_spread from "@swc/helpers/
|
|
2
|
-
import _object_spread_props from "@swc/helpers/
|
|
3
|
-
import _object_without_properties from "@swc/helpers/
|
|
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 { Box, createStyles, Divider, Group } from "@mantine/core";
|
|
6
6
|
var useStyles = createStyles(function() {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import _define_property from "@swc/helpers/
|
|
2
|
-
import _object_spread from "@swc/helpers/
|
|
3
|
-
import _object_spread_props from "@swc/helpers/
|
|
4
|
-
import _object_without_properties from "@swc/helpers/
|
|
5
|
-
import _sliced_to_array from "@swc/helpers/
|
|
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
|
+
import { _ as _object_without_properties } from "@swc/helpers/_/_object_without_properties";
|
|
5
|
+
import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
|
|
6
6
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
7
7
|
import { Box, Center, Collapse, Loader, Skeleton, Table as MantineTable } from "@mantine/core";
|
|
8
8
|
import { useForm } from "@mantine/form";
|
|
@@ -14,6 +14,7 @@ import { Children, Fragment, useCallback, useEffect, useState } from "react";
|
|
|
14
14
|
import useStyles from "./Table.styles";
|
|
15
15
|
import { TableActions } from "./TableActions";
|
|
16
16
|
import { TableAccordionColumn, TableCollapsibleColumn } from "./TableCollapsibleColumn";
|
|
17
|
+
import { TableConsumer } from "./TableConsumer";
|
|
17
18
|
import { TableContext } from "./TableContext";
|
|
18
19
|
import { TableDateRangePicker } from "./TableDateRangePicker";
|
|
19
20
|
import { TableFilter } from "./TableFilter";
|
|
@@ -22,7 +23,6 @@ import { TableHeader } from "./TableHeader";
|
|
|
22
23
|
import { TablePagination } from "./TablePagination";
|
|
23
24
|
import { TablePerPage } from "./TablePerPage";
|
|
24
25
|
import { TablePredicate } from "./TablePredicate";
|
|
25
|
-
import { TableConsumer } from "./TableConsumer";
|
|
26
26
|
import { TableSelectableColumn } from "./TableSelectableColumn";
|
|
27
27
|
import { Th } from "./Th";
|
|
28
28
|
import { useRowSelection } from "./useRowSelection";
|
|
@@ -66,7 +66,6 @@ export var Table = function(param) {
|
|
|
66
66
|
}
|
|
67
67
|
});
|
|
68
68
|
var _useStyles = useStyles({
|
|
69
|
-
hasHeader: !!header,
|
|
70
69
|
multiRowSelectionEnabled: multiRowSelectionEnabled
|
|
71
70
|
}), cx = _useStyles.cx, classes = _useStyles.classes;
|
|
72
71
|
var _ref;
|
|
@@ -213,24 +212,35 @@ export var Table = function(param) {
|
|
|
213
212
|
consumer,
|
|
214
213
|
!rows.length && !isFiltered && !loading ? noDataChildren : /*#__PURE__*/ _jsxs(_Fragment, {
|
|
215
214
|
children: [
|
|
216
|
-
header,
|
|
217
215
|
/*#__PURE__*/ _jsxs(MantineTable, {
|
|
218
216
|
className: classes.table,
|
|
219
217
|
horizontalSpacing: "sm",
|
|
220
218
|
verticalSpacing: "xs",
|
|
221
219
|
pb: "sm",
|
|
222
220
|
children: [
|
|
223
|
-
/*#__PURE__*/
|
|
221
|
+
/*#__PURE__*/ _jsxs("thead", {
|
|
224
222
|
className: classes.header,
|
|
225
|
-
children:
|
|
226
|
-
|
|
227
|
-
children:
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
},
|
|
223
|
+
children: [
|
|
224
|
+
!!header ? /*#__PURE__*/ _jsx("tr", {
|
|
225
|
+
children: /*#__PURE__*/ _jsx("th", {
|
|
226
|
+
style: {
|
|
227
|
+
padding: 0
|
|
228
|
+
},
|
|
229
|
+
colSpan: table.getAllColumns().length,
|
|
230
|
+
children: header
|
|
231
231
|
})
|
|
232
|
-
},
|
|
233
|
-
|
|
232
|
+
}) : null,
|
|
233
|
+
table.getHeaderGroups().map(function(headerGroup) {
|
|
234
|
+
return /*#__PURE__*/ _jsx("tr", {
|
|
235
|
+
className: classes.headerColumns,
|
|
236
|
+
children: headerGroup.headers.map(function(columnHeader) {
|
|
237
|
+
return /*#__PURE__*/ _jsx(Th, {
|
|
238
|
+
header: columnHeader
|
|
239
|
+
}, columnHeader.id);
|
|
240
|
+
})
|
|
241
|
+
}, headerGroup.id);
|
|
242
|
+
})
|
|
243
|
+
]
|
|
234
244
|
}),
|
|
235
245
|
/*#__PURE__*/ _jsx("tbody", {
|
|
236
246
|
children: rows.length ? rows : /*#__PURE__*/ _jsx("tr", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/table/Table.tsx"],"sourcesContent":["import {Box, Center, Collapse, Loader, Skeleton, SkeletonProps, Table as MantineTable} from '@mantine/core';\nimport {useForm} from '@mantine/form';\nimport {useDidUpdate} from '@mantine/hooks';\nimport {\n ColumnDef,\n defaultColumnSizing,\n flexRender,\n getCoreRowModel,\n Row,\n TableState as TanstackTableState,\n useReactTable,\n} from '@tanstack/react-table';\nimport debounce from 'lodash.debounce';\nimport defaultsDeep from 'lodash.defaultsdeep';\nimport {Children, Dispatch, FC, Fragment, ReactElement, useCallback, useEffect, useState} from 'react';\n\nimport useStyles from './Table.styles';\nimport {TableFormType, TableProps, TableState, TableType} from './Table.types';\nimport {TableActions} from './TableActions';\nimport {TableAccordionColumn, TableCollapsibleColumn} from './TableCollapsibleColumn';\nimport {TableContext} from './TableContext';\nimport {TableDateRangePicker} from './TableDateRangePicker';\nimport {TableFilter} from './TableFilter';\nimport {TableFooter} from './TableFooter';\nimport {TableHeader} from './TableHeader';\nimport {TablePagination} from './TablePagination';\nimport {TablePerPage} from './TablePerPage';\nimport {TablePredicate} from './TablePredicate';\nimport {TableConsumer} from './TableConsumer';\nimport {TableSelectableColumn} from './TableSelectableColumn';\nimport {Th} from './Th';\nimport {useRowSelection} from './useRowSelection';\n\nconst LoadingSkeleton: FC<SkeletonProps> = (props) => (\n <Skeleton style={{display: 'inline-block'}} {...props} sx={!props.visible ? {borderRadius: 0} : undefined}>\n {props.children}\n </Skeleton>\n);\n\nexport const Table: TableType = <T,>({\n data,\n getRowId,\n noDataChildren,\n getExpandChildren,\n initialState = {},\n columns,\n onMount,\n onChange,\n children,\n loading = false,\n doubleClickAction,\n multiRowSelectionEnabled,\n onRowSelectionChange,\n options = {},\n}: TableProps<T>) => {\n const convertedChildren = Children.toArray(children) as ReactElement[];\n const header = convertedChildren.find((child) => child.type === TableHeader);\n const footer = convertedChildren.find((child) => child.type === TableFooter);\n const consumer = convertedChildren.find((child) => child.type === TableConsumer);\n\n const {predicates, dateRange, ...initialStateWithoutForm} = initialState;\n const form = useForm<TableFormType>({\n initialValues: {predicates: initialState?.predicates ?? {}, dateRange: initialState?.dateRange ?? [null, null]},\n });\n const {cx, classes} = useStyles({hasHeader: !!header, multiRowSelectionEnabled});\n\n const table = useReactTable({\n initialState: defaultsDeep(initialStateWithoutForm, {pagination: {pageSize: TablePerPage.DEFAULT_SIZE}}),\n data,\n columns: multiRowSelectionEnabled ? [TableSelectableColumn as ColumnDef<T>].concat(columns) : columns,\n getCoreRowModel: getCoreRowModel(),\n manualPagination: options?.getPaginationRowModel === undefined,\n enableMultiRowSelection: !!multiRowSelectionEnabled,\n getRowId,\n getRowCanExpand: (row: Row<T>) => !!getExpandChildren?.(row.original) ?? false,\n enableRowSelection: !loading,\n ...options,\n });\n const [state, setState] = useState<TableState<T>>(table.initialState as TableState<T>);\n table.setOptions((prev) => ({\n ...prev,\n state: state as TanstackTableState,\n onStateChange: setState as Dispatch<React.SetStateAction<TanstackTableState>>,\n }));\n const {clearSelection, getSelectedRow, getSelectedRows, outsideClickRef} = useRowSelection(table, {\n multiRowSelectionEnabled,\n onRowSelectionChange,\n });\n const isFiltered =\n !!state.globalFilter ||\n Object.keys(form.values?.predicates ?? {}).some((predicate) => !!form.values.predicates[predicate]) ||\n !!form.values.dateRange?.[0] ||\n !!form.values.dateRange?.[1];\n\n const triggerChange = debounce(() => onChange?.({...state, ...form.values}), 500);\n\n useEffect(() => {\n onMount?.({...state, ...form.values});\n return () => {\n triggerChange.cancel();\n };\n }, []);\n\n useDidUpdate(() => {\n triggerChange();\n if (!multiRowSelectionEnabled) {\n clearSelection();\n }\n }, [state.globalFilter, state.pagination, state.sorting, form.values]);\n\n const clearFilters = useCallback(() => {\n form.setFieldValue('predicates', initialState.predicates ?? {});\n setState((prevState) => ({...prevState, globalFilter: ''}));\n }, []);\n\n if (!data) {\n return (\n <Center sx={{flexGrow: 1}}>\n <Loader />\n </Center>\n );\n }\n\n const rows = table.getRowModel().rows.map((row) => {\n const rowChildren = getExpandChildren?.(row.original) ?? null;\n const isSelected = !!row.getIsSelected();\n\n return (\n <Fragment key={row.id}>\n <tr\n onClick={() => row.toggleSelected()}\n onDoubleClick={() => doubleClickAction?.(row.original)}\n className={cx(classes.row, {[classes.rowSelected]: isSelected})}\n aria-selected={isSelected}\n >\n {row.getVisibleCells().map((cell) => {\n const size = cell.column.getSize();\n const width = size !== defaultColumnSizing.size ? size : undefined;\n return (\n <td\n key={cell.id}\n style={{width}}\n className={cx({\n [classes.rowCollapsibleButtonCell]: cell.column.id === TableCollapsibleColumn.id,\n })}\n >\n <LoadingSkeleton visible={loading}>\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </LoadingSkeleton>\n </td>\n );\n })}\n </tr>\n {rowChildren ? (\n <tr>\n <td\n colSpan={table.getAllColumns().length}\n style={{\n padding: 0,\n borderTop: row.getIsExpanded() ? undefined : 'none',\n borderBottom: row.getIsExpanded() ? undefined : 'none',\n }}\n >\n <Collapse in={row.getIsExpanded()}>\n <Box px=\"sm\" py=\"xs\">\n {rowChildren}\n </Box>\n </Collapse>\n </td>\n </tr>\n ) : null}\n </Fragment>\n );\n });\n\n return (\n <Box ref={outsideClickRef}>\n <TableContext.Provider\n value={{\n onChange: triggerChange,\n state,\n isFiltered,\n setState,\n clearFilters,\n getSelectedRow,\n getSelectedRows,\n clearSelection,\n form,\n containerRef: outsideClickRef,\n multiRowSelectionEnabled,\n getPageCount: table.getPageCount,\n }}\n >\n {consumer}\n {!rows.length && !isFiltered && !loading ? (\n noDataChildren\n ) : (\n <>\n {header}\n <MantineTable className={classes.table} horizontalSpacing=\"sm\" verticalSpacing=\"xs\" pb=\"sm\">\n <thead className={classes.header}>\n {table.getHeaderGroups().map((headerGroup) => (\n <tr key={headerGroup.id}>\n {headerGroup.headers.map((columnHeader) => (\n <Th key={columnHeader.id} header={columnHeader} />\n ))}\n </tr>\n ))}\n </thead>\n <tbody>\n {rows.length ? (\n rows\n ) : (\n <tr>\n <td colSpan={table.getAllColumns().length}>\n <LoadingSkeleton visible={loading}>{noDataChildren}</LoadingSkeleton>\n </td>\n </tr>\n )}\n </tbody>\n </MantineTable>\n {footer}\n </>\n )}\n </TableContext.Provider>\n </Box>\n );\n};\n\nTable.Actions = TableActions;\nTable.Filter = TableFilter;\nTable.Footer = TableFooter;\nTable.Header = TableHeader;\nTable.Pagination = TablePagination;\nTable.Predicate = TablePredicate;\nTable.PerPage = TablePerPage;\nTable.Predicate = TablePredicate;\nTable.CollapsibleColumn = TableCollapsibleColumn;\nTable.AccordionColumn = TableAccordionColumn;\nTable.DateRangePicker = TableDateRangePicker;\nTable.Consumer = TableConsumer;\n"],"names":["Box","Center","Collapse","Loader","Skeleton","Table","MantineTable","useForm","useDidUpdate","defaultColumnSizing","flexRender","getCoreRowModel","useReactTable","debounce","defaultsDeep","Children","Fragment","useCallback","useEffect","useState","useStyles","TableActions","TableAccordionColumn","TableCollapsibleColumn","TableContext","TableDateRangePicker","TableFilter","TableFooter","TableHeader","TablePagination","TablePerPage","TablePredicate","TableConsumer","TableSelectableColumn","Th","useRowSelection","LoadingSkeleton","props","style","display","sx","visible","borderRadius","undefined","children","data","getRowId","noDataChildren","getExpandChildren","initialState","columns","onMount","onChange","loading","doubleClickAction","multiRowSelectionEnabled","onRowSelectionChange","options","form","convertedChildren","toArray","header","find","child","type","footer","consumer","predicates","dateRange","initialStateWithoutForm","initialValues","hasHeader","cx","classes","table","pagination","pageSize","DEFAULT_SIZE","concat","manualPagination","getPaginationRowModel","enableMultiRowSelection","getRowCanExpand","row","original","enableRowSelection","state","setState","setOptions","prev","onStateChange","clearSelection","getSelectedRow","getSelectedRows","outsideClickRef","isFiltered","globalFilter","Object","keys","values","some","predicate","triggerChange","cancel","sorting","clearFilters","setFieldValue","prevState","flexGrow","rows","getRowModel","map","rowChildren","isSelected","getIsSelected","tr","onClick","toggleSelected","onDoubleClick","className","rowSelected","aria-selected","getVisibleCells","cell","size","column","getSize","width","td","rowCollapsibleButtonCell","id","columnDef","getContext","colSpan","getAllColumns","length","padding","borderTop","getIsExpanded","borderBottom","in","px","py","ref","Provider","value","containerRef","getPageCount","horizontalSpacing","verticalSpacing","pb","thead","getHeaderGroups","headerGroup","headers","columnHeader","tbody","Actions","Filter","Footer","Header","Pagination","Predicate","PerPage","CollapsibleColumn","AccordionColumn","DateRangePicker","Consumer"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/table/Table.tsx"],"sourcesContent":["import {Box, Center, Collapse, Loader, Skeleton, SkeletonProps, Table as MantineTable} from '@mantine/core';\nimport {useForm} from '@mantine/form';\nimport {useDidUpdate} from '@mantine/hooks';\nimport {\n ColumnDef,\n defaultColumnSizing,\n flexRender,\n getCoreRowModel,\n Row,\n TableState as TanstackTableState,\n useReactTable,\n} from '@tanstack/react-table';\nimport debounce from 'lodash.debounce';\nimport defaultsDeep from 'lodash.defaultsdeep';\nimport {Children, Dispatch, FC, Fragment, ReactElement, useCallback, useEffect, useState} from 'react';\n\nimport useStyles from './Table.styles';\nimport {TableFormType, TableProps, TableState, TableType} from './Table.types';\nimport {TableActions} from './TableActions';\nimport {TableAccordionColumn, TableCollapsibleColumn} from './TableCollapsibleColumn';\nimport {TableConsumer} from './TableConsumer';\nimport {TableContext} from './TableContext';\nimport {TableDateRangePicker} from './TableDateRangePicker';\nimport {TableFilter} from './TableFilter';\nimport {TableFooter} from './TableFooter';\nimport {TableHeader} from './TableHeader';\nimport {TablePagination} from './TablePagination';\nimport {TablePerPage} from './TablePerPage';\nimport {TablePredicate} from './TablePredicate';\nimport {TableSelectableColumn} from './TableSelectableColumn';\nimport {Th} from './Th';\nimport {useRowSelection} from './useRowSelection';\n\nconst LoadingSkeleton: FC<SkeletonProps> = (props) => (\n <Skeleton style={{display: 'inline-block'}} {...props} sx={!props.visible ? {borderRadius: 0} : undefined}>\n {props.children}\n </Skeleton>\n);\n\nexport const Table: TableType = <T,>({\n data,\n getRowId,\n noDataChildren,\n getExpandChildren,\n initialState = {},\n columns,\n onMount,\n onChange,\n children,\n loading = false,\n doubleClickAction,\n multiRowSelectionEnabled,\n onRowSelectionChange,\n options = {},\n}: TableProps<T>) => {\n const convertedChildren = Children.toArray(children) as ReactElement[];\n const header = convertedChildren.find((child) => child.type === TableHeader);\n const footer = convertedChildren.find((child) => child.type === TableFooter);\n const consumer = convertedChildren.find((child) => child.type === TableConsumer);\n\n const {predicates, dateRange, ...initialStateWithoutForm} = initialState;\n const form = useForm<TableFormType>({\n initialValues: {predicates: initialState?.predicates ?? {}, dateRange: initialState?.dateRange ?? [null, null]},\n });\n const {cx, classes} = useStyles({multiRowSelectionEnabled});\n\n const table = useReactTable({\n initialState: defaultsDeep(initialStateWithoutForm, {pagination: {pageSize: TablePerPage.DEFAULT_SIZE}}),\n data,\n columns: multiRowSelectionEnabled ? [TableSelectableColumn as ColumnDef<T>].concat(columns) : columns,\n getCoreRowModel: getCoreRowModel(),\n manualPagination: options?.getPaginationRowModel === undefined,\n enableMultiRowSelection: !!multiRowSelectionEnabled,\n getRowId,\n getRowCanExpand: (row: Row<T>) => !!getExpandChildren?.(row.original) ?? false,\n enableRowSelection: !loading,\n ...options,\n });\n const [state, setState] = useState<TableState<T>>(table.initialState as TableState<T>);\n table.setOptions((prev) => ({\n ...prev,\n state: state as TanstackTableState,\n onStateChange: setState as Dispatch<React.SetStateAction<TanstackTableState>>,\n }));\n const {clearSelection, getSelectedRow, getSelectedRows, outsideClickRef} = useRowSelection(table, {\n multiRowSelectionEnabled,\n onRowSelectionChange,\n });\n const isFiltered =\n !!state.globalFilter ||\n Object.keys(form.values?.predicates ?? {}).some((predicate) => !!form.values.predicates[predicate]) ||\n !!form.values.dateRange?.[0] ||\n !!form.values.dateRange?.[1];\n\n const triggerChange = debounce(() => onChange?.({...state, ...form.values}), 500);\n\n useEffect(() => {\n onMount?.({...state, ...form.values});\n return () => {\n triggerChange.cancel();\n };\n }, []);\n\n useDidUpdate(() => {\n triggerChange();\n if (!multiRowSelectionEnabled) {\n clearSelection();\n }\n }, [state.globalFilter, state.pagination, state.sorting, form.values]);\n\n const clearFilters = useCallback(() => {\n form.setFieldValue('predicates', initialState.predicates ?? {});\n setState((prevState) => ({...prevState, globalFilter: ''}));\n }, []);\n\n if (!data) {\n return (\n <Center sx={{flexGrow: 1}}>\n <Loader />\n </Center>\n );\n }\n\n const rows = table.getRowModel().rows.map((row) => {\n const rowChildren = getExpandChildren?.(row.original) ?? null;\n const isSelected = !!row.getIsSelected();\n\n return (\n <Fragment key={row.id}>\n <tr\n onClick={() => row.toggleSelected()}\n onDoubleClick={() => doubleClickAction?.(row.original)}\n className={cx(classes.row, {[classes.rowSelected]: isSelected})}\n aria-selected={isSelected}\n >\n {row.getVisibleCells().map((cell) => {\n const size = cell.column.getSize();\n const width = size !== defaultColumnSizing.size ? size : undefined;\n return (\n <td\n key={cell.id}\n style={{width}}\n className={cx({\n [classes.rowCollapsibleButtonCell]: cell.column.id === TableCollapsibleColumn.id,\n })}\n >\n <LoadingSkeleton visible={loading}>\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </LoadingSkeleton>\n </td>\n );\n })}\n </tr>\n {rowChildren ? (\n <tr>\n <td\n colSpan={table.getAllColumns().length}\n style={{\n padding: 0,\n borderTop: row.getIsExpanded() ? undefined : 'none',\n borderBottom: row.getIsExpanded() ? undefined : 'none',\n }}\n >\n <Collapse in={row.getIsExpanded()}>\n <Box px=\"sm\" py=\"xs\">\n {rowChildren}\n </Box>\n </Collapse>\n </td>\n </tr>\n ) : null}\n </Fragment>\n );\n });\n\n return (\n <Box ref={outsideClickRef}>\n <TableContext.Provider\n value={{\n onChange: triggerChange,\n state,\n isFiltered,\n setState,\n clearFilters,\n getSelectedRow,\n getSelectedRows,\n clearSelection,\n form,\n containerRef: outsideClickRef,\n multiRowSelectionEnabled,\n getPageCount: table.getPageCount,\n }}\n >\n {consumer}\n {!rows.length && !isFiltered && !loading ? (\n noDataChildren\n ) : (\n <>\n <MantineTable className={classes.table} horizontalSpacing=\"sm\" verticalSpacing=\"xs\" pb=\"sm\">\n <thead className={classes.header}>\n {!!header ? (\n <tr>\n <th style={{padding: 0}} colSpan={table.getAllColumns().length}>\n {header}\n </th>\n </tr>\n ) : null}\n {table.getHeaderGroups().map((headerGroup) => (\n <tr key={headerGroup.id} className={classes.headerColumns}>\n {headerGroup.headers.map((columnHeader) => (\n <Th key={columnHeader.id} header={columnHeader} />\n ))}\n </tr>\n ))}\n </thead>\n <tbody>\n {rows.length ? (\n rows\n ) : (\n <tr>\n <td colSpan={table.getAllColumns().length}>\n <LoadingSkeleton visible={loading}>{noDataChildren}</LoadingSkeleton>\n </td>\n </tr>\n )}\n </tbody>\n </MantineTable>\n {footer}\n </>\n )}\n </TableContext.Provider>\n </Box>\n );\n};\n\nTable.Actions = TableActions;\nTable.Filter = TableFilter;\nTable.Footer = TableFooter;\nTable.Header = TableHeader;\nTable.Pagination = TablePagination;\nTable.Predicate = TablePredicate;\nTable.PerPage = TablePerPage;\nTable.Predicate = TablePredicate;\nTable.CollapsibleColumn = TableCollapsibleColumn;\nTable.AccordionColumn = TableAccordionColumn;\nTable.DateRangePicker = TableDateRangePicker;\nTable.Consumer = TableConsumer;\n"],"names":["Box","Center","Collapse","Loader","Skeleton","Table","MantineTable","useForm","useDidUpdate","defaultColumnSizing","flexRender","getCoreRowModel","useReactTable","debounce","defaultsDeep","Children","Fragment","useCallback","useEffect","useState","useStyles","TableActions","TableAccordionColumn","TableCollapsibleColumn","TableConsumer","TableContext","TableDateRangePicker","TableFilter","TableFooter","TableHeader","TablePagination","TablePerPage","TablePredicate","TableSelectableColumn","Th","useRowSelection","LoadingSkeleton","props","style","display","sx","visible","borderRadius","undefined","children","data","getRowId","noDataChildren","getExpandChildren","initialState","columns","onMount","onChange","loading","doubleClickAction","multiRowSelectionEnabled","onRowSelectionChange","options","form","convertedChildren","toArray","header","find","child","type","footer","consumer","predicates","dateRange","initialStateWithoutForm","initialValues","cx","classes","table","pagination","pageSize","DEFAULT_SIZE","concat","manualPagination","getPaginationRowModel","enableMultiRowSelection","getRowCanExpand","row","original","enableRowSelection","state","setState","setOptions","prev","onStateChange","clearSelection","getSelectedRow","getSelectedRows","outsideClickRef","isFiltered","globalFilter","Object","keys","values","some","predicate","triggerChange","cancel","sorting","clearFilters","setFieldValue","prevState","flexGrow","rows","getRowModel","map","rowChildren","isSelected","getIsSelected","tr","onClick","toggleSelected","onDoubleClick","className","rowSelected","aria-selected","getVisibleCells","cell","size","column","getSize","width","td","rowCollapsibleButtonCell","id","columnDef","getContext","colSpan","getAllColumns","length","padding","borderTop","getIsExpanded","borderBottom","in","px","py","ref","Provider","value","containerRef","getPageCount","horizontalSpacing","verticalSpacing","pb","thead","th","getHeaderGroups","headerGroup","headerColumns","headers","columnHeader","tbody","Actions","Filter","Footer","Header","Pagination","Predicate","PerPage","CollapsibleColumn","AccordionColumn","DateRangePicker","Consumer"],"mappings":"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"}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import { createStyles } from "@mantine/core";
|
|
2
2
|
var useStyles = createStyles(function(theme, param) {
|
|
3
|
-
var
|
|
3
|
+
var multiRowSelectionEnabled = param.multiRowSelectionEnabled;
|
|
4
4
|
var rowBackgroundColor = theme.colorScheme === "dark" ? theme.fn.rgba(theme.colors[theme.primaryColor][7], 0.2) : theme.colors[theme.primaryColor][0];
|
|
5
5
|
return {
|
|
6
6
|
table: {
|
|
7
7
|
width: "100%",
|
|
8
|
-
"&
|
|
8
|
+
"& thead tr th": {
|
|
9
|
+
borderBottom: "none"
|
|
10
|
+
},
|
|
11
|
+
"& td:first-of-type": {
|
|
9
12
|
paddingLeft: theme.spacing.xl
|
|
10
13
|
},
|
|
11
14
|
"& tbody td": {
|
|
@@ -14,7 +17,7 @@ var useStyles = createStyles(function(theme, param) {
|
|
|
14
17
|
},
|
|
15
18
|
header: {
|
|
16
19
|
position: "sticky",
|
|
17
|
-
top:
|
|
20
|
+
top: 0,
|
|
18
21
|
backgroundColor: theme.colorScheme === "dark" ? theme.black : theme.white,
|
|
19
22
|
transition: "box-shadow 150ms ease",
|
|
20
23
|
zIndex: 1,
|
|
@@ -24,7 +27,12 @@ var useStyles = createStyles(function(theme, param) {
|
|
|
24
27
|
left: 0,
|
|
25
28
|
right: 0,
|
|
26
29
|
bottom: 0,
|
|
27
|
-
borderBottom: "1px solid ".concat(theme.colors.gray[
|
|
30
|
+
borderBottom: "1px solid ".concat(theme.colors.gray[3])
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
headerColumns: {
|
|
34
|
+
"& th:first-of-type > *": {
|
|
35
|
+
paddingLeft: theme.spacing.xl
|
|
28
36
|
}
|
|
29
37
|
},
|
|
30
38
|
rowSelected: {
|
|
@@ -41,6 +49,13 @@ var useStyles = createStyles(function(theme, param) {
|
|
|
41
49
|
}
|
|
42
50
|
};
|
|
43
51
|
});
|
|
52
|
+
export var TableComponentsOrder = {
|
|
53
|
+
MultiSelectInfo: 5,
|
|
54
|
+
Actions: 4,
|
|
55
|
+
Predicate: 3,
|
|
56
|
+
Filter: 2,
|
|
57
|
+
DateRangePicker: 1
|
|
58
|
+
};
|
|
44
59
|
export default useStyles;
|
|
45
60
|
|
|
46
61
|
//# sourceMappingURL=Table.styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/table/Table.styles.ts"],"sourcesContent":["import {createStyles} from '@mantine/core';\n\ninterface TableStylesParams {\n
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/table/Table.styles.ts"],"sourcesContent":["import {createStyles} from '@mantine/core';\n\ninterface TableStylesParams {\n multiRowSelectionEnabled: boolean;\n}\n\nconst useStyles = createStyles<string, TableStylesParams>((theme, {multiRowSelectionEnabled}) => {\n const rowBackgroundColor =\n theme.colorScheme === 'dark'\n ? theme.fn.rgba(theme.colors[theme.primaryColor][7], 0.2)\n : theme.colors[theme.primaryColor][0];\n return {\n table: {\n width: '100%',\n '& thead tr th': {\n borderBottom: 'none',\n },\n '& td:first-of-type': {\n paddingLeft: theme.spacing.xl,\n },\n '& tbody td': {\n verticalAlign: 'top',\n },\n },\n\n header: {\n position: 'sticky',\n top: 0,\n backgroundColor: theme.colorScheme === 'dark' ? theme.black : theme.white,\n transition: 'box-shadow 150ms ease',\n zIndex: 1,\n\n '&::after': {\n content: '\"\"',\n position: 'absolute',\n left: 0,\n right: 0,\n bottom: 0,\n borderBottom: `1px solid ${theme.colors.gray[3]}`,\n },\n },\n\n headerColumns: {\n '& th:first-of-type > *': {\n paddingLeft: theme.spacing.xl,\n },\n },\n\n rowSelected: {\n backgroundColor: multiRowSelectionEnabled ? undefined : rowBackgroundColor,\n },\n\n rowCollapsibleButtonCell: {\n textAlign: 'right',\n padding: `calc(${theme.spacing.xs}/2) ${theme.spacing.sm} !important`,\n },\n\n row: {\n '&:hover': {\n backgroundColor: rowBackgroundColor,\n },\n },\n };\n});\n\nexport const TableComponentsOrder = {\n MultiSelectInfo: 5,\n Actions: 4,\n Predicate: 3,\n Filter: 2,\n DateRangePicker: 1,\n};\n\nexport default useStyles;\n"],"names":["createStyles","useStyles","theme","multiRowSelectionEnabled","rowBackgroundColor","colorScheme","fn","rgba","colors","primaryColor","table","width","borderBottom","paddingLeft","spacing","xl","verticalAlign","header","position","top","backgroundColor","black","white","transition","zIndex","content","left","right","bottom","gray","headerColumns","rowSelected","undefined","rowCollapsibleButtonCell","textAlign","padding","xs","sm","row","TableComponentsOrder","MultiSelectInfo","Actions","Predicate","Filter","DateRangePicker"],"mappings":"AAAA,SAAQA,YAAY,QAAO,gBAAgB;AAM3C,IAAMC,YAAYD,aAAwC,SAACE,cAAsC;QAA9BC,iCAAAA;IAC/D,IAAMC,qBACFF,MAAMG,WAAW,KAAK,SAChBH,MAAMI,EAAE,CAACC,IAAI,CAACL,MAAMM,MAAM,CAACN,MAAMO,YAAY,CAAC,CAAC,EAAE,EAAE,OACnDP,MAAMM,MAAM,CAACN,MAAMO,YAAY,CAAC,CAAC,EAAE;IAC7C,OAAO;QACHC,OAAO;YACHC,OAAO;YACP,iBAAiB;gBACbC,cAAc;YAClB;YACA,sBAAsB;gBAClBC,aAAaX,MAAMY,OAAO,CAACC,EAAE;YACjC;YACA,cAAc;gBACVC,eAAe;YACnB;QACJ;QAEAC,QAAQ;YACJC,UAAU;YACVC,KAAK;YACLC,iBAAiBlB,MAAMG,WAAW,KAAK,SAASH,MAAMmB,KAAK,GAAGnB,MAAMoB,KAAK;YACzEC,YAAY;YACZC,QAAQ;YAER,YAAY;gBACRC,SAAS;gBACTP,UAAU;gBACVQ,MAAM;gBACNC,OAAO;gBACPC,QAAQ;gBACRhB,cAAc,AAAC,aAAiC,OAArBV,MAAMM,MAAM,CAACqB,IAAI,CAAC,EAAE;YACnD;QACJ;QAEAC,eAAe;YACX,0BAA0B;gBACtBjB,aAAaX,MAAMY,OAAO,CAACC,EAAE;YACjC;QACJ;QAEAgB,aAAa;YACTX,iBAAiBjB,2BAA2B6B,YAAY5B,kBAAkB;QAC9E;QAEA6B,0BAA0B;YACtBC,WAAW;YACXC,SAAS,AAAC,QAA8BjC,OAAvBA,MAAMY,OAAO,CAACsB,EAAE,EAAC,QAAuB,OAAjBlC,MAAMY,OAAO,CAACuB,EAAE,EAAC;QAC7D;QAEAC,KAAK;YACD,WAAW;gBACPlB,iBAAiBhB;YACrB;QACJ;IACJ;AACJ;AAEA,OAAO,IAAMmC,uBAAuB;IAChCC,iBAAiB;IACjBC,SAAS;IACTC,WAAW;IACXC,QAAQ;IACRC,iBAAiB;AACrB,EAAE;AAEF,eAAe3C,UAAU"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { Group } from "@mantine/core";
|
|
2
|
+
import { Grid, Group } from "@mantine/core";
|
|
3
|
+
import { TableComponentsOrder } from "./Table.styles";
|
|
3
4
|
import { useTable } from "./TableContext";
|
|
4
5
|
export var TableActions = function(param) {
|
|
5
6
|
var children = param.children;
|
|
@@ -8,9 +9,17 @@ export var TableActions = function(param) {
|
|
|
8
9
|
if (selectedRows.length <= 0) {
|
|
9
10
|
return null;
|
|
10
11
|
}
|
|
11
|
-
return /*#__PURE__*/ _jsx(
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
return /*#__PURE__*/ _jsx(Grid.Col, {
|
|
13
|
+
span: "content",
|
|
14
|
+
order: TableComponentsOrder.Actions,
|
|
15
|
+
py: "sm",
|
|
16
|
+
children: /*#__PURE__*/ _jsx(Group, {
|
|
17
|
+
spacing: "xs",
|
|
18
|
+
style: {
|
|
19
|
+
display: "inline-flex"
|
|
20
|
+
},
|
|
21
|
+
children: multiRowSelectionEnabled ? children(selectedRows) : children(selectedRows[0])
|
|
22
|
+
})
|
|
14
23
|
});
|
|
15
24
|
};
|
|
16
25
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/table/TableActions.tsx"],"sourcesContent":["import {Group} from '@mantine/core';\nimport {ReactElement, ReactNode} from 'react';\n\nimport {useTable} from './TableContext';\n\ninterface TableActionsProps<T> {\n /**\n * Function that return components for the selected row or selected rows when multi row selection is enabled\n *\n * @param datum the data of the selected row(s)\n * @example\n * <Table.Actions<MyType>>\n * {(datum: MyType) => (\n * <Button\n * component={Link}\n * to={`edit/${datum.id}`}\n * leftIcon={<EditSize24Px />}\n * variant=\"subtle\"\n * color=\"navyBlue.8\"\n * >\n * Edit\n * </Button>\n * )}\n * </Table.Actions>\n */\n children: ((datum: T) => ReactNode) | ((data: T[]) => ReactNode);\n}\n\nexport const TableActions = <T,>({children}: TableActionsProps<T>): ReactElement => {\n const {getSelectedRows, multiRowSelectionEnabled} = useTable<T>();\n const selectedRows = getSelectedRows();\n\n if (selectedRows.length <= 0) {\n return null;\n }\n\n return (\n <Group spacing=\"xs\">\n
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/table/TableActions.tsx"],"sourcesContent":["import {Grid, Group} from '@mantine/core';\nimport {ReactElement, ReactNode} from 'react';\nimport {TableComponentsOrder} from './Table.styles';\n\nimport {useTable} from './TableContext';\n\ninterface TableActionsProps<T> {\n /**\n * Function that return components for the selected row or selected rows when multi row selection is enabled\n *\n * @param datum the data of the selected row(s)\n * @example\n * <Table.Actions<MyType>>\n * {(datum: MyType) => (\n * <Button\n * component={Link}\n * to={`edit/${datum.id}`}\n * leftIcon={<EditSize24Px />}\n * variant=\"subtle\"\n * color=\"navyBlue.8\"\n * >\n * Edit\n * </Button>\n * )}\n * </Table.Actions>\n */\n children: ((datum: T) => ReactNode) | ((data: T[]) => ReactNode);\n}\n\nexport const TableActions = <T,>({children}: TableActionsProps<T>): ReactElement => {\n const {getSelectedRows, multiRowSelectionEnabled} = useTable<T>();\n const selectedRows = getSelectedRows();\n\n if (selectedRows.length <= 0) {\n return null;\n }\n\n return (\n <Grid.Col span=\"content\" order={TableComponentsOrder.Actions} py=\"sm\">\n <Group spacing=\"xs\" style={{display: 'inline-flex'}}>\n {multiRowSelectionEnabled\n ? (children as (data: T[]) => ReactNode)(selectedRows)\n : (children as (datum: T) => ReactNode)(selectedRows[0])}\n </Group>\n </Grid.Col>\n );\n};\n"],"names":["Grid","Group","TableComponentsOrder","useTable","TableActions","children","getSelectedRows","multiRowSelectionEnabled","selectedRows","length","Col","span","order","Actions","py","spacing","style","display"],"mappings":";AAAA,SAAQA,IAAI,EAAEC,KAAK,QAAO,gBAAgB;AAE1C,SAAQC,oBAAoB,QAAO,iBAAiB;AAEpD,SAAQC,QAAQ,QAAO,iBAAiB;AAyBxC,OAAO,IAAMC,eAAe,gBAAwD;QAAlDC,iBAAAA;IAC9B,IAAoDF,YAAAA,YAA7CG,kBAA6CH,UAA7CG,iBAAiBC,2BAA4BJ,UAA5BI;IACxB,IAAMC,eAAeF;IAErB,IAAIE,aAAaC,MAAM,IAAI,GAAG;QAC1B,OAAO,IAAI;IACf,CAAC;IAED,qBACI,KAACT,KAAKU,GAAG;QAACC,MAAK;QAAUC,OAAOV,qBAAqBW,OAAO;QAAEC,IAAG;kBAC7D,cAAA,KAACb;YAAMc,SAAQ;YAAKC,OAAO;gBAACC,SAAS;YAAa;sBAC7CV,2BACK,AAACF,SAAsCG,gBACvC,AAACH,SAAqCG,YAAY,CAAC,EAAE,CAAC;;;AAI5E,EAAE"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import _object_spread from "@swc/helpers/
|
|
2
|
-
import _object_spread_props from "@swc/helpers/
|
|
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 { ArrowHeadDownSize24Px, ArrowHeadUpSize24Px } from "@coveord/plasma-react-icons";
|
|
5
5
|
import { ActionIcon } from "@mantine/core";
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import _sliced_to_array from "@swc/helpers/
|
|
2
|
-
import { jsx as _jsx, jsxs as _jsxs
|
|
1
|
+
import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { CalendarSize24Px } from "@coveord/plasma-react-icons";
|
|
4
|
-
import { Popover } from "@mantine/core";
|
|
4
|
+
import { Grid, Group, Popover, Text } from "@mantine/core";
|
|
5
5
|
import dayjs from "dayjs";
|
|
6
6
|
import { useState } from "react";
|
|
7
7
|
import { Button } from "../button";
|
|
8
8
|
import { DateRangePickerInlineCalendar } from "../date-range-picker";
|
|
9
|
+
import { TableComponentsOrder } from "./Table.styles";
|
|
9
10
|
import { useTable } from "./TableContext";
|
|
10
11
|
export var TableDateRangePicker = function(param) {
|
|
11
12
|
var _param_presets = param.presets, presets = _param_presets === void 0 ? {} : _param_presets, rangeCalendarProps = param.rangeCalendarProps;
|
|
@@ -22,40 +23,49 @@ export var TableDateRangePicker = function(param) {
|
|
|
22
23
|
return dayjs(date).format("MMM DD, YYYY");
|
|
23
24
|
};
|
|
24
25
|
var formatedRange = "".concat(formatDate(form.values.dateRange[0]), " - ").concat(formatDate(form.values.dateRange[1]));
|
|
25
|
-
return /*#__PURE__*/
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
26
|
+
return /*#__PURE__*/ _jsx(Grid.Col, {
|
|
27
|
+
span: "content",
|
|
28
|
+
order: TableComponentsOrder.DateRangePicker,
|
|
29
|
+
py: "sm",
|
|
30
|
+
children: /*#__PURE__*/ _jsxs(Group, {
|
|
31
|
+
spacing: "xs",
|
|
32
|
+
children: [
|
|
33
|
+
/*#__PURE__*/ _jsx(Text, {
|
|
34
|
+
span: true,
|
|
35
|
+
children: formatedRange
|
|
36
|
+
}),
|
|
37
|
+
/*#__PURE__*/ _jsxs(Popover, {
|
|
38
|
+
opened: opened,
|
|
39
|
+
onChange: setOpened,
|
|
40
|
+
children: [
|
|
41
|
+
/*#__PURE__*/ _jsx(Popover.Target, {
|
|
42
|
+
children: /*#__PURE__*/ _jsx(Button, {
|
|
43
|
+
variant: "outline",
|
|
44
|
+
color: "gray",
|
|
45
|
+
onClick: function() {
|
|
46
|
+
return setOpened(true);
|
|
47
|
+
},
|
|
48
|
+
px: "xs",
|
|
49
|
+
children: /*#__PURE__*/ _jsx(CalendarSize24Px, {
|
|
50
|
+
width: 24,
|
|
51
|
+
height: 24
|
|
52
|
+
})
|
|
53
|
+
})
|
|
54
|
+
}),
|
|
55
|
+
/*#__PURE__*/ _jsx(Popover.Dropdown, {
|
|
56
|
+
p: 0,
|
|
57
|
+
children: /*#__PURE__*/ _jsx(DateRangePickerInlineCalendar, {
|
|
58
|
+
initialRange: form.values.dateRange,
|
|
59
|
+
onApply: onApply,
|
|
60
|
+
onCancel: onCancel,
|
|
61
|
+
presets: presets,
|
|
62
|
+
rangeCalendarProps: rangeCalendarProps
|
|
43
63
|
})
|
|
44
64
|
})
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
initialRange: form.values.dateRange,
|
|
50
|
-
onApply: onApply,
|
|
51
|
-
onCancel: onCancel,
|
|
52
|
-
presets: presets,
|
|
53
|
-
rangeCalendarProps: rangeCalendarProps
|
|
54
|
-
})
|
|
55
|
-
})
|
|
56
|
-
]
|
|
57
|
-
})
|
|
58
|
-
]
|
|
65
|
+
]
|
|
66
|
+
})
|
|
67
|
+
]
|
|
68
|
+
})
|
|
59
69
|
});
|
|
60
70
|
};
|
|
61
71
|
|