es-grid-template 0.0.7 → 0.0.8

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.
@@ -4,97 +4,90 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.ColumnsChoose = exports.BoxInputFilterColumn = void 0;
7
+ exports.ColumnsChoose = void 0;
8
8
  var _react = _interopRequireWildcard(require("react"));
9
9
  var _styledComponents = _interopRequireDefault(require("styled-components"));
10
10
  var _antd = require("antd");
11
11
  var _icons = require("@ant-design/icons");
12
12
  var _hooks = require("./hooks");
13
+ var _tree = _interopRequireDefault(require("rc-master-ui/es/tree"));
14
+ var _SearchOutlined = _interopRequireDefault(require("@ant-design/icons/SearchOutlined"));
13
15
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
14
16
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
15
- const {
16
- Search
17
- } = _antd.Input;
17
+ // import type { TreeDataNode} from "antd";
18
18
 
19
- // const RowStyle = styled.div`
20
- // padding: 6px 0;
21
- //
22
- // height: 35px;
23
- //
24
- // .ellipsis {
25
- // overflow: hidden;
26
- // white-space: nowrap;
27
- // text-overflow: ellipsis;
28
- // word-break: keep-all;
29
- // }
30
- // `
19
+ // const { Search } = Input;
31
20
 
32
21
  const BoxAction = _styledComponents.default.div.withConfig({
33
22
  displayName: "BoxAction",
34
23
  componentId: "es-grid-template__sc-1k89i9w-0"
35
24
  })(["border-top:1px solid #c4c4c4;padding-top:.75rem;display:flex;justify-content:end;gap:10px;.btn-action{background:none !important;border:none !important;&.btn-action-submit{color:#df4318;&:disabled{background-color:#f0f0f0 !important;}&:hover{color:#df4318 !important;}}&:hover{background-color:#f0f0f0 !important;}}"]);
36
- const BoxInputFilterColumn = exports.BoxInputFilterColumn = _styledComponents.default.div.withConfig({
37
- displayName: "BoxInputFilterColumn",
38
- componentId: "es-grid-template__sc-1k89i9w-1"
39
- })(["display:flex;position:relative;align-items:center;.input__value{z-index:1;border-radius:0;border-top:0;border-left:0;border-right:0;&:focus{box-shadow:none !important;}&.is-clearable{padding-right:25px !important;}}.input__clear-icon{cursor:pointer;position:absolute;right:5px;z-index:10;}"]);
40
25
  const ColumnsChoose = props => {
41
26
  const {
42
27
  columns: propsColumns,
43
28
  setColumns: changeHiddenColumn
44
29
  // t,
45
- // columnsGrouped,
46
- // onChangeDisplay
47
- // frozen
48
30
  } = props;
49
31
 
50
32
  // const dataList: { key: React.Key; title: string }[] = [];
51
33
 
52
- const defaultColumns = (0, _react.useMemo)(() => {
53
- const rs = propsColumns.filter(it => it.key || it.dataIndex);
54
- return rs;
34
+ // const defaultColumns = useMemo(() => {
35
+ // return propsColumns.filter((it) => it.key || it.dataIndex && it.showColumnChoose !== false)
36
+ // }, [propsColumns])
37
+
38
+ // const columnsChooseRef: any = useRef()
39
+ // const searchRef: any = useRef()
40
+
41
+ const [columns, setColumns] = (0, _react.useState)([]);
42
+ const [selectedKeys, setSelectedKeys] = (0, _react.useState)([]);
43
+ (0, _react.useEffect)(() => {
44
+ const defaultColumns = propsColumns.filter(it => it.key || it.dataIndex && it.showColumnChoose !== false);
45
+ const defaultSelectedKeys = (0, _hooks.getVisibleColumnKeys)(propsColumns);
46
+ setSelectedKeys(defaultSelectedKeys);
47
+ setColumns(defaultColumns);
55
48
  }, [propsColumns]);
56
49
  const defaultSelectedKeys = (0, _react.useMemo)(() => {
57
50
  return (0, _hooks.getVisibleColumnKeys)(propsColumns);
58
51
  }, [propsColumns]);
59
52
 
60
- // const columnsChooseRef: any = useRef()
61
- // const searchRef: any = useRef()
53
+ // console.log('defaultSelectedKeys', defaultSelectedKeys)
62
54
 
63
- const [columns] = (0, _react.useState)(defaultColumns);
64
55
  const [clicked, setClicked] = (0, _react.useState)(false);
65
56
  const [autoExpandParent, setAutoExpandParent] = (0, _react.useState)(true);
66
57
  // const [expandedKeys, setExpandedKeys] = useState<React.Key[]>([]);
67
- const [searchValue, setSearchValue] = (0, _react.useState)('');
68
- const [selectedKeys, setSelectedKeys] = (0, _react.useState)(defaultSelectedKeys);
69
- const treeData = (0, _react.useMemo)(() => {
70
- const loop = data => data.map(item => {
71
- const strTitle = item.title;
72
- const index = strTitle.indexOf(searchValue);
73
- const beforeStr = strTitle.substring(0, index);
74
- const afterStr = strTitle.slice(index + searchValue.length);
75
- const title = index > -1 ? /*#__PURE__*/_react.default.createElement("span", {
76
- key: item.key
77
- }, beforeStr, /*#__PURE__*/_react.default.createElement("span", {
78
- className: "site-tree-search-value"
79
- }, searchValue), afterStr) : /*#__PURE__*/_react.default.createElement("span", {
80
- key: item.key
81
- }, strTitle);
82
- if (item.children) {
83
- return {
84
- title,
85
- key: item.key,
86
- children: loop(item.children)
87
- };
88
- }
89
- return {
90
- title,
91
- key: item.key
92
- };
93
- });
58
+ // const [searchValue, setSearchValue] = useState('');
59
+
60
+ // const treeData = useMemo(() => {
61
+ // const loop = (data: TreeDataNode[]): TreeDataNode[] =>
62
+ // data.map((item) => {
63
+ // const strTitle = item.title as string;
64
+ // const index = strTitle.indexOf(searchValue);
65
+ // const beforeStr = strTitle.substring(0, index);
66
+ // const afterStr = strTitle.slice(index + searchValue.length);
67
+ // const title =
68
+ // index > -1 ? (
69
+ // <span key={item.key}>
70
+ // {beforeStr}
71
+ // <span className="site-tree-search-value">{searchValue}</span>
72
+ // {afterStr}
73
+ // </span>
74
+ // ) : (
75
+ // <span key={item.key}>{strTitle}</span>
76
+ // );
77
+ // if (item.children) {
78
+ // return { title, key: item.key, children: loop(item.children) };
79
+ // }
80
+ //
81
+ // return {
82
+ // title,
83
+ // key: item.key,
84
+ // };
85
+ // });
86
+ //
87
+ // // return loop(defaultData);
88
+ // return loop(columns as any);
89
+ // }, [searchValue, columns]);
94
90
 
95
- // return loop(defaultData);
96
- return loop(columns);
97
- }, [searchValue]);
98
91
  const hide = () => {
99
92
  setClicked(false);
100
93
  };
@@ -121,10 +114,9 @@ const ColumnsChoose = props => {
121
114
  // return parentKey!
122
115
  // }
123
116
 
124
- const onChange = e => {
125
- const {
126
- value
127
- } = e.target;
117
+ // const onChange = (e: React.ChangeEvent<HTMLInputElement>) => {
118
+ const onChange = () => {
119
+ // const { value } = e.target
128
120
  // const newExpandedKeys = dataList
129
121
  // .map((item) => {
130
122
  // if (item.title.indexOf(value) > -1) {
@@ -134,14 +126,15 @@ const ColumnsChoose = props => {
134
126
  // })
135
127
  // .filter((item, i, self): item is React.Key => !!(item && self.indexOf(item) === i))
136
128
  // setExpandedKeys(newExpandedKeys)
137
- setSearchValue(value);
129
+
130
+ // setSearchValue(value)
138
131
  setAutoExpandParent(true);
139
132
  };
140
133
  const onCheck = keys => {
141
134
  setSelectedKeys(keys);
142
135
  };
143
136
  const handleAccept = () => {
144
- const rs1 = (0, _hooks.updateColumns)(columns, selectedKeys);
137
+ const rs1 = (0, _hooks.updateColumns)(propsColumns, selectedKeys);
145
138
  changeHiddenColumn(rs1);
146
139
  hide();
147
140
  };
@@ -155,18 +148,21 @@ const ColumnsChoose = props => {
155
148
  style: {
156
149
  minWidth: 250
157
150
  }
158
- }, /*#__PURE__*/_react.default.createElement(Search, {
151
+ }, /*#__PURE__*/_react.default.createElement(_antd.Input, {
159
152
  style: {
160
153
  marginBottom: 8
161
154
  },
162
155
  placeholder: "Search",
156
+ prefix: /*#__PURE__*/_react.default.createElement(_SearchOutlined.default, null),
163
157
  onChange: onChange
164
- }), /*#__PURE__*/_react.default.createElement(_antd.Tree, {
158
+ }), /*#__PURE__*/_react.default.createElement(_tree.default, {
165
159
  onExpand: onExpand
166
160
  // expandedKeys={expandedKeys}
167
161
  ,
168
- autoExpandParent: autoExpandParent,
169
- treeData: treeData,
162
+ autoExpandParent: autoExpandParent
163
+ // treeData={treeData}
164
+ ,
165
+ treeData: columns,
170
166
  defaultExpandAll: true,
171
167
  checkable: true
172
168
  // onSelect={(keys, info) => {
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.default = void 0;
8
8
  var React = _interopRequireWildcard(require("react"));
9
9
  var _SearchOutlined = _interopRequireDefault(require("@ant-design/icons/SearchOutlined"));
10
- var _uiRc = require("ui-rc");
10
+ var _rcMasterUi = require("rc-master-ui");
11
11
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
12
12
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
13
  const FilterSearch = props => {
@@ -27,7 +27,7 @@ const FilterSearch = props => {
27
27
  paddingLeft: 0,
28
28
  paddingRight: 0
29
29
  }
30
- }, /*#__PURE__*/React.createElement(_uiRc.Input, {
30
+ }, /*#__PURE__*/React.createElement(_rcMasterUi.Input, {
31
31
  prefix: /*#__PURE__*/React.createElement(_SearchOutlined.default, null),
32
32
  placeholder: locale.filterSearchPlaceholder,
33
33
  onChange: onChange,
@@ -3,5 +3,5 @@ import 'dayjs/locale/es';
3
3
  import 'dayjs/locale/vi';
4
4
  import './styles.scss';
5
5
  import type { GridTableProps } from "./type";
6
- declare const GridTable: <RecordType extends object>(props: GridTableProps<RecordType>) => React.JSX.Element;
7
- export default GridTable;
6
+ declare const InternalTable: <RecordType extends object>(props: GridTableProps<RecordType>) => React.JSX.Element;
7
+ export default InternalTable;
@@ -0,0 +1,194 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _react = _interopRequireWildcard(require("react"));
10
+ var _rcMasterUi = require("rc-master-ui");
11
+ var _dayjs = _interopRequireDefault(require("dayjs"));
12
+ require("dayjs/locale/es");
13
+ require("dayjs/locale/vi");
14
+ require("./styles.scss");
15
+ var _customParseFormat = _interopRequireDefault(require("dayjs/plugin/customParseFormat"));
16
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
17
+ var _TableGrid = _interopRequireDefault(require("./TableGrid"));
18
+ var _reactResizable = require("react-resizable");
19
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
20
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
21
+ // import {ColumnsChoose} from "./ColumnsChoose";
22
+
23
+ _dayjs.default.extend(_customParseFormat.default);
24
+ const ResizableTitle = props => {
25
+ const {
26
+ onResize,
27
+ width,
28
+ ...restProps
29
+ } = props;
30
+ if (!width) {
31
+ return /*#__PURE__*/_react.default.createElement("th", restProps);
32
+ }
33
+ return (
34
+ /*#__PURE__*/
35
+ // @ts-ignore
36
+ _react.default.createElement(_reactResizable.Resizable, {
37
+ width: width,
38
+ height: 0,
39
+ handle: /*#__PURE__*/_react.default.createElement("span", {
40
+ className: "react-resizable-handle",
41
+ onClick: e => {
42
+ e.stopPropagation();
43
+ }
44
+ }),
45
+ onResize: onResize,
46
+ draggableOpts: {
47
+ enableUserSelectHack: false
48
+ }
49
+ }, /*#__PURE__*/_react.default.createElement("th", restProps))
50
+ );
51
+ };
52
+ const GridStyle = _styledComponents.default.div.withConfig({
53
+ displayName: "GridStyle",
54
+ componentId: "es-grid-template__sc-1fs85vo-0"
55
+ })([".ui-rc-pagination{border-bottom:1px solid #e0e0e0;border-top:1px solid #e0e0e0;margin:0;padding:.75rem 1rem;.ui-rc-pagination-total-text{order:2;margin-left:auto;}&::before{content:\"\";position:absolute;border-left:1px solid #e0e0e0;height:", ";bottom:0;left:0;}&::after{content:\"\";position:absolute;border-left:1px solid #e0e0e0;height:", ";bottom:0;visibility:visible;right:0;}}"], props => props.heightTable ? typeof props.heightTable === 'string' ? props.heightTable : `${props.heightTable}px` : undefined, props => props.heightTable ? `${props.heightTable}px` : undefined);
56
+ const InternalTable = props => {
57
+ const {
58
+ columns,
59
+ // title,
60
+ dataSource,
61
+ // toolbarItems,
62
+ // showColumnChoose,
63
+ ...rest
64
+ } = props;
65
+ const [tmpColumns, setColumns] = (0, _react.useState)([]);
66
+ (0, _react.useEffect)(() => {
67
+ const rs = columns ? [_rcMasterUi.Table.SELECTION_COLUMN, ...columns] : [];
68
+ setColumns(rs);
69
+ }, [columns]);
70
+ const handleResize = indexPath => (e, {
71
+ size
72
+ }) => {
73
+ const updateColumns = (cols, path) => {
74
+ const [currentIndex, ...restPath] = path;
75
+ return cols.map((col, idx) => {
76
+ if (idx === currentIndex) {
77
+ if (restPath.length === 0) {
78
+ // Cập nhật width của cột cuối cùng trong path
79
+ // return { ...col, width: size.width }
80
+
81
+ // Kiểm tra minWidth trước khi cập nhật width
82
+ if (col.minWidth && size.width < col.minWidth) {
83
+ e.preventDefault();
84
+ return col; // Không cập nhật nếu nhỏ hơn minWidth
85
+ }
86
+
87
+ // Kiểm tra minWidth trước khi cập nhật width
88
+ if (col.maxWidth && size.width > col.maxWidth) {
89
+ e.preventDefault();
90
+ return col; // Không cập nhật nếu nhỏ hơn minWidth
91
+ }
92
+ return {
93
+ ...col,
94
+ width: size.width
95
+ };
96
+ } else if (col.children) {
97
+ // Tiếp tục cập nhật các cấp con
98
+ return {
99
+ ...col,
100
+ children: updateColumns(col.children, restPath)
101
+ };
102
+ }
103
+ }
104
+ // e.preventDefault()
105
+ return col;
106
+ });
107
+ };
108
+ setColumns(prevColumns => updateColumns(prevColumns, indexPath));
109
+ };
110
+ const addResizeHandlers = _react.default.useCallback((cols, parentPath = []) => {
111
+ return cols.map((col, index) => {
112
+ const currentPath = [...parentPath, index];
113
+ if (!col?.dataIndex && !col.key) {
114
+ return col;
115
+ }
116
+ if (col.children) {
117
+ return {
118
+ ...col,
119
+ title: col.headerText ?? col.title,
120
+ ellipsis: col.ellipsis !== false,
121
+ children: addResizeHandlers(col.children, currentPath)
122
+ };
123
+ }
124
+ return {
125
+ ...col,
126
+ title: col.headerText ?? col.title,
127
+ ellipsis: col.ellipsis !== false,
128
+ onHeaderCell: () => ({
129
+ width: col.width,
130
+ onResize: handleResize(currentPath)
131
+ })
132
+ };
133
+ });
134
+ }, []);
135
+ const resizableColumns = _react.default.useMemo(() => {
136
+ return addResizeHandlers(tmpColumns);
137
+ }, [addResizeHandlers, tmpColumns]);
138
+ return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(GridStyle, {
139
+ heightTable: props.style?.minHeight,
140
+ style: {
141
+ position: 'relative'
142
+ }
143
+ }, /*#__PURE__*/_react.default.createElement(_TableGrid.default, (0, _extends2.default)({}, rest, {
144
+ dataSource: dataSource,
145
+ components: {
146
+ header: {
147
+ cell: ResizableTitle
148
+ }
149
+ },
150
+ columns: resizableColumns,
151
+ setColumns: setColumns,
152
+ showSorterTooltip: {
153
+ target: 'sorter-icon'
154
+ }
155
+
156
+ // title={() => {
157
+ // return (
158
+ // <Fragment>
159
+ // <div>
160
+ // {title?.(dataSource as any)}
161
+ // </div>
162
+ //
163
+ //
164
+ // {(toolbarItems || showColumnChoose !== false) && (
165
+ // <div style={{display: 'flex', justifyContent: 'space-between'}}>
166
+ //
167
+ // <Toolbar
168
+ // style={{width: '100%'}}
169
+ // items={toolbarItems ?? []}
170
+ // mode={'responsive'}
171
+ // // mode={'scroll'}
172
+ // onClick={(val: any) => {
173
+ // console.log(val)
174
+ // }}
175
+ // />
176
+ //
177
+ // {showColumnChoose && (
178
+ // <ColumnsChoose
179
+ // columns={resizableColumns}
180
+ // setColumns={setColumns}
181
+ // />
182
+ // )}
183
+ //
184
+ // <div />
185
+ // </div>
186
+ // )}
187
+ //
188
+ //
189
+ // </Fragment>
190
+ // )
191
+ // }}
192
+ }))));
193
+ };
194
+ var _default = exports.default = InternalTable;
@@ -0,0 +1,3 @@
1
+ import * as React from 'react';
2
+ declare const ComponentSpinner: () => React.JSX.Element;
3
+ export default ComponentSpinner;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var React = _interopRequireWildcard(require("react"));
9
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
10
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
11
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
12
+ const SpinnerStyle = _styledComponents.default.div.withConfig({
13
+ displayName: "SpinnerStyle",
14
+ componentId: "es-grid-template__sc-180f2ml-0"
15
+ })(["width:1em;height:1em;font-size:20px;display:inline-block;transition:transform 0.3s ease,opacity 0.3s ease;transform-origin:50% 50%;line-height:1;.loading{position:absolute;top:50%;inset-inline-start:50%;margin:-10px;width:55px;height:55px;border-radius:50%;border:3px solid transparent;-webkit-box-sizing:border-box;box-sizing:border-box;.effect-1,.effect-2,.effect-3{width:36px;height:36px;border-radius:50%;border:3px solid transparent;border-left:3px solid #eb4619;-webkit-box-sizing:border-box;box-sizing:border-box;}.effect-1{position:absolute;animation:rotate 1s ease infinite;}.effect-2{position:absolute;animation:rotateOpacity 1s ease infinite 0.1s;}.effect-3{-webkit-animation:rotateOpacity 1s ease infinite 0.2s;animation:rotateOpacity 1s ease infinite 0.2s;}.loading .effects{transition:all 0.3s ease;}}@keyframes rotate{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg);}100%{-webkit-transform:rotate(1turn);transform:rotate(1turn);}}@keyframes rotateOpacity{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg);opacity:0.1;}100%{-webkit-transform:rotate(1turn);transform:rotate(1turn);opacity:1;}}"]);
16
+ const ComponentSpinner = () => {
17
+ return /*#__PURE__*/React.createElement(SpinnerStyle, {
18
+ className: "fallback-spinner"
19
+ }, /*#__PURE__*/React.createElement("div", {
20
+ className: "loading"
21
+ }, /*#__PURE__*/React.createElement("div", {
22
+ className: "effect-1 effects"
23
+ }), /*#__PURE__*/React.createElement("div", {
24
+ className: "effect-2 effects"
25
+ }), /*#__PURE__*/React.createElement("div", {
26
+ className: "effect-3 effects"
27
+ })));
28
+ };
29
+ var _default = exports.default = ComponentSpinner;
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import 'dayjs/locale/es';
3
+ import 'dayjs/locale/vi';
4
+ import './styles.scss';
5
+ import type { GridTableProps } from "./type";
6
+ type GridProps<T> = GridTableProps<T> & {
7
+ setColumns: any;
8
+ };
9
+ declare const TableGrid: <RecordType extends object>(props: GridProps<RecordType>) => React.JSX.Element;
10
+ export default TableGrid;