@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
@@ -0,0 +1,256 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.columnSortFnName = columnSortFnName;
7
+ exports.filterFn_displayText = filterFn_displayText;
8
+ exports.getColumnFilterText = getColumnFilterText;
9
+ exports.getTypedCellText = getTypedCellText;
10
+ exports.metaUsesDisplayFilter = metaUsesDisplayFilter;
11
+ exports.normalizeFilterQuery = normalizeFilterQuery;
12
+ exports.sortFn_boolean = sortFn_boolean;
13
+ exports.sortFn_datetime = sortFn_datetime;
14
+ exports.sortFn_number = sortFn_number;
15
+ exports.sortFn_selectLabel = sortFn_selectLabel;
16
+ exports.typeDefaultAlign = typeDefaultAlign;
17
+ exports.untypedCellIncludesQuery = untypedCellIncludesQuery;
18
+ exports.usesDisplayFilter = usesDisplayFilter;
19
+ const localeNumberFormat = new Intl.NumberFormat();
20
+ const localeDateFormat = new Intl.DateTimeFormat();
21
+ const localeDateTimeFormat = new Intl.DateTimeFormat(undefined, {
22
+ year: 'numeric',
23
+ month: 'numeric',
24
+ day: 'numeric',
25
+ hour: 'numeric',
26
+ minute: 'numeric',
27
+ second: 'numeric'
28
+ });
29
+ function isDataGridColumnMeta(meta) {
30
+ return typeof meta === 'object' && meta !== null && 'colDef' in meta && 'getFilterText' in meta && typeof meta.getFilterText === 'function';
31
+ }
32
+ const DISPLAY_FILTER_TYPES = new Set(['number', 'date', 'dateTime', 'boolean', 'singleSelect']);
33
+ function usesDisplayFilter(col) {
34
+ return col.type != null && DISPLAY_FILTER_TYPES.has(col.type);
35
+ }
36
+ function metaUsesDisplayFilter(meta) {
37
+ return isDataGridColumnMeta(meta) && usesDisplayFilter(meta.colDef);
38
+ }
39
+ function columnSortFnName(col) {
40
+ switch (col.type) {
41
+ case 'string':
42
+ return 'text';
43
+ case 'number':
44
+ return 'number';
45
+ case 'date':
46
+ case 'dateTime':
47
+ return 'datetime';
48
+ case 'boolean':
49
+ return 'boolean';
50
+ case 'singleSelect':
51
+ return 'selectLabel';
52
+ default:
53
+ return undefined;
54
+ }
55
+ }
56
+ function typeDefaultAlign(type) {
57
+ if (type === 'number') {
58
+ return 'end';
59
+ }
60
+ if (type === 'boolean') {
61
+ return 'center';
62
+ }
63
+ return undefined;
64
+ }
65
+ function asValidDate(value) {
66
+ return value instanceof Date && Number.isFinite(value.getTime()) ? value : null;
67
+ }
68
+ function formatNumberCell(value) {
69
+ if (typeof value !== 'number' || !Number.isFinite(value)) {
70
+ return '';
71
+ }
72
+ return localeNumberFormat.format(value);
73
+ }
74
+ function formatDateCell(value) {
75
+ const date = asValidDate(value);
76
+ return date ? localeDateFormat.format(date) : '';
77
+ }
78
+ function formatDateTimeCell(value) {
79
+ const date = asValidDate(value);
80
+ return date ? localeDateTimeFormat.format(date) : '';
81
+ }
82
+ function stringifyCellValue(value) {
83
+ if (typeof value === 'string') {
84
+ return value;
85
+ }
86
+ if (typeof value === 'number' || typeof value === 'boolean' || typeof value === 'bigint') {
87
+ return value.toString();
88
+ }
89
+ return '';
90
+ }
91
+ function optionValue(option) {
92
+ return typeof option === 'object' ? option.value : option;
93
+ }
94
+ function optionLabel(option) {
95
+ if (typeof option === 'object') {
96
+ return option.label;
97
+ }
98
+ return typeof option === 'number' ? option.toString() : option;
99
+ }
100
+ function resolveValueOptions(col, row) {
101
+ const options = col.valueOptions;
102
+ return typeof options === 'function' ? options({
103
+ row
104
+ }) : options;
105
+ }
106
+ function resolveSelectLabel(col, value, row) {
107
+ const match = resolveValueOptions(col, row).find(option => optionValue(option) === value);
108
+ if (match) {
109
+ return optionLabel(match);
110
+ }
111
+ return stringifyCellValue(value);
112
+ }
113
+ function getColumnFilterText(col, value, row) {
114
+ if (value == null) {
115
+ return '';
116
+ }
117
+ switch (col.type) {
118
+ case 'number':
119
+ return formatNumberCell(value);
120
+ case 'date':
121
+ return formatDateCell(value);
122
+ case 'dateTime':
123
+ return formatDateTimeCell(value);
124
+ case 'boolean':
125
+ return typeof value === 'boolean' ? value ? 'Yes' : 'No' : stringifyCellValue(value);
126
+ case 'singleSelect':
127
+ return resolveSelectLabel(col, value, row);
128
+ case 'string':
129
+ return stringifyCellValue(value);
130
+ default:
131
+ return stringifyCellValue(value);
132
+ }
133
+ }
134
+ function getTypedCellText(col, value, row) {
135
+ if (!col?.type || col.type === 'boolean') {
136
+ return undefined;
137
+ }
138
+ if (value == null) {
139
+ return '';
140
+ }
141
+ return getColumnFilterText(col, value, row);
142
+ }
143
+ function compareNullish(a, b) {
144
+ const aNull = a == null;
145
+ const bNull = b == null;
146
+ if (aNull && bNull) {
147
+ return 0;
148
+ }
149
+ if (aNull) {
150
+ return 1;
151
+ }
152
+ if (bNull) {
153
+ return -1;
154
+ }
155
+ return undefined;
156
+ }
157
+ function getColumnMeta(row, columnId) {
158
+ for (const cell of row.getAllCells()) {
159
+ if (cell.column.id === columnId) {
160
+ const meta = cell.column.columnDef.meta;
161
+ return isDataGridColumnMeta(meta) ? meta : undefined;
162
+ }
163
+ }
164
+ return undefined;
165
+ }
166
+ function filterTextForRow(row, columnId) {
167
+ const value = row.getValue(columnId);
168
+ const meta = getColumnMeta(row, columnId);
169
+ if (meta) {
170
+ return meta.getFilterText(value, row.original);
171
+ }
172
+ return stringifyCellValue(value);
173
+ }
174
+ function normalizeFilterQuery(filterValue) {
175
+ if (typeof filterValue !== 'string' && typeof filterValue !== 'number') {
176
+ return '';
177
+ }
178
+ return filterValue.toString().trim().toLowerCase();
179
+ }
180
+ function stringifyForIncludes(value) {
181
+ if (typeof value === 'string') {
182
+ return value.toLowerCase();
183
+ }
184
+ if (typeof value === 'number' || typeof value === 'boolean' || typeof value === 'bigint') {
185
+ return value.toString().toLowerCase();
186
+ }
187
+ if (value instanceof Date) {
188
+ return value.toString().toLowerCase();
189
+ }
190
+ if (Array.isArray(value)) {
191
+ return value.join(',').toLowerCase();
192
+ }
193
+ if (typeof value === 'object' && value !== null) {
194
+ return '[object object]';
195
+ }
196
+ if (typeof value === 'symbol' || typeof value === 'function') {
197
+ return value.toString().toLowerCase();
198
+ }
199
+ return '';
200
+ }
201
+ function untypedCellIncludesQuery(value, query) {
202
+ if (!query) {
203
+ return true;
204
+ }
205
+ if (value == null) {
206
+ return false;
207
+ }
208
+ return stringifyForIncludes(value).includes(query);
209
+ }
210
+ function filterFn_displayText(row, columnId, filterValue) {
211
+ const query = normalizeFilterQuery(filterValue);
212
+ if (!query) {
213
+ return true;
214
+ }
215
+ return filterTextForRow(row, columnId).toLowerCase().includes(query);
216
+ }
217
+ function toFiniteNumber(value) {
218
+ return typeof value === 'number' && Number.isFinite(value) ? value : null;
219
+ }
220
+ function toTimestamp(value) {
221
+ const date = asValidDate(value);
222
+ return date ? date.getTime() : null;
223
+ }
224
+ function compareFinite(a, b) {
225
+ if (a == null && b == null) {
226
+ return 0;
227
+ }
228
+ if (a == null) {
229
+ return 1;
230
+ }
231
+ if (b == null) {
232
+ return -1;
233
+ }
234
+ return a - b;
235
+ }
236
+ function sortFn_number(rowA, rowB, columnId) {
237
+ return compareFinite(toFiniteNumber(rowA.getValue(columnId)), toFiniteNumber(rowB.getValue(columnId)));
238
+ }
239
+ function sortFn_datetime(rowA, rowB, columnId) {
240
+ return compareFinite(toTimestamp(rowA.getValue(columnId)), toTimestamp(rowB.getValue(columnId)));
241
+ }
242
+ function sortFn_boolean(rowA, rowB, columnId) {
243
+ const a = rowA.getValue(columnId);
244
+ const b = rowB.getValue(columnId);
245
+ return compareFinite(typeof a === 'boolean' ? Number(a) : null, typeof b === 'boolean' ? Number(b) : null);
246
+ }
247
+ function sortFn_selectLabel(rowA, rowB, columnId) {
248
+ const a = rowA.getValue(columnId);
249
+ const b = rowB.getValue(columnId);
250
+ const nullish = compareNullish(a, b);
251
+ if (nullish !== undefined) {
252
+ return nullish;
253
+ }
254
+ return filterTextForRow(rowA, columnId).localeCompare(filterTextForRow(rowB, columnId));
255
+ }
256
+ //# sourceMappingURL=columnTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["localeNumberFormat","Intl","NumberFormat","localeDateFormat","DateTimeFormat","localeDateTimeFormat","undefined","year","month","day","hour","minute","second","isDataGridColumnMeta","meta","getFilterText","DISPLAY_FILTER_TYPES","Set","usesDisplayFilter","col","type","has","metaUsesDisplayFilter","colDef","columnSortFnName","typeDefaultAlign","asValidDate","value","Date","Number","isFinite","getTime","formatNumberCell","format","formatDateCell","date","formatDateTimeCell","stringifyCellValue","toString","optionValue","option","optionLabel","label","resolveValueOptions","row","options","valueOptions","resolveSelectLabel","match","find","getColumnFilterText","getTypedCellText","compareNullish","a","b","aNull","bNull","getColumnMeta","columnId","cell","getAllCells","column","id","columnDef","filterTextForRow","getValue","original","normalizeFilterQuery","filterValue","trim","toLowerCase","stringifyForIncludes","Array","isArray","join","untypedCellIncludesQuery","query","includes","filterFn_displayText","toFiniteNumber","toTimestamp","compareFinite","sortFn_number","rowA","rowB","sortFn_datetime","sortFn_boolean","sortFn_selectLabel","nullish","localeCompare"],"sourceRoot":"../../../src","sources":["adapter/columnTypes.ts"],"mappings":"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","ignoreList":[]}
@@ -6,7 +6,18 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.applyUpdater = applyUpdater;
7
7
  exports.gridColDefToColumnDef = gridColDefToColumnDef;
8
8
  exports.normalizeGridAlignment = normalizeGridAlignment;
9
+ exports.normalizePinnedColumns = normalizePinnedColumns;
10
+ exports.resolveColumnAlign = resolveColumnAlign;
11
+ exports.resolveColumnHeaderAlign = resolveColumnHeaderAlign;
12
+ var _types = require("../types");
13
+ var _columnTypes = require("./columnTypes");
14
+ var _filterOperators = require("./filterOperators");
9
15
  function gridColDefToColumnDef(col) {
16
+ const sortFn = (0, _columnTypes.columnSortFnName)(col);
17
+ const meta = {
18
+ colDef: col,
19
+ getFilterText: (value, row) => (0, _columnTypes.getColumnFilterText)(col, value, row)
20
+ };
10
21
  return {
11
22
  id: col.field,
12
23
  accessorFn: row => {
@@ -17,10 +28,23 @@ function gridColDefToColumnDef(col) {
17
28
  enableSorting: col.sortable !== false,
18
29
  enableColumnFilter: col.filterable !== false,
19
30
  enableGlobalFilter: col.filterable !== false,
20
- filterFn: 'includesString',
21
- meta: {
22
- colDef: col
23
- }
31
+ filterFn: (row, columnId, filterValue) => {
32
+ const matches = value => {
33
+ if ((0, _filterOperators.isOperatorFilterValue)(value)) {
34
+ return (0, _filterOperators.matchesOperatorFilter)(col, row.getValue(columnId), row.original, value);
35
+ }
36
+ if ((0, _columnTypes.usesDisplayFilter)(col)) {
37
+ return (0, _columnTypes.filterFn_displayText)(row, columnId, value);
38
+ }
39
+ return (0, _columnTypes.untypedCellIncludesQuery)(row.getValue(columnId), (0, _columnTypes.normalizeFilterQuery)(value));
40
+ };
41
+ return (0, _filterOperators.isFilterValueGroup)(filterValue) ? filterValue.items.every(matches) : matches(filterValue);
42
+ },
43
+ ...(sortFn ? {
44
+ sortFn,
45
+ sortUndefined: 'last'
46
+ } : {}),
47
+ meta
24
48
  };
25
49
  }
26
50
  function applyUpdater(updater, previous) {
@@ -35,4 +59,108 @@ function normalizeGridAlignment(align) {
35
59
  }
36
60
  return align ?? 'start';
37
61
  }
62
+ function resolvePinnedFieldId(field) {
63
+ return field === _types.MUI_CHECKBOX_FIELD ? _types.SELECT_COLUMN_ID : field;
64
+ }
65
+ const warnedUnknownPinnedFields = new Set();
66
+ const warnedConflictPinnedFields = new Set();
67
+ function warnUnknownPinnedField(raw) {
68
+ if (!__DEV__ || warnedUnknownPinnedFields.has(raw)) {
69
+ return;
70
+ }
71
+ warnedUnknownPinnedFields.add(raw);
72
+ console.warn(`[DataGrid] Unknown pinned column field "${raw}" was ignored.`);
73
+ }
74
+ function warnConflictPinnedField(field) {
75
+ if (!__DEV__ || warnedConflictPinnedFields.has(field)) {
76
+ return;
77
+ }
78
+ warnedConflictPinnedFields.add(field);
79
+ console.warn(`[DataGrid] Column "${field}" is listed in both start and end pinned columns; pinning to start.`);
80
+ }
81
+
82
+ /**
83
+ * Maps `pinnedColumns` (including deprecated `left` / `right` and MUI `__check__`)
84
+ * to TanStack `ColumnPinningState`. Logical keys win over aliases; start wins over end.
85
+ */
86
+ function normalizePinnedColumns(pinnedColumns, knownFields, checkboxSelection) {
87
+ if (pinnedColumns == null) {
88
+ return {
89
+ start: [],
90
+ end: []
91
+ };
92
+ }
93
+ const appendUnique = (target, seen, fields) => {
94
+ if (fields == null) {
95
+ return;
96
+ }
97
+ for (const raw of fields) {
98
+ const field = resolvePinnedFieldId(raw);
99
+ if (seen.has(field)) {
100
+ continue;
101
+ }
102
+ const isSelect = field === _types.SELECT_COLUMN_ID;
103
+ if (isSelect ? !checkboxSelection : !knownFields.has(field)) {
104
+ warnUnknownPinnedField(raw);
105
+ continue;
106
+ }
107
+ seen.add(field);
108
+ target.push(field);
109
+ }
110
+ };
111
+ const startSeen = new Set();
112
+ const start = [];
113
+ appendUnique(start, startSeen, pinnedColumns.start);
114
+ // Intentionally accept deprecated MUI X `left` / `right` aliases.
115
+ // eslint-disable-next-line @typescript-eslint/no-deprecated -- alias merge
116
+ appendUnique(start, startSeen, pinnedColumns.left);
117
+ const endSeen = new Set();
118
+ const end = [];
119
+ const appendEnd = fields => {
120
+ if (fields == null) {
121
+ return;
122
+ }
123
+ for (const raw of fields) {
124
+ const field = resolvePinnedFieldId(raw);
125
+ if (startSeen.has(field)) {
126
+ warnConflictPinnedField(field);
127
+ continue;
128
+ }
129
+ if (endSeen.has(field)) {
130
+ continue;
131
+ }
132
+ const isSelect = field === _types.SELECT_COLUMN_ID;
133
+ if (isSelect ? !checkboxSelection : !knownFields.has(field)) {
134
+ warnUnknownPinnedField(raw);
135
+ continue;
136
+ }
137
+ endSeen.add(field);
138
+ end.push(field);
139
+ }
140
+ };
141
+ appendEnd(pinnedColumns.end);
142
+ // eslint-disable-next-line @typescript-eslint/no-deprecated -- alias merge
143
+ appendEnd(pinnedColumns.right);
144
+ if (checkboxSelection && start.length > 0) {
145
+ const withoutSelect = start.filter(field => field !== _types.SELECT_COLUMN_ID);
146
+ start.length = 0;
147
+ start.push(_types.SELECT_COLUMN_ID, ...withoutSelect);
148
+ }
149
+ return {
150
+ start,
151
+ end
152
+ };
153
+ }
154
+ function resolveColumnAlign(col) {
155
+ if (!col) {
156
+ return 'start';
157
+ }
158
+ return normalizeGridAlignment(col.align ?? (0, _columnTypes.typeDefaultAlign)(col.type));
159
+ }
160
+ function resolveColumnHeaderAlign(col) {
161
+ if (!col) {
162
+ return 'start';
163
+ }
164
+ return normalizeGridAlignment(col.headerAlign ?? col.align ?? (0, _columnTypes.typeDefaultAlign)(col.type));
165
+ }
38
166
  //# sourceMappingURL=columns.js.map
@@ -1 +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":[]}
1
+ {"version":3,"names":["_types","require","_columnTypes","_filterOperators","gridColDefToColumnDef","col","sortFn","columnSortFnName","meta","colDef","getFilterText","value","row","getColumnFilterText","id","field","accessorFn","raw","valueGetter","header","headerName","enableSorting","sortable","enableColumnFilter","filterable","enableGlobalFilter","filterFn","columnId","filterValue","matches","isOperatorFilterValue","matchesOperatorFilter","getValue","original","usesDisplayFilter","filterFn_displayText","untypedCellIncludesQuery","normalizeFilterQuery","isFilterValueGroup","items","every","sortUndefined","applyUpdater","updater","previous","normalizeGridAlignment","align","resolvePinnedFieldId","MUI_CHECKBOX_FIELD","SELECT_COLUMN_ID","warnedUnknownPinnedFields","Set","warnedConflictPinnedFields","warnUnknownPinnedField","__DEV__","has","add","console","warn","warnConflictPinnedField","normalizePinnedColumns","pinnedColumns","knownFields","checkboxSelection","start","end","appendUnique","target","seen","fields","isSelect","push","startSeen","left","endSeen","appendEnd","right","length","withoutSelect","filter","resolveColumnAlign","typeDefaultAlign","type","resolveColumnHeaderAlign","headerAlign"],"sourceRoot":"../../../src","sources":["adapter/columns.ts"],"mappings":"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","ignoreList":[]}