@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
|
@@ -0,0 +1,474 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useMemo } from 'react';
|
|
4
|
+
import { Platform, View } from 'react-native';
|
|
5
|
+
import { Checkbox, IconButton, Input, Skeleton, Table, TablePagination, Text } from '@cdx-ui/components';
|
|
6
|
+
import { KeyboardArrowDown, KeyboardArrowUp, Search } from '@cdx-ui/icons';
|
|
7
|
+
import { dataAttributes, mergeDataAttributes } from '@cdx-ui/primitives';
|
|
8
|
+
import { cn, useControllableState } from '@cdx-ui/utils';
|
|
9
|
+
import { normalizeGridAlignment } from './adapter/columns';
|
|
10
|
+
import { dataGridBodyVariants, dataGridCellVariants, dataGridEmptyOverlayVariants, dataGridFilterInputVariants, dataGridFooterVariants, dataGridHeadVariants, dataGridHeaderCellInnerVariants, dataGridHeaderVariants, dataGridMainVariants, dataGridOverlayVariants, dataGridPaginationRangeVariants, dataGridPaginationVariants, dataGridRootVariants, dataGridSelectCellVariants, dataGridSelectHeadVariants, dataGridTableVariants, dataGridToolbarActionsVariants, dataGridToolbarSearchVariants, dataGridToolbarVariants } from './styles';
|
|
11
|
+
import { DEFAULT_PAGE_SIZE_OPTIONS, DEFAULT_PAGINATION_MODEL, EMPTY_SELECTION, SELECT_COLUMN_ID } from './types';
|
|
12
|
+
import { resolveRowId, useDataGridTable } from './useDataGridTable';
|
|
13
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
14
|
+
const MAX_SKELETON_ROW_COUNT = 10;
|
|
15
|
+
const DEFAULT_WEB_COLUMN_WIDTH = 100;
|
|
16
|
+
const SELECT_COLUMN_WIDTH = 56;
|
|
17
|
+
const WEB_TABLE_CONTAINER_STYLE = {
|
|
18
|
+
overflow: 'visible'
|
|
19
|
+
};
|
|
20
|
+
function cellStyle(col, webWidth) {
|
|
21
|
+
if (!col) {
|
|
22
|
+
return undefined;
|
|
23
|
+
}
|
|
24
|
+
const style = {};
|
|
25
|
+
if (Platform.OS === 'web' && webWidth !== undefined) {
|
|
26
|
+
style.width = webWidth;
|
|
27
|
+
} else if (col.width !== undefined) {
|
|
28
|
+
style.width = col.width;
|
|
29
|
+
}
|
|
30
|
+
if (col.minWidth !== undefined) {
|
|
31
|
+
style.minWidth = col.minWidth;
|
|
32
|
+
}
|
|
33
|
+
if (Platform.OS !== 'web' && col.flex !== undefined) {
|
|
34
|
+
style.flex = col.flex;
|
|
35
|
+
}
|
|
36
|
+
return Object.keys(style).length > 0 ? style : undefined;
|
|
37
|
+
}
|
|
38
|
+
function webColumnWidths(columns, checkboxSelection) {
|
|
39
|
+
const totalFlex = columns.reduce((total, column) => total + Math.max(column.flex ?? 0, 0), 0);
|
|
40
|
+
const widths = new Map();
|
|
41
|
+
if (totalFlex === 0) {
|
|
42
|
+
for (const column of columns) {
|
|
43
|
+
if (column.width !== undefined) {
|
|
44
|
+
widths.set(column.field, column.width);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return widths;
|
|
48
|
+
}
|
|
49
|
+
const fixedWidth = (checkboxSelection ? SELECT_COLUMN_WIDTH : 0) + columns.reduce((total, column) => {
|
|
50
|
+
if ((column.flex ?? 0) > 0) {
|
|
51
|
+
return total;
|
|
52
|
+
}
|
|
53
|
+
return total + Math.max(column.width ?? DEFAULT_WEB_COLUMN_WIDTH, column.minWidth ?? 0);
|
|
54
|
+
}, 0);
|
|
55
|
+
for (const column of columns) {
|
|
56
|
+
if ((column.flex ?? 0) > 0) {
|
|
57
|
+
const share = (column.flex ?? 0) / totalFlex;
|
|
58
|
+
const percentage = share * 100;
|
|
59
|
+
const fixedShare = fixedWidth * share;
|
|
60
|
+
const width = `calc(${percentage.toString()}% - ${fixedShare.toString()}px)`;
|
|
61
|
+
widths.set(column.field, column.minWidth === undefined ? width : `max(${column.minWidth.toString()}px, ${width})`);
|
|
62
|
+
} else {
|
|
63
|
+
widths.set(column.field, Math.max(column.width ?? DEFAULT_WEB_COLUMN_WIDTH, column.minWidth ?? 0));
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return widths;
|
|
67
|
+
}
|
|
68
|
+
function defaultCellContent(value) {
|
|
69
|
+
if (value == null) {
|
|
70
|
+
return '';
|
|
71
|
+
}
|
|
72
|
+
if (typeof value === 'string' || typeof value === 'number') {
|
|
73
|
+
return value;
|
|
74
|
+
}
|
|
75
|
+
try {
|
|
76
|
+
if (typeof value === 'bigint' || typeof value === 'boolean' || typeof value === 'symbol') {
|
|
77
|
+
return String(value);
|
|
78
|
+
}
|
|
79
|
+
const serialized = JSON.stringify(value, null, 2);
|
|
80
|
+
return typeof serialized === 'string' ? serialized : '[Unserializable value]';
|
|
81
|
+
} catch {
|
|
82
|
+
return '[Unserializable value]';
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
function DefaultLoadingRows({
|
|
86
|
+
columns,
|
|
87
|
+
checkboxSelection,
|
|
88
|
+
rowCount,
|
|
89
|
+
columnWidths
|
|
90
|
+
}) {
|
|
91
|
+
return /*#__PURE__*/_jsx(_Fragment, {
|
|
92
|
+
children: Array.from({
|
|
93
|
+
length: rowCount
|
|
94
|
+
}, (_, rowIndex) => /*#__PURE__*/_jsxs(Table.Row, {
|
|
95
|
+
className: "pointer-events-none web:hover:bg-surface-primary",
|
|
96
|
+
testID: rowIndex === 0 ? 'data-grid-default-loading-rows' : undefined,
|
|
97
|
+
children: [checkboxSelection ? /*#__PURE__*/_jsx(Table.Cell, {
|
|
98
|
+
align: "center",
|
|
99
|
+
className: dataGridSelectCellVariants(),
|
|
100
|
+
children: /*#__PURE__*/_jsx(Skeleton, {
|
|
101
|
+
className: "size-5"
|
|
102
|
+
})
|
|
103
|
+
}) : null, columns.map(column => /*#__PURE__*/_jsx(Table.Cell, {
|
|
104
|
+
align: normalizeGridAlignment(column.align),
|
|
105
|
+
className: dataGridCellVariants(),
|
|
106
|
+
style: cellStyle(column, columnWidths.get(column.field)),
|
|
107
|
+
children: /*#__PURE__*/_jsx(Skeleton, {
|
|
108
|
+
className: "h-4 w-3/5"
|
|
109
|
+
})
|
|
110
|
+
}, column.field))]
|
|
111
|
+
}, rowIndex))
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
function paginationRangeLabel(page, pageSize, total) {
|
|
115
|
+
if (total <= 0) {
|
|
116
|
+
return `0\u20130 of 0`;
|
|
117
|
+
}
|
|
118
|
+
const start = page * pageSize + 1;
|
|
119
|
+
const end = Math.min((page + 1) * pageSize, total);
|
|
120
|
+
return `${start.toString()}\u2013${end.toString()} of ${total.toString()}`;
|
|
121
|
+
}
|
|
122
|
+
function withCurrentPageSize(options, pageSize) {
|
|
123
|
+
const exists = options.some(option => typeof option === 'number' ? option === pageSize : option.value === pageSize);
|
|
124
|
+
return exists ? [...options] : [pageSize, ...options];
|
|
125
|
+
}
|
|
126
|
+
function DataGridInner(props) {
|
|
127
|
+
const {
|
|
128
|
+
rows,
|
|
129
|
+
columns,
|
|
130
|
+
getRowId,
|
|
131
|
+
loading = false,
|
|
132
|
+
checkboxSelection = false,
|
|
133
|
+
hideFooter = false,
|
|
134
|
+
hideFooterPagination = false,
|
|
135
|
+
disableColumnSorting = false,
|
|
136
|
+
paginationMode = 'client',
|
|
137
|
+
sortingMode = 'client',
|
|
138
|
+
rowCount,
|
|
139
|
+
showToolbar = false,
|
|
140
|
+
headerFilters = false,
|
|
141
|
+
pageSizeOptions = DEFAULT_PAGE_SIZE_OPTIONS,
|
|
142
|
+
noRowsOverlay,
|
|
143
|
+
loadingOverlay,
|
|
144
|
+
toolbarActions,
|
|
145
|
+
className,
|
|
146
|
+
style,
|
|
147
|
+
label,
|
|
148
|
+
'aria-label': ariaLabel,
|
|
149
|
+
'aria-labelledby': ariaLabelledBy
|
|
150
|
+
} = props;
|
|
151
|
+
const [sortModel, setSortModel] = useControllableState({
|
|
152
|
+
prop: props.sortModel,
|
|
153
|
+
defaultProp: props.defaultSortModel ?? [],
|
|
154
|
+
onChange: props.onSortModelChange
|
|
155
|
+
});
|
|
156
|
+
const [paginationModel, setPaginationModel] = useControllableState({
|
|
157
|
+
prop: props.paginationModel,
|
|
158
|
+
defaultProp: props.defaultPaginationModel ?? DEFAULT_PAGINATION_MODEL,
|
|
159
|
+
onChange: props.onPaginationModelChange
|
|
160
|
+
});
|
|
161
|
+
const [filterModel, setFilterModel] = useControllableState({
|
|
162
|
+
prop: props.filterModel,
|
|
163
|
+
defaultProp: props.defaultFilterModel ?? [],
|
|
164
|
+
onChange: props.onFilterModelChange
|
|
165
|
+
});
|
|
166
|
+
const [quickFilter, setQuickFilter] = useControllableState({
|
|
167
|
+
prop: props.quickFilter,
|
|
168
|
+
defaultProp: props.defaultQuickFilter ?? '',
|
|
169
|
+
onChange: props.onQuickFilterChange
|
|
170
|
+
});
|
|
171
|
+
const [rowSelectionModel, setRowSelectionModel] = useControllableState({
|
|
172
|
+
prop: props.rowSelectionModel,
|
|
173
|
+
defaultProp: props.defaultRowSelectionModel ?? EMPTY_SELECTION,
|
|
174
|
+
onChange: props.onRowSelectionModelChange
|
|
175
|
+
});
|
|
176
|
+
const resolvedSortModel = sortModel ?? [];
|
|
177
|
+
const resolvedPagination = paginationModel ?? DEFAULT_PAGINATION_MODEL;
|
|
178
|
+
const resolvedFilterModel = filterModel ?? [];
|
|
179
|
+
const resolvedQuickFilter = quickFilter ?? '';
|
|
180
|
+
const resolvedSelection = rowSelectionModel ?? EMPTY_SELECTION;
|
|
181
|
+
const {
|
|
182
|
+
table,
|
|
183
|
+
setQuickFilter: setQuickFilterWithPageReset,
|
|
184
|
+
setColumnFilter
|
|
185
|
+
} = useDataGridTable({
|
|
186
|
+
rows,
|
|
187
|
+
columns,
|
|
188
|
+
getRowId,
|
|
189
|
+
checkboxSelection,
|
|
190
|
+
disableColumnSorting,
|
|
191
|
+
paginationMode,
|
|
192
|
+
sortingMode,
|
|
193
|
+
rowCount,
|
|
194
|
+
sortModel: resolvedSortModel,
|
|
195
|
+
onSortModelChange: model => setSortModel(model),
|
|
196
|
+
paginationModel: resolvedPagination,
|
|
197
|
+
onPaginationModelChange: model => setPaginationModel(model),
|
|
198
|
+
filterModel: resolvedFilterModel,
|
|
199
|
+
onFilterModelChange: model => setFilterModel(model),
|
|
200
|
+
quickFilter: resolvedQuickFilter,
|
|
201
|
+
onQuickFilterChange: value => setQuickFilter(value),
|
|
202
|
+
rowSelectionModel: resolvedSelection,
|
|
203
|
+
onRowSelectionModelChange: model => setRowSelectionModel(model)
|
|
204
|
+
});
|
|
205
|
+
const colByField = useMemo(() => {
|
|
206
|
+
const map = new Map();
|
|
207
|
+
for (const col of columns) {
|
|
208
|
+
map.set(col.field, col);
|
|
209
|
+
}
|
|
210
|
+
return map;
|
|
211
|
+
}, [columns]);
|
|
212
|
+
const columnWidths = useMemo(() => webColumnWidths(columns, checkboxSelection), [checkboxSelection, columns]);
|
|
213
|
+
const hasFlexColumns = useMemo(() => columns.some(column => (column.flex ?? 0) > 0), [columns]);
|
|
214
|
+
const visibleRows = table.getRowModel().rows;
|
|
215
|
+
const pageCount = Math.max(table.getPageCount(), 1);
|
|
216
|
+
const selectedCount = table.getFilteredSelectedRowModel().rows.length;
|
|
217
|
+
const filterableCount = table.getFilteredRowModel().rows.length;
|
|
218
|
+
const headerSelectState = selectedCount === 0 ? {
|
|
219
|
+
checked: false,
|
|
220
|
+
indeterminate: false
|
|
221
|
+
} : selectedCount === filterableCount ? {
|
|
222
|
+
checked: true,
|
|
223
|
+
indeterminate: false
|
|
224
|
+
} : {
|
|
225
|
+
checked: false,
|
|
226
|
+
indeterminate: true
|
|
227
|
+
};
|
|
228
|
+
const accessibleName = ariaLabel ?? label;
|
|
229
|
+
const isEmpty = !loading && rows.length === 0;
|
|
230
|
+
const totalCount = paginationMode === 'server' ? rowCount ?? rows.length : filterableCount;
|
|
231
|
+
const filterValueFor = field => resolvedFilterModel.find(item => item.field === field)?.value ?? '';
|
|
232
|
+
const showToolbarBar = showToolbar || toolbarActions != null;
|
|
233
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
234
|
+
className: cn(dataGridRootVariants(), className),
|
|
235
|
+
style: style,
|
|
236
|
+
...mergeDataAttributes({}, dataAttributes({
|
|
237
|
+
slot: 'data-grid'
|
|
238
|
+
})),
|
|
239
|
+
children: [showToolbarBar ? /*#__PURE__*/_jsxs(View, {
|
|
240
|
+
className: dataGridToolbarVariants(),
|
|
241
|
+
children: [showToolbar ? /*#__PURE__*/_jsxs(Input, {
|
|
242
|
+
size: "small",
|
|
243
|
+
className: dataGridToolbarSearchVariants(),
|
|
244
|
+
children: [/*#__PURE__*/_jsx(Input.Icon, {
|
|
245
|
+
as: Search
|
|
246
|
+
}), /*#__PURE__*/_jsx(Input.Field, {
|
|
247
|
+
value: resolvedQuickFilter,
|
|
248
|
+
onChangeText: setQuickFilterWithPageReset,
|
|
249
|
+
placeholder: "Search",
|
|
250
|
+
accessibilityLabel: "Search"
|
|
251
|
+
})]
|
|
252
|
+
}) : null, toolbarActions ? /*#__PURE__*/_jsx(View, {
|
|
253
|
+
className: dataGridToolbarActionsVariants(),
|
|
254
|
+
children: toolbarActions
|
|
255
|
+
}) : null]
|
|
256
|
+
}) : null, /*#__PURE__*/_jsxs(View, {
|
|
257
|
+
className: dataGridMainVariants(),
|
|
258
|
+
children: [/*#__PURE__*/_jsxs(Table, {
|
|
259
|
+
className: cn(dataGridTableVariants(), Platform.OS === 'web' && hasFlexColumns ? 'table-fixed' : undefined),
|
|
260
|
+
containerStyle: Platform.OS === 'web' ? WEB_TABLE_CONTAINER_STYLE : undefined,
|
|
261
|
+
accessibilityLabel: accessibleName,
|
|
262
|
+
...(Platform.OS === 'web' ? {
|
|
263
|
+
'aria-label': accessibleName,
|
|
264
|
+
'aria-labelledby': ariaLabelledBy,
|
|
265
|
+
'aria-busy': loading
|
|
266
|
+
} : {}),
|
|
267
|
+
children: [label ? /*#__PURE__*/_jsx(Table.Caption, {
|
|
268
|
+
children: label
|
|
269
|
+
}) : null, Platform.OS === 'web' && hasFlexColumns ? /*#__PURE__*/_jsxs("colgroup", {
|
|
270
|
+
children: [checkboxSelection ? /*#__PURE__*/_jsx("col", {
|
|
271
|
+
style: {
|
|
272
|
+
width: SELECT_COLUMN_WIDTH
|
|
273
|
+
}
|
|
274
|
+
}) : null, columns.map(column => /*#__PURE__*/_jsx("col", {
|
|
275
|
+
style: {
|
|
276
|
+
width: columnWidths.get(column.field),
|
|
277
|
+
minWidth: column.minWidth
|
|
278
|
+
}
|
|
279
|
+
}, column.field))]
|
|
280
|
+
}) : null, /*#__PURE__*/_jsxs(Table.Header, {
|
|
281
|
+
className: dataGridHeaderVariants(),
|
|
282
|
+
children: [table.getHeaderGroups().map(headerGroup => /*#__PURE__*/_jsx(Table.Row, {
|
|
283
|
+
children: headerGroup.headers.map(header => {
|
|
284
|
+
if (header.id === SELECT_COLUMN_ID) {
|
|
285
|
+
return /*#__PURE__*/_jsx(Table.Head, {
|
|
286
|
+
align: "center",
|
|
287
|
+
className: dataGridSelectHeadVariants(),
|
|
288
|
+
children: /*#__PURE__*/_jsx(Checkbox, {
|
|
289
|
+
value: "select-all",
|
|
290
|
+
isChecked: headerSelectState.checked,
|
|
291
|
+
isIndeterminate: headerSelectState.indeterminate,
|
|
292
|
+
onChange: () => table.toggleAllRowsSelected(),
|
|
293
|
+
accessibilityLabel: "Select all",
|
|
294
|
+
"aria-label": "Select all"
|
|
295
|
+
})
|
|
296
|
+
}, header.id);
|
|
297
|
+
}
|
|
298
|
+
const col = colByField.get(header.column.id);
|
|
299
|
+
const sorted = header.column.getIsSorted();
|
|
300
|
+
const canSort = !disableColumnSorting && header.column.getCanSort();
|
|
301
|
+
const headerAlign = col?.headerAlign ?? col?.align;
|
|
302
|
+
const SortIcon = sorted === 'asc' ? KeyboardArrowUp : sorted === 'desc' ? KeyboardArrowDown : KeyboardArrowDown;
|
|
303
|
+
return /*#__PURE__*/_jsx(Table.Head, {
|
|
304
|
+
align: normalizeGridAlignment(headerAlign),
|
|
305
|
+
className: dataGridHeadVariants(),
|
|
306
|
+
style: cellStyle(col, columnWidths.get(header.column.id)),
|
|
307
|
+
...(Platform.OS === 'web' && canSort ? {
|
|
308
|
+
'aria-sort': sorted === 'asc' ? 'ascending' : sorted === 'desc' ? 'descending' : 'none'
|
|
309
|
+
} : {}),
|
|
310
|
+
children: /*#__PURE__*/_jsxs(View, {
|
|
311
|
+
className: dataGridHeaderCellInnerVariants(),
|
|
312
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
313
|
+
className: "font-medium text-content-primary",
|
|
314
|
+
children: col?.renderHeader ? col.renderHeader() : col?.headerName ?? col?.field
|
|
315
|
+
}), canSort ? /*#__PURE__*/_jsx(IconButton, {
|
|
316
|
+
as: SortIcon,
|
|
317
|
+
variant: "ghost",
|
|
318
|
+
color: "neutral",
|
|
319
|
+
size: "small",
|
|
320
|
+
iconClassName: "size-4",
|
|
321
|
+
accessibilityLabel: `Sort by ${col?.headerName ?? header.column.id}`,
|
|
322
|
+
onPress: () => {
|
|
323
|
+
header.column.toggleSorting();
|
|
324
|
+
},
|
|
325
|
+
className: sorted ? undefined : 'opacity-40'
|
|
326
|
+
}) : null]
|
|
327
|
+
})
|
|
328
|
+
}, header.id);
|
|
329
|
+
})
|
|
330
|
+
}, headerGroup.id)), headerFilters ? /*#__PURE__*/_jsx(Table.Row, {
|
|
331
|
+
children: table.getAllLeafColumns().map(column => {
|
|
332
|
+
if (column.id === SELECT_COLUMN_ID) {
|
|
333
|
+
return /*#__PURE__*/_jsx(Table.Cell, {
|
|
334
|
+
align: "center",
|
|
335
|
+
className: dataGridSelectHeadVariants()
|
|
336
|
+
}, column.id);
|
|
337
|
+
}
|
|
338
|
+
const col = colByField.get(column.id);
|
|
339
|
+
const headerAlign = col?.headerAlign ?? col?.align;
|
|
340
|
+
if (col?.filterable === false) {
|
|
341
|
+
return /*#__PURE__*/_jsx(Table.Head, {
|
|
342
|
+
align: normalizeGridAlignment(headerAlign),
|
|
343
|
+
className: dataGridHeadVariants(),
|
|
344
|
+
style: cellStyle(col, columnWidths.get(column.id))
|
|
345
|
+
}, column.id);
|
|
346
|
+
}
|
|
347
|
+
return /*#__PURE__*/_jsx(Table.Head, {
|
|
348
|
+
align: normalizeGridAlignment(headerAlign),
|
|
349
|
+
className: dataGridHeadVariants(),
|
|
350
|
+
style: cellStyle(col, columnWidths.get(column.id)),
|
|
351
|
+
children: /*#__PURE__*/_jsx(Input, {
|
|
352
|
+
size: "small",
|
|
353
|
+
className: dataGridFilterInputVariants(),
|
|
354
|
+
children: /*#__PURE__*/_jsx(Input.Field, {
|
|
355
|
+
value: filterValueFor(column.id),
|
|
356
|
+
onChangeText: value => setColumnFilter(column.id, value),
|
|
357
|
+
placeholder: "Filter",
|
|
358
|
+
accessibilityLabel: `Filter ${col?.headerName ?? column.id}`
|
|
359
|
+
})
|
|
360
|
+
})
|
|
361
|
+
}, column.id);
|
|
362
|
+
})
|
|
363
|
+
}) : null]
|
|
364
|
+
}), /*#__PURE__*/_jsx(Table.Body, {
|
|
365
|
+
className: dataGridBodyVariants(),
|
|
366
|
+
children: loading && loadingOverlay == null ? /*#__PURE__*/_jsx(DefaultLoadingRows, {
|
|
367
|
+
columns: columns,
|
|
368
|
+
checkboxSelection: checkboxSelection,
|
|
369
|
+
rowCount: Math.min(resolvedPagination.pageSize, MAX_SKELETON_ROW_COUNT),
|
|
370
|
+
columnWidths: columnWidths
|
|
371
|
+
}) : isEmpty ? null : visibleRows.map(row => {
|
|
372
|
+
const rowId = resolveRowId(row.original, getRowId);
|
|
373
|
+
return /*#__PURE__*/_jsx(Table.Row, {
|
|
374
|
+
children: row.getAllCells().map(cell => {
|
|
375
|
+
if (cell.column.id === SELECT_COLUMN_ID) {
|
|
376
|
+
return /*#__PURE__*/_jsx(Table.Cell, {
|
|
377
|
+
align: "center",
|
|
378
|
+
className: dataGridSelectCellVariants(),
|
|
379
|
+
children: /*#__PURE__*/_jsx(Checkbox, {
|
|
380
|
+
value: String(rowId),
|
|
381
|
+
isChecked: row.getIsSelected(),
|
|
382
|
+
onChange: () => row.toggleSelected(),
|
|
383
|
+
accessibilityLabel: `Select row ${String(rowId)}`,
|
|
384
|
+
"aria-label": `Select row ${String(rowId)}`
|
|
385
|
+
})
|
|
386
|
+
}, cell.id);
|
|
387
|
+
}
|
|
388
|
+
const col = colByField.get(cell.column.id);
|
|
389
|
+
const value = cell.getValue();
|
|
390
|
+
let content;
|
|
391
|
+
if (col?.renderCell) {
|
|
392
|
+
content = col.renderCell({
|
|
393
|
+
value,
|
|
394
|
+
row: row.original,
|
|
395
|
+
field: col.field,
|
|
396
|
+
id: rowId
|
|
397
|
+
});
|
|
398
|
+
} else if (col?.valueFormatter) {
|
|
399
|
+
content = col.valueFormatter(value, row.original, col);
|
|
400
|
+
} else {
|
|
401
|
+
content = defaultCellContent(value);
|
|
402
|
+
}
|
|
403
|
+
return /*#__PURE__*/_jsx(Table.Cell, {
|
|
404
|
+
align: normalizeGridAlignment(col?.align),
|
|
405
|
+
className: dataGridCellVariants(),
|
|
406
|
+
style: cellStyle(col, columnWidths.get(cell.column.id)),
|
|
407
|
+
children: content
|
|
408
|
+
}, cell.id);
|
|
409
|
+
})
|
|
410
|
+
}, row.id);
|
|
411
|
+
})
|
|
412
|
+
})]
|
|
413
|
+
}), isEmpty ? /*#__PURE__*/_jsx(View, {
|
|
414
|
+
className: dataGridEmptyOverlayVariants(),
|
|
415
|
+
accessibilityLabel: "No rows",
|
|
416
|
+
children: noRowsOverlay ?? /*#__PURE__*/_jsx(Text, {
|
|
417
|
+
className: "text-center text-content-secondary",
|
|
418
|
+
children: "No rows"
|
|
419
|
+
})
|
|
420
|
+
}) : null, loading ? /*#__PURE__*/_jsx(Text, {
|
|
421
|
+
className: "pointer-events-none absolute h-px w-px overflow-hidden opacity-0",
|
|
422
|
+
accessibilityLiveRegion: "polite",
|
|
423
|
+
children: "Loading"
|
|
424
|
+
}) : null, loading && loadingOverlay != null ? /*#__PURE__*/_jsx(View, {
|
|
425
|
+
className: dataGridOverlayVariants({
|
|
426
|
+
headerFilters
|
|
427
|
+
}),
|
|
428
|
+
children: loadingOverlay
|
|
429
|
+
}) : null]
|
|
430
|
+
}), !hideFooter && !hideFooterPagination && (paginationMode === 'server' ? totalCount > 0 : rows.length > 0) ? /*#__PURE__*/_jsx(View, {
|
|
431
|
+
className: dataGridFooterVariants(),
|
|
432
|
+
children: /*#__PURE__*/_jsxs(TablePagination, {
|
|
433
|
+
page: resolvedPagination.page + 1,
|
|
434
|
+
count: pageCount,
|
|
435
|
+
pageSize: resolvedPagination.pageSize,
|
|
436
|
+
pageSizeOptions: withCurrentPageSize(pageSizeOptions, resolvedPagination.pageSize),
|
|
437
|
+
onPageChange: page => setPaginationModel({
|
|
438
|
+
...resolvedPagination,
|
|
439
|
+
page: page - 1
|
|
440
|
+
}),
|
|
441
|
+
onPageSizeChange: pageSize => setPaginationModel({
|
|
442
|
+
page: 0,
|
|
443
|
+
pageSize
|
|
444
|
+
}),
|
|
445
|
+
disabled: loading,
|
|
446
|
+
accessibilityLabel: "Grid pagination",
|
|
447
|
+
className: dataGridPaginationVariants(),
|
|
448
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
449
|
+
size: "md",
|
|
450
|
+
className: "text-content-primary",
|
|
451
|
+
children: "Rows per page:"
|
|
452
|
+
}), /*#__PURE__*/_jsx(TablePagination.PageSize, {}), /*#__PURE__*/_jsx(TablePagination.Status, {
|
|
453
|
+
className: dataGridPaginationRangeVariants(),
|
|
454
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
455
|
+
size: "md",
|
|
456
|
+
className: "text-content-primary",
|
|
457
|
+
children: paginationRangeLabel(resolvedPagination.page, resolvedPagination.pageSize, totalCount)
|
|
458
|
+
})
|
|
459
|
+
}), /*#__PURE__*/_jsx(TablePagination.Previous, {
|
|
460
|
+
className: "h-11 w-11 min-w-11"
|
|
461
|
+
}), /*#__PURE__*/_jsx(TablePagination.Next, {
|
|
462
|
+
className: "h-11 w-11 min-w-11"
|
|
463
|
+
})]
|
|
464
|
+
})
|
|
465
|
+
}) : null]
|
|
466
|
+
});
|
|
467
|
+
}
|
|
468
|
+
export function DataGrid(props) {
|
|
469
|
+
return /*#__PURE__*/_jsx(DataGridInner, {
|
|
470
|
+
...props
|
|
471
|
+
});
|
|
472
|
+
}
|
|
473
|
+
DataGrid.displayName = 'DataGrid';
|
|
474
|
+
//# sourceMappingURL=DataGrid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useMemo","Platform","View","Checkbox","IconButton","Input","Skeleton","Table","TablePagination","Text","KeyboardArrowDown","KeyboardArrowUp","Search","dataAttributes","mergeDataAttributes","cn","useControllableState","normalizeGridAlignment","dataGridBodyVariants","dataGridCellVariants","dataGridEmptyOverlayVariants","dataGridFilterInputVariants","dataGridFooterVariants","dataGridHeadVariants","dataGridHeaderCellInnerVariants","dataGridHeaderVariants","dataGridMainVariants","dataGridOverlayVariants","dataGridPaginationRangeVariants","dataGridPaginationVariants","dataGridRootVariants","dataGridSelectCellVariants","dataGridSelectHeadVariants","dataGridTableVariants","dataGridToolbarActionsVariants","dataGridToolbarSearchVariants","dataGridToolbarVariants","DEFAULT_PAGE_SIZE_OPTIONS","DEFAULT_PAGINATION_MODEL","EMPTY_SELECTION","SELECT_COLUMN_ID","resolveRowId","useDataGridTable","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","MAX_SKELETON_ROW_COUNT","DEFAULT_WEB_COLUMN_WIDTH","SELECT_COLUMN_WIDTH","WEB_TABLE_CONTAINER_STYLE","overflow","cellStyle","col","webWidth","undefined","style","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","children","Array","from","_","rowIndex","Row","className","testID","Cell","align","map","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","noRowsOverlay","loadingOverlay","toolbarActions","label","ariaLabel","ariaLabelledBy","sortModel","setSortModel","prop","defaultProp","defaultSortModel","onChange","onSortModelChange","paginationModel","setPaginationModel","defaultPaginationModel","onPaginationModelChange","filterModel","setFilterModel","defaultFilterModel","onFilterModelChange","quickFilter","setQuickFilter","defaultQuickFilter","onQuickFilterChange","rowSelectionModel","setRowSelectionModel","defaultRowSelectionModel","onRowSelectionModelChange","resolvedSortModel","resolvedPagination","resolvedFilterModel","resolvedQuickFilter","resolvedSelection","table","setQuickFilterWithPageReset","setColumnFilter","model","colByField","hasFlexColumns","visibleRows","getRowModel","pageCount","getPageCount","selectedCount","getFilteredSelectedRowModel","filterableCount","getFilteredRowModel","headerSelectState","checked","indeterminate","accessibleName","isEmpty","totalCount","filterValueFor","find","item","showToolbarBar","slot","size","Icon","as","Field","onChangeText","placeholder","accessibilityLabel","containerStyle","Caption","Header","getHeaderGroups","headerGroup","headers","header","id","Head","isChecked","isIndeterminate","toggleAllRowsSelected","sorted","getIsSorted","canSort","getCanSort","headerAlign","SortIcon","renderHeader","headerName","variant","color","iconClassName","onPress","toggleSorting","getAllLeafColumns","filterable","Body","row","rowId","original","getAllCells","cell","getIsSelected","toggleSelected","getValue","content","renderCell","valueFormatter","accessibilityLiveRegion","count","onPageChange","onPageSizeChange","disabled","PageSize","Status","Previous","Next","DataGrid","displayName"],"sourceRoot":"../../src","sources":["DataGrid.tsx"],"mappings":";;AAAA,SAASA,OAAO,QAA4C,OAAO;AACnE,SAASC,QAAQ,EAAEC,IAAI,QAAwB,cAAc;AAC7D,SACEC,QAAQ,EACRC,UAAU,EACVC,KAAK,EACLC,QAAQ,EACRC,KAAK,EACLC,eAAe,EACfC,IAAI,QACC,oBAAoB;AAC3B,SAASC,iBAAiB,EAAEC,eAAe,EAAEC,MAAM,QAAQ,eAAe;AAC1E,SAASC,cAAc,EAAEC,mBAAmB,QAAQ,oBAAoB;AACxE,SAASC,EAAE,EAAEC,oBAAoB,QAAQ,eAAe;AACxD,SAASC,sBAAsB,QAAQ,mBAAmB;AAC1D,SACEC,oBAAoB,EACpBC,oBAAoB,EACpBC,4BAA4B,EAC5BC,2BAA2B,EAC3BC,sBAAsB,EACtBC,oBAAoB,EACpBC,+BAA+B,EAC/BC,sBAAsB,EACtBC,oBAAoB,EACpBC,uBAAuB,EACvBC,+BAA+B,EAC/BC,0BAA0B,EAC1BC,oBAAoB,EACpBC,0BAA0B,EAC1BC,0BAA0B,EAC1BC,qBAAqB,EACrBC,8BAA8B,EAC9BC,6BAA6B,EAC7BC,uBAAuB,QAClB,UAAU;AACjB,SACEC,yBAAyB,EACzBC,wBAAwB,EACxBC,eAAe,EACfC,gBAAgB,QAIX,SAAS;AAChB,SAASC,YAAY,EAAEC,gBAAgB,QAAQ,oBAAoB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAEpE,MAAMC,sBAAsB,GAAG,EAAE;AACjC,MAAMC,wBAAwB,GAAG,GAAG;AACpC,MAAMC,mBAAmB,GAAG,EAAE;AAC9B,MAAMC,yBAAoC,GAAG;EAAEC,QAAQ,EAAE;AAAU,CAAC;AAEpE,SAASC,SAASA,CAChBC,GAA8B,EAC9BC,QAAiC,EACV;EACvB,IAAI,CAACD,GAAG,EAAE;IACR,OAAOE,SAAS;EAClB;EACA,MAAMC,KAAgB,GAAG,CAAC,CAAC;EAC3B,IAAIzD,QAAQ,CAAC0D,EAAE,KAAK,KAAK,IAAIH,QAAQ,KAAKC,SAAS,EAAE;IACnDC,KAAK,CAACE,KAAK,GAAGJ,QAA8B;EAC9C,CAAC,MAAM,IAAID,GAAG,CAACK,KAAK,KAAKH,SAAS,EAAE;IAClCC,KAAK,CAACE,KAAK,GAAGL,GAAG,CAACK,KAAK;EACzB;EACA,IAAIL,GAAG,CAACM,QAAQ,KAAKJ,SAAS,EAAE;IAC9BC,KAAK,CAACG,QAAQ,GAAGN,GAAG,CAACM,QAAQ;EAC/B;EACA,IAAI5D,QAAQ,CAAC0D,EAAE,KAAK,KAAK,IAAIJ,GAAG,CAACO,IAAI,KAAKL,SAAS,EAAE;IACnDC,KAAK,CAACI,IAAI,GAAGP,GAAG,CAACO,IAAI;EACvB;EACA,OAAOC,MAAM,CAACC,IAAI,CAACN,KAAK,CAAC,CAACO,MAAM,GAAG,CAAC,GAAGP,KAAK,GAAGD,SAAS;AAC1D;AAEA,SAASS,eAAeA,CACtBC,OAAiC,EACjCC,iBAA0B,EACW;EACrC,MAAMC,SAAS,GAAGF,OAAO,CAACG,MAAM,CAAC,CAACC,KAAK,EAAEC,MAAM,KAAKD,KAAK,GAAGE,IAAI,CAACC,GAAG,CAACF,MAAM,CAACV,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;EAC7F,MAAMa,MAAM,GAAG,IAAIC,GAAG,CAAiC,CAAC;EAExD,IAAIP,SAAS,KAAK,CAAC,EAAE;IACnB,KAAK,MAAMG,MAAM,IAAIL,OAAO,EAAE;MAC5B,IAAIK,MAAM,CAACZ,KAAK,KAAKH,SAAS,EAAE;QAC9BkB,MAAM,CAACE,GAAG,CAACL,MAAM,CAACM,KAAK,EAAEN,MAAM,CAACZ,KAAK,CAAC;MACxC;IACF;IACA,OAAOe,MAAM;EACf;EAEA,MAAMI,UAAU,GACd,CAACX,iBAAiB,GAAGjB,mBAAmB,GAAG,CAAC,IAC5CgB,OAAO,CAACG,MAAM,CAAC,CAACC,KAAK,EAAEC,MAAM,KAAK;IAChC,IAAI,CAACA,MAAM,CAACV,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE;MAC1B,OAAOS,KAAK;IACd;IACA,OAAOA,KAAK,GAAGE,IAAI,CAACC,GAAG,CAACF,MAAM,CAACZ,KAAK,IAAIV,wBAAwB,EAAEsB,MAAM,CAACX,QAAQ,IAAI,CAAC,CAAC;EACzF,CAAC,EAAE,CAAC,CAAC;EAEP,KAAK,MAAMW,MAAM,IAAIL,OAAO,EAAE;IAC5B,IAAI,CAACK,MAAM,CAACV,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE;MAC1B,MAAMkB,KAAK,GAAG,CAACR,MAAM,CAACV,IAAI,IAAI,CAAC,IAAIO,SAAS;MAC5C,MAAMY,UAAU,GAAGD,KAAK,GAAG,GAAG;MAC9B,MAAME,UAAU,GAAGH,UAAU,GAAGC,KAAK;MACrC,MAAMpB,KAAK,GAAG,QAAQqB,UAAU,CAACE,QAAQ,CAAC,CAAC,OAAOD,UAAU,CAACC,QAAQ,CAAC,CAAC,KAAK;MAC5ER,MAAM,CAACE,GAAG,CACRL,MAAM,CAACM,KAAK,EACZN,MAAM,CAACX,QAAQ,KAAKJ,SAAS,GAAGG,KAAK,GAAG,OAAOY,MAAM,CAACX,QAAQ,CAACsB,QAAQ,CAAC,CAAC,OAAOvB,KAAK,GACvF,CAAC;IACH,CAAC,MAAM;MACLe,MAAM,CAACE,GAAG,CACRL,MAAM,CAACM,KAAK,EACZL,IAAI,CAACC,GAAG,CAACF,MAAM,CAACZ,KAAK,IAAIV,wBAAwB,EAAEsB,MAAM,CAACX,QAAQ,IAAI,CAAC,CACzE,CAAC;IACH;EACF;EAEA,OAAOc,MAAM;AACf;AAEA,SAASS,kBAAkBA,CAACC,KAAc,EAAa;EACrD,IAAIA,KAAK,IAAI,IAAI,EAAE;IACjB,OAAO,EAAE;EACX;EACA,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IAC1D,OAAOA,KAAK;EACd;EAEA,IAAI;IACF,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAI,OAAOA,KAAK,KAAK,SAAS,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MACxF,OAAOC,MAAM,CAACD,KAAK,CAAC;IACtB;IACA,MAAME,UAAmB,GAAGC,IAAI,CAACC,SAAS,CAACJ,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,OAAO,OAAOE,UAAU,KAAK,QAAQ,GAAGA,UAAU,GAAG,wBAAwB;EAC/E,CAAC,CAAC,MAAM;IACN,OAAO,wBAAwB;EACjC;AACF;AAEA,SAASG,kBAAkBA,CAA8B;EACvDvB,OAAO;EACPC,iBAAiB;EACjBuB,QAAQ;EACRC;AAMF,CAAC,EAAE;EACD,oBACEhD,IAAA,CAAAI,SAAA;IAAA6C,QAAA,EACGC,KAAK,CAACC,IAAI,CAAC;MAAE9B,MAAM,EAAE0B;IAAS,CAAC,EAAE,CAACK,CAAC,EAAEC,QAAQ,kBAC5CnD,KAAA,CAACvC,KAAK,CAAC2F,GAAG;MAERC,SAAS,EAAC,kDAAkD;MAC5DC,MAAM,EAAEH,QAAQ,KAAK,CAAC,GAAG,gCAAgC,GAAGxC,SAAU;MAAAoC,QAAA,GAErEzB,iBAAiB,gBAChBxB,IAAA,CAACrC,KAAK,CAAC8F,IAAI;QAACC,KAAK,EAAC,QAAQ;QAACH,SAAS,EAAEpE,0BAA0B,CAAC,CAAE;QAAA8D,QAAA,eACjEjD,IAAA,CAACtC,QAAQ;UAAC6F,SAAS,EAAC;QAAQ,CAAE;MAAC,CACrB,CAAC,GACX,IAAI,EACPhC,OAAO,CAACoC,GAAG,CAAE/B,MAAM,iBAClB5B,IAAA,CAACrC,KAAK,CAAC8F,IAAI;QAETC,KAAK,EAAErF,sBAAsB,CAACuD,MAAM,CAAC8B,KAAK,CAAE;QAC5CH,SAAS,EAAEhF,oBAAoB,CAAC,CAAE;QAClCuC,KAAK,EAAEJ,SAAS,CAACkB,MAAM,EAAEoB,YAAY,CAACY,GAAG,CAAChC,MAAM,CAACM,KAAK,CAAC,CAAE;QAAAe,QAAA,eAEzDjD,IAAA,CAACtC,QAAQ;UAAC6F,SAAS,EAAC;QAAW,CAAE;MAAC,GAL7B3B,MAAM,CAACM,KAMF,CACb,CAAC;IAAA,GAlBGmB,QAmBI,CACZ;EAAC,CACF,CAAC;AAEP;AAEA,SAASQ,oBAAoBA,CAACC,IAAY,EAAEC,QAAgB,EAAEpC,KAAa,EAAU;EACnF,IAAIA,KAAK,IAAI,CAAC,EAAE;IACd,OAAO,eAAe;EACxB;EACA,MAAMqC,KAAK,GAAGF,IAAI,GAAGC,QAAQ,GAAG,CAAC;EACjC,MAAME,GAAG,GAAGpC,IAAI,CAACqC,GAAG,CAAC,CAACJ,IAAI,GAAG,CAAC,IAAIC,QAAQ,EAAEpC,KAAK,CAAC;EAClD,OAAO,GAAGqC,KAAK,CAACzB,QAAQ,CAAC,CAAC,SAAS0B,GAAG,CAAC1B,QAAQ,CAAC,CAAC,OAAOZ,KAAK,CAACY,QAAQ,CAAC,CAAC,EAAE;AAC5E;AAEA,SAAS4B,mBAAmBA,CAC1BC,OAA+D,EAC/DL,QAAgB,EAC+B;EAC/C,MAAMM,MAAM,GAAGD,OAAO,CAACE,IAAI,CAAEC,MAAM,IACjC,OAAOA,MAAM,KAAK,QAAQ,GAAGA,MAAM,KAAKR,QAAQ,GAAGQ,MAAM,CAAC9B,KAAK,KAAKsB,QACtE,CAAC;EACD,OAAOM,MAAM,GAAG,CAAC,GAAGD,OAAO,CAAC,GAAG,CAACL,QAAQ,EAAE,GAAGK,OAAO,CAAC;AACvD;AAEA,SAASI,aAAaA,CAA8BC,KAAuB,EAAE;EAC3E,MAAM;IACJC,IAAI;IACJnD,OAAO;IACPoD,QAAQ;IACRC,OAAO,GAAG,KAAK;IACfpD,iBAAiB,GAAG,KAAK;IACzBqD,UAAU,GAAG,KAAK;IAClBC,oBAAoB,GAAG,KAAK;IAC5BC,oBAAoB,GAAG,KAAK;IAC5BC,cAAc,GAAG,QAAQ;IACzBC,WAAW,GAAG,QAAQ;IACtBlC,QAAQ;IACRmC,WAAW,GAAG,KAAK;IACnBC,aAAa,GAAG,KAAK;IACrBC,eAAe,GAAG3F,yBAAyB;IAC3C4F,aAAa;IACbC,cAAc;IACdC,cAAc;IACdhC,SAAS;IACTzC,KAAK;IACL0E,KAAK;IACL,YAAY,EAAEC,SAAS;IACvB,iBAAiB,EAAEC;EACrB,CAAC,GAAGjB,KAAK;EAET,MAAM,CAACkB,SAAS,EAAEC,YAAY,CAAC,GAAGxH,oBAAoB,CAAC;IACrDyH,IAAI,EAAEpB,KAAK,CAACkB,SAAS;IACrBG,WAAW,EAAErB,KAAK,CAACsB,gBAAgB,IAAI,EAAE;IACzCC,QAAQ,EAAEvB,KAAK,CAACwB;EAClB,CAAC,CAAC;EACF,MAAM,CAACC,eAAe,EAAEC,kBAAkB,CAAC,GAAG/H,oBAAoB,CAAC;IACjEyH,IAAI,EAAEpB,KAAK,CAACyB,eAAe;IAC3BJ,WAAW,EAAErB,KAAK,CAAC2B,sBAAsB,IAAI1G,wBAAwB;IACrEsG,QAAQ,EAAEvB,KAAK,CAAC4B;EAClB,CAAC,CAAC;EACF,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAGnI,oBAAoB,CAAC;IACzDyH,IAAI,EAAEpB,KAAK,CAAC6B,WAAW;IACvBR,WAAW,EAAErB,KAAK,CAAC+B,kBAAkB,IAAI,EAAE;IAC3CR,QAAQ,EAAEvB,KAAK,CAACgC;EAClB,CAAC,CAAC;EACF,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAGvI,oBAAoB,CAAC;IACzDyH,IAAI,EAAEpB,KAAK,CAACiC,WAAW;IACvBZ,WAAW,EAAErB,KAAK,CAACmC,kBAAkB,IAAI,EAAE;IAC3CZ,QAAQ,EAAEvB,KAAK,CAACoC;EAClB,CAAC,CAAC;EACF,MAAM,CAACC,iBAAiB,EAAEC,oBAAoB,CAAC,GAAG3I,oBAAoB,CAAC;IACrEyH,IAAI,EAAEpB,KAAK,CAACqC,iBAAiB;IAC7BhB,WAAW,EAAErB,KAAK,CAACuC,wBAAwB,IAAIrH,eAAe;IAC9DqG,QAAQ,EAAEvB,KAAK,CAACwC;EAClB,CAAC,CAAC;EAEF,MAAMC,iBAAiB,GAAGvB,SAAS,IAAI,EAAE;EACzC,MAAMwB,kBAAkB,GAAGjB,eAAe,IAAIxG,wBAAwB;EACtE,MAAM0H,mBAAmB,GAAGd,WAAW,IAAI,EAAE;EAC7C,MAAMe,mBAAmB,GAAGX,WAAW,IAAI,EAAE;EAC7C,MAAMY,iBAAiB,GAAGR,iBAAiB,IAAInH,eAAe;EAE9D,MAAM;IACJ4H,KAAK;IACLZ,cAAc,EAAEa,2BAA2B;IAC3CC;EACF,CAAC,GAAG3H,gBAAgB,CAAC;IACnB4E,IAAI;IACJnD,OAAO;IACPoD,QAAQ;IACRnD,iBAAiB;IACjBuD,oBAAoB;IACpBC,cAAc;IACdC,WAAW;IACXlC,QAAQ;IACR4C,SAAS,EAAEuB,iBAAiB;IAC5BjB,iBAAiB,EAAGyB,KAAK,IAAK9B,YAAY,CAAC8B,KAAK,CAAC;IACjDxB,eAAe,EAAEiB,kBAAkB;IACnCd,uBAAuB,EAAGqB,KAAK,IAAKvB,kBAAkB,CAACuB,KAAK,CAAC;IAC7DpB,WAAW,EAAEc,mBAAmB;IAChCX,mBAAmB,EAAGiB,KAAK,IAAKnB,cAAc,CAACmB,KAAK,CAAC;IACrDhB,WAAW,EAAEW,mBAAmB;IAChCR,mBAAmB,EAAGpE,KAAK,IAAKkE,cAAc,CAAClE,KAAK,CAAC;IACrDqE,iBAAiB,EAAEQ,iBAAiB;IACpCL,yBAAyB,EAAGS,KAAK,IAAKX,oBAAoB,CAACW,KAAK;EAClE,CAAC,CAAC;EAEF,MAAMC,UAAU,GAAGvK,OAAO,CAAC,MAAM;IAC/B,MAAMuG,GAAG,GAAG,IAAI3B,GAAG,CAAwB,CAAC;IAC5C,KAAK,MAAMrB,GAAG,IAAIY,OAAO,EAAE;MACzBoC,GAAG,CAAC1B,GAAG,CAACtB,GAAG,CAACuB,KAAK,EAAEvB,GAAG,CAAC;IACzB;IACA,OAAOgD,GAAG;EACZ,CAAC,EAAE,CAACpC,OAAO,CAAC,CAAC;EACb,MAAMyB,YAAY,GAAG5F,OAAO,CAC1B,MAAMkE,eAAe,CAACC,OAAO,EAAEC,iBAAiB,CAAC,EACjD,CAACA,iBAAiB,EAAED,OAAO,CAC7B,CAAC;EACD,MAAMqG,cAAc,GAAGxK,OAAO,CAAC,MAAMmE,OAAO,CAAC+C,IAAI,CAAE1C,MAAM,IAAK,CAACA,MAAM,CAACV,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAACK,OAAO,CAAC,CAAC;EAEjG,MAAMsG,WAAW,GAAGN,KAAK,CAACO,WAAW,CAAC,CAAC,CAACpD,IAAI;EAC5C,MAAMqD,SAAS,GAAGlG,IAAI,CAACC,GAAG,CAACyF,KAAK,CAACS,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;EACnD,MAAMC,aAAa,GAAGV,KAAK,CAACW,2BAA2B,CAAC,CAAC,CAACxD,IAAI,CAACrD,MAAM;EACrE,MAAM8G,eAAe,GAAGZ,KAAK,CAACa,mBAAmB,CAAC,CAAC,CAAC1D,IAAI,CAACrD,MAAM;EAC/D,MAAMgH,iBAAiB,GACrBJ,aAAa,KAAK,CAAC,GACf;IAAEK,OAAO,EAAE,KAAK;IAAEC,aAAa,EAAE;EAAM,CAAC,GACxCN,aAAa,KAAKE,eAAe,GAC/B;IAAEG,OAAO,EAAE,IAAI;IAAEC,aAAa,EAAE;EAAM,CAAC,GACvC;IAAED,OAAO,EAAE,KAAK;IAAEC,aAAa,EAAE;EAAK,CAAC;EAE/C,MAAMC,cAAc,GAAG/C,SAAS,IAAID,KAAK;EACzC,MAAMiD,OAAO,GAAG,CAAC7D,OAAO,IAAIF,IAAI,CAACrD,MAAM,KAAK,CAAC;EAC7C,MAAMqH,UAAU,GAAG1D,cAAc,KAAK,QAAQ,GAAIjC,QAAQ,IAAI2B,IAAI,CAACrD,MAAM,GAAI8G,eAAe;EAE5F,MAAMQ,cAAc,GAAIzG,KAAa,IACnCkF,mBAAmB,CAACwB,IAAI,CAAEC,IAAI,IAAKA,IAAI,CAAC3G,KAAK,KAAKA,KAAK,CAAC,EAAEO,KAAK,IAAI,EAAE;EAEvE,MAAMqG,cAAc,GAAG5D,WAAW,IAAIK,cAAc,IAAI,IAAI;EAE5D,oBACErF,KAAA,CAAC5C,IAAI;IACHiG,SAAS,EAAEpF,EAAE,CAACe,oBAAoB,CAAC,CAAC,EAAEqE,SAAS,CAAE;IACjDzC,KAAK,EAAEA,KAAM;IAAA,GACT5C,mBAAmB,CAAC,CAAC,CAAC,EAAED,cAAc,CAAC;MAAE8K,IAAI,EAAE;IAAY,CAAC,CAAC,CAAC;IAAA9F,QAAA,GAEjE6F,cAAc,gBACb5I,KAAA,CAAC5C,IAAI;MAACiG,SAAS,EAAE/D,uBAAuB,CAAC,CAAE;MAAAyD,QAAA,GACxCiC,WAAW,gBACVhF,KAAA,CAACzC,KAAK;QAACuL,IAAI,EAAC,OAAO;QAACzF,SAAS,EAAEhE,6BAA6B,CAAC,CAAE;QAAA0D,QAAA,gBAC7DjD,IAAA,CAACvC,KAAK,CAACwL,IAAI;UAACC,EAAE,EAAElL;QAAO,CAAE,CAAC,eAC1BgC,IAAA,CAACvC,KAAK,CAAC0L,KAAK;UACV1G,KAAK,EAAE4E,mBAAoB;UAC3B+B,YAAY,EAAE5B,2BAA4B;UAC1C6B,WAAW,EAAC,QAAQ;UACpBC,kBAAkB,EAAC;QAAQ,CAC5B,CAAC;MAAA,CACG,CAAC,GACN,IAAI,EACP/D,cAAc,gBACbvF,IAAA,CAAC1C,IAAI;QAACiG,SAAS,EAAEjE,8BAA8B,CAAC,CAAE;QAAA2D,QAAA,EAAEsC;MAAc,CAAO,CAAC,GACxE,IAAI;IAAA,CACJ,CAAC,GACL,IAAI,eAERrF,KAAA,CAAC5C,IAAI;MAACiG,SAAS,EAAEzE,oBAAoB,CAAC,CAAE;MAAAmE,QAAA,gBACtC/C,KAAA,CAACvC,KAAK;QACJ4F,SAAS,EAAEpF,EAAE,CACXkB,qBAAqB,CAAC,CAAC,EACvBhC,QAAQ,CAAC0D,EAAE,KAAK,KAAK,IAAI6G,cAAc,GAAG,aAAa,GAAG/G,SAC5D,CAAE;QACF0I,cAAc,EAAElM,QAAQ,CAAC0D,EAAE,KAAK,KAAK,GAAGP,yBAAyB,GAAGK,SAAU;QAC9EyI,kBAAkB,EAAEd,cAAe;QAAA,IAC9BnL,QAAQ,CAAC0D,EAAE,KAAK,KAAK,GACtB;UACE,YAAY,EAAEyH,cAAc;UAC5B,iBAAiB,EAAE9C,cAAc;UACjC,WAAW,EAAEd;QACf,CAAC,GACD,CAAC,CAAC;QAAA3B,QAAA,GAELuC,KAAK,gBAAGxF,IAAA,CAACrC,KAAK,CAAC6L,OAAO;UAAAvG,QAAA,EAAEuC;QAAK,CAAgB,CAAC,GAAG,IAAI,EACrDnI,QAAQ,CAAC0D,EAAE,KAAK,KAAK,IAAI6G,cAAc,gBACtC1H,KAAA;UAAA+C,QAAA,GACGzB,iBAAiB,gBAAGxB,IAAA;YAAKc,KAAK,EAAE;cAAEE,KAAK,EAAET;YAAoB;UAAE,CAAE,CAAC,GAAG,IAAI,EACzEgB,OAAO,CAACoC,GAAG,CAAE/B,MAAM,iBAClB5B,IAAA;YAEEc,KAAK,EAAE;cACLE,KAAK,EAAEgC,YAAY,CAACY,GAAG,CAAChC,MAAM,CAACM,KAAK,CAAC;cACrCjB,QAAQ,EAAEW,MAAM,CAACX;YACnB;UAAE,GAJGW,MAAM,CAACM,KAKb,CACF,CAAC;QAAA,CACM,CAAC,GACT,IAAI,eACRhC,KAAA,CAACvC,KAAK,CAAC8L,MAAM;UAAClG,SAAS,EAAE1E,sBAAsB,CAAC,CAAE;UAAAoE,QAAA,GAC/CsE,KAAK,CAACmC,eAAe,CAAC,CAAC,CAAC/F,GAAG,CAAEgG,WAAW,iBACvC3J,IAAA,CAACrC,KAAK,CAAC2F,GAAG;YAAAL,QAAA,EACP0G,WAAW,CAACC,OAAO,CAACjG,GAAG,CAAEkG,MAAM,IAAK;cACnC,IAAIA,MAAM,CAACC,EAAE,KAAKlK,gBAAgB,EAAE;gBAClC,oBACEI,IAAA,CAACrC,KAAK,CAACoM,IAAI;kBAETrG,KAAK,EAAC,QAAQ;kBACdH,SAAS,EAAEnE,0BAA0B,CAAC,CAAE;kBAAA6D,QAAA,eAExCjD,IAAA,CAACzC,QAAQ;oBACPkF,KAAK,EAAC,YAAY;oBAClBuH,SAAS,EAAE3B,iBAAiB,CAACC,OAAQ;oBACrC2B,eAAe,EAAE5B,iBAAiB,CAACE,aAAc;oBACjDvC,QAAQ,EAAEA,CAAA,KAAMuB,KAAK,CAAC2C,qBAAqB,CAAC,CAAE;oBAC9CZ,kBAAkB,EAAC,YAAY;oBAC/B,cAAW;kBAAY,CACxB;gBAAC,GAXGO,MAAM,CAACC,EAYF,CAAC;cAEjB;cAEA,MAAMnJ,GAAG,GAAGgH,UAAU,CAAC/D,GAAG,CAACiG,MAAM,CAACjI,MAAM,CAACkI,EAAE,CAAC;cAC5C,MAAMK,MAAM,GAAGN,MAAM,CAACjI,MAAM,CAACwI,WAAW,CAAC,CAAC;cAC1C,MAAMC,OAAO,GAAG,CAACtF,oBAAoB,IAAI8E,MAAM,CAACjI,MAAM,CAAC0I,UAAU,CAAC,CAAC;cACnE,MAAMC,WAAW,GAAG5J,GAAG,EAAE4J,WAAW,IAAI5J,GAAG,EAAE+C,KAAK;cAClD,MAAM8G,QAAQ,GACZL,MAAM,KAAK,KAAK,GACZpM,eAAe,GACfoM,MAAM,KAAK,MAAM,GACfrM,iBAAiB,GACjBA,iBAAiB;cAEzB,oBACEkC,IAAA,CAACrC,KAAK,CAACoM,IAAI;gBAETrG,KAAK,EAAErF,sBAAsB,CAACkM,WAAW,CAAE;gBAC3ChH,SAAS,EAAE5E,oBAAoB,CAAC,CAAE;gBAClCmC,KAAK,EAAEJ,SAAS,CAACC,GAAG,EAAEqC,YAAY,CAACY,GAAG,CAACiG,MAAM,CAACjI,MAAM,CAACkI,EAAE,CAAC,CAAE;gBAAA,IACrDzM,QAAQ,CAAC0D,EAAE,KAAK,KAAK,IAAIsJ,OAAO,GACjC;kBACE,WAAW,EACTF,MAAM,KAAK,KAAK,GACZ,WAAW,GACXA,MAAM,KAAK,MAAM,GACf,YAAY,GACZ;gBACV,CAAC,GACD,CAAC,CAAC;gBAAAlH,QAAA,eAEN/C,KAAA,CAAC5C,IAAI;kBAACiG,SAAS,EAAE3E,+BAA+B,CAAC,CAAE;kBAAAqE,QAAA,gBACjDjD,IAAA,CAACnC,IAAI;oBAAC0F,SAAS,EAAC,kCAAkC;oBAAAN,QAAA,EAC/CtC,GAAG,EAAE8J,YAAY,GAAG9J,GAAG,CAAC8J,YAAY,CAAC,CAAC,GAAI9J,GAAG,EAAE+J,UAAU,IAAI/J,GAAG,EAAEuB;kBAAM,CACrE,CAAC,EACNmI,OAAO,gBACNrK,IAAA,CAACxC,UAAU;oBACT0L,EAAE,EAAEsB,QAAS;oBACbG,OAAO,EAAC,OAAO;oBACfC,KAAK,EAAC,SAAS;oBACf5B,IAAI,EAAC,OAAO;oBACZ6B,aAAa,EAAC,QAAQ;oBACtBvB,kBAAkB,EAAE,WAAW3I,GAAG,EAAE+J,UAAU,IAAIb,MAAM,CAACjI,MAAM,CAACkI,EAAE,EAAG;oBACrEgB,OAAO,EAAEA,CAAA,KAAM;sBACbjB,MAAM,CAACjI,MAAM,CAACmJ,aAAa,CAAC,CAAC;oBAC/B,CAAE;oBACFxH,SAAS,EAAE4G,MAAM,GAAGtJ,SAAS,GAAG;kBAAa,CAC9C,CAAC,GACA,IAAI;gBAAA,CACJ;cAAC,GAjCFgJ,MAAM,CAACC,EAkCF,CAAC;YAEjB,CAAC;UAAC,GAtEYH,WAAW,CAACG,EAuEjB,CACZ,CAAC,EACD3E,aAAa,gBACZnF,IAAA,CAACrC,KAAK,CAAC2F,GAAG;YAAAL,QAAA,EACPsE,KAAK,CAACyD,iBAAiB,CAAC,CAAC,CAACrH,GAAG,CAAE/B,MAAM,IAAK;cACzC,IAAIA,MAAM,CAACkI,EAAE,KAAKlK,gBAAgB,EAAE;gBAClC,oBACEI,IAAA,CAACrC,KAAK,CAAC8F,IAAI;kBAETC,KAAK,EAAC,QAAQ;kBACdH,SAAS,EAAEnE,0BAA0B,CAAC;gBAAE,GAFnCwC,MAAM,CAACkI,EAGb,CAAC;cAEN;cACA,MAAMnJ,GAAG,GAAGgH,UAAU,CAAC/D,GAAG,CAAChC,MAAM,CAACkI,EAAE,CAAC;cACrC,MAAMS,WAAW,GAAG5J,GAAG,EAAE4J,WAAW,IAAI5J,GAAG,EAAE+C,KAAK;cAClD,IAAI/C,GAAG,EAAEsK,UAAU,KAAK,KAAK,EAAE;gBAC7B,oBACEjL,IAAA,CAACrC,KAAK,CAACoM,IAAI;kBAETrG,KAAK,EAAErF,sBAAsB,CAACkM,WAAW,CAAE;kBAC3ChH,SAAS,EAAE5E,oBAAoB,CAAC,CAAE;kBAClCmC,KAAK,EAAEJ,SAAS,CAACC,GAAG,EAAEqC,YAAY,CAACY,GAAG,CAAChC,MAAM,CAACkI,EAAE,CAAC;gBAAE,GAH9ClI,MAAM,CAACkI,EAIb,CAAC;cAEN;cACA,oBACE9J,IAAA,CAACrC,KAAK,CAACoM,IAAI;gBAETrG,KAAK,EAAErF,sBAAsB,CAACkM,WAAW,CAAE;gBAC3ChH,SAAS,EAAE5E,oBAAoB,CAAC,CAAE;gBAClCmC,KAAK,EAAEJ,SAAS,CAACC,GAAG,EAAEqC,YAAY,CAACY,GAAG,CAAChC,MAAM,CAACkI,EAAE,CAAC,CAAE;gBAAA7G,QAAA,eAEnDjD,IAAA,CAACvC,KAAK;kBAACuL,IAAI,EAAC,OAAO;kBAACzF,SAAS,EAAE9E,2BAA2B,CAAC,CAAE;kBAAAwE,QAAA,eAC3DjD,IAAA,CAACvC,KAAK,CAAC0L,KAAK;oBACV1G,KAAK,EAAEkG,cAAc,CAAC/G,MAAM,CAACkI,EAAE,CAAE;oBACjCV,YAAY,EAAG3G,KAAK,IAAKgF,eAAe,CAAC7F,MAAM,CAACkI,EAAE,EAAErH,KAAK,CAAE;oBAC3D4G,WAAW,EAAC,QAAQ;oBACpBC,kBAAkB,EAAE,UAAU3I,GAAG,EAAE+J,UAAU,IAAI9I,MAAM,CAACkI,EAAE;kBAAG,CAC9D;gBAAC,CACG;cAAC,GAZHlI,MAAM,CAACkI,EAaF,CAAC;YAEjB,CAAC;UAAC,CACO,CAAC,GACV,IAAI;QAAA,CACI,CAAC,eACf9J,IAAA,CAACrC,KAAK,CAACuN,IAAI;UAAC3H,SAAS,EAAEjF,oBAAoB,CAAC,CAAE;UAAA2E,QAAA,EAC3C2B,OAAO,IAAIU,cAAc,IAAI,IAAI,gBAChCtF,IAAA,CAAC8C,kBAAkB;YACjBvB,OAAO,EAAEA,OAAQ;YACjBC,iBAAiB,EAAEA,iBAAkB;YACrCuB,QAAQ,EAAElB,IAAI,CAACqC,GAAG,CAACiD,kBAAkB,CAACpD,QAAQ,EAAE1D,sBAAsB,CAAE;YACxE2C,YAAY,EAAEA;UAAa,CAC5B,CAAC,GACAyF,OAAO,GAAG,IAAI,GAChBZ,WAAW,CAAClE,GAAG,CAAEwH,GAAG,IAAK;YACvB,MAAMC,KAAK,GAAGvL,YAAY,CAACsL,GAAG,CAACE,QAAQ,EAAE1G,QAAQ,CAAC;YAClD,oBACE3E,IAAA,CAACrC,KAAK,CAAC2F,GAAG;cAAAL,QAAA,EACPkI,GAAG,CAACG,WAAW,CAAC,CAAC,CAAC3H,GAAG,CAAE4H,IAAI,IAAK;gBAC/B,IAAIA,IAAI,CAAC3J,MAAM,CAACkI,EAAE,KAAKlK,gBAAgB,EAAE;kBACvC,oBACEI,IAAA,CAACrC,KAAK,CAAC8F,IAAI;oBAETC,KAAK,EAAC,QAAQ;oBACdH,SAAS,EAAEpE,0BAA0B,CAAC,CAAE;oBAAA8D,QAAA,eAExCjD,IAAA,CAACzC,QAAQ;sBACPkF,KAAK,EAAEC,MAAM,CAAC0I,KAAK,CAAE;sBACrBpB,SAAS,EAAEmB,GAAG,CAACK,aAAa,CAAC,CAAE;sBAC/BxF,QAAQ,EAAEA,CAAA,KAAMmF,GAAG,CAACM,cAAc,CAAC,CAAE;sBACrCnC,kBAAkB,EAAE,cAAc5G,MAAM,CAAC0I,KAAK,CAAC,EAAG;sBAClD,cAAY,cAAc1I,MAAM,CAAC0I,KAAK,CAAC;oBAAG,CAC3C;kBAAC,GAVGG,IAAI,CAACzB,EAWA,CAAC;gBAEjB;gBAEA,MAAMnJ,GAAG,GAAGgH,UAAU,CAAC/D,GAAG,CAAC2H,IAAI,CAAC3J,MAAM,CAACkI,EAAE,CAAC;gBAC1C,MAAMrH,KAAK,GAAG8I,IAAI,CAACG,QAAQ,CAAC,CAAC;gBAC7B,IAAIC,OAAkB;gBACtB,IAAIhL,GAAG,EAAEiL,UAAU,EAAE;kBACnBD,OAAO,GAAGhL,GAAG,CAACiL,UAAU,CAAC;oBACvBnJ,KAAK;oBACL0I,GAAG,EAAEA,GAAG,CAACE,QAAQ;oBACjBnJ,KAAK,EAAEvB,GAAG,CAACuB,KAAK;oBAChB4H,EAAE,EAAEsB;kBACN,CAAC,CAAC;gBACJ,CAAC,MAAM,IAAIzK,GAAG,EAAEkL,cAAc,EAAE;kBAC9BF,OAAO,GAAGhL,GAAG,CAACkL,cAAc,CAACpJ,KAAK,EAAE0I,GAAG,CAACE,QAAQ,EAAE1K,GAAG,CAAC;gBACxD,CAAC,MAAM;kBACLgL,OAAO,GAAGnJ,kBAAkB,CAACC,KAAK,CAAC;gBACrC;gBAEA,oBACEzC,IAAA,CAACrC,KAAK,CAAC8F,IAAI;kBAETC,KAAK,EAAErF,sBAAsB,CAACsC,GAAG,EAAE+C,KAAK,CAAE;kBAC1CH,SAAS,EAAEhF,oBAAoB,CAAC,CAAE;kBAClCuC,KAAK,EAAEJ,SAAS,CAACC,GAAG,EAAEqC,YAAY,CAACY,GAAG,CAAC2H,IAAI,CAAC3J,MAAM,CAACkI,EAAE,CAAC,CAAE;kBAAA7G,QAAA,EAEvD0I;gBAAO,GALHJ,IAAI,CAACzB,EAMA,CAAC;cAEjB,CAAC;YAAC,GA9CYqB,GAAG,CAACrB,EA+CT,CAAC;UAEhB,CAAC;QACF,CACS,CAAC;MAAA,CACR,CAAC,EAEPrB,OAAO,gBACNzI,IAAA,CAAC1C,IAAI;QAACiG,SAAS,EAAE/E,4BAA4B,CAAC,CAAE;QAAC8K,kBAAkB,EAAC,SAAS;QAAArG,QAAA,EAC1EoC,aAAa,iBAAIrF,IAAA,CAACnC,IAAI;UAAC0F,SAAS,EAAC,oCAAoC;UAAAN,QAAA,EAAC;QAAO,CAAM;MAAC,CACjF,CAAC,GACL,IAAI,EAEP2B,OAAO,gBACN5E,IAAA,CAACnC,IAAI;QACH0F,SAAS,EAAC,kEAAkE;QAC5EuI,uBAAuB,EAAC,QAAQ;QAAA7I,QAAA,EACjC;MAED,CAAM,CAAC,GACL,IAAI,EAEP2B,OAAO,IAAIU,cAAc,IAAI,IAAI,gBAChCtF,IAAA,CAAC1C,IAAI;QAACiG,SAAS,EAAExE,uBAAuB,CAAC;UAAEoG;QAAc,CAAC,CAAE;QAAAlC,QAAA,EAAEqC;MAAc,CAAO,CAAC,GAClF,IAAI;IAAA,CACJ,CAAC,EAEN,CAACT,UAAU,IACZ,CAACC,oBAAoB,KACpBE,cAAc,KAAK,QAAQ,GAAG0D,UAAU,GAAG,CAAC,GAAGhE,IAAI,CAACrD,MAAM,GAAG,CAAC,CAAC,gBAC9DrB,IAAA,CAAC1C,IAAI;MAACiG,SAAS,EAAE7E,sBAAsB,CAAC,CAAE;MAAAuE,QAAA,eACxC/C,KAAA,CAACtC,eAAe;QACdkG,IAAI,EAAEqD,kBAAkB,CAACrD,IAAI,GAAG,CAAE;QAClCiI,KAAK,EAAEhE,SAAU;QACjBhE,QAAQ,EAAEoD,kBAAkB,CAACpD,QAAS;QACtCqB,eAAe,EAAEjB,mBAAmB,CAACiB,eAAe,EAAE+B,kBAAkB,CAACpD,QAAQ,CAAE;QACnFiI,YAAY,EAAGlI,IAAY,IACzBqC,kBAAkB,CAAC;UAAE,GAAGgB,kBAAkB;UAAErD,IAAI,EAAEA,IAAI,GAAG;QAAE,CAAC,CAC7D;QACDmI,gBAAgB,EAAGlI,QAAgB,IAAKoC,kBAAkB,CAAC;UAAErC,IAAI,EAAE,CAAC;UAAEC;QAAS,CAAC,CAAE;QAClFmI,QAAQ,EAAEtH,OAAQ;QAClB0E,kBAAkB,EAAC,iBAAiB;QACpC/F,SAAS,EAAEtE,0BAA0B,CAAC,CAAE;QAAAgE,QAAA,gBAExCjD,IAAA,CAACnC,IAAI;UAACmL,IAAI,EAAC,IAAI;UAACzF,SAAS,EAAC,sBAAsB;UAAAN,QAAA,EAAC;QAEjD,CAAM,CAAC,eACPjD,IAAA,CAACpC,eAAe,CAACuO,QAAQ,IAAE,CAAC,eAC5BnM,IAAA,CAACpC,eAAe,CAACwO,MAAM;UAAC7I,SAAS,EAAEvE,+BAA+B,CAAC,CAAE;UAAAiE,QAAA,eACnEjD,IAAA,CAACnC,IAAI;YAACmL,IAAI,EAAC,IAAI;YAACzF,SAAS,EAAC,sBAAsB;YAAAN,QAAA,EAC7CY,oBAAoB,CACnBsD,kBAAkB,CAACrD,IAAI,EACvBqD,kBAAkB,CAACpD,QAAQ,EAC3B2E,UACF;UAAC,CACG;QAAC,CACe,CAAC,eACzB1I,IAAA,CAACpC,eAAe,CAACyO,QAAQ;UAAC9I,SAAS,EAAC;QAAoB,CAAE,CAAC,eAC3DvD,IAAA,CAACpC,eAAe,CAAC0O,IAAI;UAAC/I,SAAS,EAAC;QAAoB,CAAE,CAAC;MAAA,CACxC;IAAC,CACd,CAAC,GACL,IAAI;EAAA,CACJ,CAAC;AAEX;AAEA,OAAO,SAASgJ,QAAQA,CAA8B9H,KAAuB,EAAE;EAC7E,oBAAOzE,IAAA,CAACwE,aAAa;IAAA,GAAKC;EAAK,CAAG,CAAC;AACrC;AAEA8H,QAAQ,CAACC,WAAW,GAAG,UAAU","ignoreList":[]}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export function gridColDefToColumnDef(col) {
|
|
4
|
+
return {
|
|
5
|
+
id: col.field,
|
|
6
|
+
accessorFn: row => {
|
|
7
|
+
const raw = row[col.field];
|
|
8
|
+
return col.valueGetter ? col.valueGetter(raw, row, col) : raw;
|
|
9
|
+
},
|
|
10
|
+
header: col.headerName ?? col.field,
|
|
11
|
+
enableSorting: col.sortable !== false,
|
|
12
|
+
enableColumnFilter: col.filterable !== false,
|
|
13
|
+
enableGlobalFilter: col.filterable !== false,
|
|
14
|
+
filterFn: 'includesString',
|
|
15
|
+
meta: {
|
|
16
|
+
colDef: col
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
export function applyUpdater(updater, previous) {
|
|
21
|
+
return typeof updater === 'function' ? updater(previous) : updater;
|
|
22
|
+
}
|
|
23
|
+
export function normalizeGridAlignment(align) {
|
|
24
|
+
if (align === 'left') {
|
|
25
|
+
return 'start';
|
|
26
|
+
}
|
|
27
|
+
if (align === 'right') {
|
|
28
|
+
return 'end';
|
|
29
|
+
}
|
|
30
|
+
return align ?? 'start';
|
|
31
|
+
}
|
|
32
|
+
//# 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":";;AAGA,OAAO,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;AAEA,OAAO,SAASiB,YAAYA,CAAIC,OAA4B,EAAEC,QAAW,EAAK;EAC5E,OAAO,OAAOD,OAAO,KAAK,UAAU,GAAIA,OAAO,CAAmBC,QAAQ,CAAC,GAAGD,OAAO;AACvF;AAEA,OAAO,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,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { SELECT_COLUMN_ID } from '../types';
|
|
4
|
+
export function createSelectColumn() {
|
|
5
|
+
return {
|
|
6
|
+
id: SELECT_COLUMN_ID,
|
|
7
|
+
header: SELECT_COLUMN_ID,
|
|
8
|
+
enableSorting: false,
|
|
9
|
+
enableColumnFilter: false,
|
|
10
|
+
enableGlobalFilter: false,
|
|
11
|
+
size: 48
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=selectColumn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["SELECT_COLUMN_ID","createSelectColumn","id","header","enableSorting","enableColumnFilter","enableGlobalFilter","size"],"sourceRoot":"../../../src","sources":["adapter/selectColumn.ts"],"mappings":";;AAAA,SAASA,gBAAgB,QAAQ,UAAU;AAE3C,OAAO,SAASC,kBAAkBA,CAAA,EAAG;EACnC,OAAO;IACLC,EAAE,EAAEF,gBAAgB;IACpBG,MAAM,EAAEH,gBAAgB;IACxBI,aAAa,EAAE,KAAK;IACpBC,kBAAkB,EAAE,KAAK;IACzBC,kBAAkB,EAAE,KAAK;IACzBC,IAAI,EAAE;EACR,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DataGrid"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,YAAY","ignoreList":[]}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { Platform } from 'react-native';
|
|
4
|
+
import { cva } from '@cdx-ui/utils';
|
|
5
|
+
export const dataGridRootVariants = cva('h-[300px] w-full min-w-0 max-w-full flex-col overflow-hidden rounded-2xl border border-stroke-secondary bg-surface-primary');
|
|
6
|
+
export const dataGridMainVariants = cva('relative min-h-0 w-full min-w-0 max-w-full flex-1 overflow-auto');
|
|
7
|
+
export const dataGridToolbarVariants = cva('shrink-0 flex-row items-center gap-3 border-b border-stroke-secondary px-4 py-4');
|
|
8
|
+
export const dataGridToolbarSearchVariants = cva('max-w-80 min-w-0 flex-1');
|
|
9
|
+
export const dataGridToolbarActionsVariants = cva('ms-auto flex-row items-center gap-3');
|
|
10
|
+
export const dataGridFooterVariants = cva('min-h-[52px] shrink-0 flex-row items-center justify-end gap-2 border-t border-stroke-secondary py-0 pe-0.5 ps-6');
|
|
11
|
+
export const dataGridOverlayVariants = cva('absolute inset-x-0 bottom-0 items-center justify-center bg-surface-primary', {
|
|
12
|
+
variants: {
|
|
13
|
+
headerFilters: {
|
|
14
|
+
true: 'top-24',
|
|
15
|
+
false: 'top-12'
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
defaultVariants: {
|
|
19
|
+
headerFilters: false
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
export const dataGridEmptyOverlayVariants = cva('pointer-events-none absolute inset-0 items-center justify-center');
|
|
23
|
+
export const dataGridHeaderCellInnerVariants = cva('flex-row items-center gap-3');
|
|
24
|
+
|
|
25
|
+
// Collapsed table borders scroll away from sticky headers; separated cell borders stick.
|
|
26
|
+
export const dataGridTableVariants = cva(Platform.select({
|
|
27
|
+
web: 'border-separate border-spacing-0',
|
|
28
|
+
default: ''
|
|
29
|
+
}));
|
|
30
|
+
export const dataGridHeaderVariants = cva(['bg-neutral-50', Platform.select({
|
|
31
|
+
web: 'sticky top-0 z-20',
|
|
32
|
+
default: ''
|
|
33
|
+
})]);
|
|
34
|
+
export const dataGridBodyVariants = cva(Platform.select({
|
|
35
|
+
web: '[&_tr:last-child>*]:border-b-0',
|
|
36
|
+
default: ''
|
|
37
|
+
}));
|
|
38
|
+
export const dataGridFilterInputVariants = cva('min-w-24');
|
|
39
|
+
export const dataGridHeadVariants = cva(['h-12 bg-neutral-50 px-4', Platform.select({
|
|
40
|
+
web: 'border-b border-stroke-secondary',
|
|
41
|
+
default: ''
|
|
42
|
+
})]);
|
|
43
|
+
export const dataGridSelectHeadVariants = cva(['w-14 bg-neutral-50 px-4', Platform.select({
|
|
44
|
+
web: 'border-b border-stroke-secondary',
|
|
45
|
+
default: ''
|
|
46
|
+
})]);
|
|
47
|
+
export const dataGridCellVariants = cva(['h-12 px-4', Platform.select({
|
|
48
|
+
web: 'border-b border-stroke-secondary',
|
|
49
|
+
default: ''
|
|
50
|
+
})]);
|
|
51
|
+
export const dataGridSelectCellVariants = cva(['w-14 px-4', Platform.select({
|
|
52
|
+
web: 'border-b border-stroke-secondary',
|
|
53
|
+
default: ''
|
|
54
|
+
})]);
|
|
55
|
+
export const dataGridPaginationVariants = cva('flex-row flex-wrap items-center justify-end gap-0');
|
|
56
|
+
export const dataGridPaginationRangeVariants = cva('mx-5 shrink-0');
|
|
57
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Platform","cva","dataGridRootVariants","dataGridMainVariants","dataGridToolbarVariants","dataGridToolbarSearchVariants","dataGridToolbarActionsVariants","dataGridFooterVariants","dataGridOverlayVariants","variants","headerFilters","true","false","defaultVariants","dataGridEmptyOverlayVariants","dataGridHeaderCellInnerVariants","dataGridTableVariants","select","web","default","dataGridHeaderVariants","dataGridBodyVariants","dataGridFilterInputVariants","dataGridHeadVariants","dataGridSelectHeadVariants","dataGridCellVariants","dataGridSelectCellVariants","dataGridPaginationVariants","dataGridPaginationRangeVariants"],"sourceRoot":"../../src","sources":["styles.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,cAAc;AACvC,SAASC,GAAG,QAAQ,eAAe;AAEnC,OAAO,MAAMC,oBAAoB,GAAGD,GAAG,CACrC,4HACF,CAAC;AAED,OAAO,MAAME,oBAAoB,GAAGF,GAAG,CACrC,iEACF,CAAC;AAED,OAAO,MAAMG,uBAAuB,GAAGH,GAAG,CACxC,iFACF,CAAC;AAED,OAAO,MAAMI,6BAA6B,GAAGJ,GAAG,CAAC,yBAAyB,CAAC;AAE3E,OAAO,MAAMK,8BAA8B,GAAGL,GAAG,CAAC,qCAAqC,CAAC;AAExF,OAAO,MAAMM,sBAAsB,GAAGN,GAAG,CACvC,iHACF,CAAC;AAED,OAAO,MAAMO,uBAAuB,GAAGP,GAAG,CACxC,4EAA4E,EAC5E;EACEQ,QAAQ,EAAE;IACRC,aAAa,EAAE;MACbC,IAAI,EAAE,QAAQ;MACdC,KAAK,EAAE;IACT;EACF,CAAC;EACDC,eAAe,EAAE;IACfH,aAAa,EAAE;EACjB;AACF,CACF,CAAC;AAED,OAAO,MAAMI,4BAA4B,GAAGb,GAAG,CAC7C,kEACF,CAAC;AAED,OAAO,MAAMc,+BAA+B,GAAGd,GAAG,CAAC,6BAA6B,CAAC;;AAEjF;AACA,OAAO,MAAMe,qBAAqB,GAAGf,GAAG,CACtCD,QAAQ,CAACiB,MAAM,CAAC;EACdC,GAAG,EAAE,kCAAkC;EACvCC,OAAO,EAAE;AACX,CAAC,CACH,CAAC;AAED,OAAO,MAAMC,sBAAsB,GAAGnB,GAAG,CAAC,CACxC,eAAe,EACfD,QAAQ,CAACiB,MAAM,CAAC;EACdC,GAAG,EAAE,mBAAmB;EACxBC,OAAO,EAAE;AACX,CAAC,CAAC,CACH,CAAC;AAEF,OAAO,MAAME,oBAAoB,GAAGpB,GAAG,CACrCD,QAAQ,CAACiB,MAAM,CAAC;EACdC,GAAG,EAAE,gCAAgC;EACrCC,OAAO,EAAE;AACX,CAAC,CACH,CAAC;AAED,OAAO,MAAMG,2BAA2B,GAAGrB,GAAG,CAAC,UAAU,CAAC;AAE1D,OAAO,MAAMsB,oBAAoB,GAAGtB,GAAG,CAAC,CACtC,yBAAyB,EACzBD,QAAQ,CAACiB,MAAM,CAAC;EACdC,GAAG,EAAE,kCAAkC;EACvCC,OAAO,EAAE;AACX,CAAC,CAAC,CACH,CAAC;AAEF,OAAO,MAAMK,0BAA0B,GAAGvB,GAAG,CAAC,CAC5C,yBAAyB,EACzBD,QAAQ,CAACiB,MAAM,CAAC;EACdC,GAAG,EAAE,kCAAkC;EACvCC,OAAO,EAAE;AACX,CAAC,CAAC,CACH,CAAC;AAEF,OAAO,MAAMM,oBAAoB,GAAGxB,GAAG,CAAC,CACtC,WAAW,EACXD,QAAQ,CAACiB,MAAM,CAAC;EACdC,GAAG,EAAE,kCAAkC;EACvCC,OAAO,EAAE;AACX,CAAC,CAAC,CACH,CAAC;AAEF,OAAO,MAAMO,0BAA0B,GAAGzB,GAAG,CAAC,CAC5C,WAAW,EACXD,QAAQ,CAACiB,MAAM,CAAC;EACdC,GAAG,EAAE,kCAAkC;EACvCC,OAAO,EAAE;AACX,CAAC,CAAC,CACH,CAAC;AAEF,OAAO,MAAMQ,0BAA0B,GAAG1B,GAAG,CAAC,mDAAmD,CAAC;AAElG,OAAO,MAAM2B,+BAA+B,GAAG3B,GAAG,CAAC,eAAe,CAAC","ignoreList":[]}
|