@veritone-ce/design-system 1.12.46 → 1.12.48
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/assets/theme.js +7 -5
- package/dist/cjs/components/Button/index.js +17 -15
- package/dist/cjs/components/FileUploader/index.js +166 -156
- package/dist/cjs/components/IconButton/index.js +27 -0
- package/dist/cjs/components/MenuFlyout/index.js +2 -0
- package/dist/cjs/components/Table/AutoTable/common.js +143 -0
- package/dist/cjs/components/Table/AutoTable/controlled.js +120 -0
- package/dist/cjs/components/Table/AutoTable/index.js +118 -0
- package/dist/cjs/components/Table/AutoTable/types.js +5 -0
- package/dist/cjs/components/Table/AutoTable/virtual.js +154 -0
- package/dist/cjs/components/Table/index.js +83 -35
- package/dist/cjs/index.js +117 -68
- package/dist/esm/assets/theme.js +7 -5
- package/dist/esm/components/Button/index.js +17 -15
- package/dist/esm/components/FileUploader/index.js +163 -153
- package/dist/esm/components/IconButton/index.js +17 -0
- package/dist/esm/components/MenuFlyout/index.js +2 -0
- package/dist/esm/components/Table/AutoTable/common.js +133 -0
- package/dist/esm/components/Table/AutoTable/controlled.js +115 -0
- package/dist/esm/components/Table/AutoTable/index.js +107 -0
- package/dist/esm/components/Table/AutoTable/types.js +1 -0
- package/dist/esm/components/Table/AutoTable/virtual.js +149 -0
- package/dist/esm/components/Table/index.js +80 -33
- package/dist/esm/index.js +6 -2
- package/dist/types/components/Button/index.d.ts +2 -0
- package/dist/types/components/FileUploader/index.d.ts +18 -14
- package/dist/types/components/IconButton/index.d.ts +16 -0
- package/dist/types/components/MenuFlyout/index.d.ts +4 -4
- package/dist/types/components/Table/AutoTable/common.d.ts +25 -0
- package/dist/types/components/Table/AutoTable/controlled.d.ts +13 -0
- package/dist/types/components/Table/AutoTable/index.d.ts +44 -0
- package/dist/types/components/Table/AutoTable/types.d.ts +106 -0
- package/dist/types/components/Table/AutoTable/virtual.d.ts +19 -0
- package/dist/types/components/Table/index.d.ts +45 -8
- package/dist/types/index.d.ts +13 -4
- package/package.json +4 -1
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.createColumnHelper = createColumnHelper;
|
|
7
|
+
exports.mapColumnDef = mapColumnDef;
|
|
8
|
+
exports.mapColumnDefs = mapColumnDefs;
|
|
9
|
+
exports.useAutoTable = useAutoTable;
|
|
10
|
+
var _reactTable = require("@tanstack/react-table");
|
|
11
|
+
var _react = _interopRequireDefault(require("react"));
|
|
12
|
+
var _index = require("../index.js");
|
|
13
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
15
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
16
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
17
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
18
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
19
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
20
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
21
|
+
function createColumnHelper() {
|
|
22
|
+
return {
|
|
23
|
+
accessor: function accessor(_accessor, column) {
|
|
24
|
+
return typeof _accessor === 'function' ? _objectSpread(_objectSpread({}, column), {}, {
|
|
25
|
+
accessorFn: _accessor
|
|
26
|
+
}) : _objectSpread(_objectSpread({}, column), {}, {
|
|
27
|
+
accessorKey: _accessor
|
|
28
|
+
});
|
|
29
|
+
},
|
|
30
|
+
display: function display(column) {
|
|
31
|
+
return column;
|
|
32
|
+
}
|
|
33
|
+
// group: column => column
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
function useAutoTable(options) {
|
|
38
|
+
var columnsProp = options.columns;
|
|
39
|
+
var mappedColumns = _react["default"].useMemo(function () {
|
|
40
|
+
return mapColumnDefs(columnsProp);
|
|
41
|
+
}, [columnsProp]);
|
|
42
|
+
return (0, _reactTable.useReactTable)({
|
|
43
|
+
data: options.data,
|
|
44
|
+
columns: mappedColumns,
|
|
45
|
+
manualSorting: options.manualSorting,
|
|
46
|
+
manualPagination: options.manualPagination,
|
|
47
|
+
enableSorting: options.enableSorting,
|
|
48
|
+
enableRowSelection: options.enableRowSelection,
|
|
49
|
+
meta: options.meta,
|
|
50
|
+
getRowId: options.getRowId,
|
|
51
|
+
defaultColumn: {
|
|
52
|
+
cell: function cell(info) {
|
|
53
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.TableCell, {
|
|
54
|
+
children: info.renderValue()
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
initialState: {
|
|
59
|
+
pagination: {
|
|
60
|
+
pageSize: options.pagination.pageSize
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
state: {
|
|
64
|
+
pagination: options.pagination,
|
|
65
|
+
sorting: options.sorting,
|
|
66
|
+
rowSelection: options.rowSelection
|
|
67
|
+
},
|
|
68
|
+
onSortingChange: function onSortingChange(updater) {
|
|
69
|
+
var value = typeof updater === 'function' ? updater(options.sorting) : updater;
|
|
70
|
+
options.onSortingChange(value);
|
|
71
|
+
},
|
|
72
|
+
onRowSelectionChange: function onRowSelectionChange(updater) {
|
|
73
|
+
var value = typeof updater === 'function' ? updater(options.rowSelection) : updater;
|
|
74
|
+
options.onRowSelectionChange(value);
|
|
75
|
+
},
|
|
76
|
+
onPaginationChange: function onPaginationChange() {},
|
|
77
|
+
getCoreRowModel: (0, _reactTable.getCoreRowModel)(),
|
|
78
|
+
getSortedRowModel: (0, _reactTable.getSortedRowModel)(),
|
|
79
|
+
getPaginationRowModel: (0, _reactTable.getPaginationRowModel)()
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
function mapColumnDefs(columnDefs) {
|
|
83
|
+
return columnDefs.map(mapColumnDef);
|
|
84
|
+
}
|
|
85
|
+
function mapColumnDef(columnDef) {
|
|
86
|
+
// typed column meta
|
|
87
|
+
var meta = {
|
|
88
|
+
noVerticalPadding: columnDef.noVerticalPadding
|
|
89
|
+
};
|
|
90
|
+
var mappedDef = {
|
|
91
|
+
id: columnDef.id,
|
|
92
|
+
accessorFn: columnDef.accessorFn,
|
|
93
|
+
accessorKey: columnDef.accessorKey,
|
|
94
|
+
meta: meta,
|
|
95
|
+
getUniqueValues: columnDef.getUniqueValues,
|
|
96
|
+
header: columnDef.header !== undefined ? makeHeaderMappingComponent(columnDef.header) : undefined,
|
|
97
|
+
cell: columnDef.cell !== undefined ? makeCellMappingComponent(columnDef.cell) : undefined,
|
|
98
|
+
enableMultiSort: columnDef.enableMultiSort,
|
|
99
|
+
enableSorting: columnDef.enableSorting,
|
|
100
|
+
invertSorting: columnDef.invertSorting,
|
|
101
|
+
sortDescFirst: columnDef.sortDescFirst,
|
|
102
|
+
sortingFn: columnDef.sortingFn,
|
|
103
|
+
sortUndefined: columnDef.sortUndefined
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
// remove all fileds that are undefined because react-table is probably using Object.keys in a weird way under the hood
|
|
107
|
+
Object.keys(mappedDef).forEach(function (key) {
|
|
108
|
+
var k = key;
|
|
109
|
+
if (mappedDef[k] === undefined) {
|
|
110
|
+
delete mappedDef[k];
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
return mappedDef;
|
|
114
|
+
}
|
|
115
|
+
function makeHeaderMappingComponent(header) {
|
|
116
|
+
if (typeof header === 'string') {
|
|
117
|
+
return header;
|
|
118
|
+
}
|
|
119
|
+
return function (props) {
|
|
120
|
+
return header({
|
|
121
|
+
column: props.column,
|
|
122
|
+
header: props.header,
|
|
123
|
+
table: props.table,
|
|
124
|
+
meta: props.table.options.meta
|
|
125
|
+
});
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
function makeCellMappingComponent(cell) {
|
|
129
|
+
if (typeof cell === 'string') {
|
|
130
|
+
return cell;
|
|
131
|
+
}
|
|
132
|
+
return function (props) {
|
|
133
|
+
return cell({
|
|
134
|
+
cell: props.cell,
|
|
135
|
+
column: props.column,
|
|
136
|
+
getValue: props.getValue,
|
|
137
|
+
renderValue: props.renderValue,
|
|
138
|
+
row: props.row,
|
|
139
|
+
table: props.table,
|
|
140
|
+
meta: props.table.options.meta
|
|
141
|
+
});
|
|
142
|
+
};
|
|
143
|
+
}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = ControlledAutoTable;
|
|
8
|
+
var _reactTable = require("@tanstack/react-table");
|
|
9
|
+
var _index = require("../index.js");
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
var _material = require("@mui/material");
|
|
12
|
+
var _utils = require("@mui/utils");
|
|
13
|
+
var _common = require("./common.js");
|
|
14
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
|
+
var _excluded = ["stickyHeader", "loading", "zeroStateMessage", "sx", "className"];
|
|
16
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
17
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
18
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
19
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
20
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
21
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
22
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
23
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
24
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
25
|
+
function ControlledAutoTable(_ref) {
|
|
26
|
+
var _options$manualRowCou;
|
|
27
|
+
var stickyHeader = _ref.stickyHeader,
|
|
28
|
+
loading = _ref.loading,
|
|
29
|
+
zeroStateMessage = _ref.zeroStateMessage,
|
|
30
|
+
sx = _ref.sx,
|
|
31
|
+
className = _ref.className,
|
|
32
|
+
options = _objectWithoutProperties(_ref, _excluded);
|
|
33
|
+
var table = (0, _common.useAutoTable)(options);
|
|
34
|
+
var manualRowCount = (_options$manualRowCou = options.manualRowCount) !== null && _options$manualRowCou !== void 0 ? _options$manualRowCou : options.data.length;
|
|
35
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, {
|
|
36
|
+
sx: sx,
|
|
37
|
+
className: className,
|
|
38
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_index.Table, {
|
|
39
|
+
sx: _objectSpread({
|
|
40
|
+
borderCollapse: 'separate'
|
|
41
|
+
}, stickyHeader ? {
|
|
42
|
+
'& th': {
|
|
43
|
+
position: 'sticky',
|
|
44
|
+
top: _typeof(stickyHeader) === 'object' ? stickyHeader.offset : 0,
|
|
45
|
+
zIndex: 2,
|
|
46
|
+
backgroundColor: function backgroundColor(theme) {
|
|
47
|
+
return theme.palette.background["default"];
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
} : {}),
|
|
51
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_index.TableHead, {
|
|
52
|
+
children: table.getHeaderGroups().map(function (headerGroup) {
|
|
53
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.TableRow, {
|
|
54
|
+
children: headerGroup.headers.map(function (header) {
|
|
55
|
+
var isSorted = header.column.getIsSorted();
|
|
56
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.TableCell, {
|
|
57
|
+
variant: "header",
|
|
58
|
+
children: header.isPlaceholder ? null : header.column.getCanSort() ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_index.TableSortLabel, {
|
|
59
|
+
active: isSorted !== false,
|
|
60
|
+
direction: isSorted !== false ? isSorted : 'asc',
|
|
61
|
+
onClick: header.column.getToggleSortingHandler(),
|
|
62
|
+
children: [(0, _reactTable.flexRender)(header.column.columnDef.header, header.getContext()), isSorted !== false ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, {
|
|
63
|
+
component: "span",
|
|
64
|
+
sx: _utils.visuallyHidden,
|
|
65
|
+
children: isSorted === 'desc' ? 'sorted descending' : 'sorted ascending'
|
|
66
|
+
}) : null]
|
|
67
|
+
}) : (0, _reactTable.flexRender)(header.column.columnDef.header, header.getContext())
|
|
68
|
+
}, header.id);
|
|
69
|
+
})
|
|
70
|
+
}, headerGroup.id);
|
|
71
|
+
})
|
|
72
|
+
}), loading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.TableBody, {
|
|
73
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.TableRow, {
|
|
74
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.TableCell, {
|
|
75
|
+
colSpan: table.getAllFlatColumns().length,
|
|
76
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.CircularProgress, {})
|
|
77
|
+
})
|
|
78
|
+
})
|
|
79
|
+
}) : options.data.length === 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.TableBody, {
|
|
80
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.TableRow, {
|
|
81
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.TableCell, {
|
|
82
|
+
colSpan: table.getAllFlatColumns().length,
|
|
83
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.TableZeroState, {
|
|
84
|
+
children: zeroStateMessage !== null && zeroStateMessage !== void 0 ? zeroStateMessage : 'No data found'
|
|
85
|
+
})
|
|
86
|
+
})
|
|
87
|
+
})
|
|
88
|
+
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.TableBody, {
|
|
89
|
+
children: table.getRowModel().rows.map(function (row) {
|
|
90
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.TableRow, {
|
|
91
|
+
children: row.getAllCells().map(function (cell) {
|
|
92
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_react["default"].Fragment, {
|
|
93
|
+
children: (0, _reactTable.flexRender)(cell.column.columnDef.cell, cell.getContext())
|
|
94
|
+
}, cell.id);
|
|
95
|
+
})
|
|
96
|
+
}, row.id);
|
|
97
|
+
})
|
|
98
|
+
}), options.enablePagination && (options.manualPagination ? manualRowCount : options.data.length) > table.initialState.pagination.pageSize && /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.TableFooter, {
|
|
99
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.TableRow, {
|
|
100
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.TablePagination, {
|
|
101
|
+
colSpan: table.getAllFlatColumns().length,
|
|
102
|
+
count: options.manualPagination ? manualRowCount : table.getFilteredRowModel().rows.length,
|
|
103
|
+
rowsPerPage: table.getState().pagination.pageSize,
|
|
104
|
+
page: table.getState().pagination.pageIndex,
|
|
105
|
+
onPageChange: function onPageChange(_, newPage) {
|
|
106
|
+
table.setPageIndex(newPage);
|
|
107
|
+
options.onPageChange(newPage);
|
|
108
|
+
},
|
|
109
|
+
rowsPerPageOptions: [10, 25, 50, 100],
|
|
110
|
+
onRowsPerPageChange: function onRowsPerPageChange(e) {
|
|
111
|
+
var size = e.target.value ? Number(e.target.value) : 10;
|
|
112
|
+
table.setPageSize(size);
|
|
113
|
+
options.onRowsPerPageChange(size);
|
|
114
|
+
}
|
|
115
|
+
})
|
|
116
|
+
})
|
|
117
|
+
})]
|
|
118
|
+
})
|
|
119
|
+
});
|
|
120
|
+
}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
|
|
4
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
Object.defineProperty(exports, "createColumnHelper", {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function get() {
|
|
11
|
+
return _common.createColumnHelper;
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
exports["default"] = void 0;
|
|
15
|
+
var _react = _interopRequireDefault(require("react"));
|
|
16
|
+
var _virtual = _interopRequireDefault(require("./virtual.js"));
|
|
17
|
+
var _controlled = _interopRequireDefault(require("./controlled.js"));
|
|
18
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
19
|
+
var _common = require("./common.js");
|
|
20
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
21
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
22
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
23
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
24
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
25
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
26
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
27
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
28
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
29
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
30
|
+
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
31
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
32
|
+
function AutoTable(props) {
|
|
33
|
+
var _props$enableSorting, _props$defaultSorting, _props$enableRowSelec, _props$enablePaginati;
|
|
34
|
+
// manage sorting
|
|
35
|
+
var enableSorting = (_props$enableSorting = props.enableSorting) !== null && _props$enableSorting !== void 0 ? _props$enableSorting : true;
|
|
36
|
+
var _useManagedStateSwitc = useManagedStateSwitch(props.sorting, props.onSortingChange, (_props$defaultSorting = props.defaultSorting) !== null && _props$defaultSorting !== void 0 ? _props$defaultSorting : []),
|
|
37
|
+
_useManagedStateSwitc2 = _slicedToArray(_useManagedStateSwitc, 2),
|
|
38
|
+
managedSorting = _useManagedStateSwitc2[0],
|
|
39
|
+
setManagedSorting = _useManagedStateSwitc2[1];
|
|
40
|
+
|
|
41
|
+
// manage selection
|
|
42
|
+
var enableRowSelection = (_props$enableRowSelec = props.enableRowSelection) !== null && _props$enableRowSelec !== void 0 ? _props$enableRowSelec : props.rowSelection !== undefined;
|
|
43
|
+
var _useManagedStateSwitc3 = useManagedStateSwitch(props.rowSelection, props.onRowSelectionChange, {}),
|
|
44
|
+
_useManagedStateSwitc4 = _slicedToArray(_useManagedStateSwitc3, 2),
|
|
45
|
+
managedRowSelection = _useManagedStateSwitc4[0],
|
|
46
|
+
setManagedRowSelection = _useManagedStateSwitc4[1];
|
|
47
|
+
|
|
48
|
+
// manage pagination
|
|
49
|
+
var enablePagination = (_props$enablePaginati = props.enablePagination) !== null && _props$enablePaginati !== void 0 ? _props$enablePaginati : true;
|
|
50
|
+
var _useManagedStateSwitc5 = useManagedStateSwitch(props.page, props.onPageChange, 0),
|
|
51
|
+
_useManagedStateSwitc6 = _slicedToArray(_useManagedStateSwitc5, 2),
|
|
52
|
+
managedPage = _useManagedStateSwitc6[0],
|
|
53
|
+
setManagedPage = _useManagedStateSwitc6[1];
|
|
54
|
+
var _useManagedStateSwitc7 = useManagedStateSwitch(props.rowsPerPage, props.onRowsPerPageChange, 10),
|
|
55
|
+
_useManagedStateSwitc8 = _slicedToArray(_useManagedStateSwitc7, 2),
|
|
56
|
+
managedRowsPerPage = _useManagedStateSwitc8[0],
|
|
57
|
+
setManagedRowsPerPage = _useManagedStateSwitc8[1];
|
|
58
|
+
var options = {
|
|
59
|
+
data: props.data,
|
|
60
|
+
columns: props.columns,
|
|
61
|
+
meta: props.meta,
|
|
62
|
+
getRowId: props.getRowId,
|
|
63
|
+
// sorting
|
|
64
|
+
sorting: managedSorting,
|
|
65
|
+
enableSorting: enableSorting,
|
|
66
|
+
onSortingChange: setManagedSorting,
|
|
67
|
+
manualSorting: props.manualSorting,
|
|
68
|
+
// selection
|
|
69
|
+
rowSelection: managedRowSelection,
|
|
70
|
+
enableRowSelection: enableRowSelection,
|
|
71
|
+
onRowSelectionChange: setManagedRowSelection,
|
|
72
|
+
// pagination
|
|
73
|
+
pagination: {
|
|
74
|
+
pageIndex: managedPage,
|
|
75
|
+
pageSize: enablePagination ? managedRowsPerPage : props.data.length
|
|
76
|
+
},
|
|
77
|
+
enablePagination: enablePagination,
|
|
78
|
+
onPageChange: setManagedPage,
|
|
79
|
+
onRowsPerPageChange: setManagedRowsPerPage,
|
|
80
|
+
manualPagination: props.manualRowCount !== undefined,
|
|
81
|
+
manualRowCount: props.manualRowCount
|
|
82
|
+
};
|
|
83
|
+
if (props.virtualizer) {
|
|
84
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_virtual["default"], _objectSpread(_objectSpread(_objectSpread({}, options), props.virtualizer), {}, {
|
|
85
|
+
stickyHeader: props.stickyHeader,
|
|
86
|
+
loading: props.loading,
|
|
87
|
+
zeroStateMessage: props.zeroStateMessage,
|
|
88
|
+
sx: props.sx,
|
|
89
|
+
className: props.className
|
|
90
|
+
}));
|
|
91
|
+
}
|
|
92
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_controlled["default"], _objectSpread(_objectSpread({}, options), {}, {
|
|
93
|
+
stickyHeader: props.stickyHeader,
|
|
94
|
+
loading: props.loading,
|
|
95
|
+
zeroStateMessage: props.zeroStateMessage,
|
|
96
|
+
sx: props.sx,
|
|
97
|
+
className: props.className
|
|
98
|
+
}));
|
|
99
|
+
}
|
|
100
|
+
var _default = AutoTable; // switch between controlled (passed in) and uncontrolled (automatic) state
|
|
101
|
+
exports["default"] = _default;
|
|
102
|
+
function useManagedStateSwitch(controlled, setControlled, uncontrolledDefault) {
|
|
103
|
+
var _React$useState = _react["default"].useState(uncontrolledDefault),
|
|
104
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
105
|
+
uncontrolled = _React$useState2[0],
|
|
106
|
+
setUncontrolled = _React$useState2[1];
|
|
107
|
+
var _ref = controlled !== undefined ? [controlled, function (u) {
|
|
108
|
+
setControlled === null || setControlled === void 0 ? void 0 : setControlled(u);
|
|
109
|
+
}] : [uncontrolled, function (u) {
|
|
110
|
+
setUncontrolled(u);
|
|
111
|
+
// allow listening, even if not using controlled value
|
|
112
|
+
setControlled === null || setControlled === void 0 ? void 0 : setControlled(u);
|
|
113
|
+
}],
|
|
114
|
+
_ref2 = _slicedToArray(_ref, 2),
|
|
115
|
+
managed = _ref2[0],
|
|
116
|
+
setManaged = _ref2[1];
|
|
117
|
+
return [managed, setManaged];
|
|
118
|
+
}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = VirtualControlledAutoTable;
|
|
8
|
+
var _reactTable = require("@tanstack/react-table");
|
|
9
|
+
var _index = require("../index.js");
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
var _material = require("@mui/material");
|
|
12
|
+
var _utils = require("@mui/utils");
|
|
13
|
+
var _common = require("./common.js");
|
|
14
|
+
var _reactVirtual = require("@tanstack/react-virtual");
|
|
15
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
|
+
var _excluded = ["stickyHeader", "loading", "zeroStateMessage", "scrollOffset", "getScrollElement", "renderWhenNotVisible", "rowSize", "headerSize", "overscan", "sx", "className"];
|
|
17
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
18
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
19
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
20
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
21
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
22
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
23
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
24
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
25
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
26
|
+
var TableContainer = (0, _material.styled)(_material.Box)(function (_ref) {
|
|
27
|
+
var virtualizerTotalHeight = _ref.virtualizerTotalHeight;
|
|
28
|
+
return {
|
|
29
|
+
height: "".concat(virtualizerTotalHeight, "px")
|
|
30
|
+
};
|
|
31
|
+
});
|
|
32
|
+
function VirtualControlledAutoTable(_ref2) {
|
|
33
|
+
var stickyHeader = _ref2.stickyHeader,
|
|
34
|
+
loading = _ref2.loading,
|
|
35
|
+
zeroStateMessage = _ref2.zeroStateMessage,
|
|
36
|
+
scrollOffset = _ref2.scrollOffset,
|
|
37
|
+
getScrollElement = _ref2.getScrollElement,
|
|
38
|
+
renderWhenNotVisible = _ref2.renderWhenNotVisible,
|
|
39
|
+
rowSize = _ref2.rowSize,
|
|
40
|
+
_ref2$headerSize = _ref2.headerSize,
|
|
41
|
+
headerSize = _ref2$headerSize === void 0 ? 50 : _ref2$headerSize,
|
|
42
|
+
overscan = _ref2.overscan,
|
|
43
|
+
sx = _ref2.sx,
|
|
44
|
+
className = _ref2.className,
|
|
45
|
+
options = _objectWithoutProperties(_ref2, _excluded);
|
|
46
|
+
var table = (0, _common.useAutoTable)(options);
|
|
47
|
+
// const manualRowCount = options.manualRowCount ?? options.data.length
|
|
48
|
+
|
|
49
|
+
var _table$getRowModel = table.getRowModel(),
|
|
50
|
+
rows = _table$getRowModel.rows;
|
|
51
|
+
|
|
52
|
+
// get this table's offset from parent container
|
|
53
|
+
var offsetFromScrollEl = scrollOffset !== null && scrollOffset !== void 0 ? scrollOffset : 0; // listOffset;
|
|
54
|
+
|
|
55
|
+
var virtualizer = (0, _reactVirtual.useVirtualizer)({
|
|
56
|
+
getScrollElement: getScrollElement,
|
|
57
|
+
scrollMargin: offsetFromScrollEl,
|
|
58
|
+
count: rows.length,
|
|
59
|
+
overscan: overscan !== null && overscan !== void 0 ? overscan : 10,
|
|
60
|
+
estimateSize: function estimateSize() {
|
|
61
|
+
return rowSize;
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
// this will completely hide the table rows if it is not within the visible threshold
|
|
66
|
+
// maybe this will be default behavior in @tanstack/react-virtual one day
|
|
67
|
+
var visibilityOverscan = virtualizer.options.overscan * rowSize;
|
|
68
|
+
var tableIsVisible = renderWhenNotVisible || virtualizer.scrollOffset >= offsetFromScrollEl - visibilityOverscan && virtualizer.scrollOffset <= offsetFromScrollEl + virtualizer.getTotalSize() + visibilityOverscan;
|
|
69
|
+
var virtualItems = virtualizer.getVirtualItems();
|
|
70
|
+
var totalHeight = virtualizer.getTotalSize() + headerSize;
|
|
71
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(TableContainer, {
|
|
72
|
+
virtualizerTotalHeight: totalHeight,
|
|
73
|
+
sx: sx,
|
|
74
|
+
className: className,
|
|
75
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_index.Table, {
|
|
76
|
+
sx: _objectSpread({
|
|
77
|
+
borderCollapse: 'separate'
|
|
78
|
+
}, stickyHeader ? {
|
|
79
|
+
'& th': {
|
|
80
|
+
position: 'sticky',
|
|
81
|
+
top: _typeof(stickyHeader) === 'object' ? stickyHeader.offset : 0,
|
|
82
|
+
zIndex: 2,
|
|
83
|
+
backgroundColor: function backgroundColor(theme) {
|
|
84
|
+
return theme.palette.background["default"];
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
} : {}),
|
|
88
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_index.TableHead, {
|
|
89
|
+
sx: {
|
|
90
|
+
height: headerSize
|
|
91
|
+
},
|
|
92
|
+
children: table.getHeaderGroups().map(function (headerGroup) {
|
|
93
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.TableRow, {
|
|
94
|
+
children: headerGroup.headers.map(function (header) {
|
|
95
|
+
var isSorted = header.column.getIsSorted();
|
|
96
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.TableCell, {
|
|
97
|
+
variant: "header",
|
|
98
|
+
children: header.isPlaceholder ? null : header.column.getCanSort() ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_index.TableSortLabel, {
|
|
99
|
+
active: isSorted !== false,
|
|
100
|
+
direction: isSorted !== false ? isSorted : 'asc',
|
|
101
|
+
onClick: header.column.getToggleSortingHandler(),
|
|
102
|
+
children: [(0, _reactTable.flexRender)(header.column.columnDef.header, header.getContext()), isSorted !== false ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, {
|
|
103
|
+
component: "span",
|
|
104
|
+
sx: _utils.visuallyHidden,
|
|
105
|
+
children: isSorted === 'desc' ? 'sorted descending' : 'sorted ascending'
|
|
106
|
+
}) : null]
|
|
107
|
+
}) : (0, _reactTable.flexRender)(header.column.columnDef.header, header.getContext())
|
|
108
|
+
}, header.id);
|
|
109
|
+
})
|
|
110
|
+
}, headerGroup.id);
|
|
111
|
+
})
|
|
112
|
+
}), loading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.TableBody, {
|
|
113
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.TableRow, {
|
|
114
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.TableCell, {
|
|
115
|
+
colSpan: table.getAllFlatColumns().length,
|
|
116
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.CircularProgress, {})
|
|
117
|
+
})
|
|
118
|
+
})
|
|
119
|
+
}) : options.data.length === 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.TableBody, {
|
|
120
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.TableRow, {
|
|
121
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.TableCell, {
|
|
122
|
+
colSpan: table.getAllFlatColumns().length,
|
|
123
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.TableZeroState, {
|
|
124
|
+
children: zeroStateMessage !== null && zeroStateMessage !== void 0 ? zeroStateMessage : 'No data found'
|
|
125
|
+
})
|
|
126
|
+
})
|
|
127
|
+
})
|
|
128
|
+
}) : tableIsVisible && /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.TableBody, {
|
|
129
|
+
sx: {
|
|
130
|
+
'&::after': {
|
|
131
|
+
display: 'block',
|
|
132
|
+
content: "''",
|
|
133
|
+
// this ensures the table takes up as much size as the total elements by adding padding to the end
|
|
134
|
+
height: "".concat(virtualItems.length * rowSize, "px")
|
|
135
|
+
}
|
|
136
|
+
},
|
|
137
|
+
children: virtualItems.map(function (virtualRow, index) {
|
|
138
|
+
var row = rows[virtualRow.index];
|
|
139
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.TableRow, {
|
|
140
|
+
sx: {
|
|
141
|
+
height: "".concat(virtualRow.size, "px"),
|
|
142
|
+
transform: "translateY(".concat(virtualRow.start - offsetFromScrollEl - index * virtualRow.size, "px)")
|
|
143
|
+
},
|
|
144
|
+
children: row.getAllCells().map(function (cell) {
|
|
145
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_react["default"].Fragment, {
|
|
146
|
+
children: (0, _reactTable.flexRender)(cell.column.columnDef.cell, cell.getContext())
|
|
147
|
+
}, cell.id);
|
|
148
|
+
})
|
|
149
|
+
}, row.id);
|
|
150
|
+
})
|
|
151
|
+
})]
|
|
152
|
+
})
|
|
153
|
+
});
|
|
154
|
+
}
|