@cdx-ui/data-grid 0.3.11 → 0.3.12

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.
Files changed (82) hide show
  1. package/README.md +3 -1
  2. package/coverage.svg +1 -1
  3. package/lib/commonjs/DataGrid.js +232 -62
  4. package/lib/commonjs/DataGrid.js.map +1 -1
  5. package/lib/commonjs/DataGridFilterPanel.js +420 -0
  6. package/lib/commonjs/DataGridFilterPanel.js.map +1 -0
  7. package/lib/commonjs/adapter/columnTypes.js +256 -0
  8. package/lib/commonjs/adapter/columnTypes.js.map +1 -0
  9. package/lib/commonjs/adapter/columns.js +132 -4
  10. package/lib/commonjs/adapter/columns.js.map +1 -1
  11. package/lib/commonjs/adapter/filterOperators.js +422 -0
  12. package/lib/commonjs/adapter/filterOperators.js.map +1 -0
  13. package/lib/commonjs/adapter/pinning.js +101 -0
  14. package/lib/commonjs/adapter/pinning.js.map +1 -0
  15. package/lib/commonjs/index.js +26 -0
  16. package/lib/commonjs/index.js.map +1 -1
  17. package/lib/commonjs/numberCells.js +280 -0
  18. package/lib/commonjs/numberCells.js.map +1 -0
  19. package/lib/commonjs/styles.js +61 -1
  20. package/lib/commonjs/styles.js.map +1 -1
  21. package/lib/commonjs/types.js +29 -1
  22. package/lib/commonjs/types.js.map +1 -1
  23. package/lib/commonjs/useDataGridTable.js +98 -13
  24. package/lib/commonjs/useDataGridTable.js.map +1 -1
  25. package/lib/module/DataGrid.js +237 -67
  26. package/lib/module/DataGrid.js.map +1 -1
  27. package/lib/module/DataGridFilterPanel.js +414 -0
  28. package/lib/module/DataGridFilterPanel.js.map +1 -0
  29. package/lib/module/adapter/columnTypes.js +240 -0
  30. package/lib/module/adapter/columnTypes.js.map +1 -0
  31. package/lib/module/adapter/columns.js +129 -4
  32. package/lib/module/adapter/columns.js.map +1 -1
  33. package/lib/module/adapter/filterOperators.js +406 -0
  34. package/lib/module/adapter/filterOperators.js.map +1 -0
  35. package/lib/module/adapter/pinning.js +90 -0
  36. package/lib/module/adapter/pinning.js.map +1 -0
  37. package/lib/module/index.js +2 -0
  38. package/lib/module/index.js.map +1 -1
  39. package/lib/module/numberCells.js +275 -0
  40. package/lib/module/numberCells.js.map +1 -0
  41. package/lib/module/styles.js +60 -0
  42. package/lib/module/styles.js.map +1 -1
  43. package/lib/module/types.js +28 -0
  44. package/lib/module/types.js.map +1 -1
  45. package/lib/module/useDataGridTable.js +99 -14
  46. package/lib/module/useDataGridTable.js.map +1 -1
  47. package/lib/typescript/DataGrid.d.ts.map +1 -1
  48. package/lib/typescript/DataGridFilterPanel.d.ts +17 -0
  49. package/lib/typescript/DataGridFilterPanel.d.ts.map +1 -0
  50. package/lib/typescript/adapter/columnTypes.d.ts +32 -0
  51. package/lib/typescript/adapter/columnTypes.d.ts.map +1 -0
  52. package/lib/typescript/adapter/columns.d.ts +14 -5
  53. package/lib/typescript/adapter/columns.d.ts.map +1 -1
  54. package/lib/typescript/adapter/filterOperators.d.ts +43 -0
  55. package/lib/typescript/adapter/filterOperators.d.ts.map +1 -0
  56. package/lib/typescript/adapter/pinning.d.ts +25 -0
  57. package/lib/typescript/adapter/pinning.d.ts.map +1 -0
  58. package/lib/typescript/index.d.ts +4 -1
  59. package/lib/typescript/index.d.ts.map +1 -1
  60. package/lib/typescript/numberCells.d.ts +46 -0
  61. package/lib/typescript/numberCells.d.ts.map +1 -0
  62. package/lib/typescript/styles.d.ts +21 -0
  63. package/lib/typescript/styles.d.ts.map +1 -1
  64. package/lib/typescript/types.d.ts +86 -7
  65. package/lib/typescript/types.d.ts.map +1 -1
  66. package/lib/typescript/useDataGridTable.d.ts +18 -4
  67. package/lib/typescript/useDataGridTable.d.ts.map +1 -1
  68. package/package.json +5 -5
  69. package/src/DataGrid.tsx +377 -67
  70. package/src/DataGridFilterPanel.tsx +477 -0
  71. package/src/adapter/columnTypes.ts +327 -0
  72. package/src/adapter/columns.test.ts +75 -1
  73. package/src/adapter/columns.ts +178 -3
  74. package/src/adapter/filterOperators.test.ts +292 -0
  75. package/src/adapter/filterOperators.ts +524 -0
  76. package/src/adapter/pinning.ts +125 -0
  77. package/src/index.ts +15 -0
  78. package/src/numberCells.tsx +379 -0
  79. package/src/styles.ts +75 -0
  80. package/src/types.ts +114 -7
  81. package/src/useDataGridTable.test.ts +69 -0
  82. package/src/useDataGridTable.ts +127 -8
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactTable","_selectColumn","_columns","_types","features","tableFeatures","columnFilteringFeature","globalFilteringFeature","rowSortingFeature","rowPaginationFeature","rowSelectionFeature","filteredRowModel","createFilteredRowModel","sortedRowModel","createSortedRowModel","paginatedRowModel","createPaginatedRowModel","filterFns","includesString","filterFn_includesString","sortFns","alphanumeric","sortFn_alphanumeric","text","sortFn_text","sortModelToSortingState","model","map","item","id","field","desc","sort","sortingStateToSortModel","state","filter","SELECT_COLUMN_ID","slice","paginationModelToState","pageIndex","page","pageSize","paginationStateToModel","columnFilterValueToString","value","String","filterModelToColumnFilters","trim","length","columnFiltersToFilterModel","selectionIdKey","selectionModelToRowSelection","allIds","selected","Set","type","ids","add","has","Object","fromEntries","rowSelectionToModel","previousModel","currentIdsByKey","Map","set","selectedKeys","keys","key","delete","resolveRowId","row","getRowId","__DEV__","console","warn","useDataGridTable","rows","columns","checkboxSelection","disableColumnSorting","paginationMode","sortingMode","filterMode","rowCount","sortModel","onSortModelChange","paginationModel","onPaginationModelChange","filterModel","onFilterModelChange","quickFilter","onQuickFilterChange","rowSelectionModel","onRowSelectionModelChange","data","useMemo","columnDefs","mapped","col","def","gridColDefToColumnDef","enableSorting","createSelectColumn","sortingState","paginationState","columnFilterState","rowSelectionState","resetPaginationPage","setQuickFilter","setColumnFilter","next","push","table","useTable","enableMultiSort","enableMultiRowSelection","manualPagination","manualSorting","manualFiltering","autoResetPageIndex","undefined","sorting","pagination","columnFilters","globalFilter","rowSelection","onSortingChange","updater","applyUpdater","onPaginationChange","onColumnFiltersChange","onGlobalFilterChange","onRowSelectionChange"],"sourceRoot":"../../src","sources":["useDataGridTable.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactTable","_selectColumn","_columns","_columnTypes","_filterOperators","_types","gridGlobalFilterFn","row","columnId","filterValue","SELECT_COLUMN_ID","meta","getAllCells","find","cell","column","id","columnDef","metaUsesDisplayFilter","filterFn_displayText","untypedCellIncludesQuery","getValue","normalizeFilterQuery","features","tableFeatures","columnFilteringFeature","columnPinningFeature","globalFilteringFeature","rowSortingFeature","rowPaginationFeature","rowSelectionFeature","filteredRowModel","createFilteredRowModel","sortedRowModel","createSortedRowModel","paginatedRowModel","createPaginatedRowModel","filterFns","includesString","filterFn_includesString","sortFns","alphanumeric","sortFn_alphanumeric","text","sortFn_text","number","sortFn_number","datetime","sortFn_datetime","boolean","sortFn_boolean","selectLabel","sortFn_selectLabel","sortModelToSortingState","model","map","item","field","desc","sort","sortingStateToSortModel","state","filter","slice","paginationModelToState","pageIndex","page","pageSize","paginationStateToModel","columnFilterValueToString","value","String","filterModelToColumnFilters","valuesByField","Map","operator","undefined","filterOperatorNeedsValue","isBlankFilterValue","trim","length","values","get","push","set","items","columnFilterValueToItem","isOperatorFilterValue","columnFiltersToFilterModel","flatMap","isFilterValueGroup","selectionIdKey","selectionModelToRowSelection","allIds","selected","Set","type","ids","add","has","Object","fromEntries","rowSelectionToModel","previousModel","currentIdsByKey","selectedKeys","keys","key","delete","resolveRowId","getRowId","__DEV__","console","warn","useDataGridTable","rows","columns","checkboxSelection","disableColumnSorting","paginationMode","sortingMode","filterMode","rowCount","sortModel","onSortModelChange","paginationModel","onPaginationModelChange","filterModel","onFilterModelChange","filterLogicOperator","quickFilter","onQuickFilterChange","rowSelectionModel","onRowSelectionModelChange","columnPinning","orFilterItems","useMemo","active","isActiveFilterItem","data","filterableColumns","col","filterable","some","rowMatchesFilterItem","columnDefs","mapped","def","gridColDefToColumnDef","enableSorting","createSelectColumn","sortingState","paginationState","columnFilterState","rowSelectionState","resetPaginationPage","setQuickFilter","setColumnFilter","next","table","useTable","enableMultiSort","enableMultiRowSelection","globalFilterFn","manualPagination","manualSorting","manualFiltering","autoResetPageIndex","sorting","pagination","columnFilters","globalFilter","rowSelection","onSortingChange","updater","applyUpdater","onPaginationChange","onColumnFiltersChange","onGlobalFilterChange","onRowSelectionChange","setFilterModel"],"sourceRoot":"../../src","sources":["useDataGridTable.ts"],"mappings":"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","ignoreList":[]}
@@ -1,22 +1,26 @@
1
1
  "use strict";
2
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';
3
+ import { useMemo, useRef, useState } from 'react';
4
+ import { I18nManager, Platform, View } from 'react-native';
5
+ import { Checkbox, Icon, IconButton, Input, Skeleton, Table, TablePagination, Text } from '@cdx-ui/components';
6
+ import { Check, Close, FilterList, KeyboardArrowDown, KeyboardArrowUp, Search } from '@cdx-ui/icons';
7
7
  import { dataAttributes, mergeDataAttributes } from '@cdx-ui/primitives';
8
8
  import { cn, useControllableState } from '@cdx-ui/utils';
9
- import { normalizeGridAlignment } from './adapter/columns';
10
- import { dataGridBodyVariants, dataGridCellVariants, dataGridEmptyOverlayVariants, dataGridFilterInputVariants, dataGridFooterVariants, dataGridHeadVariants, dataGridHeaderCellInnerVariants, dataGridHeaderLabelVariants, dataGridHeaderVariants, dataGridMainVariants, dataGridOverlayVariants, dataGridPaginationRangeVariants, dataGridPaginationVariants, dataGridRootVariants, dataGridSelectCellVariants, dataGridSelectHeadVariants, dataGridSortButtonVariants, dataGridTableVariants, dataGridToolbarActionsVariants, dataGridToolbarSearchVariants, dataGridToolbarVariants } from './styles';
9
+ import { normalizePinnedColumns, resolveColumnAlign, resolveColumnHeaderAlign } from './adapter/columns';
10
+ import { DEFAULT_PINNED_COLUMN_WIDTH, SELECT_COLUMN_WIDTH, buildPinnedOffsets, isColumnPinningActive, pinnedCellStyle, pinnedEdgeGuidesImage, pinnedFieldSet, warnPinnedFlexColumns } from './adapter/pinning';
11
+ import { getTypedCellText } from './adapter/columnTypes';
12
+ import { DataGridFilterPanel } from './DataGridFilterPanel';
13
+ import { dataGridBodyVariants, dataGridCellVariants, dataGridEmptyOverlayVariants, dataGridFilterInputVariants, dataGridFooterVariants, dataGridHeadVariants, dataGridHeaderCellInnerVariants, dataGridHeaderLabelVariants, dataGridHeaderVariants, dataGridMainVariants, dataGridOverlayVariants, dataGridPaginationRangeVariants, dataGridPaginationVariants, dataGridPinnedEdgeVariants, dataGridPinnedSurfaceVariants, dataGridRootVariants, dataGridSelectCellVariants, dataGridSelectHeadVariants, dataGridSortButtonVariants, dataGridTableVariants, dataGridToolbarActionsVariants, dataGridToolbarSearchVariants, dataGridToolbarVariants } from './styles';
11
14
  import { DEFAULT_PAGE_SIZE_OPTIONS, DEFAULT_PAGINATION_MODEL, EMPTY_SELECTION, SELECT_COLUMN_ID } from './types';
12
15
  import { resolveRowId, useDataGridTable } from './useDataGridTable';
13
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
16
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
14
17
  const MAX_SKELETON_ROW_COUNT = 10;
15
18
  const DEFAULT_WEB_COLUMN_WIDTH = 100;
16
- const SELECT_COLUMN_WIDTH = 56;
17
19
  const WEB_TABLE_CONTAINER_STYLE = {
18
20
  overflow: 'visible'
19
21
  };
22
+ // Same token as the pinned cells' `border-stroke-secondary` divider.
23
+ const PINNED_EDGE_COLOR = 'var(--color-stroke-secondary)';
20
24
  function cellStyle(col, webWidth) {
21
25
  if (!col) {
22
26
  return undefined;
@@ -39,36 +43,96 @@ function cellStyle(col, webWidth) {
39
43
  }
40
44
  return Object.keys(style).length > 0 ? style : undefined;
41
45
  }
42
- function webColumnWidths(columns, checkboxSelection) {
43
- const totalFlex = columns.reduce((total, column) => total + Math.max(column.flex ?? 0, 0), 0);
46
+ function effectiveFlex(column, pinned) {
47
+ if (pinned.has(column.field)) {
48
+ return 0;
49
+ }
50
+ return Math.max(column.flex ?? 0, 0);
51
+ }
52
+ function webColumnWidths(columns, checkboxSelection, pinned = new Set()) {
53
+ const totalFlex = columns.reduce((total, column) => total + effectiveFlex(column, pinned), 0);
44
54
  const widths = new Map();
45
55
  if (totalFlex === 0) {
46
56
  for (const column of columns) {
47
- if (column.width !== undefined) {
57
+ if (pinned.has(column.field)) {
58
+ widths.set(column.field, Math.max(column.width ?? DEFAULT_PINNED_COLUMN_WIDTH, column.minWidth ?? 0));
59
+ } else if (column.width !== undefined) {
48
60
  widths.set(column.field, column.width);
49
61
  }
50
62
  }
51
63
  return widths;
52
64
  }
53
65
  const fixedWidth = (checkboxSelection ? SELECT_COLUMN_WIDTH : 0) + columns.reduce((total, column) => {
54
- if ((column.flex ?? 0) > 0) {
66
+ if (effectiveFlex(column, pinned) > 0) {
55
67
  return total;
56
68
  }
57
- return total + Math.max(column.width ?? DEFAULT_WEB_COLUMN_WIDTH, column.minWidth ?? 0);
69
+ const fallback = pinned.has(column.field) ? DEFAULT_PINNED_COLUMN_WIDTH : DEFAULT_WEB_COLUMN_WIDTH;
70
+ return total + Math.max(column.width ?? fallback, column.minWidth ?? 0);
58
71
  }, 0);
59
72
  for (const column of columns) {
60
- if ((column.flex ?? 0) > 0) {
61
- const share = (column.flex ?? 0) / totalFlex;
73
+ const flex = effectiveFlex(column, pinned);
74
+ if (flex > 0) {
75
+ const share = flex / totalFlex;
62
76
  const percentage = share * 100;
63
77
  const fixedShare = fixedWidth * share;
64
78
  const width = `calc(${percentage.toString()}% - ${fixedShare.toString()}px)`;
65
79
  widths.set(column.field, column.minWidth === undefined ? width : `max(${column.minWidth.toString()}px, ${width})`);
66
80
  } else {
67
- widths.set(column.field, Math.max(column.width ?? DEFAULT_WEB_COLUMN_WIDTH, column.minWidth ?? 0));
81
+ const fallback = pinned.has(column.field) ? DEFAULT_PINNED_COLUMN_WIDTH : DEFAULT_WEB_COLUMN_WIDTH;
82
+ widths.set(column.field, Math.max(column.width ?? fallback, column.minWidth ?? 0));
68
83
  }
69
84
  }
70
85
  return widths;
71
86
  }
87
+ function pinMetaFor(columnId, pinning) {
88
+ const startIndex = pinning.start.indexOf(columnId);
89
+ if (startIndex >= 0) {
90
+ return {
91
+ edge: 'start',
92
+ isEdgeDivider: startIndex === pinning.start.length - 1
93
+ };
94
+ }
95
+ const endIndex = pinning.end.indexOf(columnId);
96
+ if (endIndex >= 0) {
97
+ return {
98
+ edge: 'end',
99
+ isEdgeDivider: endIndex === 0
100
+ };
101
+ }
102
+ return {
103
+ edge: false,
104
+ isEdgeDivider: false
105
+ };
106
+ }
107
+ function mergePinnedStyle(base, pin, offsets, columnId, isHeader) {
108
+ if (!pin.edge || offsets == null) {
109
+ return base;
110
+ }
111
+ const offset = pin.edge === 'start' ? offsets.start.get(columnId) ?? 0 : offsets.end.get(columnId) ?? 0;
112
+ return {
113
+ ...base,
114
+ ...pinnedCellStyle(pin.edge, offset, isHeader)
115
+ };
116
+ }
117
+ function pinnedClassName(pin, isHeader) {
118
+ if (!pin.edge) {
119
+ return undefined;
120
+ }
121
+ return cn(dataGridPinnedSurfaceVariants({
122
+ header: isHeader
123
+ }), dataGridPinnedEdgeVariants({
124
+ edge: pin.isEdgeDivider ? pin.edge : 'none'
125
+ }));
126
+ }
127
+ function BooleanCell({
128
+ value
129
+ }) {
130
+ return /*#__PURE__*/_jsx(Icon, {
131
+ as: value ? Check : Close,
132
+ accessibilityLabel: value ? 'Yes' : 'No',
133
+ className: "size-5"
134
+ });
135
+ }
72
136
  function defaultCellContent(value) {
73
137
  if (value == null) {
74
138
  return '';
@@ -90,28 +154,44 @@ function DefaultLoadingRows({
90
154
  columns,
91
155
  checkboxSelection,
92
156
  rowCount,
93
- columnWidths
157
+ columnWidths,
158
+ orderedColumnIds,
159
+ pinning,
160
+ offsets
94
161
  }) {
162
+ const colByField = new Map(columns.map(column => [column.field, column]));
163
+ const ids = orderedColumnIds ?? (checkboxSelection ? [SELECT_COLUMN_ID, ...columns.map(column => column.field)] : columns.map(column => column.field));
95
164
  return /*#__PURE__*/_jsx(_Fragment, {
96
165
  children: Array.from({
97
166
  length: rowCount
98
- }, (_, rowIndex) => /*#__PURE__*/_jsxs(Table.Row, {
167
+ }, (_, rowIndex) => /*#__PURE__*/_jsx(Table.Row, {
99
168
  className: "pointer-events-none web:hover:bg-surface-primary",
100
169
  testID: rowIndex === 0 ? 'data-grid-default-loading-rows' : undefined,
101
- children: [checkboxSelection ? /*#__PURE__*/_jsx(Table.Cell, {
102
- align: "center",
103
- className: dataGridSelectCellVariants(),
104
- children: /*#__PURE__*/_jsx(Skeleton, {
105
- className: "size-5"
106
- })
107
- }) : null, columns.map(column => /*#__PURE__*/_jsx(Table.Cell, {
108
- align: normalizeGridAlignment(column.align),
109
- className: dataGridCellVariants(),
110
- style: cellStyle(column, columnWidths.get(column.field)),
111
- children: /*#__PURE__*/_jsx(Skeleton, {
112
- className: "h-4 w-3/5"
113
- })
114
- }, column.field))]
170
+ children: ids.map(columnId => {
171
+ const pin = pinMetaFor(columnId, pinning);
172
+ if (columnId === SELECT_COLUMN_ID) {
173
+ return /*#__PURE__*/_jsx(Table.Cell, {
174
+ align: "center",
175
+ className: cn(dataGridSelectCellVariants(), pinnedClassName(pin, false)),
176
+ style: mergePinnedStyle(undefined, pin, offsets, columnId, false),
177
+ children: /*#__PURE__*/_jsx(Skeleton, {
178
+ className: "size-5"
179
+ })
180
+ }, columnId);
181
+ }
182
+ const column = colByField.get(columnId);
183
+ if (!column) {
184
+ return null;
185
+ }
186
+ return /*#__PURE__*/_jsx(Table.Cell, {
187
+ align: resolveColumnAlign(column),
188
+ className: cn(dataGridCellVariants(), pinnedClassName(pin, false)),
189
+ style: mergePinnedStyle(cellStyle(column, columnWidths.get(column.field)), pin, offsets, column.field, false),
190
+ children: /*#__PURE__*/_jsx(Skeleton, {
191
+ className: "h-4 w-3/5"
192
+ })
193
+ }, column.field);
194
+ })
115
195
  }, rowIndex))
116
196
  });
117
197
  }
@@ -144,6 +224,7 @@ function DataGridInner(props) {
144
224
  rowCount,
145
225
  showToolbar = false,
146
226
  headerFilters = false,
227
+ pinnedColumns,
147
228
  pageSizeOptions = DEFAULT_PAGE_SIZE_OPTIONS,
148
229
  noRowsOverlay,
149
230
  loadingOverlay,
@@ -169,6 +250,11 @@ function DataGridInner(props) {
169
250
  defaultProp: props.defaultFilterModel ?? [],
170
251
  onChange: props.onFilterModelChange
171
252
  });
253
+ const [filterLogicOperator, setFilterLogicOperator] = useControllableState({
254
+ prop: props.filterLogicOperator,
255
+ defaultProp: props.defaultFilterLogicOperator ?? 'and',
256
+ onChange: props.onFilterLogicOperatorChange
257
+ });
172
258
  const [quickFilter, setQuickFilter] = useControllableState({
173
259
  prop: props.quickFilter,
174
260
  defaultProp: props.defaultQuickFilter ?? '',
@@ -182,12 +268,18 @@ function DataGridInner(props) {
182
268
  const resolvedSortModel = sortModel ?? [];
183
269
  const resolvedPagination = paginationModel ?? DEFAULT_PAGINATION_MODEL;
184
270
  const resolvedFilterModel = filterModel ?? [];
271
+ const resolvedFilterLogicOperator = filterLogicOperator ?? 'and';
185
272
  const resolvedQuickFilter = quickFilter ?? '';
186
273
  const resolvedSelection = rowSelectionModel ?? EMPTY_SELECTION;
274
+ const knownFields = useMemo(() => new Set(columns.map(column => column.field)), [columns]);
275
+ const columnPinning = useMemo(() => normalizePinnedColumns(pinnedColumns, knownFields, checkboxSelection), [pinnedColumns, knownFields, checkboxSelection]);
276
+ const pinningActive = isColumnPinningActive(columnPinning);
277
+ const pinnedFields = useMemo(() => pinnedFieldSet(columnPinning), [columnPinning]);
187
278
  const {
188
279
  table,
189
280
  setQuickFilter: setQuickFilterWithPageReset,
190
- setColumnFilter
281
+ setColumnFilter,
282
+ setFilterModel: setFilterModelWithPageReset
191
283
  } = useDataGridTable({
192
284
  rows,
193
285
  columns,
@@ -204,10 +296,12 @@ function DataGridInner(props) {
204
296
  onPaginationModelChange: model => setPaginationModel(model),
205
297
  filterModel: resolvedFilterModel,
206
298
  onFilterModelChange: model => setFilterModel(model),
299
+ filterLogicOperator: resolvedFilterLogicOperator,
207
300
  quickFilter: resolvedQuickFilter,
208
301
  onQuickFilterChange: value => setQuickFilter(value),
209
302
  rowSelectionModel: resolvedSelection,
210
- onRowSelectionModelChange: model => setRowSelectionModel(model)
303
+ onRowSelectionModelChange: model => setRowSelectionModel(model),
304
+ columnPinning
211
305
  });
212
306
  const colByField = useMemo(() => {
213
307
  const map = new Map();
@@ -216,8 +310,32 @@ function DataGridInner(props) {
216
310
  }
217
311
  return map;
218
312
  }, [columns]);
219
- const columnWidths = useMemo(() => webColumnWidths(columns, checkboxSelection), [checkboxSelection, columns]);
220
- const hasFlexColumns = useMemo(() => columns.some(column => (column.flex ?? 0) > 0), [columns]);
313
+ warnPinnedFlexColumns(columns, pinnedFields);
314
+ const columnWidths = useMemo(() => webColumnWidths(columns, checkboxSelection, pinnedFields), [checkboxSelection, columns, pinnedFields]);
315
+ const hasFlexColumns = useMemo(() => columns.some(column => effectiveFlex(column, pinnedFields) > 0), [columns, pinnedFields]);
316
+ const pinnedOffsets = useMemo(() => pinningActive ? buildPinnedOffsets(columnPinning, colByField) : null, [pinningActive, columnPinning, colByField]);
317
+ const orderedLeafColumnIds = useMemo(() => {
318
+ if (!pinningActive) {
319
+ return undefined;
320
+ }
321
+ return [...table.getStartVisibleLeafColumns().map(column => column.id), ...table.getCenterVisibleLeafColumns().map(column => column.id), ...table.getEndVisibleLeafColumns().map(column => column.id)];
322
+ }, [pinningActive, table]);
323
+ const isEmpty = !loading && rows.length === 0;
324
+ const mainScrollStyle = useMemo(() => {
325
+ if (!pinningActive || pinnedOffsets == null) {
326
+ return undefined;
327
+ }
328
+ const guides = Platform.OS === 'web' && !isEmpty ? pinnedEdgeGuidesImage(pinnedOffsets, PINNED_EDGE_COLOR, I18nManager.isRTL) : undefined;
329
+ // Logical scroll-padding keeps focused cells out from under pinned edges (web).
330
+ return {
331
+ scrollPaddingInlineStart: pinnedOffsets.startTotal,
332
+ scrollPaddingInlineEnd: pinnedOffsets.endTotal,
333
+ ...(guides ? {
334
+ backgroundImage: guides,
335
+ backgroundRepeat: 'no-repeat'
336
+ } : {})
337
+ };
338
+ }, [pinningActive, pinnedOffsets, isEmpty]);
221
339
  const visibleRows = table.getRowModel().rows;
222
340
  const pageCount = Math.max(table.getPageCount(), 1);
223
341
  const selectedCount = table.getFilteredSelectedRowModel().rows.length;
@@ -233,14 +351,20 @@ function DataGridInner(props) {
233
351
  indeterminate: true
234
352
  };
235
353
  const accessibleName = ariaLabel ?? label;
236
- const isEmpty = !loading && rows.length === 0;
237
354
  const totalCount = paginationMode === 'server' ? rowCount ?? rows.length : filterableCount;
238
- const filterValueFor = field => resolvedFilterModel.find(item => item.field === field)?.value ?? '';
355
+ const filterValueFor = field => {
356
+ const value = resolvedFilterModel.find(item => item.field === field)?.value;
357
+ return typeof value === 'string' ? value : '';
358
+ };
239
359
  const showToolbarBar = showToolbar || toolbarActions != null;
360
+ const filterPanelColumns = useMemo(() => columns.filter(column => column.filterable !== false), [columns]);
361
+ const [filterPanelOpen, setFilterPanelOpen] = useState(false);
362
+ const filterPanelButtonRef = useRef(null);
363
+ const showFilterPanelButton = showToolbar && filterPanelColumns.length > 0;
240
364
  return /*#__PURE__*/_jsxs(View, {
241
365
  className: cn(dataGridRootVariants({
242
366
  autoHeight
243
- }), className),
367
+ }), className, filterPanelOpen && 'overflow-visible'),
244
368
  style: style,
245
369
  ...mergeDataAttributes({}, dataAttributes({
246
370
  slot: 'data-grid'
@@ -258,15 +382,43 @@ function DataGridInner(props) {
258
382
  placeholder: "Search",
259
383
  accessibilityLabel: "Search"
260
384
  })]
385
+ }) : null, showFilterPanelButton ? /*#__PURE__*/_jsx(IconButton, {
386
+ ref: filterPanelButtonRef,
387
+ as: FilterList,
388
+ variant: "ghost",
389
+ color: "neutral",
390
+ size: "small",
391
+ accessibilityLabel: "Filters",
392
+ accessibilityState: {
393
+ expanded: filterPanelOpen
394
+ },
395
+ onPress: () => setFilterPanelOpen(open => !open)
261
396
  }) : null, toolbarActions ? /*#__PURE__*/_jsx(View, {
262
397
  className: dataGridToolbarActionsVariants(),
263
398
  children: toolbarActions
264
399
  }) : null]
400
+ }) : null, showFilterPanelButton && filterPanelOpen ? /*#__PURE__*/_jsx(DataGridFilterPanel, {
401
+ columns: filterPanelColumns,
402
+ filterModel: resolvedFilterModel,
403
+ onFilterModelChange: setFilterModelWithPageReset,
404
+ logicOperator: resolvedFilterLogicOperator,
405
+ onLogicOperatorChange: operator => {
406
+ setFilterLogicOperator(operator);
407
+ if (resolvedPagination.page !== 0) {
408
+ setPaginationModel({
409
+ ...resolvedPagination,
410
+ page: 0
411
+ });
412
+ }
413
+ },
414
+ onClose: () => setFilterPanelOpen(false),
415
+ triggerRef: filterPanelButtonRef
265
416
  }) : null, /*#__PURE__*/_jsxs(View, {
266
417
  className: dataGridMainVariants({
267
418
  autoHeight,
268
419
  overlay: isEmpty || loading && loadingOverlay != null
269
420
  }),
421
+ style: mainScrollStyle,
270
422
  children: [/*#__PURE__*/_jsxs(Table, {
271
423
  className: cn(dataGridTableVariants(), Platform.OS === 'web' && hasFlexColumns ? 'table-fixed' : undefined),
272
424
  containerStyle: Platform.OS === 'web' ? WEB_TABLE_CONTAINER_STYLE : undefined,
@@ -278,25 +430,30 @@ function DataGridInner(props) {
278
430
  } : {}),
279
431
  children: [label ? /*#__PURE__*/_jsx(Table.Caption, {
280
432
  children: label
281
- }) : null, Platform.OS === 'web' && hasFlexColumns ? /*#__PURE__*/_jsxs("colgroup", {
282
- children: [checkboxSelection ? /*#__PURE__*/_jsx("col", {
433
+ }) : null, Platform.OS === 'web' && hasFlexColumns ? /*#__PURE__*/_jsx("colgroup", {
434
+ children: (orderedLeafColumnIds ?? (checkboxSelection ? [SELECT_COLUMN_ID, ...columns.map(column => column.field)] : columns.map(column => column.field))).map(columnId => columnId === SELECT_COLUMN_ID ? /*#__PURE__*/_jsx("col", {
283
435
  style: {
284
436
  width: SELECT_COLUMN_WIDTH
285
437
  }
286
- }) : null, columns.map(column => /*#__PURE__*/_jsx("col", {
438
+ }, columnId) : /*#__PURE__*/_jsx("col", {
287
439
  style: {
288
- width: columnWidths.get(column.field),
289
- minWidth: column.minWidth
440
+ width: columnWidths.get(columnId),
441
+ minWidth: colByField.get(columnId)?.minWidth
290
442
  }
291
- }, column.field))]
443
+ }, columnId))
292
444
  }) : null, /*#__PURE__*/_jsxs(Table.Header, {
293
445
  className: dataGridHeaderVariants(),
294
- children: [table.getHeaderGroups().map(headerGroup => /*#__PURE__*/_jsx(Table.Row, {
446
+ children: [(pinningActive ? [{
447
+ id: 'pinned',
448
+ headers: [...table.getStartLeafHeaders(), ...table.getCenterLeafHeaders(), ...table.getEndLeafHeaders()]
449
+ }] : table.getHeaderGroups()).map(headerGroup => /*#__PURE__*/_jsx(Table.Row, {
295
450
  children: headerGroup.headers.map(header => {
451
+ const pin = pinMetaFor(header.column.id, columnPinning);
296
452
  if (header.id === SELECT_COLUMN_ID) {
297
453
  return /*#__PURE__*/_jsx(Table.Head, {
298
454
  align: "center",
299
- className: dataGridSelectHeadVariants(),
455
+ className: cn(dataGridSelectHeadVariants(), pinnedClassName(pin, true)),
456
+ style: mergePinnedStyle(undefined, pin, pinnedOffsets, header.id, true),
300
457
  children: /*#__PURE__*/_jsx(Checkbox, {
301
458
  value: "select-all",
302
459
  isChecked: headerSelectState.checked,
@@ -310,7 +467,7 @@ function DataGridInner(props) {
310
467
  const col = colByField.get(header.column.id);
311
468
  const sorted = header.column.getIsSorted();
312
469
  const canSort = !disableColumnSorting && header.column.getCanSort();
313
- const headerAlign = normalizeGridAlignment(col?.headerAlign ?? col?.align);
470
+ const headerAlign = resolveColumnHeaderAlign(col);
314
471
  const headerName = col?.headerName ?? header.column.id;
315
472
  const SortIcon = sorted === 'asc' ? KeyboardArrowUp : KeyboardArrowDown;
316
473
  const sortButton = canSort ? /*#__PURE__*/_jsx(IconButton, {
@@ -330,8 +487,8 @@ function DataGridInner(props) {
330
487
  }) : null;
331
488
  return /*#__PURE__*/_jsx(Table.Head, {
332
489
  align: headerAlign,
333
- className: dataGridHeadVariants(),
334
- style: cellStyle(col, columnWidths.get(header.column.id)),
490
+ className: cn(dataGridHeadVariants(), pinnedClassName(pin, true)),
491
+ style: mergePinnedStyle(cellStyle(col, columnWidths.get(header.column.id)), pin, pinnedOffsets, header.column.id, true),
335
492
  ...(Platform.OS === 'web' ? {
336
493
  title: col?.renderHeader ? undefined : headerName,
337
494
  ...(canSort ? {
@@ -352,26 +509,27 @@ function DataGridInner(props) {
352
509
  }, header.id);
353
510
  })
354
511
  }, headerGroup.id)), headerFilters ? /*#__PURE__*/_jsx(Table.Row, {
355
- children: table.getAllLeafColumns().map(column => {
512
+ children: (pinningActive ? [...table.getStartVisibleLeafColumns(), ...table.getCenterVisibleLeafColumns(), ...table.getEndVisibleLeafColumns()] : table.getAllLeafColumns()).map(column => {
513
+ const pin = pinMetaFor(column.id, columnPinning);
356
514
  if (column.id === SELECT_COLUMN_ID) {
357
515
  return /*#__PURE__*/_jsx(Table.Cell, {
358
516
  align: "center",
359
- className: dataGridSelectHeadVariants()
517
+ className: cn(dataGridSelectHeadVariants(), pinnedClassName(pin, true)),
518
+ style: mergePinnedStyle(undefined, pin, pinnedOffsets, column.id, true)
360
519
  }, column.id);
361
520
  }
362
521
  const col = colByField.get(column.id);
363
- const headerAlign = col?.headerAlign ?? col?.align;
364
522
  if (col?.filterable === false) {
365
523
  return /*#__PURE__*/_jsx(Table.Head, {
366
- align: normalizeGridAlignment(headerAlign),
367
- className: dataGridHeadVariants(),
368
- style: cellStyle(col, columnWidths.get(column.id))
524
+ align: resolveColumnHeaderAlign(col),
525
+ className: cn(dataGridHeadVariants(), pinnedClassName(pin, true)),
526
+ style: mergePinnedStyle(cellStyle(col, columnWidths.get(column.id)), pin, pinnedOffsets, column.id, true)
369
527
  }, column.id);
370
528
  }
371
529
  return /*#__PURE__*/_jsx(Table.Head, {
372
- align: normalizeGridAlignment(headerAlign),
373
- className: dataGridHeadVariants(),
374
- style: cellStyle(col, columnWidths.get(column.id)),
530
+ align: resolveColumnHeaderAlign(col),
531
+ className: cn(dataGridHeadVariants(), pinnedClassName(pin, true)),
532
+ style: mergePinnedStyle(cellStyle(col, columnWidths.get(column.id)), pin, pinnedOffsets, column.id, true),
375
533
  children: /*#__PURE__*/_jsx(Input, {
376
534
  size: "small",
377
535
  className: dataGridFilterInputVariants(),
@@ -391,15 +549,21 @@ function DataGridInner(props) {
391
549
  columns: columns,
392
550
  checkboxSelection: checkboxSelection,
393
551
  rowCount: Math.min(resolvedPagination.pageSize, MAX_SKELETON_ROW_COUNT),
394
- columnWidths: columnWidths
552
+ columnWidths: columnWidths,
553
+ orderedColumnIds: orderedLeafColumnIds,
554
+ pinning: columnPinning,
555
+ offsets: pinnedOffsets
395
556
  }) : isEmpty ? null : visibleRows.map(row => {
396
557
  const rowId = resolveRowId(row.original, getRowId);
558
+ const cells = pinningActive ? [...row.getStartVisibleCells(), ...row.getCenterVisibleCells(), ...row.getEndVisibleCells()] : row.getAllCells();
397
559
  return /*#__PURE__*/_jsx(Table.Row, {
398
- children: row.getAllCells().map(cell => {
560
+ children: cells.map(cell => {
561
+ const pin = pinMetaFor(cell.column.id, columnPinning);
399
562
  if (cell.column.id === SELECT_COLUMN_ID) {
400
563
  return /*#__PURE__*/_jsx(Table.Cell, {
401
564
  align: "center",
402
- className: dataGridSelectCellVariants(),
565
+ className: cn(dataGridSelectCellVariants(), pinnedClassName(pin, false)),
566
+ style: mergePinnedStyle(undefined, pin, pinnedOffsets, cell.column.id, false),
403
567
  children: /*#__PURE__*/_jsx(Checkbox, {
404
568
  value: String(rowId),
405
569
  isChecked: row.getIsSelected(),
@@ -417,17 +581,23 @@ function DataGridInner(props) {
417
581
  value,
418
582
  row: row.original,
419
583
  field: col.field,
420
- id: rowId
584
+ id: rowId,
585
+ col
421
586
  });
422
587
  } else if (col?.valueFormatter) {
423
588
  content = col.valueFormatter(value, row.original, col);
589
+ } else if (col?.type === 'boolean' && typeof value === 'boolean') {
590
+ content = /*#__PURE__*/_jsx(BooleanCell, {
591
+ value: value
592
+ });
424
593
  } else {
425
- content = defaultCellContent(value);
594
+ const typedText = getTypedCellText(col, value, row.original);
595
+ content = typedText !== undefined ? typedText : defaultCellContent(value);
426
596
  }
427
597
  return /*#__PURE__*/_jsx(Table.Cell, {
428
- align: normalizeGridAlignment(col?.align),
429
- className: dataGridCellVariants(),
430
- style: cellStyle(col, columnWidths.get(cell.column.id)),
598
+ align: resolveColumnAlign(col),
599
+ className: cn(dataGridCellVariants(), pinnedClassName(pin, false)),
600
+ style: mergePinnedStyle(cellStyle(col, columnWidths.get(cell.column.id)), pin, pinnedOffsets, cell.column.id, false),
431
601
  children: content
432
602
  }, cell.id);
433
603
  })