@rufous/ui 0.3.43 → 0.3.45
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/main.cjs +14 -5
- package/dist/main.css +24 -0
- package/dist/main.d.cts +9 -3
- package/dist/main.d.ts +9 -3
- package/dist/main.js +14 -5
- package/package.json +1 -1
package/dist/main.cjs
CHANGED
|
@@ -838,7 +838,7 @@ var subscribeIcon_default = SubscribeIcon;
|
|
|
838
838
|
|
|
839
839
|
// lib/icons/suspendUserIcon.tsx
|
|
840
840
|
var React30 = __toESM(require("react"), 1);
|
|
841
|
-
var SuspendUserIcon = ({ color = "
|
|
841
|
+
var SuspendUserIcon = (({ color = "#3a3a3a", ...props }) => /* @__PURE__ */ React30.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "25.8", height: "25.8", viewBox: "0 0 25.8 25.8", ...props }, /* @__PURE__ */ React30.createElement("g", { id: "Group_24703", "data-name": "Group 24703", transform: "translate(-1737.415 -376.95)" }, /* @__PURE__ */ React30.createElement("g", { id: "Group_24684", "data-name": "Group 24684", transform: "translate(1738.315 377.85)" }, /* @__PURE__ */ React30.createElement("ellipse", { id: "Ellipse_414", "data-name": "Ellipse 414", cx: "4.979", cy: "5.203", rx: "4.979", ry: "5.203", transform: "translate(3.506)", fill: "rgba(0,0,0,0)", stroke: color, strokeWidth: "1.8" }), /* @__PURE__ */ React30.createElement("path", { id: "Path_52609", "data-name": "Path 52609", d: "M128.5,212.538a8.719,8.719,0,0,1,14.56-6.69", transform: "translate(-128.5 -193.195)", fill: "rgba(0,0,0,0)", stroke: color, strokeWidth: "1.8" })), /* @__PURE__ */ React30.createElement("g", { id: "Group_24690", "data-name": "Group 24690", transform: "translate(1750.156 389.69)" }, /* @__PURE__ */ React30.createElement("g", { id: "Group_24741", "data-name": "Group 24741" }, /* @__PURE__ */ React30.createElement("ellipse", { id: "Ellipse_415", "data-name": "Ellipse 415", cx: "6.08", cy: "6.08", rx: "6.08", ry: "6.08", fill: "none", stroke: color, strokeWidth: "1.8", "stroke-dasharray": "470 154" }), /* @__PURE__ */ React30.createElement("line", { id: "Line_419", "data-name": "Line 419", x1: "7", y2: "9", transform: "translate(2.66 1.66)", fill: "none", stroke: color, strokeWidth: "1.8" }))))));
|
|
842
842
|
var suspendUserIcon_default = SuspendUserIcon;
|
|
843
843
|
|
|
844
844
|
// lib/icons/unsubscribeIcon.tsx
|
|
@@ -5217,6 +5217,7 @@ function DataGrid({
|
|
|
5217
5217
|
const [sortField, setSortField] = (0, import_react17.useState)(null);
|
|
5218
5218
|
const [sortDirection, setSortDirection] = (0, import_react17.useState)(null);
|
|
5219
5219
|
const [filterText, setFilterText] = (0, import_react17.useState)("");
|
|
5220
|
+
const prevFilterText = (0, import_react17.useRef)("");
|
|
5220
5221
|
const [currentPage, setCurrentPage] = (0, import_react17.useState)(1);
|
|
5221
5222
|
const activePage = paginationModel ? paginationModel.page + 1 : currentPage;
|
|
5222
5223
|
const activePageSize = paginationModel ? paginationModel.pageSize : pageSize;
|
|
@@ -5506,7 +5507,15 @@ function DataGrid({
|
|
|
5506
5507
|
});
|
|
5507
5508
|
}, [data, filterText, advancedFilters, resolvedColumns, searchableColumns]);
|
|
5508
5509
|
(0, import_react17.useEffect)(() => {
|
|
5509
|
-
if (!onSearchChange
|
|
5510
|
+
if (!onSearchChange) return;
|
|
5511
|
+
if (!filterText) {
|
|
5512
|
+
if (prevFilterText.current !== "") {
|
|
5513
|
+
onSearchChange("");
|
|
5514
|
+
}
|
|
5515
|
+
prevFilterText.current = "";
|
|
5516
|
+
return;
|
|
5517
|
+
}
|
|
5518
|
+
prevFilterText.current = filterText;
|
|
5510
5519
|
if (filteredData.length === 0) onSearchChange(filterText);
|
|
5511
5520
|
}, [filteredData, filterText, onSearchChange]);
|
|
5512
5521
|
const sortedData = (0, import_react17.useMemo)(() => {
|
|
@@ -5695,7 +5704,7 @@ function DataGrid({
|
|
|
5695
5704
|
const showExportBtn = !tOpts.hideExport && !hideTopExport;
|
|
5696
5705
|
const showTitle = !tOpts.hideTitle;
|
|
5697
5706
|
const showRecordCount = !tOpts.hideRecordCount;
|
|
5698
|
-
return /* @__PURE__ */ import_react17.default.createElement("div", { className: ["dg-root", sxClass, className].filter(Boolean).join(" ") }, !tOpts.hideHeader && /* @__PURE__ */ import_react17.default.createElement("div", { className: `dg-header${customToolbar ? " dg-header--custom" : ""}` }, !customToolbar && (showTitle || showRecordCount) && /* @__PURE__ */ import_react17.default.createElement("div", { className: "dg-header-info" }, showTitle && /* @__PURE__ */ import_react17.default.createElement("h2", null, title), showRecordCount && /* @__PURE__ */ import_react17.default.createElement("p", null, isServer ? totalRows : filteredData.length, " total records")), /* @__PURE__ */ import_react17.default.createElement("div", { className: "dg-header-actions" }, customToolbar ?? /* @__PURE__ */ import_react17.default.createElement(import_react17.default.Fragment, null, showSearch && /* @__PURE__ */ import_react17.default.createElement("div", { className: "dg-search-wrap" }, /* @__PURE__ */ import_react17.default.createElement(Search, { size: 15 }), /* @__PURE__ */ import_react17.default.createElement(
|
|
5707
|
+
return /* @__PURE__ */ import_react17.default.createElement("div", { className: ["dg-root", sxClass, className].filter(Boolean).join(" ") }, !tOpts.hideHeader && /* @__PURE__ */ import_react17.default.createElement("div", { className: `dg-header${customToolbar ? " dg-header--custom" : ""}` }, !customToolbar && (showTitle || showRecordCount) && /* @__PURE__ */ import_react17.default.createElement("div", { className: "dg-header-info" }, showTitle && /* @__PURE__ */ import_react17.default.createElement("h2", null, title), showRecordCount && /* @__PURE__ */ import_react17.default.createElement("p", null, isServer ? totalRows : filteredData.length, " total records")), /* @__PURE__ */ import_react17.default.createElement("div", { className: "dg-header-actions" }, customToolbar ?? /* @__PURE__ */ import_react17.default.createElement(import_react17.default.Fragment, null, headerActions?.position === "before-search" && /* @__PURE__ */ import_react17.default.createElement("div", { className: `dg-header-slot ${alignClass(headerActions.align)}` }, headerActions.content), showSearch && /* @__PURE__ */ import_react17.default.createElement("div", { className: "dg-search-wrap" }, /* @__PURE__ */ import_react17.default.createElement(Search, { size: 15 }), /* @__PURE__ */ import_react17.default.createElement(
|
|
5699
5708
|
"input",
|
|
5700
5709
|
{
|
|
5701
5710
|
className: "dg-search",
|
|
@@ -5707,7 +5716,7 @@ function DataGrid({
|
|
|
5707
5716
|
if (onPaginationModelChange) onPaginationModelChange({ page: 0, pageSize: activePageSize });
|
|
5708
5717
|
}
|
|
5709
5718
|
}
|
|
5710
|
-
)), showFilterBtn && /* @__PURE__ */ import_react17.default.createElement(Tooltip, { title: "Filters", placement: "top" }, /* @__PURE__ */ import_react17.default.createElement(
|
|
5719
|
+
)), headerActions?.position === "after-search" && /* @__PURE__ */ import_react17.default.createElement("div", { className: `dg-header-slot ${alignClass(headerActions.align)}` }, headerActions.content), showFilterBtn && /* @__PURE__ */ import_react17.default.createElement(Tooltip, { title: "Filters", placement: "top" }, /* @__PURE__ */ import_react17.default.createElement(
|
|
5711
5720
|
"button",
|
|
5712
5721
|
{
|
|
5713
5722
|
className: `dg-icon-btn ${hasActiveFilters ? "active" : ""}`,
|
|
@@ -5721,7 +5730,7 @@ function DataGrid({
|
|
|
5721
5730
|
onClick: () => setShowManageColumns(true)
|
|
5722
5731
|
},
|
|
5723
5732
|
/* @__PURE__ */ import_react17.default.createElement(Columns2, { size: 16 })
|
|
5724
|
-
)), showExportBtn && /* @__PURE__ */ import_react17.default.createElement("button", { className: "dg-action-btn", onClick: handleExport, disabled: loading }, /* @__PURE__ */ import_react17.default.createElement(Download, { size: 14 }), " Export CSV")
|
|
5733
|
+
)), showExportBtn && /* @__PURE__ */ import_react17.default.createElement("button", { className: "dg-action-btn", onClick: handleExport, disabled: loading }, /* @__PURE__ */ import_react17.default.createElement(Download, { size: 14 }), " Export CSV"), headerActions && (!headerActions.position || headerActions.position === "after-actions") && /* @__PURE__ */ import_react17.default.createElement("div", { className: `dg-header-slot ${alignClass(headerActions.align)}` }, headerActions.content)))), !tOpts.hideHeader && /* @__PURE__ */ import_react17.default.createElement("div", { className: `dg-toolbar ${alignClass(toolbarContent?.align)}` }, toolbarContent?.content || ""), isGroupingActive && /* @__PURE__ */ import_react17.default.createElement("div", { className: "dg-grouping-bar" }, /* @__PURE__ */ import_react17.default.createElement("span", { className: "dg-grouping-bar-label" }, "Grouped by"), activeGroupingModel.map((gField) => {
|
|
5725
5734
|
const col = resolvedColumns.find((c) => String(c.field) === gField || String(c.key) === gField);
|
|
5726
5735
|
return /* @__PURE__ */ import_react17.default.createElement("div", { key: gField, className: "dg-group-chip" }, /* @__PURE__ */ import_react17.default.createElement(Layers, { size: 11 }), /* @__PURE__ */ import_react17.default.createElement("span", null, col?.header ?? col?.headerName ?? gField), !disableRowGrouping && /* @__PURE__ */ import_react17.default.createElement(
|
|
5727
5736
|
"button",
|
package/dist/main.css
CHANGED
|
@@ -409,6 +409,30 @@
|
|
|
409
409
|
.dg-search:focus {
|
|
410
410
|
border-color: var(--primary-color);
|
|
411
411
|
}
|
|
412
|
+
.dg-toolbar-select {
|
|
413
|
+
padding: 8px 28px 8px 10px;
|
|
414
|
+
border: 1px solid var(--border-color);
|
|
415
|
+
border-radius: 8px;
|
|
416
|
+
background: var(--background-color);
|
|
417
|
+
color: var(--text-color);
|
|
418
|
+
font-size: 0.875rem;
|
|
419
|
+
font-family: inherit;
|
|
420
|
+
outline: none;
|
|
421
|
+
cursor: pointer;
|
|
422
|
+
transition: border-color 0.2s;
|
|
423
|
+
appearance: none;
|
|
424
|
+
-webkit-appearance: none;
|
|
425
|
+
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
|
|
426
|
+
background-repeat: no-repeat;
|
|
427
|
+
background-position: right 8px center;
|
|
428
|
+
}
|
|
429
|
+
.dg-toolbar-select:focus {
|
|
430
|
+
border-color: var(--primary-color);
|
|
431
|
+
}
|
|
432
|
+
.dg-toolbar-select:disabled {
|
|
433
|
+
opacity: 0.5;
|
|
434
|
+
cursor: not-allowed;
|
|
435
|
+
}
|
|
412
436
|
.dg-icon-btn {
|
|
413
437
|
padding: 8px;
|
|
414
438
|
border: 1px solid var(--border-color);
|
package/dist/main.d.cts
CHANGED
|
@@ -274,11 +274,10 @@ interface SubscribeIconProps extends React.SVGProps<SVGSVGElement> {
|
|
|
274
274
|
}
|
|
275
275
|
declare const SubscribeIcon: React.FC<SubscribeIconProps>;
|
|
276
276
|
|
|
277
|
-
interface
|
|
277
|
+
interface SuspendUserIconProps extends React.SVGProps<SVGSVGElement> {
|
|
278
278
|
color?: string;
|
|
279
|
-
size?: number;
|
|
280
279
|
}
|
|
281
|
-
declare const SuspendUserIcon: React.FC<
|
|
280
|
+
declare const SuspendUserIcon: React.FC<SuspendUserIconProps>;
|
|
282
281
|
|
|
283
282
|
interface UnsubscribeIconProps extends React.SVGProps<SVGSVGElement> {
|
|
284
283
|
color?: string;
|
|
@@ -1259,6 +1258,13 @@ interface Action<T> {
|
|
|
1259
1258
|
interface DataGridToolbarSlot {
|
|
1260
1259
|
content: React__default.ReactNode;
|
|
1261
1260
|
align?: 'left' | 'center' | 'right';
|
|
1261
|
+
/**
|
|
1262
|
+
* Where to inject the slot inside the toolbar action row.
|
|
1263
|
+
* - `'before-search'` — left of the search input
|
|
1264
|
+
* - `'after-search'` — right of search, left of Filter / Columns / Export
|
|
1265
|
+
* - `'after-actions'` — rightmost position, after Export button (default)
|
|
1266
|
+
*/
|
|
1267
|
+
position?: 'before-search' | 'after-search' | 'after-actions';
|
|
1262
1268
|
}
|
|
1263
1269
|
/**
|
|
1264
1270
|
* Granular visibility control for the built-in toolbar.
|
package/dist/main.d.ts
CHANGED
|
@@ -274,11 +274,10 @@ interface SubscribeIconProps extends React.SVGProps<SVGSVGElement> {
|
|
|
274
274
|
}
|
|
275
275
|
declare const SubscribeIcon: React.FC<SubscribeIconProps>;
|
|
276
276
|
|
|
277
|
-
interface
|
|
277
|
+
interface SuspendUserIconProps extends React.SVGProps<SVGSVGElement> {
|
|
278
278
|
color?: string;
|
|
279
|
-
size?: number;
|
|
280
279
|
}
|
|
281
|
-
declare const SuspendUserIcon: React.FC<
|
|
280
|
+
declare const SuspendUserIcon: React.FC<SuspendUserIconProps>;
|
|
282
281
|
|
|
283
282
|
interface UnsubscribeIconProps extends React.SVGProps<SVGSVGElement> {
|
|
284
283
|
color?: string;
|
|
@@ -1259,6 +1258,13 @@ interface Action<T> {
|
|
|
1259
1258
|
interface DataGridToolbarSlot {
|
|
1260
1259
|
content: React__default.ReactNode;
|
|
1261
1260
|
align?: 'left' | 'center' | 'right';
|
|
1261
|
+
/**
|
|
1262
|
+
* Where to inject the slot inside the toolbar action row.
|
|
1263
|
+
* - `'before-search'` — left of the search input
|
|
1264
|
+
* - `'after-search'` — right of search, left of Filter / Columns / Export
|
|
1265
|
+
* - `'after-actions'` — rightmost position, after Export button (default)
|
|
1266
|
+
*/
|
|
1267
|
+
position?: 'before-search' | 'after-search' | 'after-actions';
|
|
1262
1268
|
}
|
|
1263
1269
|
/**
|
|
1264
1270
|
* Granular visibility control for the built-in toolbar.
|
package/dist/main.js
CHANGED
|
@@ -577,7 +577,7 @@ var subscribeIcon_default = SubscribeIcon;
|
|
|
577
577
|
|
|
578
578
|
// lib/icons/suspendUserIcon.tsx
|
|
579
579
|
import * as React30 from "react";
|
|
580
|
-
var SuspendUserIcon = ({ color = "
|
|
580
|
+
var SuspendUserIcon = (({ color = "#3a3a3a", ...props }) => /* @__PURE__ */ React30.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "25.8", height: "25.8", viewBox: "0 0 25.8 25.8", ...props }, /* @__PURE__ */ React30.createElement("g", { id: "Group_24703", "data-name": "Group 24703", transform: "translate(-1737.415 -376.95)" }, /* @__PURE__ */ React30.createElement("g", { id: "Group_24684", "data-name": "Group 24684", transform: "translate(1738.315 377.85)" }, /* @__PURE__ */ React30.createElement("ellipse", { id: "Ellipse_414", "data-name": "Ellipse 414", cx: "4.979", cy: "5.203", rx: "4.979", ry: "5.203", transform: "translate(3.506)", fill: "rgba(0,0,0,0)", stroke: color, strokeWidth: "1.8" }), /* @__PURE__ */ React30.createElement("path", { id: "Path_52609", "data-name": "Path 52609", d: "M128.5,212.538a8.719,8.719,0,0,1,14.56-6.69", transform: "translate(-128.5 -193.195)", fill: "rgba(0,0,0,0)", stroke: color, strokeWidth: "1.8" })), /* @__PURE__ */ React30.createElement("g", { id: "Group_24690", "data-name": "Group 24690", transform: "translate(1750.156 389.69)" }, /* @__PURE__ */ React30.createElement("g", { id: "Group_24741", "data-name": "Group 24741" }, /* @__PURE__ */ React30.createElement("ellipse", { id: "Ellipse_415", "data-name": "Ellipse 415", cx: "6.08", cy: "6.08", rx: "6.08", ry: "6.08", fill: "none", stroke: color, strokeWidth: "1.8", "stroke-dasharray": "470 154" }), /* @__PURE__ */ React30.createElement("line", { id: "Line_419", "data-name": "Line 419", x1: "7", y2: "9", transform: "translate(2.66 1.66)", fill: "none", stroke: color, strokeWidth: "1.8" }))))));
|
|
581
581
|
var suspendUserIcon_default = SuspendUserIcon;
|
|
582
582
|
|
|
583
583
|
// lib/icons/unsubscribeIcon.tsx
|
|
@@ -4983,6 +4983,7 @@ function DataGrid({
|
|
|
4983
4983
|
const [sortField, setSortField] = useState10(null);
|
|
4984
4984
|
const [sortDirection, setSortDirection] = useState10(null);
|
|
4985
4985
|
const [filterText, setFilterText] = useState10("");
|
|
4986
|
+
const prevFilterText = useRef10("");
|
|
4986
4987
|
const [currentPage, setCurrentPage] = useState10(1);
|
|
4987
4988
|
const activePage = paginationModel ? paginationModel.page + 1 : currentPage;
|
|
4988
4989
|
const activePageSize = paginationModel ? paginationModel.pageSize : pageSize;
|
|
@@ -5272,7 +5273,15 @@ function DataGrid({
|
|
|
5272
5273
|
});
|
|
5273
5274
|
}, [data, filterText, advancedFilters, resolvedColumns, searchableColumns]);
|
|
5274
5275
|
useEffect9(() => {
|
|
5275
|
-
if (!onSearchChange
|
|
5276
|
+
if (!onSearchChange) return;
|
|
5277
|
+
if (!filterText) {
|
|
5278
|
+
if (prevFilterText.current !== "") {
|
|
5279
|
+
onSearchChange("");
|
|
5280
|
+
}
|
|
5281
|
+
prevFilterText.current = "";
|
|
5282
|
+
return;
|
|
5283
|
+
}
|
|
5284
|
+
prevFilterText.current = filterText;
|
|
5276
5285
|
if (filteredData.length === 0) onSearchChange(filterText);
|
|
5277
5286
|
}, [filteredData, filterText, onSearchChange]);
|
|
5278
5287
|
const sortedData = useMemo2(() => {
|
|
@@ -5461,7 +5470,7 @@ function DataGrid({
|
|
|
5461
5470
|
const showExportBtn = !tOpts.hideExport && !hideTopExport;
|
|
5462
5471
|
const showTitle = !tOpts.hideTitle;
|
|
5463
5472
|
const showRecordCount = !tOpts.hideRecordCount;
|
|
5464
|
-
return /* @__PURE__ */ React123.createElement("div", { className: ["dg-root", sxClass, className].filter(Boolean).join(" ") }, !tOpts.hideHeader && /* @__PURE__ */ React123.createElement("div", { className: `dg-header${customToolbar ? " dg-header--custom" : ""}` }, !customToolbar && (showTitle || showRecordCount) && /* @__PURE__ */ React123.createElement("div", { className: "dg-header-info" }, showTitle && /* @__PURE__ */ React123.createElement("h2", null, title), showRecordCount && /* @__PURE__ */ React123.createElement("p", null, isServer ? totalRows : filteredData.length, " total records")), /* @__PURE__ */ React123.createElement("div", { className: "dg-header-actions" }, customToolbar ?? /* @__PURE__ */ React123.createElement(React123.Fragment, null, showSearch && /* @__PURE__ */ React123.createElement("div", { className: "dg-search-wrap" }, /* @__PURE__ */ React123.createElement(Search, { size: 15 }), /* @__PURE__ */ React123.createElement(
|
|
5473
|
+
return /* @__PURE__ */ React123.createElement("div", { className: ["dg-root", sxClass, className].filter(Boolean).join(" ") }, !tOpts.hideHeader && /* @__PURE__ */ React123.createElement("div", { className: `dg-header${customToolbar ? " dg-header--custom" : ""}` }, !customToolbar && (showTitle || showRecordCount) && /* @__PURE__ */ React123.createElement("div", { className: "dg-header-info" }, showTitle && /* @__PURE__ */ React123.createElement("h2", null, title), showRecordCount && /* @__PURE__ */ React123.createElement("p", null, isServer ? totalRows : filteredData.length, " total records")), /* @__PURE__ */ React123.createElement("div", { className: "dg-header-actions" }, customToolbar ?? /* @__PURE__ */ React123.createElement(React123.Fragment, null, headerActions?.position === "before-search" && /* @__PURE__ */ React123.createElement("div", { className: `dg-header-slot ${alignClass(headerActions.align)}` }, headerActions.content), showSearch && /* @__PURE__ */ React123.createElement("div", { className: "dg-search-wrap" }, /* @__PURE__ */ React123.createElement(Search, { size: 15 }), /* @__PURE__ */ React123.createElement(
|
|
5465
5474
|
"input",
|
|
5466
5475
|
{
|
|
5467
5476
|
className: "dg-search",
|
|
@@ -5473,7 +5482,7 @@ function DataGrid({
|
|
|
5473
5482
|
if (onPaginationModelChange) onPaginationModelChange({ page: 0, pageSize: activePageSize });
|
|
5474
5483
|
}
|
|
5475
5484
|
}
|
|
5476
|
-
)), showFilterBtn && /* @__PURE__ */ React123.createElement(Tooltip, { title: "Filters", placement: "top" }, /* @__PURE__ */ React123.createElement(
|
|
5485
|
+
)), headerActions?.position === "after-search" && /* @__PURE__ */ React123.createElement("div", { className: `dg-header-slot ${alignClass(headerActions.align)}` }, headerActions.content), showFilterBtn && /* @__PURE__ */ React123.createElement(Tooltip, { title: "Filters", placement: "top" }, /* @__PURE__ */ React123.createElement(
|
|
5477
5486
|
"button",
|
|
5478
5487
|
{
|
|
5479
5488
|
className: `dg-icon-btn ${hasActiveFilters ? "active" : ""}`,
|
|
@@ -5487,7 +5496,7 @@ function DataGrid({
|
|
|
5487
5496
|
onClick: () => setShowManageColumns(true)
|
|
5488
5497
|
},
|
|
5489
5498
|
/* @__PURE__ */ React123.createElement(Columns2, { size: 16 })
|
|
5490
|
-
)), showExportBtn && /* @__PURE__ */ React123.createElement("button", { className: "dg-action-btn", onClick: handleExport, disabled: loading }, /* @__PURE__ */ React123.createElement(Download, { size: 14 }), " Export CSV")
|
|
5499
|
+
)), showExportBtn && /* @__PURE__ */ React123.createElement("button", { className: "dg-action-btn", onClick: handleExport, disabled: loading }, /* @__PURE__ */ React123.createElement(Download, { size: 14 }), " Export CSV"), headerActions && (!headerActions.position || headerActions.position === "after-actions") && /* @__PURE__ */ React123.createElement("div", { className: `dg-header-slot ${alignClass(headerActions.align)}` }, headerActions.content)))), !tOpts.hideHeader && /* @__PURE__ */ React123.createElement("div", { className: `dg-toolbar ${alignClass(toolbarContent?.align)}` }, toolbarContent?.content || ""), isGroupingActive && /* @__PURE__ */ React123.createElement("div", { className: "dg-grouping-bar" }, /* @__PURE__ */ React123.createElement("span", { className: "dg-grouping-bar-label" }, "Grouped by"), activeGroupingModel.map((gField) => {
|
|
5491
5500
|
const col = resolvedColumns.find((c) => String(c.field) === gField || String(c.key) === gField);
|
|
5492
5501
|
return /* @__PURE__ */ React123.createElement("div", { key: gField, className: "dg-group-chip" }, /* @__PURE__ */ React123.createElement(Layers, { size: 11 }), /* @__PURE__ */ React123.createElement("span", null, col?.header ?? col?.headerName ?? gField), !disableRowGrouping && /* @__PURE__ */ React123.createElement(
|
|
5493
5502
|
"button",
|