@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.
- package/dist/DataGrid/DataGrid.cjs +113 -86
- package/dist/DataGrid/DataGrid.js +1 -1
- package/dist/DataGrid/index.cjs +113 -86
- package/dist/DataGrid/index.js +1 -1
- package/dist/Dialogs/BaseDialog.js +4 -4
- package/dist/Dialogs/index.js +4 -4
- package/dist/TextFields/AddressLookup.js +2 -2
- package/dist/{chunk-B6EOV25J.js → chunk-LG4EJGMI.js} +113 -86
- package/dist/main.cjs +113 -86
- package/dist/main.js +9 -9
- package/package.json +1 -1
- package/dist/{chunk-EB6MPFGC.js → chunk-GHCM2AWR.js} +3 -3
package/dist/DataGrid/index.cjs
CHANGED
|
@@ -44,22 +44,31 @@ function DataGrid({
|
|
|
44
44
|
pageSizeOptions = [5, 10, 25, 50],
|
|
45
45
|
title
|
|
46
46
|
}) {
|
|
47
|
-
const
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
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
|
-
|
|
63
|
+
initialColumnsProp.forEach((col) => {
|
|
64
|
+
const field = String(col.field || col.key || "");
|
|
56
65
|
const w = col.width || 200;
|
|
57
|
-
widths[
|
|
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 [
|
|
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:
|
|
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 =
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
133
|
+
setSortField(fieldKey);
|
|
137
134
|
setSortDirection(dir);
|
|
138
|
-
} else if (
|
|
135
|
+
} else if (sortField === fieldKey) {
|
|
139
136
|
if (sortDirection === "asc") setSortDirection("desc");
|
|
140
137
|
else {
|
|
141
|
-
|
|
138
|
+
setSortField(null);
|
|
142
139
|
setSortDirection(null);
|
|
143
140
|
}
|
|
144
141
|
} else {
|
|
145
|
-
|
|
142
|
+
setSortField(fieldKey);
|
|
146
143
|
setSortDirection("asc");
|
|
147
144
|
}
|
|
148
145
|
setActiveMenu(null);
|
|
149
146
|
};
|
|
150
|
-
const togglePin = (
|
|
151
|
-
|
|
152
|
-
|
|
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 = (
|
|
157
|
-
|
|
158
|
-
|
|
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 (!
|
|
202
|
-
const col =
|
|
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[
|
|
205
|
-
let bVal = b[
|
|
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(
|
|
208
|
-
bVal = col.valueGetter({ value: bVal, row: b, field: String(
|
|
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,
|
|
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 =
|
|
222
|
-
const headers = visibleCols.map((c) => c.
|
|
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.
|
|
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,
|
|
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(
|
|
246
|
+
setActiveMenu(keyStr);
|
|
240
247
|
};
|
|
241
248
|
const visibleColumns = (0, import_react.useMemo)(() => {
|
|
242
|
-
const left =
|
|
243
|
-
const mid =
|
|
244
|
-
const 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
|
-
}, [
|
|
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].
|
|
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
|
|
287
|
-
const width = columnWidths[
|
|
293
|
+
const colField = String(col.field);
|
|
294
|
+
const width = columnWidths[colField] || 200;
|
|
288
295
|
const leftOffset = getLeftOffset(col, idx);
|
|
289
|
-
const isSorted =
|
|
296
|
+
const isSorted = sortField === col.field;
|
|
290
297
|
return /* @__PURE__ */ import_react.default.createElement(
|
|
291
298
|
"th",
|
|
292
299
|
{
|
|
293
|
-
key:
|
|
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.
|
|
308
|
+
onClick: () => col.sortable !== false && handleSort(col.field || "")
|
|
302
309
|
},
|
|
303
|
-
col.
|
|
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,
|
|
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 ===
|
|
323
|
+
className: `dg-resizer${resizingColumn === colField ? " resizing" : ""}`,
|
|
317
324
|
onMouseDown: (e) => {
|
|
318
325
|
e.preventDefault();
|
|
319
|
-
setResizingColumn(
|
|
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
|
|
328
|
-
const width = columnWidths[
|
|
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}-${
|
|
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.
|
|
339
|
-
const rawValue = item[col.
|
|
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
|
-
)),
|
|
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
|
-
|
|
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(
|
|
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(
|
|
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"
|
package/dist/DataGrid/index.js
CHANGED
|
@@ -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-
|
|
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-
|
|
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
|
package/dist/Dialogs/index.js
CHANGED
|
@@ -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-
|
|
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-
|
|
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-
|
|
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
|