@trsys-tech/matrix-library 0.5.7 → 0.5.9

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.
@@ -1 +1 @@
1
- {"version":3,"file":"DataGrid.d.ts","sourceRoot":"","sources":["../../../src/components/data-grid/DataGrid.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataGrid.d.ts","sourceRoot":"","sources":["../../../src/components/data-grid/DataGrid.tsx"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import { jsx as o, jsxs as z } from "react/jsx-runtime";
2
- import e, { forwardRef as H, useMemo as T } from "react";
2
+ import e, { forwardRef as H, useMemo as N } from "react";
3
3
  import { AgGridReact as L } from "ag-grid-react";
4
4
  import { themeQuartz as M, ModuleRegistry as B, AllCommunityModule as Q } from "ag-grid-community";
5
5
  import { CircleXmark as O, Magnifier as k, Snowflake as q, Print as $, Refresh as j, ElipsisVertical as _, Trashcan as U } from "@trsys-tech/matrix-icons";
6
- import { cn as C } from "./utils.es.js";
6
+ import { cn as g } from "./utils.es.js";
7
7
  import { printHtml as V } from "./printhtml.es.js";
8
8
  import { TextField as W } from "./textfield.es.js";
9
9
  import { Button as P } from "./button.es.js";
@@ -26,192 +26,192 @@ const Y = M.withParams({
26
26
  throw new Error("useDataGrid should be used within <DataGrid>");
27
27
  return r;
28
28
  }, he = ({ children: r }) => {
29
- const s = e.useId(), [a, n] = e.useState(null), [i, d] = e.useState([]), [c, u] = e.useState(0), [l, h] = e.useState(/* @__PURE__ */ new Set()), [t, p] = e.useState(""), [f, x] = e.useState(!1);
29
+ const s = e.useId(), [i, n] = e.useState(null), [a, c] = e.useState([]), [d, u] = e.useState(0), [h, l] = e.useState(/* @__PURE__ */ new Set()), [t, f] = e.useState(""), [p, m] = e.useState(!1);
30
30
  return /* @__PURE__ */ o(
31
31
  w.Provider,
32
32
  {
33
33
  value: {
34
- api: a,
34
+ api: i,
35
35
  setApi: n,
36
- rowData: i,
37
- setRowData: d,
36
+ rowData: a,
37
+ setRowData: c,
38
38
  gridId: s,
39
39
  quickFilterText: t,
40
- setQuickFilterText: p,
41
- actionbarExists: f,
42
- setActionbarExists: x,
43
- actionbarHeight: c,
40
+ setQuickFilterText: f,
41
+ actionbarExists: p,
42
+ setActionbarExists: m,
43
+ actionbarHeight: d,
44
44
  setActionbarHeight: u,
45
- pinnedRowIds: l,
46
- setPinnedRowIds: h
45
+ pinnedRowIds: h,
46
+ setPinnedRowIds: l
47
47
  },
48
48
  children: r
49
49
  }
50
50
  );
51
51
  }, Z = H(
52
- ({ theme: r, onGridReady: s, quickFilterText: a, rowData: n, containerStyle: i, ...d }, c) => {
53
- const u = e.useContext(w);
54
- if (!u)
52
+ ({ theme: r, onGridReady: s, quickFilterText: i, rowData: n, containerStyle: a, getRowId: c, ...d }, u) => {
53
+ const h = e.useContext(w);
54
+ if (!h)
55
55
  throw new Error("DataGridContent should be used within <DataGrid>");
56
- const { rowData: l, setRowData: h, actionbarExists: t, setApi: p, setQuickFilterText: f, quickFilterText: x, gridId: R, actionbarHeight: S, pinnedRowIds: m } = u, v = T(() => Y.withParams({
56
+ const { rowData: l, setRowData: t, actionbarExists: f, setApi: p, setQuickFilterText: m, quickFilterText: R, gridId: E, actionbarHeight: C, pinnedRowIds: x } = h, b = N(() => Y.withParams({
57
57
  headerHeight: 40,
58
- wrapperBorderRadius: t ? "0px 0px 8px 8px" : "8px"
59
- }), [t]), b = (g) => {
60
- p(g.api), s?.(g);
58
+ wrapperBorderRadius: f ? "0px 0px 8px 8px" : "8px"
59
+ }), [f]), y = (v) => {
60
+ p(v.api), s?.(v);
61
61
  };
62
62
  e.useEffect(() => {
63
- h(n);
64
- }, [n, h]), e.useEffect(() => {
65
- a !== void 0 && f(a ?? "");
66
- }, [a, f]);
67
- const E = T(() => d.getRowId ?? ((g) => g.data.id), [d.getRowId]), { finalRowData: y, finalPinnedTopRowData: F } = T(() => {
68
- if (!l || m.size === 0)
63
+ t(n);
64
+ }, [n, t]), e.useEffect(() => {
65
+ i !== void 0 && m(i ?? "");
66
+ }, [i, m]);
67
+ const { finalRowData: F, finalPinnedTopRowData: I } = N(() => {
68
+ if (!l || x.size === 0)
69
69
  return { finalRowData: l, finalPinnedTopRowData: [] };
70
- const g = [], G = [];
71
- return l.forEach((A) => {
72
- const I = E({ data: A, level: 0 }), N = I !== void 0 ? String(I) : void 0;
73
- N !== void 0 && m.has(N) ? g.push(A) : G.push(A);
74
- }), { finalRowData: G, finalPinnedTopRowData: g };
75
- }, [l, m, E]);
70
+ const v = [], T = [];
71
+ return l.forEach((S) => {
72
+ const A = c ? c({ data: S, level: 0 }) : S.id, G = A != null ? String(A) : void 0;
73
+ G !== void 0 && x.has(G) ? v.push(S) : T.push(S);
74
+ }), { finalRowData: T, finalPinnedTopRowData: v };
75
+ }, [l, x, c]);
76
76
  return /* @__PURE__ */ o(
77
77
  L,
78
78
  {
79
- gridId: R,
80
- theme: r ?? v,
81
- rowData: y,
82
- pinnedTopRowData: F,
83
- quickFilterText: x,
84
- onGridReady: b,
85
- containerStyle: { height: `calc(100% - ${S}px)`, ...i },
79
+ gridId: E,
80
+ theme: r ?? b,
81
+ rowData: F,
82
+ pinnedTopRowData: I,
83
+ quickFilterText: R,
84
+ onGridReady: y,
85
+ containerStyle: { height: `calc(100% - ${C}px)`, ...a },
86
+ getRowId: c,
86
87
  ...d,
87
- getRowId: E,
88
- ref: c
88
+ ref: u
89
89
  }
90
90
  );
91
91
  }
92
92
  );
93
93
  Z.displayName = "DataGridContent";
94
94
  const fe = ({ className: r, ...s }) => {
95
- const a = e.useContext(w);
96
- if (!a)
95
+ const i = e.useContext(w);
96
+ if (!i)
97
97
  throw new Error("DataGridActionBar should be used within <DataGrid>");
98
- const n = e.useRef(null), { setActionbarExists: i, setActionbarHeight: d } = a, { children: c } = s;
99
- return e.useEffect(() => (i(!0), () => i(!1)), [i]), e.useEffect(() => {
100
- n.current && d(n.current.clientHeight);
101
- }, [d]), /* @__PURE__ */ o(
98
+ const n = e.useRef(null), { setActionbarExists: a, setActionbarHeight: c } = i, { children: d } = s;
99
+ return e.useEffect(() => (a(!0), () => a(!1)), [a]), e.useEffect(() => {
100
+ n.current && c(n.current.clientHeight);
101
+ }, [c]), /* @__PURE__ */ o(
102
102
  "div",
103
103
  {
104
- className: C(
104
+ className: g(
105
105
  "relative flex items-center p-2 h-12 w-full bg-gray-0 border border-gray-200 border-b-0 -mb-[1px] z-10 rounded-t-[8px]",
106
106
  r
107
107
  ),
108
108
  ref: n,
109
- children: c
109
+ children: d
110
110
  }
111
111
  );
112
- }, me = ({ defaultOpen: r = !1, className: s, ...a }) => {
112
+ }, pe = ({ defaultOpen: r = !1, className: s, ...i }) => {
113
113
  const n = e.useContext(w);
114
114
  if (!n)
115
115
  throw new Error("SearchAction should be used within <DataGrid>");
116
- const { quickFilterText: i, setQuickFilterText: d } = n, [c, u] = e.useState(r), [l, h] = e.useState(!1), t = e.useRef(null), p = () => {
116
+ const { quickFilterText: a, setQuickFilterText: c } = n, [d, u] = e.useState(r), [h, l] = e.useState(!1), t = e.useRef(null), f = () => {
117
117
  n.setQuickFilterText(""), t.current && t.current.focus();
118
- }, f = () => {
118
+ }, p = () => {
119
119
  u(!0);
120
120
  };
121
121
  e.useEffect(() => {
122
- c && t?.current && t.current.focus();
123
- }, [c]);
124
- const x = () => {
125
- h(!0), n.setQuickFilterText(""), setTimeout(() => {
126
- u(!1), h(!1);
122
+ d && t?.current && t.current.focus();
123
+ }, [d]);
124
+ const m = () => {
125
+ l(!0), n.setQuickFilterText(""), setTimeout(() => {
126
+ u(!1), l(!1);
127
127
  }, 200);
128
128
  };
129
- return /* @__PURE__ */ o("div", { className: C("max-w-60", s), ...a, children: c || l ? /* @__PURE__ */ o(
129
+ return /* @__PURE__ */ o("div", { className: g("max-w-60", s), ...i, children: d || h ? /* @__PURE__ */ o(
130
130
  W,
131
131
  {
132
132
  ref: t,
133
- className: C("relative h-7.5", c && !l ? "animate-input-open" : "", l && "animate-input-close"),
134
- onChange: (R) => d(R.target.value),
135
- value: i,
136
- startAdornment: /* @__PURE__ */ o(D, { variant: "toolbar", className: "p-0.5 h-6 w-6 border-none mx-1", onClick: x, children: /* @__PURE__ */ o(k, { className: "w-5 h-5" }) }),
137
- endAdornment: i && /* @__PURE__ */ o(D, { variant: "toolbar", className: "p-0.5 w-6 h-6 border-none mx-1", onClick: p, children: /* @__PURE__ */ o(O, { className: "w-5 h-5" }) })
133
+ className: g("relative h-7.5", d && !h ? "animate-input-open" : "", h && "animate-input-close"),
134
+ onChange: (R) => c(R.target.value),
135
+ value: a,
136
+ startAdornment: /* @__PURE__ */ o(D, { variant: "toolbar", className: "p-0.5 h-6 w-6 border-none mx-1", onClick: m, children: /* @__PURE__ */ o(k, { className: "w-5 h-5" }) }),
137
+ endAdornment: a && /* @__PURE__ */ o(D, { variant: "toolbar", className: "p-0.5 w-6 h-6 border-none mx-1", onClick: f, children: /* @__PURE__ */ o(O, { className: "w-5 h-5" }) })
138
138
  }
139
- ) : /* @__PURE__ */ o(D, { variant: "toolbar", className: "p-0.5 w-6 h-6 m-1", onClick: f, children: /* @__PURE__ */ o(k, { className: "w-5 h-5" }) }) });
140
- }, we = ({ freezeText: r, unFreezeText: s, onClick: a, disabled: n, ...i }) => {
141
- const d = e.useContext(w);
142
- if (!d)
139
+ ) : /* @__PURE__ */ o(D, { variant: "toolbar", className: "p-0.5 w-6 h-6 m-1", onClick: p, children: /* @__PURE__ */ o(k, { className: "w-5 h-5" }) }) });
140
+ }, me = ({ freezeText: r, unFreezeText: s, onClick: i, disabled: n, ...a }) => {
141
+ const c = e.useContext(w);
142
+ if (!c)
143
143
  throw new Error("FreezeAction should be used within <DataGrid>");
144
- const [c, u] = e.useState(0), [l, h] = e.useState(0), { api: t, pinnedRowIds: p, setPinnedRowIds: f } = d, x = () => {
144
+ const [d, u] = e.useState(0), [h, l] = e.useState(0), { api: t, pinnedRowIds: f, setPinnedRowIds: p } = c, m = () => {
145
145
  if (!t) return;
146
- const m = t.getSelectedNodes();
147
- if (m.length > 0) {
148
- const v = new Set(p);
149
- m.forEach((b) => {
150
- b.id !== void 0 && v.add(b.id);
151
- }), f(v), t.deselectAll();
146
+ const C = t.getSelectedNodes();
147
+ if (C.length > 0) {
148
+ const x = new Set(f);
149
+ C.forEach((b) => {
150
+ b.id !== void 0 && x.add(b.id);
151
+ }), p(x), t.deselectAll();
152
152
  }
153
153
  }, R = () => {
154
- f(/* @__PURE__ */ new Set());
155
- }, S = (m) => {
156
- t && (t.getPinnedTopRowCount() > 0 ? R() : x()), a?.(m);
154
+ p(/* @__PURE__ */ new Set());
155
+ }, E = (C) => {
156
+ t && (t.getPinnedTopRowCount() > 0 ? R() : m()), i?.(C);
157
157
  };
158
158
  return e.useEffect(() => (t?.addEventListener("pinnedRowDataChanged", () => {
159
159
  u(t.getPinnedTopRowCount());
160
160
  }), t?.addEventListener("selectionChanged", () => {
161
- h(t.getSelectedNodes().length);
161
+ l(t.getSelectedNodes().length);
162
162
  }), () => {
163
163
  t?.isDestroyed() || (t?.removeEventListener("pinnedRowDataChanged", () => {
164
164
  u(t.getPinnedTopRowCount());
165
165
  }), t?.removeEventListener("selectionChanged", () => {
166
- h(t.getSelectedNodes().length);
166
+ l(t.getSelectedNodes().length);
167
167
  }));
168
168
  }), [t]), /* @__PURE__ */ o(
169
169
  P,
170
170
  {
171
171
  variant: "text",
172
- onClick: S,
172
+ onClick: E,
173
173
  startIcon: /* @__PURE__ */ o(q, { className: "w-4.5 h-4.5" }),
174
- disabled: !c && !l || n,
175
- ...i,
176
- children: c ? s ?? "Unfreeze" : r ?? "Freeze"
174
+ disabled: !d && !h || n,
175
+ ...a,
176
+ children: d ? s ?? "Unfreeze" : r ?? "Freeze"
177
177
  }
178
178
  );
179
- }, pe = ({ children: r, className: s, onClick: a, ...n }) => {
180
- const i = e.useContext(w);
181
- if (!i)
179
+ }, we = ({ children: r, className: s, onClick: i, ...n }) => {
180
+ const a = e.useContext(w);
181
+ if (!a)
182
182
  throw new Error("PrintAction should be used within <DataGrid>");
183
- const d = (c) => {
184
- i.api && (i.api.setGridOption("domLayout", "print"), setTimeout(() => {
185
- const u = document.querySelector("[grid-id='" + i.gridId + "']"), h = `<html>
183
+ const c = (d) => {
184
+ a.api && (a.api.setGridOption("domLayout", "print"), setTimeout(() => {
185
+ const u = document.querySelector("[grid-id='" + a.gridId + "']"), l = `<html>
186
186
  ${document.head.innerHTML}
187
187
  ${u.outerHTML}
188
188
  </html>`;
189
- V(h), i?.api?.setGridOption("domLayout", void 0);
190
- })), a?.(c);
189
+ V(l), a?.api?.setGridOption("domLayout", void 0);
190
+ })), i?.(d);
191
191
  };
192
- return /* @__PURE__ */ o(D, { variant: "toolbar", className: C("p-0.5 w-6 h-6", s), onClick: d, ...n, children: r ?? /* @__PURE__ */ o($, { className: "w-5 h-5" }) });
193
- }, xe = ({ className: r, onRefresh: s, children: a, loading: n, ...i }) => {
192
+ return /* @__PURE__ */ o(D, { variant: "toolbar", className: g("p-0.5 w-6 h-6", s), onClick: c, ...n, children: r ?? /* @__PURE__ */ o($, { className: "w-5 h-5" }) });
193
+ }, xe = ({ className: r, onRefresh: s, children: i, loading: n, ...a }) => {
194
194
  if (!e.useContext(w))
195
195
  throw new Error("RefreshAction should be used within <DataGrid>");
196
- const c = () => {
196
+ const d = () => {
197
197
  s();
198
198
  };
199
199
  return /* @__PURE__ */ o(
200
200
  D,
201
201
  {
202
- className: C("p-0.5 w-6 h-6", n && "disabled:bg-transparent", r),
202
+ className: g("p-0.5 w-6 h-6", n && "disabled:bg-transparent", r),
203
203
  variant: "toolbar",
204
- onClick: c,
204
+ onClick: d,
205
205
  disabled: n,
206
- ...i,
207
- children: a ?? /* @__PURE__ */ o(j, { className: C("w-4.5 h-4.5", n && "animate-spin") })
206
+ ...a,
207
+ children: i ?? /* @__PURE__ */ o(j, { className: g("w-4.5 h-4.5", n && "animate-spin") })
208
208
  }
209
209
  );
210
- }, ge = ({ onDelete: r, children: s, ...a }) => /* @__PURE__ */ o(P, { variant: "danger", onClick: () => {
210
+ }, ge = ({ onDelete: r, children: s, ...i }) => /* @__PURE__ */ o(P, { variant: "danger", onClick: () => {
211
211
  r();
212
- }, startIcon: /* @__PURE__ */ o(U, { className: "w-4.5 h-4.5" }), ...a, children: s }), Ce = ({ children: r, slotProps: s, className: a, ...n }) => /* @__PURE__ */ z(X, { ...s?.popoverProps ?? {}, children: [
212
+ }, startIcon: /* @__PURE__ */ o(U, { className: "w-4.5 h-4.5" }), ...i, children: s }), Ce = ({ children: r, slotProps: s, className: i, ...n }) => /* @__PURE__ */ z(X, { ...s?.popoverProps ?? {}, children: [
213
213
  /* @__PURE__ */ o(J, { ...s?.triggerProps ?? {}, children: /* @__PURE__ */ o(_, { className: "w-4.5 h-4.5 text-primary" }) }),
214
- /* @__PURE__ */ o(K, { align: "end", className: C("w-40", a), ...n, children: r })
214
+ /* @__PURE__ */ o(K, { align: "end", className: g("w-40", i), ...n, children: r })
215
215
  ] });
216
216
  export {
217
217
  he as DataGrid,
@@ -219,10 +219,10 @@ export {
219
219
  Z as DataGridContent,
220
220
  ge as DeleteAction,
221
221
  Ce as ExtraActions,
222
- we as FreezeAction,
223
- pe as PrintAction,
222
+ me as FreezeAction,
223
+ we as PrintAction,
224
224
  xe as RefreshAction,
225
- me as SearchAction,
225
+ pe as SearchAction,
226
226
  Y as dataGridDefaultTheme,
227
227
  ue as useDataGrid
228
228
  };
@@ -1 +1 @@
1
- {"version":3,"file":"datagrid.es.js","sources":["../src/components/data-grid/DataGrid.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport React, { forwardRef, HTMLAttributes, useMemo } from \"react\";\r\nimport { AgGridReact, AgGridReactProps } from \"ag-grid-react\";\r\nimport { GridApi, GridReadyEvent, themeQuartz, AllCommunityModule, ModuleRegistry, Theme } from \"ag-grid-community\";\r\nimport { CircleXmark, ElipsisVertical, Magnifier, Print, Refresh, Snowflake, Trashcan } from \"@trsys-tech/matrix-icons\";\r\n\r\nimport { cn } from \"../../lib/utils\";\r\nimport { printHtml } from \"../../lib/printHtml\";\r\nimport { TextField } from \"../text-field/TextField\";\r\nimport { Button, ButtonProps } from \"../button/Button\";\r\nimport { IconButton, IconButtonProps } from \"../icon-botton/IconButton\";\r\nimport { Popover, PopoverContent, PopoverContentProps, PopoverProps, PopoverTrigger, PopoverTriggerProps } from \"../popover/Popover\";\r\n\r\n// Register all Community features\r\n// Todo: Register only the required features\r\nModuleRegistry.registerModules([AllCommunityModule]);\r\n\r\nconst dataGridDefaultTheme = themeQuartz.withParams({\r\n fontFamily: \"DMSans\",\r\n fontSize: \"12px\",\r\n headerFontSize: \"12px\",\r\n headerFontWeight: 700,\r\n headerBackgroundColor: \"hsl(var(--primary-50))\",\r\n backgroundColor: \"hsl(var(--gray-0))\",\r\n accentColor: \"hsl(var(--primary-300))\",\r\n foregroundColor: \"hsl(var(--text-500))\",\r\n cellTextColor: \"hsl(var(--text-500))\",\r\n});\r\n\r\ntype DataGridContext = {\r\n api: GridApi | null;\r\n setApi: (value: GridApi) => void;\r\n rowData: any[] | null | undefined;\r\n setRowData: (value: any[] | null | undefined) => void;\r\n gridId: string;\r\n quickFilterText: string;\r\n setQuickFilterText: (value: string) => void;\r\n actionbarExists: boolean;\r\n setActionbarExists: (value: boolean) => void;\r\n actionbarHeight: number;\r\n setActionbarHeight: (value: number) => void;\r\n pinnedRowIds: Set<string>;\r\n setPinnedRowIds: (value: Set<string>) => void;\r\n};\r\n\r\nconst DataGridContext = React.createContext<DataGridContext | null>(null);\r\n\r\nconst useDataGrid = () => {\r\n const context = React.useContext(DataGridContext);\r\n\r\n if (!context) {\r\n throw new Error(\"useDataGrid should be used within <DataGrid>\");\r\n }\r\n\r\n return context;\r\n};\r\n\r\ntype DataGridProps = {\r\n children: React.ReactNode;\r\n};\r\n\r\nconst DataGrid: React.FC<DataGridProps> = ({ children }) => {\r\n const gridId = React.useId();\r\n const [api, setApi] = React.useState<GridApi | null>(null);\r\n const [rowData, setRowData] = React.useState<any[] | null | undefined>([]);\r\n const [actionbarHeight, setActionbarHeight] = React.useState(0);\r\n const [pinnedRowIds, setPinnedRowIds] = React.useState<Set<string>>(new Set());\r\n\r\n const [quickFilterText, setQuickFilterText] = React.useState(\"\");\r\n const [actionbarExists, setActionbarExists] = React.useState(false);\r\n return (\r\n <DataGridContext.Provider\r\n value={{\r\n api,\r\n setApi,\r\n rowData,\r\n setRowData,\r\n gridId,\r\n quickFilterText,\r\n setQuickFilterText,\r\n actionbarExists,\r\n setActionbarExists,\r\n actionbarHeight,\r\n setActionbarHeight,\r\n pinnedRowIds,\r\n setPinnedRowIds,\r\n }}\r\n >\r\n {children}\r\n </DataGridContext.Provider>\r\n );\r\n};\r\n\r\ntype DataGridContentProps = Omit<AgGridReactProps, \"theme\"> & {\r\n theme?: Theme;\r\n};\r\n\r\nconst DataGridContent = forwardRef<AgGridReact, DataGridContentProps>(\r\n ({ theme: propTheme, onGridReady, quickFilterText: quickFilterTextProps, rowData: rowDataProps, containerStyle, ...props }, ref) => {\r\n const context = React.useContext(DataGridContext);\r\n\r\n if (!context) {\r\n throw new Error(\"DataGridContent should be used within <DataGrid>\");\r\n }\r\n const { rowData, setRowData, actionbarExists, setApi, setQuickFilterText, quickFilterText, gridId, actionbarHeight, pinnedRowIds } = context;\r\n\r\n const theme = useMemo(() => {\r\n return dataGridDefaultTheme.withParams({\r\n headerHeight: 40,\r\n wrapperBorderRadius: actionbarExists ? \"0px 0px 8px 8px\" : \"8px\",\r\n });\r\n }, [actionbarExists]);\r\n\r\n const handleGridReady = (e: GridReadyEvent) => {\r\n setApi(e.api);\r\n onGridReady?.(e);\r\n };\r\n\r\n React.useEffect(() => {\r\n setRowData(rowDataProps);\r\n }, [rowDataProps, setRowData]);\r\n\r\n React.useEffect(() => {\r\n if (quickFilterTextProps !== undefined) {\r\n setQuickFilterText(quickFilterTextProps ?? \"\");\r\n }\r\n }, [quickFilterTextProps, setQuickFilterText]);\r\n\r\n const getRowId = useMemo(() => {\r\n return props.getRowId ?? ((params: any) => params.data.id);\r\n }, [props.getRowId]);\r\n\r\n const { finalRowData, finalPinnedTopRowData } = useMemo(() => {\r\n if (!rowData || pinnedRowIds.size === 0) {\r\n return { finalRowData: rowData, finalPinnedTopRowData: [] };\r\n }\r\n\r\n const pinned: any[] = [];\r\n const unpinned: any[] = [];\r\n\r\n rowData.forEach(data => {\r\n const id = getRowId({ data, level: 0 } as any);\r\n const stringId = id !== undefined ? String(id) : undefined;\r\n\r\n if (stringId !== undefined && pinnedRowIds.has(stringId)) {\r\n pinned.push(data);\r\n } else {\r\n unpinned.push(data);\r\n }\r\n });\r\n\r\n return { finalRowData: unpinned, finalPinnedTopRowData: pinned };\r\n }, [rowData, pinnedRowIds, getRowId]);\r\n\r\n return (\r\n <AgGridReact\r\n gridId={gridId}\r\n theme={propTheme ?? theme}\r\n rowData={finalRowData}\r\n pinnedTopRowData={finalPinnedTopRowData}\r\n quickFilterText={quickFilterText}\r\n onGridReady={handleGridReady}\r\n containerStyle={{ height: `calc(100% - ${actionbarHeight}px)`, ...containerStyle }}\r\n {...props}\r\n getRowId={getRowId}\r\n ref={ref}\r\n />\r\n );\r\n },\r\n);\r\n\r\nDataGridContent.displayName = \"DataGridContent\";\r\n\r\ntype DatagridActionBarProps = HTMLAttributes<HTMLDivElement> & {};\r\n\r\nconst DataGridActionBar: React.FC<DatagridActionBarProps> = ({ className, ...props }) => {\r\n const context = React.useContext(DataGridContext);\r\n\r\n if (!context) {\r\n throw new Error(\"DataGridActionBar should be used within <DataGrid>\");\r\n }\r\n const ref = React.useRef<HTMLDivElement | null>(null);\r\n const { setActionbarExists, setActionbarHeight } = context;\r\n const { children } = props;\r\n\r\n React.useEffect(() => {\r\n setActionbarExists(true);\r\n return () => setActionbarExists(false);\r\n }, [setActionbarExists]);\r\n\r\n React.useEffect(() => {\r\n if (ref.current) {\r\n setActionbarHeight(ref.current.clientHeight);\r\n }\r\n }, [setActionbarHeight]);\r\n\r\n return (\r\n <div\r\n className={cn(\r\n \"relative flex items-center p-2 h-12 w-full bg-gray-0 border border-gray-200 border-b-0 -mb-[1px] z-10 rounded-t-[8px]\",\r\n className,\r\n )}\r\n ref={ref}\r\n >\r\n {children}\r\n </div>\r\n );\r\n};\r\n\r\ntype SearchActionProps = HTMLAttributes<HTMLDivElement> & {\r\n defaultOpen?: boolean;\r\n};\r\n\r\nconst SearchAction: React.FC<SearchActionProps> = ({ defaultOpen = false, className, ...props }) => {\r\n const context = React.useContext(DataGridContext);\r\n\r\n if (!context) {\r\n throw new Error(\"SearchAction should be used within <DataGrid>\");\r\n }\r\n\r\n const { quickFilterText, setQuickFilterText } = context;\r\n\r\n const [isSearchInputOpen, setIsSearchInputOpen] = React.useState(defaultOpen);\r\n const [isClosing, setIsClosing] = React.useState(false);\r\n const inputRef = React.useRef<HTMLInputElement | null>(null);\r\n\r\n const handleClear = () => {\r\n context.setQuickFilterText(\"\");\r\n if (inputRef.current) {\r\n inputRef.current.focus();\r\n }\r\n };\r\n\r\n const handleOpen = () => {\r\n setIsSearchInputOpen(true);\r\n };\r\n\r\n React.useEffect(() => {\r\n if (isSearchInputOpen && inputRef?.current) {\r\n inputRef.current.focus();\r\n }\r\n }, [isSearchInputOpen]);\r\n\r\n const handleClose = () => {\r\n setIsClosing(true);\r\n context.setQuickFilterText(\"\");\r\n setTimeout(() => {\r\n setIsSearchInputOpen(false);\r\n setIsClosing(false);\r\n }, 200);\r\n };\r\n\r\n return (\r\n <div className={cn(\"max-w-60\", className)} {...props}>\r\n {isSearchInputOpen || isClosing ? (\r\n <TextField\r\n ref={inputRef}\r\n className={cn(\"relative h-7.5\", isSearchInputOpen && !isClosing ? \"animate-input-open\" : \"\", isClosing && \"animate-input-close\")}\r\n onChange={e => setQuickFilterText(e.target.value)}\r\n value={quickFilterText}\r\n startAdornment={\r\n <IconButton variant=\"toolbar\" className=\"p-0.5 h-6 w-6 border-none mx-1\" onClick={handleClose}>\r\n <Magnifier className=\"w-5 h-5\" />\r\n </IconButton>\r\n }\r\n endAdornment={\r\n quickFilterText && (\r\n <IconButton variant=\"toolbar\" className=\"p-0.5 w-6 h-6 border-none mx-1\" onClick={handleClear}>\r\n <CircleXmark className=\"w-5 h-5\" />\r\n </IconButton>\r\n )\r\n }\r\n />\r\n ) : (\r\n <IconButton variant=\"toolbar\" className=\"p-0.5 w-6 h-6 m-1\" onClick={handleOpen}>\r\n <Magnifier className=\"w-5 h-5\" />\r\n </IconButton>\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\ntype FreezeActionProps = ButtonProps & {\r\n freezeText?: string;\r\n unFreezeText?: string;\r\n};\r\n\r\nconst FreezeAction: React.FC<FreezeActionProps> = ({ freezeText, unFreezeText, onClick, disabled, ...props }) => {\r\n const context = React.useContext(DataGridContext);\r\n\r\n if (!context) {\r\n throw new Error(\"FreezeAction should be used within <DataGrid>\");\r\n }\r\n\r\n const [pinnedRowCount, setPinnedRowCount] = React.useState(0);\r\n const [selectedRowsCount, setSelectedRowsCount] = React.useState(0);\r\n\r\n const { api, pinnedRowIds, setPinnedRowIds } = context;\r\n\r\n const freezeRows = () => {\r\n if (!api) return;\r\n\r\n // Get currently selected rows\r\n const selectedRows = api.getSelectedNodes();\r\n\r\n if (selectedRows.length > 0) {\r\n const newPinnedIds = new Set(pinnedRowIds);\r\n selectedRows.forEach(row => {\r\n if (row.id !== undefined) {\r\n newPinnedIds.add(row.id);\r\n }\r\n });\r\n setPinnedRowIds(newPinnedIds);\r\n api.deselectAll();\r\n }\r\n };\r\n\r\n const unfreezeRows = () => {\r\n setPinnedRowIds(new Set());\r\n };\r\n\r\n const handleFreezing = (e: React.MouseEvent<HTMLButtonElement>) => {\r\n if (api) {\r\n const pinnedRowsCount = api.getPinnedTopRowCount();\r\n if (pinnedRowsCount > 0) {\r\n unfreezeRows();\r\n } else {\r\n freezeRows();\r\n }\r\n }\r\n onClick?.(e);\r\n };\r\n\r\n React.useEffect(() => {\r\n api?.addEventListener(\"pinnedRowDataChanged\", () => {\r\n setPinnedRowCount(api.getPinnedTopRowCount());\r\n });\r\n\r\n api?.addEventListener(\"selectionChanged\", () => {\r\n setSelectedRowsCount(api.getSelectedNodes().length);\r\n });\r\n\r\n return () => {\r\n if (api?.isDestroyed()) return;\r\n api?.removeEventListener(\"pinnedRowDataChanged\", () => {\r\n setPinnedRowCount(api.getPinnedTopRowCount());\r\n });\r\n\r\n api?.removeEventListener(\"selectionChanged\", () => {\r\n setSelectedRowsCount(api.getSelectedNodes().length);\r\n });\r\n };\r\n }, [api]);\r\n\r\n return (\r\n <Button\r\n variant=\"text\"\r\n onClick={handleFreezing}\r\n startIcon={<Snowflake className=\"w-4.5 h-4.5\" />}\r\n disabled={(!pinnedRowCount && !selectedRowsCount) || disabled}\r\n {...props}\r\n >\r\n {pinnedRowCount ? (unFreezeText ?? \"Unfreeze\") : (freezeText ?? \"Freeze\")}\r\n </Button>\r\n );\r\n};\r\n\r\ntype PrintActionProps = IconButtonProps & {};\r\n\r\nconst PrintAction: React.FC<PrintActionProps> = ({ children, className, onClick, ...props }) => {\r\n const context = React.useContext(DataGridContext);\r\n\r\n if (!context) {\r\n throw new Error(\"PrintAction should be used within <DataGrid>\");\r\n }\r\n\r\n const handlePrint = (e: React.MouseEvent<HTMLButtonElement>) => {\r\n if (context.api) {\r\n context.api.setGridOption(\"domLayout\", \"print\");\r\n\r\n setTimeout(() => {\r\n const element = document.querySelector(\"[grid-id='\" + context.gridId + \"']\") as HTMLElement;\r\n const header = document.head;\r\n const html = `<html>\r\n ${header.innerHTML}\r\n ${element.outerHTML}\r\n </html>`;\r\n printHtml(html);\r\n context?.api?.setGridOption(\"domLayout\", undefined);\r\n });\r\n }\r\n onClick?.(e);\r\n };\r\n\r\n return (\r\n <IconButton variant=\"toolbar\" className={cn(\"p-0.5 w-6 h-6\", className)} onClick={handlePrint} {...props}>\r\n {children ?? <Print className=\"w-5 h-5\" />}\r\n </IconButton>\r\n );\r\n};\r\n\r\ntype RefreshActionProps = Omit<IconButtonProps, \"onClick\"> & {\r\n onRefresh: () => void;\r\n};\r\n\r\nconst RefreshAction: React.FC<RefreshActionProps> = ({ className, onRefresh, children, loading, ...props }) => {\r\n const context = React.useContext(DataGridContext);\r\n\r\n if (!context) {\r\n throw new Error(\"RefreshAction should be used within <DataGrid>\");\r\n }\r\n\r\n const handleRefresh = () => {\r\n onRefresh();\r\n };\r\n\r\n return (\r\n <IconButton\r\n className={cn(\"p-0.5 w-6 h-6\", loading && \"disabled:bg-transparent\", className)}\r\n variant=\"toolbar\"\r\n onClick={handleRefresh}\r\n disabled={loading}\r\n {...props}\r\n >\r\n {children ?? <Refresh className={cn(\"w-4.5 h-4.5\", loading && \"animate-spin\")} />}\r\n </IconButton>\r\n );\r\n};\r\n\r\ntype DeleteActionProps = Omit<ButtonProps, \"onClick\"> & {\r\n onDelete: () => void;\r\n};\r\n\r\nconst DeleteAction: React.FC<DeleteActionProps> = ({ onDelete, children, ...props }) => {\r\n const handleDelete = () => {\r\n onDelete();\r\n };\r\n\r\n return (\r\n <Button variant=\"danger\" onClick={handleDelete} startIcon={<Trashcan className=\"w-4.5 h-4.5\" />} {...props}>\r\n {children}\r\n </Button>\r\n );\r\n};\r\n\r\ntype ExtraActionsProps = PopoverContentProps & {\r\n children: React.ReactNode;\r\n slotProps?: {\r\n triggerProps?: PopoverTriggerProps;\r\n popoverProps?: PopoverProps;\r\n };\r\n};\r\n\r\nconst ExtraActions: React.FC<ExtraActionsProps> = ({ children, slotProps, className, ...props }) => {\r\n return (\r\n <Popover {...(slotProps?.popoverProps ?? {})}>\r\n <PopoverTrigger {...(slotProps?.triggerProps ?? {})}>\r\n <ElipsisVertical className=\"w-4.5 h-4.5 text-primary\" />\r\n </PopoverTrigger>\r\n <PopoverContent align=\"end\" className={cn(\"w-40\", className)} {...props}>\r\n {children}\r\n </PopoverContent>\r\n </Popover>\r\n );\r\n};\r\n\r\nexport {\r\n DataGrid,\r\n DataGridContent,\r\n DataGridActionBar,\r\n SearchAction,\r\n FreezeAction,\r\n PrintAction,\r\n RefreshAction,\r\n ExtraActions,\r\n DeleteAction,\r\n type DataGridProps,\r\n type DataGridContentProps,\r\n type DatagridActionBarProps,\r\n type SearchActionProps,\r\n type FreezeActionProps,\r\n type RefreshActionProps,\r\n type ExtraActionsProps,\r\n type DeleteActionProps,\r\n useDataGrid,\r\n dataGridDefaultTheme,\r\n};\r\n"],"names":["ModuleRegistry","AllCommunityModule","dataGridDefaultTheme","themeQuartz","DataGridContext","React","useDataGrid","context","DataGrid","children","gridId","api","setApi","rowData","setRowData","actionbarHeight","setActionbarHeight","pinnedRowIds","setPinnedRowIds","quickFilterText","setQuickFilterText","actionbarExists","setActionbarExists","jsx","DataGridContent","forwardRef","propTheme","onGridReady","quickFilterTextProps","rowDataProps","containerStyle","props","ref","theme","useMemo","handleGridReady","e","getRowId","params","finalRowData","finalPinnedTopRowData","pinned","unpinned","data","id","stringId","AgGridReact","DataGridActionBar","className","cn","SearchAction","defaultOpen","isSearchInputOpen","setIsSearchInputOpen","isClosing","setIsClosing","inputRef","handleClear","handleOpen","handleClose","TextField","IconButton","Magnifier","CircleXmark","FreezeAction","freezeText","unFreezeText","onClick","disabled","pinnedRowCount","setPinnedRowCount","selectedRowsCount","setSelectedRowsCount","freezeRows","selectedRows","newPinnedIds","row","unfreezeRows","handleFreezing","Button","Snowflake","PrintAction","handlePrint","element","html","printHtml","Print","RefreshAction","onRefresh","loading","handleRefresh","Refresh","DeleteAction","onDelete","Trashcan","ExtraActions","slotProps","Popover","PopoverTrigger","ElipsisVertical","PopoverContent"],"mappings":"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"}
1
+ {"version":3,"file":"datagrid.es.js","sources":["../src/components/data-grid/DataGrid.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport React, { forwardRef, HTMLAttributes, useMemo } from \"react\";\r\nimport { AgGridReact, AgGridReactProps } from \"ag-grid-react\";\r\nimport { GridApi, GridReadyEvent, themeQuartz, AllCommunityModule, ModuleRegistry, Theme } from \"ag-grid-community\";\r\nimport { CircleXmark, ElipsisVertical, Magnifier, Print, Refresh, Snowflake, Trashcan } from \"@trsys-tech/matrix-icons\";\r\n\r\nimport { cn } from \"../../lib/utils\";\r\nimport { printHtml } from \"../../lib/printHtml\";\r\nimport { TextField } from \"../text-field/TextField\";\r\nimport { Button, ButtonProps } from \"../button/Button\";\r\nimport { IconButton, IconButtonProps } from \"../icon-botton/IconButton\";\r\nimport { Popover, PopoverContent, PopoverContentProps, PopoverProps, PopoverTrigger, PopoverTriggerProps } from \"../popover/Popover\";\r\n\r\n// Register all Community features\r\n// Todo: Register only the required features\r\nModuleRegistry.registerModules([AllCommunityModule]);\r\n\r\nconst dataGridDefaultTheme = themeQuartz.withParams({\r\n fontFamily: \"DMSans\",\r\n fontSize: \"12px\",\r\n headerFontSize: \"12px\",\r\n headerFontWeight: 700,\r\n headerBackgroundColor: \"hsl(var(--primary-50))\",\r\n backgroundColor: \"hsl(var(--gray-0))\",\r\n accentColor: \"hsl(var(--primary-300))\",\r\n foregroundColor: \"hsl(var(--text-500))\",\r\n cellTextColor: \"hsl(var(--text-500))\",\r\n});\r\n\r\ntype DataGridContext = {\r\n api: GridApi | null;\r\n setApi: (value: GridApi) => void;\r\n rowData: any[] | null | undefined;\r\n setRowData: (value: any[] | null | undefined) => void;\r\n gridId: string;\r\n quickFilterText: string;\r\n setQuickFilterText: (value: string) => void;\r\n actionbarExists: boolean;\r\n setActionbarExists: (value: boolean) => void;\r\n actionbarHeight: number;\r\n setActionbarHeight: (value: number) => void;\r\n pinnedRowIds: Set<string>;\r\n setPinnedRowIds: (value: Set<string>) => void;\r\n};\r\n\r\nconst DataGridContext = React.createContext<DataGridContext | null>(null);\r\n\r\nconst useDataGrid = () => {\r\n const context = React.useContext(DataGridContext);\r\n\r\n if (!context) {\r\n throw new Error(\"useDataGrid should be used within <DataGrid>\");\r\n }\r\n\r\n return context;\r\n};\r\n\r\ntype DataGridProps = {\r\n children: React.ReactNode;\r\n};\r\n\r\nconst DataGrid: React.FC<DataGridProps> = ({ children }) => {\r\n const gridId = React.useId();\r\n const [api, setApi] = React.useState<GridApi | null>(null);\r\n const [rowData, setRowData] = React.useState<any[] | null | undefined>([]);\r\n const [actionbarHeight, setActionbarHeight] = React.useState(0);\r\n const [pinnedRowIds, setPinnedRowIds] = React.useState<Set<string>>(new Set());\r\n\r\n const [quickFilterText, setQuickFilterText] = React.useState(\"\");\r\n const [actionbarExists, setActionbarExists] = React.useState(false);\r\n return (\r\n <DataGridContext.Provider\r\n value={{\r\n api,\r\n setApi,\r\n rowData,\r\n setRowData,\r\n gridId,\r\n quickFilterText,\r\n setQuickFilterText,\r\n actionbarExists,\r\n setActionbarExists,\r\n actionbarHeight,\r\n setActionbarHeight,\r\n pinnedRowIds,\r\n setPinnedRowIds,\r\n }}\r\n >\r\n {children}\r\n </DataGridContext.Provider>\r\n );\r\n};\r\n\r\ntype DataGridContentProps = Omit<AgGridReactProps, \"theme\"> & {\r\n theme?: Theme;\r\n};\r\n\r\nconst DataGridContent = forwardRef<AgGridReact, DataGridContentProps>(\r\n ({ theme: propTheme, onGridReady, quickFilterText: quickFilterTextProps, rowData: rowDataProps, containerStyle, getRowId, ...props }, ref) => {\r\n const context = React.useContext(DataGridContext);\r\n\r\n if (!context) {\r\n throw new Error(\"DataGridContent should be used within <DataGrid>\");\r\n }\r\n const { rowData, setRowData, actionbarExists, setApi, setQuickFilterText, quickFilterText, gridId, actionbarHeight, pinnedRowIds } = context;\r\n\r\n const theme = useMemo(() => {\r\n return dataGridDefaultTheme.withParams({\r\n headerHeight: 40,\r\n wrapperBorderRadius: actionbarExists ? \"0px 0px 8px 8px\" : \"8px\",\r\n });\r\n }, [actionbarExists]);\r\n\r\n const handleGridReady = (e: GridReadyEvent) => {\r\n setApi(e.api);\r\n onGridReady?.(e);\r\n };\r\n\r\n React.useEffect(() => {\r\n setRowData(rowDataProps);\r\n }, [rowDataProps, setRowData]);\r\n\r\n React.useEffect(() => {\r\n if (quickFilterTextProps !== undefined) {\r\n setQuickFilterText(quickFilterTextProps ?? \"\");\r\n }\r\n }, [quickFilterTextProps, setQuickFilterText]);\r\n\r\n const { finalRowData, finalPinnedTopRowData } = useMemo(() => {\r\n if (!rowData || pinnedRowIds.size === 0) {\r\n return { finalRowData: rowData, finalPinnedTopRowData: [] };\r\n }\r\n\r\n const pinned: any[] = [];\r\n const unpinned: any[] = [];\r\n\r\n rowData.forEach(data => {\r\n const id = getRowId ? getRowId({ data, level: 0 } as any) : (data as any).id;\r\n const stringId = id !== undefined && id !== null ? String(id) : undefined;\r\n\r\n if (stringId !== undefined && pinnedRowIds.has(stringId)) {\r\n pinned.push(data);\r\n } else {\r\n unpinned.push(data);\r\n }\r\n });\r\n\r\n return { finalRowData: unpinned, finalPinnedTopRowData: pinned };\r\n }, [rowData, pinnedRowIds, getRowId]);\r\n\r\n return (\r\n <AgGridReact\r\n gridId={gridId}\r\n theme={propTheme ?? theme}\r\n rowData={finalRowData}\r\n pinnedTopRowData={finalPinnedTopRowData}\r\n quickFilterText={quickFilterText}\r\n onGridReady={handleGridReady}\r\n containerStyle={{ height: `calc(100% - ${actionbarHeight}px)`, ...containerStyle }}\r\n getRowId={getRowId}\r\n {...props}\r\n ref={ref}\r\n />\r\n );\r\n },\r\n);\r\n\r\nDataGridContent.displayName = \"DataGridContent\";\r\n\r\ntype DatagridActionBarProps = HTMLAttributes<HTMLDivElement> & {};\r\n\r\nconst DataGridActionBar: React.FC<DatagridActionBarProps> = ({ className, ...props }) => {\r\n const context = React.useContext(DataGridContext);\r\n\r\n if (!context) {\r\n throw new Error(\"DataGridActionBar should be used within <DataGrid>\");\r\n }\r\n const ref = React.useRef<HTMLDivElement | null>(null);\r\n const { setActionbarExists, setActionbarHeight } = context;\r\n const { children } = props;\r\n\r\n React.useEffect(() => {\r\n setActionbarExists(true);\r\n return () => setActionbarExists(false);\r\n }, [setActionbarExists]);\r\n\r\n React.useEffect(() => {\r\n if (ref.current) {\r\n setActionbarHeight(ref.current.clientHeight);\r\n }\r\n }, [setActionbarHeight]);\r\n\r\n return (\r\n <div\r\n className={cn(\r\n \"relative flex items-center p-2 h-12 w-full bg-gray-0 border border-gray-200 border-b-0 -mb-[1px] z-10 rounded-t-[8px]\",\r\n className,\r\n )}\r\n ref={ref}\r\n >\r\n {children}\r\n </div>\r\n );\r\n};\r\n\r\ntype SearchActionProps = HTMLAttributes<HTMLDivElement> & {\r\n defaultOpen?: boolean;\r\n};\r\n\r\nconst SearchAction: React.FC<SearchActionProps> = ({ defaultOpen = false, className, ...props }) => {\r\n const context = React.useContext(DataGridContext);\r\n\r\n if (!context) {\r\n throw new Error(\"SearchAction should be used within <DataGrid>\");\r\n }\r\n\r\n const { quickFilterText, setQuickFilterText } = context;\r\n\r\n const [isSearchInputOpen, setIsSearchInputOpen] = React.useState(defaultOpen);\r\n const [isClosing, setIsClosing] = React.useState(false);\r\n const inputRef = React.useRef<HTMLInputElement | null>(null);\r\n\r\n const handleClear = () => {\r\n context.setQuickFilterText(\"\");\r\n if (inputRef.current) {\r\n inputRef.current.focus();\r\n }\r\n };\r\n\r\n const handleOpen = () => {\r\n setIsSearchInputOpen(true);\r\n };\r\n\r\n React.useEffect(() => {\r\n if (isSearchInputOpen && inputRef?.current) {\r\n inputRef.current.focus();\r\n }\r\n }, [isSearchInputOpen]);\r\n\r\n const handleClose = () => {\r\n setIsClosing(true);\r\n context.setQuickFilterText(\"\");\r\n setTimeout(() => {\r\n setIsSearchInputOpen(false);\r\n setIsClosing(false);\r\n }, 200);\r\n };\r\n\r\n return (\r\n <div className={cn(\"max-w-60\", className)} {...props}>\r\n {isSearchInputOpen || isClosing ? (\r\n <TextField\r\n ref={inputRef}\r\n className={cn(\"relative h-7.5\", isSearchInputOpen && !isClosing ? \"animate-input-open\" : \"\", isClosing && \"animate-input-close\")}\r\n onChange={e => setQuickFilterText(e.target.value)}\r\n value={quickFilterText}\r\n startAdornment={\r\n <IconButton variant=\"toolbar\" className=\"p-0.5 h-6 w-6 border-none mx-1\" onClick={handleClose}>\r\n <Magnifier className=\"w-5 h-5\" />\r\n </IconButton>\r\n }\r\n endAdornment={\r\n quickFilterText && (\r\n <IconButton variant=\"toolbar\" className=\"p-0.5 w-6 h-6 border-none mx-1\" onClick={handleClear}>\r\n <CircleXmark className=\"w-5 h-5\" />\r\n </IconButton>\r\n )\r\n }\r\n />\r\n ) : (\r\n <IconButton variant=\"toolbar\" className=\"p-0.5 w-6 h-6 m-1\" onClick={handleOpen}>\r\n <Magnifier className=\"w-5 h-5\" />\r\n </IconButton>\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\ntype FreezeActionProps = ButtonProps & {\r\n freezeText?: string;\r\n unFreezeText?: string;\r\n};\r\n\r\nconst FreezeAction: React.FC<FreezeActionProps> = ({ freezeText, unFreezeText, onClick, disabled, ...props }) => {\r\n const context = React.useContext(DataGridContext);\r\n\r\n if (!context) {\r\n throw new Error(\"FreezeAction should be used within <DataGrid>\");\r\n }\r\n\r\n const [pinnedRowCount, setPinnedRowCount] = React.useState(0);\r\n const [selectedRowsCount, setSelectedRowsCount] = React.useState(0);\r\n\r\n const { api, pinnedRowIds, setPinnedRowIds } = context;\r\n\r\n const freezeRows = () => {\r\n if (!api) return;\r\n\r\n // Get currently selected rows\r\n const selectedRows = api.getSelectedNodes();\r\n\r\n if (selectedRows.length > 0) {\r\n const newPinnedIds = new Set(pinnedRowIds);\r\n selectedRows.forEach(row => {\r\n if (row.id !== undefined) {\r\n newPinnedIds.add(row.id);\r\n }\r\n });\r\n setPinnedRowIds(newPinnedIds);\r\n api.deselectAll();\r\n }\r\n };\r\n\r\n const unfreezeRows = () => {\r\n setPinnedRowIds(new Set());\r\n };\r\n\r\n const handleFreezing = (e: React.MouseEvent<HTMLButtonElement>) => {\r\n if (api) {\r\n const pinnedRowsCount = api.getPinnedTopRowCount();\r\n if (pinnedRowsCount > 0) {\r\n unfreezeRows();\r\n } else {\r\n freezeRows();\r\n }\r\n }\r\n onClick?.(e);\r\n };\r\n\r\n React.useEffect(() => {\r\n api?.addEventListener(\"pinnedRowDataChanged\", () => {\r\n setPinnedRowCount(api.getPinnedTopRowCount());\r\n });\r\n\r\n api?.addEventListener(\"selectionChanged\", () => {\r\n setSelectedRowsCount(api.getSelectedNodes().length);\r\n });\r\n\r\n return () => {\r\n if (api?.isDestroyed()) return;\r\n api?.removeEventListener(\"pinnedRowDataChanged\", () => {\r\n setPinnedRowCount(api.getPinnedTopRowCount());\r\n });\r\n\r\n api?.removeEventListener(\"selectionChanged\", () => {\r\n setSelectedRowsCount(api.getSelectedNodes().length);\r\n });\r\n };\r\n }, [api]);\r\n\r\n return (\r\n <Button\r\n variant=\"text\"\r\n onClick={handleFreezing}\r\n startIcon={<Snowflake className=\"w-4.5 h-4.5\" />}\r\n disabled={(!pinnedRowCount && !selectedRowsCount) || disabled}\r\n {...props}\r\n >\r\n {pinnedRowCount ? (unFreezeText ?? \"Unfreeze\") : (freezeText ?? \"Freeze\")}\r\n </Button>\r\n );\r\n};\r\n\r\ntype PrintActionProps = IconButtonProps & {};\r\n\r\nconst PrintAction: React.FC<PrintActionProps> = ({ children, className, onClick, ...props }) => {\r\n const context = React.useContext(DataGridContext);\r\n\r\n if (!context) {\r\n throw new Error(\"PrintAction should be used within <DataGrid>\");\r\n }\r\n\r\n const handlePrint = (e: React.MouseEvent<HTMLButtonElement>) => {\r\n if (context.api) {\r\n context.api.setGridOption(\"domLayout\", \"print\");\r\n\r\n setTimeout(() => {\r\n const element = document.querySelector(\"[grid-id='\" + context.gridId + \"']\") as HTMLElement;\r\n const header = document.head;\r\n const html = `<html>\r\n ${header.innerHTML}\r\n ${element.outerHTML}\r\n </html>`;\r\n printHtml(html);\r\n context?.api?.setGridOption(\"domLayout\", undefined);\r\n });\r\n }\r\n onClick?.(e);\r\n };\r\n\r\n return (\r\n <IconButton variant=\"toolbar\" className={cn(\"p-0.5 w-6 h-6\", className)} onClick={handlePrint} {...props}>\r\n {children ?? <Print className=\"w-5 h-5\" />}\r\n </IconButton>\r\n );\r\n};\r\n\r\ntype RefreshActionProps = Omit<IconButtonProps, \"onClick\"> & {\r\n onRefresh: () => void;\r\n};\r\n\r\nconst RefreshAction: React.FC<RefreshActionProps> = ({ className, onRefresh, children, loading, ...props }) => {\r\n const context = React.useContext(DataGridContext);\r\n\r\n if (!context) {\r\n throw new Error(\"RefreshAction should be used within <DataGrid>\");\r\n }\r\n\r\n const handleRefresh = () => {\r\n onRefresh();\r\n };\r\n\r\n return (\r\n <IconButton\r\n className={cn(\"p-0.5 w-6 h-6\", loading && \"disabled:bg-transparent\", className)}\r\n variant=\"toolbar\"\r\n onClick={handleRefresh}\r\n disabled={loading}\r\n {...props}\r\n >\r\n {children ?? <Refresh className={cn(\"w-4.5 h-4.5\", loading && \"animate-spin\")} />}\r\n </IconButton>\r\n );\r\n};\r\n\r\ntype DeleteActionProps = Omit<ButtonProps, \"onClick\"> & {\r\n onDelete: () => void;\r\n};\r\n\r\nconst DeleteAction: React.FC<DeleteActionProps> = ({ onDelete, children, ...props }) => {\r\n const handleDelete = () => {\r\n onDelete();\r\n };\r\n\r\n return (\r\n <Button variant=\"danger\" onClick={handleDelete} startIcon={<Trashcan className=\"w-4.5 h-4.5\" />} {...props}>\r\n {children}\r\n </Button>\r\n );\r\n};\r\n\r\ntype ExtraActionsProps = PopoverContentProps & {\r\n children: React.ReactNode;\r\n slotProps?: {\r\n triggerProps?: PopoverTriggerProps;\r\n popoverProps?: PopoverProps;\r\n };\r\n};\r\n\r\nconst ExtraActions: React.FC<ExtraActionsProps> = ({ children, slotProps, className, ...props }) => {\r\n return (\r\n <Popover {...(slotProps?.popoverProps ?? {})}>\r\n <PopoverTrigger {...(slotProps?.triggerProps ?? {})}>\r\n <ElipsisVertical className=\"w-4.5 h-4.5 text-primary\" />\r\n </PopoverTrigger>\r\n <PopoverContent align=\"end\" className={cn(\"w-40\", className)} {...props}>\r\n {children}\r\n </PopoverContent>\r\n </Popover>\r\n );\r\n};\r\n\r\nexport {\r\n DataGrid,\r\n DataGridContent,\r\n DataGridActionBar,\r\n SearchAction,\r\n FreezeAction,\r\n PrintAction,\r\n RefreshAction,\r\n ExtraActions,\r\n DeleteAction,\r\n type DataGridProps,\r\n type DataGridContentProps,\r\n type DatagridActionBarProps,\r\n type SearchActionProps,\r\n type FreezeActionProps,\r\n type RefreshActionProps,\r\n type ExtraActionsProps,\r\n type DeleteActionProps,\r\n useDataGrid,\r\n dataGridDefaultTheme,\r\n};\r\n"],"names":["ModuleRegistry","AllCommunityModule","dataGridDefaultTheme","themeQuartz","DataGridContext","React","useDataGrid","context","DataGrid","children","gridId","api","setApi","rowData","setRowData","actionbarHeight","setActionbarHeight","pinnedRowIds","setPinnedRowIds","quickFilterText","setQuickFilterText","actionbarExists","setActionbarExists","jsx","DataGridContent","forwardRef","propTheme","onGridReady","quickFilterTextProps","rowDataProps","containerStyle","getRowId","props","ref","theme","useMemo","handleGridReady","e","finalRowData","finalPinnedTopRowData","pinned","unpinned","data","id","stringId","AgGridReact","DataGridActionBar","className","cn","SearchAction","defaultOpen","isSearchInputOpen","setIsSearchInputOpen","isClosing","setIsClosing","inputRef","handleClear","handleOpen","handleClose","TextField","IconButton","Magnifier","CircleXmark","FreezeAction","freezeText","unFreezeText","onClick","disabled","pinnedRowCount","setPinnedRowCount","selectedRowsCount","setSelectedRowsCount","freezeRows","selectedRows","newPinnedIds","row","unfreezeRows","handleFreezing","Button","Snowflake","PrintAction","handlePrint","element","html","printHtml","Print","RefreshAction","onRefresh","loading","handleRefresh","Refresh","DeleteAction","onDelete","Trashcan","ExtraActions","slotProps","Popover","PopoverTrigger","ElipsisVertical","PopoverContent"],"mappings":"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"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@trsys-tech/matrix-library",
3
3
  "description": "MatrixUI Library",
4
4
  "private": false,
5
- "version": "0.5.7",
5
+ "version": "0.5.9",
6
6
  "type": "module",
7
7
  "main": "dist/index.js",
8
8
  "module": "dist/index.es.js",