@coveord/plasma-mantine 52.6.0 → 52.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +3 -3
- package/.turbo/turbo-test.log +31 -30
- package/dist/.tsbuildinfo +1 -1
- package/dist/cjs/components/table/Table.d.ts.map +1 -1
- package/dist/cjs/components/table/Table.js +32 -86
- package/dist/cjs/components/table/Table.js.map +1 -1
- package/dist/cjs/components/table/Table.styles.d.ts +2 -5
- package/dist/cjs/components/table/Table.styles.d.ts.map +1 -1
- package/dist/cjs/components/table/Table.styles.js +7 -45
- package/dist/cjs/components/table/Table.styles.js.map +1 -1
- package/dist/cjs/components/table/Table.types.d.ts +57 -1
- package/dist/cjs/components/table/Table.types.d.ts.map +1 -1
- package/dist/cjs/components/table/TableActions.d.ts +12 -2
- package/dist/cjs/components/table/TableActions.d.ts.map +1 -1
- package/dist/cjs/components/table/TableActions.js +29 -7
- package/dist/cjs/components/table/TableActions.js.map +1 -1
- package/dist/cjs/components/table/TableDateRangePicker.d.ts +12 -1
- package/dist/cjs/components/table/TableDateRangePicker.d.ts.map +1 -1
- package/dist/cjs/components/table/TableDateRangePicker.js +31 -5
- package/dist/cjs/components/table/TableDateRangePicker.js.map +1 -1
- package/dist/cjs/components/table/TableFilter.d.ts +1 -0
- package/dist/cjs/components/table/TableFilter.d.ts.map +1 -1
- package/dist/cjs/components/table/TableFilter.js +3 -1
- package/dist/cjs/components/table/TableFilter.js.map +1 -1
- package/dist/cjs/components/table/TableHeader.d.ts.map +1 -1
- package/dist/cjs/components/table/TableHeader.js +3 -1
- package/dist/cjs/components/table/TableHeader.js.map +1 -1
- package/dist/cjs/components/table/TableLayoutControl.d.ts +3 -0
- package/dist/cjs/components/table/TableLayoutControl.d.ts.map +1 -0
- package/dist/cjs/components/table/TableLayoutControl.js +50 -0
- package/dist/cjs/components/table/TableLayoutControl.js.map +1 -0
- package/dist/cjs/components/table/TableLoading.d.ts +4 -0
- package/dist/cjs/components/table/TableLoading.d.ts.map +1 -0
- package/dist/cjs/components/table/TableLoading.js +28 -0
- package/dist/cjs/components/table/TableLoading.js.map +1 -0
- package/dist/cjs/components/table/TablePredicate.d.ts +12 -2
- package/dist/cjs/components/table/TablePredicate.d.ts.map +1 -1
- package/dist/cjs/components/table/TablePredicate.js +29 -4
- package/dist/cjs/components/table/TablePredicate.js.map +1 -1
- package/dist/cjs/components/table/Th.d.ts.map +1 -1
- package/dist/cjs/components/table/Th.js +2 -1
- package/dist/cjs/components/table/Th.js.map +1 -1
- package/dist/cjs/components/table/index.d.ts +1 -0
- package/dist/cjs/components/table/index.d.ts.map +1 -1
- package/dist/cjs/components/table/index.js +12 -3
- package/dist/cjs/components/table/index.js.map +1 -1
- package/dist/cjs/components/table/layouts/RowLayout.d.ts +3 -0
- package/dist/cjs/components/table/layouts/RowLayout.d.ts.map +1 -0
- package/dist/cjs/components/table/layouts/RowLayout.js +156 -0
- package/dist/cjs/components/table/layouts/RowLayout.js.map +1 -0
- package/dist/cjs/components/table/layouts/TableLayouts.d.ts +4 -0
- package/dist/cjs/components/table/layouts/TableLayouts.d.ts.map +1 -0
- package/dist/cjs/components/table/layouts/TableLayouts.js +16 -0
- package/dist/cjs/components/table/layouts/TableLayouts.js.map +1 -0
- package/dist/cjs/theme/Theme.js +7 -5
- package/dist/cjs/theme/Theme.js.map +1 -1
- package/dist/esm/components/table/Table.d.ts.map +1 -1
- package/dist/esm/components/table/Table.js +35 -89
- package/dist/esm/components/table/Table.js.map +1 -1
- package/dist/esm/components/table/Table.styles.d.ts +2 -5
- package/dist/esm/components/table/Table.styles.d.ts.map +1 -1
- package/dist/esm/components/table/Table.styles.js +7 -45
- package/dist/esm/components/table/Table.styles.js.map +1 -1
- package/dist/esm/components/table/Table.types.d.ts +57 -1
- package/dist/esm/components/table/Table.types.d.ts.map +1 -1
- package/dist/esm/components/table/Table.types.js.map +1 -1
- package/dist/esm/components/table/TableActions.d.ts +12 -2
- package/dist/esm/components/table/TableActions.d.ts.map +1 -1
- package/dist/esm/components/table/TableActions.js +30 -8
- package/dist/esm/components/table/TableActions.js.map +1 -1
- package/dist/esm/components/table/TableDateRangePicker.d.ts +12 -1
- package/dist/esm/components/table/TableDateRangePicker.d.ts.map +1 -1
- package/dist/esm/components/table/TableDateRangePicker.js +32 -6
- package/dist/esm/components/table/TableDateRangePicker.js.map +1 -1
- package/dist/esm/components/table/TableFilter.d.ts +1 -0
- package/dist/esm/components/table/TableFilter.d.ts.map +1 -1
- package/dist/esm/components/table/TableFilter.js +3 -1
- package/dist/esm/components/table/TableFilter.js.map +1 -1
- package/dist/esm/components/table/TableHeader.d.ts.map +1 -1
- package/dist/esm/components/table/TableHeader.js +3 -1
- package/dist/esm/components/table/TableHeader.js.map +1 -1
- package/dist/esm/components/table/TableLayoutControl.d.ts +3 -0
- package/dist/esm/components/table/TableLayoutControl.d.ts.map +1 -0
- package/dist/esm/components/table/TableLayoutControl.js +40 -0
- package/dist/esm/components/table/TableLayoutControl.js.map +1 -0
- package/dist/esm/components/table/TableLoading.d.ts +4 -0
- package/dist/esm/components/table/TableLoading.d.ts.map +1 -0
- package/dist/esm/components/table/TableLoading.js +18 -0
- package/dist/esm/components/table/TableLoading.js.map +1 -0
- package/dist/esm/components/table/TablePredicate.d.ts +12 -2
- package/dist/esm/components/table/TablePredicate.d.ts.map +1 -1
- package/dist/esm/components/table/TablePredicate.js +30 -5
- package/dist/esm/components/table/TablePredicate.js.map +1 -1
- package/dist/esm/components/table/Th.d.ts.map +1 -1
- package/dist/esm/components/table/Th.js +2 -1
- package/dist/esm/components/table/Th.js.map +1 -1
- package/dist/esm/components/table/index.d.ts +1 -0
- package/dist/esm/components/table/index.d.ts.map +1 -1
- package/dist/esm/components/table/index.js +1 -0
- package/dist/esm/components/table/index.js.map +1 -1
- package/dist/esm/components/table/layouts/RowLayout.d.ts +3 -0
- package/dist/esm/components/table/layouts/RowLayout.d.ts.map +1 -0
- package/dist/esm/components/table/layouts/RowLayout.js +146 -0
- package/dist/esm/components/table/layouts/RowLayout.js.map +1 -0
- package/dist/esm/components/table/layouts/TableLayouts.d.ts +4 -0
- package/dist/esm/components/table/layouts/TableLayouts.d.ts.map +1 -0
- package/dist/esm/components/table/layouts/TableLayouts.js +6 -0
- package/dist/esm/components/table/layouts/TableLayouts.js.map +1 -0
- package/dist/esm/theme/Theme.js +7 -5
- package/dist/esm/theme/Theme.js.map +1 -1
- package/package.json +6 -6
- package/src/components/table/Table.styles.ts +33 -88
- package/src/components/table/Table.tsx +39 -86
- package/src/components/table/Table.types.ts +59 -0
- package/src/components/table/TableActions.tsx +22 -6
- package/src/components/table/TableDateRangePicker.tsx +27 -6
- package/src/components/table/TableFilter.tsx +4 -3
- package/src/components/table/TableHeader.tsx +2 -0
- package/src/components/table/TableLayoutControl.tsx +29 -0
- package/src/components/table/TableLoading.tsx +8 -0
- package/src/components/table/TablePredicate.tsx +24 -7
- package/src/components/table/Th.tsx +1 -0
- package/src/components/table/__tests__/Table.spec.tsx +121 -369
- package/src/components/table/index.ts +1 -0
- package/src/components/table/layouts/RowLayout.tsx +150 -0
- package/src/components/table/layouts/TableLayouts.tsx +5 -0
- package/src/components/table/layouts/__tests__/RowLayout.spec.tsx +296 -0
- package/src/theme/Theme.tsx +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../../src/components/table/Table.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../../src/components/table/Table.tsx"],"names":[],"mappings":"AASA,OAAO,EAAwC,SAAS,EAAC,MAAM,eAAe,CAAC;AAiB/E,eAAO,MAAM,KAAK,EAAE,SAwKnB,CAAC"}
|
|
@@ -8,7 +8,6 @@ Object.defineProperty(exports, "Table", {
|
|
|
8
8
|
return Table;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
var _define_property = require("@swc/helpers/_/_define_property");
|
|
12
11
|
var _interop_require_default = require("@swc/helpers/_/_interop_require_default");
|
|
13
12
|
var _object_spread = require("@swc/helpers/_/_object_spread");
|
|
14
13
|
var _object_spread_props = require("@swc/helpers/_/_object_spread_props");
|
|
@@ -35,22 +34,13 @@ var _TablePagination = require("./TablePagination");
|
|
|
35
34
|
var _TablePerPage = require("./TablePerPage");
|
|
36
35
|
var _TablePredicate = require("./TablePredicate");
|
|
37
36
|
var _TableSelectableColumn = require("./TableSelectableColumn");
|
|
38
|
-
var _Th = require("./Th");
|
|
39
37
|
var _useRowSelection = require("./useRowSelection");
|
|
40
|
-
var
|
|
41
|
-
|
|
42
|
-
style: {
|
|
43
|
-
display: "inline-block"
|
|
44
|
-
}
|
|
45
|
-
}, props), {
|
|
46
|
-
sx: !props.visible ? {
|
|
47
|
-
borderRadius: 0
|
|
48
|
-
} : undefined,
|
|
49
|
-
children: props.children
|
|
50
|
-
}));
|
|
51
|
-
};
|
|
38
|
+
var _TableLoading = require("./TableLoading");
|
|
39
|
+
var _TableLayouts = require("./layouts/TableLayouts");
|
|
52
40
|
var Table = function(param) {
|
|
53
|
-
var data = param.data, getRowId = param.getRowId, noDataChildren = param.noDataChildren, getExpandChildren = param.getExpandChildren, _param_initialState = param.initialState, initialState = _param_initialState === void 0 ? {} : _param_initialState, columns = param.columns,
|
|
41
|
+
var data = param.data, getRowId = param.getRowId, noDataChildren = param.noDataChildren, getExpandChildren = param.getExpandChildren, _param_initialState = param.initialState, initialState = _param_initialState === void 0 ? {} : _param_initialState, columns = param.columns, _param_layouts = param.layouts, layouts = _param_layouts === void 0 ? [
|
|
42
|
+
_TableLayouts.TableLayouts.Rows
|
|
43
|
+
] : _param_layouts, onMount = param.onMount, onChange = param.onChange, children = param.children, _param_loading = param.loading, loading = _param_loading === void 0 ? false : _param_loading, doubleClickAction = param.doubleClickAction, multiRowSelectionEnabled = param.multiRowSelectionEnabled, disableRowSelection = param.disableRowSelection, onRowSelectionChange = param.onRowSelectionChange, _param_options = param.options, options = _param_options === void 0 ? {} : _param_options;
|
|
54
44
|
var _form_values, _form_values_dateRange, _form_values_dateRange1;
|
|
55
45
|
var convertedChildren = _react.Children.toArray(children);
|
|
56
46
|
var header = convertedChildren.find(function(child) {
|
|
@@ -66,20 +56,18 @@ var Table = function(param) {
|
|
|
66
56
|
"predicates",
|
|
67
57
|
"dateRange"
|
|
68
58
|
]);
|
|
69
|
-
var _initialState_predicates, _initialState_dateRange;
|
|
59
|
+
var _initialState_predicates, _initialState_dateRange, _initialState_layout;
|
|
70
60
|
var form = (0, _form.useForm)({
|
|
71
61
|
initialValues: {
|
|
72
62
|
predicates: (_initialState_predicates = initialState === null || initialState === void 0 ? void 0 : initialState.predicates) !== null && _initialState_predicates !== void 0 ? _initialState_predicates : {},
|
|
73
63
|
dateRange: (_initialState_dateRange = initialState === null || initialState === void 0 ? void 0 : initialState.dateRange) !== null && _initialState_dateRange !== void 0 ? _initialState_dateRange : [
|
|
74
64
|
null,
|
|
75
65
|
null
|
|
76
|
-
]
|
|
66
|
+
],
|
|
67
|
+
layout: (_initialState_layout = initialState === null || initialState === void 0 ? void 0 : initialState.layout) !== null && _initialState_layout !== void 0 ? _initialState_layout : layouts[0].name
|
|
77
68
|
}
|
|
78
69
|
});
|
|
79
|
-
var
|
|
80
|
-
multiRowSelectionEnabled: multiRowSelectionEnabled,
|
|
81
|
-
disableRowSelection: disableRowSelection
|
|
82
|
-
}), cx = _useStyles.cx, classes = _useStyles.classes;
|
|
70
|
+
var classes = (0, _Tablestyles.default)().classes;
|
|
83
71
|
var _ref;
|
|
84
72
|
var table = (0, _reacttable.useReactTable)(_object_spread._({
|
|
85
73
|
initialState: (0, _lodashdefaultsdeep.default)(initialStateWithoutForm, {
|
|
@@ -133,7 +121,8 @@ var Table = function(param) {
|
|
|
133
121
|
state.globalFilter,
|
|
134
122
|
state.pagination,
|
|
135
123
|
state.sorting,
|
|
136
|
-
form.values
|
|
124
|
+
JSON.stringify(form.values.dateRange),
|
|
125
|
+
JSON.stringify(form.values.predicates)
|
|
137
126
|
]);
|
|
138
127
|
var clearFilters = (0, _react.useCallback)(function() {
|
|
139
128
|
var _initialState_predicates;
|
|
@@ -152,58 +141,11 @@ var Table = function(param) {
|
|
|
152
141
|
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Loader, {})
|
|
153
142
|
});
|
|
154
143
|
}
|
|
155
|
-
var
|
|
156
|
-
var
|
|
157
|
-
|
|
158
|
-
var isSelected = !!row.getIsSelected();
|
|
159
|
-
var _obj;
|
|
160
|
-
return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_react.Fragment, {
|
|
161
|
-
children: [
|
|
162
|
-
/*#__PURE__*/ (0, _jsxruntime.jsx)("tr", {
|
|
163
|
-
onClick: function() {
|
|
164
|
-
return disableRowSelection ? undefined : row.toggleSelected();
|
|
165
|
-
},
|
|
166
|
-
onDoubleClick: function() {
|
|
167
|
-
return doubleClickAction === null || doubleClickAction === void 0 ? void 0 : doubleClickAction(row.original);
|
|
168
|
-
},
|
|
169
|
-
className: cx(classes.row, (_obj = {}, _define_property._(_obj, classes.rowSelected, isSelected), _define_property._(_obj, classes.rowUnselectable, disableRowSelection), _obj)),
|
|
170
|
-
"aria-selected": isSelected,
|
|
171
|
-
children: row.getVisibleCells().map(function(cell) {
|
|
172
|
-
var size = cell.column.getSize();
|
|
173
|
-
var width = size !== _reacttable.defaultColumnSizing.size ? size : undefined;
|
|
174
|
-
return /*#__PURE__*/ (0, _jsxruntime.jsx)("td", {
|
|
175
|
-
style: {
|
|
176
|
-
width: width
|
|
177
|
-
},
|
|
178
|
-
className: cx(_define_property._({}, classes.rowCollapsibleButtonCell, cell.column.id === _TableCollapsibleColumn.TableCollapsibleColumn.id)),
|
|
179
|
-
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(LoadingSkeleton, {
|
|
180
|
-
visible: loading,
|
|
181
|
-
children: (0, _reacttable.flexRender)(cell.column.columnDef.cell, cell.getContext())
|
|
182
|
-
})
|
|
183
|
-
}, cell.id);
|
|
184
|
-
})
|
|
185
|
-
}),
|
|
186
|
-
rowChildren ? /*#__PURE__*/ (0, _jsxruntime.jsx)("tr", {
|
|
187
|
-
children: /*#__PURE__*/ (0, _jsxruntime.jsx)("td", {
|
|
188
|
-
colSpan: table.getAllColumns().length,
|
|
189
|
-
style: {
|
|
190
|
-
padding: 0,
|
|
191
|
-
borderTop: row.getIsExpanded() ? undefined : "none",
|
|
192
|
-
borderBottom: row.getIsExpanded() ? undefined : "none"
|
|
193
|
-
},
|
|
194
|
-
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Collapse, {
|
|
195
|
-
in: row.getIsExpanded(),
|
|
196
|
-
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Box, {
|
|
197
|
-
px: "sm",
|
|
198
|
-
py: "xs",
|
|
199
|
-
children: rowChildren
|
|
200
|
-
})
|
|
201
|
-
})
|
|
202
|
-
})
|
|
203
|
-
}) : null
|
|
204
|
-
]
|
|
205
|
-
}, row.id);
|
|
144
|
+
var Layout = layouts.find(function(param) {
|
|
145
|
+
var name = param.name;
|
|
146
|
+
return name === form.values.layout;
|
|
206
147
|
});
|
|
148
|
+
var hasRows = table.getRowModel().rows.length > 0;
|
|
207
149
|
return /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Box, {
|
|
208
150
|
ref: outsideClickRef,
|
|
209
151
|
children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_TableContext.TableContext.Provider, {
|
|
@@ -220,11 +162,12 @@ var Table = function(param) {
|
|
|
220
162
|
containerRef: outsideClickRef,
|
|
221
163
|
multiRowSelectionEnabled: multiRowSelectionEnabled,
|
|
222
164
|
getPageCount: table.getPageCount,
|
|
223
|
-
disableRowSelection: disableRowSelection
|
|
165
|
+
disableRowSelection: disableRowSelection,
|
|
166
|
+
layouts: layouts
|
|
224
167
|
},
|
|
225
168
|
children: [
|
|
226
169
|
consumer,
|
|
227
|
-
!
|
|
170
|
+
!hasRows && !isFiltered && !loading ? noDataChildren : /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
|
|
228
171
|
children: [
|
|
229
172
|
/*#__PURE__*/ (0, _jsxruntime.jsxs)(_core.Table, {
|
|
230
173
|
className: classes.table,
|
|
@@ -246,23 +189,24 @@ var Table = function(param) {
|
|
|
246
189
|
children: header
|
|
247
190
|
})
|
|
248
191
|
}) : null,
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
header: columnHeader
|
|
255
|
-
}, columnHeader.id);
|
|
256
|
-
})
|
|
257
|
-
}, headerGroup.id);
|
|
192
|
+
/*#__PURE__*/ (0, _jsxruntime.jsx)(Layout.Header, {
|
|
193
|
+
table: table,
|
|
194
|
+
doubleClickAction: doubleClickAction,
|
|
195
|
+
getExpandChildren: getExpandChildren,
|
|
196
|
+
loading: loading
|
|
258
197
|
})
|
|
259
198
|
]
|
|
260
199
|
}),
|
|
261
200
|
/*#__PURE__*/ (0, _jsxruntime.jsx)("tbody", {
|
|
262
|
-
children:
|
|
201
|
+
children: hasRows ? /*#__PURE__*/ (0, _jsxruntime.jsx)(Layout.Body, {
|
|
202
|
+
table: table,
|
|
203
|
+
doubleClickAction: doubleClickAction,
|
|
204
|
+
getExpandChildren: getExpandChildren,
|
|
205
|
+
loading: loading
|
|
206
|
+
}) : /*#__PURE__*/ (0, _jsxruntime.jsx)("tr", {
|
|
263
207
|
children: /*#__PURE__*/ (0, _jsxruntime.jsx)("td", {
|
|
264
208
|
colSpan: table.getAllColumns().length,
|
|
265
|
-
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(
|
|
209
|
+
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_TableLoading.TableLoading, {
|
|
266
210
|
visible: loading,
|
|
267
211
|
children: noDataChildren
|
|
268
212
|
})
|
|
@@ -290,5 +234,7 @@ Table.CollapsibleColumn = _TableCollapsibleColumn.TableCollapsibleColumn;
|
|
|
290
234
|
Table.AccordionColumn = _TableCollapsibleColumn.TableAccordionColumn;
|
|
291
235
|
Table.DateRangePicker = _TableDateRangePicker.TableDateRangePicker;
|
|
292
236
|
Table.Consumer = _TableConsumer.TableConsumer;
|
|
237
|
+
Table.Loading = _TableLoading.TableLoading;
|
|
238
|
+
Table.Layouts = _TableLayouts.TableLayouts;
|
|
293
239
|
|
|
294
240
|
//# sourceMappingURL=Table.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/table/Table.tsx"],"sourcesContent":["import {Box, Center, Collapse, Loader, Table as MantineTable, Skeleton, SkeletonProps} from '@mantine/core';\nimport {useForm} from '@mantine/form';\nimport {useDidUpdate} from '@mantine/hooks';\nimport {\n ColumnDef,\n Row,\n TableState as TanstackTableState,\n defaultColumnSizing,\n flexRender,\n getCoreRowModel,\n useReactTable,\n} from '@tanstack/react-table';\nimport debounce from 'lodash.debounce';\nimport defaultsDeep from 'lodash.defaultsdeep';\nimport {Children, Dispatch, FC, Fragment, ReactElement, useCallback, useEffect, useState} from 'react';\n\nimport useStyles from './Table.styles';\nimport {TableFormType, TableProps, TableState, TableType} from './Table.types';\nimport {TableActions} from './TableActions';\nimport {TableAccordionColumn, TableCollapsibleColumn} from './TableCollapsibleColumn';\nimport {TableConsumer} from './TableConsumer';\nimport {TableContext} from './TableContext';\nimport {TableDateRangePicker} from './TableDateRangePicker';\nimport {TableFilter} from './TableFilter';\nimport {TableFooter} from './TableFooter';\nimport {TableHeader} from './TableHeader';\nimport {TablePagination} from './TablePagination';\nimport {TablePerPage} from './TablePerPage';\nimport {TablePredicate} from './TablePredicate';\nimport {TableSelectableColumn} from './TableSelectableColumn';\nimport {Th} from './Th';\nimport {useRowSelection} from './useRowSelection';\n\nconst LoadingSkeleton: FC<SkeletonProps> = (props) => (\n <Skeleton style={{display: 'inline-block'}} {...props} sx={!props.visible ? {borderRadius: 0} : undefined}>\n {props.children}\n </Skeleton>\n);\n\nexport const Table: TableType = <T,>({\n data,\n getRowId,\n noDataChildren,\n getExpandChildren,\n initialState = {},\n columns,\n onMount,\n onChange,\n children,\n loading = false,\n doubleClickAction,\n multiRowSelectionEnabled,\n disableRowSelection,\n onRowSelectionChange,\n options = {},\n}: TableProps<T>) => {\n const convertedChildren = Children.toArray(children) as ReactElement[];\n const header = convertedChildren.find((child) => child.type === TableHeader);\n const footer = convertedChildren.find((child) => child.type === TableFooter);\n const consumer = convertedChildren.find((child) => child.type === TableConsumer);\n\n const {predicates, dateRange, ...initialStateWithoutForm} = initialState;\n const form = useForm<TableFormType>({\n initialValues: {predicates: initialState?.predicates ?? {}, dateRange: initialState?.dateRange ?? [null, null]},\n });\n const {cx, classes} = useStyles({multiRowSelectionEnabled, disableRowSelection});\n\n const table = useReactTable({\n initialState: defaultsDeep(initialStateWithoutForm, {pagination: {pageSize: TablePerPage.DEFAULT_SIZE}}),\n data,\n columns: multiRowSelectionEnabled ? [TableSelectableColumn as ColumnDef<T>].concat(columns) : columns,\n getCoreRowModel: getCoreRowModel(),\n manualPagination: options?.getPaginationRowModel === undefined,\n enableMultiRowSelection: !!multiRowSelectionEnabled,\n getRowId,\n getRowCanExpand: (row: Row<T>) => !!getExpandChildren?.(row.original) ?? false,\n enableRowSelection: !loading,\n ...options,\n });\n\n const [state, setState] = useState<TableState<T>>(table.initialState as TableState<T>);\n table.setOptions((prev) => ({\n ...prev,\n state: state as TanstackTableState,\n onStateChange: setState as Dispatch<React.SetStateAction<TanstackTableState>>,\n }));\n const {clearSelection, getSelectedRow, getSelectedRows, outsideClickRef} = useRowSelection(table, {\n multiRowSelectionEnabled,\n onRowSelectionChange,\n });\n const isFiltered =\n !!state.globalFilter ||\n Object.keys(form.values?.predicates ?? {}).some((predicate) => !!form.values.predicates[predicate]) ||\n !!form.values.dateRange?.[0] ||\n !!form.values.dateRange?.[1];\n\n const triggerChange = debounce(() => onChange?.({...state, ...form.values}), 500);\n\n useEffect(() => {\n onMount?.({...state, ...form.values});\n return () => {\n triggerChange.cancel();\n };\n }, []);\n\n useDidUpdate(() => {\n triggerChange();\n if (!multiRowSelectionEnabled) {\n clearSelection();\n }\n }, [state.globalFilter, state.pagination, state.sorting, form.values]);\n\n const clearFilters = useCallback(() => {\n form.setFieldValue('predicates', initialState.predicates ?? {});\n setState((prevState) => ({...prevState, globalFilter: ''}));\n }, []);\n\n if (!data) {\n return (\n <Center sx={{flexGrow: 1}}>\n <Loader />\n </Center>\n );\n }\n\n const rows = table.getRowModel().rows.map((row) => {\n const rowChildren = getExpandChildren?.(row.original) ?? null;\n const isSelected = !!row.getIsSelected();\n\n return (\n <Fragment key={row.id}>\n <tr\n onClick={() => (disableRowSelection ? undefined : row.toggleSelected())}\n onDoubleClick={() => doubleClickAction?.(row.original)}\n className={cx(classes.row, {\n [classes.rowSelected]: isSelected,\n [classes.rowUnselectable]: disableRowSelection,\n })}\n aria-selected={isSelected}\n >\n {row.getVisibleCells().map((cell) => {\n const size = cell.column.getSize();\n const width = size !== defaultColumnSizing.size ? size : undefined;\n return (\n <td\n key={cell.id}\n style={{width}}\n className={cx({\n [classes.rowCollapsibleButtonCell]: cell.column.id === TableCollapsibleColumn.id,\n })}\n >\n <LoadingSkeleton visible={loading}>\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </LoadingSkeleton>\n </td>\n );\n })}\n </tr>\n {rowChildren ? (\n <tr>\n <td\n colSpan={table.getAllColumns().length}\n style={{\n padding: 0,\n borderTop: row.getIsExpanded() ? undefined : 'none',\n borderBottom: row.getIsExpanded() ? undefined : 'none',\n }}\n >\n <Collapse in={row.getIsExpanded()}>\n <Box px=\"sm\" py=\"xs\">\n {rowChildren}\n </Box>\n </Collapse>\n </td>\n </tr>\n ) : null}\n </Fragment>\n );\n });\n\n return (\n <Box ref={outsideClickRef}>\n <TableContext.Provider\n value={{\n onChange: triggerChange,\n state,\n isFiltered,\n setState,\n clearFilters,\n getSelectedRow,\n getSelectedRows,\n clearSelection,\n form,\n containerRef: outsideClickRef,\n multiRowSelectionEnabled,\n getPageCount: table.getPageCount,\n disableRowSelection,\n }}\n >\n {consumer}\n {!rows.length && !isFiltered && !loading ? (\n noDataChildren\n ) : (\n <>\n <MantineTable className={classes.table} horizontalSpacing=\"sm\" verticalSpacing=\"xs\" pb=\"sm\">\n <thead className={classes.header}>\n {!!header ? (\n <tr>\n <th\n // need to use inline style because Mantine define style on `.mantine-{id} thead tr th`\n style={{padding: 0, fontWeight: 'unset'}}\n colSpan={table.getAllColumns().length}\n >\n {header}\n </th>\n </tr>\n ) : null}\n {table.getHeaderGroups().map((headerGroup) => (\n <tr key={headerGroup.id} className={classes.headerColumns}>\n {headerGroup.headers.map((columnHeader) => (\n <Th key={columnHeader.id} header={columnHeader} />\n ))}\n </tr>\n ))}\n </thead>\n <tbody>\n {rows.length ? (\n rows\n ) : (\n <tr>\n <td colSpan={table.getAllColumns().length}>\n <LoadingSkeleton visible={loading}>{noDataChildren}</LoadingSkeleton>\n </td>\n </tr>\n )}\n </tbody>\n </MantineTable>\n {footer}\n </>\n )}\n </TableContext.Provider>\n </Box>\n );\n};\n\nTable.Actions = TableActions;\nTable.Filter = TableFilter;\nTable.Footer = TableFooter;\nTable.Header = TableHeader;\nTable.Pagination = TablePagination;\nTable.Predicate = TablePredicate;\nTable.PerPage = TablePerPage;\nTable.Predicate = TablePredicate;\nTable.CollapsibleColumn = TableCollapsibleColumn;\nTable.AccordionColumn = TableAccordionColumn;\nTable.DateRangePicker = TableDateRangePicker;\nTable.Consumer = TableConsumer;\n"],"names":["Table","LoadingSkeleton","props","Skeleton","style","display","sx","visible","borderRadius","undefined","children","data","getRowId","noDataChildren","getExpandChildren","initialState","columns","onMount","onChange","loading","doubleClickAction","multiRowSelectionEnabled","disableRowSelection","onRowSelectionChange","options","form","convertedChildren","Children","toArray","header","find","child","type","TableHeader","footer","TableFooter","consumer","TableConsumer","predicates","dateRange","initialStateWithoutForm","useForm","initialValues","useStyles","cx","classes","table","useReactTable","defaultsDeep","pagination","pageSize","TablePerPage","DEFAULT_SIZE","TableSelectableColumn","concat","getCoreRowModel","manualPagination","getPaginationRowModel","enableMultiRowSelection","getRowCanExpand","row","original","enableRowSelection","useState","state","setState","setOptions","prev","onStateChange","useRowSelection","clearSelection","getSelectedRow","getSelectedRows","outsideClickRef","isFiltered","globalFilter","Object","keys","values","some","predicate","triggerChange","debounce","useEffect","cancel","useDidUpdate","sorting","clearFilters","useCallback","setFieldValue","prevState","Center","flexGrow","Loader","rows","getRowModel","map","rowChildren","isSelected","getIsSelected","Fragment","tr","onClick","toggleSelected","onDoubleClick","className","rowSelected","rowUnselectable","aria-selected","getVisibleCells","cell","size","column","getSize","width","defaultColumnSizing","td","rowCollapsibleButtonCell","id","TableCollapsibleColumn","flexRender","columnDef","getContext","colSpan","getAllColumns","length","padding","borderTop","getIsExpanded","borderBottom","Collapse","in","Box","px","py","ref","TableContext","Provider","value","containerRef","getPageCount","MantineTable","horizontalSpacing","verticalSpacing","pb","thead","th","fontWeight","getHeaderGroups","headerGroup","headerColumns","headers","columnHeader","Th","tbody","Actions","TableActions","Filter","TableFilter","Footer","Header","Pagination","TablePagination","Predicate","TablePredicate","PerPage","CollapsibleColumn","AccordionColumn","TableAccordionColumn","DateRangePicker","TableDateRangePicker","Consumer"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/table/Table.tsx"],"sourcesContent":["import {Box, Center, Loader, Table as MantineTable} from '@mantine/core';\nimport {useForm} from '@mantine/form';\nimport {useDidUpdate} from '@mantine/hooks';\nimport {ColumnDef, Row, TableState as TanstackTableState, getCoreRowModel, useReactTable} from '@tanstack/react-table';\nimport debounce from 'lodash.debounce';\nimport defaultsDeep from 'lodash.defaultsdeep';\nimport {Children, Dispatch, ReactElement, useCallback, useEffect, useState} from 'react';\n\nimport useStyles from './Table.styles';\nimport {TableFormType, TableProps, TableState, TableType} from './Table.types';\nimport {TableActions} from './TableActions';\nimport {TableAccordionColumn, TableCollapsibleColumn} from './TableCollapsibleColumn';\nimport {TableConsumer} from './TableConsumer';\nimport {TableContext} from './TableContext';\nimport {TableDateRangePicker} from './TableDateRangePicker';\nimport {TableFilter} from './TableFilter';\nimport {TableFooter} from './TableFooter';\nimport {TableHeader} from './TableHeader';\nimport {TablePagination} from './TablePagination';\nimport {TablePerPage} from './TablePerPage';\nimport {TablePredicate} from './TablePredicate';\nimport {TableSelectableColumn} from './TableSelectableColumn';\nimport {useRowSelection} from './useRowSelection';\nimport {TableLoading} from './TableLoading';\nimport {TableLayouts} from './layouts/TableLayouts';\n\nexport const Table: TableType = <T,>({\n data,\n getRowId,\n noDataChildren,\n getExpandChildren,\n initialState = {},\n columns,\n layouts = [TableLayouts.Rows],\n onMount,\n onChange,\n children,\n loading = false,\n doubleClickAction,\n multiRowSelectionEnabled,\n disableRowSelection,\n onRowSelectionChange,\n options = {},\n}: TableProps<T>) => {\n const convertedChildren = Children.toArray(children) as ReactElement[];\n const header = convertedChildren.find((child) => child.type === TableHeader);\n const footer = convertedChildren.find((child) => child.type === TableFooter);\n const consumer = convertedChildren.find((child) => child.type === TableConsumer);\n\n const {predicates, dateRange, ...initialStateWithoutForm} = initialState;\n const form = useForm<TableFormType>({\n initialValues: {\n predicates: initialState?.predicates ?? {},\n dateRange: initialState?.dateRange ?? [null, null],\n layout: initialState?.layout ?? layouts[0].name,\n },\n });\n const {classes} = useStyles();\n\n const table = useReactTable({\n initialState: defaultsDeep(initialStateWithoutForm, {pagination: {pageSize: TablePerPage.DEFAULT_SIZE}}),\n data,\n columns: multiRowSelectionEnabled ? [TableSelectableColumn as ColumnDef<T>].concat(columns) : columns,\n getCoreRowModel: getCoreRowModel(),\n manualPagination: options?.getPaginationRowModel === undefined,\n enableMultiRowSelection: !!multiRowSelectionEnabled,\n getRowId,\n getRowCanExpand: (row: Row<T>) => !!getExpandChildren?.(row.original) ?? false,\n enableRowSelection: !loading,\n ...options,\n });\n\n const [state, setState] = useState<TableState<T>>(table.initialState as TableState<T>);\n table.setOptions((prev) => ({\n ...prev,\n state: state as TanstackTableState,\n onStateChange: setState as Dispatch<React.SetStateAction<TanstackTableState>>,\n }));\n const {clearSelection, getSelectedRow, getSelectedRows, outsideClickRef} = useRowSelection(table, {\n multiRowSelectionEnabled,\n onRowSelectionChange,\n });\n const isFiltered =\n !!state.globalFilter ||\n Object.keys(form.values?.predicates ?? {}).some((predicate) => !!form.values.predicates[predicate]) ||\n !!form.values.dateRange?.[0] ||\n !!form.values.dateRange?.[1];\n\n const triggerChange = debounce(() => onChange?.({...state, ...form.values}), 500);\n\n useEffect(() => {\n onMount?.({...state, ...form.values});\n return () => {\n triggerChange.cancel();\n };\n }, []);\n\n useDidUpdate(() => {\n triggerChange();\n if (!multiRowSelectionEnabled) {\n clearSelection();\n }\n }, [\n state.globalFilter,\n state.pagination,\n state.sorting,\n JSON.stringify(form.values.dateRange),\n JSON.stringify(form.values.predicates),\n ]);\n\n const clearFilters = useCallback(() => {\n form.setFieldValue('predicates', initialState.predicates ?? {});\n setState((prevState) => ({...prevState, globalFilter: ''}));\n }, []);\n\n if (!data) {\n return (\n <Center sx={{flexGrow: 1}}>\n <Loader />\n </Center>\n );\n }\n\n const Layout = layouts.find(({name}) => name === form.values.layout);\n const hasRows = table.getRowModel().rows.length > 0;\n\n return (\n <Box ref={outsideClickRef}>\n <TableContext.Provider\n value={{\n onChange: triggerChange,\n state,\n isFiltered,\n setState,\n clearFilters,\n getSelectedRow,\n getSelectedRows,\n clearSelection,\n form,\n containerRef: outsideClickRef,\n multiRowSelectionEnabled,\n getPageCount: table.getPageCount,\n disableRowSelection,\n layouts,\n }}\n >\n {consumer}\n {!hasRows && !isFiltered && !loading ? (\n noDataChildren\n ) : (\n <>\n <MantineTable className={classes.table} horizontalSpacing=\"sm\" verticalSpacing=\"xs\" pb=\"sm\">\n <thead className={classes.header}>\n {!!header ? (\n <tr>\n <th\n // need to use inline style because Mantine define style on `.mantine-{id} thead tr th`\n style={{padding: 0, fontWeight: 'unset'}}\n colSpan={table.getAllColumns().length}\n >\n {header}\n </th>\n </tr>\n ) : null}\n <Layout.Header\n table={table}\n doubleClickAction={doubleClickAction}\n getExpandChildren={getExpandChildren}\n loading={loading}\n />\n </thead>\n <tbody>\n {hasRows ? (\n <Layout.Body\n table={table}\n doubleClickAction={doubleClickAction}\n getExpandChildren={getExpandChildren}\n loading={loading}\n />\n ) : (\n <tr>\n <td colSpan={table.getAllColumns().length}>\n <TableLoading visible={loading}>{noDataChildren}</TableLoading>\n </td>\n </tr>\n )}\n </tbody>\n </MantineTable>\n {footer}\n </>\n )}\n </TableContext.Provider>\n </Box>\n );\n};\n\nTable.Actions = TableActions;\nTable.Filter = TableFilter;\nTable.Footer = TableFooter;\nTable.Header = TableHeader;\nTable.Pagination = TablePagination;\nTable.Predicate = TablePredicate;\nTable.PerPage = TablePerPage;\nTable.Predicate = TablePredicate;\nTable.CollapsibleColumn = TableCollapsibleColumn;\nTable.AccordionColumn = TableAccordionColumn;\nTable.DateRangePicker = TableDateRangePicker;\nTable.Consumer = TableConsumer;\nTable.Loading = TableLoading;\nTable.Layouts = TableLayouts;\n"],"names":["Table","data","getRowId","noDataChildren","getExpandChildren","initialState","columns","layouts","TableLayouts","Rows","onMount","onChange","children","loading","doubleClickAction","multiRowSelectionEnabled","disableRowSelection","onRowSelectionChange","options","form","convertedChildren","Children","toArray","header","find","child","type","TableHeader","footer","TableFooter","consumer","TableConsumer","predicates","dateRange","initialStateWithoutForm","useForm","initialValues","layout","name","classes","useStyles","table","useReactTable","defaultsDeep","pagination","pageSize","TablePerPage","DEFAULT_SIZE","TableSelectableColumn","concat","getCoreRowModel","manualPagination","getPaginationRowModel","undefined","enableMultiRowSelection","getRowCanExpand","row","original","enableRowSelection","useState","state","setState","setOptions","prev","onStateChange","useRowSelection","clearSelection","getSelectedRow","getSelectedRows","outsideClickRef","isFiltered","globalFilter","Object","keys","values","some","predicate","triggerChange","debounce","useEffect","cancel","useDidUpdate","sorting","JSON","stringify","clearFilters","useCallback","setFieldValue","prevState","Center","sx","flexGrow","Loader","Layout","hasRows","getRowModel","rows","length","Box","ref","TableContext","Provider","value","containerRef","getPageCount","MantineTable","className","horizontalSpacing","verticalSpacing","pb","thead","tr","th","style","padding","fontWeight","colSpan","getAllColumns","Header","tbody","Body","td","TableLoading","visible","Actions","TableActions","Filter","TableFilter","Footer","Pagination","TablePagination","Predicate","TablePredicate","PerPage","CollapsibleColumn","TableCollapsibleColumn","AccordionColumn","TableAccordionColumn","DateRangePicker","TableDateRangePicker","Consumer","Loading","Layouts"],"mappings":"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"}
|
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
multiRowSelectionEnabled: boolean;
|
|
3
|
-
disableRowSelection: boolean;
|
|
4
|
-
}
|
|
5
|
-
declare const useStyles: (params: TableStylesParams, options?: import("@mantine/core").UseStylesOptions<string>) => {
|
|
1
|
+
declare const useStyles: (params: void, options?: import("@mantine/core").UseStylesOptions<string>) => {
|
|
6
2
|
classes: {
|
|
7
3
|
[x: string]: string;
|
|
8
4
|
};
|
|
@@ -15,6 +11,7 @@ export declare const TableComponentsOrder: {
|
|
|
15
11
|
Predicate: number;
|
|
16
12
|
Filter: number;
|
|
17
13
|
DateRangePicker: number;
|
|
14
|
+
LayoutControl: number;
|
|
18
15
|
};
|
|
19
16
|
export default useStyles;
|
|
20
17
|
//# sourceMappingURL=Table.styles.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/table/Table.styles.ts"],"names":[],"mappings":"AAEA,
|
|
1
|
+
{"version":3,"file":"Table.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/table/Table.styles.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,SAAS;;;;;;CA8BZ,CAAC;AAEJ,eAAO,MAAM,oBAAoB;;;;;;;CAOhC,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -17,9 +17,7 @@ _export(exports, {
|
|
|
17
17
|
}
|
|
18
18
|
});
|
|
19
19
|
var _core = require("@mantine/core");
|
|
20
|
-
var useStyles = (0, _core.createStyles)(function(theme
|
|
21
|
-
var multiRowSelectionEnabled = param.multiRowSelectionEnabled, disableRowSelection = param.disableRowSelection;
|
|
22
|
-
var rowBackgroundColor = theme.colorScheme === "dark" ? theme.fn.rgba(theme.colors[theme.primaryColor][7], 0.2) : theme.colors[theme.primaryColor][0];
|
|
20
|
+
var useStyles = (0, _core.createStyles)(function(theme) {
|
|
23
21
|
return {
|
|
24
22
|
table: {
|
|
25
23
|
width: "100%",
|
|
@@ -47,52 +45,16 @@ var useStyles = (0, _core.createStyles)(function(theme, param) {
|
|
|
47
45
|
bottom: 0,
|
|
48
46
|
borderBottom: "1px solid ".concat(theme.colors.gray[3])
|
|
49
47
|
}
|
|
50
|
-
},
|
|
51
|
-
headerColumns: {
|
|
52
|
-
"& th:first-of-type > *": {
|
|
53
|
-
paddingLeft: theme.spacing.xl
|
|
54
|
-
},
|
|
55
|
-
"& input[type=checkbox]": {
|
|
56
|
-
backgroundColor: disableRowSelection ? "".concat(theme.colors.gray[2]) : undefined,
|
|
57
|
-
borderColor: disableRowSelection ? "".concat(theme.colors.gray[3]) : "".concat(theme.colors.gray[4]),
|
|
58
|
-
pointerEvents: disableRowSelection ? "none" : "auto",
|
|
59
|
-
cursor: disableRowSelection ? "not-allowed" : "default",
|
|
60
|
-
"& + svg": {
|
|
61
|
-
color: disableRowSelection ? "".concat(theme.colors.gray[5]) : "inherit"
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
},
|
|
65
|
-
rowSelected: {
|
|
66
|
-
backgroundColor: multiRowSelectionEnabled ? undefined : rowBackgroundColor
|
|
67
|
-
},
|
|
68
|
-
rowUnselectable: {
|
|
69
|
-
"& input[type=checkbox]": {
|
|
70
|
-
backgroundColor: "".concat(theme.colors.gray[2]),
|
|
71
|
-
borderColor: "".concat(theme.colors.gray[3]),
|
|
72
|
-
pointerEvents: "none",
|
|
73
|
-
cursor: "not-allowed",
|
|
74
|
-
"&:checked + svg": {
|
|
75
|
-
color: "".concat(theme.colors.gray[5])
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
},
|
|
79
|
-
rowCollapsibleButtonCell: {
|
|
80
|
-
textAlign: "right",
|
|
81
|
-
padding: "calc(".concat(theme.spacing.xs, "/2) ").concat(theme.spacing.sm, " !important")
|
|
82
|
-
},
|
|
83
|
-
row: {
|
|
84
|
-
"&:hover": {
|
|
85
|
-
backgroundColor: rowBackgroundColor
|
|
86
|
-
}
|
|
87
48
|
}
|
|
88
49
|
};
|
|
89
50
|
});
|
|
90
51
|
var TableComponentsOrder = {
|
|
91
|
-
MultiSelectInfo:
|
|
92
|
-
Actions:
|
|
93
|
-
Predicate:
|
|
94
|
-
Filter:
|
|
95
|
-
DateRangePicker:
|
|
52
|
+
MultiSelectInfo: 6,
|
|
53
|
+
Actions: 5,
|
|
54
|
+
Predicate: 4,
|
|
55
|
+
Filter: 3,
|
|
56
|
+
DateRangePicker: 2,
|
|
57
|
+
LayoutControl: 1
|
|
96
58
|
};
|
|
97
59
|
var _default = useStyles;
|
|
98
60
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/table/Table.styles.ts"],"sourcesContent":["import {createStyles} from '@mantine/core';\n\
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/table/Table.styles.ts"],"sourcesContent":["import {createStyles} from '@mantine/core';\n\nconst useStyles = createStyles<string>((theme) => ({\n table: {\n width: '100%',\n '& thead tr th': {\n borderBottom: 'none',\n },\n '& td:first-of-type': {\n paddingLeft: theme.spacing.xl,\n },\n '& tbody td': {\n verticalAlign: 'top',\n },\n },\n\n header: {\n position: 'sticky',\n top: 0,\n backgroundColor: theme.colorScheme === 'dark' ? theme.black : theme.white,\n transition: 'box-shadow 150ms ease',\n zIndex: 1,\n\n '&::after': {\n content: '\"\"',\n position: 'absolute',\n left: 0,\n right: 0,\n bottom: 0,\n borderBottom: `1px solid ${theme.colors.gray[3]}`,\n },\n },\n}));\n\nexport const TableComponentsOrder = {\n MultiSelectInfo: 6,\n Actions: 5,\n Predicate: 4,\n Filter: 3,\n DateRangePicker: 2,\n LayoutControl: 1,\n};\n\nexport default useStyles;\n"],"names":["TableComponentsOrder","useStyles","createStyles","theme","table","width","borderBottom","paddingLeft","spacing","xl","verticalAlign","header","position","top","backgroundColor","colorScheme","black","white","transition","zIndex","content","left","right","bottom","colors","gray","MultiSelectInfo","Actions","Predicate","Filter","DateRangePicker","LayoutControl"],"mappings":";;;;;;;;;;;IAkCaA,oBAAoB;eAApBA;;IASb,OAAyB;eAAzB;;;oBA3C2B;AAE3B,IAAMC,YAAYC,IAAAA,oBAAqB,SAACC;WAAW;QAC/CC,OAAO;YACHC,OAAO;YACP,iBAAiB;gBACbC,cAAc;YAClB;YACA,sBAAsB;gBAClBC,aAAaJ,MAAMK,QAAQC;YAC/B;YACA,cAAc;gBACVC,eAAe;YACnB;QACJ;QAEAC,QAAQ;YACJC,UAAU;YACVC,KAAK;YACLC,iBAAiBX,MAAMY,gBAAgB,SAASZ,MAAMa,QAAQb,MAAMc;YACpEC,YAAY;YACZC,QAAQ;YAER,YAAY;gBACRC,SAAS;gBACTR,UAAU;gBACVS,MAAM;gBACNC,OAAO;gBACPC,QAAQ;gBACRjB,cAAc,AAAC,aAAiC,OAArBH,MAAMqB,OAAOC,IAAI,CAAC,EAAE;YACnD;QACJ;IACJ;;AAEO,IAAMzB,uBAAuB;IAChC0B,iBAAiB;IACjBC,SAAS;IACTC,WAAW;IACXC,QAAQ;IACRC,iBAAiB;IACjBC,eAAe;AACnB;IAEA,WAAe9B"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { UseFormReturnType } from '@mantine/form';
|
|
2
|
-
import { ColumnDef, CoreOptions, TableOptions, InitialTableState as TanstackInitialTableState, TableState as TanstackTableState } from '@tanstack/table-core';
|
|
2
|
+
import { ColumnDef, CoreOptions, Table, TableOptions, InitialTableState as TanstackInitialTableState, TableState as TanstackTableState } from '@tanstack/table-core';
|
|
3
3
|
import { Dispatch, ReactElement, ReactNode, RefObject } from 'react';
|
|
4
|
+
import { Icon } from '@coveord/plasma-react-icons';
|
|
4
5
|
import { DateRangePickerValue } from '../date-range-picker/DateRangePickerInlineCalendar';
|
|
5
6
|
import { TableActions } from './TableActions';
|
|
6
7
|
import { TableAccordionColumn, TableCollapsibleColumn } from './TableCollapsibleColumn';
|
|
@@ -9,9 +10,11 @@ import { TableDateRangePicker } from './TableDateRangePicker';
|
|
|
9
10
|
import { TableFilter } from './TableFilter';
|
|
10
11
|
import { TableFooter } from './TableFooter';
|
|
11
12
|
import { TableHeader } from './TableHeader';
|
|
13
|
+
import { TableLoading } from './TableLoading';
|
|
12
14
|
import { TablePagination } from './TablePagination';
|
|
13
15
|
import { TablePerPage } from './TablePerPage';
|
|
14
16
|
import { TablePredicate } from './TablePredicate';
|
|
17
|
+
import { TableLayouts } from './layouts/TableLayouts';
|
|
15
18
|
export type RowSelectionWithData<TData> = Record<string, TData>;
|
|
16
19
|
export interface RowSelectionState<TData> {
|
|
17
20
|
rowSelection: RowSelectionWithData<TData>;
|
|
@@ -21,6 +24,43 @@ export interface TableState<TData> extends Omit<TanstackTableState, 'rowSelectio
|
|
|
21
24
|
export interface InitialTableState<TData> extends Omit<TanstackInitialTableState, 'rowSelection'>, Partial<RowSelectionState<TData>>, Partial<TableFormType> {
|
|
22
25
|
}
|
|
23
26
|
export type onTableChangeEvent<TData> = (params: TableState<TData> & TableFormType) => void;
|
|
27
|
+
export interface TableLayout {
|
|
28
|
+
/**
|
|
29
|
+
* Name of the layout.
|
|
30
|
+
* Will be displayed in the layout control
|
|
31
|
+
*/
|
|
32
|
+
name: string;
|
|
33
|
+
/**
|
|
34
|
+
* Icon illustrating the layout.
|
|
35
|
+
* Will be displayed in the layout control
|
|
36
|
+
*/
|
|
37
|
+
icon?: Icon;
|
|
38
|
+
/**
|
|
39
|
+
* Header portion of the table.
|
|
40
|
+
* In the standard row layout that is where column headers would be displayed.
|
|
41
|
+
*/
|
|
42
|
+
Header: <T>(props: TableLayoutProps<T>) => ReactElement;
|
|
43
|
+
/**
|
|
44
|
+
* Body portion of the table.
|
|
45
|
+
* In the standard row layout that is where the rows would be displayed.
|
|
46
|
+
*/
|
|
47
|
+
Body: <T>(props: TableLayoutProps<T>) => ReactElement;
|
|
48
|
+
}
|
|
49
|
+
export interface TableLayoutProps<T = unknown> {
|
|
50
|
+
table: Table<T>;
|
|
51
|
+
loading?: boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Action passed when user double clicks on a row
|
|
54
|
+
*/
|
|
55
|
+
doubleClickAction?: (datum: T) => void;
|
|
56
|
+
/**
|
|
57
|
+
* Function that generates the expandable content of a row
|
|
58
|
+
* Return null for rows that don't need to be expandable
|
|
59
|
+
*
|
|
60
|
+
* @param datum the row for which the children should be generated.
|
|
61
|
+
*/
|
|
62
|
+
getExpandChildren?: (datum: T) => ReactNode;
|
|
63
|
+
}
|
|
24
64
|
export type TableFormType = {
|
|
25
65
|
/**
|
|
26
66
|
* Object containing the table predicates and their selected values
|
|
@@ -34,6 +74,10 @@ export type TableFormType = {
|
|
|
34
74
|
* @example [new Date(2022, 0, 1), new Date(2022, 0, 31)]
|
|
35
75
|
*/
|
|
36
76
|
dateRange: DateRangePickerValue;
|
|
77
|
+
/**
|
|
78
|
+
* Selected layout name
|
|
79
|
+
*/
|
|
80
|
+
layout: TableLayout['name'];
|
|
37
81
|
};
|
|
38
82
|
export type TableContextType<TData> = {
|
|
39
83
|
/**
|
|
@@ -91,6 +135,10 @@ export type TableContextType<TData> = {
|
|
|
91
135
|
* Function that returns the number of pages
|
|
92
136
|
*/
|
|
93
137
|
getPageCount: () => number;
|
|
138
|
+
/**
|
|
139
|
+
* Available layouts. When more than one layout is provided, it will display a layout control to switch between them.
|
|
140
|
+
*/
|
|
141
|
+
layouts: TableLayout[];
|
|
94
142
|
};
|
|
95
143
|
export interface TableProps<T> {
|
|
96
144
|
/**
|
|
@@ -107,6 +155,12 @@ export interface TableProps<T> {
|
|
|
107
155
|
* @see https://tanstack.com/table/v8/docs/guide/column-defs
|
|
108
156
|
*/
|
|
109
157
|
columns: Array<ColumnDef<T>>;
|
|
158
|
+
/**
|
|
159
|
+
* Available layouts
|
|
160
|
+
*
|
|
161
|
+
* @default [Table.Layouts.Rows]
|
|
162
|
+
*/
|
|
163
|
+
layouts?: TableLayout[];
|
|
110
164
|
/**
|
|
111
165
|
* Function called when the table mounts
|
|
112
166
|
*
|
|
@@ -191,5 +245,7 @@ export interface TableType {
|
|
|
191
245
|
CollapsibleColumn: typeof TableCollapsibleColumn;
|
|
192
246
|
AccordionColumn: typeof TableAccordionColumn;
|
|
193
247
|
Consumer: typeof TableConsumer;
|
|
248
|
+
Loading: typeof TableLoading;
|
|
249
|
+
Layouts: typeof TableLayouts;
|
|
194
250
|
}
|
|
195
251
|
//# sourceMappingURL=Table.types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.types.d.ts","sourceRoot":"","sources":["../../../../src/components/table/Table.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,eAAe,CAAC;AAChD,OAAO,EACH,SAAS,EACT,WAAW,EACX,YAAY,EACZ,iBAAiB,IAAI,yBAAyB,EAC9C,UAAU,IAAI,kBAAkB,EACnC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAC,MAAM,OAAO,CAAC;AAEnE,OAAO,EAAC,oBAAoB,EAAC,MAAM,oDAAoD,CAAC;AACxF,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAC,oBAAoB,EAAE,sBAAsB,EAAC,MAAM,0BAA0B,CAAC;AACtF,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"Table.types.d.ts","sourceRoot":"","sources":["../../../../src/components/table/Table.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,eAAe,CAAC;AAChD,OAAO,EACH,SAAS,EACT,WAAW,EACX,KAAK,EACL,YAAY,EACZ,iBAAiB,IAAI,yBAAyB,EAC9C,UAAU,IAAI,kBAAkB,EACnC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAC,MAAM,OAAO,CAAC;AAEnE,OAAO,EAAC,IAAI,EAAC,MAAM,6BAA6B,CAAC;AACjD,OAAO,EAAC,oBAAoB,EAAC,MAAM,oDAAoD,CAAC;AACxF,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAC,oBAAoB,EAAE,sBAAsB,EAAC,MAAM,0BAA0B,CAAC;AACtF,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAC,YAAY,EAAC,MAAM,wBAAwB,CAAC;AAEpD,MAAM,MAAM,oBAAoB,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAChE,MAAM,WAAW,iBAAiB,CAAC,KAAK;IACpC,YAAY,EAAE,oBAAoB,CAAC,KAAK,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,UAAU,CAAC,KAAK,CAAE,SAAQ,IAAI,CAAC,kBAAkB,EAAE,cAAc,CAAC,EAAE,iBAAiB,CAAC,KAAK,CAAC;CAAG;AAEhH,MAAM,WAAW,iBAAiB,CAAC,KAAK,CACpC,SAAQ,IAAI,CAAC,yBAAyB,EAAE,cAAc,CAAC,EACnD,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,EACjC,OAAO,CAAC,aAAa,CAAC;CAAG;AAEjC,MAAM,MAAM,kBAAkB,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,GAAG,aAAa,KAAK,IAAI,CAAC;AAE5F,MAAM,WAAW,WAAW;IACxB;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ;;;OAGG;IACH,MAAM,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC;IACxD;;;OAGG;IACH,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC;CACzD;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC,GAAG,OAAO;IACzC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IACvC;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,CAAC;CAC/C;AAED,MAAM,MAAM,aAAa,GAAG;IACxB;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC;;;;OAIG;IACH,SAAS,EAAE,oBAAoB,CAAC;IAChC;;OAEG;IACH,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,KAAK,IAAI;IAClC;;OAEG;IACH,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB;;;;OAIG;IACH,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IACzB;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IACxE;;;OAGG;IACH,UAAU,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB;;OAEG;IACH,cAAc,EAAE,MAAM,KAAK,GAAG,IAAI,CAAC;IACnC;;OAEG;IACH,eAAe,EAAE,MAAM,KAAK,EAAE,CAAC;IAC/B;;OAEG;IACH,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B;;OAEG;IACH,IAAI,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC;IACvC;;OAEG;IACH,YAAY,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;IACxC;;OAEG;IACH,wBAAwB,EAAE,OAAO,CAAC;IAClC;;OAEG;IACH,mBAAmB,EAAE,OAAO,CAAC;IAC7B;;OAEG;IACH,YAAY,EAAE,MAAM,MAAM,CAAC;IAC3B;;OAEG;IACH,OAAO,EAAE,WAAW,EAAE,CAAC;CAC1B,CAAC;AAEF,MAAM,WAAW,UAAU,CAAC,CAAC;IACzB;;OAEG;IACH,IAAI,EAAE,CAAC,EAAE,CAAC;IACV;;OAEG;IACH,QAAQ,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IACtC;;;;OAIG;IACH,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7B;;;;OAIG;IACH,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB;;;;OAIG;IACH,OAAO,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAChC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC;IACjC;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,CAAC;IAC5C;;OAEG;IACH,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;OAEG;IACH,YAAY,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACpC;;OAEG;IACH,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IACvC;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;IACnD;;;;OAIG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;OAEG;IACH,OAAO,CAAC,EAAE,IAAI,CACV,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EACtB,cAAc,GACd,MAAM,GACN,SAAS,GACT,kBAAkB,GAClB,yBAAyB,GACzB,UAAU,GACV,iBAAiB,GACjB,oBAAoB,GACpB,sBAAsB,CAC3B,CAAC;CACL;AAED,MAAM,WAAW,SAAS;IACtB,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC;IACxC,OAAO,EAAE,OAAO,YAAY,CAAC;IAC7B,MAAM,EAAE,OAAO,WAAW,CAAC;IAC3B,MAAM,EAAE,OAAO,WAAW,CAAC;IAC3B,MAAM,EAAE,OAAO,WAAW,CAAC;IAC3B,UAAU,EAAE,OAAO,eAAe,CAAC;IACnC,OAAO,EAAE,OAAO,YAAY,CAAC;IAC7B,SAAS,EAAE,OAAO,cAAc,CAAC;IACjC,eAAe,EAAE,OAAO,oBAAoB,CAAC;IAC7C,iBAAiB,EAAE,OAAO,sBAAsB,CAAC;IACjD,eAAe,EAAE,OAAO,oBAAoB,CAAC;IAC7C,QAAQ,EAAE,OAAO,aAAa,CAAC;IAC/B,OAAO,EAAE,OAAO,YAAY,CAAC;IAC7B,OAAO,EAAE,OAAO,YAAY,CAAC;CAChC"}
|
|
@@ -1,5 +1,15 @@
|
|
|
1
|
+
import { DefaultProps, Selectors } from '@mantine/core';
|
|
1
2
|
import { ReactElement, ReactNode } from 'react';
|
|
2
|
-
|
|
3
|
+
declare const useStyles: (params: void, options?: import("@mantine/core").UseStylesOptions<string>) => {
|
|
4
|
+
classes: {
|
|
5
|
+
root: string;
|
|
6
|
+
wrapper: string;
|
|
7
|
+
};
|
|
8
|
+
cx: (...args: any) => string;
|
|
9
|
+
theme: import("@mantine/core").MantineTheme;
|
|
10
|
+
};
|
|
11
|
+
type TableActionsStylesNames = Selectors<typeof useStyles>;
|
|
12
|
+
interface TableActionsProps<T> extends DefaultProps<TableActionsStylesNames> {
|
|
3
13
|
/**
|
|
4
14
|
* Function that return components for the selected row or selected rows when multi row selection is enabled
|
|
5
15
|
*
|
|
@@ -21,6 +31,6 @@ interface TableActionsProps<T> {
|
|
|
21
31
|
*/
|
|
22
32
|
children: ((datum: T) => ReactNode) | ((data: T[]) => ReactNode);
|
|
23
33
|
}
|
|
24
|
-
export declare const TableActions: <T>({ children }: TableActionsProps<T>) => ReactElement;
|
|
34
|
+
export declare const TableActions: <T>({ children, classNames, styles, unstyled, ...others }: TableActionsProps<T>) => ReactElement;
|
|
25
35
|
export {};
|
|
26
36
|
//# sourceMappingURL=TableActions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableActions.d.ts","sourceRoot":"","sources":["../../../../src/components/table/TableActions.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TableActions.d.ts","sourceRoot":"","sources":["../../../../src/components/table/TableActions.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAe,YAAY,EAAe,SAAS,EAAC,MAAM,eAAe,CAAC;AACjF,OAAO,EAAC,YAAY,EAAE,SAAS,EAAC,MAAM,OAAO,CAAC;AAK9C,QAAA,MAAM,SAAS;;;;;;;CAKZ,CAAC;AAEJ,KAAK,uBAAuB,GAAG,SAAS,CAAC,OAAO,SAAS,CAAC,CAAC;AAE3D,UAAU,iBAAiB,CAAC,CAAC,CAAE,SAAQ,YAAY,CAAC,uBAAuB,CAAC;IACxE;;;;;;;;;;;;;;;;;;OAkBG;IACH,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;CACpE;AAED,eAAO,MAAM,YAAY,sFAMC,YAkBzB,CAAC"}
|
|
@@ -8,29 +8,51 @@ Object.defineProperty(exports, "TableActions", {
|
|
|
8
8
|
return TableActions;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
+
var _object_spread = require("@swc/helpers/_/_object_spread");
|
|
12
|
+
var _object_spread_props = require("@swc/helpers/_/_object_spread_props");
|
|
13
|
+
var _object_without_properties = require("@swc/helpers/_/_object_without_properties");
|
|
11
14
|
var _jsxruntime = require("react/jsx-runtime");
|
|
12
15
|
var _core = require("@mantine/core");
|
|
13
16
|
var _Tablestyles = require("./Table.styles");
|
|
14
17
|
var _TableContext = require("./TableContext");
|
|
15
|
-
var
|
|
16
|
-
|
|
18
|
+
var useStyles = (0, _core.createStyles)(function(theme) {
|
|
19
|
+
return {
|
|
20
|
+
root: {},
|
|
21
|
+
wrapper: {
|
|
22
|
+
display: "inline-flex"
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
});
|
|
26
|
+
var TableActions = function(_param) {
|
|
27
|
+
var children = _param.children, classNames = _param.classNames, styles = _param.styles, unstyled = _param.unstyled, others = _object_without_properties._(_param, [
|
|
28
|
+
"children",
|
|
29
|
+
"classNames",
|
|
30
|
+
"styles",
|
|
31
|
+
"unstyled"
|
|
32
|
+
]);
|
|
33
|
+
var classes = useStyles(null, {
|
|
34
|
+
name: "TableActions",
|
|
35
|
+
classNames: classNames,
|
|
36
|
+
styles: styles,
|
|
37
|
+
unstyled: unstyled
|
|
38
|
+
}).classes;
|
|
17
39
|
var _useTable = (0, _TableContext.useTable)(), getSelectedRows = _useTable.getSelectedRows, multiRowSelectionEnabled = _useTable.multiRowSelectionEnabled;
|
|
18
40
|
var selectedRows = getSelectedRows();
|
|
19
41
|
if (selectedRows.length <= 0) {
|
|
20
42
|
return null;
|
|
21
43
|
}
|
|
22
|
-
return /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Grid.Col, {
|
|
44
|
+
return /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Grid.Col, _object_spread_props._(_object_spread._({
|
|
23
45
|
span: "content",
|
|
24
46
|
order: _Tablestyles.TableComponentsOrder.Actions,
|
|
25
47
|
py: "sm",
|
|
48
|
+
className: classes.root
|
|
49
|
+
}, others), {
|
|
26
50
|
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Group, {
|
|
27
51
|
spacing: "xs",
|
|
28
|
-
|
|
29
|
-
display: "inline-flex"
|
|
30
|
-
},
|
|
52
|
+
className: classes.wrapper,
|
|
31
53
|
children: multiRowSelectionEnabled ? children(selectedRows) : children(selectedRows[0])
|
|
32
54
|
})
|
|
33
|
-
});
|
|
55
|
+
}));
|
|
34
56
|
};
|
|
35
57
|
|
|
36
58
|
//# sourceMappingURL=TableActions.js.map
|