@rufous/ui 0.1.68 → 0.1.69

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.
@@ -44,22 +44,31 @@ function DataGrid({
44
44
  pageSizeOptions = [5, 10, 25, 50],
45
45
  title
46
46
  }) {
47
- const initialColumns = (0, import_react.useMemo)(() => initialColumnsProp.map((col) => ({
48
- ...col,
49
- key: col.key || col.field || "",
50
- header: col.header || col.headerName || ""
51
- })), [initialColumnsProp]);
52
- const [columns, setColumns] = (0, import_react.useState)(initialColumns);
47
+ const [columnOverrides, setColumnOverrides] = (0, import_react.useState)({});
48
+ const resolvedColumns = (0, import_react.useMemo)(() => {
49
+ return initialColumnsProp.map((col) => {
50
+ const field = String(col.field || col.key || "");
51
+ const override = columnOverrides[field] || {};
52
+ return {
53
+ ...col,
54
+ field,
55
+ headerName: col.headerName || col.header || "",
56
+ hidden: override.hidden !== void 0 ? override.hidden : col.hidden,
57
+ pinned: override.pinned !== void 0 ? override.pinned : col.pinned
58
+ };
59
+ });
60
+ }, [initialColumnsProp, columnOverrides]);
53
61
  const [columnWidths, setColumnWidths] = (0, import_react.useState)(() => {
54
62
  const widths = {};
55
- initialColumns.forEach((col) => {
63
+ initialColumnsProp.forEach((col) => {
64
+ const field = String(col.field || col.key || "");
56
65
  const w = col.width || 200;
57
- widths[String(col.key)] = typeof w === "number" ? w : parseInt(w);
66
+ widths[field] = typeof w === "number" ? w : parseInt(w);
58
67
  });
59
68
  return widths;
60
69
  });
61
70
  const [pageSize, setPageSize] = (0, import_react.useState)(initialPageSize);
62
- const [sortKey, setSortKey] = (0, import_react.useState)(null);
71
+ const [sortField, setSortField] = (0, import_react.useState)(null);
63
72
  const [sortDirection, setSortDirection] = (0, import_react.useState)(null);
64
73
  const [filterText, setFilterText] = (0, import_react.useState)("");
65
74
  const [currentPage, setCurrentPage] = (0, import_react.useState)(1);
@@ -72,40 +81,15 @@ function DataGrid({
72
81
  const menuRef = (0, import_react.useRef)(null);
73
82
  const [showManageColumns, setShowManageColumns] = (0, import_react.useState)(false);
74
83
  const [showAdvancedFilter, setShowAdvancedFilter] = (0, import_react.useState)(false);
84
+ const initialFilterCol = String(initialColumnsProp[0]?.field || initialColumnsProp[0]?.key || "");
75
85
  const [advancedFilters, setAdvancedFilters] = (0, import_react.useState)([
76
- { column: String(initialColumns[0]?.key || ""), operator: "contains", value: "", logic: "AND" }
86
+ { column: initialFilterCol, operator: "contains", value: "", logic: "AND" }
77
87
  ]);
78
- (0, import_react.useEffect)(() => {
79
- setColumns((prevColumns) => {
80
- return initialColumns.map((newCol) => {
81
- const prevCol = prevColumns.find((c) => (c.key || c.field) === (newCol.key || newCol.field));
82
- if (!prevCol) return newCol;
83
- return {
84
- ...newCol,
85
- hidden: prevCol.hidden !== void 0 ? prevCol.hidden : newCol.hidden,
86
- pinned: prevCol.pinned !== void 0 ? prevCol.pinned : newCol.pinned
87
- };
88
- });
89
- });
90
- }, [initialColumns]);
91
- (0, import_react.useEffect)(() => {
92
- setColumnWidths((prev) => {
93
- const next = { ...prev };
94
- initialColumns.forEach((col) => {
95
- const key = String(col.key);
96
- if (next[key] === void 0) {
97
- const w = col.width || 200;
98
- next[key] = typeof w === "number" ? w : parseInt(w);
99
- }
100
- });
101
- return next;
102
- });
103
- }, [initialColumns]);
104
88
  const [colSearch, setColSearch] = (0, import_react.useState)("");
105
89
  (0, import_react.useEffect)(() => {
106
90
  const handleMouseMove = (e) => {
107
91
  if (!resizingColumn) return;
108
- const col = columns.find((c) => String(c.key) === resizingColumn);
92
+ const col = resolvedColumns.find((c) => String(c.field) === resizingColumn);
109
93
  const diff = e.clientX - startX;
110
94
  const minW = col?.minWidth ? typeof col.minWidth === "number" ? col.minWidth : parseInt(col.minWidth) : 80;
111
95
  const maxW = col?.maxWidth ? typeof col.maxWidth === "number" ? col.maxWidth : parseInt(col.maxWidth) : Infinity;
@@ -121,7 +105,7 @@ function DataGrid({
121
105
  document.removeEventListener("mousemove", handleMouseMove);
122
106
  document.removeEventListener("mouseup", handleMouseUp);
123
107
  };
124
- }, [resizingColumn, startX, startWidth, columns]);
108
+ }, [resizingColumn, startX, startWidth, resolvedColumns]);
125
109
  (0, import_react.useEffect)(() => {
126
110
  const handleClickOutside = (e) => {
127
111
  if (menuRef.current && !menuRef.current.contains(e.target)) {
@@ -131,32 +115,55 @@ function DataGrid({
131
115
  document.addEventListener("mousedown", handleClickOutside);
132
116
  return () => document.removeEventListener("mousedown", handleClickOutside);
133
117
  }, []);
134
- const handleSort = (key, dir) => {
118
+ (0, import_react.useEffect)(() => {
119
+ setColumnWidths((prev) => {
120
+ const next = { ...prev };
121
+ initialColumnsProp.forEach((col) => {
122
+ const field = String(col.field || col.key || "");
123
+ if (next[field] === void 0) {
124
+ const w = col.width || 200;
125
+ next[field] = typeof w === "number" ? w : parseInt(w);
126
+ }
127
+ });
128
+ return next;
129
+ });
130
+ }, [initialColumnsProp]);
131
+ const handleSort = (fieldKey, dir) => {
135
132
  if (dir !== void 0) {
136
- setSortKey(key);
133
+ setSortField(fieldKey);
137
134
  setSortDirection(dir);
138
- } else if (sortKey === key) {
135
+ } else if (sortField === fieldKey) {
139
136
  if (sortDirection === "asc") setSortDirection("desc");
140
137
  else {
141
- setSortKey(null);
138
+ setSortField(null);
142
139
  setSortDirection(null);
143
140
  }
144
141
  } else {
145
- setSortKey(key);
142
+ setSortField(fieldKey);
146
143
  setSortDirection("asc");
147
144
  }
148
145
  setActiveMenu(null);
149
146
  };
150
- const togglePin = (key, side) => {
151
- setColumns((prev) => prev.map(
152
- (col) => String(col.key) === key ? { ...col, pinned: col.pinned === side ? void 0 : side } : col
153
- ));
147
+ const togglePin = (fieldKey, side) => {
148
+ setColumnOverrides((prev) => {
149
+ const current = prev[fieldKey] || {};
150
+ return {
151
+ ...prev,
152
+ [fieldKey]: { ...current, pinned: current.pinned === side ? void 0 : side }
153
+ };
154
+ });
154
155
  setActiveMenu(null);
155
156
  };
156
- const toggleHide = (key) => {
157
- setColumns((prev) => prev.map(
158
- (col) => String(col.key) === key ? { ...col, hidden: !col.hidden } : col
159
- ));
157
+ const toggleHide = (fieldKey) => {
158
+ setColumnOverrides((prev) => {
159
+ const current = prev[fieldKey] || {};
160
+ const col = resolvedColumns.find((c) => String(c.field) === fieldKey);
161
+ if (col?.hideable === false) return prev;
162
+ return {
163
+ ...prev,
164
+ [fieldKey]: { ...current, hidden: !current.hidden }
165
+ };
166
+ });
160
167
  setActiveMenu(null);
161
168
  };
162
169
  const filteredData = (0, import_react.useMemo)(() => {
@@ -198,30 +205,30 @@ function DataGrid({
198
205
  });
199
206
  }, [data, filterText, advancedFilters]);
200
207
  const sortedData = (0, import_react.useMemo)(() => {
201
- if (!sortKey || !sortDirection) return filteredData;
202
- const col = columns.find((c) => c.key === sortKey);
208
+ if (!sortField || !sortDirection) return filteredData;
209
+ const col = resolvedColumns.find((c) => c.field === sortField);
203
210
  return [...filteredData].sort((a, b) => {
204
- let aVal = a[sortKey];
205
- let bVal = b[sortKey];
211
+ let aVal = a[sortField];
212
+ let bVal = b[sortField];
206
213
  if (col?.valueGetter) {
207
- aVal = col.valueGetter({ value: aVal, row: a, field: String(sortKey) });
208
- bVal = col.valueGetter({ value: bVal, row: b, field: String(sortKey) });
214
+ aVal = col.valueGetter({ value: aVal, row: a, field: String(sortField) });
215
+ bVal = col.valueGetter({ value: bVal, row: b, field: String(sortField) });
209
216
  }
210
217
  if (aVal < bVal) return sortDirection === "asc" ? -1 : 1;
211
218
  if (aVal > bVal) return sortDirection === "asc" ? 1 : -1;
212
219
  return 0;
213
220
  });
214
- }, [filteredData, sortKey, sortDirection, columns]);
221
+ }, [filteredData, sortField, sortDirection, resolvedColumns]);
215
222
  const totalPages = Math.max(1, Math.ceil(sortedData.length / pageSize));
216
223
  const paginatedData = (0, import_react.useMemo)(() => {
217
224
  const start = (currentPage - 1) * pageSize;
218
225
  return sortedData.slice(start, start + pageSize);
219
226
  }, [sortedData, currentPage, pageSize]);
220
227
  const handleExport = () => {
221
- const visibleCols = columns.filter((c) => !c.hidden);
222
- const headers = visibleCols.map((c) => c.header).join(",");
228
+ const visibleCols = resolvedColumns.filter((c) => !c.hidden);
229
+ const headers = visibleCols.map((c) => c.headerName).join(",");
223
230
  const rows = sortedData.map(
224
- (item) => visibleCols.map((c) => `"${String(item[c.key]).replace(/"/g, '""')}"`).join(",")
231
+ (item) => visibleCols.map((c) => `"${String(item[c.field]).replace(/"/g, '""')}"`).join(",")
225
232
  );
226
233
  const csv = [headers, ...rows].join("\n");
227
234
  const blob = new Blob([csv], { type: "text/csv;charset=utf-8;" });
@@ -232,24 +239,24 @@ function DataGrid({
232
239
  link.click();
233
240
  document.body.removeChild(link);
234
241
  };
235
- const handleMenuOpen = (e, key) => {
242
+ const handleMenuOpen = (e, keyStr) => {
236
243
  e.stopPropagation();
237
244
  const rect = e.currentTarget.getBoundingClientRect();
238
245
  setMenuPosition({ top: rect.bottom + 4, left: rect.left });
239
- setActiveMenu(key);
246
+ setActiveMenu(keyStr);
240
247
  };
241
248
  const visibleColumns = (0, import_react.useMemo)(() => {
242
- const left = columns.filter((c) => !c.hidden && c.pinned === "left");
243
- const mid = columns.filter((c) => !c.hidden && !c.pinned);
244
- const right = columns.filter((c) => !c.hidden && c.pinned === "right");
249
+ const left = resolvedColumns.filter((c) => !c.hidden && c.pinned === "left");
250
+ const mid = resolvedColumns.filter((c) => !c.hidden && !c.pinned);
251
+ const right = resolvedColumns.filter((c) => !c.hidden && c.pinned === "right");
245
252
  return [...left, ...mid, ...right];
246
- }, [columns]);
253
+ }, [resolvedColumns]);
247
254
  const getLeftOffset = (col, idx) => {
248
255
  if (col.pinned !== "left") return void 0;
249
256
  let offset = 0;
250
257
  for (let i = 0; i < idx; i++) {
251
258
  if (visibleColumns[i].pinned === "left") {
252
- offset += columnWidths[String(visibleColumns[i].key)] || 200;
259
+ offset += columnWidths[String(visibleColumns[i].field)] || 200;
253
260
  }
254
261
  }
255
262
  return offset;
@@ -283,14 +290,14 @@ function DataGrid({
283
290
  },
284
291
  /* @__PURE__ */ import_react.default.createElement(import_lucide_react.Columns, { size: 16 })
285
292
  ), /* @__PURE__ */ import_react.default.createElement("button", { className: "dg-action-btn", onClick: handleExport }, /* @__PURE__ */ import_react.default.createElement(import_lucide_react.Download, { size: 14 }), " Export CSV"))), /* @__PURE__ */ import_react.default.createElement("div", { className: "dg-table-wrap" }, /* @__PURE__ */ import_react.default.createElement("table", { className: "dg-table" }, /* @__PURE__ */ import_react.default.createElement("thead", null, /* @__PURE__ */ import_react.default.createElement("tr", null, visibleColumns.map((col, idx) => {
286
- const colKey = String(col.key);
287
- const width = columnWidths[colKey] || 200;
293
+ const colField = String(col.field);
294
+ const width = columnWidths[colField] || 200;
288
295
  const leftOffset = getLeftOffset(col, idx);
289
- const isSorted = sortKey === col.key;
296
+ const isSorted = sortField === col.field;
290
297
  return /* @__PURE__ */ import_react.default.createElement(
291
298
  "th",
292
299
  {
293
- key: colKey,
300
+ key: colField,
294
301
  className: `dg-thead-cell${col.pinned === "left" ? " pinned-left" : col.pinned === "right" ? " pinned-right" : ""} ${col.headerClassName || ""}`,
295
302
  style: { width, minWidth: width, left: leftOffset, flex: col.flex }
296
303
  },
@@ -298,25 +305,25 @@ function DataGrid({
298
305
  "div",
299
306
  {
300
307
  className: `dg-th-label${col.sortable === false ? " no-sort" : ""}`,
301
- onClick: () => col.sortable !== false && handleSort(col.key)
308
+ onClick: () => col.sortable !== false && handleSort(col.field || "")
302
309
  },
303
- col.header,
310
+ col.headerName,
304
311
  isSorted && sortDirection === "asc" && /* @__PURE__ */ import_react.default.createElement(import_lucide_react.ChevronUp, { size: 12 }),
305
312
  isSorted && sortDirection === "desc" && /* @__PURE__ */ import_react.default.createElement(import_lucide_react.ChevronDown, { size: 12 })
306
313
  ), /* @__PURE__ */ import_react.default.createElement("div", { className: "dg-th-actions" }, !col.disableColumnMenu && /* @__PURE__ */ import_react.default.createElement(
307
314
  "button",
308
315
  {
309
316
  className: "dg-th-menu-btn",
310
- onClick: (e) => handleMenuOpen(e, colKey)
317
+ onClick: (e) => handleMenuOpen(e, colField)
311
318
  },
312
319
  /* @__PURE__ */ import_react.default.createElement(import_lucide_react.MoreVertical, { size: 13 })
313
320
  ), /* @__PURE__ */ import_react.default.createElement(
314
321
  "div",
315
322
  {
316
- className: `dg-resizer${resizingColumn === colKey ? " resizing" : ""}`,
323
+ className: `dg-resizer${resizingColumn === colField ? " resizing" : ""}`,
317
324
  onMouseDown: (e) => {
318
325
  e.preventDefault();
319
- setResizingColumn(colKey);
326
+ setResizingColumn(colField);
320
327
  setStartX(e.clientX);
321
328
  setStartWidth(width);
322
329
  }
@@ -324,19 +331,19 @@ function DataGrid({
324
331
  )))
325
332
  );
326
333
  }), actions && /* @__PURE__ */ import_react.default.createElement("th", { style: { width: 0, padding: 0 } }))), /* @__PURE__ */ import_react.default.createElement("tbody", null, paginatedData.length === 0 ? /* @__PURE__ */ import_react.default.createElement("tr", null, /* @__PURE__ */ import_react.default.createElement("td", { colSpan: visibleColumns.length + (actions ? 1 : 0), className: "dg-empty" }, "No records found")) : paginatedData.map((item) => /* @__PURE__ */ import_react.default.createElement("tr", { key: item.id, className: "dg-tbody-row" }, visibleColumns.map((col, idx) => {
327
- const colKey = String(col.key);
328
- const width = columnWidths[colKey] || 200;
334
+ const colField = String(col.field);
335
+ const width = columnWidths[colField] || 200;
329
336
  const leftOffset = getLeftOffset(col, idx);
330
337
  return /* @__PURE__ */ import_react.default.createElement(
331
338
  "td",
332
339
  {
333
- key: `${item.id}-${colKey}`,
340
+ key: `${item.id}-${colField}`,
334
341
  className: `dg-td${col.pinned === "left" ? " pinned-left" : ""} ${col.cellClassName || ""}`,
335
342
  style: { width, minWidth: width, maxWidth: width, left: leftOffset, flex: col.flex }
336
343
  },
337
344
  (() => {
338
- const field = String(col.key);
339
- const rawValue = item[col.key];
345
+ const field = String(col.field);
346
+ const rawValue = item[col.field || ""];
340
347
  let value = col.valueGetter ? col.valueGetter({ value: rawValue, row: item, field }) : rawValue;
341
348
  const formattedValue = col.valueFormatter ? col.valueFormatter({ value, row: item, field }) : value;
342
349
  if (col.renderCell) {
@@ -404,7 +411,27 @@ function DataGrid({
404
411
  value: colSearch,
405
412
  onChange: (e) => setColSearch(e.target.value)
406
413
  }
407
- )), columns.filter((c) => c.header.toLowerCase().includes(colSearch.toLowerCase()) && c.hideable !== false).map((col) => /* @__PURE__ */ import_react.default.createElement("div", { key: String(col.key), className: "dg-col-row" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "dg-col-label" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "dg-col-dot", style: { background: col.hidden ? "var(--border-color)" : "var(--primary-color)" } }), col.header), /* @__PURE__ */ import_react.default.createElement("button", { className: "dg-icon-btn", onClick: () => toggleHide(String(col.key)) }, col.hidden ? /* @__PURE__ */ import_react.default.createElement(import_lucide_react.EyeOff, { size: 14 }) : /* @__PURE__ */ import_react.default.createElement(import_lucide_react.EyeOff, { size: 14, style: { opacity: 0.4 } }))))), /* @__PURE__ */ import_react.default.createElement("div", { className: "dg-modal-footer" }, /* @__PURE__ */ import_react.default.createElement("button", { className: "dg-action-btn", onClick: () => setColumns((p) => p.map((c) => ({ ...c, hidden: false }))) }, "Show All"), /* @__PURE__ */ import_react.default.createElement("button", { className: "dg-action-btn", onClick: () => setColumns((p) => p.map((c) => c.hideable !== false ? { ...c, hidden: true } : c)) }, "Hide All")))), showAdvancedFilter && /* @__PURE__ */ import_react.default.createElement("div", { className: "dg-modal-overlay", onClick: () => setShowAdvancedFilter(false) }, /* @__PURE__ */ import_react.default.createElement("div", { className: "dg-modal dg-modal-wide", onClick: (e) => e.stopPropagation() }, /* @__PURE__ */ import_react.default.createElement("div", { className: "dg-modal-header" }, /* @__PURE__ */ import_react.default.createElement("h3", null, "Filters"), /* @__PURE__ */ import_react.default.createElement("button", { className: "dg-icon-btn", onClick: () => setShowAdvancedFilter(false) }, /* @__PURE__ */ import_react.default.createElement(import_lucide_react.X, { size: 18 }))), /* @__PURE__ */ import_react.default.createElement("div", { className: "dg-modal-body" }, advancedFilters.map((f, idx) => /* @__PURE__ */ import_react.default.createElement("div", { key: idx }, idx > 0 && /* @__PURE__ */ import_react.default.createElement("div", { className: "dg-filter-logic" }, /* @__PURE__ */ import_react.default.createElement(
414
+ )), resolvedColumns.filter((c) => c.header.toLowerCase().includes(colSearch.toLowerCase())).map((col) => {
415
+ const key = String(col.key);
416
+ const isUnhideable = col.hideable === false;
417
+ return /* @__PURE__ */ import_react.default.createElement("div", { key, className: `dg-col-row${isUnhideable ? " disabled" : ""}` }, /* @__PURE__ */ import_react.default.createElement("div", { className: "dg-col-label" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "dg-col-dot", style: { background: col.hidden ? "var(--border-color)" : "var(--primary-color)" } }), col.header), !isUnhideable && /* @__PURE__ */ import_react.default.createElement("button", { className: "dg-icon-btn", onClick: () => toggleHide(key) }, col.hidden ? /* @__PURE__ */ import_react.default.createElement(import_lucide_react.EyeOff, { size: 14 }) : /* @__PURE__ */ import_react.default.createElement(import_lucide_react.EyeOff, { size: 14, style: { opacity: 0.4 } })));
418
+ })), /* @__PURE__ */ import_react.default.createElement("div", { className: "dg-modal-footer" }, /* @__PURE__ */ import_react.default.createElement("button", { className: "dg-action-btn", onClick: () => setColumnOverrides((prev) => {
419
+ const next = { ...prev };
420
+ resolvedColumns.forEach((c) => {
421
+ const k = String(c.key);
422
+ next[k] = { ...next[k], hidden: false };
423
+ });
424
+ return next;
425
+ }) }, "Show All"), /* @__PURE__ */ import_react.default.createElement("button", { className: "dg-action-btn", onClick: () => {
426
+ const newOverrides = { ...columnOverrides };
427
+ resolvedColumns.forEach((c) => {
428
+ if (c.hideable !== false) {
429
+ const key = String(c.key);
430
+ newOverrides[key] = { ...newOverrides[key], hidden: true };
431
+ }
432
+ });
433
+ setColumnOverrides(newOverrides);
434
+ } }, "Hide All")))), showAdvancedFilter && /* @__PURE__ */ import_react.default.createElement("div", { className: "dg-modal-overlay", onClick: () => setShowAdvancedFilter(false) }, /* @__PURE__ */ import_react.default.createElement("div", { className: "dg-modal dg-modal-wide", onClick: (e) => e.stopPropagation() }, /* @__PURE__ */ import_react.default.createElement("div", { className: "dg-modal-header" }, /* @__PURE__ */ import_react.default.createElement("h3", null, "Filters"), /* @__PURE__ */ import_react.default.createElement("button", { className: "dg-icon-btn", onClick: () => setShowAdvancedFilter(false) }, /* @__PURE__ */ import_react.default.createElement(import_lucide_react.X, { size: 18 }))), /* @__PURE__ */ import_react.default.createElement("div", { className: "dg-modal-body" }, advancedFilters.map((f, idx) => /* @__PURE__ */ import_react.default.createElement("div", { key: idx }, idx > 0 && /* @__PURE__ */ import_react.default.createElement("div", { className: "dg-filter-logic" }, /* @__PURE__ */ import_react.default.createElement(
408
435
  "button",
409
436
  {
410
437
  className: `dg-logic-btn${f.logic === "AND" ? " active" : ""}`,
@@ -425,7 +452,7 @@ function DataGrid({
425
452
  value: f.column,
426
453
  onChange: (e) => setAdvancedFilters((p) => p.map((fi, i) => i === idx ? { ...fi, column: e.target.value } : fi))
427
454
  },
428
- columns.map((c) => /* @__PURE__ */ import_react.default.createElement("option", { key: String(c.key), value: String(c.key) }, c.header))
455
+ resolvedColumns.map((c) => /* @__PURE__ */ import_react.default.createElement("option", { key: String(c.key), value: String(c.key) }, c.header))
429
456
  ), /* @__PURE__ */ import_react.default.createElement(
430
457
  "select",
431
458
  {
@@ -452,7 +479,7 @@ function DataGrid({
452
479
  {
453
480
  className: "dg-action-btn",
454
481
  style: { alignSelf: "flex-start", marginTop: 4 },
455
- onClick: () => setAdvancedFilters((p) => [...p, { column: String(columns[0].key), operator: "contains", value: "", logic: "AND" }])
482
+ onClick: () => setAdvancedFilters((p) => [...p, { column: String(resolvedColumns[0].key), operator: "contains", value: "", logic: "AND" }])
456
483
  },
457
484
  /* @__PURE__ */ import_react.default.createElement(import_lucide_react.Plus, { size: 14 }),
458
485
  " Add Filter"
@@ -460,7 +487,7 @@ function DataGrid({
460
487
  "button",
461
488
  {
462
489
  className: "dg-action-btn",
463
- onClick: () => setAdvancedFilters([{ column: String(columns[0].key), operator: "contains", value: "", logic: "AND" }])
490
+ onClick: () => setAdvancedFilters([{ column: String(resolvedColumns[0].key), operator: "contains", value: "", logic: "AND" }])
464
491
  },
465
492
  /* @__PURE__ */ import_react.default.createElement(import_lucide_react.Trash2, { size: 14 }),
466
493
  " Reset"
@@ -1,7 +1,7 @@
1
1
  import "../chunk-7KRG7VNW.js";
2
2
  import {
3
3
  DataGrid
4
- } from "../chunk-B6EOV25J.js";
4
+ } from "../chunk-LG4EJGMI.js";
5
5
  import "../chunk-LI4N7JWK.js";
6
6
  export {
7
7
  DataGrid
@@ -58,11 +58,13 @@ import "../chunk-AH6RCYDL.js";
58
58
  import "../chunk-3IBCGGN3.js";
59
59
  import "../chunk-MNPAE2ZF.js";
60
60
  import "../chunk-Q5XKCUE3.js";
61
- import "../chunk-EB6MPFGC.js";
61
+ import "../chunk-GHCM2AWR.js";
62
62
  import "../chunk-UPCMMCPQ.js";
63
63
  import "../chunk-X357WQOT.js";
64
+ import "../chunk-BOE27BFQ.js";
65
+ import "../chunk-S7BNFVQO.js";
64
66
  import "../chunk-7KRG7VNW.js";
65
- import "../chunk-B6EOV25J.js";
67
+ import "../chunk-LG4EJGMI.js";
66
68
  import "../chunk-GJGRMMAQ.js";
67
69
  import "../chunk-66HHM7VI.js";
68
70
  import "../chunk-QPGJCRBS.js";
@@ -71,8 +73,6 @@ import "../chunk-BMMDUQDJ.js";
71
73
  import "../chunk-R3GARAVJ.js";
72
74
  import "../chunk-YRLN3TBF.js";
73
75
  import "../chunk-CTBYVXFP.js";
74
- import "../chunk-BOE27BFQ.js";
75
- import "../chunk-S7BNFVQO.js";
76
76
  import "../chunk-LI4N7JWK.js";
77
77
  export {
78
78
  BaseDialog_default as default
@@ -58,11 +58,13 @@ import "../chunk-AH6RCYDL.js";
58
58
  import "../chunk-3IBCGGN3.js";
59
59
  import "../chunk-MNPAE2ZF.js";
60
60
  import "../chunk-Q5XKCUE3.js";
61
- import "../chunk-EB6MPFGC.js";
61
+ import "../chunk-GHCM2AWR.js";
62
62
  import "../chunk-UPCMMCPQ.js";
63
63
  import "../chunk-X357WQOT.js";
64
+ import "../chunk-BOE27BFQ.js";
65
+ import "../chunk-S7BNFVQO.js";
64
66
  import "../chunk-7KRG7VNW.js";
65
- import "../chunk-B6EOV25J.js";
67
+ import "../chunk-LG4EJGMI.js";
66
68
  import "../chunk-GJGRMMAQ.js";
67
69
  import "../chunk-66HHM7VI.js";
68
70
  import "../chunk-QPGJCRBS.js";
@@ -71,8 +73,6 @@ import "../chunk-BMMDUQDJ.js";
71
73
  import "../chunk-R3GARAVJ.js";
72
74
  import "../chunk-YRLN3TBF.js";
73
75
  import "../chunk-CTBYVXFP.js";
74
- import "../chunk-BOE27BFQ.js";
75
- import "../chunk-S7BNFVQO.js";
76
76
  import "../chunk-LI4N7JWK.js";
77
77
  export {
78
78
  BaseDialog_default as BaseDialog
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  AddressLookup_default
3
- } from "../chunk-EB6MPFGC.js";
3
+ } from "../chunk-GHCM2AWR.js";
4
4
  import "../chunk-UPCMMCPQ.js";
5
- import "../chunk-CTBYVXFP.js";
6
5
  import "../chunk-BOE27BFQ.js";
7
6
  import "../chunk-S7BNFVQO.js";
7
+ import "../chunk-CTBYVXFP.js";
8
8
  import "../chunk-LI4N7JWK.js";
9
9
  export {
10
10
  AddressLookup_default as default