@ceed/ads 0.0.18 → 0.0.20
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/Button/Button.d.ts +22 -5
- package/dist/components/Button/Button.js +3 -3
- package/dist/components/DataTable/DataTable.d.ts +22 -15
- package/dist/components/DataTable/DataTable.js +63 -54
- package/dist/components/ThemeProvider/ThemeProvider.js +6 -0
- package/framer/index.js +126 -104
- package/package.json +2 -3
|
@@ -1,8 +1,25 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { ButtonProps } from "@mui/joy";
|
|
3
2
|
import { MotionProps } from "framer-motion";
|
|
4
|
-
declare const Button: {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
declare const Button: React.ForwardRefExoticComponent<Omit<{
|
|
4
|
+
component?: React.ElementType<any, keyof React.JSX.IntrinsicElements> | undefined;
|
|
5
|
+
} & import("@mui/joy").ButtonSlotsAndSlotProps & {
|
|
6
|
+
action?: React.Ref<{
|
|
7
|
+
focusVisible(): void;
|
|
8
|
+
}> | undefined;
|
|
9
|
+
color?: import("@mui/types").OverridableStringUnion<import("@mui/joy").ColorPaletteProp, import("@mui/joy").ButtonPropsColorOverrides> | undefined;
|
|
10
|
+
disabled?: boolean | undefined;
|
|
11
|
+
endDecorator?: React.ReactNode;
|
|
12
|
+
focusVisibleClassName?: string | undefined;
|
|
13
|
+
fullWidth?: boolean | undefined;
|
|
14
|
+
size?: import("@mui/types").OverridableStringUnion<"sm" | "md" | "lg", import("@mui/joy").ButtonPropsSizeOverrides> | undefined;
|
|
15
|
+
startDecorator?: React.ReactNode;
|
|
16
|
+
sx?: import("@mui/joy/styles/types").SxProps | undefined;
|
|
17
|
+
tabIndex?: number | undefined;
|
|
18
|
+
variant?: import("@mui/types").OverridableStringUnion<import("@mui/joy").VariantProp, import("@mui/joy").ButtonPropsVariantOverrides> | undefined;
|
|
19
|
+
loading?: boolean | undefined;
|
|
20
|
+
loadingIndicator?: React.ReactNode;
|
|
21
|
+
loadingPosition?: "center" | "end" | "start" | undefined;
|
|
22
|
+
} & Omit<Omit<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & {
|
|
23
|
+
ref?: ((instance: HTMLButtonElement | null) => void) | React.RefObject<HTMLButtonElement> | null | undefined;
|
|
24
|
+
}, "color" | "tabIndex" | "variant" | "sx" | "disabled" | "size" | "component" | keyof import("@mui/joy").ButtonSlotsAndSlotProps | "action" | "endDecorator" | "focusVisibleClassName" | "fullWidth" | "startDecorator" | "loading" | "loadingIndicator" | "loadingPosition"> & MotionProps, "ref"> & React.RefAttributes<unknown>>;
|
|
8
25
|
export { Button };
|
|
@@ -9,11 +9,11 @@ var __assign = (this && this.__assign) || function () {
|
|
|
9
9
|
};
|
|
10
10
|
return __assign.apply(this, arguments);
|
|
11
11
|
};
|
|
12
|
-
import React from "react";
|
|
12
|
+
import React, { forwardRef } from "react";
|
|
13
13
|
import { Button as JoyButton } from "@mui/joy";
|
|
14
14
|
import { motion } from "framer-motion";
|
|
15
15
|
var MotionButton = motion(JoyButton);
|
|
16
|
-
var Button = function (props) {
|
|
16
|
+
var Button = forwardRef(function (props) {
|
|
17
17
|
// prop destruction
|
|
18
18
|
// lib hooks
|
|
19
19
|
// state, ref, querystring hooks
|
|
@@ -23,6 +23,6 @@ var Button = function (props) {
|
|
|
23
23
|
// effects
|
|
24
24
|
// handlers
|
|
25
25
|
return (React.createElement(MotionButton, __assign({}, props)));
|
|
26
|
-
};
|
|
26
|
+
});
|
|
27
27
|
export { Button };
|
|
28
28
|
Button.displayName = "Button";
|
|
@@ -1,27 +1,34 @@
|
|
|
1
1
|
import React, { ComponentProps } from "react";
|
|
2
|
-
import { Table
|
|
2
|
+
import { Table } from "../Table";
|
|
3
3
|
type DataTableProps<T extends Record<string, unknown>> = {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
rows: T[];
|
|
5
|
+
checkboxSelection?: boolean;
|
|
6
|
+
columns: {
|
|
7
|
+
type?: "number" | "string";
|
|
8
|
+
field: keyof T;
|
|
9
|
+
headerName?: string;
|
|
10
|
+
width?: string;
|
|
11
|
+
minWidth?: string;
|
|
12
|
+
maxWidth?: string;
|
|
13
|
+
}[];
|
|
7
14
|
/**
|
|
8
15
|
* 체크박스가 있는 경우, 체크박스를 클릭했을 때 선택된 row의 index를 지정한다.
|
|
9
16
|
*/
|
|
10
17
|
selectionModel?: string[];
|
|
11
18
|
onSelectionModelChange?: (newSelectionModel: string[]) => void;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
+
paginationModel?: {
|
|
20
|
+
page: number;
|
|
21
|
+
pageSize: number;
|
|
22
|
+
};
|
|
23
|
+
onPaginationModelChange?: (model: {
|
|
24
|
+
page: number;
|
|
25
|
+
pageSize: number;
|
|
26
|
+
}) => void;
|
|
19
27
|
/**
|
|
20
28
|
* Rows의 총 갯수를 직접 지정 할 수 있다.
|
|
21
|
-
*
|
|
22
|
-
* data lazy loading을 위한 prop
|
|
29
|
+
* 기본적으로는 rows.length를 사용하지만, 이 값을 지정하면 rows.length를 사용하지 않는다.
|
|
23
30
|
*/
|
|
24
|
-
|
|
31
|
+
rowCount?: number;
|
|
25
32
|
slots?: {
|
|
26
33
|
checkbox?: React.ElementType;
|
|
27
34
|
toolbar?: React.ElementType;
|
|
@@ -39,7 +46,7 @@ type DataTableProps<T extends Record<string, unknown>> = {
|
|
|
39
46
|
[key: string]: any;
|
|
40
47
|
}>;
|
|
41
48
|
};
|
|
42
|
-
} & ComponentProps<typeof Table
|
|
49
|
+
} & ComponentProps<typeof Table>;
|
|
43
50
|
declare function DataTable<T extends Record<string, unknown>>(props: DataTableProps<T>): React.JSX.Element;
|
|
44
51
|
declare namespace DataTable {
|
|
45
52
|
var displayName: string;
|
|
@@ -31,22 +31,25 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
31
31
|
};
|
|
32
32
|
import React, { useCallback, useEffect, useMemo, useState, } from "react";
|
|
33
33
|
import Sheet from "../Sheet";
|
|
34
|
-
import { Table
|
|
34
|
+
import { Table } from "../Table";
|
|
35
35
|
import Checkbox from "../Checkbox";
|
|
36
36
|
import Box from "../Box";
|
|
37
37
|
import Stack from "../Stack";
|
|
38
38
|
import Typography from "../Typography";
|
|
39
39
|
import Button from "../Button";
|
|
40
|
+
var numberFormatter = function (value) {
|
|
41
|
+
return "Intl" in window ? new Intl.NumberFormat().format(value) : value;
|
|
42
|
+
};
|
|
40
43
|
function TablePagination(props) {
|
|
41
44
|
// prop destruction
|
|
42
|
-
var
|
|
45
|
+
var _a = props.paginationModel, page = _a.page, pageSize = _a.pageSize, rowCount = props.rowCount, onPageChange = props.onPageChange;
|
|
43
46
|
// lib hooks
|
|
44
47
|
// state, ref, querystring hooks
|
|
45
48
|
// form hooks
|
|
46
49
|
// query hooks
|
|
47
50
|
// calculated values
|
|
48
51
|
var firstPage = 1;
|
|
49
|
-
var lastPage = Math.ceil(
|
|
52
|
+
var lastPage = Math.ceil(rowCount / pageSize);
|
|
50
53
|
var beforePages = [page - 2, page - 1].filter(function (p) { return p > 1; });
|
|
51
54
|
var afterPages = [page + 1, page + 2].filter(function (p) { return p <= lastPage - 1; });
|
|
52
55
|
var isMoreAfterPages = lastPage > 1 && page < lastPage - 3;
|
|
@@ -69,39 +72,39 @@ function TablePagination(props) {
|
|
|
69
72
|
React.createElement(Button, { size: "sm", variant: "plain", color: "neutral", onClick: function () { return onPageChange(page + 1); }, disabled: page === lastPage, "aria-label": "Next page" }, ">"))));
|
|
70
73
|
}
|
|
71
74
|
function useDataTableRenderer(_a) {
|
|
72
|
-
var
|
|
73
|
-
var
|
|
75
|
+
var rows = _a.rows, columns = _a.columns, totalRowsProp = _a.rowCount, paginationModel = _a.paginationModel, onPaginationModelChange = _a.onPaginationModelChange, _b = _a.selectionModel, selectionModel = _b === void 0 ? [] : _b, onSelectionModelChange = _a.onSelectionModelChange;
|
|
76
|
+
var _c = useState((paginationModel === null || paginationModel === void 0 ? void 0 : paginationModel.page) || 1), page = _c[0], setPage = _c[1];
|
|
77
|
+
var pageSize = (paginationModel === null || paginationModel === void 0 ? void 0 : paginationModel.pageSize) || 20;
|
|
74
78
|
var selectedModelSet = useMemo(function () { return new Set(selectionModel); }, [selectionModel]);
|
|
75
|
-
var dataInPage = useMemo(function () {
|
|
76
|
-
return data.slice((page - 1) * rowsPerPage, (page - 1) * rowsPerPage + rowsPerPage);
|
|
77
|
-
}, [data, page, rowsPerPage]);
|
|
79
|
+
var dataInPage = useMemo(function () { return rows.slice((page - 1) * pageSize, (page - 1) * pageSize + pageSize); }, [rows, page, pageSize]);
|
|
78
80
|
var isAllSelected = useMemo(function () {
|
|
79
81
|
return dataInPage.length > 0 &&
|
|
80
82
|
dataInPage.every(function (_, i) {
|
|
81
|
-
return selectedModelSet.has("".concat(i + (page - 1) *
|
|
83
|
+
return selectedModelSet.has("".concat(i + (page - 1) * pageSize));
|
|
82
84
|
});
|
|
83
|
-
}, [dataInPage, selectedModelSet, page,
|
|
84
|
-
var
|
|
85
|
-
var isTotalSelected = useMemo(function () { return
|
|
85
|
+
}, [dataInPage, selectedModelSet, page, pageSize]);
|
|
86
|
+
var rowCount = totalRowsProp || rows.length;
|
|
87
|
+
var isTotalSelected = useMemo(function () { return rowCount > 0 && selectionModel.length === rowCount; }, [selectionModel, rowCount]);
|
|
86
88
|
var handlePageChange = useCallback(function (newPage) {
|
|
87
89
|
setPage(newPage);
|
|
88
|
-
|
|
89
|
-
}, [
|
|
90
|
+
onPaginationModelChange === null || onPaginationModelChange === void 0 ? void 0 : onPaginationModelChange({ page: newPage, pageSize: pageSize });
|
|
91
|
+
}, [onPaginationModelChange]);
|
|
90
92
|
useEffect(function () {
|
|
91
93
|
handlePageChange(1);
|
|
92
|
-
}, [
|
|
94
|
+
}, [rowCount]);
|
|
93
95
|
useEffect(function () {
|
|
94
|
-
if (page > Math.ceil(
|
|
95
|
-
handlePageChange(Math.ceil(
|
|
96
|
+
if (page > Math.ceil(rowCount / pageSize)) {
|
|
97
|
+
handlePageChange(Math.ceil(rowCount / pageSize));
|
|
96
98
|
}
|
|
97
|
-
}, [
|
|
99
|
+
}, [rowCount, pageSize]);
|
|
98
100
|
useEffect(function () {
|
|
99
101
|
onSelectionModelChange === null || onSelectionModelChange === void 0 ? void 0 : onSelectionModelChange([]);
|
|
100
102
|
}, [page]);
|
|
101
103
|
return {
|
|
102
|
-
|
|
104
|
+
rowCount: rowCount,
|
|
103
105
|
page: page,
|
|
104
|
-
|
|
106
|
+
pageSize: pageSize,
|
|
107
|
+
onPaginationModelChange: handlePageChange,
|
|
105
108
|
dataInPage: dataInPage,
|
|
106
109
|
isAllSelected: isAllSelected, // all rows are selected on this page
|
|
107
110
|
isTotalSelected: isTotalSelected,
|
|
@@ -109,45 +112,36 @@ function useDataTableRenderer(_a) {
|
|
|
109
112
|
onAllCheckboxChange: useCallback(function () {
|
|
110
113
|
onSelectionModelChange === null || onSelectionModelChange === void 0 ? void 0 : onSelectionModelChange(isAllSelected
|
|
111
114
|
? []
|
|
112
|
-
: dataInPage.map(function (_, i) { return "".concat(i + (page - 1) *
|
|
113
|
-
onCheckboxChange === null || onCheckboxChange === void 0 ? void 0 : onCheckboxChange(null, '');
|
|
115
|
+
: dataInPage.map(function (_, i) { return "".concat(i + (page - 1) * pageSize); }));
|
|
114
116
|
}, [isAllSelected, dataInPage, onSelectionModelChange]),
|
|
115
117
|
onCheckboxChange: useCallback(function (event, selectedModel) {
|
|
116
118
|
if (selectedModelSet.has(selectedModel)) {
|
|
117
119
|
var newSelectionModel = selectionModel.filter(function (model) { return model !== selectedModel; });
|
|
118
120
|
onSelectionModelChange === null || onSelectionModelChange === void 0 ? void 0 : onSelectionModelChange(newSelectionModel);
|
|
119
|
-
onCheckboxChange === null || onCheckboxChange === void 0 ? void 0 : onCheckboxChange(event, selectedModel);
|
|
120
121
|
}
|
|
121
122
|
else {
|
|
122
123
|
var newSelectionModel = __spreadArray(__spreadArray([], selectionModel, true), [selectedModel], false);
|
|
123
124
|
onSelectionModelChange === null || onSelectionModelChange === void 0 ? void 0 : onSelectionModelChange(newSelectionModel);
|
|
124
|
-
onCheckboxChange === null || onCheckboxChange === void 0 ? void 0 : onCheckboxChange(event, selectedModel);
|
|
125
125
|
}
|
|
126
126
|
}, [selectionModel, onSelectionModelChange]),
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
return headCells ||
|
|
127
|
+
columns: useMemo(function () {
|
|
128
|
+
return columns ||
|
|
130
129
|
// fallback
|
|
131
|
-
Object.keys(
|
|
132
|
-
|
|
130
|
+
Object.keys(rows[0] || {}).map(function (key) { return ({
|
|
131
|
+
field: key,
|
|
133
132
|
}); });
|
|
134
|
-
}, [
|
|
133
|
+
}, [rows, columns]),
|
|
135
134
|
onTotalSelect: useCallback(function () {
|
|
136
|
-
onSelectionModelChange === null || onSelectionModelChange === void 0 ? void 0 : onSelectionModelChange(isTotalSelected ? [] :
|
|
137
|
-
}, [isTotalSelected,
|
|
135
|
+
onSelectionModelChange === null || onSelectionModelChange === void 0 ? void 0 : onSelectionModelChange(isTotalSelected ? [] : rows.map(function (_, i) { return "".concat(i); }));
|
|
136
|
+
}, [isTotalSelected, rows, onSelectionModelChange]),
|
|
138
137
|
};
|
|
139
138
|
}
|
|
140
139
|
function DataTable(props) {
|
|
141
140
|
// prop destruction
|
|
142
|
-
var
|
|
143
|
-
_a = props.
|
|
144
|
-
rowsPerPage = _a === void 0 ? 20 : _a, _page = props.page, // page is used in useDataTableRenderer
|
|
145
|
-
_onPageChange = props.onPageChange, // onPageChange is used in useDataTableRenderer
|
|
146
|
-
_onCheckboxChange = props.onCheckboxChange, // onCheckboxChange is used in useDataTableRenderer
|
|
147
|
-
_b = props.slots, // onCheckboxChange is used in useDataTableRenderer
|
|
148
|
-
_c = _b === void 0 ? {} : _b, _d = _c.checkbox, RenderCheckbox = _d === void 0 ? Checkbox : _d, Toolbar = _c.toolbar, Footer = _c.footer, _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, ["data", "showCheckbox", "headCells", "cellOrder", "selectionModel", "onSelectionModelChange", "totalRows", "rowsPerPage", "page", "onPageChange", "onCheckboxChange", "slots", "slotProps"]);
|
|
141
|
+
var rows = props.rows, checkboxSelection = props.checkboxSelection, selectionModel = props.selectionModel, onSelectionModelChange = props.onSelectionModelChange, _ = props.rowCount, // rowCount is used in useDataTableRenderer
|
|
142
|
+
paginationModel = props.paginationModel, _a = props.slots, _b = _a === void 0 ? {} : _a, _c = _b.checkbox, RenderCheckbox = _c === void 0 ? Checkbox : _c, Toolbar = _b.toolbar, Footer = _b.footer, _d = props.slotProps, _e = _d === void 0 ? {} : _d, _f = _e.checkbox, checkboxProps = _f === void 0 ? {} : _f, toolbarProps = _e.toolbar, _g = _e.background, backgroundProps = _g === void 0 ? {} : _g, innerProps = __rest(props, ["rows", "checkboxSelection", "selectionModel", "onSelectionModelChange", "rowCount", "paginationModel", "slots", "slotProps"]);
|
|
149
143
|
// lib hooks
|
|
150
|
-
var
|
|
144
|
+
var _h = useDataTableRenderer(props), columns = _h.columns, isAllSelected = _h.isAllSelected, isSelectedRow = _h.isSelectedRow, onAllCheckboxChange = _h.onAllCheckboxChange, onCheckboxChange = _h.onCheckboxChange, rowCount = _h.rowCount, page = _h.page, pageSize = _h.pageSize, onPaginationModelChange = _h.onPaginationModelChange, dataInPage = _h.dataInPage, isTotalSelected = _h.isTotalSelected, onTotalSelect = _h.onTotalSelect;
|
|
151
145
|
// state, ref, querystring hooks
|
|
152
146
|
// form hooks
|
|
153
147
|
// query hooks
|
|
@@ -161,21 +155,21 @@ function DataTable(props) {
|
|
|
161
155
|
}, justifyContent: "space-between", alignItems: "center" },
|
|
162
156
|
React.createElement(Stack, { direction: "row", spacing: 1 },
|
|
163
157
|
!isAllSelected && (React.createElement(Typography, { level: "body-xs" },
|
|
164
|
-
(selectionModel === null || selectionModel === void 0 ? void 0 : selectionModel.length) || 0,
|
|
158
|
+
numberFormatter((selectionModel === null || selectionModel === void 0 ? void 0 : selectionModel.length) || 0),
|
|
165
159
|
" items selected")),
|
|
166
160
|
isAllSelected && !isTotalSelected && (React.createElement(Stack, { direction: "row", spacing: 1, alignItems: "center" },
|
|
167
161
|
React.createElement(Typography, { level: "body-xs" },
|
|
168
|
-
"All ",
|
|
169
|
-
selectionModel.length,
|
|
162
|
+
"All ",
|
|
163
|
+
numberFormatter((selectionModel === null || selectionModel === void 0 ? void 0 : selectionModel.length) || 0),
|
|
170
164
|
" items on this page are selected."),
|
|
171
165
|
React.createElement(Button, { size: "sm", variant: "plain", onClick: onTotalSelect },
|
|
172
166
|
"Select all ",
|
|
173
|
-
|
|
167
|
+
numberFormatter(rows.length),
|
|
174
168
|
" items"))),
|
|
175
169
|
isTotalSelected && (React.createElement(Stack, { direction: "row", spacing: 1, alignItems: "center" },
|
|
176
170
|
React.createElement(Typography, { level: "body-xs" },
|
|
177
171
|
"All ",
|
|
178
|
-
|
|
172
|
+
numberFormatter(rows.length),
|
|
179
173
|
" items are selected."),
|
|
180
174
|
React.createElement(Button, { size: "sm", variant: "plain", color: "danger", onClick: onTotalSelect }, "Cancel")))),
|
|
181
175
|
Toolbar && React.createElement(Toolbar, __assign({}, (toolbarProps || {})))),
|
|
@@ -193,14 +187,27 @@ function DataTable(props) {
|
|
|
193
187
|
},
|
|
194
188
|
},
|
|
195
189
|
] }, innerProps),
|
|
196
|
-
React.createElement(
|
|
197
|
-
|
|
198
|
-
|
|
190
|
+
React.createElement("thead", null,
|
|
191
|
+
React.createElement("tr", null,
|
|
192
|
+
checkboxSelection && (React.createElement("th", { style: {
|
|
193
|
+
width: "40px",
|
|
194
|
+
textAlign: "center",
|
|
195
|
+
} },
|
|
196
|
+
React.createElement(RenderCheckbox, __assign({ onChange: onAllCheckboxChange, checked: isAllSelected, indeterminate: (selectionModel || []).length > 0 && !isAllSelected }, checkboxProps)))),
|
|
197
|
+
columns.map(function (column) {
|
|
198
|
+
var _a;
|
|
199
|
+
return (React.createElement("th", { key: column.field, style: {
|
|
200
|
+
width: column.width,
|
|
201
|
+
minWidth: column.minWidth,
|
|
202
|
+
maxWidth: column.maxWidth,
|
|
203
|
+
textAlign: column.type === "number" ? "end" : "start",
|
|
204
|
+
} }, (_a = column.headerName) !== null && _a !== void 0 ? _a : column.field));
|
|
205
|
+
}))),
|
|
199
206
|
React.createElement("tbody", null, dataInPage.map(function (row, rowIndex) {
|
|
200
|
-
var rowId = "".concat(rowIndex + (page - 1) *
|
|
201
|
-
return (React.createElement("tr", { key: rowId, role:
|
|
207
|
+
var rowId = "".concat(rowIndex + (page - 1) * pageSize);
|
|
208
|
+
return (React.createElement("tr", { key: rowId, role: checkboxSelection ? "checkbox" : undefined, tabIndex: checkboxSelection ? -1 : undefined, onClick: checkboxSelection
|
|
202
209
|
? function (e) { return onCheckboxChange(e, rowId); }
|
|
203
|
-
: undefined, "aria-checked":
|
|
210
|
+
: undefined, "aria-checked": checkboxSelection ? isSelectedRow(rowId) : undefined, style: checkboxSelection && isSelectedRow(rowId)
|
|
204
211
|
? {
|
|
205
212
|
"--TableCell-dataBackground": "var(--TableCell-selectedBackground)",
|
|
206
213
|
"--TableCell-headBackground": "var(--TableCell-selectedBackground)",
|
|
@@ -208,14 +215,16 @@ function DataTable(props) {
|
|
|
208
215
|
: {
|
|
209
216
|
"--TableCell-headBackground": "transparent",
|
|
210
217
|
} },
|
|
211
|
-
|
|
218
|
+
checkboxSelection && (React.createElement("th", { scope: "row", style: {
|
|
212
219
|
textAlign: "center",
|
|
213
220
|
} },
|
|
214
221
|
React.createElement(RenderCheckbox, __assign({ onChange: function (e) { return onCheckboxChange(e, rowId); }, checked: isSelectedRow(rowId) }, checkboxProps)))),
|
|
215
|
-
|
|
222
|
+
columns.map(function (column) { return (React.createElement("td", { key: column.field, style: {
|
|
223
|
+
textAlign: column.type === "number" ? "end" : "start",
|
|
224
|
+
} }, row[column.field])); })));
|
|
216
225
|
})),
|
|
217
226
|
Footer && React.createElement(Footer, null))),
|
|
218
|
-
React.createElement(TablePagination, { page: page,
|
|
227
|
+
React.createElement(TablePagination, { paginationModel: { page: page, pageSize: pageSize }, rowCount: rowCount, onPageChange: onPaginationModelChange, onRowsPerPageChange: function () { } })));
|
|
219
228
|
}
|
|
220
229
|
export { DataTable };
|
|
221
230
|
DataTable.displayName = "DataTable";
|
package/framer/index.js
CHANGED
|
@@ -31912,16 +31912,17 @@ Box2.displayName = "Box";
|
|
|
31912
31912
|
var Box_default2 = Box2;
|
|
31913
31913
|
|
|
31914
31914
|
// src/components/Button/Button.tsx
|
|
31915
|
+
import { forwardRef as forwardRef75 } from "react";
|
|
31915
31916
|
import { motion as motion3 } from "framer-motion";
|
|
31916
31917
|
var MotionButton = motion3(Button_default);
|
|
31917
|
-
var Button3 = (props) => {
|
|
31918
|
+
var Button3 = forwardRef75((props) => {
|
|
31918
31919
|
return /* @__PURE__ */ jsx2(
|
|
31919
31920
|
MotionButton,
|
|
31920
31921
|
{
|
|
31921
31922
|
...props
|
|
31922
31923
|
}
|
|
31923
31924
|
);
|
|
31924
|
-
};
|
|
31925
|
+
});
|
|
31925
31926
|
Button3.displayName = "Button";
|
|
31926
31927
|
|
|
31927
31928
|
// src/components/Button/index.ts
|
|
@@ -31939,7 +31940,7 @@ Checkbox3.displayName = "Checkbox";
|
|
|
31939
31940
|
var Checkbox_default2 = Checkbox3;
|
|
31940
31941
|
|
|
31941
31942
|
// src/components/Container/Container.tsx
|
|
31942
|
-
import { forwardRef as
|
|
31943
|
+
import { forwardRef as forwardRef76 } from "react";
|
|
31943
31944
|
var ContainerRoot = styled_default2("div", {
|
|
31944
31945
|
name: "Container",
|
|
31945
31946
|
slot: "root",
|
|
@@ -31971,7 +31972,7 @@ var ContainerRoot = styled_default2("div", {
|
|
|
31971
31972
|
}
|
|
31972
31973
|
})
|
|
31973
31974
|
);
|
|
31974
|
-
var Container =
|
|
31975
|
+
var Container = forwardRef76(function Container2(props, ref) {
|
|
31975
31976
|
return /* @__PURE__ */ jsx2(ContainerRoot, { ref, ...props });
|
|
31976
31977
|
});
|
|
31977
31978
|
Container.displayName = "Container";
|
|
@@ -32095,10 +32096,15 @@ Typography3.displayName = "Typography";
|
|
|
32095
32096
|
var Typography_default2 = Typography3;
|
|
32096
32097
|
|
|
32097
32098
|
// src/components/DataTable/DataTable.tsx
|
|
32099
|
+
var numberFormatter = (value) => "Intl" in window ? new Intl.NumberFormat().format(value) : value;
|
|
32098
32100
|
function TablePagination(props) {
|
|
32099
|
-
const {
|
|
32101
|
+
const {
|
|
32102
|
+
paginationModel: { page, pageSize },
|
|
32103
|
+
rowCount,
|
|
32104
|
+
onPageChange
|
|
32105
|
+
} = props;
|
|
32100
32106
|
const firstPage = 1;
|
|
32101
|
-
const lastPage = Math.ceil(
|
|
32107
|
+
const lastPage = Math.ceil(rowCount / pageSize);
|
|
32102
32108
|
const beforePages = [page - 2, page - 1].filter((p) => p > 1);
|
|
32103
32109
|
const afterPages = [page + 1, page + 2].filter((p) => p <= lastPage - 1);
|
|
32104
32110
|
const isMoreAfterPages = lastPage > 1 && page < lastPage - 3;
|
|
@@ -32207,62 +32213,58 @@ function TablePagination(props) {
|
|
|
32207
32213
|
);
|
|
32208
32214
|
}
|
|
32209
32215
|
function useDataTableRenderer({
|
|
32210
|
-
|
|
32211
|
-
|
|
32212
|
-
|
|
32213
|
-
|
|
32214
|
-
|
|
32215
|
-
onPageChange,
|
|
32216
|
-
rowsPerPage,
|
|
32216
|
+
rows,
|
|
32217
|
+
columns,
|
|
32218
|
+
rowCount: totalRowsProp,
|
|
32219
|
+
paginationModel,
|
|
32220
|
+
onPaginationModelChange,
|
|
32217
32221
|
selectionModel = [],
|
|
32218
|
-
onSelectionModelChange
|
|
32219
|
-
onCheckboxChange
|
|
32222
|
+
onSelectionModelChange
|
|
32220
32223
|
}) {
|
|
32221
|
-
const [page, setPage] = useState21(
|
|
32224
|
+
const [page, setPage] = useState21(paginationModel?.page || 1);
|
|
32225
|
+
const pageSize = paginationModel?.pageSize || 20;
|
|
32222
32226
|
const selectedModelSet = useMemo32(
|
|
32223
32227
|
() => new Set(selectionModel),
|
|
32224
32228
|
[selectionModel]
|
|
32225
32229
|
);
|
|
32226
32230
|
const dataInPage = useMemo32(
|
|
32227
|
-
() =>
|
|
32228
|
-
|
|
32229
|
-
(page - 1) * rowsPerPage + rowsPerPage
|
|
32230
|
-
),
|
|
32231
|
-
[data, page, rowsPerPage]
|
|
32231
|
+
() => rows.slice((page - 1) * pageSize, (page - 1) * pageSize + pageSize),
|
|
32232
|
+
[rows, page, pageSize]
|
|
32232
32233
|
);
|
|
32233
32234
|
const isAllSelected = useMemo32(
|
|
32234
32235
|
() => dataInPage.length > 0 && dataInPage.every(
|
|
32235
|
-
(_4, i) => selectedModelSet.has(`${i + (page - 1) *
|
|
32236
|
+
(_4, i) => selectedModelSet.has(`${i + (page - 1) * pageSize}`)
|
|
32236
32237
|
),
|
|
32237
|
-
[dataInPage, selectedModelSet, page,
|
|
32238
|
+
[dataInPage, selectedModelSet, page, pageSize]
|
|
32238
32239
|
);
|
|
32239
|
-
const
|
|
32240
|
+
const rowCount = totalRowsProp || rows.length;
|
|
32240
32241
|
const isTotalSelected = useMemo32(
|
|
32241
|
-
() =>
|
|
32242
|
-
[selectionModel,
|
|
32242
|
+
() => rowCount > 0 && selectionModel.length === rowCount,
|
|
32243
|
+
[selectionModel, rowCount]
|
|
32243
32244
|
);
|
|
32244
32245
|
const handlePageChange = useCallback23(
|
|
32245
32246
|
(newPage) => {
|
|
32246
32247
|
setPage(newPage);
|
|
32247
|
-
|
|
32248
|
+
onPaginationModelChange?.({ page: newPage, pageSize });
|
|
32248
32249
|
},
|
|
32249
|
-
[
|
|
32250
|
+
[onPaginationModelChange]
|
|
32250
32251
|
);
|
|
32251
32252
|
useEffect33(() => {
|
|
32252
32253
|
handlePageChange(1);
|
|
32253
|
-
}, [
|
|
32254
|
+
}, [rowCount]);
|
|
32254
32255
|
useEffect33(() => {
|
|
32255
|
-
if (page > Math.ceil(
|
|
32256
|
-
handlePageChange(Math.ceil(
|
|
32256
|
+
if (page > Math.ceil(rowCount / pageSize)) {
|
|
32257
|
+
handlePageChange(Math.ceil(rowCount / pageSize));
|
|
32257
32258
|
}
|
|
32258
|
-
}, [
|
|
32259
|
+
}, [rowCount, pageSize]);
|
|
32259
32260
|
useEffect33(() => {
|
|
32260
32261
|
onSelectionModelChange?.([]);
|
|
32261
32262
|
}, [page]);
|
|
32262
32263
|
return {
|
|
32263
|
-
|
|
32264
|
+
rowCount,
|
|
32264
32265
|
page,
|
|
32265
|
-
|
|
32266
|
+
pageSize,
|
|
32267
|
+
onPaginationModelChange: handlePageChange,
|
|
32266
32268
|
dataInPage,
|
|
32267
32269
|
isAllSelected,
|
|
32268
32270
|
// all rows are selected on this page
|
|
@@ -32273,9 +32275,8 @@ function useDataTableRenderer({
|
|
|
32273
32275
|
),
|
|
32274
32276
|
onAllCheckboxChange: useCallback23(() => {
|
|
32275
32277
|
onSelectionModelChange?.(
|
|
32276
|
-
isAllSelected ? [] : dataInPage.map((_4, i) => `${i + (page - 1) *
|
|
32278
|
+
isAllSelected ? [] : dataInPage.map((_4, i) => `${i + (page - 1) * pageSize}`)
|
|
32277
32279
|
);
|
|
32278
|
-
onCheckboxChange?.(null, "");
|
|
32279
32280
|
}, [isAllSelected, dataInPage, onSelectionModelChange]),
|
|
32280
32281
|
onCheckboxChange: useCallback23(
|
|
32281
32282
|
(event, selectedModel) => {
|
|
@@ -32284,50 +32285,36 @@ function useDataTableRenderer({
|
|
|
32284
32285
|
(model) => model !== selectedModel
|
|
32285
32286
|
);
|
|
32286
32287
|
onSelectionModelChange?.(newSelectionModel);
|
|
32287
|
-
onCheckboxChange?.(event, selectedModel);
|
|
32288
32288
|
} else {
|
|
32289
32289
|
const newSelectionModel = [...selectionModel, selectedModel];
|
|
32290
32290
|
onSelectionModelChange?.(newSelectionModel);
|
|
32291
|
-
onCheckboxChange?.(event, selectedModel);
|
|
32292
32291
|
}
|
|
32293
32292
|
},
|
|
32294
32293
|
[selectionModel, onSelectionModelChange]
|
|
32295
32294
|
),
|
|
32296
|
-
|
|
32297
|
-
() =>
|
|
32298
|
-
[
|
|
32299
|
-
|
|
32300
|
-
renderHeadCells: useMemo32(
|
|
32301
|
-
() => headCells || // fallback
|
|
32302
|
-
Object.keys(data[0] || {}).map((key) => ({
|
|
32303
|
-
label: key
|
|
32295
|
+
columns: useMemo32(
|
|
32296
|
+
() => columns || // fallback
|
|
32297
|
+
Object.keys(rows[0] || {}).map((key) => ({
|
|
32298
|
+
field: key
|
|
32304
32299
|
})),
|
|
32305
|
-
[
|
|
32300
|
+
[rows, columns]
|
|
32306
32301
|
),
|
|
32307
32302
|
onTotalSelect: useCallback23(() => {
|
|
32308
32303
|
onSelectionModelChange?.(
|
|
32309
|
-
isTotalSelected ? [] :
|
|
32304
|
+
isTotalSelected ? [] : rows.map((_4, i) => `${i}`)
|
|
32310
32305
|
);
|
|
32311
|
-
}, [isTotalSelected,
|
|
32306
|
+
}, [isTotalSelected, rows, onSelectionModelChange])
|
|
32312
32307
|
};
|
|
32313
32308
|
}
|
|
32314
32309
|
function DataTable(props) {
|
|
32315
32310
|
const {
|
|
32316
|
-
|
|
32317
|
-
|
|
32318
|
-
headCells,
|
|
32319
|
-
cellOrder,
|
|
32311
|
+
rows,
|
|
32312
|
+
checkboxSelection,
|
|
32320
32313
|
selectionModel,
|
|
32321
32314
|
onSelectionModelChange,
|
|
32322
|
-
|
|
32323
|
-
//
|
|
32324
|
-
|
|
32325
|
-
page: _page,
|
|
32326
|
-
// page is used in useDataTableRenderer
|
|
32327
|
-
onPageChange: _onPageChange,
|
|
32328
|
-
// onPageChange is used in useDataTableRenderer
|
|
32329
|
-
onCheckboxChange: _onCheckboxChange,
|
|
32330
|
-
// onCheckboxChange is used in useDataTableRenderer
|
|
32315
|
+
rowCount: _4,
|
|
32316
|
+
// rowCount is used in useDataTableRenderer
|
|
32317
|
+
paginationModel,
|
|
32331
32318
|
slots: {
|
|
32332
32319
|
checkbox: RenderCheckbox = Checkbox_default2,
|
|
32333
32320
|
toolbar: Toolbar,
|
|
@@ -32341,19 +32328,19 @@ function DataTable(props) {
|
|
|
32341
32328
|
...innerProps
|
|
32342
32329
|
} = props;
|
|
32343
32330
|
const {
|
|
32344
|
-
|
|
32345
|
-
renderHeadCells,
|
|
32331
|
+
columns,
|
|
32346
32332
|
isAllSelected,
|
|
32347
32333
|
isSelectedRow,
|
|
32348
32334
|
onAllCheckboxChange,
|
|
32349
32335
|
onCheckboxChange,
|
|
32350
|
-
|
|
32336
|
+
rowCount,
|
|
32351
32337
|
page,
|
|
32352
|
-
|
|
32338
|
+
pageSize,
|
|
32339
|
+
onPaginationModelChange,
|
|
32353
32340
|
dataInPage,
|
|
32354
32341
|
isTotalSelected,
|
|
32355
32342
|
onTotalSelect
|
|
32356
|
-
} = useDataTableRenderer(
|
|
32343
|
+
} = useDataTableRenderer(props);
|
|
32357
32344
|
return /* @__PURE__ */ jsxs2(Box_default2, { children: [
|
|
32358
32345
|
/* @__PURE__ */ jsxs2(
|
|
32359
32346
|
Stack_default2,
|
|
@@ -32368,25 +32355,25 @@ function DataTable(props) {
|
|
|
32368
32355
|
children: [
|
|
32369
32356
|
/* @__PURE__ */ jsxs2(Stack_default2, { direction: "row", spacing: 1, children: [
|
|
32370
32357
|
!isAllSelected && /* @__PURE__ */ jsxs2(Typography_default2, { level: "body-xs", children: [
|
|
32371
|
-
selectionModel?.length || 0,
|
|
32358
|
+
numberFormatter(selectionModel?.length || 0),
|
|
32372
32359
|
" items selected"
|
|
32373
32360
|
] }),
|
|
32374
32361
|
isAllSelected && !isTotalSelected && /* @__PURE__ */ jsxs2(Stack_default2, { direction: "row", spacing: 1, alignItems: "center", children: [
|
|
32375
32362
|
/* @__PURE__ */ jsxs2(Typography_default2, { level: "body-xs", children: [
|
|
32376
32363
|
"All ",
|
|
32377
|
-
selectionModel?.length,
|
|
32364
|
+
numberFormatter(selectionModel?.length || 0),
|
|
32378
32365
|
" items on this page are selected."
|
|
32379
32366
|
] }),
|
|
32380
32367
|
/* @__PURE__ */ jsxs2(Button_default2, { size: "sm", variant: "plain", onClick: onTotalSelect, children: [
|
|
32381
32368
|
"Select all ",
|
|
32382
|
-
|
|
32369
|
+
numberFormatter(rows.length),
|
|
32383
32370
|
" items"
|
|
32384
32371
|
] })
|
|
32385
32372
|
] }),
|
|
32386
32373
|
isTotalSelected && /* @__PURE__ */ jsxs2(Stack_default2, { direction: "row", spacing: 1, alignItems: "center", children: [
|
|
32387
32374
|
/* @__PURE__ */ jsxs2(Typography_default2, { level: "body-xs", children: [
|
|
32388
32375
|
"All ",
|
|
32389
|
-
|
|
32376
|
+
numberFormatter(rows.length),
|
|
32390
32377
|
" items are selected."
|
|
32391
32378
|
] }),
|
|
32392
32379
|
/* @__PURE__ */ jsx2(
|
|
@@ -32427,38 +32414,56 @@ function DataTable(props) {
|
|
|
32427
32414
|
],
|
|
32428
32415
|
...innerProps,
|
|
32429
32416
|
children: [
|
|
32430
|
-
/* @__PURE__ */ jsx2(
|
|
32431
|
-
|
|
32432
|
-
|
|
32433
|
-
|
|
32434
|
-
|
|
32435
|
-
|
|
32436
|
-
|
|
32437
|
-
|
|
32438
|
-
|
|
32439
|
-
|
|
32440
|
-
|
|
32441
|
-
|
|
32417
|
+
/* @__PURE__ */ jsx2("thead", { children: /* @__PURE__ */ jsxs2("tr", { children: [
|
|
32418
|
+
checkboxSelection && /* @__PURE__ */ jsx2(
|
|
32419
|
+
"th",
|
|
32420
|
+
{
|
|
32421
|
+
style: {
|
|
32422
|
+
width: "40px",
|
|
32423
|
+
textAlign: "center"
|
|
32424
|
+
},
|
|
32425
|
+
children: /* @__PURE__ */ jsx2(
|
|
32426
|
+
RenderCheckbox,
|
|
32427
|
+
{
|
|
32428
|
+
onChange: onAllCheckboxChange,
|
|
32429
|
+
checked: isAllSelected,
|
|
32430
|
+
indeterminate: (selectionModel || []).length > 0 && !isAllSelected,
|
|
32431
|
+
...checkboxProps
|
|
32432
|
+
}
|
|
32433
|
+
)
|
|
32442
32434
|
}
|
|
32443
|
-
|
|
32444
|
-
|
|
32435
|
+
),
|
|
32436
|
+
columns.map((column2) => /* @__PURE__ */ jsx2(
|
|
32437
|
+
"th",
|
|
32438
|
+
{
|
|
32439
|
+
style: {
|
|
32440
|
+
width: column2.width,
|
|
32441
|
+
minWidth: column2.minWidth,
|
|
32442
|
+
maxWidth: column2.maxWidth,
|
|
32443
|
+
textAlign: column2.type === "number" ? "end" : "start"
|
|
32444
|
+
},
|
|
32445
|
+
children: column2.headerName ?? column2.field
|
|
32446
|
+
},
|
|
32447
|
+
column2.field
|
|
32448
|
+
))
|
|
32449
|
+
] }) }),
|
|
32445
32450
|
/* @__PURE__ */ jsx2("tbody", { children: dataInPage.map((row, rowIndex) => {
|
|
32446
|
-
const rowId = `${rowIndex + (page - 1) *
|
|
32451
|
+
const rowId = `${rowIndex + (page - 1) * pageSize}`;
|
|
32447
32452
|
return /* @__PURE__ */ jsxs2(
|
|
32448
32453
|
"tr",
|
|
32449
32454
|
{
|
|
32450
|
-
role:
|
|
32451
|
-
tabIndex:
|
|
32452
|
-
onClick:
|
|
32453
|
-
"aria-checked":
|
|
32454
|
-
style:
|
|
32455
|
+
role: checkboxSelection ? "checkbox" : void 0,
|
|
32456
|
+
tabIndex: checkboxSelection ? -1 : void 0,
|
|
32457
|
+
onClick: checkboxSelection ? (e) => onCheckboxChange(e, rowId) : void 0,
|
|
32458
|
+
"aria-checked": checkboxSelection ? isSelectedRow(rowId) : void 0,
|
|
32459
|
+
style: checkboxSelection && isSelectedRow(rowId) ? {
|
|
32455
32460
|
"--TableCell-dataBackground": "var(--TableCell-selectedBackground)",
|
|
32456
32461
|
"--TableCell-headBackground": "var(--TableCell-selectedBackground)"
|
|
32457
32462
|
} : {
|
|
32458
32463
|
"--TableCell-headBackground": "transparent"
|
|
32459
32464
|
},
|
|
32460
32465
|
children: [
|
|
32461
|
-
|
|
32466
|
+
checkboxSelection && /* @__PURE__ */ jsx2(
|
|
32462
32467
|
"th",
|
|
32463
32468
|
{
|
|
32464
32469
|
scope: "row",
|
|
@@ -32475,7 +32480,16 @@ function DataTable(props) {
|
|
|
32475
32480
|
)
|
|
32476
32481
|
}
|
|
32477
32482
|
),
|
|
32478
|
-
|
|
32483
|
+
columns.map((column2) => /* @__PURE__ */ jsx2(
|
|
32484
|
+
"td",
|
|
32485
|
+
{
|
|
32486
|
+
style: {
|
|
32487
|
+
textAlign: column2.type === "number" ? "end" : "start"
|
|
32488
|
+
},
|
|
32489
|
+
children: row[column2.field]
|
|
32490
|
+
},
|
|
32491
|
+
column2.field
|
|
32492
|
+
))
|
|
32479
32493
|
]
|
|
32480
32494
|
},
|
|
32481
32495
|
rowId
|
|
@@ -32490,10 +32504,9 @@ function DataTable(props) {
|
|
|
32490
32504
|
/* @__PURE__ */ jsx2(
|
|
32491
32505
|
TablePagination,
|
|
32492
32506
|
{
|
|
32493
|
-
page,
|
|
32494
|
-
|
|
32495
|
-
|
|
32496
|
-
onPageChange,
|
|
32507
|
+
paginationModel: { page, pageSize },
|
|
32508
|
+
rowCount,
|
|
32509
|
+
onPageChange: onPaginationModelChange,
|
|
32497
32510
|
onRowsPerPageChange: () => {
|
|
32498
32511
|
}
|
|
32499
32512
|
}
|
|
@@ -32762,6 +32775,12 @@ var defaultTheme4 = extendTheme({
|
|
|
32762
32775
|
}
|
|
32763
32776
|
})
|
|
32764
32777
|
}
|
|
32778
|
+
},
|
|
32779
|
+
JoyTooltip: {
|
|
32780
|
+
defaultProps: {
|
|
32781
|
+
size: "sm",
|
|
32782
|
+
placement: "top"
|
|
32783
|
+
}
|
|
32765
32784
|
}
|
|
32766
32785
|
}
|
|
32767
32786
|
});
|
|
@@ -33025,7 +33044,8 @@ var dataTablePropertyControls = {
|
|
|
33025
33044
|
// defaultValue:
|
|
33026
33045
|
// "https://sharadcodes.github.io/noob-cms/data/MOCK_DATA.csv",
|
|
33027
33046
|
},
|
|
33028
|
-
|
|
33047
|
+
checkboxSelection: {
|
|
33048
|
+
title: "Show Checkbox",
|
|
33029
33049
|
type: ControlType7.Boolean,
|
|
33030
33050
|
defaultValue: true
|
|
33031
33051
|
},
|
|
@@ -33043,13 +33063,15 @@ var dataTablePropertyControls = {
|
|
|
33043
33063
|
optionTitles: ["None", "Odd", "Even"],
|
|
33044
33064
|
defaultValue: void 0
|
|
33045
33065
|
},
|
|
33046
|
-
|
|
33066
|
+
columns: {
|
|
33047
33067
|
type: ControlType7.Array,
|
|
33068
|
+
description: "Column\uC758 \uC0C1\uC138 \uC124\uC815\uC774 \uD544\uC694\uD55C \uACBD\uC6B0 \uC0AC\uC6A9",
|
|
33048
33069
|
control: {
|
|
33049
33070
|
type: ControlType7.Object,
|
|
33050
33071
|
controls: {
|
|
33051
|
-
|
|
33052
|
-
type: ControlType7.String
|
|
33072
|
+
field: {
|
|
33073
|
+
type: ControlType7.String,
|
|
33074
|
+
description: "Column Name. CSV\uC5D0 \uC788\uB294 \uAC12\uC744 \uADF8\uB300\uB85C \uB123\uC5B4\uC57C \uD55C\uB2E4."
|
|
33053
33075
|
},
|
|
33054
33076
|
width: {
|
|
33055
33077
|
type: ControlType7.String
|
|
@@ -33062,7 +33084,7 @@ var dataTablePropertyControls = {
|
|
|
33062
33084
|
},
|
|
33063
33085
|
defaultValue: []
|
|
33064
33086
|
},
|
|
33065
|
-
|
|
33087
|
+
pageSize: {
|
|
33066
33088
|
type: ControlType7.Number,
|
|
33067
33089
|
defaultValue: 20
|
|
33068
33090
|
},
|
|
@@ -33074,10 +33096,10 @@ var dataTablePropertyControls = {
|
|
|
33074
33096
|
type: ControlType7.Boolean,
|
|
33075
33097
|
defaultValue: false
|
|
33076
33098
|
},
|
|
33077
|
-
|
|
33099
|
+
onPaginationModelChange: {
|
|
33078
33100
|
type: ControlType7.EventHandler
|
|
33079
33101
|
},
|
|
33080
|
-
|
|
33102
|
+
onSelectionModelChange: {
|
|
33081
33103
|
type: ControlType7.EventHandler
|
|
33082
33104
|
},
|
|
33083
33105
|
toolbar: {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ceed/ads",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.20",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "UI tool for Ecube Labs front-end developers",
|
|
@@ -53,6 +53,5 @@
|
|
|
53
53
|
"type": "git",
|
|
54
54
|
"url": "git+ssh://git@github.com/Ecube-Labs/hds.git"
|
|
55
55
|
},
|
|
56
|
-
"packageManager": "yarn@4.1.0"
|
|
57
|
-
"stableVersion": "0.0.17"
|
|
56
|
+
"packageManager": "yarn@4.1.0"
|
|
58
57
|
}
|