@pdg/react-table 1.0.3 → 1.0.5
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/README.md +1 -1
- package/dist/Table/Table.types.d.ts +2 -0
- package/dist/TableBodyRow/TableBodyRow.d.ts +13 -0
- package/dist/TableBodyRow/TableBodyRow.types.d.ts +13 -0
- package/dist/TableBodyRow/index.d.ts +4 -0
- package/dist/index.esm.js +254 -108
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +254 -108
- package/dist/index.js.map +1 -1
- package/package.json +3 -1
package/README.md
CHANGED
|
@@ -4,5 +4,5 @@ React Table
|
|
|
4
4
|
|
|
5
5
|
## 설치
|
|
6
6
|
```
|
|
7
|
-
npm install -D @pdg/react-table @pdg/react-form @mui/material @mui/icons-material @emotion/react @emotion/styled @mui/x-date-pickers dayjs
|
|
7
|
+
npm install -D @pdg/react-table @pdg/react-form @mui/material @mui/icons-material @emotion/react @emotion/styled @mui/x-date-pickers dayjs @dnd-kit/core @dnd-kit/sortable
|
|
8
8
|
```
|
|
@@ -65,9 +65,11 @@ export interface TableProps<T = TableItem> extends CommonSxProps {
|
|
|
65
65
|
style?: CommonSxProps['style'];
|
|
66
66
|
sx?: CommonSxProps['sx'];
|
|
67
67
|
};
|
|
68
|
+
sortable?: boolean;
|
|
68
69
|
onClick?(item: T, index: number): void;
|
|
69
70
|
onGetBodyRowSx?(item: T, index: number): CommonSxProps['sx'] | undefined;
|
|
70
71
|
onPageChange?(page: number): void;
|
|
72
|
+
onSortChange?(items: T[]): void;
|
|
71
73
|
}
|
|
72
74
|
export declare const TableDefaultProps: Pick<TableProps, 'defaultAlign' | 'pagingAlign' | 'cellPadding'>;
|
|
73
75
|
export interface TableCommands {
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { TableBodyRowProps as Props } from './TableBodyRow.types';
|
|
3
|
+
export declare const StyledBodyRow: import("@emotion/styled").StyledComponent<{
|
|
4
|
+
children?: React.ReactNode;
|
|
5
|
+
classes?: Partial<import("@mui/material").TableRowClasses> | undefined;
|
|
6
|
+
hover?: boolean | undefined;
|
|
7
|
+
selected?: boolean | undefined;
|
|
8
|
+
sx?: import("@mui/material").SxProps<import("@mui/material").Theme> | undefined;
|
|
9
|
+
} & import("@mui/material/OverridableComponent").CommonProps & Omit<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLTableRowElement>, HTMLTableRowElement>, "key" | keyof React.HTMLAttributes<HTMLTableRowElement>> & {
|
|
10
|
+
ref?: ((instance: HTMLTableRowElement | null) => void) | React.RefObject<HTMLTableRowElement> | null | undefined;
|
|
11
|
+
}, keyof import("@mui/material/OverridableComponent").CommonProps | "children" | "hover" | "selected" | "sx"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;
|
|
12
|
+
declare const TableBodyRow: React.FC<Props>;
|
|
13
|
+
export default TableBodyRow;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { TableCellProps, TableRowProps } from '@mui/material';
|
|
2
|
+
import { TableColumn, TableItem, TableProps } from '../Table';
|
|
3
|
+
export interface TableBodyRowProps extends Omit<TableRowProps, 'id' | 'onClick'> {
|
|
4
|
+
id: string | number;
|
|
5
|
+
index: number;
|
|
6
|
+
defaultAlign?: TableCellProps['align'];
|
|
7
|
+
defaultEllipsis?: boolean;
|
|
8
|
+
sortable?: boolean;
|
|
9
|
+
columns: TableColumn<TableItem>[];
|
|
10
|
+
item: TableItem;
|
|
11
|
+
onClick: TableProps['onClick'];
|
|
12
|
+
}
|
|
13
|
+
export declare const TableBodyRowDefaultProps: {};
|
package/dist/index.esm.js
CHANGED
|
@@ -1,4 +1,45 @@
|
|
|
1
|
-
import*as React from'react';import React__default,{useRef,useEffect,cloneElement,useState,isValidElement,createRef,PureComponent,useLayoutEffect,useCallback}from'react';import {styled,TableRow,lighten,TableCell,Box,Tooltip,Stack,Pagination,Paper,Table as Table$1,TableHead,TableBody,Icon,TableFooter,Grid,Button}from'@mui/material';import {findDOMNode}from'react-dom';import dayjs from'dayjs';import {Search,SearchGroup,FormHidden}from'@pdg/react-form'
|
|
1
|
+
import*as React from'react';import React__default,{useRef,useEffect,cloneElement,useState,isValidElement,createRef,PureComponent,useLayoutEffect,useCallback}from'react';import {styled,TableRow,lighten,TableCell,Box,Tooltip,Stack,Pagination,Paper,Table as Table$1,TableHead,TableBody,Icon,TableFooter,Grid,Button}from'@mui/material';import {findDOMNode}from'react-dom';import {useSortable,sortableKeyboardCoordinates,arrayMove,SortableContext,verticalListSortingStrategy}from'@dnd-kit/sortable';import dayjs from'dayjs';import {useSensors,useSensor,MouseSensor,TouchSensor,KeyboardSensor,DndContext,closestCenter}from'@dnd-kit/core';import {Search,SearchGroup,FormHidden}from'@pdg/react-form';/******************************************************************************
|
|
2
|
+
Copyright (c) Microsoft Corporation.
|
|
3
|
+
|
|
4
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
5
|
+
purpose with or without fee is hereby granted.
|
|
6
|
+
|
|
7
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
8
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
9
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
10
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
11
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
12
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
13
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
14
|
+
***************************************************************************** */
|
|
15
|
+
|
|
16
|
+
var __assign$1 = function() {
|
|
17
|
+
__assign$1 = Object.assign || function __assign(t) {
|
|
18
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
19
|
+
s = arguments[i];
|
|
20
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
|
21
|
+
}
|
|
22
|
+
return t;
|
|
23
|
+
};
|
|
24
|
+
return __assign$1.apply(this, arguments);
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
function __rest$1(s, e) {
|
|
28
|
+
var t = {};
|
|
29
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
30
|
+
t[p] = s[p];
|
|
31
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
32
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
33
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
34
|
+
t[p[i]] = s[p[i]];
|
|
35
|
+
}
|
|
36
|
+
return t;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
function __makeTemplateObject(cooked, raw) {
|
|
40
|
+
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
|
41
|
+
return cooked;
|
|
42
|
+
}var commonjsGlobal$1 = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};var classnames = {exports: {}};/*!
|
|
2
43
|
Copyright (c) 2018 Jed Watson.
|
|
3
44
|
Licensed under the MIT License (MIT), see
|
|
4
45
|
http://jedwatson.github.io/classnames
|
|
@@ -7350,18 +7391,18 @@ function __extends(d, b) {
|
|
|
7350
7391
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
7351
7392
|
}
|
|
7352
7393
|
|
|
7353
|
-
var __assign
|
|
7354
|
-
__assign
|
|
7394
|
+
var __assign = function() {
|
|
7395
|
+
__assign = Object.assign || function __assign(t) {
|
|
7355
7396
|
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
7356
7397
|
s = arguments[i];
|
|
7357
7398
|
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
|
7358
7399
|
}
|
|
7359
7400
|
return t;
|
|
7360
7401
|
};
|
|
7361
|
-
return __assign
|
|
7402
|
+
return __assign.apply(this, arguments);
|
|
7362
7403
|
};
|
|
7363
7404
|
|
|
7364
|
-
function __rest
|
|
7405
|
+
function __rest(s, e) {
|
|
7365
7406
|
var t = {};
|
|
7366
7407
|
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
7367
7408
|
t[p] = s[p];
|
|
@@ -8123,7 +8164,7 @@ var createNotifier = function (onResize, setSize, handleWidth, handleHeight) {
|
|
|
8123
8164
|
typedChildren = children;
|
|
8124
8165
|
if (typedChildren.type && typeof typedChildren.type === 'string') {
|
|
8125
8166
|
// child is a native DOM elements such as div, span etc
|
|
8126
|
-
childProps.targetRef; var nativeProps = __rest
|
|
8167
|
+
childProps.targetRef; var nativeProps = __rest(childProps, ["targetRef"]);
|
|
8127
8168
|
return cloneElement(typedChildren, nativeProps);
|
|
8128
8169
|
}
|
|
8129
8170
|
// class or functional component otherwise
|
|
@@ -8179,53 +8220,12 @@ function useResizeDetector(props) {
|
|
|
8179
8220
|
}
|
|
8180
8221
|
};
|
|
8181
8222
|
}, [refreshMode, refreshRate, refreshOptions, handleWidth, handleHeight, onResize, observerOptions, ref.current]);
|
|
8182
|
-
return __assign
|
|
8223
|
+
return __assign({ ref: ref }, size);
|
|
8183
8224
|
}var TableDefaultProps = {
|
|
8184
8225
|
defaultAlign: 'left',
|
|
8185
8226
|
pagingAlign: 'center',
|
|
8186
8227
|
cellPadding: 13,
|
|
8187
|
-
}
|
|
8188
|
-
Copyright (c) Microsoft Corporation.
|
|
8189
|
-
|
|
8190
|
-
Permission to use, copy, modify, and/or distribute this software for any
|
|
8191
|
-
purpose with or without fee is hereby granted.
|
|
8192
|
-
|
|
8193
|
-
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
8194
|
-
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
8195
|
-
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
8196
|
-
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
8197
|
-
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
8198
|
-
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
8199
|
-
PERFORMANCE OF THIS SOFTWARE.
|
|
8200
|
-
***************************************************************************** */
|
|
8201
|
-
|
|
8202
|
-
var __assign = function() {
|
|
8203
|
-
__assign = Object.assign || function __assign(t) {
|
|
8204
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
8205
|
-
s = arguments[i];
|
|
8206
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
|
8207
|
-
}
|
|
8208
|
-
return t;
|
|
8209
|
-
};
|
|
8210
|
-
return __assign.apply(this, arguments);
|
|
8211
|
-
};
|
|
8212
|
-
|
|
8213
|
-
function __rest(s, e) {
|
|
8214
|
-
var t = {};
|
|
8215
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
8216
|
-
t[p] = s[p];
|
|
8217
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
8218
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
8219
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
8220
|
-
t[p[i]] = s[p[i]];
|
|
8221
|
-
}
|
|
8222
|
-
return t;
|
|
8223
|
-
}
|
|
8224
|
-
|
|
8225
|
-
function __makeTemplateObject(cooked, raw) {
|
|
8226
|
-
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
|
8227
|
-
return cooked;
|
|
8228
|
-
}var StyledBodyRow = styled(TableRow)(function (_a) {
|
|
8228
|
+
};var StyledBodyRow$1 = styled(TableRow)(function (_a) {
|
|
8229
8229
|
var theme = _a.theme;
|
|
8230
8230
|
return ({
|
|
8231
8231
|
'&:last-child > .MuiTableCell-root': {
|
|
@@ -8240,7 +8240,57 @@ function __makeTemplateObject(cooked, raw) {
|
|
|
8240
8240
|
});
|
|
8241
8241
|
});
|
|
8242
8242
|
var StyledNoDataDiv = styled('div')(templateObject_1$2 || (templateObject_1$2 = __makeTemplateObject(["\n text-align: center;\n padding: 30px 0;\n font-weight: 500;\n font-size: 13px;\n color: #94a0b2;\n opacity: 0.8;\n\n .material-icons {\n font-size: 40px;\n margin-bottom: 5px;\n }\n"], ["\n text-align: center;\n padding: 30px 0;\n font-weight: 500;\n font-size: 13px;\n color: #94a0b2;\n opacity: 0.8;\n\n .material-icons {\n font-size: 40px;\n margin-bottom: 5px;\n }\n"])));
|
|
8243
|
-
var templateObject_1$2;var
|
|
8243
|
+
var templateObject_1$2;var TableBodyRowDefaultProps = {};const CSS = /*#__PURE__*/Object.freeze({
|
|
8244
|
+
Translate: {
|
|
8245
|
+
toString(transform) {
|
|
8246
|
+
if (!transform) {
|
|
8247
|
+
return;
|
|
8248
|
+
}
|
|
8249
|
+
|
|
8250
|
+
const {
|
|
8251
|
+
x,
|
|
8252
|
+
y
|
|
8253
|
+
} = transform;
|
|
8254
|
+
return "translate3d(" + (x ? Math.round(x) : 0) + "px, " + (y ? Math.round(y) : 0) + "px, 0)";
|
|
8255
|
+
}
|
|
8256
|
+
|
|
8257
|
+
},
|
|
8258
|
+
Scale: {
|
|
8259
|
+
toString(transform) {
|
|
8260
|
+
if (!transform) {
|
|
8261
|
+
return;
|
|
8262
|
+
}
|
|
8263
|
+
|
|
8264
|
+
const {
|
|
8265
|
+
scaleX,
|
|
8266
|
+
scaleY
|
|
8267
|
+
} = transform;
|
|
8268
|
+
return "scaleX(" + scaleX + ") scaleY(" + scaleY + ")";
|
|
8269
|
+
}
|
|
8270
|
+
|
|
8271
|
+
},
|
|
8272
|
+
Transform: {
|
|
8273
|
+
toString(transform) {
|
|
8274
|
+
if (!transform) {
|
|
8275
|
+
return;
|
|
8276
|
+
}
|
|
8277
|
+
|
|
8278
|
+
return [CSS.Translate.toString(transform), CSS.Scale.toString(transform)].join(' ');
|
|
8279
|
+
}
|
|
8280
|
+
|
|
8281
|
+
},
|
|
8282
|
+
Transition: {
|
|
8283
|
+
toString(_ref) {
|
|
8284
|
+
let {
|
|
8285
|
+
property,
|
|
8286
|
+
duration,
|
|
8287
|
+
easing
|
|
8288
|
+
} = _ref;
|
|
8289
|
+
return property + " " + duration + "ms " + easing;
|
|
8290
|
+
}
|
|
8291
|
+
|
|
8292
|
+
}
|
|
8293
|
+
});var empty = function (v) {
|
|
8244
8294
|
var result = false;
|
|
8245
8295
|
if (v == null) {
|
|
8246
8296
|
result = true;
|
|
@@ -8407,7 +8457,7 @@ var TableCommonCell = function (_a) {
|
|
|
8407
8457
|
getStyle = ((_e = column.footer) === null || _e === void 0 ? void 0 : _e.onGetStyle) ? (_f = column.footer) === null || _f === void 0 ? void 0 : _f.onGetStyle() : undefined;
|
|
8408
8458
|
break;
|
|
8409
8459
|
}
|
|
8410
|
-
return __assign(__assign(__assign(__assign({}, initStyle), { width: column.width, minWidth: column.minWidth, cursor: type === 'body' && (column.onClick || onClick) ? 'pointer' : undefined }), style), getStyle);
|
|
8460
|
+
return __assign$1(__assign$1(__assign$1(__assign$1({}, initStyle), { width: column.width, minWidth: column.minWidth, cursor: type === 'body' && (column.onClick || onClick) ? 'pointer' : undefined }), style), getStyle);
|
|
8411
8461
|
}, [initStyle, column, onClick, item, index]))[0];
|
|
8412
8462
|
var sx = useAutoUpdateState(useCallback(function () {
|
|
8413
8463
|
var _a, _b, _c, _d, _e, _f;
|
|
@@ -8443,7 +8493,7 @@ var TableCommonCell = function (_a) {
|
|
|
8443
8493
|
else {
|
|
8444
8494
|
if (!sxList.find(function (sx) { return typeof sx !== 'object'; })) {
|
|
8445
8495
|
return sxList.reduce(function (res, sx) {
|
|
8446
|
-
res = __assign(__assign({}, res), sx);
|
|
8496
|
+
res = __assign$1(__assign$1({}, res), sx);
|
|
8447
8497
|
return res;
|
|
8448
8498
|
}, {});
|
|
8449
8499
|
}
|
|
@@ -8466,24 +8516,22 @@ var TableCommonCell = function (_a) {
|
|
|
8466
8516
|
}
|
|
8467
8517
|
}, [type, column, onClick, item, index]);
|
|
8468
8518
|
// Render ----------------------------------------------------------------------------------------------------------
|
|
8469
|
-
return (React__default.createElement(StyledTableCell, { align: align, className: classNames(className, 'TableCommonCell', ellipsis && 'ellipsis'), style: style, sx: sx, onClick: type === 'body' ? handleClick : undefined }, children));
|
|
8519
|
+
return (React__default.createElement(StyledTableCell, { align: align, className: classNames(className, 'TableCommonCell', ellipsis && 'ellipsis', column.type ? "column-type-".concat(column.type) : false), style: style, sx: sx, onClick: type === 'body' ? handleClick : undefined }, children));
|
|
8470
8520
|
};
|
|
8471
|
-
var templateObject_1$1;var
|
|
8472
|
-
var column = _a.column, defaultAlign = _a.defaultAlign;
|
|
8473
|
-
var data = useAutoUpdateState(useCallback(function () {
|
|
8474
|
-
var _a, _b;
|
|
8475
|
-
if ((_a = column.head) === null || _a === void 0 ? void 0 : _a.onRender) {
|
|
8476
|
-
return (_b = column.head) === null || _b === void 0 ? void 0 : _b.onRender();
|
|
8477
|
-
}
|
|
8478
|
-
else {
|
|
8479
|
-
return column.label;
|
|
8480
|
-
}
|
|
8481
|
-
}, [column]))[0];
|
|
8482
|
-
return (React__default.createElement(TableCommonCell, { type: 'head', column: column, defaultAlign: defaultAlign }, data));
|
|
8483
|
-
};var StyledButtonsBox = styled(Box)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: inline-flex;\n flex-wrap: wrap;\n gap: 5px;\n"], ["\n display: inline-flex;\n flex-wrap: wrap;\n gap: 5px;\n"])));
|
|
8521
|
+
var templateObject_1$1;var StyledButtonsBox = styled(Box)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: flex;\n flex-wrap: wrap;\n gap: 5px;\n"], ["\n display: flex;\n flex-wrap: wrap;\n gap: 5px;\n"])));
|
|
8484
8522
|
var TableBodyCell = function (_a) {
|
|
8485
8523
|
// State -----------------------------------------------------------------------------------------------------------
|
|
8486
8524
|
var item = _a.item, index = _a.index, column = _a.column, defaultAlign = _a.defaultAlign, defaultEllipsis = _a.defaultEllipsis, onClick = _a.onClick;
|
|
8525
|
+
var buttonsBoxJustifyContent = useAutoUpdateState(useCallback(function () {
|
|
8526
|
+
switch (getTableColumnAlign(column, defaultAlign)) {
|
|
8527
|
+
case 'center':
|
|
8528
|
+
return 'center';
|
|
8529
|
+
case 'right':
|
|
8530
|
+
return 'end';
|
|
8531
|
+
default:
|
|
8532
|
+
return 'start';
|
|
8533
|
+
}
|
|
8534
|
+
}, [column, defaultAlign]))[0];
|
|
8487
8535
|
var _b = useState(), data = _b[0], setData = _b[1];
|
|
8488
8536
|
// Effect ----------------------------------------------------------------------------------------------------------
|
|
8489
8537
|
useEffect(function () {
|
|
@@ -8505,10 +8553,10 @@ var TableBodyCell = function (_a) {
|
|
|
8505
8553
|
}
|
|
8506
8554
|
break;
|
|
8507
8555
|
case 'button':
|
|
8508
|
-
data = React__default.createElement(Box, { onClick: function (e) { return e.stopPropagation(); } }, data);
|
|
8556
|
+
data = (React__default.createElement(Box, { className: 'TableBoxyCell-button-box', onClick: function (e) { return e.stopPropagation(); } }, data));
|
|
8509
8557
|
break;
|
|
8510
8558
|
case 'buttons':
|
|
8511
|
-
data = React__default.createElement(StyledButtonsBox, { onClick: function (e) { return e.stopPropagation(); } }, data);
|
|
8559
|
+
data = (React__default.createElement(StyledButtonsBox, { className: 'TableBodyCell-buttons-box', justifyContent: buttonsBoxJustifyContent, onClick: function (e) { return e.stopPropagation(); } }, data));
|
|
8512
8560
|
break;
|
|
8513
8561
|
}
|
|
8514
8562
|
switch (column.type) {
|
|
@@ -8519,7 +8567,7 @@ var TableBodyCell = function (_a) {
|
|
|
8519
8567
|
data = (React__default.createElement("a", { href: data, target: '_blank', onClick: function (e) {
|
|
8520
8568
|
e.stopPropagation();
|
|
8521
8569
|
} },
|
|
8522
|
-
React__default.createElement(Tooltip, __assign({ title: React__default.createElement("div", { style: { paddingTop: 3, paddingBottom: 3 } }, img) }, column.tooltipProps, { placement: placement }), img)));
|
|
8570
|
+
React__default.createElement(Tooltip, __assign$1({ className: 'TableBodyCell-tooltip', title: React__default.createElement("div", { style: { paddingTop: 3, paddingBottom: 3 } }, img) }, column.tooltipProps, { placement: placement }), img)));
|
|
8523
8571
|
}
|
|
8524
8572
|
break;
|
|
8525
8573
|
case 'date':
|
|
@@ -8539,7 +8587,7 @@ var TableBodyCell = function (_a) {
|
|
|
8539
8587
|
tooltip = column.onGetTooltip(item, index);
|
|
8540
8588
|
}
|
|
8541
8589
|
if (tooltip) {
|
|
8542
|
-
data = (React__default.createElement(Tooltip, __assign({ title: tooltip }, column.tooltipProps), React__default.isValidElement(data) ? data : React__default.createElement("span", null, data)));
|
|
8590
|
+
data = (React__default.createElement(Tooltip, __assign$1({ className: 'TableBodyCell-tooltip', title: tooltip }, column.tooltipProps), React__default.isValidElement(data) ? data : React__default.createElement("span", null, data)));
|
|
8543
8591
|
}
|
|
8544
8592
|
}
|
|
8545
8593
|
break;
|
|
@@ -8557,9 +8605,52 @@ var TableBodyCell = function (_a) {
|
|
|
8557
8605
|
}
|
|
8558
8606
|
}, [column, onClick]);
|
|
8559
8607
|
// Render ----------------------------------------------------------------------------------------------------------
|
|
8560
|
-
return (React__default.createElement(TableCommonCell, { type: 'body', column: column, defaultAlign: defaultAlign, defaultEllipsis: defaultEllipsis, item: item, index: index, onClick: column.onClick || onClick ? handleClick : undefined }, data));
|
|
8608
|
+
return (React__default.createElement(TableCommonCell, { type: 'body', className: 'TableBodyCell', column: column, defaultAlign: defaultAlign, defaultEllipsis: defaultEllipsis, item: item, index: index, onClick: column.onClick || onClick ? handleClick : undefined }, data));
|
|
8561
8609
|
};
|
|
8562
|
-
var templateObject_1;var
|
|
8610
|
+
var templateObject_1;var StyledBodyRow = styled(TableRow)(function (_a) {
|
|
8611
|
+
var theme = _a.theme;
|
|
8612
|
+
return ({
|
|
8613
|
+
'&:last-child > .MuiTableCell-root': {
|
|
8614
|
+
borderBottom: 0,
|
|
8615
|
+
},
|
|
8616
|
+
'&.odd-color:nth-of-type(odd):not(:hover)': {
|
|
8617
|
+
backgroundColor: lighten(theme.palette.action.hover, 0.4),
|
|
8618
|
+
},
|
|
8619
|
+
'&.even-color:nth-of-type(even):not(:hover)': {
|
|
8620
|
+
backgroundColor: lighten(theme.palette.action.hover, 0.4),
|
|
8621
|
+
},
|
|
8622
|
+
});
|
|
8623
|
+
});
|
|
8624
|
+
var TableBodyRow = function (_a) {
|
|
8625
|
+
var style = _a.style,
|
|
8626
|
+
//--------------------------------------------------------------------------------------------------------------------
|
|
8627
|
+
id = _a.id, index = _a.index, defaultAlign = _a.defaultAlign, defaultEllipsis = _a.defaultEllipsis, sortable = _a.sortable, columns = _a.columns, item = _a.item, onClick = _a.onClick, props = __rest$1(_a, ["style", "id", "index", "defaultAlign", "defaultEllipsis", "sortable", "columns", "item", "onClick"]);
|
|
8628
|
+
var finalStyle;
|
|
8629
|
+
var sortableProps = {};
|
|
8630
|
+
if (sortable) {
|
|
8631
|
+
var _b = useSortable({ id: id }), attributes = _b.attributes, listeners = _b.listeners, setNodeRef = _b.setNodeRef, transform = _b.transform, transition = _b.transition;
|
|
8632
|
+
finalStyle = __assign$1(__assign$1({}, style), { transform: CSS.Transform.toString(transform), transition: transition });
|
|
8633
|
+
sortableProps = __assign$1(__assign$1({ ref: setNodeRef }, attributes), listeners);
|
|
8634
|
+
}
|
|
8635
|
+
else {
|
|
8636
|
+
finalStyle = style;
|
|
8637
|
+
}
|
|
8638
|
+
return (React__default.createElement(StyledBodyRow, __assign$1({ style: finalStyle }, props, sortableProps), columns.map(function (column, columnIdx) { return (React__default.createElement(TableBodyCell, { key: columnIdx, index: index, item: item, defaultAlign: defaultAlign, defaultEllipsis: defaultEllipsis, column: column, onClick: onClick })); })));
|
|
8639
|
+
};
|
|
8640
|
+
TableBodyRow.displayName = 'TableBodyRow';
|
|
8641
|
+
TableBodyRow.defaultProps = TableBodyRowDefaultProps;var TableHeadCell = function (_a) {
|
|
8642
|
+
var column = _a.column, defaultAlign = _a.defaultAlign;
|
|
8643
|
+
var data = useAutoUpdateState(useCallback(function () {
|
|
8644
|
+
var _a, _b;
|
|
8645
|
+
if ((_a = column.head) === null || _a === void 0 ? void 0 : _a.onRender) {
|
|
8646
|
+
return (_b = column.head) === null || _b === void 0 ? void 0 : _b.onRender();
|
|
8647
|
+
}
|
|
8648
|
+
else {
|
|
8649
|
+
return column.label;
|
|
8650
|
+
}
|
|
8651
|
+
}, [column]))[0];
|
|
8652
|
+
return (React__default.createElement(TableCommonCell, { type: 'head', className: 'TableHeadCell', column: column, defaultAlign: defaultAlign }, data));
|
|
8653
|
+
};var TableFooterCell = function (_a) {
|
|
8563
8654
|
var column = _a.column, defaultAlign = _a.defaultAlign;
|
|
8564
8655
|
var data = useAutoUpdateState(useCallback(function () {
|
|
8565
8656
|
var _a, _b, _c;
|
|
@@ -8570,7 +8661,7 @@ var templateObject_1;var TableFooterCell = function (_a) {
|
|
|
8570
8661
|
return (_c = column.footer) === null || _c === void 0 ? void 0 : _c.value;
|
|
8571
8662
|
}
|
|
8572
8663
|
}, [column]))[0];
|
|
8573
|
-
return (React__default.createElement(TableCommonCell, { type: 'head', column: column, defaultAlign: defaultAlign, style: { borderTop: '1px solid rgba(224, 224, 224, 1)' } }, data));
|
|
8664
|
+
return (React__default.createElement(TableCommonCell, { type: 'head', className: 'TableFooterCell', column: column, defaultAlign: defaultAlign, style: { borderTop: '1px solid rgba(224, 224, 224, 1)' } }, data));
|
|
8574
8665
|
};var TablePagination = function (_a) {
|
|
8575
8666
|
var className = _a.className, style = _a.style, sx = _a.sx, paging = _a.paging, align = _a.align, onChange = _a.onChange;
|
|
8576
8667
|
return (React__default.createElement(Stack, { alignItems: align },
|
|
@@ -8608,8 +8699,23 @@ styleInject(css_248z);function columnFilter(v) {
|
|
|
8608
8699
|
return v !== undefined && v !== null && v !== false;
|
|
8609
8700
|
}
|
|
8610
8701
|
var Table = React__default.forwardRef(function (_a, ref) {
|
|
8702
|
+
// sortable --------------------------------------------------------------------------------------------------------
|
|
8703
|
+
var initColumns = _a.columns, initItems = _a.items, initPaging = _a.paging, pagingAlign = _a.pagingAlign, defaultAlign = _a.defaultAlign, defaultEllipsis = _a.defaultEllipsis, stickyHeader = _a.stickyHeader, height = _a.height, minHeight = _a.minHeight, maxHeight = _a.maxHeight, showOddColor = _a.showOddColor, showEvenColor = _a.showEvenColor, cellPadding = _a.cellPadding, footer = _a.footer, noData = _a.noData, pagination = _a.pagination, sortable = _a.sortable, onClick = _a.onClick, onGetBodyRowSx = _a.onGetBodyRowSx, onPageChange = _a.onPageChange, onSortChange = _a.onSortChange;
|
|
8704
|
+
var sensors = useSensors(useSensor(MouseSensor, {
|
|
8705
|
+
// Require the mouse to move by 10 pixels before activating
|
|
8706
|
+
activationConstraint: {
|
|
8707
|
+
distance: 10,
|
|
8708
|
+
},
|
|
8709
|
+
}), useSensor(TouchSensor, {
|
|
8710
|
+
// Press delay of 250ms, with tolerance of 5px of movement
|
|
8711
|
+
activationConstraint: {
|
|
8712
|
+
delay: 250,
|
|
8713
|
+
tolerance: 5,
|
|
8714
|
+
},
|
|
8715
|
+
}), useSensor(KeyboardSensor, {
|
|
8716
|
+
coordinateGetter: sortableKeyboardCoordinates,
|
|
8717
|
+
}));
|
|
8611
8718
|
// State - footerHeight --------------------------------------------------------------------------------------------
|
|
8612
|
-
var initColumns = _a.columns, initItems = _a.items, initPaging = _a.paging, pagingAlign = _a.pagingAlign, defaultAlign = _a.defaultAlign, defaultEllipsis = _a.defaultEllipsis, stickyHeader = _a.stickyHeader, height = _a.height, minHeight = _a.minHeight, maxHeight = _a.maxHeight, showOddColor = _a.showOddColor, showEvenColor = _a.showEvenColor, cellPadding = _a.cellPadding, footer = _a.footer, noData = _a.noData, pagination = _a.pagination, onClick = _a.onClick, onGetBodyRowSx = _a.onGetBodyRowSx, onPageChange = _a.onPageChange;
|
|
8613
8719
|
var _b = useState(), footerHeight = _b[0], setFooterHeight = _b[1];
|
|
8614
8720
|
var footerHeightResizeDetector = useResizeDetector({
|
|
8615
8721
|
handleHeight: true,
|
|
@@ -8627,7 +8733,8 @@ var Table = React__default.forwardRef(function (_a, ref) {
|
|
|
8627
8733
|
var _c = useAutoUpdateState(initColumns), columns = _c[0], setColumns = _c[1];
|
|
8628
8734
|
var _d = useState(), finalColumns = _d[0], setFinalColumns = _d[1];
|
|
8629
8735
|
var _e = useAutoUpdateState(initItems), items = _e[0], setItems = _e[1];
|
|
8630
|
-
var _f =
|
|
8736
|
+
var _f = useState(), sortableItems = _f[0], setSortableItems = _f[1];
|
|
8737
|
+
var _g = useAutoUpdateState(initPaging), paging = _g[0], setPaging = _g[1];
|
|
8631
8738
|
var tableSx = useAutoUpdateState(useCallback(function () {
|
|
8632
8739
|
var sx = {
|
|
8633
8740
|
padding: typeof cellPadding === 'number' ? "".concat(cellPadding, "px") : cellPadding,
|
|
@@ -8639,6 +8746,12 @@ var Table = React__default.forwardRef(function (_a, ref) {
|
|
|
8639
8746
|
};
|
|
8640
8747
|
}, [cellPadding]))[0];
|
|
8641
8748
|
// Effect ----------------------------------------------------------------------------------------------------------
|
|
8749
|
+
useEffect(function () {
|
|
8750
|
+
setSortableItems(items === null || items === void 0 ? void 0 : items.map(function (_a, index) {
|
|
8751
|
+
var id = _a.id, item = __rest$1(_a, ["id"]);
|
|
8752
|
+
return __assign$1({ id: id == null ? index : id }, item);
|
|
8753
|
+
}));
|
|
8754
|
+
}, [items]);
|
|
8642
8755
|
useEffect(function () {
|
|
8643
8756
|
setFinalColumns(columns === null || columns === void 0 ? void 0 : columns.filter(columnFilter));
|
|
8644
8757
|
}, [columns]);
|
|
@@ -8671,30 +8784,63 @@ var Table = React__default.forwardRef(function (_a, ref) {
|
|
|
8671
8784
|
}
|
|
8672
8785
|
}
|
|
8673
8786
|
}, [ref, columns, items, paging]);
|
|
8787
|
+
// Event Handler ---------------------------------------------------------------------------------------------------
|
|
8788
|
+
var handleDragEnd = useCallback(function (event) {
|
|
8789
|
+
var active = event.active, over = event.over;
|
|
8790
|
+
if (active && over) {
|
|
8791
|
+
setSortableItems(function (items) {
|
|
8792
|
+
if (items) {
|
|
8793
|
+
var oldIndex_1 = null;
|
|
8794
|
+
var newIndex_1 = null;
|
|
8795
|
+
items.find(function (item, idx) {
|
|
8796
|
+
if (item.id === active.id) {
|
|
8797
|
+
oldIndex_1 = idx;
|
|
8798
|
+
}
|
|
8799
|
+
else if (item.id === over.id) {
|
|
8800
|
+
newIndex_1 = idx;
|
|
8801
|
+
}
|
|
8802
|
+
return oldIndex_1 != null && newIndex_1 != null;
|
|
8803
|
+
});
|
|
8804
|
+
if (oldIndex_1 != null && newIndex_1 != null) {
|
|
8805
|
+
var finalItems = arrayMove(items, oldIndex_1, newIndex_1);
|
|
8806
|
+
onSortChange && onSortChange(finalItems);
|
|
8807
|
+
return finalItems;
|
|
8808
|
+
}
|
|
8809
|
+
else {
|
|
8810
|
+
return items;
|
|
8811
|
+
}
|
|
8812
|
+
}
|
|
8813
|
+
else {
|
|
8814
|
+
return items;
|
|
8815
|
+
}
|
|
8816
|
+
});
|
|
8817
|
+
}
|
|
8818
|
+
}, [onSortChange]);
|
|
8674
8819
|
// Render ----------------------------------------------------------------------------------------------------------
|
|
8675
8820
|
return finalColumns ? (React__default.createElement(Paper, { className: 'ReactMuiTable', variant: 'outlined', style: { width: '100%' } },
|
|
8676
8821
|
React__default.createElement(SimpleBar, { style: { height: height, minHeight: minHeight, maxHeight: maxHeight } },
|
|
8677
|
-
React__default.createElement(
|
|
8678
|
-
React__default.createElement(
|
|
8679
|
-
React__default.createElement(
|
|
8680
|
-
|
|
8681
|
-
React__default.createElement(
|
|
8682
|
-
React__default.createElement(
|
|
8683
|
-
React__default.createElement(
|
|
8684
|
-
|
|
8685
|
-
|
|
8686
|
-
|
|
8687
|
-
|
|
8688
|
-
|
|
8689
|
-
|
|
8690
|
-
|
|
8691
|
-
|
|
8692
|
-
|
|
8693
|
-
React__default.createElement(
|
|
8694
|
-
React__default.createElement(
|
|
8695
|
-
React__default.createElement(
|
|
8696
|
-
|
|
8697
|
-
|
|
8822
|
+
React__default.createElement(DndContext, { sensors: sensors, collisionDetection: closestCenter, onDragEnd: handleDragEnd },
|
|
8823
|
+
React__default.createElement(Table$1, { stickyHeader: stickyHeader, sx: tableSx },
|
|
8824
|
+
React__default.createElement(TableHead, null,
|
|
8825
|
+
React__default.createElement(TableRow, null, finalColumns.map(function (column, idx) { return (React__default.createElement(TableHeadCell, { key: idx, column: column, defaultAlign: defaultAlign })); }))),
|
|
8826
|
+
React__default.createElement(TableBody, { style: { paddingBottom: footerHeight || 65 } }, sortableItems ? (sortableItems.length > 0 ? (React__default.createElement(SortableContext, { items: sortableItems, strategy: verticalListSortingStrategy }, sortableItems.map(function (item, idx) { return (React__default.createElement(TableBodyRow, { key: item.id, className: classNames(!!showOddColor && 'odd-color', !!showEvenColor && 'even-color'), hover: true, sx: onGetBodyRowSx ? onGetBodyRowSx(item, idx) : undefined, id: item.id, index: idx, defaultAlign: defaultAlign, defaultEllipsis: defaultEllipsis, sortable: sortable, columns: finalColumns, item: item, onClick: onClick })); }))) : (React__default.createElement(StyledBodyRow$1, null,
|
|
8827
|
+
React__default.createElement(TableCell, { colSpan: finalColumns.length }, noData ? (noData) : (React__default.createElement(StyledNoDataDiv, null,
|
|
8828
|
+
React__default.createElement("div", null,
|
|
8829
|
+
React__default.createElement(Icon, null, "error")),
|
|
8830
|
+
React__default.createElement("div", null, "\uAC80\uC0C9\uB41C \uC815\uBCF4\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4."))))))) : undefined),
|
|
8831
|
+
paging && (React__default.createElement(TableFooter, { ref: footerHeightResizeDetector, sx: {
|
|
8832
|
+
left: 0,
|
|
8833
|
+
bottom: 0,
|
|
8834
|
+
zIndex: 2,
|
|
8835
|
+
position: 'sticky',
|
|
8836
|
+
backgroundColor: '#fff',
|
|
8837
|
+
} },
|
|
8838
|
+
React__default.createElement(TableRow, null,
|
|
8839
|
+
React__default.createElement(TableCell, { colSpan: finalColumns.length, style: { borderBottom: 0, borderTop: '1px solid rgba(224, 224, 224, 1)' } },
|
|
8840
|
+
React__default.createElement(Stack, { alignItems: pagingAlign },
|
|
8841
|
+
React__default.createElement(TablePagination, { className: pagination === null || pagination === void 0 ? void 0 : pagination.className, style: pagination === null || pagination === void 0 ? void 0 : pagination.style, sx: pagination === null || pagination === void 0 ? void 0 : pagination.sx, paging: paging, align: pagingAlign, onChange: onPageChange })))))),
|
|
8842
|
+
footer && (React__default.createElement(TableFooter, null,
|
|
8843
|
+
React__default.createElement(TableRow, null, finalColumns.map(function (column, idx) { return (React__default.createElement(TableFooterCell, { key: idx, column: column, defaultAlign: defaultAlign })); }))))))))) : null;
|
|
8698
8844
|
});
|
|
8699
8845
|
Table.displayName = 'Table';
|
|
8700
8846
|
Table.defaultProps = TableDefaultProps;var SearchTableDefaultProps = {};var SearchTable = React__default.forwardRef(function (_a, ref) {
|
|
@@ -8705,7 +8851,7 @@ Table.defaultProps = TableDefaultProps;var SearchTableDefaultProps = {};var Sear
|
|
|
8705
8851
|
var getSearchInfo = useCallback(function (search) {
|
|
8706
8852
|
var searchInfo = {};
|
|
8707
8853
|
if (search) {
|
|
8708
|
-
var ref_1 = search.ref, searchGroups = search.searchGroups, props = __rest(search, ["ref", "searchGroups"]);
|
|
8854
|
+
var ref_1 = search.ref, searchGroups = search.searchGroups, props = __rest$1(search, ["ref", "searchGroups"]);
|
|
8709
8855
|
searchInfo.ref = ref_1;
|
|
8710
8856
|
searchInfo.searchGroups = searchGroups;
|
|
8711
8857
|
searchInfo.props = props;
|
|
@@ -8715,7 +8861,7 @@ Table.defaultProps = TableDefaultProps;var SearchTableDefaultProps = {};var Sear
|
|
|
8715
8861
|
var getTableInfo = useCallback(function (table) {
|
|
8716
8862
|
var tableInfo = {};
|
|
8717
8863
|
if (table) {
|
|
8718
|
-
var ref_2 = table.ref, props = __rest(table, ["ref"]);
|
|
8864
|
+
var ref_2 = table.ref, props = __rest$1(table, ["ref"]);
|
|
8719
8865
|
tableInfo.ref = ref_2;
|
|
8720
8866
|
tableInfo.props = props;
|
|
8721
8867
|
}
|
|
@@ -8763,7 +8909,7 @@ Table.defaultProps = TableDefaultProps;var SearchTableDefaultProps = {};var Sear
|
|
|
8763
8909
|
var _a, _b, _c;
|
|
8764
8910
|
var finalData;
|
|
8765
8911
|
if (lastGetDataDataRef.current) {
|
|
8766
|
-
finalData = __assign({}, lastGetDataDataRef.current);
|
|
8912
|
+
finalData = __assign$1({}, lastGetDataDataRef.current);
|
|
8767
8913
|
if (page != null) {
|
|
8768
8914
|
(_a = searchRef.current) === null || _a === void 0 ? void 0 : _a.setValue('page', page);
|
|
8769
8915
|
finalData.page = page;
|
|
@@ -8932,7 +9078,7 @@ Table.defaultProps = TableDefaultProps;var SearchTableDefaultProps = {};var Sear
|
|
|
8932
9078
|
(_a = searchRef.current) === null || _a === void 0 ? void 0 : _a.setValue('page', page);
|
|
8933
9079
|
var finalData;
|
|
8934
9080
|
if (lastGetDataDataRef.current) {
|
|
8935
|
-
finalData = __assign({}, lastGetDataDataRef.current);
|
|
9081
|
+
finalData = __assign$1({}, lastGetDataDataRef.current);
|
|
8936
9082
|
finalData.page = page;
|
|
8937
9083
|
}
|
|
8938
9084
|
else {
|
|
@@ -8955,7 +9101,7 @@ Table.defaultProps = TableDefaultProps;var SearchTableDefaultProps = {};var Sear
|
|
|
8955
9101
|
}
|
|
8956
9102
|
else {
|
|
8957
9103
|
(_a = searchRef.current) === null || _a === void 0 ? void 0 : _a.setValue('page', 1);
|
|
8958
|
-
var finalData = __assign(__assign({}, data), { page: 1 });
|
|
9104
|
+
var finalData = __assign$1(__assign$1({}, data), { page: 1 });
|
|
8959
9105
|
if (hash) {
|
|
8960
9106
|
hashChange(finalData);
|
|
8961
9107
|
}
|
|
@@ -8967,7 +9113,7 @@ Table.defaultProps = TableDefaultProps;var SearchTableDefaultProps = {};var Sear
|
|
|
8967
9113
|
//------------------------------------------------------------------------------------------------------------------
|
|
8968
9114
|
return (React__default.createElement(Grid, { container: true, direction: 'column', spacing: 1 },
|
|
8969
9115
|
React__default.createElement(Grid, { item: true, sx: { display: searchInfo.searchGroups ? undefined : 'none' } },
|
|
8970
|
-
React__default.createElement(Search, __assign({}, searchInfo.props, { ref: function (commands) {
|
|
9116
|
+
React__default.createElement(Search, __assign$1({}, searchInfo.props, { ref: function (commands) {
|
|
8971
9117
|
if (searchInfo.ref) {
|
|
8972
9118
|
if (typeof searchInfo.ref === 'function') {
|
|
8973
9119
|
searchInfo.ref(commands);
|
|
@@ -8982,7 +9128,7 @@ Table.defaultProps = TableDefaultProps;var SearchTableDefaultProps = {};var Sear
|
|
|
8982
9128
|
React__default.createElement(FormHidden, { name: 'page', value: 1 })),
|
|
8983
9129
|
searchInfo.searchGroups)),
|
|
8984
9130
|
React__default.createElement(Grid, { item: true },
|
|
8985
|
-
React__default.createElement(Table, __assign({}, tableInfo.props, { ref: function (commands) {
|
|
9131
|
+
React__default.createElement(Table, __assign$1({}, tableInfo.props, { ref: function (commands) {
|
|
8986
9132
|
if (tableInfo.ref) {
|
|
8987
9133
|
if (typeof tableInfo.ref === 'function') {
|
|
8988
9134
|
tableInfo.ref(commands);
|
|
@@ -9000,22 +9146,22 @@ SearchTable.defaultProps = SearchTableDefaultProps;var TableButtonDefaultProps =
|
|
|
9000
9146
|
color: 'primary',
|
|
9001
9147
|
};var TableIconDefaultProps = {};var TableIcon = React__default.forwardRef(function (_a, ref) {
|
|
9002
9148
|
// State - children ------------------------------------------------------------------------------------------------
|
|
9003
|
-
var className = _a.className, initChildren = _a.children, props = __rest(_a, ["className", "children"]);
|
|
9149
|
+
var className = _a.className, initChildren = _a.children, props = __rest$1(_a, ["className", "children"]);
|
|
9004
9150
|
var children = useAutoUpdateState(useCallback(function () {
|
|
9005
9151
|
return initChildren.replace(/[A-Z]/g, function (letter, idx) { return "".concat(idx > 0 ? '_' : '').concat(letter.toLowerCase()); });
|
|
9006
9152
|
}, [initChildren]))[0];
|
|
9007
9153
|
// Render ----------------------------------------------------------------------------------------------------------
|
|
9008
|
-
return (React__default.createElement(Icon, __assign({ ref: ref }, props, { className: classNames('TableIcon', className) }), children));
|
|
9154
|
+
return (React__default.createElement(Icon, __assign$1({ ref: ref }, props, { className: classNames('TableIcon', className) }), children));
|
|
9009
9155
|
});
|
|
9010
9156
|
TableIcon.displayName = 'TableIcon';
|
|
9011
9157
|
TableIcon.defaultProps = TableIconDefaultProps;var TableButton = React__default.forwardRef(function (_a, ref) {
|
|
9012
9158
|
// State -----------------------------------------------------------------------------------------------------------
|
|
9013
|
-
var children = _a.children, className = _a.className, initSx = _a.sx, color = _a.color, icon = _a.icon, startIcon = _a.startIcon, endIcon = _a.endIcon, onClick = _a.onClick, props = __rest(_a, ["children", "className", "sx", "color", "icon", "startIcon", "endIcon", "onClick"]);
|
|
9159
|
+
var children = _a.children, className = _a.className, initSx = _a.sx, color = _a.color, icon = _a.icon, startIcon = _a.startIcon, endIcon = _a.endIcon, onClick = _a.onClick, props = __rest$1(_a, ["children", "className", "sx", "color", "icon", "startIcon", "endIcon", "onClick"]);
|
|
9014
9160
|
var sx = useAutoUpdateState(useCallback(function () {
|
|
9015
|
-
return __assign({ minWidth: 0, px: !startIcon && !endIcon ? 0.7 : 1.7 }, initSx);
|
|
9161
|
+
return __assign$1({ minWidth: 0, px: !startIcon && !endIcon ? 0.7 : 1.7 }, initSx);
|
|
9016
9162
|
}, [initSx]))[0];
|
|
9017
9163
|
// Render ----------------------------------------------------------------------------------------------------------
|
|
9018
|
-
return (React__default.createElement(Button, __assign({ ref: ref, className: classNames(className, 'TableButton'), type: 'button', size: 'small', sx: sx, color: color, onClick: onClick, startIcon: startIcon ? (React__default.createElement(TableIcon, { fontSize: 'small', sx: { mr: -0.5 } }, startIcon)) : undefined, endIcon: endIcon ? (React__default.createElement(TableIcon, { fontSize: 'small', sx: { ml: -0.5 } }, endIcon)) : undefined }, props),
|
|
9164
|
+
return (React__default.createElement(Button, __assign$1({ ref: ref, className: classNames(className, 'TableButton'), type: 'button', size: 'small', sx: sx, color: color, onClick: onClick, startIcon: startIcon ? (React__default.createElement(TableIcon, { fontSize: 'small', sx: { mr: -0.5 } }, startIcon)) : undefined, endIcon: endIcon ? (React__default.createElement(TableIcon, { fontSize: 'small', sx: { ml: -0.5 } }, endIcon)) : undefined }, props),
|
|
9019
9165
|
icon && (React__default.createElement(TableIcon, { fontSize: 'small', color: color }, icon)),
|
|
9020
9166
|
children));
|
|
9021
9167
|
});
|