@rufous/ui 0.1.67 → 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.
@@ -36,24 +36,38 @@ module.exports = __toCommonJS(DataGrid_exports);
36
36
  var import_react = __toESM(require("react"), 1);
37
37
  var import_lucide_react = require("lucide-react");
38
38
  function DataGrid({
39
- columns: initialColumns,
39
+ columns: initialColumnsProp,
40
40
  data,
41
41
  actions,
42
42
  pageSize: initialPageSize = 10,
43
43
  pageSizeOptions = [5, 10, 25, 50],
44
44
  title
45
45
  }) {
46
- const [columns, setColumns] = (0, import_react.useState)(initialColumns);
46
+ const [columnOverrides, setColumnOverrides] = (0, import_react.useState)({});
47
+ const resolvedColumns = (0, import_react.useMemo)(() => {
48
+ return initialColumnsProp.map((col) => {
49
+ const field = String(col.field || col.key || "");
50
+ const override = columnOverrides[field] || {};
51
+ return {
52
+ ...col,
53
+ field,
54
+ headerName: col.headerName || col.header || "",
55
+ hidden: override.hidden !== void 0 ? override.hidden : col.hidden,
56
+ pinned: override.pinned !== void 0 ? override.pinned : col.pinned
57
+ };
58
+ });
59
+ }, [initialColumnsProp, columnOverrides]);
47
60
  const [columnWidths, setColumnWidths] = (0, import_react.useState)(() => {
48
61
  const widths = {};
49
- initialColumns.forEach((col) => {
62
+ initialColumnsProp.forEach((col) => {
63
+ const field = String(col.field || col.key || "");
50
64
  const w = col.width || 200;
51
- widths[String(col.key)] = typeof w === "number" ? w : parseInt(w);
65
+ widths[field] = typeof w === "number" ? w : parseInt(w);
52
66
  });
53
67
  return widths;
54
68
  });
55
69
  const [pageSize, setPageSize] = (0, import_react.useState)(initialPageSize);
56
- const [sortKey, setSortKey] = (0, import_react.useState)(null);
70
+ const [sortField, setSortField] = (0, import_react.useState)(null);
57
71
  const [sortDirection, setSortDirection] = (0, import_react.useState)(null);
58
72
  const [filterText, setFilterText] = (0, import_react.useState)("");
59
73
  const [currentPage, setCurrentPage] = (0, import_react.useState)(1);
@@ -66,14 +80,15 @@ function DataGrid({
66
80
  const menuRef = (0, import_react.useRef)(null);
67
81
  const [showManageColumns, setShowManageColumns] = (0, import_react.useState)(false);
68
82
  const [showAdvancedFilter, setShowAdvancedFilter] = (0, import_react.useState)(false);
83
+ const initialFilterCol = String(initialColumnsProp[0]?.field || initialColumnsProp[0]?.key || "");
69
84
  const [advancedFilters, setAdvancedFilters] = (0, import_react.useState)([
70
- { column: String(initialColumns[0].key), operator: "contains", value: "", logic: "AND" }
85
+ { column: initialFilterCol, operator: "contains", value: "", logic: "AND" }
71
86
  ]);
72
87
  const [colSearch, setColSearch] = (0, import_react.useState)("");
73
88
  (0, import_react.useEffect)(() => {
74
89
  const handleMouseMove = (e) => {
75
90
  if (!resizingColumn) return;
76
- const col = columns.find((c) => String(c.key) === resizingColumn);
91
+ const col = resolvedColumns.find((c) => String(c.field) === resizingColumn);
77
92
  const diff = e.clientX - startX;
78
93
  const minW = col?.minWidth ? typeof col.minWidth === "number" ? col.minWidth : parseInt(col.minWidth) : 80;
79
94
  const maxW = col?.maxWidth ? typeof col.maxWidth === "number" ? col.maxWidth : parseInt(col.maxWidth) : Infinity;
@@ -89,7 +104,7 @@ function DataGrid({
89
104
  document.removeEventListener("mousemove", handleMouseMove);
90
105
  document.removeEventListener("mouseup", handleMouseUp);
91
106
  };
92
- }, [resizingColumn, startX, startWidth, columns]);
107
+ }, [resizingColumn, startX, startWidth, resolvedColumns]);
93
108
  (0, import_react.useEffect)(() => {
94
109
  const handleClickOutside = (e) => {
95
110
  if (menuRef.current && !menuRef.current.contains(e.target)) {
@@ -99,32 +114,55 @@ function DataGrid({
99
114
  document.addEventListener("mousedown", handleClickOutside);
100
115
  return () => document.removeEventListener("mousedown", handleClickOutside);
101
116
  }, []);
102
- const handleSort = (key, dir) => {
117
+ (0, import_react.useEffect)(() => {
118
+ setColumnWidths((prev) => {
119
+ const next = { ...prev };
120
+ initialColumnsProp.forEach((col) => {
121
+ const field = String(col.field || col.key || "");
122
+ if (next[field] === void 0) {
123
+ const w = col.width || 200;
124
+ next[field] = typeof w === "number" ? w : parseInt(w);
125
+ }
126
+ });
127
+ return next;
128
+ });
129
+ }, [initialColumnsProp]);
130
+ const handleSort = (fieldKey, dir) => {
103
131
  if (dir !== void 0) {
104
- setSortKey(key);
132
+ setSortField(fieldKey);
105
133
  setSortDirection(dir);
106
- } else if (sortKey === key) {
134
+ } else if (sortField === fieldKey) {
107
135
  if (sortDirection === "asc") setSortDirection("desc");
108
136
  else {
109
- setSortKey(null);
137
+ setSortField(null);
110
138
  setSortDirection(null);
111
139
  }
112
140
  } else {
113
- setSortKey(key);
141
+ setSortField(fieldKey);
114
142
  setSortDirection("asc");
115
143
  }
116
144
  setActiveMenu(null);
117
145
  };
118
- const togglePin = (key, side) => {
119
- setColumns((prev) => prev.map(
120
- (col) => String(col.key) === key ? { ...col, pinned: col.pinned === side ? void 0 : side } : col
121
- ));
146
+ const togglePin = (fieldKey, side) => {
147
+ setColumnOverrides((prev) => {
148
+ const current = prev[fieldKey] || {};
149
+ return {
150
+ ...prev,
151
+ [fieldKey]: { ...current, pinned: current.pinned === side ? void 0 : side }
152
+ };
153
+ });
122
154
  setActiveMenu(null);
123
155
  };
124
- const toggleHide = (key) => {
125
- setColumns((prev) => prev.map(
126
- (col) => String(col.key) === key ? { ...col, hidden: !col.hidden } : col
127
- ));
156
+ const toggleHide = (fieldKey) => {
157
+ setColumnOverrides((prev) => {
158
+ const current = prev[fieldKey] || {};
159
+ const col = resolvedColumns.find((c) => String(c.field) === fieldKey);
160
+ if (col?.hideable === false) return prev;
161
+ return {
162
+ ...prev,
163
+ [fieldKey]: { ...current, hidden: !current.hidden }
164
+ };
165
+ });
128
166
  setActiveMenu(null);
129
167
  };
130
168
  const filteredData = (0, import_react.useMemo)(() => {
@@ -166,30 +204,30 @@ function DataGrid({
166
204
  });
167
205
  }, [data, filterText, advancedFilters]);
168
206
  const sortedData = (0, import_react.useMemo)(() => {
169
- if (!sortKey || !sortDirection) return filteredData;
170
- const col = columns.find((c) => c.key === sortKey);
207
+ if (!sortField || !sortDirection) return filteredData;
208
+ const col = resolvedColumns.find((c) => c.field === sortField);
171
209
  return [...filteredData].sort((a, b) => {
172
- let aVal = a[sortKey];
173
- let bVal = b[sortKey];
210
+ let aVal = a[sortField];
211
+ let bVal = b[sortField];
174
212
  if (col?.valueGetter) {
175
- aVal = col.valueGetter({ value: aVal, row: a, field: String(sortKey) });
176
- bVal = col.valueGetter({ value: bVal, row: b, field: String(sortKey) });
213
+ aVal = col.valueGetter({ value: aVal, row: a, field: String(sortField) });
214
+ bVal = col.valueGetter({ value: bVal, row: b, field: String(sortField) });
177
215
  }
178
216
  if (aVal < bVal) return sortDirection === "asc" ? -1 : 1;
179
217
  if (aVal > bVal) return sortDirection === "asc" ? 1 : -1;
180
218
  return 0;
181
219
  });
182
- }, [filteredData, sortKey, sortDirection, columns]);
220
+ }, [filteredData, sortField, sortDirection, resolvedColumns]);
183
221
  const totalPages = Math.max(1, Math.ceil(sortedData.length / pageSize));
184
222
  const paginatedData = (0, import_react.useMemo)(() => {
185
223
  const start = (currentPage - 1) * pageSize;
186
224
  return sortedData.slice(start, start + pageSize);
187
225
  }, [sortedData, currentPage, pageSize]);
188
226
  const handleExport = () => {
189
- const visibleCols = columns.filter((c) => !c.hidden);
190
- const headers = visibleCols.map((c) => c.header).join(",");
227
+ const visibleCols = resolvedColumns.filter((c) => !c.hidden);
228
+ const headers = visibleCols.map((c) => c.headerName).join(",");
191
229
  const rows = sortedData.map(
192
- (item) => visibleCols.map((c) => `"${String(item[c.key]).replace(/"/g, '""')}"`).join(",")
230
+ (item) => visibleCols.map((c) => `"${String(item[c.field]).replace(/"/g, '""')}"`).join(",")
193
231
  );
194
232
  const csv = [headers, ...rows].join("\n");
195
233
  const blob = new Blob([csv], { type: "text/csv;charset=utf-8;" });
@@ -200,24 +238,24 @@ function DataGrid({
200
238
  link.click();
201
239
  document.body.removeChild(link);
202
240
  };
203
- const handleMenuOpen = (e, key) => {
241
+ const handleMenuOpen = (e, keyStr) => {
204
242
  e.stopPropagation();
205
243
  const rect = e.currentTarget.getBoundingClientRect();
206
244
  setMenuPosition({ top: rect.bottom + 4, left: rect.left });
207
- setActiveMenu(key);
245
+ setActiveMenu(keyStr);
208
246
  };
209
247
  const visibleColumns = (0, import_react.useMemo)(() => {
210
- const left = columns.filter((c) => !c.hidden && c.pinned === "left");
211
- const mid = columns.filter((c) => !c.hidden && !c.pinned);
212
- const right = columns.filter((c) => !c.hidden && c.pinned === "right");
248
+ const left = resolvedColumns.filter((c) => !c.hidden && c.pinned === "left");
249
+ const mid = resolvedColumns.filter((c) => !c.hidden && !c.pinned);
250
+ const right = resolvedColumns.filter((c) => !c.hidden && c.pinned === "right");
213
251
  return [...left, ...mid, ...right];
214
- }, [columns]);
252
+ }, [resolvedColumns]);
215
253
  const getLeftOffset = (col, idx) => {
216
254
  if (col.pinned !== "left") return void 0;
217
255
  let offset = 0;
218
256
  for (let i = 0; i < idx; i++) {
219
257
  if (visibleColumns[i].pinned === "left") {
220
- offset += columnWidths[String(visibleColumns[i].key)] || 200;
258
+ offset += columnWidths[String(visibleColumns[i].field)] || 200;
221
259
  }
222
260
  }
223
261
  return offset;
@@ -251,14 +289,14 @@ function DataGrid({
251
289
  },
252
290
  /* @__PURE__ */ import_react.default.createElement(import_lucide_react.Columns, { size: 16 })
253
291
  ), /* @__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) => {
254
- const colKey = String(col.key);
255
- const width = columnWidths[colKey] || 200;
292
+ const colField = String(col.field);
293
+ const width = columnWidths[colField] || 200;
256
294
  const leftOffset = getLeftOffset(col, idx);
257
- const isSorted = sortKey === col.key;
295
+ const isSorted = sortField === col.field;
258
296
  return /* @__PURE__ */ import_react.default.createElement(
259
297
  "th",
260
298
  {
261
- key: colKey,
299
+ key: colField,
262
300
  className: `dg-thead-cell${col.pinned === "left" ? " pinned-left" : col.pinned === "right" ? " pinned-right" : ""} ${col.headerClassName || ""}`,
263
301
  style: { width, minWidth: width, left: leftOffset, flex: col.flex }
264
302
  },
@@ -266,25 +304,25 @@ function DataGrid({
266
304
  "div",
267
305
  {
268
306
  className: `dg-th-label${col.sortable === false ? " no-sort" : ""}`,
269
- onClick: () => col.sortable !== false && handleSort(col.key)
307
+ onClick: () => col.sortable !== false && handleSort(col.field || "")
270
308
  },
271
- col.header,
309
+ col.headerName,
272
310
  isSorted && sortDirection === "asc" && /* @__PURE__ */ import_react.default.createElement(import_lucide_react.ChevronUp, { size: 12 }),
273
311
  isSorted && sortDirection === "desc" && /* @__PURE__ */ import_react.default.createElement(import_lucide_react.ChevronDown, { size: 12 })
274
312
  ), /* @__PURE__ */ import_react.default.createElement("div", { className: "dg-th-actions" }, !col.disableColumnMenu && /* @__PURE__ */ import_react.default.createElement(
275
313
  "button",
276
314
  {
277
315
  className: "dg-th-menu-btn",
278
- onClick: (e) => handleMenuOpen(e, colKey)
316
+ onClick: (e) => handleMenuOpen(e, colField)
279
317
  },
280
318
  /* @__PURE__ */ import_react.default.createElement(import_lucide_react.MoreVertical, { size: 13 })
281
319
  ), /* @__PURE__ */ import_react.default.createElement(
282
320
  "div",
283
321
  {
284
- className: `dg-resizer${resizingColumn === colKey ? " resizing" : ""}`,
322
+ className: `dg-resizer${resizingColumn === colField ? " resizing" : ""}`,
285
323
  onMouseDown: (e) => {
286
324
  e.preventDefault();
287
- setResizingColumn(colKey);
325
+ setResizingColumn(colField);
288
326
  setStartX(e.clientX);
289
327
  setStartWidth(width);
290
328
  }
@@ -292,19 +330,19 @@ function DataGrid({
292
330
  )))
293
331
  );
294
332
  }), 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) => {
295
- const colKey = String(col.key);
296
- const width = columnWidths[colKey] || 200;
333
+ const colField = String(col.field);
334
+ const width = columnWidths[colField] || 200;
297
335
  const leftOffset = getLeftOffset(col, idx);
298
336
  return /* @__PURE__ */ import_react.default.createElement(
299
337
  "td",
300
338
  {
301
- key: `${item.id}-${colKey}`,
339
+ key: `${item.id}-${colField}`,
302
340
  className: `dg-td${col.pinned === "left" ? " pinned-left" : ""} ${col.cellClassName || ""}`,
303
341
  style: { width, minWidth: width, maxWidth: width, left: leftOffset, flex: col.flex }
304
342
  },
305
343
  (() => {
306
- const field = String(col.key);
307
- const rawValue = item[col.key];
344
+ const field = String(col.field);
345
+ const rawValue = item[col.field || ""];
308
346
  let value = col.valueGetter ? col.valueGetter({ value: rawValue, row: item, field }) : rawValue;
309
347
  const formattedValue = col.valueFormatter ? col.valueFormatter({ value, row: item, field }) : value;
310
348
  if (col.renderCell) {
@@ -372,7 +410,27 @@ function DataGrid({
372
410
  value: colSearch,
373
411
  onChange: (e) => setColSearch(e.target.value)
374
412
  }
375
- )), 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(
413
+ )), resolvedColumns.filter((c) => c.header.toLowerCase().includes(colSearch.toLowerCase())).map((col) => {
414
+ const key = String(col.key);
415
+ const isUnhideable = col.hideable === false;
416
+ 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 } })));
417
+ })), /* @__PURE__ */ import_react.default.createElement("div", { className: "dg-modal-footer" }, /* @__PURE__ */ import_react.default.createElement("button", { className: "dg-action-btn", onClick: () => setColumnOverrides((prev) => {
418
+ const next = { ...prev };
419
+ resolvedColumns.forEach((c) => {
420
+ const k = String(c.key);
421
+ next[k] = { ...next[k], hidden: false };
422
+ });
423
+ return next;
424
+ }) }, "Show All"), /* @__PURE__ */ import_react.default.createElement("button", { className: "dg-action-btn", onClick: () => {
425
+ const newOverrides = { ...columnOverrides };
426
+ resolvedColumns.forEach((c) => {
427
+ if (c.hideable !== false) {
428
+ const key = String(c.key);
429
+ newOverrides[key] = { ...newOverrides[key], hidden: true };
430
+ }
431
+ });
432
+ setColumnOverrides(newOverrides);
433
+ } }, "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(
376
434
  "button",
377
435
  {
378
436
  className: `dg-logic-btn${f.logic === "AND" ? " active" : ""}`,
@@ -393,7 +451,7 @@ function DataGrid({
393
451
  value: f.column,
394
452
  onChange: (e) => setAdvancedFilters((p) => p.map((fi, i) => i === idx ? { ...fi, column: e.target.value } : fi))
395
453
  },
396
- columns.map((c) => /* @__PURE__ */ import_react.default.createElement("option", { key: String(c.key), value: String(c.key) }, c.header))
454
+ resolvedColumns.map((c) => /* @__PURE__ */ import_react.default.createElement("option", { key: String(c.key), value: String(c.key) }, c.header))
397
455
  ), /* @__PURE__ */ import_react.default.createElement(
398
456
  "select",
399
457
  {
@@ -420,7 +478,7 @@ function DataGrid({
420
478
  {
421
479
  className: "dg-action-btn",
422
480
  style: { alignSelf: "flex-start", marginTop: 4 },
423
- onClick: () => setAdvancedFilters((p) => [...p, { column: String(columns[0].key), operator: "contains", value: "", logic: "AND" }])
481
+ onClick: () => setAdvancedFilters((p) => [...p, { column: String(resolvedColumns[0].key), operator: "contains", value: "", logic: "AND" }])
424
482
  },
425
483
  /* @__PURE__ */ import_react.default.createElement(import_lucide_react.Plus, { size: 14 }),
426
484
  " Add Filter"
@@ -428,7 +486,7 @@ function DataGrid({
428
486
  "button",
429
487
  {
430
488
  className: "dg-action-btn",
431
- onClick: () => setAdvancedFilters([{ column: String(columns[0].key), operator: "contains", value: "", logic: "AND" }])
489
+ onClick: () => setAdvancedFilters([{ column: String(resolvedColumns[0].key), operator: "contains", value: "", logic: "AND" }])
432
490
  },
433
491
  /* @__PURE__ */ import_react.default.createElement(import_lucide_react.Trash2, { size: 14 }),
434
492
  " Reset"
@@ -3,6 +3,6 @@ import { DataGridProps } from './types.cjs';
3
3
 
4
4
  declare function DataGrid<T extends {
5
5
  id: string | number;
6
- }>({ columns: initialColumns, data, actions, pageSize: initialPageSize, pageSizeOptions, title }: DataGridProps<T>): React__default.JSX.Element;
6
+ }>({ columns: initialColumnsProp, data, actions, pageSize: initialPageSize, pageSizeOptions, title }: DataGridProps<T>): React__default.JSX.Element;
7
7
 
8
8
  export { DataGrid, DataGrid as default };
@@ -3,6 +3,6 @@ import { DataGridProps } from './types.js';
3
3
 
4
4
  declare function DataGrid<T extends {
5
5
  id: string | number;
6
- }>({ columns: initialColumns, data, actions, pageSize: initialPageSize, pageSizeOptions, title }: DataGridProps<T>): React__default.JSX.Element;
6
+ }>({ columns: initialColumnsProp, data, actions, pageSize: initialPageSize, pageSizeOptions, title }: DataGridProps<T>): React__default.JSX.Element;
7
7
 
8
8
  export { DataGrid, DataGrid as default };
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  DataGrid,
3
3
  DataGrid_default
4
- } from "../chunk-IKG2B6JQ.js";
4
+ } from "../chunk-LG4EJGMI.js";
5
5
  import "../chunk-LI4N7JWK.js";
6
6
  export {
7
7
  DataGrid,