@cdx-ui/data-grid 0.0.1-beta.185
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -0
- package/lib/commonjs/DataGrid.js +478 -0
- package/lib/commonjs/DataGrid.js.map +1 -0
- package/lib/commonjs/adapter/columns.js +38 -0
- package/lib/commonjs/adapter/columns.js.map +1 -0
- package/lib/commonjs/adapter/selectColumn.js +18 -0
- package/lib/commonjs/adapter/selectColumn.js.map +1 -0
- package/lib/commonjs/index.js +13 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/package.json +1 -0
- package/lib/commonjs/styles.js +61 -0
- package/lib/commonjs/styles.js.map +1 -0
- package/lib/commonjs/types.js +17 -0
- package/lib/commonjs/types.js.map +1 -0
- package/lib/commonjs/useDataGridTable.js +253 -0
- package/lib/commonjs/useDataGridTable.js.map +1 -0
- package/lib/module/DataGrid.js +474 -0
- package/lib/module/DataGrid.js.map +1 -0
- package/lib/module/adapter/columns.js +32 -0
- package/lib/module/adapter/columns.js.map +1 -0
- package/lib/module/adapter/selectColumn.js +14 -0
- package/lib/module/adapter/selectColumn.js.map +1 -0
- package/lib/module/index.js +4 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/styles.js +57 -0
- package/lib/module/styles.js.map +1 -0
- package/lib/module/types.js +13 -0
- package/lib/module/types.js.map +1 -0
- package/lib/module/useDataGridTable.js +240 -0
- package/lib/module/useDataGridTable.js.map +1 -0
- package/lib/typescript/DataGrid.d.ts +7 -0
- package/lib/typescript/DataGrid.d.ts.map +1 -0
- package/lib/typescript/adapter/columns.d.ts +17 -0
- package/lib/typescript/adapter/columns.d.ts.map +1 -0
- package/lib/typescript/adapter/selectColumn.d.ts +9 -0
- package/lib/typescript/adapter/selectColumn.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +3 -0
- package/lib/typescript/index.d.ts.map +1 -0
- package/lib/typescript/styles.d.ts +22 -0
- package/lib/typescript/styles.d.ts.map +1 -0
- package/lib/typescript/types.d.ts +112 -0
- package/lib/typescript/types.d.ts.map +1 -0
- package/lib/typescript/useDataGridTable.d.ts +54 -0
- package/lib/typescript/useDataGridTable.d.ts.map +1 -0
- package/package.json +87 -0
- package/src/DataGrid.tsx +622 -0
- package/src/adapter/columns.test.ts +47 -0
- package/src/adapter/columns.ts +32 -0
- package/src/adapter/selectColumn.ts +12 -0
- package/src/index.ts +17 -0
- package/src/styles.ts +104 -0
- package/src/types.ts +133 -0
- package/src/useDataGridTable.test.ts +125 -0
- package/src/useDataGridTable.ts +295 -0
package/README.md
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# @cdx-ui/data-grid
|
|
2
|
+
|
|
3
|
+
Web DataGrid with a MUI Community–shaped `rows` / `columns` API. TanStack Table is an internal engine — do not import it from consumer code.
|
|
4
|
+
|
|
5
|
+
```tsx
|
|
6
|
+
import { DataGrid, type GridColDef } from '@cdx-ui/data-grid';
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Install alongside `@cdx-ui/components`. DataGrid is web-only.
|
|
10
|
+
|
|
11
|
+
The grid uses a **300px** viewport by default (MUI Data Grid Community). Headers stay visible while rows scroll; pagination stays at the bottom. Override with `className` or `style`.
|
|
@@ -0,0 +1,478 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.DataGrid = DataGrid;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _components = require("@cdx-ui/components");
|
|
10
|
+
var _icons = require("@cdx-ui/icons");
|
|
11
|
+
var _primitives = require("@cdx-ui/primitives");
|
|
12
|
+
var _utils = require("@cdx-ui/utils");
|
|
13
|
+
var _columns = require("./adapter/columns");
|
|
14
|
+
var _styles = require("./styles");
|
|
15
|
+
var _types = require("./types");
|
|
16
|
+
var _useDataGridTable = require("./useDataGridTable");
|
|
17
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
18
|
+
const MAX_SKELETON_ROW_COUNT = 10;
|
|
19
|
+
const DEFAULT_WEB_COLUMN_WIDTH = 100;
|
|
20
|
+
const SELECT_COLUMN_WIDTH = 56;
|
|
21
|
+
const WEB_TABLE_CONTAINER_STYLE = {
|
|
22
|
+
overflow: 'visible'
|
|
23
|
+
};
|
|
24
|
+
function cellStyle(col, webWidth) {
|
|
25
|
+
if (!col) {
|
|
26
|
+
return undefined;
|
|
27
|
+
}
|
|
28
|
+
const style = {};
|
|
29
|
+
if (_reactNative.Platform.OS === 'web' && webWidth !== undefined) {
|
|
30
|
+
style.width = webWidth;
|
|
31
|
+
} else if (col.width !== undefined) {
|
|
32
|
+
style.width = col.width;
|
|
33
|
+
}
|
|
34
|
+
if (col.minWidth !== undefined) {
|
|
35
|
+
style.minWidth = col.minWidth;
|
|
36
|
+
}
|
|
37
|
+
if (_reactNative.Platform.OS !== 'web' && col.flex !== undefined) {
|
|
38
|
+
style.flex = col.flex;
|
|
39
|
+
}
|
|
40
|
+
return Object.keys(style).length > 0 ? style : undefined;
|
|
41
|
+
}
|
|
42
|
+
function webColumnWidths(columns, checkboxSelection) {
|
|
43
|
+
const totalFlex = columns.reduce((total, column) => total + Math.max(column.flex ?? 0, 0), 0);
|
|
44
|
+
const widths = new Map();
|
|
45
|
+
if (totalFlex === 0) {
|
|
46
|
+
for (const column of columns) {
|
|
47
|
+
if (column.width !== undefined) {
|
|
48
|
+
widths.set(column.field, column.width);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return widths;
|
|
52
|
+
}
|
|
53
|
+
const fixedWidth = (checkboxSelection ? SELECT_COLUMN_WIDTH : 0) + columns.reduce((total, column) => {
|
|
54
|
+
if ((column.flex ?? 0) > 0) {
|
|
55
|
+
return total;
|
|
56
|
+
}
|
|
57
|
+
return total + Math.max(column.width ?? DEFAULT_WEB_COLUMN_WIDTH, column.minWidth ?? 0);
|
|
58
|
+
}, 0);
|
|
59
|
+
for (const column of columns) {
|
|
60
|
+
if ((column.flex ?? 0) > 0) {
|
|
61
|
+
const share = (column.flex ?? 0) / totalFlex;
|
|
62
|
+
const percentage = share * 100;
|
|
63
|
+
const fixedShare = fixedWidth * share;
|
|
64
|
+
const width = `calc(${percentage.toString()}% - ${fixedShare.toString()}px)`;
|
|
65
|
+
widths.set(column.field, column.minWidth === undefined ? width : `max(${column.minWidth.toString()}px, ${width})`);
|
|
66
|
+
} else {
|
|
67
|
+
widths.set(column.field, Math.max(column.width ?? DEFAULT_WEB_COLUMN_WIDTH, column.minWidth ?? 0));
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return widths;
|
|
71
|
+
}
|
|
72
|
+
function defaultCellContent(value) {
|
|
73
|
+
if (value == null) {
|
|
74
|
+
return '';
|
|
75
|
+
}
|
|
76
|
+
if (typeof value === 'string' || typeof value === 'number') {
|
|
77
|
+
return value;
|
|
78
|
+
}
|
|
79
|
+
try {
|
|
80
|
+
if (typeof value === 'bigint' || typeof value === 'boolean' || typeof value === 'symbol') {
|
|
81
|
+
return String(value);
|
|
82
|
+
}
|
|
83
|
+
const serialized = JSON.stringify(value, null, 2);
|
|
84
|
+
return typeof serialized === 'string' ? serialized : '[Unserializable value]';
|
|
85
|
+
} catch {
|
|
86
|
+
return '[Unserializable value]';
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
function DefaultLoadingRows({
|
|
90
|
+
columns,
|
|
91
|
+
checkboxSelection,
|
|
92
|
+
rowCount,
|
|
93
|
+
columnWidths
|
|
94
|
+
}) {
|
|
95
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
|
|
96
|
+
children: Array.from({
|
|
97
|
+
length: rowCount
|
|
98
|
+
}, (_, rowIndex) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.Table.Row, {
|
|
99
|
+
className: "pointer-events-none web:hover:bg-surface-primary",
|
|
100
|
+
testID: rowIndex === 0 ? 'data-grid-default-loading-rows' : undefined,
|
|
101
|
+
children: [checkboxSelection ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Table.Cell, {
|
|
102
|
+
align: "center",
|
|
103
|
+
className: (0, _styles.dataGridSelectCellVariants)(),
|
|
104
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Skeleton, {
|
|
105
|
+
className: "size-5"
|
|
106
|
+
})
|
|
107
|
+
}) : null, columns.map(column => /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Table.Cell, {
|
|
108
|
+
align: (0, _columns.normalizeGridAlignment)(column.align),
|
|
109
|
+
className: (0, _styles.dataGridCellVariants)(),
|
|
110
|
+
style: cellStyle(column, columnWidths.get(column.field)),
|
|
111
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Skeleton, {
|
|
112
|
+
className: "h-4 w-3/5"
|
|
113
|
+
})
|
|
114
|
+
}, column.field))]
|
|
115
|
+
}, rowIndex))
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
function paginationRangeLabel(page, pageSize, total) {
|
|
119
|
+
if (total <= 0) {
|
|
120
|
+
return `0\u20130 of 0`;
|
|
121
|
+
}
|
|
122
|
+
const start = page * pageSize + 1;
|
|
123
|
+
const end = Math.min((page + 1) * pageSize, total);
|
|
124
|
+
return `${start.toString()}\u2013${end.toString()} of ${total.toString()}`;
|
|
125
|
+
}
|
|
126
|
+
function withCurrentPageSize(options, pageSize) {
|
|
127
|
+
const exists = options.some(option => typeof option === 'number' ? option === pageSize : option.value === pageSize);
|
|
128
|
+
return exists ? [...options] : [pageSize, ...options];
|
|
129
|
+
}
|
|
130
|
+
function DataGridInner(props) {
|
|
131
|
+
const {
|
|
132
|
+
rows,
|
|
133
|
+
columns,
|
|
134
|
+
getRowId,
|
|
135
|
+
loading = false,
|
|
136
|
+
checkboxSelection = false,
|
|
137
|
+
hideFooter = false,
|
|
138
|
+
hideFooterPagination = false,
|
|
139
|
+
disableColumnSorting = false,
|
|
140
|
+
paginationMode = 'client',
|
|
141
|
+
sortingMode = 'client',
|
|
142
|
+
rowCount,
|
|
143
|
+
showToolbar = false,
|
|
144
|
+
headerFilters = false,
|
|
145
|
+
pageSizeOptions = _types.DEFAULT_PAGE_SIZE_OPTIONS,
|
|
146
|
+
noRowsOverlay,
|
|
147
|
+
loadingOverlay,
|
|
148
|
+
toolbarActions,
|
|
149
|
+
className,
|
|
150
|
+
style,
|
|
151
|
+
label,
|
|
152
|
+
'aria-label': ariaLabel,
|
|
153
|
+
'aria-labelledby': ariaLabelledBy
|
|
154
|
+
} = props;
|
|
155
|
+
const [sortModel, setSortModel] = (0, _utils.useControllableState)({
|
|
156
|
+
prop: props.sortModel,
|
|
157
|
+
defaultProp: props.defaultSortModel ?? [],
|
|
158
|
+
onChange: props.onSortModelChange
|
|
159
|
+
});
|
|
160
|
+
const [paginationModel, setPaginationModel] = (0, _utils.useControllableState)({
|
|
161
|
+
prop: props.paginationModel,
|
|
162
|
+
defaultProp: props.defaultPaginationModel ?? _types.DEFAULT_PAGINATION_MODEL,
|
|
163
|
+
onChange: props.onPaginationModelChange
|
|
164
|
+
});
|
|
165
|
+
const [filterModel, setFilterModel] = (0, _utils.useControllableState)({
|
|
166
|
+
prop: props.filterModel,
|
|
167
|
+
defaultProp: props.defaultFilterModel ?? [],
|
|
168
|
+
onChange: props.onFilterModelChange
|
|
169
|
+
});
|
|
170
|
+
const [quickFilter, setQuickFilter] = (0, _utils.useControllableState)({
|
|
171
|
+
prop: props.quickFilter,
|
|
172
|
+
defaultProp: props.defaultQuickFilter ?? '',
|
|
173
|
+
onChange: props.onQuickFilterChange
|
|
174
|
+
});
|
|
175
|
+
const [rowSelectionModel, setRowSelectionModel] = (0, _utils.useControllableState)({
|
|
176
|
+
prop: props.rowSelectionModel,
|
|
177
|
+
defaultProp: props.defaultRowSelectionModel ?? _types.EMPTY_SELECTION,
|
|
178
|
+
onChange: props.onRowSelectionModelChange
|
|
179
|
+
});
|
|
180
|
+
const resolvedSortModel = sortModel ?? [];
|
|
181
|
+
const resolvedPagination = paginationModel ?? _types.DEFAULT_PAGINATION_MODEL;
|
|
182
|
+
const resolvedFilterModel = filterModel ?? [];
|
|
183
|
+
const resolvedQuickFilter = quickFilter ?? '';
|
|
184
|
+
const resolvedSelection = rowSelectionModel ?? _types.EMPTY_SELECTION;
|
|
185
|
+
const {
|
|
186
|
+
table,
|
|
187
|
+
setQuickFilter: setQuickFilterWithPageReset,
|
|
188
|
+
setColumnFilter
|
|
189
|
+
} = (0, _useDataGridTable.useDataGridTable)({
|
|
190
|
+
rows,
|
|
191
|
+
columns,
|
|
192
|
+
getRowId,
|
|
193
|
+
checkboxSelection,
|
|
194
|
+
disableColumnSorting,
|
|
195
|
+
paginationMode,
|
|
196
|
+
sortingMode,
|
|
197
|
+
rowCount,
|
|
198
|
+
sortModel: resolvedSortModel,
|
|
199
|
+
onSortModelChange: model => setSortModel(model),
|
|
200
|
+
paginationModel: resolvedPagination,
|
|
201
|
+
onPaginationModelChange: model => setPaginationModel(model),
|
|
202
|
+
filterModel: resolvedFilterModel,
|
|
203
|
+
onFilterModelChange: model => setFilterModel(model),
|
|
204
|
+
quickFilter: resolvedQuickFilter,
|
|
205
|
+
onQuickFilterChange: value => setQuickFilter(value),
|
|
206
|
+
rowSelectionModel: resolvedSelection,
|
|
207
|
+
onRowSelectionModelChange: model => setRowSelectionModel(model)
|
|
208
|
+
});
|
|
209
|
+
const colByField = (0, _react.useMemo)(() => {
|
|
210
|
+
const map = new Map();
|
|
211
|
+
for (const col of columns) {
|
|
212
|
+
map.set(col.field, col);
|
|
213
|
+
}
|
|
214
|
+
return map;
|
|
215
|
+
}, [columns]);
|
|
216
|
+
const columnWidths = (0, _react.useMemo)(() => webColumnWidths(columns, checkboxSelection), [checkboxSelection, columns]);
|
|
217
|
+
const hasFlexColumns = (0, _react.useMemo)(() => columns.some(column => (column.flex ?? 0) > 0), [columns]);
|
|
218
|
+
const visibleRows = table.getRowModel().rows;
|
|
219
|
+
const pageCount = Math.max(table.getPageCount(), 1);
|
|
220
|
+
const selectedCount = table.getFilteredSelectedRowModel().rows.length;
|
|
221
|
+
const filterableCount = table.getFilteredRowModel().rows.length;
|
|
222
|
+
const headerSelectState = selectedCount === 0 ? {
|
|
223
|
+
checked: false,
|
|
224
|
+
indeterminate: false
|
|
225
|
+
} : selectedCount === filterableCount ? {
|
|
226
|
+
checked: true,
|
|
227
|
+
indeterminate: false
|
|
228
|
+
} : {
|
|
229
|
+
checked: false,
|
|
230
|
+
indeterminate: true
|
|
231
|
+
};
|
|
232
|
+
const accessibleName = ariaLabel ?? label;
|
|
233
|
+
const isEmpty = !loading && rows.length === 0;
|
|
234
|
+
const totalCount = paginationMode === 'server' ? rowCount ?? rows.length : filterableCount;
|
|
235
|
+
const filterValueFor = field => resolvedFilterModel.find(item => item.field === field)?.value ?? '';
|
|
236
|
+
const showToolbarBar = showToolbar || toolbarActions != null;
|
|
237
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
238
|
+
className: (0, _utils.cn)((0, _styles.dataGridRootVariants)(), className),
|
|
239
|
+
style: style,
|
|
240
|
+
...(0, _primitives.mergeDataAttributes)({}, (0, _primitives.dataAttributes)({
|
|
241
|
+
slot: 'data-grid'
|
|
242
|
+
})),
|
|
243
|
+
children: [showToolbarBar ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
244
|
+
className: (0, _styles.dataGridToolbarVariants)(),
|
|
245
|
+
children: [showToolbar ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.Input, {
|
|
246
|
+
size: "small",
|
|
247
|
+
className: (0, _styles.dataGridToolbarSearchVariants)(),
|
|
248
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Input.Icon, {
|
|
249
|
+
as: _icons.Search
|
|
250
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Input.Field, {
|
|
251
|
+
value: resolvedQuickFilter,
|
|
252
|
+
onChangeText: setQuickFilterWithPageReset,
|
|
253
|
+
placeholder: "Search",
|
|
254
|
+
accessibilityLabel: "Search"
|
|
255
|
+
})]
|
|
256
|
+
}) : null, toolbarActions ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
257
|
+
className: (0, _styles.dataGridToolbarActionsVariants)(),
|
|
258
|
+
children: toolbarActions
|
|
259
|
+
}) : null]
|
|
260
|
+
}) : null, /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
261
|
+
className: (0, _styles.dataGridMainVariants)(),
|
|
262
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.Table, {
|
|
263
|
+
className: (0, _utils.cn)((0, _styles.dataGridTableVariants)(), _reactNative.Platform.OS === 'web' && hasFlexColumns ? 'table-fixed' : undefined),
|
|
264
|
+
containerStyle: _reactNative.Platform.OS === 'web' ? WEB_TABLE_CONTAINER_STYLE : undefined,
|
|
265
|
+
accessibilityLabel: accessibleName,
|
|
266
|
+
...(_reactNative.Platform.OS === 'web' ? {
|
|
267
|
+
'aria-label': accessibleName,
|
|
268
|
+
'aria-labelledby': ariaLabelledBy,
|
|
269
|
+
'aria-busy': loading
|
|
270
|
+
} : {}),
|
|
271
|
+
children: [label ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Table.Caption, {
|
|
272
|
+
children: label
|
|
273
|
+
}) : null, _reactNative.Platform.OS === 'web' && hasFlexColumns ? /*#__PURE__*/(0, _jsxRuntime.jsxs)("colgroup", {
|
|
274
|
+
children: [checkboxSelection ? /*#__PURE__*/(0, _jsxRuntime.jsx)("col", {
|
|
275
|
+
style: {
|
|
276
|
+
width: SELECT_COLUMN_WIDTH
|
|
277
|
+
}
|
|
278
|
+
}) : null, columns.map(column => /*#__PURE__*/(0, _jsxRuntime.jsx)("col", {
|
|
279
|
+
style: {
|
|
280
|
+
width: columnWidths.get(column.field),
|
|
281
|
+
minWidth: column.minWidth
|
|
282
|
+
}
|
|
283
|
+
}, column.field))]
|
|
284
|
+
}) : null, /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.Table.Header, {
|
|
285
|
+
className: (0, _styles.dataGridHeaderVariants)(),
|
|
286
|
+
children: [table.getHeaderGroups().map(headerGroup => /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Table.Row, {
|
|
287
|
+
children: headerGroup.headers.map(header => {
|
|
288
|
+
if (header.id === _types.SELECT_COLUMN_ID) {
|
|
289
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Table.Head, {
|
|
290
|
+
align: "center",
|
|
291
|
+
className: (0, _styles.dataGridSelectHeadVariants)(),
|
|
292
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Checkbox, {
|
|
293
|
+
value: "select-all",
|
|
294
|
+
isChecked: headerSelectState.checked,
|
|
295
|
+
isIndeterminate: headerSelectState.indeterminate,
|
|
296
|
+
onChange: () => table.toggleAllRowsSelected(),
|
|
297
|
+
accessibilityLabel: "Select all",
|
|
298
|
+
"aria-label": "Select all"
|
|
299
|
+
})
|
|
300
|
+
}, header.id);
|
|
301
|
+
}
|
|
302
|
+
const col = colByField.get(header.column.id);
|
|
303
|
+
const sorted = header.column.getIsSorted();
|
|
304
|
+
const canSort = !disableColumnSorting && header.column.getCanSort();
|
|
305
|
+
const headerAlign = col?.headerAlign ?? col?.align;
|
|
306
|
+
const SortIcon = sorted === 'asc' ? _icons.KeyboardArrowUp : sorted === 'desc' ? _icons.KeyboardArrowDown : _icons.KeyboardArrowDown;
|
|
307
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Table.Head, {
|
|
308
|
+
align: (0, _columns.normalizeGridAlignment)(headerAlign),
|
|
309
|
+
className: (0, _styles.dataGridHeadVariants)(),
|
|
310
|
+
style: cellStyle(col, columnWidths.get(header.column.id)),
|
|
311
|
+
...(_reactNative.Platform.OS === 'web' && canSort ? {
|
|
312
|
+
'aria-sort': sorted === 'asc' ? 'ascending' : sorted === 'desc' ? 'descending' : 'none'
|
|
313
|
+
} : {}),
|
|
314
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
315
|
+
className: (0, _styles.dataGridHeaderCellInnerVariants)(),
|
|
316
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Text, {
|
|
317
|
+
className: "font-medium text-content-primary",
|
|
318
|
+
children: col?.renderHeader ? col.renderHeader() : col?.headerName ?? col?.field
|
|
319
|
+
}), canSort ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.IconButton, {
|
|
320
|
+
as: SortIcon,
|
|
321
|
+
variant: "ghost",
|
|
322
|
+
color: "neutral",
|
|
323
|
+
size: "small",
|
|
324
|
+
iconClassName: "size-4",
|
|
325
|
+
accessibilityLabel: `Sort by ${col?.headerName ?? header.column.id}`,
|
|
326
|
+
onPress: () => {
|
|
327
|
+
header.column.toggleSorting();
|
|
328
|
+
},
|
|
329
|
+
className: sorted ? undefined : 'opacity-40'
|
|
330
|
+
}) : null]
|
|
331
|
+
})
|
|
332
|
+
}, header.id);
|
|
333
|
+
})
|
|
334
|
+
}, headerGroup.id)), headerFilters ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Table.Row, {
|
|
335
|
+
children: table.getAllLeafColumns().map(column => {
|
|
336
|
+
if (column.id === _types.SELECT_COLUMN_ID) {
|
|
337
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Table.Cell, {
|
|
338
|
+
align: "center",
|
|
339
|
+
className: (0, _styles.dataGridSelectHeadVariants)()
|
|
340
|
+
}, column.id);
|
|
341
|
+
}
|
|
342
|
+
const col = colByField.get(column.id);
|
|
343
|
+
const headerAlign = col?.headerAlign ?? col?.align;
|
|
344
|
+
if (col?.filterable === false) {
|
|
345
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Table.Head, {
|
|
346
|
+
align: (0, _columns.normalizeGridAlignment)(headerAlign),
|
|
347
|
+
className: (0, _styles.dataGridHeadVariants)(),
|
|
348
|
+
style: cellStyle(col, columnWidths.get(column.id))
|
|
349
|
+
}, column.id);
|
|
350
|
+
}
|
|
351
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Table.Head, {
|
|
352
|
+
align: (0, _columns.normalizeGridAlignment)(headerAlign),
|
|
353
|
+
className: (0, _styles.dataGridHeadVariants)(),
|
|
354
|
+
style: cellStyle(col, columnWidths.get(column.id)),
|
|
355
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Input, {
|
|
356
|
+
size: "small",
|
|
357
|
+
className: (0, _styles.dataGridFilterInputVariants)(),
|
|
358
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Input.Field, {
|
|
359
|
+
value: filterValueFor(column.id),
|
|
360
|
+
onChangeText: value => setColumnFilter(column.id, value),
|
|
361
|
+
placeholder: "Filter",
|
|
362
|
+
accessibilityLabel: `Filter ${col?.headerName ?? column.id}`
|
|
363
|
+
})
|
|
364
|
+
})
|
|
365
|
+
}, column.id);
|
|
366
|
+
})
|
|
367
|
+
}) : null]
|
|
368
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Table.Body, {
|
|
369
|
+
className: (0, _styles.dataGridBodyVariants)(),
|
|
370
|
+
children: loading && loadingOverlay == null ? /*#__PURE__*/(0, _jsxRuntime.jsx)(DefaultLoadingRows, {
|
|
371
|
+
columns: columns,
|
|
372
|
+
checkboxSelection: checkboxSelection,
|
|
373
|
+
rowCount: Math.min(resolvedPagination.pageSize, MAX_SKELETON_ROW_COUNT),
|
|
374
|
+
columnWidths: columnWidths
|
|
375
|
+
}) : isEmpty ? null : visibleRows.map(row => {
|
|
376
|
+
const rowId = (0, _useDataGridTable.resolveRowId)(row.original, getRowId);
|
|
377
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Table.Row, {
|
|
378
|
+
children: row.getAllCells().map(cell => {
|
|
379
|
+
if (cell.column.id === _types.SELECT_COLUMN_ID) {
|
|
380
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Table.Cell, {
|
|
381
|
+
align: "center",
|
|
382
|
+
className: (0, _styles.dataGridSelectCellVariants)(),
|
|
383
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Checkbox, {
|
|
384
|
+
value: String(rowId),
|
|
385
|
+
isChecked: row.getIsSelected(),
|
|
386
|
+
onChange: () => row.toggleSelected(),
|
|
387
|
+
accessibilityLabel: `Select row ${String(rowId)}`,
|
|
388
|
+
"aria-label": `Select row ${String(rowId)}`
|
|
389
|
+
})
|
|
390
|
+
}, cell.id);
|
|
391
|
+
}
|
|
392
|
+
const col = colByField.get(cell.column.id);
|
|
393
|
+
const value = cell.getValue();
|
|
394
|
+
let content;
|
|
395
|
+
if (col?.renderCell) {
|
|
396
|
+
content = col.renderCell({
|
|
397
|
+
value,
|
|
398
|
+
row: row.original,
|
|
399
|
+
field: col.field,
|
|
400
|
+
id: rowId
|
|
401
|
+
});
|
|
402
|
+
} else if (col?.valueFormatter) {
|
|
403
|
+
content = col.valueFormatter(value, row.original, col);
|
|
404
|
+
} else {
|
|
405
|
+
content = defaultCellContent(value);
|
|
406
|
+
}
|
|
407
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Table.Cell, {
|
|
408
|
+
align: (0, _columns.normalizeGridAlignment)(col?.align),
|
|
409
|
+
className: (0, _styles.dataGridCellVariants)(),
|
|
410
|
+
style: cellStyle(col, columnWidths.get(cell.column.id)),
|
|
411
|
+
children: content
|
|
412
|
+
}, cell.id);
|
|
413
|
+
})
|
|
414
|
+
}, row.id);
|
|
415
|
+
})
|
|
416
|
+
})]
|
|
417
|
+
}), isEmpty ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
418
|
+
className: (0, _styles.dataGridEmptyOverlayVariants)(),
|
|
419
|
+
accessibilityLabel: "No rows",
|
|
420
|
+
children: noRowsOverlay ?? /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Text, {
|
|
421
|
+
className: "text-center text-content-secondary",
|
|
422
|
+
children: "No rows"
|
|
423
|
+
})
|
|
424
|
+
}) : null, loading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Text, {
|
|
425
|
+
className: "pointer-events-none absolute h-px w-px overflow-hidden opacity-0",
|
|
426
|
+
accessibilityLiveRegion: "polite",
|
|
427
|
+
children: "Loading"
|
|
428
|
+
}) : null, loading && loadingOverlay != null ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
429
|
+
className: (0, _styles.dataGridOverlayVariants)({
|
|
430
|
+
headerFilters
|
|
431
|
+
}),
|
|
432
|
+
children: loadingOverlay
|
|
433
|
+
}) : null]
|
|
434
|
+
}), !hideFooter && !hideFooterPagination && (paginationMode === 'server' ? totalCount > 0 : rows.length > 0) ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
435
|
+
className: (0, _styles.dataGridFooterVariants)(),
|
|
436
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.TablePagination, {
|
|
437
|
+
page: resolvedPagination.page + 1,
|
|
438
|
+
count: pageCount,
|
|
439
|
+
pageSize: resolvedPagination.pageSize,
|
|
440
|
+
pageSizeOptions: withCurrentPageSize(pageSizeOptions, resolvedPagination.pageSize),
|
|
441
|
+
onPageChange: page => setPaginationModel({
|
|
442
|
+
...resolvedPagination,
|
|
443
|
+
page: page - 1
|
|
444
|
+
}),
|
|
445
|
+
onPageSizeChange: pageSize => setPaginationModel({
|
|
446
|
+
page: 0,
|
|
447
|
+
pageSize
|
|
448
|
+
}),
|
|
449
|
+
disabled: loading,
|
|
450
|
+
accessibilityLabel: "Grid pagination",
|
|
451
|
+
className: (0, _styles.dataGridPaginationVariants)(),
|
|
452
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Text, {
|
|
453
|
+
size: "md",
|
|
454
|
+
className: "text-content-primary",
|
|
455
|
+
children: "Rows per page:"
|
|
456
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.TablePagination.PageSize, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.TablePagination.Status, {
|
|
457
|
+
className: (0, _styles.dataGridPaginationRangeVariants)(),
|
|
458
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Text, {
|
|
459
|
+
size: "md",
|
|
460
|
+
className: "text-content-primary",
|
|
461
|
+
children: paginationRangeLabel(resolvedPagination.page, resolvedPagination.pageSize, totalCount)
|
|
462
|
+
})
|
|
463
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.TablePagination.Previous, {
|
|
464
|
+
className: "h-11 w-11 min-w-11"
|
|
465
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.TablePagination.Next, {
|
|
466
|
+
className: "h-11 w-11 min-w-11"
|
|
467
|
+
})]
|
|
468
|
+
})
|
|
469
|
+
}) : null]
|
|
470
|
+
});
|
|
471
|
+
}
|
|
472
|
+
function DataGrid(props) {
|
|
473
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(DataGridInner, {
|
|
474
|
+
...props
|
|
475
|
+
});
|
|
476
|
+
}
|
|
477
|
+
DataGrid.displayName = 'DataGrid';
|
|
478
|
+
//# sourceMappingURL=DataGrid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_components","_icons","_primitives","_utils","_columns","_styles","_types","_useDataGridTable","_jsxRuntime","MAX_SKELETON_ROW_COUNT","DEFAULT_WEB_COLUMN_WIDTH","SELECT_COLUMN_WIDTH","WEB_TABLE_CONTAINER_STYLE","overflow","cellStyle","col","webWidth","undefined","style","Platform","OS","width","minWidth","flex","Object","keys","length","webColumnWidths","columns","checkboxSelection","totalFlex","reduce","total","column","Math","max","widths","Map","set","field","fixedWidth","share","percentage","fixedShare","toString","defaultCellContent","value","String","serialized","JSON","stringify","DefaultLoadingRows","rowCount","columnWidths","jsx","Fragment","children","Array","from","_","rowIndex","jsxs","Table","Row","className","testID","Cell","align","dataGridSelectCellVariants","Skeleton","map","normalizeGridAlignment","dataGridCellVariants","get","paginationRangeLabel","page","pageSize","start","end","min","withCurrentPageSize","options","exists","some","option","DataGridInner","props","rows","getRowId","loading","hideFooter","hideFooterPagination","disableColumnSorting","paginationMode","sortingMode","showToolbar","headerFilters","pageSizeOptions","DEFAULT_PAGE_SIZE_OPTIONS","noRowsOverlay","loadingOverlay","toolbarActions","label","ariaLabel","ariaLabelledBy","sortModel","setSortModel","useControllableState","prop","defaultProp","defaultSortModel","onChange","onSortModelChange","paginationModel","setPaginationModel","defaultPaginationModel","DEFAULT_PAGINATION_MODEL","onPaginationModelChange","filterModel","setFilterModel","defaultFilterModel","onFilterModelChange","quickFilter","setQuickFilter","defaultQuickFilter","onQuickFilterChange","rowSelectionModel","setRowSelectionModel","defaultRowSelectionModel","EMPTY_SELECTION","onRowSelectionModelChange","resolvedSortModel","resolvedPagination","resolvedFilterModel","resolvedQuickFilter","resolvedSelection","table","setQuickFilterWithPageReset","setColumnFilter","useDataGridTable","model","colByField","useMemo","hasFlexColumns","visibleRows","getRowModel","pageCount","getPageCount","selectedCount","getFilteredSelectedRowModel","filterableCount","getFilteredRowModel","headerSelectState","checked","indeterminate","accessibleName","isEmpty","totalCount","filterValueFor","find","item","showToolbarBar","View","cn","dataGridRootVariants","mergeDataAttributes","dataAttributes","slot","dataGridToolbarVariants","Input","size","dataGridToolbarSearchVariants","Icon","as","Search","Field","onChangeText","placeholder","accessibilityLabel","dataGridToolbarActionsVariants","dataGridMainVariants","dataGridTableVariants","containerStyle","Caption","Header","dataGridHeaderVariants","getHeaderGroups","headerGroup","headers","header","id","SELECT_COLUMN_ID","Head","dataGridSelectHeadVariants","Checkbox","isChecked","isIndeterminate","toggleAllRowsSelected","sorted","getIsSorted","canSort","getCanSort","headerAlign","SortIcon","KeyboardArrowUp","KeyboardArrowDown","dataGridHeadVariants","dataGridHeaderCellInnerVariants","Text","renderHeader","headerName","IconButton","variant","color","iconClassName","onPress","toggleSorting","getAllLeafColumns","filterable","dataGridFilterInputVariants","Body","dataGridBodyVariants","row","rowId","resolveRowId","original","getAllCells","cell","getIsSelected","toggleSelected","getValue","content","renderCell","valueFormatter","dataGridEmptyOverlayVariants","accessibilityLiveRegion","dataGridOverlayVariants","dataGridFooterVariants","TablePagination","count","onPageChange","onPageSizeChange","disabled","dataGridPaginationVariants","PageSize","Status","dataGridPaginationRangeVariants","Previous","Next","DataGrid","displayName"],"sourceRoot":"../../src","sources":["DataGrid.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.applyUpdater = applyUpdater;
|
|
7
|
+
exports.gridColDefToColumnDef = gridColDefToColumnDef;
|
|
8
|
+
exports.normalizeGridAlignment = normalizeGridAlignment;
|
|
9
|
+
function gridColDefToColumnDef(col) {
|
|
10
|
+
return {
|
|
11
|
+
id: col.field,
|
|
12
|
+
accessorFn: row => {
|
|
13
|
+
const raw = row[col.field];
|
|
14
|
+
return col.valueGetter ? col.valueGetter(raw, row, col) : raw;
|
|
15
|
+
},
|
|
16
|
+
header: col.headerName ?? col.field,
|
|
17
|
+
enableSorting: col.sortable !== false,
|
|
18
|
+
enableColumnFilter: col.filterable !== false,
|
|
19
|
+
enableGlobalFilter: col.filterable !== false,
|
|
20
|
+
filterFn: 'includesString',
|
|
21
|
+
meta: {
|
|
22
|
+
colDef: col
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
function applyUpdater(updater, previous) {
|
|
27
|
+
return typeof updater === 'function' ? updater(previous) : updater;
|
|
28
|
+
}
|
|
29
|
+
function normalizeGridAlignment(align) {
|
|
30
|
+
if (align === 'left') {
|
|
31
|
+
return 'start';
|
|
32
|
+
}
|
|
33
|
+
if (align === 'right') {
|
|
34
|
+
return 'end';
|
|
35
|
+
}
|
|
36
|
+
return align ?? 'start';
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=columns.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["gridColDefToColumnDef","col","id","field","accessorFn","row","raw","valueGetter","header","headerName","enableSorting","sortable","enableColumnFilter","filterable","enableGlobalFilter","filterFn","meta","colDef","applyUpdater","updater","previous","normalizeGridAlignment","align"],"sourceRoot":"../../../src","sources":["adapter/columns.ts"],"mappings":";;;;;;;;AAGO,SAASA,qBAAqBA,CAA8BC,GAAkB,EAAE;EACrF,OAAO;IACLC,EAAE,EAAED,GAAG,CAACE,KAAK;IACbC,UAAU,EAAGC,GAAM,IAAK;MACtB,MAAMC,GAAG,GAAGD,GAAG,CAACJ,GAAG,CAACE,KAAK,CAAC;MAC1B,OAAOF,GAAG,CAACM,WAAW,GAAGN,GAAG,CAACM,WAAW,CAACD,GAAG,EAAED,GAAG,EAAEJ,GAAG,CAAC,GAAGK,GAAG;IAC/D,CAAC;IACDE,MAAM,EAAEP,GAAG,CAACQ,UAAU,IAAIR,GAAG,CAACE,KAAK;IACnCO,aAAa,EAAET,GAAG,CAACU,QAAQ,KAAK,KAAK;IACrCC,kBAAkB,EAAEX,GAAG,CAACY,UAAU,KAAK,KAAK;IAC5CC,kBAAkB,EAAEb,GAAG,CAACY,UAAU,KAAK,KAAK;IAC5CE,QAAQ,EAAE,gBAAyB;IACnCC,IAAI,EAAE;MAAEC,MAAM,EAAEhB;IAAI;EACtB,CAAC;AACH;AAEO,SAASiB,YAAYA,CAAIC,OAA4B,EAAEC,QAAW,EAAK;EAC5E,OAAO,OAAOD,OAAO,KAAK,UAAU,GAAIA,OAAO,CAAmBC,QAAQ,CAAC,GAAGD,OAAO;AACvF;AAEO,SAASE,sBAAsBA,CAACC,KAAqB,EAAkB;EAC5E,IAAIA,KAAK,KAAK,MAAM,EAAE;IACpB,OAAO,OAAO;EAChB;EACA,IAAIA,KAAK,KAAK,OAAO,EAAE;IACrB,OAAO,KAAK;EACd;EACA,OAAOA,KAAK,IAAI,OAAO;AACzB","ignoreList":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.createSelectColumn = createSelectColumn;
|
|
7
|
+
var _types = require("../types");
|
|
8
|
+
function createSelectColumn() {
|
|
9
|
+
return {
|
|
10
|
+
id: _types.SELECT_COLUMN_ID,
|
|
11
|
+
header: _types.SELECT_COLUMN_ID,
|
|
12
|
+
enableSorting: false,
|
|
13
|
+
enableColumnFilter: false,
|
|
14
|
+
enableGlobalFilter: false,
|
|
15
|
+
size: 48
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=selectColumn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_types","require","createSelectColumn","id","SELECT_COLUMN_ID","header","enableSorting","enableColumnFilter","enableGlobalFilter","size"],"sourceRoot":"../../../src","sources":["adapter/selectColumn.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEO,SAASC,kBAAkBA,CAAA,EAAG;EACnC,OAAO;IACLC,EAAE,EAAEC,uBAAgB;IACpBC,MAAM,EAAED,uBAAgB;IACxBE,aAAa,EAAE,KAAK;IACpBC,kBAAkB,EAAE,KAAK;IACzBC,kBAAkB,EAAE,KAAK;IACzBC,IAAI,EAAE;EACR,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "DataGrid", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _DataGrid.DataGrid;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
var _DataGrid = require("./DataGrid");
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_DataGrid","require"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type":"commonjs"}
|