@coveord/plasma-mantine 52.18.0 → 52.20.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 +34 -33
- package/dist/.tsbuildinfo +1 -1
- package/dist/cjs/components/browser-preview/BrowserPreview.d.ts +16 -0
- package/dist/cjs/components/browser-preview/BrowserPreview.d.ts.map +1 -0
- package/dist/cjs/components/browser-preview/BrowserPreview.js +106 -0
- package/dist/cjs/components/browser-preview/BrowserPreview.js.map +1 -0
- package/dist/cjs/components/browser-preview/BrowserPreview.styles.d.ts +12 -0
- package/dist/cjs/components/browser-preview/BrowserPreview.styles.d.ts.map +1 -0
- package/dist/cjs/components/browser-preview/BrowserPreview.styles.js +35 -0
- package/dist/cjs/components/browser-preview/BrowserPreview.styles.js.map +1 -0
- package/dist/cjs/components/browser-preview/index.d.ts +2 -0
- package/dist/cjs/components/browser-preview/index.d.ts.map +1 -0
- package/dist/cjs/components/browser-preview/index.js +8 -0
- package/dist/cjs/components/browser-preview/index.js.map +1 -0
- package/dist/cjs/components/code-editor/CodeEditor.d.ts +3 -1
- package/dist/cjs/components/code-editor/CodeEditor.d.ts.map +1 -1
- package/dist/cjs/components/code-editor/CodeEditor.js +16 -3
- package/dist/cjs/components/code-editor/CodeEditor.js.map +1 -1
- package/dist/cjs/components/index.d.ts +1 -0
- package/dist/cjs/components/index.d.ts.map +1 -1
- package/dist/cjs/components/index.js +1 -0
- package/dist/cjs/components/index.js.map +1 -1
- package/dist/cjs/components/inline-confirm/InlineConfirmPrompt.js +1 -0
- package/dist/cjs/components/inline-confirm/InlineConfirmPrompt.js.map +1 -1
- package/dist/cjs/components/table/Table.d.ts.map +1 -1
- package/dist/cjs/components/table/Table.js +8 -2
- package/dist/cjs/components/table/Table.js.map +1 -1
- package/dist/cjs/components/table/Table.styles.d.ts.map +1 -1
- package/dist/cjs/components/table/Table.styles.js +2 -1
- package/dist/cjs/components/table/Table.styles.js.map +1 -1
- package/dist/cjs/components/table/Table.types.d.ts +5 -1
- package/dist/cjs/components/table/Table.types.d.ts.map +1 -1
- package/dist/cjs/components/table/layouts/RowLayout.d.ts.map +1 -1
- package/dist/cjs/components/table/layouts/RowLayout.js +6 -1
- package/dist/cjs/components/table/layouts/RowLayout.js.map +1 -1
- package/dist/cjs/components/table/table-actions/TableActions.styles.js +3 -1
- package/dist/cjs/components/table/table-actions/TableActions.styles.js.map +1 -1
- package/dist/cjs/hooks/useRowSelection.js.map +1 -1
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +3 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/components/browser-preview/BrowserPreview.d.ts +16 -0
- package/dist/esm/components/browser-preview/BrowserPreview.d.ts.map +1 -0
- package/dist/esm/components/browser-preview/BrowserPreview.js +95 -0
- package/dist/esm/components/browser-preview/BrowserPreview.js.map +1 -0
- package/dist/esm/components/browser-preview/BrowserPreview.styles.d.ts +12 -0
- package/dist/esm/components/browser-preview/BrowserPreview.styles.d.ts.map +1 -0
- package/dist/esm/components/browser-preview/BrowserPreview.styles.js +25 -0
- package/dist/esm/components/browser-preview/BrowserPreview.styles.js.map +1 -0
- package/dist/esm/components/browser-preview/index.d.ts +2 -0
- package/dist/esm/components/browser-preview/index.d.ts.map +1 -0
- package/dist/esm/components/browser-preview/index.js +3 -0
- package/dist/esm/components/browser-preview/index.js.map +1 -0
- package/dist/esm/components/code-editor/CodeEditor.d.ts +3 -1
- package/dist/esm/components/code-editor/CodeEditor.d.ts.map +1 -1
- package/dist/esm/components/code-editor/CodeEditor.js +17 -4
- package/dist/esm/components/code-editor/CodeEditor.js.map +1 -1
- package/dist/esm/components/index.d.ts +1 -0
- package/dist/esm/components/index.d.ts.map +1 -1
- package/dist/esm/components/index.js +1 -0
- package/dist/esm/components/index.js.map +1 -1
- package/dist/esm/components/inline-confirm/InlineConfirmPrompt.js +1 -0
- package/dist/esm/components/inline-confirm/InlineConfirmPrompt.js.map +1 -1
- package/dist/esm/components/table/Table.d.ts.map +1 -1
- package/dist/esm/components/table/Table.js +8 -2
- package/dist/esm/components/table/Table.js.map +1 -1
- package/dist/esm/components/table/Table.styles.d.ts.map +1 -1
- package/dist/esm/components/table/Table.styles.js +2 -1
- package/dist/esm/components/table/Table.styles.js.map +1 -1
- package/dist/esm/components/table/Table.types.d.ts +5 -1
- 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/layouts/RowLayout.d.ts.map +1 -1
- package/dist/esm/components/table/layouts/RowLayout.js +6 -1
- package/dist/esm/components/table/layouts/RowLayout.js.map +1 -1
- package/dist/esm/components/table/table-actions/TableActions.styles.js +3 -1
- package/dist/esm/components/table/table-actions/TableActions.styles.js.map +1 -1
- package/dist/esm/hooks/useRowSelection.js.map +1 -1
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/package.json +3 -3
- package/src/components/browser-preview/BrowserPreview.styles.ts +14 -0
- package/src/components/browser-preview/BrowserPreview.tsx +72 -0
- package/src/components/browser-preview/__tests__/BrowserPreview.spec.tsx +35 -0
- package/src/components/browser-preview/index.ts +1 -0
- package/src/components/code-editor/CodeEditor.tsx +15 -4
- package/src/components/index.ts +1 -0
- package/src/components/inline-confirm/InlineConfirmPrompt.tsx +1 -1
- package/src/components/table/Table.styles.ts +2 -0
- package/src/components/table/Table.tsx +5 -2
- package/src/components/table/Table.types.ts +5 -1
- package/src/components/table/layouts/RowLayout.tsx +5 -2
- package/src/components/table/table-actions/TableActions.styles.ts +1 -1
- package/src/hooks/useRowSelection.ts +4 -4
- package/src/index.ts +1 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { DefaultProps, Selectors } from '@mantine/core';
|
|
2
|
+
import { PropsWithChildren } from 'react';
|
|
3
|
+
import useStyles from './BrowserPreview.styles';
|
|
4
|
+
export interface BrowserPreviewProps extends DefaultProps<Selectors<typeof useStyles>> {
|
|
5
|
+
/**
|
|
6
|
+
* Text to display in a tooltip in the header.
|
|
7
|
+
*
|
|
8
|
+
*/
|
|
9
|
+
headerTooltip?: string;
|
|
10
|
+
/**
|
|
11
|
+
* Custom title to be displayed at the center of the header.
|
|
12
|
+
*/
|
|
13
|
+
title?: string;
|
|
14
|
+
}
|
|
15
|
+
export declare const BrowserPreview: ({ children, headerTooltip, title, classNames, className, styles, unstyled, ...others }: PropsWithChildren<BrowserPreviewProps>) => import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
//# sourceMappingURL=BrowserPreview.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BrowserPreview.d.ts","sourceRoot":"","sources":["../../../../src/components/browser-preview/BrowserPreview.tsx"],"names":[],"mappings":"AACA,OAAO,EAGH,YAAY,EAGZ,SAAS,EAMZ,MAAM,eAAe,CAAC;AACvB,OAAO,EAAC,iBAAiB,EAAC,MAAM,OAAO,CAAC;AACxC,OAAO,SAAS,MAAM,yBAAyB,CAAC;AAEhD,MAAM,WAAW,mBAAoB,SAAQ,YAAY,CAAC,SAAS,CAAC,OAAO,SAAS,CAAC,CAAC;IAClF;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,cAAc,2FAUxB,kBAAkB,mBAAmB,CAAC,4CAgCxC,CAAC"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "BrowserPreview", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return BrowserPreview;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _interop_require_default = require("@swc/helpers/_/_interop_require_default");
|
|
12
|
+
var _object_spread = require("@swc/helpers/_/_object_spread");
|
|
13
|
+
var _object_spread_props = require("@swc/helpers/_/_object_spread_props");
|
|
14
|
+
var _object_without_properties = require("@swc/helpers/_/_object_without_properties");
|
|
15
|
+
var _jsxruntime = require("react/jsx-runtime");
|
|
16
|
+
var _plasmareacticons = require("@coveord/plasma-react-icons");
|
|
17
|
+
var _core = require("@mantine/core");
|
|
18
|
+
var _BrowserPreviewstyles = /*#__PURE__*/ _interop_require_default._(require("./BrowserPreview.styles"));
|
|
19
|
+
var BrowserPreview = function(_param) {
|
|
20
|
+
var children = _param.children, headerTooltip = _param.headerTooltip, title = _param.title, // Style props
|
|
21
|
+
classNames = _param.classNames, className = _param.className, styles = _param.styles, unstyled = _param.unstyled, others = _object_without_properties._(_param, [
|
|
22
|
+
"children",
|
|
23
|
+
"headerTooltip",
|
|
24
|
+
"title",
|
|
25
|
+
"classNames",
|
|
26
|
+
"className",
|
|
27
|
+
"styles",
|
|
28
|
+
"unstyled"
|
|
29
|
+
]);
|
|
30
|
+
var theme = (0, _core.useMantineTheme)();
|
|
31
|
+
var _useStyles = (0, _BrowserPreviewstyles.default)(null, {
|
|
32
|
+
classNames: classNames,
|
|
33
|
+
name: "BrowserPreview",
|
|
34
|
+
styles: styles,
|
|
35
|
+
unstyled: unstyled
|
|
36
|
+
}), classes = _useStyles.classes, cx = _useStyles.cx;
|
|
37
|
+
return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_core.Stack, _object_spread_props._(_object_spread._({
|
|
38
|
+
className: cx(classes.root, className),
|
|
39
|
+
spacing: 0,
|
|
40
|
+
maw: 544,
|
|
41
|
+
mih: 0
|
|
42
|
+
}, others), {
|
|
43
|
+
children: [
|
|
44
|
+
/*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Box, {
|
|
45
|
+
children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_core.Group, {
|
|
46
|
+
className: classes.header,
|
|
47
|
+
position: "apart",
|
|
48
|
+
px: "sm",
|
|
49
|
+
py: "xs",
|
|
50
|
+
bg: "gray.1",
|
|
51
|
+
noWrap: true,
|
|
52
|
+
children: [
|
|
53
|
+
/*#__PURE__*/ (0, _jsxruntime.jsxs)(_core.Group, {
|
|
54
|
+
spacing: "xs",
|
|
55
|
+
noWrap: true,
|
|
56
|
+
children: [
|
|
57
|
+
/*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Title, {
|
|
58
|
+
color: "gray.6",
|
|
59
|
+
order: 4,
|
|
60
|
+
children: "Preview"
|
|
61
|
+
}),
|
|
62
|
+
!!headerTooltip && /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Tooltip, {
|
|
63
|
+
label: headerTooltip,
|
|
64
|
+
position: "right",
|
|
65
|
+
maw: 400,
|
|
66
|
+
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_plasmareacticons.InfoSize16Px, {
|
|
67
|
+
height: 16,
|
|
68
|
+
className: classes.infoIcon
|
|
69
|
+
})
|
|
70
|
+
})
|
|
71
|
+
]
|
|
72
|
+
}),
|
|
73
|
+
/*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Text, {
|
|
74
|
+
lineClamp: 1,
|
|
75
|
+
color: "gray.6",
|
|
76
|
+
children: title
|
|
77
|
+
}),
|
|
78
|
+
/*#__PURE__*/ (0, _jsxruntime.jsxs)(_core.Group, {
|
|
79
|
+
spacing: "xs",
|
|
80
|
+
noWrap: true,
|
|
81
|
+
children: [
|
|
82
|
+
/*#__PURE__*/ (0, _jsxruntime.jsx)(_core.ColorSwatch, {
|
|
83
|
+
color: theme.colors.gray[3]
|
|
84
|
+
}),
|
|
85
|
+
/*#__PURE__*/ (0, _jsxruntime.jsx)(_core.ColorSwatch, {
|
|
86
|
+
color: theme.colors.gray[3]
|
|
87
|
+
}),
|
|
88
|
+
/*#__PURE__*/ (0, _jsxruntime.jsx)(_core.ColorSwatch, {
|
|
89
|
+
color: theme.colors.gray[3]
|
|
90
|
+
})
|
|
91
|
+
]
|
|
92
|
+
})
|
|
93
|
+
]
|
|
94
|
+
})
|
|
95
|
+
}),
|
|
96
|
+
/*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Flex, {
|
|
97
|
+
className: classes.content,
|
|
98
|
+
p: "xl",
|
|
99
|
+
direction: "column",
|
|
100
|
+
children: children
|
|
101
|
+
})
|
|
102
|
+
]
|
|
103
|
+
}));
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
//# sourceMappingURL=BrowserPreview.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/browser-preview/BrowserPreview.tsx"],"sourcesContent":["import {InfoSize16Px} from '@coveord/plasma-react-icons';\nimport {\n Box,\n ColorSwatch,\n DefaultProps,\n Flex,\n Group,\n Selectors,\n Stack,\n Text,\n Title,\n Tooltip,\n useMantineTheme,\n} from '@mantine/core';\nimport {PropsWithChildren} from 'react';\nimport useStyles from './BrowserPreview.styles';\n\nexport interface BrowserPreviewProps extends DefaultProps<Selectors<typeof useStyles>> {\n /**\n * Text to display in a tooltip in the header.\n *\n */\n headerTooltip?: string;\n /**\n * Custom title to be displayed at the center of the header.\n */\n title?: string;\n}\n\nexport const BrowserPreview = ({\n children,\n headerTooltip,\n title,\n // Style props\n classNames,\n className,\n styles,\n unstyled,\n ...others\n}: PropsWithChildren<BrowserPreviewProps>) => {\n const theme = useMantineTheme();\n const {classes, cx} = useStyles(null, {classNames, name: 'BrowserPreview', styles, unstyled});\n return (\n <Stack className={cx(classes.root, className)} spacing={0} maw={544} mih={0} {...others}>\n <Box>\n <Group className={classes.header} position=\"apart\" px=\"sm\" py=\"xs\" bg=\"gray.1\" noWrap>\n <Group spacing=\"xs\" noWrap>\n <Title color=\"gray.6\" order={4}>\n Preview\n </Title>\n {!!headerTooltip && (\n <Tooltip label={headerTooltip} position=\"right\" maw={400}>\n <InfoSize16Px height={16} className={classes.infoIcon} />\n </Tooltip>\n )}\n </Group>\n <Text lineClamp={1} color=\"gray.6\">\n {title}\n </Text>\n <Group spacing=\"xs\" noWrap>\n <ColorSwatch color={theme.colors.gray[3]} />\n <ColorSwatch color={theme.colors.gray[3]} />\n <ColorSwatch color={theme.colors.gray[3]} />\n </Group>\n </Group>\n </Box>\n <Flex className={classes.content} p=\"xl\" direction=\"column\">\n {children}\n </Flex>\n </Stack>\n );\n};\n"],"names":["BrowserPreview","children","headerTooltip","title","classNames","className","styles","unstyled","others","theme","useMantineTheme","useStyles","name","classes","cx","Stack","root","spacing","maw","mih","Box","Group","header","position","px","py","bg","noWrap","Title","color","order","Tooltip","label","InfoSize16Px","height","infoIcon","Text","lineClamp","ColorSwatch","colors","gray","Flex","content","p","direction"],"mappings":";;;;+BA6BaA;;;eAAAA;;;;;;;;gCA7Bc;oBAapB;6EAEe;AAcf,IAAMA,iBAAiB;QAC1BC,kBAAAA,UACAC,uBAAAA,eACAC,eAAAA,OACA,cAAc;IACdC,oBAAAA,YACAC,mBAAAA,WACAC,gBAAAA,QACAC,kBAAAA,UACGC;QARHP;QACAC;QACAC;QAEAC;QACAC;QACAC;QACAC;;IAGA,IAAME,QAAQC,IAAAA,qBAAe;IAC7B,IAAsBC,aAAAA,IAAAA,6BAAS,EAAC,MAAM;QAACP,YAAAA;QAAYQ,MAAM;QAAkBN,QAAAA;QAAQC,UAAAA;IAAQ,IAApFM,UAAeF,WAAfE,SAASC,KAAMH,WAANG;IAChB,qBACI,sBAACC,WAAK;QAACV,WAAWS,GAAGD,QAAQG,IAAI,EAAEX;QAAYY,SAAS;QAAGC,KAAK;QAAKC,KAAK;OAAOX;;0BAC7E,qBAACY,SAAG;0BACA,cAAA,sBAACC,WAAK;oBAAChB,WAAWQ,QAAQS,MAAM;oBAAEC,UAAS;oBAAQC,IAAG;oBAAKC,IAAG;oBAAKC,IAAG;oBAASC,MAAM;;sCACjF,sBAACN,WAAK;4BAACJ,SAAQ;4BAAKU,MAAM;;8CACtB,qBAACC,WAAK;oCAACC,OAAM;oCAASC,OAAO;8CAAG;;gCAG/B,CAAC,CAAC5B,+BACC,qBAAC6B,aAAO;oCAACC,OAAO9B;oCAAeqB,UAAS;oCAAQL,KAAK;8CACjD,cAAA,qBAACe,8BAAY;wCAACC,QAAQ;wCAAI7B,WAAWQ,QAAQsB,QAAQ;;;;;sCAIjE,qBAACC,UAAI;4BAACC,WAAW;4BAAGR,OAAM;sCACrB1B;;sCAEL,sBAACkB,WAAK;4BAACJ,SAAQ;4BAAKU,MAAM;;8CACtB,qBAACW,iBAAW;oCAACT,OAAOpB,MAAM8B,MAAM,CAACC,IAAI,CAAC,EAAE;;8CACxC,qBAACF,iBAAW;oCAACT,OAAOpB,MAAM8B,MAAM,CAACC,IAAI,CAAC,EAAE;;8CACxC,qBAACF,iBAAW;oCAACT,OAAOpB,MAAM8B,MAAM,CAACC,IAAI,CAAC,EAAE;;;;;;;0BAIpD,qBAACC,UAAI;gBAACpC,WAAWQ,QAAQ6B,OAAO;gBAAEC,GAAE;gBAAKC,WAAU;0BAC9C3C;;;;AAIjB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
declare const _default: (params: void, options?: import("@mantine/core").UseStylesOptions<string>) => {
|
|
2
|
+
classes: {
|
|
3
|
+
root: string;
|
|
4
|
+
header: string;
|
|
5
|
+
content: string;
|
|
6
|
+
infoIcon: string;
|
|
7
|
+
};
|
|
8
|
+
cx: (...args: any) => string;
|
|
9
|
+
theme: import("@mantine/core").MantineTheme;
|
|
10
|
+
};
|
|
11
|
+
export default _default;
|
|
12
|
+
//# sourceMappingURL=BrowserPreview.styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BrowserPreview.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/browser-preview/BrowserPreview.styles.ts"],"names":[],"mappings":";;;;;;;;;;AAEA,wBAWI"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return _default;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _core = require("@mantine/core");
|
|
12
|
+
var _default = (0, _core.createStyles)(function(theme) {
|
|
13
|
+
return {
|
|
14
|
+
root: {
|
|
15
|
+
boxShadow: theme.shadows.md,
|
|
16
|
+
borderRadius: theme.defaultRadius,
|
|
17
|
+
border: "1px solid",
|
|
18
|
+
borderColor: theme.colors.gray[3],
|
|
19
|
+
flex: 1
|
|
20
|
+
},
|
|
21
|
+
header: {
|
|
22
|
+
boxShadow: theme.shadows.xs,
|
|
23
|
+
borderRadius: "".concat(theme.defaultRadius, "px ").concat(theme.defaultRadius, "px 0 0")
|
|
24
|
+
},
|
|
25
|
+
content: {
|
|
26
|
+
overflow: "auto",
|
|
27
|
+
flexGrow: 1
|
|
28
|
+
},
|
|
29
|
+
infoIcon: {
|
|
30
|
+
color: theme.colors.gray[5]
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=BrowserPreview.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/browser-preview/BrowserPreview.styles.ts"],"sourcesContent":["import {createStyles} from '@mantine/core';\n\nexport default createStyles((theme) => ({\n root: {\n boxShadow: theme.shadows.md,\n borderRadius: theme.defaultRadius,\n border: '1px solid',\n borderColor: theme.colors.gray[3],\n flex: 1,\n },\n header: {boxShadow: theme.shadows.xs, borderRadius: `${theme.defaultRadius}px ${theme.defaultRadius}px 0 0`},\n content: {overflow: 'auto', flexGrow: 1},\n infoIcon: {color: theme.colors.gray[5]},\n}));\n"],"names":["createStyles","theme","root","boxShadow","shadows","md","borderRadius","defaultRadius","border","borderColor","colors","gray","flex","header","xs","content","overflow","flexGrow","infoIcon","color"],"mappings":";;;;+BAEA;;;eAAA;;;oBAF2B;IAE3B,WAAeA,IAAAA,kBAAY,EAAC,SAACC;WAAW;QACpCC,MAAM;YACFC,WAAWF,MAAMG,OAAO,CAACC,EAAE;YAC3BC,cAAcL,MAAMM,aAAa;YACjCC,QAAQ;YACRC,aAAaR,MAAMS,MAAM,CAACC,IAAI,CAAC,EAAE;YACjCC,MAAM;QACV;QACAC,QAAQ;YAACV,WAAWF,MAAMG,OAAO,CAACU,EAAE;YAAER,cAAc,AAAC,GAA2BL,OAAzBA,MAAMM,aAAa,EAAC,OAAyB,OAApBN,MAAMM,aAAa,EAAC;QAAO;QAC3GQ,SAAS;YAACC,UAAU;YAAQC,UAAU;QAAC;QACvCC,UAAU;YAACC,OAAOlB,MAAMS,MAAM,CAACC,IAAI,CAAC,EAAE;QAAA;IAC1C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/browser-preview/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/browser-preview/index.ts"],"sourcesContent":["export * from './BrowserPreview';\n"],"names":[],"mappings":";;;;;uBAAc"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { DefaultProps, InputWrapperBaseProps, Selectors } from '@mantine/core';
|
|
2
2
|
import { FunctionComponent } from 'react';
|
|
3
|
-
declare const useStyles: (params:
|
|
3
|
+
declare const useStyles: (params: {
|
|
4
|
+
error?: boolean;
|
|
5
|
+
}, options?: import("@mantine/core").UseStylesOptions<string>) => {
|
|
4
6
|
classes: {
|
|
5
7
|
root: string;
|
|
6
8
|
editor: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeEditor.d.ts","sourceRoot":"","sources":["../../../../src/components/code-editor/CodeEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIH,YAAY,EAGZ,qBAAqB,EAGrB,SAAS,EAIZ,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"CodeEditor.d.ts","sourceRoot":"","sources":["../../../../src/components/code-editor/CodeEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIH,YAAY,EAGZ,qBAAqB,EAGrB,SAAS,EAIZ,MAAM,eAAe,CAAC;AAIvB,OAAO,EAAC,iBAAiB,EAA8B,MAAM,OAAO,CAAC;AAOrE,QAAA,MAAM,SAAS;YAA0C,OAAO;;;;;;;;CAW7D,CAAC;AAEJ,UAAU,eACN,SAAQ,IAAI,CAAC,qBAAqB,EAAE,gBAAgB,GAAG,mBAAmB,CAAC,EACvE,YAAY,CAAC,SAAS,CAAC,OAAO,SAAS,CAAC,CAAC;IAC7C;;;;OAIG;IACH,QAAQ,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,UAAU,GAAG,QAAQ,GAAG,KAAK,CAAC;IAChE,2CAA2C;IAC3C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,QAAQ,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,kDAAkD;IAClD,QAAQ,CAAC,IAAI,IAAI,CAAC;IAClB,+CAA+C;IAC/C,MAAM,CAAC,IAAI,IAAI,CAAC;IAChB,qDAAqD;IACrD,OAAO,CAAC,IAAI,IAAI,CAAC;IACjB;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC;CAClC;AASD,eAAO,MAAM,UAAU,EAAE,iBAAiB,CAAC,eAAe,CAoJzD,CAAC"}
|
|
@@ -24,14 +24,18 @@ var _hooks1 = require("../../hooks");
|
|
|
24
24
|
var _xml = require("./languages/xml");
|
|
25
25
|
var _copyToClipboard = require("../copyToClipboard");
|
|
26
26
|
var _search = require("./search");
|
|
27
|
-
var useStyles = (0, _core.createStyles)(function(theme) {
|
|
27
|
+
var useStyles = (0, _core.createStyles)(function(theme, param) {
|
|
28
|
+
var error = param.error;
|
|
28
29
|
return {
|
|
29
30
|
root: {},
|
|
30
31
|
editor: {
|
|
31
32
|
border: "1px solid ".concat(theme.colors.gray[2]),
|
|
32
33
|
borderRadius: theme.defaultRadius,
|
|
33
34
|
backgroundColor: theme.colorScheme === "light" ? theme.white : theme.black,
|
|
34
|
-
height: "100%"
|
|
35
|
+
height: "100%",
|
|
36
|
+
outlineColor: error ? theme.colors.red[6] : null,
|
|
37
|
+
outlineStyle: error ? "solid" : "none",
|
|
38
|
+
outlineWidth: "thin"
|
|
35
39
|
}
|
|
36
40
|
};
|
|
37
41
|
});
|
|
@@ -63,7 +67,10 @@ var CodeEditor = function(props) {
|
|
|
63
67
|
"monacoLoader"
|
|
64
68
|
]);
|
|
65
69
|
var _useState = _sliced_to_array._((0, _react1.useState)(false), 2), loaded = _useState[0], setLoaded = _useState[1];
|
|
66
|
-
var
|
|
70
|
+
var _useState1 = _sliced_to_array._((0, _react1.useState)(false), 2), containsError = _useState1[0], setContainsError = _useState1[1];
|
|
71
|
+
var _useStyles = useStyles({
|
|
72
|
+
error: containsError
|
|
73
|
+
}), classes = _useStyles.classes, theme = _useStyles.theme;
|
|
67
74
|
var _useUncontrolled = _sliced_to_array._((0, _hooks.useUncontrolled)({
|
|
68
75
|
value: value,
|
|
69
76
|
defaultValue: defaultValue,
|
|
@@ -120,6 +127,11 @@ var CodeEditor = function(props) {
|
|
|
120
127
|
setLoaded(true);
|
|
121
128
|
}
|
|
122
129
|
}, []);
|
|
130
|
+
var handleValidate = function(markers) {
|
|
131
|
+
setContainsError(markers.some(function(marker) {
|
|
132
|
+
return marker.severity === _react.loader.__getMonacoInstance().MarkerSeverity.Error;
|
|
133
|
+
}));
|
|
134
|
+
};
|
|
123
135
|
var _label = label ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Input.Label, _object_spread_props._(_object_spread._({
|
|
124
136
|
required: required
|
|
125
137
|
}, labelProps), {
|
|
@@ -162,6 +174,7 @@ var CodeEditor = function(props) {
|
|
|
162
174
|
pl: "xs",
|
|
163
175
|
className: classes.editor,
|
|
164
176
|
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_react.default, {
|
|
177
|
+
onValidate: handleValidate,
|
|
165
178
|
defaultLanguage: language,
|
|
166
179
|
theme: theme.colorScheme === "light" ? "light" : "vs-dark",
|
|
167
180
|
options: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/code-editor/CodeEditor.tsx"],"sourcesContent":["import {\n Box,\n Center,\n createStyles,\n DefaultProps,\n Group,\n Input,\n InputWrapperBaseProps,\n Loader,\n px,\n Selectors,\n Space,\n Stack,\n useComponentDefaultProps,\n} from '@mantine/core';\nimport {useUncontrolled} from '@mantine/hooks';\nimport Editor, {loader, Monaco} from '@monaco-editor/react';\nimport {FunctionComponent, useEffect, useState, useRef} from 'react';\n\nimport {useParentHeight} from '../../hooks';\nimport {XML} from './languages/xml';\nimport {CopyToClipboard} from '../copyToClipboard';\nimport {Search} from './search';\n\nconst useStyles = createStyles((theme) => ({\n root: {},\n editor: {\n border: `1px solid ${theme.colors.gray[2]}`,\n borderRadius: theme.defaultRadius,\n backgroundColor: theme.colorScheme === 'light' ? theme.white : theme.black,\n height: '100%',\n },\n}));\n\ninterface CodeEditorProps\n extends Omit<InputWrapperBaseProps, 'inputContainer' | 'inputWrapperOrder'>,\n DefaultProps<Selectors<typeof useStyles>> {\n /**\n * The language syntax of the editor\n *\n * @default 'plaintext'\n */\n language?: 'plaintext' | 'json' | 'markdown' | 'python' | 'xml';\n /** Default value for uncontrolled input */\n defaultValue?: string;\n /** Value for controlled input */\n value?: string;\n /** onChange value for controlled input */\n onChange?(value: string): void;\n /** Called whenever the search icon is clicked */\n onSearch?(): void;\n /** Called whenever the copy icon is clicked */\n onCopy?(): void;\n /** Called whenever the code editor gets the focus */\n onFocus?(): void;\n /**\n * The minimal height of the CodeEditor (label and description included)\n *\n * By default the CodeEditor is adjusted to fill its parent height.\n * In the case where the parent height is too short, it will use this value as minimum.\n *\n * @default 300\n */\n minHeight?: number;\n /**\n * The maximal height of the CodeEditor (label and description included)\n *\n * By default the CodeEditor is adjusted to fill its parent height.\n * In the case where the parent height would be too high for your liking, you can use this prop to set a maximum.\n */\n maxHeight?: number;\n disabled?: boolean;\n /**\n * Defines how the monaco editor files will be loaded.\n * Note that using `'local'` requires [some additional configuration](https://github.com/suren-atoyan/monaco-react#use-monaco-editor-as-an-npm-package).\n *\n * @default 'local'\n */\n monacoLoader?: 'cdn' | 'local';\n}\n\nconst defaultProps: Partial<CodeEditorProps> = {\n language: 'plaintext',\n monacoLoader: 'local',\n defaultValue: '',\n minHeight: 300,\n};\n\nexport const CodeEditor: FunctionComponent<CodeEditorProps> = (props) => {\n const {\n language,\n defaultValue,\n onChange,\n onCopy,\n onSearch,\n onFocus,\n value,\n label,\n required,\n labelProps,\n error,\n errorProps,\n description,\n descriptionProps,\n minHeight,\n maxHeight,\n disabled,\n monacoLoader,\n ...others\n } = useComponentDefaultProps('CodeEditor', defaultProps, props);\n const [loaded, setLoaded] = useState(false);\n const {classes, theme} = useStyles();\n const [_value, handleChange] = useUncontrolled<string>({\n value,\n defaultValue,\n onChange,\n finalValue: '',\n });\n const [parentHeight, ref] = useParentHeight();\n const editorRef = useRef(null);\n\n const loadLocalMonaco = async () => {\n const monacoInstance = await import('monaco-editor');\n loader.config({monaco: monacoInstance});\n setLoaded(true);\n };\n\n const registerLanguages = (monaco: Monaco) => {\n if (monaco && language === 'xml') {\n XML.register(monaco);\n }\n };\n\n const handleSearch = () => {\n if (editorRef.current) {\n editorRef.current.focus();\n editorRef.current.trigger('editor', 'actions.find', '');\n onSearch?.();\n }\n };\n\n useEffect(() => {\n if (monacoLoader === 'local') {\n loadLocalMonaco();\n } else {\n setLoaded(true);\n }\n }, []);\n\n const _label = label ? (\n <Input.Label required={required} {...labelProps}>\n {label}\n </Input.Label>\n ) : null;\n\n const _description = description ? (\n <Input.Description {...descriptionProps}>{description}</Input.Description>\n ) : null;\n\n const _error = error ? (\n <Input.Error mt=\"xs\" {...errorProps}>\n {error}\n </Input.Error>\n ) : (\n <Space h=\"xs\" />\n );\n\n const _header =\n _label || _description ? (\n <Box>\n {_label}\n {_description}\n </Box>\n ) : null;\n\n const _buttons = (\n <Group position=\"right\" spacing={0}>\n <Search handleSearch={handleSearch} />\n <CopyToClipboard value={_value} onCopy={() => onCopy?.()} />\n </Group>\n );\n\n const _editor = loaded ? (\n <Box p=\"md\" pl=\"xs\" className={classes.editor}>\n <Editor\n defaultLanguage={language}\n theme={theme.colorScheme === 'light' ? 'light' : 'vs-dark'}\n options={{\n minimap: {enabled: false},\n wordWrap: 'on',\n scrollBeyondLastLine: false,\n formatOnPaste: true,\n fontSize: px(theme.fontSizes.xs),\n readOnly: disabled,\n tabSize: 2,\n }}\n value={_value}\n onChange={handleChange}\n onMount={(editor, monaco) => {\n editorRef.current = editor;\n registerLanguages(monaco);\n editor.onDidFocusEditorText(() => onFocus?.());\n editor.onDidBlurEditorText(async () => {\n await editor.getAction('editor.action.formatDocument').run();\n });\n }}\n />\n </Box>\n ) : (\n <Center className={classes.editor}>\n <Loader />\n </Center>\n );\n\n return (\n <Stack\n justify=\"flex-start\"\n className={classes.root}\n spacing={0}\n sx={{height: Math.max(parentHeight, minHeight), maxHeight}}\n ref={ref}\n {...others}\n >\n {_header}\n {_buttons}\n {_editor}\n {_error}\n </Stack>\n );\n};\n"],"names":["CodeEditor","useStyles","createStyles","theme","root","editor","border","colors","gray","borderRadius","defaultRadius","backgroundColor","colorScheme","white","black","height","defaultProps","language","monacoLoader","defaultValue","minHeight","props","useComponentDefaultProps","onChange","onCopy","onSearch","onFocus","value","label","required","labelProps","error","errorProps","description","descriptionProps","maxHeight","disabled","others","useState","loaded","setLoaded","classes","useUncontrolled","finalValue","_value","handleChange","useParentHeight","parentHeight","ref","editorRef","useRef","loadLocalMonaco","monacoInstance","loader","config","monaco","registerLanguages","XML","register","handleSearch","current","focus","trigger","useEffect","_label","Input","Label","_description","Description","_error","Error","mt","Space","h","_header","Box","_buttons","Group","position","spacing","Search","CopyToClipboard","_editor","p","pl","className","Editor","defaultLanguage","options","minimap","enabled","wordWrap","scrollBeyondLastLine","formatOnPaste","fontSize","px","fontSizes","xs","readOnly","tabSize","onMount","onDidFocusEditorText","onDidBlurEditorText","getAction","run","Center","Loader","Stack","justify","sx","Math","max"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/code-editor/CodeEditor.tsx"],"sourcesContent":["import {\n Box,\n Center,\n createStyles,\n DefaultProps,\n Group,\n Input,\n InputWrapperBaseProps,\n Loader,\n px,\n Selectors,\n Space,\n Stack,\n useComponentDefaultProps,\n} from '@mantine/core';\nimport {useUncontrolled} from '@mantine/hooks';\nimport {editor as monacoEditor} from 'monaco-editor';\nimport Editor, {loader, Monaco} from '@monaco-editor/react';\nimport {FunctionComponent, useEffect, useRef, useState} from 'react';\n\nimport {useParentHeight} from '../../hooks';\nimport {XML} from './languages/xml';\nimport {CopyToClipboard} from '../copyToClipboard';\nimport {Search} from './search';\n\nconst useStyles = createStyles((theme, {error}: {error?: boolean}) => ({\n root: {},\n editor: {\n border: `1px solid ${theme.colors.gray[2]}`,\n borderRadius: theme.defaultRadius,\n backgroundColor: theme.colorScheme === 'light' ? theme.white : theme.black,\n height: '100%',\n outlineColor: error ? theme.colors.red[6] : null,\n outlineStyle: error ? 'solid' : 'none',\n outlineWidth: 'thin',\n },\n}));\n\ninterface CodeEditorProps\n extends Omit<InputWrapperBaseProps, 'inputContainer' | 'inputWrapperOrder'>,\n DefaultProps<Selectors<typeof useStyles>> {\n /**\n * The language syntax of the editor\n *\n * @default 'plaintext'\n */\n language?: 'plaintext' | 'json' | 'markdown' | 'python' | 'xml';\n /** Default value for uncontrolled input */\n defaultValue?: string;\n /** Value for controlled input */\n value?: string;\n /** onChange value for controlled input */\n onChange?(value: string): void;\n /** Called whenever the search icon is clicked */\n onSearch?(): void;\n /** Called whenever the copy icon is clicked */\n onCopy?(): void;\n /** Called whenever the code editor gets the focus */\n onFocus?(): void;\n /**\n * The minimal height of the CodeEditor (label and description included)\n *\n * By default the CodeEditor is adjusted to fill its parent height.\n * In the case where the parent height is too short, it will use this value as minimum.\n *\n * @default 300\n */\n minHeight?: number;\n /**\n * The maximal height of the CodeEditor (label and description included)\n *\n * By default the CodeEditor is adjusted to fill its parent height.\n * In the case where the parent height would be too high for your liking, you can use this prop to set a maximum.\n */\n maxHeight?: number;\n disabled?: boolean;\n /**\n * Defines how the monaco editor files will be loaded.\n * Note that using `'local'` requires [some additional configuration](https://github.com/suren-atoyan/monaco-react#use-monaco-editor-as-an-npm-package).\n *\n * @default 'local'\n */\n monacoLoader?: 'cdn' | 'local';\n}\n\nconst defaultProps: Partial<CodeEditorProps> = {\n language: 'plaintext',\n monacoLoader: 'local',\n defaultValue: '',\n minHeight: 300,\n};\n\nexport const CodeEditor: FunctionComponent<CodeEditorProps> = (props) => {\n const {\n language,\n defaultValue,\n onChange,\n onCopy,\n onSearch,\n onFocus,\n value,\n label,\n required,\n labelProps,\n error,\n errorProps,\n description,\n descriptionProps,\n minHeight,\n maxHeight,\n disabled,\n monacoLoader,\n ...others\n } = useComponentDefaultProps('CodeEditor', defaultProps, props);\n const [loaded, setLoaded] = useState(false);\n const [containsError, setContainsError] = useState(false);\n const {classes, theme} = useStyles({error: containsError});\n const [_value, handleChange] = useUncontrolled<string>({\n value,\n defaultValue,\n onChange,\n finalValue: '',\n });\n const [parentHeight, ref] = useParentHeight();\n const editorRef = useRef(null);\n const loadLocalMonaco = async () => {\n const monacoInstance = await import('monaco-editor');\n loader.config({monaco: monacoInstance});\n setLoaded(true);\n };\n\n const registerLanguages = (monaco: Monaco) => {\n if (monaco && language === 'xml') {\n XML.register(monaco);\n }\n };\n\n const handleSearch = () => {\n if (editorRef.current) {\n editorRef.current.focus();\n editorRef.current.trigger('editor', 'actions.find', '');\n onSearch?.();\n }\n };\n\n useEffect(() => {\n if (monacoLoader === 'local') {\n loadLocalMonaco();\n } else {\n setLoaded(true);\n }\n }, []);\n\n const handleValidate = (markers: monacoEditor.IMarker[]) => {\n setContainsError(\n markers.some((marker) => marker.severity === loader.__getMonacoInstance().MarkerSeverity.Error),\n );\n };\n\n const _label = label ? (\n <Input.Label required={required} {...labelProps}>\n {label}\n </Input.Label>\n ) : null;\n\n const _description = description ? (\n <Input.Description {...descriptionProps}>{description}</Input.Description>\n ) : null;\n\n const _error = error ? (\n <Input.Error mt=\"xs\" {...errorProps}>\n {error}\n </Input.Error>\n ) : (\n <Space h=\"xs\" />\n );\n\n const _header =\n _label || _description ? (\n <Box>\n {_label}\n {_description}\n </Box>\n ) : null;\n\n const _buttons = (\n <Group position=\"right\" spacing={0}>\n <Search handleSearch={handleSearch} />\n <CopyToClipboard value={_value} onCopy={() => onCopy?.()} />\n </Group>\n );\n\n const _editor = loaded ? (\n <Box p=\"md\" pl=\"xs\" className={classes.editor}>\n <Editor\n onValidate={handleValidate}\n defaultLanguage={language}\n theme={theme.colorScheme === 'light' ? 'light' : 'vs-dark'}\n options={{\n minimap: {enabled: false},\n wordWrap: 'on',\n scrollBeyondLastLine: false,\n formatOnPaste: true,\n fontSize: px(theme.fontSizes.xs),\n readOnly: disabled,\n tabSize: 2,\n }}\n value={_value}\n onChange={handleChange}\n onMount={(editor, monaco) => {\n editorRef.current = editor;\n registerLanguages(monaco);\n editor.onDidFocusEditorText(() => onFocus?.());\n editor.onDidBlurEditorText(async () => {\n await editor.getAction('editor.action.formatDocument').run();\n });\n }}\n />\n </Box>\n ) : (\n <Center className={classes.editor}>\n <Loader />\n </Center>\n );\n\n return (\n <Stack\n justify=\"flex-start\"\n className={classes.root}\n spacing={0}\n sx={{height: Math.max(parentHeight, minHeight), maxHeight}}\n ref={ref}\n {...others}\n >\n {_header}\n {_buttons}\n {_editor}\n {_error}\n </Stack>\n );\n};\n"],"names":["CodeEditor","useStyles","createStyles","theme","error","root","editor","border","colors","gray","borderRadius","defaultRadius","backgroundColor","colorScheme","white","black","height","outlineColor","red","outlineStyle","outlineWidth","defaultProps","language","monacoLoader","defaultValue","minHeight","props","useComponentDefaultProps","onChange","onCopy","onSearch","onFocus","value","label","required","labelProps","errorProps","description","descriptionProps","maxHeight","disabled","others","useState","loaded","setLoaded","containsError","setContainsError","classes","useUncontrolled","finalValue","_value","handleChange","useParentHeight","parentHeight","ref","editorRef","useRef","loadLocalMonaco","monacoInstance","loader","config","monaco","registerLanguages","XML","register","handleSearch","current","focus","trigger","useEffect","handleValidate","markers","some","marker","severity","__getMonacoInstance","MarkerSeverity","Error","_label","Input","Label","_description","Description","_error","mt","Space","h","_header","Box","_buttons","Group","position","spacing","Search","CopyToClipboard","_editor","p","pl","className","Editor","onValidate","defaultLanguage","options","minimap","enabled","wordWrap","scrollBeyondLastLine","formatOnPaste","fontSize","px","fontSizes","xs","readOnly","tabSize","onMount","onDidFocusEditorText","onDidBlurEditorText","getAction","run","Center","Loader","Stack","justify","sx","Math","max"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,mBAAmB,CAAC"}
|
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
});
|
|
5
5
|
var _export_star = require("@swc/helpers/_/_export_star");
|
|
6
6
|
_export_star._(require("./blank-slate"), exports);
|
|
7
|
+
_export_star._(require("./browser-preview"), exports);
|
|
7
8
|
_export_star._(require("./code-editor"), exports);
|
|
8
9
|
_export_star._(require("./collection"), exports);
|
|
9
10
|
_export_star._(require("./date-range-picker"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/index.ts"],"sourcesContent":["export * from './blank-slate';\nexport * from './code-editor';\nexport * from './collection';\nexport * from './date-range-picker';\nexport * from './sticky-footer';\nexport * from './header';\nexport * from './inline-confirm';\nexport * from './table';\nexport * from './prompt';\nexport * from './modal-wizard';\nexport * from './button';\nexport * from './action-icon';\nexport * from './menu';\nexport * from './copyToClipboard';\n"],"names":[],"mappings":";;;;;uBAAc;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/index.ts"],"sourcesContent":["export * from './blank-slate';\nexport * from './browser-preview';\nexport * from './code-editor';\nexport * from './collection';\nexport * from './date-range-picker';\nexport * from './sticky-footer';\nexport * from './header';\nexport * from './inline-confirm';\nexport * from './table';\nexport * from './prompt';\nexport * from './modal-wizard';\nexport * from './button';\nexport * from './action-icon';\nexport * from './menu';\nexport * from './copyToClipboard';\n"],"names":[],"mappings":";;;;;uBAAc;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/inline-confirm/InlineConfirmPrompt.tsx"],"sourcesContent":["import {Group} from '@mantine/core';\nimport {FunctionComponent, ReactNode, useEffect} from 'react';\n\nimport {Button} from '../button';\nimport {useInlineConfirm} from './useInlineConfirm';\n\ninterface InlineConfirmPromptProps {\n id: string;\n label: ReactNode;\n onConfirm: () => void;\n confirmLabel?: ReactNode;\n cancelLabel?: ReactNode;\n}\n\nexport const InlineConfirmPrompt: FunctionComponent<InlineConfirmPromptProps> = ({\n id,\n label,\n confirmLabel = 'Delete',\n cancelLabel = 'Cancel',\n onConfirm,\n}) => {\n const {confirmingId, clearConfirm} = useInlineConfirm();\n\n const onClickConfirm = () => {\n onConfirm();\n clearConfirm();\n };\n\n useEffect(() => {\n if (confirmingId !== id) {\n clearConfirm();\n }\n }, []);\n\n if (confirmingId === id) {\n return (\n <Group spacing=\"xs\">\n {label}\n <Button onClick={onClickConfirm} color=\"red\">\n {confirmLabel}\n </Button>\n <Button onClick={clearConfirm} variant=\"outline\">\n {cancelLabel}\n </Button>\n </Group>\n );\n }\n return null;\n};\n"],"names":["InlineConfirmPrompt","id","label","confirmLabel","cancelLabel","onConfirm","useInlineConfirm","confirmingId","clearConfirm","onClickConfirm","useEffect","Group","spacing","Button","onClick","color","variant"],"mappings":";;;;+BAcaA;;;eAAAA;;;;oBAdO;qBACkC;sBAEjC;gCACU;AAUxB,IAAMA,sBAAmE;QAC5EC,WAAAA,IACAC,cAAAA,mCACAC,cAAAA,gDAAe,2DACfC,aAAAA,8CAAc,+BACdC,kBAAAA;IAEA,IAAqCC,qBAAAA,IAAAA,kCAAgB,KAA9CC,eAA8BD,mBAA9BC,cAAcC,eAAgBF,mBAAhBE;IAErB,IAAMC,iBAAiB;QACnBJ;QACAG;IACJ;IAEAE,IAAAA,gBAAS,EAAC;QACN,IAAIH,iBAAiBN,IAAI;YACrBO;QACJ;IACJ,GAAG,EAAE;IAEL,IAAID,iBAAiBN,IAAI;QACrB,qBACI,sBAACU,WAAK;YAACC,SAAQ;;
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/inline-confirm/InlineConfirmPrompt.tsx"],"sourcesContent":["import {Group} from '@mantine/core';\nimport {FunctionComponent, ReactNode, useEffect} from 'react';\n\nimport {Button} from '../button';\nimport {useInlineConfirm} from './useInlineConfirm';\n\ninterface InlineConfirmPromptProps {\n id: string;\n label: ReactNode;\n onConfirm: () => void;\n confirmLabel?: ReactNode;\n cancelLabel?: ReactNode;\n}\n\nexport const InlineConfirmPrompt: FunctionComponent<InlineConfirmPromptProps> = ({\n id,\n label,\n confirmLabel = 'Delete',\n cancelLabel = 'Cancel',\n onConfirm,\n}) => {\n const {confirmingId, clearConfirm} = useInlineConfirm();\n\n const onClickConfirm = () => {\n onConfirm();\n clearConfirm();\n };\n\n useEffect(() => {\n if (confirmingId !== id) {\n clearConfirm();\n }\n }, []);\n\n if (confirmingId === id) {\n return (\n <Group spacing=\"xs\" noWrap>\n {label}\n <Button onClick={onClickConfirm} color=\"red\">\n {confirmLabel}\n </Button>\n <Button onClick={clearConfirm} variant=\"outline\">\n {cancelLabel}\n </Button>\n </Group>\n );\n }\n return null;\n};\n"],"names":["InlineConfirmPrompt","id","label","confirmLabel","cancelLabel","onConfirm","useInlineConfirm","confirmingId","clearConfirm","onClickConfirm","useEffect","Group","spacing","noWrap","Button","onClick","color","variant"],"mappings":";;;;+BAcaA;;;eAAAA;;;;oBAdO;qBACkC;sBAEjC;gCACU;AAUxB,IAAMA,sBAAmE;QAC5EC,WAAAA,IACAC,cAAAA,mCACAC,cAAAA,gDAAe,2DACfC,aAAAA,8CAAc,+BACdC,kBAAAA;IAEA,IAAqCC,qBAAAA,IAAAA,kCAAgB,KAA9CC,eAA8BD,mBAA9BC,cAAcC,eAAgBF,mBAAhBE;IAErB,IAAMC,iBAAiB;QACnBJ;QACAG;IACJ;IAEAE,IAAAA,gBAAS,EAAC;QACN,IAAIH,iBAAiBN,IAAI;YACrBO;QACJ;IACJ,GAAG,EAAE;IAEL,IAAID,iBAAiBN,IAAI;QACrB,qBACI,sBAACU,WAAK;YAACC,SAAQ;YAAKC,MAAM;;gBACrBX;8BACD,qBAACY,cAAM;oBAACC,SAASN;oBAAgBO,OAAM;8BAClCb;;8BAEL,qBAACW,cAAM;oBAACC,SAASP;oBAAcS,SAAQ;8BAClCb;;;;IAIjB;IACA,OAAO;AACX"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../../src/components/table/Table.tsx"],"names":[],"mappings":"AAiBA,OAAO,EAAwC,SAAS,EAAC,MAAM,eAAe,CAAC;AAiB/E,eAAO,MAAM,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../../src/components/table/Table.tsx"],"names":[],"mappings":"AAiBA,OAAO,EAAwC,SAAS,EAAC,MAAM,eAAe,CAAC;AAiB/E,eAAO,MAAM,KAAK,EAAE,SAuLnB,CAAC"}
|
|
@@ -42,7 +42,7 @@ var _TablePredicate = require("./table-predicate/TablePredicate");
|
|
|
42
42
|
var Table = function(param) {
|
|
43
43
|
var data = param.data, getRowId = param.getRowId, noDataChildren = param.noDataChildren, getExpandChildren = param.getExpandChildren, _param_initialState = param.initialState, initialState = _param_initialState === void 0 ? {} : _param_initialState, columns = param.columns, _param_layouts = param.layouts, layouts = _param_layouts === void 0 ? [
|
|
44
44
|
_TableLayouts.TableLayouts.Rows
|
|
45
|
-
] : _param_layouts, onMount = param.onMount, onChange = param.onChange, children = param.children, _param_loading = param.loading, loading = _param_loading === void 0 ? false : _param_loading, doubleClickAction = param.doubleClickAction, multiRowSelectionEnabled = param.multiRowSelectionEnabled, disableRowSelection = param.disableRowSelection, onRowSelectionChange = param.onRowSelectionChange, additionalRootNodes = param.additionalRootNodes, _param_options = param.options, options = _param_options === void 0 ? {} : _param_options;
|
|
45
|
+
] : _param_layouts, onMount = param.onMount, onChange = param.onChange, children = param.children, _param_loading = param.loading, loading = _param_loading === void 0 ? false : _param_loading, doubleClickAction = param.doubleClickAction, multiRowSelectionEnabled = param.multiRowSelectionEnabled, disableRowSelection = param.disableRowSelection, onRowSelectionChange = param.onRowSelectionChange, additionalRootNodes = param.additionalRootNodes, classNames = param.classNames, styles = param.styles, unstyled = param.unstyled, _param_options = param.options, options = _param_options === void 0 ? {} : _param_options;
|
|
46
46
|
var _initialState, _initialState1, _initialState2, _options, _form_values, _form_values_dateRange, _form_values_dateRange1;
|
|
47
47
|
var convertedChildren = _react.Children.toArray(children);
|
|
48
48
|
var header = convertedChildren.find(function(child) {
|
|
@@ -72,7 +72,12 @@ var Table = function(param) {
|
|
|
72
72
|
layout: (_initialState_layout = (_initialState2 = initialState) === null || _initialState2 === void 0 ? void 0 : _initialState2.layout) !== null && _initialState_layout !== void 0 ? _initialState_layout : layouts[0].name
|
|
73
73
|
}
|
|
74
74
|
});
|
|
75
|
-
var classes = (0, _Tablestyles.default)(
|
|
75
|
+
var classes = (0, _Tablestyles.default)(null, {
|
|
76
|
+
name: "PlasmaTable",
|
|
77
|
+
classNames: classNames,
|
|
78
|
+
styles: styles,
|
|
79
|
+
unstyled: unstyled
|
|
80
|
+
}).classes;
|
|
76
81
|
var _ref;
|
|
77
82
|
var table = (0, _reacttable.useReactTable)(_object_spread._({
|
|
78
83
|
initialState: (0, _lodashdefaultsdeep.default)(initialStateWithoutForm, {
|
|
@@ -211,6 +216,7 @@ var Table = function(param) {
|
|
|
211
216
|
]
|
|
212
217
|
}),
|
|
213
218
|
/*#__PURE__*/ (0, _jsxruntime.jsx)("tbody", {
|
|
219
|
+
className: classes.body,
|
|
214
220
|
children: hasRows ? /*#__PURE__*/ (0, _jsxruntime.jsx)(Layout.Body, {
|
|
215
221
|
table: table,
|
|
216
222
|
doubleClickAction: doubleClickAction,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/table/Table.tsx"],"sourcesContent":["import {Box, Center, Loader} from '@mantine/core';\nimport {useForm} from '@mantine/form';\nimport {useDidUpdate} from '@mantine/hooks';\nimport {\n ColumnDef,\n Row,\n TableState as TanstackTableState,\n defaultColumnSizing,\n getCoreRowModel,\n useReactTable,\n} from '@tanstack/react-table';\nimport debounce from 'lodash.debounce';\nimport defaultsDeep from 'lodash.defaultsdeep';\nimport {Children, Dispatch, ReactElement, cloneElement, useCallback, useEffect, useState} from 'react';\n\nimport {useRowSelection} from '../../hooks/useRowSelection';\nimport useStyles from './Table.styles';\nimport {TableFormType, TableProps, TableState, TableType} from './Table.types';\nimport {TableContext} from './TableContext';\nimport {TableLayouts} from './layouts/TableLayouts';\nimport {TableActions} from './table-actions/TableActions';\nimport {TableAccordionColumn, TableCollapsibleColumn} from './table-column/TableCollapsibleColumn';\nimport {TableSelectableColumn} from './table-column/TableSelectableColumn';\nimport {TableConsumer} from './table-consumer/TableConsumer';\nimport {TableDateRangePicker} from './table-date-range-picker/TableDateRangePicker';\nimport {TableFilter} from './table-filter/TableFilter';\nimport {TableFooter} from './table-footer/TableFooter';\nimport {TableHeader} from './table-header/TableHeader';\nimport {TableLastUpdated} from './table-last-updated/TableLastUpdated';\nimport {TableLoading} from './table-loading/TableLoading';\nimport {TablePagination} from './table-pagination/TablePagination';\nimport {TablePerPage} from './table-per-page/TablePerPage';\nimport {TablePredicate} from './table-predicate/TablePredicate';\n\nexport const Table: TableType = <T,>({\n data,\n getRowId,\n noDataChildren,\n getExpandChildren,\n initialState = {},\n columns,\n layouts = [TableLayouts.Rows],\n onMount,\n onChange,\n children,\n loading = false,\n doubleClickAction,\n multiRowSelectionEnabled,\n disableRowSelection,\n onRowSelectionChange,\n additionalRootNodes,\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 const lastUpdated = convertedChildren.find((child) => child.type === TableLastUpdated);\n\n const {predicates, dateRange, ...initialStateWithoutForm} = initialState;\n const form = useForm<TableFormType>({\n initialValues: {\n predicates: initialState?.predicates ?? {},\n dateRange: initialState?.dateRange ?? [null, null],\n layout: initialState?.layout ?? layouts[0].name,\n },\n });\n const {classes} = useStyles();\n\n const table = useReactTable({\n initialState: defaultsDeep(initialStateWithoutForm, {\n pagination: {pageSize: TablePerPage.DEFAULT_SIZE},\n globalFilter: '',\n }),\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 defaultColumn: {\n size: undefined,\n minSize: defaultColumnSizing.minSize,\n maxSize: defaultColumnSizing.maxSize,\n },\n ...options,\n });\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 additionalRootNodes,\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 }, [\n state.globalFilter,\n state.pagination,\n state.sorting,\n JSON.stringify(form.values.dateRange),\n JSON.stringify(form.values.predicates),\n ]);\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 Layout = layouts.find(({name}) => name === form.values.layout);\n const hasRows = table.getRowModel().rows.length > 0;\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 disableRowSelection,\n layouts,\n }}\n >\n {consumer}\n {!hasRows && !isFiltered && !loading ? (\n noDataChildren\n ) : (\n <>\n <Box component=\"table\" className={classes.table} 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 <Layout.Header\n table={table}\n doubleClickAction={doubleClickAction}\n getExpandChildren={getExpandChildren}\n loading={loading}\n />\n </thead>\n <tbody>\n {hasRows ? (\n <Layout.Body\n table={table}\n doubleClickAction={doubleClickAction}\n getExpandChildren={getExpandChildren}\n loading={loading}\n />\n ) : (\n <tr>\n <td colSpan={table.getAllColumns().length}>\n <TableLoading visible={loading}>{noDataChildren}</TableLoading>\n </td>\n </tr>\n )}\n </tbody>\n </Box>\n {footer}\n {lastUpdated\n ? cloneElement(lastUpdated, {\n dependencies: [data, ...(lastUpdated.props.dependencies ?? [])],\n })\n : null}\n </>\n )}\n </TableContext.Provider>\n </Box>\n );\n};\n\nTable.Actions = TableActions;\nTable.Filter = TableFilter;\nTable.Footer = TableFooter;\nTable.Header = TableHeader;\nTable.LastUpdated = TableLastUpdated;\nTable.Pagination = TablePagination;\nTable.Predicate = TablePredicate;\nTable.PerPage = TablePerPage;\nTable.Predicate = TablePredicate;\nTable.CollapsibleColumn = TableCollapsibleColumn;\nTable.AccordionColumn = TableAccordionColumn;\nTable.DateRangePicker = TableDateRangePicker;\nTable.Consumer = TableConsumer;\nTable.Loading = TableLoading;\nTable.Layouts = TableLayouts;\n"],"names":["Table","data","getRowId","noDataChildren","getExpandChildren","initialState","columns","layouts","TableLayouts","Rows","onMount","onChange","children","loading","doubleClickAction","multiRowSelectionEnabled","disableRowSelection","onRowSelectionChange","additionalRootNodes","options","form","convertedChildren","Children","toArray","header","find","child","type","TableHeader","footer","TableFooter","consumer","TableConsumer","lastUpdated","TableLastUpdated","predicates","dateRange","initialStateWithoutForm","useForm","initialValues","layout","name","classes","useStyles","table","useReactTable","defaultsDeep","pagination","pageSize","TablePerPage","DEFAULT_SIZE","globalFilter","TableSelectableColumn","concat","getCoreRowModel","manualPagination","getPaginationRowModel","undefined","enableMultiRowSelection","getRowCanExpand","row","original","enableRowSelection","defaultColumn","size","minSize","defaultColumnSizing","maxSize","useState","state","setState","setOptions","prev","onStateChange","useRowSelection","clearSelection","getSelectedRow","getSelectedRows","outsideClickRef","isFiltered","Object","keys","values","some","predicate","triggerChange","debounce","useEffect","cancel","useDidUpdate","sorting","JSON","stringify","clearFilters","useCallback","setFieldValue","prevState","Center","sx","flexGrow","Loader","Layout","hasRows","getRowModel","rows","length","Box","ref","TableContext","Provider","value","containerRef","getPageCount","component","className","pb","thead","tr","th","style","padding","colSpan","getAllColumns","Header","tbody","Body","td","TableLoading","visible","cloneElement","dependencies","props","Actions","TableActions","Filter","TableFilter","Footer","LastUpdated","Pagination","TablePagination","Predicate","TablePredicate","PerPage","CollapsibleColumn","TableCollapsibleColumn","AccordionColumn","TableAccordionColumn","DateRangePicker","TableDateRangePicker","Consumer","Loading","Layouts"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/table/Table.tsx"],"sourcesContent":["import {Box, Center, Loader} from '@mantine/core';\nimport {useForm} from '@mantine/form';\nimport {useDidUpdate} from '@mantine/hooks';\nimport {\n ColumnDef,\n Row,\n TableState as TanstackTableState,\n defaultColumnSizing,\n getCoreRowModel,\n useReactTable,\n} from '@tanstack/react-table';\nimport debounce from 'lodash.debounce';\nimport defaultsDeep from 'lodash.defaultsdeep';\nimport {Children, Dispatch, ReactElement, cloneElement, useCallback, useEffect, useState} from 'react';\n\nimport {useRowSelection} from '../../hooks/useRowSelection';\nimport useStyles from './Table.styles';\nimport {TableFormType, TableProps, TableState, TableType} from './Table.types';\nimport {TableContext} from './TableContext';\nimport {TableLayouts} from './layouts/TableLayouts';\nimport {TableActions} from './table-actions/TableActions';\nimport {TableAccordionColumn, TableCollapsibleColumn} from './table-column/TableCollapsibleColumn';\nimport {TableSelectableColumn} from './table-column/TableSelectableColumn';\nimport {TableConsumer} from './table-consumer/TableConsumer';\nimport {TableDateRangePicker} from './table-date-range-picker/TableDateRangePicker';\nimport {TableFilter} from './table-filter/TableFilter';\nimport {TableFooter} from './table-footer/TableFooter';\nimport {TableHeader} from './table-header/TableHeader';\nimport {TableLastUpdated} from './table-last-updated/TableLastUpdated';\nimport {TableLoading} from './table-loading/TableLoading';\nimport {TablePagination} from './table-pagination/TablePagination';\nimport {TablePerPage} from './table-per-page/TablePerPage';\nimport {TablePredicate} from './table-predicate/TablePredicate';\n\nexport const Table: TableType = <T,>({\n data,\n getRowId,\n noDataChildren,\n getExpandChildren,\n initialState = {},\n columns,\n layouts = [TableLayouts.Rows],\n onMount,\n onChange,\n children,\n loading = false,\n doubleClickAction,\n multiRowSelectionEnabled,\n disableRowSelection,\n onRowSelectionChange,\n additionalRootNodes,\n classNames,\n styles,\n unstyled,\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 const lastUpdated = convertedChildren.find((child) => child.type === TableLastUpdated);\n\n const {predicates, dateRange, ...initialStateWithoutForm} = initialState;\n const form = useForm<TableFormType>({\n initialValues: {\n predicates: initialState?.predicates ?? {},\n dateRange: initialState?.dateRange ?? [null, null],\n layout: initialState?.layout ?? layouts[0].name,\n },\n });\n const {classes} = useStyles(null, {name: 'PlasmaTable', classNames, styles, unstyled});\n\n const table = useReactTable({\n initialState: defaultsDeep(initialStateWithoutForm, {\n pagination: {pageSize: TablePerPage.DEFAULT_SIZE},\n globalFilter: '',\n }),\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 defaultColumn: {\n size: undefined,\n minSize: defaultColumnSizing.minSize,\n maxSize: defaultColumnSizing.maxSize,\n },\n ...options,\n });\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 additionalRootNodes,\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 }, [\n state.globalFilter,\n state.pagination,\n state.sorting,\n JSON.stringify(form.values.dateRange),\n JSON.stringify(form.values.predicates),\n ]);\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 Layout = layouts.find(({name}) => name === form.values.layout);\n const hasRows = table.getRowModel().rows.length > 0;\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 disableRowSelection,\n layouts,\n }}\n >\n {consumer}\n {!hasRows && !isFiltered && !loading ? (\n noDataChildren\n ) : (\n <>\n <Box component=\"table\" className={classes.table} 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 <Layout.Header\n table={table}\n doubleClickAction={doubleClickAction}\n getExpandChildren={getExpandChildren}\n loading={loading}\n />\n </thead>\n <tbody className={classes.body}>\n {hasRows ? (\n <Layout.Body\n table={table}\n doubleClickAction={doubleClickAction}\n getExpandChildren={getExpandChildren}\n loading={loading}\n />\n ) : (\n <tr>\n <td colSpan={table.getAllColumns().length}>\n <TableLoading visible={loading}>{noDataChildren}</TableLoading>\n </td>\n </tr>\n )}\n </tbody>\n </Box>\n {footer}\n {lastUpdated\n ? cloneElement(lastUpdated, {\n dependencies: [data, ...(lastUpdated.props.dependencies ?? [])],\n })\n : null}\n </>\n )}\n </TableContext.Provider>\n </Box>\n );\n};\n\nTable.Actions = TableActions;\nTable.Filter = TableFilter;\nTable.Footer = TableFooter;\nTable.Header = TableHeader;\nTable.LastUpdated = TableLastUpdated;\nTable.Pagination = TablePagination;\nTable.Predicate = TablePredicate;\nTable.PerPage = TablePerPage;\nTable.Predicate = TablePredicate;\nTable.CollapsibleColumn = TableCollapsibleColumn;\nTable.AccordionColumn = TableAccordionColumn;\nTable.DateRangePicker = TableDateRangePicker;\nTable.Consumer = TableConsumer;\nTable.Loading = TableLoading;\nTable.Layouts = TableLayouts;\n"],"names":["Table","data","getRowId","noDataChildren","getExpandChildren","initialState","columns","layouts","TableLayouts","Rows","onMount","onChange","children","loading","doubleClickAction","multiRowSelectionEnabled","disableRowSelection","onRowSelectionChange","additionalRootNodes","classNames","styles","unstyled","options","form","convertedChildren","Children","toArray","header","find","child","type","TableHeader","footer","TableFooter","consumer","TableConsumer","lastUpdated","TableLastUpdated","predicates","dateRange","initialStateWithoutForm","useForm","initialValues","layout","name","classes","useStyles","table","useReactTable","defaultsDeep","pagination","pageSize","TablePerPage","DEFAULT_SIZE","globalFilter","TableSelectableColumn","concat","getCoreRowModel","manualPagination","getPaginationRowModel","undefined","enableMultiRowSelection","getRowCanExpand","row","original","enableRowSelection","defaultColumn","size","minSize","defaultColumnSizing","maxSize","useState","state","setState","setOptions","prev","onStateChange","useRowSelection","clearSelection","getSelectedRow","getSelectedRows","outsideClickRef","isFiltered","Object","keys","values","some","predicate","triggerChange","debounce","useEffect","cancel","useDidUpdate","sorting","JSON","stringify","clearFilters","useCallback","setFieldValue","prevState","Center","sx","flexGrow","Loader","Layout","hasRows","getRowModel","rows","length","Box","ref","TableContext","Provider","value","containerRef","getPageCount","component","className","pb","thead","tr","th","style","padding","colSpan","getAllColumns","Header","tbody","body","Body","td","TableLoading","visible","cloneElement","dependencies","props","Actions","TableActions","Filter","TableFilter","Footer","LastUpdated","Pagination","TablePagination","Predicate","TablePredicate","PerPage","CollapsibleColumn","TableCollapsibleColumn","AccordionColumn","TableAccordionColumn","DateRangePicker","TableDateRangePicker","Consumer","Loading","Layouts"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/table/Table.styles.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,SAAS;;;;;;
|
|
1
|
+
{"version":3,"file":"Table.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/table/Table.styles.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,SAAS;;;;;;CAuBZ,CAAC;AAEJ,eAAO,MAAM,oBAAoB;;;;;;;CAOhC,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/table/Table.styles.ts"],"sourcesContent":["import {createStyles} from '@mantine/core';\n\nconst useStyles = createStyles<string>((theme) => ({\n table: {\n width: '100%',\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\nexport const TableComponentsOrder = {\n MultiSelectInfo: 6,\n Actions: 5,\n Predicate: 4,\n Filter: 3,\n DateRangePicker: 2,\n LayoutControl: 1,\n};\n\nexport default useStyles;\n"],"names":["TableComponentsOrder","useStyles","createStyles","theme","table","width","header","position","top","backgroundColor","colorScheme","black","white","transition","zIndex","content","left","right","bottom","borderBottom","colors","gray","MultiSelectInfo","Actions","Predicate","Filter","DateRangePicker","LayoutControl"],"mappings":";;;;;;;;;;;
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/table/Table.styles.ts"],"sourcesContent":["import {createStyles} from '@mantine/core';\n\nconst useStyles = createStyles<string>((theme) => ({\n table: {\n width: '100%',\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 body: {},\n}));\n\nexport const TableComponentsOrder = {\n MultiSelectInfo: 6,\n Actions: 5,\n Predicate: 4,\n Filter: 3,\n DateRangePicker: 2,\n LayoutControl: 1,\n};\n\nexport default useStyles;\n"],"names":["TableComponentsOrder","useStyles","createStyles","theme","table","width","header","position","top","backgroundColor","colorScheme","black","white","transition","zIndex","content","left","right","bottom","borderBottom","colors","gray","body","MultiSelectInfo","Actions","Predicate","Filter","DateRangePicker","LayoutControl"],"mappings":";;;;;;;;;;;IA2BaA,oBAAoB;eAApBA;;IASb,OAAyB;eAAzB;;;oBApC2B;AAE3B,IAAMC,YAAYC,IAAAA,kBAAY,EAAS,SAACC;WAAW;QAC/CC,OAAO;YACHC,OAAO;QACX;QAEAC,QAAQ;YACJC,UAAU;YACVC,KAAK;YACLC,iBAAiBN,MAAMO,WAAW,KAAK,SAASP,MAAMQ,KAAK,GAAGR,MAAMS,KAAK;YACzEC,YAAY;YACZC,QAAQ;YAER,YAAY;gBACRC,SAAS;gBACTR,UAAU;gBACVS,MAAM;gBACNC,OAAO;gBACPC,QAAQ;gBACRC,cAAc,AAAC,aAAiC,OAArBhB,MAAMiB,MAAM,CAACC,IAAI,CAAC,EAAE;YACnD;QACJ;QAEAC,MAAM,CAAC;IACX;;AAEO,IAAMtB,uBAAuB;IAChCuB,iBAAiB;IACjBC,SAAS;IACTC,WAAW;IACXC,QAAQ;IACRC,iBAAiB;IACjBC,eAAe;AACnB;IAEA,WAAe3B"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Icon } from '@coveord/plasma-react-icons';
|
|
2
|
+
import { DefaultProps, Selectors } from '@mantine/core';
|
|
2
3
|
import { UseFormReturnType } from '@mantine/form';
|
|
3
4
|
import { ColumnDef, CoreOptions, TableOptions, InitialTableState as TanstackInitialTableState, TableState as TanstackTableState } from '@tanstack/table-core';
|
|
4
5
|
import { Dispatch, ReactElement, ReactNode, RefObject } from 'react';
|
|
@@ -17,6 +18,7 @@ import { TableLoading } from './table-loading/TableLoading';
|
|
|
17
18
|
import { TablePagination } from './table-pagination/TablePagination';
|
|
18
19
|
import { TablePerPage } from './table-per-page/TablePerPage';
|
|
19
20
|
import { TablePredicate } from './table-predicate/TablePredicate';
|
|
21
|
+
import useStyles from './Table.styles';
|
|
20
22
|
export type RowSelectionWithData<TData> = Record<string, TData>;
|
|
21
23
|
export interface RowSelectionState<TData> {
|
|
22
24
|
rowSelection: RowSelectionWithData<TData>;
|
|
@@ -127,7 +129,8 @@ export type TableContextType<TData> = {
|
|
|
127
129
|
*/
|
|
128
130
|
layouts: TableLayout[];
|
|
129
131
|
};
|
|
130
|
-
|
|
132
|
+
type TableStylesNames = Selectors<typeof useStyles>;
|
|
133
|
+
export interface TableProps<T> extends DefaultProps<TableStylesNames> {
|
|
131
134
|
/**
|
|
132
135
|
* Data to display in the table
|
|
133
136
|
*/
|
|
@@ -245,4 +248,5 @@ export interface TableType {
|
|
|
245
248
|
Loading: typeof TableLoading;
|
|
246
249
|
Layouts: typeof TableLayouts;
|
|
247
250
|
}
|
|
251
|
+
export {};
|
|
248
252
|
//# sourceMappingURL=Table.types.d.ts.map
|