@ceed/cds 0.0.126 → 0.0.127
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/dist/components/Accordions/Accordions.js +21 -15
- package/dist/components/Accordions/index.js +19 -3
- package/dist/components/Autocomplete/Autocomplete.js +75 -46
- package/dist/components/Autocomplete/index.js +19 -3
- package/dist/components/Box/Box.js +7 -4
- package/dist/components/Box/index.js +19 -3
- package/dist/components/Breadcrumbs/Breadcrumbs.js +46 -17
- package/dist/components/Breadcrumbs/index.js +19 -3
- package/dist/components/Button/Button.js +33 -7
- package/dist/components/Button/index.js +19 -3
- package/dist/components/Calendar/Calendar.js +96 -67
- package/dist/components/Calendar/hooks/use-calendar-props.js +14 -10
- package/dist/components/Calendar/hooks/use-calendar.js +32 -28
- package/dist/components/Calendar/index.js +19 -3
- package/dist/components/Calendar/types.js +2 -1
- package/dist/components/Calendar/utils/index.js +21 -9
- package/dist/components/Card/Card.js +15 -12
- package/dist/components/Card/index.js +19 -3
- package/dist/components/Checkbox/Checkbox.js +12 -6
- package/dist/components/Checkbox/index.js +19 -3
- package/dist/components/Chip/Chip.js +7 -4
- package/dist/components/Chip/index.js +19 -3
- package/dist/components/Container/Container.js +32 -6
- package/dist/components/Container/index.js +19 -3
- package/dist/components/CurrencyInput/CurrencyInput.js +51 -22
- package/dist/components/CurrencyInput/hooks/use-currency-setting.js +10 -3
- package/dist/components/CurrencyInput/index.js +19 -3
- package/dist/components/DataTable/DataTable.js +138 -109
- package/dist/components/DataTable/index.js +19 -3
- package/dist/components/DataTable/types.js +2 -1
- package/dist/components/DatePicker/DatePicker.js +76 -47
- package/dist/components/DatePicker/index.js +19 -3
- package/dist/components/DateRangePicker/DateRangePicker.js +78 -49
- package/dist/components/DateRangePicker/index.js +19 -3
- package/dist/components/DialogActions/DialogActions.js +8 -5
- package/dist/components/DialogActions/index.js +19 -3
- package/dist/components/DialogContent/DialogContent.js +8 -5
- package/dist/components/DialogContent/index.js +19 -3
- package/dist/components/DialogFrame/DialogFrame.js +18 -12
- package/dist/components/DialogFrame/index.js +19 -3
- package/dist/components/DialogTitle/DialogTitle.js +8 -5
- package/dist/components/DialogTitle/index.js +19 -3
- package/dist/components/Divider/Divider.js +12 -6
- package/dist/components/Divider/index.js +19 -3
- package/dist/components/Dropdown/Dropdown.js +7 -4
- package/dist/components/Dropdown/index.js +19 -3
- package/dist/components/FormControl/FormControl.js +10 -7
- package/dist/components/FormControl/index.js +19 -3
- package/dist/components/FormHelperText/FormHelperText.js +7 -4
- package/dist/components/FormHelperText/index.js +19 -3
- package/dist/components/FormLabel/FormLabel.js +7 -4
- package/dist/components/FormLabel/index.js +19 -3
- package/dist/components/Grid/Grid.js +7 -4
- package/dist/components/Grid/index.js +19 -3
- package/dist/components/IconButton/IconButton.js +12 -6
- package/dist/components/IconButton/index.js +19 -3
- package/dist/components/Input/Input.js +19 -13
- package/dist/components/Input/index.js +19 -3
- package/dist/components/InsetDrawer/InsetDrawer.js +12 -6
- package/dist/components/InsetDrawer/index.js +19 -3
- package/dist/components/Markdown/Markdown.js +20 -14
- package/dist/components/Markdown/index.js +19 -3
- package/dist/components/Menu/Menu.js +18 -12
- package/dist/components/Menu/index.js +19 -3
- package/dist/components/Modal/Modal.js +25 -19
- package/dist/components/Modal/index.js +19 -3
- package/dist/components/MonthPicker/MonthPicker.js +75 -46
- package/dist/components/MonthPicker/index.js +19 -3
- package/dist/components/MonthRangePicker/MonthRangePicker.js +77 -48
- package/dist/components/MonthRangePicker/index.js +19 -3
- package/dist/components/Radio/Radio.js +9 -6
- package/dist/components/Radio/index.js +19 -3
- package/dist/components/RadioList/RadioList.js +10 -4
- package/dist/components/RadioList/index.js +19 -3
- package/dist/components/Select/Select.js +43 -14
- package/dist/components/Select/index.js +19 -3
- package/dist/components/Sheet/Sheet.js +7 -4
- package/dist/components/Sheet/index.js +19 -3
- package/dist/components/Stack/Stack.js +7 -4
- package/dist/components/Stack/index.js +19 -3
- package/dist/components/Switch/Switch.js +15 -9
- package/dist/components/Switch/index.js +19 -3
- package/dist/components/Table/Table.js +24 -18
- package/dist/components/Table/index.js +19 -3
- package/dist/components/Tabs/Tabs.js +13 -10
- package/dist/components/Tabs/index.js +19 -3
- package/dist/components/Textarea/Textarea.js +18 -12
- package/dist/components/Textarea/index.js +19 -3
- package/dist/components/ThemeProvider/ThemeProvider.js +15 -9
- package/dist/components/ThemeProvider/index.js +19 -3
- package/dist/components/Tooltip/Tooltip.js +12 -6
- package/dist/components/Tooltip/index.js +19 -3
- package/dist/components/Typography/Typography.js +12 -6
- package/dist/components/Typography/index.js +19 -3
- package/dist/components/Uploader/Uploader.js +94 -69
- package/dist/components/Uploader/index.js +19 -3
- package/dist/components/index.js +108 -44
- package/dist/index.js +167 -4
- package/package.json +2 -3
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
var __assign = (this && this.__assign) || function () {
|
|
2
3
|
__assign = Object.assign || function(t) {
|
|
3
4
|
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
@@ -9,6 +10,29 @@ var __assign = (this && this.__assign) || function () {
|
|
|
9
10
|
};
|
|
10
11
|
return __assign.apply(this, arguments);
|
|
11
12
|
};
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(o, k2, desc);
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
+
}) : function(o, v) {
|
|
27
|
+
o["default"] = v;
|
|
28
|
+
});
|
|
29
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
+
if (mod && mod.__esModule) return mod;
|
|
31
|
+
var result = {};
|
|
32
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
+
__setModuleDefault(result, mod);
|
|
34
|
+
return result;
|
|
35
|
+
};
|
|
12
36
|
var __rest = (this && this.__rest) || function (s, e) {
|
|
13
37
|
var t = {};
|
|
14
38
|
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
@@ -29,34 +53,39 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
29
53
|
}
|
|
30
54
|
return to.concat(ar || Array.prototype.slice.call(from));
|
|
31
55
|
};
|
|
32
|
-
|
|
33
|
-
|
|
56
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
57
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
58
|
+
};
|
|
59
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
60
|
+
exports.DataTable = void 0;
|
|
61
|
+
var react_1 = __importStar(require("react"));
|
|
62
|
+
var joy_1 = require("@mui/joy");
|
|
34
63
|
// @ts-ignore: ESM import 해야만 프레이머에서 정상적으로 동작한다. https://github.com/mui/material-ui/issues/35233
|
|
35
|
-
|
|
64
|
+
var ChevronLeft_js_1 = __importDefault(require("@mui/icons-material/esm/ChevronLeft.js"));
|
|
36
65
|
// @ts-ignore: ESM import 해야만 프레이머에서 정상적으로 동작한다. https://github.com/mui/material-ui/issues/35233
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
66
|
+
var ChevronRight_js_1 = __importDefault(require("@mui/icons-material/esm/ChevronRight.js"));
|
|
67
|
+
var Sheet_1 = __importDefault(require("../Sheet"));
|
|
68
|
+
var Table_1 = require("../Table");
|
|
69
|
+
var Checkbox_1 = __importDefault(require("../Checkbox"));
|
|
70
|
+
var Box_1 = __importDefault(require("../Box"));
|
|
71
|
+
var Stack_1 = __importDefault(require("../Stack"));
|
|
72
|
+
var Typography_1 = __importDefault(require("../Typography"));
|
|
73
|
+
var Button_1 = __importDefault(require("../Button"));
|
|
74
|
+
var IconButton_1 = __importDefault(require("../IconButton"));
|
|
75
|
+
var CurrencyInput_1 = __importDefault(require("../CurrencyInput"));
|
|
76
|
+
var DatePicker_1 = __importDefault(require("../DatePicker"));
|
|
77
|
+
var Input_1 = __importDefault(require("../Input"));
|
|
78
|
+
var Textarea_1 = __importDefault(require("../Textarea"));
|
|
79
|
+
var Autocomplete_1 = __importDefault(require("../Autocomplete"));
|
|
80
|
+
var Select_1 = __importDefault(require("../Select"));
|
|
81
|
+
var Tooltip_1 = __importDefault(require("../Tooltip"));
|
|
53
82
|
function getTextAlign(props) {
|
|
54
83
|
return !props.editMode &&
|
|
55
84
|
["number", "date", "currency"].includes(props.type || "")
|
|
56
85
|
? "end"
|
|
57
86
|
: "start";
|
|
58
87
|
}
|
|
59
|
-
var OverlayWrapper = styled("tr", {
|
|
88
|
+
var OverlayWrapper = (0, joy_1.styled)("tr", {
|
|
60
89
|
name: "DataTable",
|
|
61
90
|
slot: "overlayWrapper",
|
|
62
91
|
})({
|
|
@@ -90,24 +119,24 @@ function TablePagination(props) {
|
|
|
90
119
|
var isMoreBeforePages = lastPage > 1 && page > 4;
|
|
91
120
|
// effects
|
|
92
121
|
// handlers
|
|
93
|
-
return (
|
|
122
|
+
return (react_1.default.createElement(Stack_1.default, { direction: "row", spacing: 1, sx: {
|
|
94
123
|
pt: 1,
|
|
95
124
|
pb: 1,
|
|
96
125
|
}, justifyContent: "end", alignItems: "center" },
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
page !== firstPage && (
|
|
101
|
-
isMoreBeforePages && (
|
|
102
|
-
beforePages.map(function (p) { return (
|
|
103
|
-
|
|
104
|
-
afterPages.map(function (p) { return (
|
|
105
|
-
isMoreAfterPages && (
|
|
106
|
-
page !== lastPage && (
|
|
107
|
-
|
|
108
|
-
|
|
126
|
+
react_1.default.createElement(Stack_1.default, { direction: "row", spacing: 0.5, alignItems: "center" },
|
|
127
|
+
react_1.default.createElement(IconButton_1.default, { size: "sm", variant: "plain", color: "neutral", onClick: function () { return onPageChange(page - 1); }, disabled: page === firstPage, "aria-label": "Previous page" },
|
|
128
|
+
react_1.default.createElement(ChevronLeft_js_1.default, null)),
|
|
129
|
+
page !== firstPage && (react_1.default.createElement(Button_1.default, { size: "sm", variant: "plain", color: "neutral", onClick: function () { return onPageChange(firstPage); } }, firstPage)),
|
|
130
|
+
isMoreBeforePages && (react_1.default.createElement(Button_1.default, { size: "sm", variant: "plain", color: "neutral", onClick: function () { return onPageChange(page - 3); } }, "...")),
|
|
131
|
+
beforePages.map(function (p) { return (react_1.default.createElement(Button_1.default, { key: p, size: "sm", variant: "plain", color: "neutral", onClick: function () { return onPageChange(p); } }, p)); }),
|
|
132
|
+
react_1.default.createElement(Button_1.default, { variant: "soft", size: "sm" }, page),
|
|
133
|
+
afterPages.map(function (p) { return (react_1.default.createElement(Button_1.default, { key: p, size: "sm", variant: "plain", color: "neutral", onClick: function () { return onPageChange(p); } }, p)); }),
|
|
134
|
+
isMoreAfterPages && (react_1.default.createElement(Button_1.default, { size: "sm", variant: "plain", color: "neutral", onClick: function () { return onPageChange(page + 3); } }, "...")),
|
|
135
|
+
page !== lastPage && (react_1.default.createElement(Button_1.default, { size: "sm", variant: "plain", color: "neutral", onClick: function () { return onPageChange(lastPage); } }, lastPage)),
|
|
136
|
+
react_1.default.createElement(IconButton_1.default, { size: "sm", variant: "plain", color: "neutral", onClick: function () { return onPageChange(page + 1); }, disabled: page === lastPage, "aria-label": "Next page" },
|
|
137
|
+
react_1.default.createElement(ChevronRight_js_1.default, null)))));
|
|
109
138
|
}
|
|
110
|
-
var Resizer = function (ref) { return (
|
|
139
|
+
var Resizer = function (ref) { return (react_1.default.createElement(Box_1.default, { sx: {
|
|
111
140
|
position: "absolute",
|
|
112
141
|
top: 0,
|
|
113
142
|
right: 0,
|
|
@@ -130,7 +159,7 @@ var Resizer = function (ref) { return (React.createElement(Box, { sx: {
|
|
|
130
159
|
document.addEventListener("mousemove", onMouseMove);
|
|
131
160
|
document.addEventListener("mouseup", onMouseUp);
|
|
132
161
|
} })); };
|
|
133
|
-
var Asterisk = styled("span", {
|
|
162
|
+
var Asterisk = (0, joy_1.styled)("span", {
|
|
134
163
|
name: "DataTable",
|
|
135
164
|
slot: "headCellAsterisk",
|
|
136
165
|
})(function (_a) {
|
|
@@ -142,7 +171,7 @@ var Asterisk = styled("span", {
|
|
|
142
171
|
});
|
|
143
172
|
var HeadCell = function (props) {
|
|
144
173
|
var _a, _b, _c, _d, _e;
|
|
145
|
-
var ref = useRef(null);
|
|
174
|
+
var ref = (0, react_1.useRef)(null);
|
|
146
175
|
var style = {
|
|
147
176
|
width: props.width,
|
|
148
177
|
minWidth: (_a = props.minWidth) !== null && _a !== void 0 ? _a : "50px",
|
|
@@ -151,8 +180,8 @@ var HeadCell = function (props) {
|
|
|
151
180
|
position: props.stickyHeader ? undefined : "relative",
|
|
152
181
|
};
|
|
153
182
|
var resizer = ((_b = props.resizable) !== null && _b !== void 0 ? _b : true) ? Resizer(ref) : null;
|
|
154
|
-
return (
|
|
155
|
-
props.editMode && props.required &&
|
|
183
|
+
return (react_1.default.createElement("th", { id: "".concat(props.tableId, "_header_").concat((_c = props.headerName) !== null && _c !== void 0 ? _c : props.field), "aria-label": (_d = props.headerName) !== null && _d !== void 0 ? _d : props.field, ref: ref, key: props.field, style: style }, (_e = props.headerName) !== null && _e !== void 0 ? _e : props.field,
|
|
184
|
+
props.editMode && props.required && react_1.default.createElement(Asterisk, null, "*"),
|
|
156
185
|
resizer));
|
|
157
186
|
};
|
|
158
187
|
var BodyCell = function (props) {
|
|
@@ -161,26 +190,26 @@ var BodyCell = function (props) {
|
|
|
161
190
|
var tableId = props.tableId, field = props.field, type = props.type, renderCell = props.renderCell, renderEditCell = props.renderEditCell, isCellEditable = props.isCellEditable, noWrap = props.noWrap, row = props.row, rowId = props.rowId;
|
|
162
191
|
// lib hooks
|
|
163
192
|
// state, ref, querystring hooks
|
|
164
|
-
var _b = useState(row[field]), value = _b[0], setValue = _b[1];
|
|
165
|
-
var cellRef = useRef(null);
|
|
193
|
+
var _b = (0, react_1.useState)(row[field]), value = _b[0], setValue = _b[1];
|
|
194
|
+
var cellRef = (0, react_1.useRef)(null);
|
|
166
195
|
// form hooks
|
|
167
196
|
// query hooks
|
|
168
197
|
// calculated values
|
|
169
|
-
var params = useMemo(function () { return ({
|
|
198
|
+
var params = (0, react_1.useMemo)(function () { return ({
|
|
170
199
|
row: row,
|
|
171
200
|
value: value,
|
|
172
201
|
id: rowId,
|
|
173
202
|
}); }, [row, rowId, value]);
|
|
174
|
-
var editMode = useMemo(function () {
|
|
203
|
+
var editMode = (0, react_1.useMemo)(function () {
|
|
175
204
|
return !!(props.editMode &&
|
|
176
205
|
(typeof isCellEditable === "function"
|
|
177
206
|
? isCellEditable(params)
|
|
178
207
|
: isCellEditable !== null && isCellEditable !== void 0 ? isCellEditable : true));
|
|
179
208
|
}, [props.editMode, isCellEditable, params]);
|
|
180
|
-
var componentProps = useMemo(function () { return (__assign(__assign({}, (typeof props.componentProps === "function"
|
|
209
|
+
var componentProps = (0, react_1.useMemo)(function () { return (__assign(__assign({}, (typeof props.componentProps === "function"
|
|
181
210
|
? props.componentProps(params)
|
|
182
211
|
: props.componentProps || {})), { size: "sm" })); }, [props, params]);
|
|
183
|
-
var editModeComponentProps = useMemo(function () { return (__assign(__assign(__assign({}, componentProps), { onChange: function (e) {
|
|
212
|
+
var editModeComponentProps = (0, react_1.useMemo)(function () { return (__assign(__assign(__assign({}, componentProps), { onChange: function (e) {
|
|
184
213
|
var _a;
|
|
185
214
|
var _b, _c;
|
|
186
215
|
(_b = componentProps.onChange) === null || _b === void 0 ? void 0 : _b.call(componentProps, e);
|
|
@@ -209,49 +238,49 @@ var BodyCell = function (props) {
|
|
|
209
238
|
(_d = props.onCellEditStop) === null || _d === void 0 ? void 0 : _d.call(props, __assign(__assign({}, params), { originalRow: row, row: __assign(__assign({}, params.row), (_a = {}, _a[field] = e.target.value, _a)), value: e.target.value }));
|
|
210
239
|
},
|
|
211
240
|
}))); }, [params, row, field, value, componentProps, type, props]);
|
|
212
|
-
var EditModeComponent = useMemo(function () {
|
|
241
|
+
var EditModeComponent = (0, react_1.useMemo)(function () {
|
|
213
242
|
if (renderEditCell) {
|
|
214
243
|
return renderEditCell(params);
|
|
215
244
|
}
|
|
216
245
|
return {
|
|
217
|
-
date: (
|
|
218
|
-
currency: (
|
|
219
|
-
number: (
|
|
220
|
-
text: (
|
|
221
|
-
longText: (
|
|
222
|
-
autocomplete: (
|
|
246
|
+
date: (react_1.default.createElement(DatePicker_1.default, __assign({ value: value }, editModeComponentProps))),
|
|
247
|
+
currency: (react_1.default.createElement(CurrencyInput_1.default, __assign({ value: value }, editModeComponentProps))),
|
|
248
|
+
number: (react_1.default.createElement(Input_1.default, __assign({ value: value, type: "number" }, editModeComponentProps))),
|
|
249
|
+
text: (react_1.default.createElement(Input_1.default, __assign({ value: value, type: "text" }, editModeComponentProps))),
|
|
250
|
+
longText: (react_1.default.createElement(Textarea_1.default, __assign({ value: value }, editModeComponentProps))),
|
|
251
|
+
autocomplete: (react_1.default.createElement(Autocomplete_1.default, __assign({ value: value,
|
|
223
252
|
// @ts-expect-error NOTE: editComponentProps로 option이 넘어오면 Override되어야 한다
|
|
224
253
|
options: editModeComponentProps.options || [value] }, editModeComponentProps))),
|
|
225
|
-
select: (
|
|
254
|
+
select: (react_1.default.createElement(Select_1.default, __assign({ value: value,
|
|
226
255
|
// @ts-expect-error NOTE: editComponentProps로 option이 넘어오면 Override되어야 한다
|
|
227
256
|
options: editModeComponentProps.options || [value] }, editModeComponentProps))),
|
|
228
257
|
}[type || "text"];
|
|
229
258
|
}, [value, editModeComponentProps, type]);
|
|
230
|
-
var ReadModeComponent = useMemo(function () {
|
|
259
|
+
var ReadModeComponent = (0, react_1.useMemo)(function () {
|
|
231
260
|
if (renderCell) {
|
|
232
261
|
return renderCell(params);
|
|
233
262
|
}
|
|
234
263
|
var innerText = value;
|
|
235
264
|
var typedComponent = {
|
|
236
|
-
link:
|
|
265
|
+
link: react_1.default.createElement(props.component || joy_1.Link, __assign({ children: innerText }, componentProps)),
|
|
237
266
|
}[type || "text"];
|
|
238
267
|
return typedComponent || innerText;
|
|
239
268
|
}, [value, renderCell, params, type, componentProps, props]);
|
|
240
|
-
var CellComponent = useMemo(function () {
|
|
269
|
+
var CellComponent = (0, react_1.useMemo)(function () {
|
|
241
270
|
return editMode && EditModeComponent ? EditModeComponent : ReadModeComponent;
|
|
242
271
|
}, [editMode, EditModeComponent, ReadModeComponent]);
|
|
243
|
-
var showTooltip = useMemo(function () { return noWrap && props.type === "longText"; }, [noWrap, props.type]);
|
|
272
|
+
var showTooltip = (0, react_1.useMemo)(function () { return noWrap && props.type === "longText"; }, [noWrap, props.type]);
|
|
244
273
|
// effects
|
|
245
|
-
useEffect(function () {
|
|
274
|
+
(0, react_1.useEffect)(function () {
|
|
246
275
|
setValue(row[field]);
|
|
247
276
|
}, [row, field]);
|
|
248
277
|
// handlers
|
|
249
|
-
return (
|
|
278
|
+
return (react_1.default.createElement("td", { ref: cellRef, key: field, headers: "".concat(tableId, "_header_").concat((_a = props.headerName) !== null && _a !== void 0 ? _a : field), style: {
|
|
250
279
|
textAlign: getTextAlign({ type: type }),
|
|
251
280
|
verticalAlign: editMode ? "top" : "middle",
|
|
252
281
|
overflow: "auto",
|
|
253
|
-
} }, showTooltip ? (
|
|
254
|
-
|
|
282
|
+
} }, showTooltip ? (react_1.default.createElement(Tooltip_1.default, { title: value, placement: "bottom", style: { maxWidth: "100%" }, enterDelay: 1500, enterNextDelay: 1500 },
|
|
283
|
+
react_1.default.createElement("div", { style: {
|
|
255
284
|
overflow: "hidden",
|
|
256
285
|
textOverflow: "ellipsis",
|
|
257
286
|
} }, CellComponent))) : (CellComponent)));
|
|
@@ -266,31 +295,31 @@ var BodyRow = function (props) {
|
|
|
266
295
|
// calculated values
|
|
267
296
|
// effects
|
|
268
297
|
// handlers
|
|
269
|
-
return (
|
|
298
|
+
return (react_1.default.createElement(react_1.default.Fragment, null, columns.map(function (column, i) { return (react_1.default.createElement(BodyCell, __assign({}, column, { tableId: tableId, key: "".concat(rowId, "_").concat(column.field.toString(), "_").concat(i), row: row, rowId: rowId, editMode: editMode, noWrap: noWrap }))); })));
|
|
270
299
|
};
|
|
271
300
|
function useDataTableRenderer(_a) {
|
|
272
301
|
var rows = _a.rows, columnsProp = _a.columns, totalRowsProp = _a.rowCount, pagination = _a.pagination, paginationMode = _a.paginationMode, paginationModel = _a.paginationModel, onPaginationModelChange = _a.onPaginationModelChange, _b = _a.selectionModel, selectionModel = _b === void 0 ? [] : _b, onSelectionModelChange = _a.onSelectionModelChange, editMode = _a.editMode, _getId = _a.getId, _isTotalSelected = _a.isTotalSelected;
|
|
273
|
-
var _c = useState((paginationModel === null || paginationModel === void 0 ? void 0 : paginationModel.page) || 1), page = _c[0], setPage = _c[1];
|
|
302
|
+
var _c = (0, react_1.useState)((paginationModel === null || paginationModel === void 0 ? void 0 : paginationModel.page) || 1), page = _c[0], setPage = _c[1];
|
|
274
303
|
var pageSize = (paginationModel === null || paginationModel === void 0 ? void 0 : paginationModel.pageSize) || 20;
|
|
275
|
-
var getId = useCallback(function (row, index) {
|
|
304
|
+
var getId = (0, react_1.useCallback)(function (row, index) {
|
|
276
305
|
var _a, _b;
|
|
277
306
|
return (_b = (_a = _getId === null || _getId === void 0 ? void 0 : _getId(row)) !== null && _a !== void 0 ? _a : row === null || row === void 0 ? void 0 : row.id) !== null && _b !== void 0 ? _b : "".concat((index || 0) + (page - 1) * pageSize);
|
|
278
307
|
}, [_getId !== null && _getId !== void 0 ? _getId : page, pageSize]);
|
|
279
|
-
var selectedModelSet = useMemo(function () { return new Set(selectionModel); }, [selectionModel]);
|
|
280
|
-
var dataInPage = useMemo(function () {
|
|
308
|
+
var selectedModelSet = (0, react_1.useMemo)(function () { return new Set(selectionModel); }, [selectionModel]);
|
|
309
|
+
var dataInPage = (0, react_1.useMemo)(function () {
|
|
281
310
|
return !pagination || paginationMode === "server"
|
|
282
311
|
? rows
|
|
283
312
|
: rows.slice((page - 1) * pageSize, (page - 1) * pageSize + pageSize);
|
|
284
313
|
}, [rows, page, pageSize, paginationMode, pagination]);
|
|
285
|
-
var isAllSelected = useMemo(function () {
|
|
314
|
+
var isAllSelected = (0, react_1.useMemo)(function () {
|
|
286
315
|
return dataInPage.length > 0 &&
|
|
287
316
|
dataInPage.every(function (row, i) { return selectedModelSet.has(getId(row, i)); });
|
|
288
317
|
}, [dataInPage, selectedModelSet, getId]);
|
|
289
318
|
var rowCount = totalRowsProp || rows.length;
|
|
290
|
-
var isTotalSelected = useMemo(function () {
|
|
319
|
+
var isTotalSelected = (0, react_1.useMemo)(function () {
|
|
291
320
|
return _isTotalSelected !== null && _isTotalSelected !== void 0 ? _isTotalSelected : (rowCount > 0 && selectionModel.length === rowCount);
|
|
292
321
|
}, [_isTotalSelected, selectionModel, rowCount]);
|
|
293
|
-
var columns = useMemo(function () {
|
|
322
|
+
var columns = (0, react_1.useMemo)(function () {
|
|
294
323
|
var baseColumns = columnsProp ||
|
|
295
324
|
// fallback
|
|
296
325
|
Object.keys(rows[0] || {}).map(function (key) { return ({
|
|
@@ -304,20 +333,20 @@ function useDataTableRenderer(_a) {
|
|
|
304
333
|
: (_a = column.isCellEditable) !== null && _a !== void 0 ? _a : true) }));
|
|
305
334
|
});
|
|
306
335
|
}, [rows, columnsProp, editMode]);
|
|
307
|
-
var handlePageChange = useCallback(function (newPage) {
|
|
336
|
+
var handlePageChange = (0, react_1.useCallback)(function (newPage) {
|
|
308
337
|
setPage(newPage);
|
|
309
338
|
onPaginationModelChange === null || onPaginationModelChange === void 0 ? void 0 : onPaginationModelChange({ page: newPage, pageSize: pageSize });
|
|
310
339
|
}, [onPaginationModelChange, pageSize]);
|
|
311
|
-
useEffect(function () {
|
|
340
|
+
(0, react_1.useEffect)(function () {
|
|
312
341
|
handlePageChange(1);
|
|
313
342
|
}, [rowCount, handlePageChange]);
|
|
314
|
-
useEffect(function () {
|
|
343
|
+
(0, react_1.useEffect)(function () {
|
|
315
344
|
var lastPage = Math.max(1, Math.ceil(rowCount / pageSize));
|
|
316
345
|
if (page > lastPage) {
|
|
317
346
|
handlePageChange(lastPage);
|
|
318
347
|
}
|
|
319
348
|
}, [page, rowCount, pageSize, handlePageChange]);
|
|
320
|
-
useEffect(function () {
|
|
349
|
+
(0, react_1.useEffect)(function () {
|
|
321
350
|
onSelectionModelChange === null || onSelectionModelChange === void 0 ? void 0 : onSelectionModelChange([]);
|
|
322
351
|
}, [page]);
|
|
323
352
|
return {
|
|
@@ -331,11 +360,11 @@ function useDataTableRenderer(_a) {
|
|
|
331
360
|
dataInPage: dataInPage,
|
|
332
361
|
isAllSelected: isAllSelected, // all rows are selected on this page
|
|
333
362
|
isTotalSelected: isTotalSelected,
|
|
334
|
-
isSelectedRow: useCallback(function (model) { return selectedModelSet.has(model); }, [selectedModelSet]),
|
|
335
|
-
onAllCheckboxChange: useCallback(function () {
|
|
363
|
+
isSelectedRow: (0, react_1.useCallback)(function (model) { return selectedModelSet.has(model); }, [selectedModelSet]),
|
|
364
|
+
onAllCheckboxChange: (0, react_1.useCallback)(function () {
|
|
336
365
|
onSelectionModelChange === null || onSelectionModelChange === void 0 ? void 0 : onSelectionModelChange(isAllSelected ? [] : dataInPage.map(getId));
|
|
337
366
|
}, [isAllSelected, dataInPage, onSelectionModelChange, getId]),
|
|
338
|
-
onCheckboxChange: useCallback(function (event, selectedModel) {
|
|
367
|
+
onCheckboxChange: (0, react_1.useCallback)(function (event, selectedModel) {
|
|
339
368
|
if (selectedModelSet.has(selectedModel)) {
|
|
340
369
|
var newSelectionModel = selectionModel.filter(function (model) { return model !== selectedModel; });
|
|
341
370
|
onSelectionModelChange === null || onSelectionModelChange === void 0 ? void 0 : onSelectionModelChange(newSelectionModel);
|
|
@@ -346,7 +375,7 @@ function useDataTableRenderer(_a) {
|
|
|
346
375
|
}
|
|
347
376
|
}, [selectionModel, onSelectionModelChange, selectedModelSet]),
|
|
348
377
|
columns: columns,
|
|
349
|
-
onTotalSelect: useCallback(function () {
|
|
378
|
+
onTotalSelect: (0, react_1.useCallback)(function () {
|
|
350
379
|
onSelectionModelChange === null || onSelectionModelChange === void 0 ? void 0 : onSelectionModelChange(isTotalSelected ? [] : rows.map(getId), !isTotalSelected);
|
|
351
380
|
}, [isTotalSelected, rows, onSelectionModelChange, getId]),
|
|
352
381
|
};
|
|
@@ -358,80 +387,80 @@ function DataTable(props) {
|
|
|
358
387
|
___ = props.onPaginationModelChange, // onPaginationModelChange is used in useDataTableRenderer
|
|
359
388
|
pagination = props.pagination, ____ = props.paginationMode, // paginationMode is used in useDataTableRenderer
|
|
360
389
|
_____ = props.paginationModel, // paginationModel is used in useDataTableRenderer
|
|
361
|
-
loading = props.loading, _a = props.slots, _b = _a === void 0 ? {} : _a, _c = _b.checkbox, RenderCheckbox = _c === void 0 ?
|
|
390
|
+
loading = props.loading, _a = props.slots, _b = _a === void 0 ? {} : _a, _c = _b.checkbox, RenderCheckbox = _c === void 0 ? Checkbox_1.default : _c, Toolbar = _b.toolbar, Footer = _b.footer, _d = _b.loadingOverlay, LoadingOverlay = _d === void 0 ? function () { return (react_1.default.createElement(joy_1.LinearProgress, { value: 8, variant: "plain" })); } : _d, _e = props.slotProps, _f = _e === void 0 ? {} : _e, _g = _f.checkbox, checkboxProps = _g === void 0 ? {} : _g, toolbarProps = _f.toolbar, _h = _f.background, backgroundProps = _h === void 0 ? {} : _h, innerProps = __rest(props, ["rows", "checkboxSelection", "editMode", "selectionModel", "onSelectionModelChange", "rowCount", "columns", "onPaginationModelChange", "pagination", "paginationMode", "paginationModel", "loading", "slots", "slotProps"]);
|
|
362
391
|
// lib hooks
|
|
363
392
|
var _j = useDataTableRenderer(props), columns = _j.columns, isAllSelected = _j.isAllSelected, isSelectedRow = _j.isSelectedRow, onAllCheckboxChange = _j.onAllCheckboxChange, onCheckboxChange = _j.onCheckboxChange, getId = _j.getId, rowCount = _j.rowCount, page = _j.page, pageSize = _j.pageSize, onPaginationModelChange = _j.onPaginationModelChange, dataInPage = _j.dataInPage, isTotalSelected = _j.isTotalSelected, onTotalSelect = _j.onTotalSelect, HeadCell = _j.HeadCell, BodyRow = _j.BodyRow;
|
|
364
393
|
// state, ref, querystring hooks
|
|
365
|
-
var tableId = useId();
|
|
394
|
+
var tableId = (0, react_1.useId)();
|
|
366
395
|
// form hooks
|
|
367
396
|
// query hooks
|
|
368
397
|
// calculated values
|
|
369
|
-
var paginationModel = useMemo(function () { return ({ page: page, pageSize: pageSize }); }, [page, pageSize]);
|
|
398
|
+
var paginationModel = (0, react_1.useMemo)(function () { return ({ page: page, pageSize: pageSize }); }, [page, pageSize]);
|
|
370
399
|
// effects
|
|
371
400
|
// handlers
|
|
372
|
-
return (
|
|
373
|
-
(!!checkboxSelection || !!Toolbar) && (
|
|
401
|
+
return (react_1.default.createElement(Box_1.default, null,
|
|
402
|
+
(!!checkboxSelection || !!Toolbar) && (react_1.default.createElement(Stack_1.default, { direction: "row", sx: {
|
|
374
403
|
pt: 1,
|
|
375
404
|
pb: 1,
|
|
376
405
|
}, justifyContent: "space-between", alignItems: "center" },
|
|
377
|
-
!!checkboxSelection && (
|
|
378
|
-
!isAllSelected && (
|
|
406
|
+
!!checkboxSelection && (react_1.default.createElement(Stack_1.default, { direction: "row", spacing: 1 },
|
|
407
|
+
!isAllSelected && (react_1.default.createElement(Typography_1.default, { level: "body-xs" },
|
|
379
408
|
numberFormatter((selectionModel === null || selectionModel === void 0 ? void 0 : selectionModel.length) || 0),
|
|
380
409
|
" items selected")),
|
|
381
|
-
isAllSelected && !isTotalSelected && (
|
|
382
|
-
|
|
410
|
+
isAllSelected && !isTotalSelected && (react_1.default.createElement(Stack_1.default, { direction: "row", spacing: 1, alignItems: "center" },
|
|
411
|
+
react_1.default.createElement(Typography_1.default, { level: "body-xs" },
|
|
383
412
|
"All ",
|
|
384
413
|
numberFormatter((selectionModel === null || selectionModel === void 0 ? void 0 : selectionModel.length) || 0),
|
|
385
414
|
" items on this page are selected."),
|
|
386
|
-
|
|
415
|
+
react_1.default.createElement(Button_1.default, { size: "sm", variant: "plain", onClick: onTotalSelect },
|
|
387
416
|
"Select all ",
|
|
388
417
|
numberFormatter(rowCount !== null && rowCount !== void 0 ? rowCount : rows.length),
|
|
389
418
|
" items"))),
|
|
390
|
-
isTotalSelected && (
|
|
391
|
-
|
|
419
|
+
isTotalSelected && (react_1.default.createElement(Stack_1.default, { direction: "row", spacing: 1, alignItems: "center" },
|
|
420
|
+
react_1.default.createElement(Typography_1.default, { level: "body-xs" },
|
|
392
421
|
"All ",
|
|
393
422
|
numberFormatter(rowCount !== null && rowCount !== void 0 ? rowCount : rows.length),
|
|
394
423
|
" items are selected."),
|
|
395
|
-
|
|
396
|
-
Toolbar &&
|
|
397
|
-
|
|
424
|
+
react_1.default.createElement(Button_1.default, { size: "sm", variant: "plain", color: "danger", onClick: onTotalSelect }, "Cancel"))))),
|
|
425
|
+
Toolbar && react_1.default.createElement(Toolbar, __assign({}, (toolbarProps || {}))))),
|
|
426
|
+
react_1.default.createElement(Sheet_1.default, __assign({ variant: "outlined", sx: {
|
|
398
427
|
overflow: "auto",
|
|
399
428
|
width: "100%",
|
|
400
429
|
boxShadow: "sm",
|
|
401
430
|
borderRadius: "sm",
|
|
402
431
|
} }, backgroundProps),
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
checkboxSelection && (
|
|
432
|
+
react_1.default.createElement(Table_1.Table, __assign({}, innerProps),
|
|
433
|
+
react_1.default.createElement("thead", null,
|
|
434
|
+
react_1.default.createElement("tr", null,
|
|
435
|
+
checkboxSelection && (react_1.default.createElement("th", { style: {
|
|
407
436
|
width: "40px",
|
|
408
437
|
textAlign: "center",
|
|
409
438
|
} },
|
|
410
|
-
|
|
411
|
-
columns.map(function (c, i) { return (
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
439
|
+
react_1.default.createElement(RenderCheckbox, __assign({ onChange: onAllCheckboxChange, checked: isAllSelected, indeterminate: (selectionModel || []).length > 0 && !isAllSelected }, checkboxProps)))),
|
|
440
|
+
columns.map(function (c, i) { return (react_1.default.createElement(HeadCell, __assign({ tableId: tableId, key: "".concat(c.field.toString(), "_").concat(i), stickyHeader: props.stickyHeader, editMode: !!c.isCellEditable }, c))); }))),
|
|
441
|
+
react_1.default.createElement("tbody", null,
|
|
442
|
+
react_1.default.createElement(OverlayWrapper, null, !!loading && (react_1.default.createElement("td", null,
|
|
443
|
+
react_1.default.createElement(Box_1.default, { sx: {
|
|
415
444
|
position: "absolute",
|
|
416
445
|
top: 0,
|
|
417
446
|
left: 0,
|
|
418
447
|
right: 0,
|
|
419
448
|
} },
|
|
420
|
-
|
|
421
|
-
|
|
449
|
+
react_1.default.createElement(LoadingOverlay, null))))),
|
|
450
|
+
react_1.default.createElement(OverlayWrapper, null),
|
|
422
451
|
dataInPage.map(function (row, rowIndex) {
|
|
423
452
|
var rowId = getId(row, rowIndex);
|
|
424
|
-
return (
|
|
453
|
+
return (react_1.default.createElement("tr", { key: rowId, role: checkboxSelection ? "checkbox" : undefined, tabIndex: checkboxSelection ? -1 : undefined, onClick: checkboxSelection
|
|
425
454
|
? function (e) { return onCheckboxChange(e, rowId); }
|
|
426
455
|
: undefined, "aria-checked": checkboxSelection ? isSelectedRow(rowId) : undefined },
|
|
427
|
-
checkboxSelection && (
|
|
456
|
+
checkboxSelection && (react_1.default.createElement("th", { scope: "row", style: {
|
|
428
457
|
textAlign: "center",
|
|
429
458
|
} },
|
|
430
|
-
|
|
431
|
-
|
|
459
|
+
react_1.default.createElement(RenderCheckbox, __assign({ onChange: function (e) { return onCheckboxChange(e, rowId); }, checked: isSelectedRow(rowId) }, checkboxProps)))),
|
|
460
|
+
react_1.default.createElement(BodyRow, { tableId: tableId, columns: columns, row: row, rowId: rowId, editMode: editMode, noWrap: props.noWrap })));
|
|
432
461
|
})),
|
|
433
|
-
Footer &&
|
|
434
|
-
pageSize < rowCount && pagination && (
|
|
462
|
+
Footer && react_1.default.createElement(Footer, null))),
|
|
463
|
+
pageSize < rowCount && pagination && (react_1.default.createElement(TablePagination, { paginationModel: paginationModel, rowCount: rowCount, onPageChange: onPaginationModelChange }))));
|
|
435
464
|
}
|
|
436
|
-
|
|
465
|
+
exports.DataTable = DataTable;
|
|
437
466
|
DataTable.displayName = "DataTable";
|
|
@@ -1,3 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
var DataTable_1 = require("./DataTable");
|
|
18
|
+
__exportStar(require("./DataTable"), exports);
|
|
19
|
+
exports.default = DataTable_1.DataTable;
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|