@toolbox-web/grid-react 0.18.1 → 0.18.2

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.
@@ -54,6 +54,9 @@ export interface ExportMethods {
54
54
  * );
55
55
  * }
56
56
  * ```
57
+ * @param selector - Optional CSS selector to target a specific grid element via
58
+ * DOM query instead of using React context. Use when the component contains
59
+ * multiple grids, e.g. `'tbw-grid.primary'` or `'#my-grid'`.
57
60
  */
58
- export declare function useGridExport(): ExportMethods;
61
+ export declare function useGridExport(selector?: string): ExportMethods;
59
62
  //# sourceMappingURL=export.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../../../libs/grid-react/src/features/export.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAGH,OAAO,EAAqB,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAK3G,OAAO,mCAAmC,CAAC;AAE3C;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC;IAEzE;;;;OAIG;IACH,aAAa,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC;IAE3E;;;;OAIG;IACH,YAAY,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC;IAE1E;;OAEG;IACH,WAAW,EAAE,MAAM,OAAO,CAAC;IAE3B;;OAEG;IACH,aAAa,EAAE,MAAM;QAAE,MAAM,EAAE,YAAY,CAAC;QAAC,SAAS,EAAE,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;CACvE;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,aAAa,IAAI,aAAa,CAuE7C"}
1
+ {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../../../libs/grid-react/src/features/export.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAGH,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,YAAY,EAAqB,MAAM,kCAAkC,CAAC;AAK3G,OAAO,mCAAmC,CAAC;AAE3C;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC;IAEzE;;;;OAIG;IACH,aAAa,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC;IAE3E;;;;OAIG;IACH,YAAY,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC;IAE1E;;OAEG;IACH,WAAW,EAAE,MAAM,OAAO,CAAC;IAE3B;;OAEG;IACH,aAAa,EAAE,MAAM;QAAE,MAAM,EAAE,YAAY,CAAC;QAAC,SAAS,EAAE,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;CACvE;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,aAAa,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,aAAa,CAuE9D"}
@@ -1,8 +1,8 @@
1
- import { useContext as g, useCallback as n } from "react";
2
- import { G as c } from "../chunks/grid-element-context-BU3WvNtM.js";
1
+ import { useContext as c, useCallback as n } from "react";
2
+ import { G as a } from "../chunks/grid-element-context-BU3WvNtM.js";
3
3
  import "@toolbox-web/grid/features/export";
4
- function E() {
5
- const i = g(c), t = n(() => i?.current?.getPluginByName("export"), [i]), x = n(
4
+ function m(i) {
5
+ const x = c(a), t = n(() => (i ? document.querySelector(i) : x?.current)?.getPluginByName("export"), [x, i]), p = n(
6
6
  (r, o) => {
7
7
  const e = t();
8
8
  if (!e) {
@@ -17,7 +17,7 @@ function E() {
17
17
  e.exportCsv({ ...o, fileName: r ?? o?.fileName ?? "export.csv" });
18
18
  },
19
19
  [t]
20
- ), p = n(
20
+ ), l = n(
21
21
  (r, o) => {
22
22
  const e = t();
23
23
  if (!e) {
@@ -32,7 +32,7 @@ function E() {
32
32
  e.exportExcel({ ...o, fileName: r ?? o?.fileName ?? "export.xlsx" });
33
33
  },
34
34
  [t]
35
- ), l = n(
35
+ ), u = n(
36
36
  (r, o) => {
37
37
  const e = t();
38
38
  if (!e) {
@@ -47,15 +47,15 @@ function E() {
47
47
  e.exportJson({ ...o, fileName: r ?? o?.fileName ?? "export.json" });
48
48
  },
49
49
  [t]
50
- ), s = n(() => t()?.isExporting() ?? !1, [t]), u = n(() => t()?.getLastExport() ?? null, [t]);
50
+ ), s = n(() => t()?.isExporting() ?? !1, [t]), g = n(() => t()?.getLastExport() ?? null, [t]);
51
51
  return {
52
- exportToCsv: x,
53
- exportToExcel: p,
54
- exportToJson: l,
52
+ exportToCsv: p,
53
+ exportToExcel: l,
54
+ exportToJson: u,
55
55
  isExporting: s,
56
- getLastExport: u
56
+ getLastExport: g
57
57
  };
58
58
  }
59
59
  export {
60
- E as useGridExport
60
+ m as useGridExport
61
61
  };
@@ -90,6 +90,9 @@ export interface FilteringMethods {
90
90
  * );
91
91
  * }
92
92
  * ```
93
+ * @param selector - Optional CSS selector to target a specific grid element via
94
+ * DOM query instead of using React context. Use when the component contains
95
+ * multiple grids, e.g. `'tbw-grid.primary'` or `'#my-grid'`.
93
96
  */
94
- export declare function useGridFiltering(): FilteringMethods;
97
+ export declare function useGridFiltering(selector?: string): FilteringMethods;
95
98
  //# sourceMappingURL=filtering.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"filtering.d.ts","sourceRoot":"","sources":["../../../../libs/grid-react/src/features/filtering.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAGH,OAAO,EAEL,KAAK,SAAS,EAEd,KAAK,WAAW,EAEjB,MAAM,qCAAqC,CAAC;AAgC7C;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IAE9G;;OAEG;IACH,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,WAAW,GAAG,SAAS,CAAC;IAEtD;;OAEG;IACH,UAAU,EAAE,MAAM,WAAW,EAAE,CAAC;IAEhC;;;OAGG;IACH,cAAc,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IAEjF;;;OAGG;IACH,eAAe,EAAE,CAAC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IAE1D;;;OAGG;IACH,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IAE1E;;OAEG;IACH,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IAE5C;;OAEG;IACH,mBAAmB,EAAE,MAAM,MAAM,CAAC;IAElC;;OAEG;IACH,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,EAAE,CAAC;IAE9C;;OAEG;IACH,eAAe,EAAE,MAAM,WAAW,EAAE,CAAC;IAErC;;OAEG;IACH,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC;IAE3C;;OAEG;IACH,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;CAC7D;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,gBAAgB,IAAI,gBAAgB,CAuHnD"}
1
+ {"version":3,"file":"filtering.d.ts","sourceRoot":"","sources":["../../../../libs/grid-react/src/features/filtering.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAGH,OAAO,EAEL,KAAK,SAAS,EAEd,KAAK,WAAW,EAEjB,MAAM,qCAAqC,CAAC;AAgC7C;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IAE9G;;OAEG;IACH,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,WAAW,GAAG,SAAS,CAAC;IAEtD;;OAEG;IACH,UAAU,EAAE,MAAM,WAAW,EAAE,CAAC;IAEhC;;;OAGG;IACH,cAAc,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IAEjF;;;OAGG;IACH,eAAe,EAAE,CAAC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IAE1D;;;OAGG;IACH,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IAE1E;;OAEG;IACH,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IAE5C;;OAEG;IACH,mBAAmB,EAAE,MAAM,MAAM,CAAC;IAElC;;OAEG;IACH,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,EAAE,CAAC;IAE9C;;OAEG;IACH,eAAe,EAAE,MAAM,WAAW,EAAE,CAAC;IAErC;;OAEG;IACH,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC;IAE3C;;OAEG;IACH,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;CAC7D;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAuHpE"}
@@ -1,28 +1,28 @@
1
1
  import { FilteringPlugin as c } from "@toolbox-web/grid/plugins/filtering";
2
- import { useContext as h, useCallback as n } from "react";
3
- import { flushSync as G } from "react-dom";
4
- import { createRoot as R } from "react-dom/client";
2
+ import { useContext as G, useCallback as n } from "react";
3
+ import { flushSync as R } from "react-dom";
4
+ import { createRoot as y } from "react-dom/client";
5
5
  import { registerFeature as E } from "@toolbox-web/grid/features/registry";
6
- import { G as y } from "../chunks/grid-element-context-BU3WvNtM.js";
6
+ import { G as k } from "../chunks/grid-element-context-BU3WvNtM.js";
7
7
  E("filtering", (l) => {
8
8
  if (typeof l == "boolean") return new c();
9
9
  if (!l) return new c();
10
- const e = l, g = { ...e };
11
- if (typeof e.filterPanelRenderer == "function" && e.filterPanelRenderer.length <= 1) {
12
- const s = e.filterPanelRenderer;
13
- g.filterPanelRenderer = (a, d) => {
14
- const o = document.createElement("div");
15
- o.style.display = "contents";
16
- const f = R(o);
17
- G(() => {
10
+ const o = l, e = { ...o };
11
+ if (typeof o.filterPanelRenderer == "function" && o.filterPanelRenderer.length <= 1) {
12
+ const s = o.filterPanelRenderer;
13
+ e.filterPanelRenderer = (a, d) => {
14
+ const g = document.createElement("div");
15
+ g.style.display = "contents";
16
+ const f = y(g);
17
+ R(() => {
18
18
  f.render(s(d));
19
- }), a.appendChild(o);
19
+ }), a.appendChild(g);
20
20
  };
21
21
  }
22
- return new c(g);
22
+ return new c(e);
23
23
  });
24
- function S() {
25
- const l = h(y), e = n(() => l?.current?.getPluginByName("filtering"), [l]), g = n(
24
+ function x(l) {
25
+ const o = G(k), e = n(() => (l ? document.querySelector(l) : o?.current)?.getPluginByName("filtering"), [o, l]), s = n(
26
26
  (t, i, r) => {
27
27
  const u = e();
28
28
  if (!u) {
@@ -37,7 +37,7 @@ function S() {
37
37
  u.setFilter(t, i, r);
38
38
  },
39
39
  [e]
40
- ), s = n((t) => e()?.getFilter(t), [e]), a = n(() => e()?.getFilters() ?? [], [e]), d = n(
40
+ ), a = n((t) => e()?.getFilter(t), [e]), d = n(() => e()?.getFilters() ?? [], [e]), g = n(
41
41
  (t, i) => {
42
42
  const r = e();
43
43
  if (!r) {
@@ -52,7 +52,7 @@ function S() {
52
52
  r.setFilterModel(t, i);
53
53
  },
54
54
  [e]
55
- ), o = n(
55
+ ), f = n(
56
56
  (t) => {
57
57
  const i = e();
58
58
  if (!i) {
@@ -67,7 +67,7 @@ function S() {
67
67
  i.clearAllFilters(t);
68
68
  },
69
69
  [e]
70
- ), f = n(
70
+ ), F = n(
71
71
  (t, i) => {
72
72
  const r = e();
73
73
  if (!r) {
@@ -82,10 +82,10 @@ function S() {
82
82
  r.clearFieldFilter(t, i);
83
83
  },
84
84
  [e]
85
- ), F = n((t) => e()?.isFieldFiltered(t) ?? !1, [e]), p = n(() => e()?.getFilteredRowCount() ?? 0, [e]), m = n((t) => e()?.getUniqueValues(t) ?? [], [e]), w = n(() => e()?.getStaleFilters() ?? [], [e]), b = n(
85
+ ), p = n((t) => e()?.isFieldFiltered(t) ?? !1, [e]), m = n(() => e()?.getFilteredRowCount() ?? 0, [e]), w = n((t) => e()?.getUniqueValues(t) ?? [], [e]), b = n(() => e()?.getStaleFilters() ?? [], [e]), P = n(
86
86
  (t) => e()?.getBlankMode(t) ?? "all",
87
87
  [e]
88
- ), P = n(
88
+ ), h = n(
89
89
  (t, i) => {
90
90
  const r = e();
91
91
  if (!r) {
@@ -102,20 +102,20 @@ function S() {
102
102
  [e]
103
103
  );
104
104
  return {
105
- setFilter: g,
106
- getFilter: s,
107
- getFilters: a,
108
- setFilterModel: d,
109
- clearAllFilters: o,
110
- clearFieldFilter: f,
111
- isFieldFiltered: F,
112
- getFilteredRowCount: p,
113
- getUniqueValues: m,
114
- getStaleFilters: w,
115
- getBlankMode: b,
116
- toggleBlankFilter: P
105
+ setFilter: s,
106
+ getFilter: a,
107
+ getFilters: d,
108
+ setFilterModel: g,
109
+ clearAllFilters: f,
110
+ clearFieldFilter: F,
111
+ isFieldFiltered: p,
112
+ getFilteredRowCount: m,
113
+ getUniqueValues: w,
114
+ getStaleFilters: b,
115
+ getBlankMode: P,
116
+ toggleBlankFilter: h
117
117
  };
118
118
  }
119
119
  export {
120
- S as useGridFiltering
120
+ x as useGridFiltering
121
121
  };
@@ -38,6 +38,9 @@ export interface PrintMethods {
38
38
  * );
39
39
  * }
40
40
  * ```
41
+ * @param selector - Optional CSS selector to target a specific grid element via
42
+ * DOM query instead of using React context. Use when the component contains
43
+ * multiple grids, e.g. `'tbw-grid.primary'` or `'#my-grid'`.
41
44
  */
42
- export declare function useGridPrint(): PrintMethods;
45
+ export declare function useGridPrint(selector?: string): PrintMethods;
43
46
  //# sourceMappingURL=print.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"print.d.ts","sourceRoot":"","sources":["../../../../libs/grid-react/src/features/print.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAGH,OAAO,EAAoB,KAAK,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAKrF,OAAO,kCAAkC,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/C;;OAEG;IACH,UAAU,EAAE,MAAM,OAAO,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,YAAY,IAAI,YAAY,CAyB3C"}
1
+ {"version":3,"file":"print.d.ts","sourceRoot":"","sources":["../../../../libs/grid-react/src/features/print.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAGH,OAAO,EAAE,KAAK,WAAW,EAAoB,MAAM,iCAAiC,CAAC;AAKrF,OAAO,kCAAkC,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/C;;OAEG;IACH,UAAU,EAAE,MAAM,OAAO,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,YAAY,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,YAAY,CAyB5D"}
package/features/print.js CHANGED
@@ -1,11 +1,11 @@
1
- import { useContext as g, useCallback as t } from "react";
2
- import { G as u } from "../chunks/grid-element-context-BU3WvNtM.js";
1
+ import { useContext as s, useCallback as r } from "react";
2
+ import { G as a } from "../chunks/grid-element-context-BU3WvNtM.js";
3
3
  import "@toolbox-web/grid/features/print";
4
- function l() {
5
- const r = g(u), n = t(() => r?.current?.getPluginByName("print"), [r]), o = t(
6
- async (i) => {
7
- const e = n();
8
- if (!e) {
4
+ function l(t) {
5
+ const i = s(a), n = r(() => (t ? document.querySelector(t) : i?.current)?.getPluginByName("print"), [i, t]), u = r(
6
+ async (e) => {
7
+ const o = n();
8
+ if (!o) {
9
9
  console.warn(
10
10
  `[tbw-grid:print] PrintPlugin not found.
11
11
 
@@ -14,11 +14,11 @@ function l() {
14
14
  );
15
15
  return;
16
16
  }
17
- await e.print(i);
17
+ await o.print(e);
18
18
  },
19
19
  [n]
20
- ), s = t(() => n()?.isPrinting() ?? !1, [n]);
21
- return { print: o, isPrinting: s };
20
+ ), g = r(() => n()?.isPrinting() ?? !1, [n]);
21
+ return { print: u, isPrinting: g };
22
22
  }
23
23
  export {
24
24
  l as useGridPrint
@@ -61,6 +61,9 @@ export interface SelectionMethods<TRow = unknown> {
61
61
  * return <button onClick={handleExport}>Export Selected</button>;
62
62
  * }
63
63
  * ```
64
+ * @param selector - Optional CSS selector to target a specific grid element via
65
+ * DOM query instead of using React context. Use when the component contains
66
+ * multiple grids, e.g. `'tbw-grid.primary'` or `'#my-grid'`.
64
67
  */
65
- export declare function useGridSelection<TRow = unknown>(): SelectionMethods<TRow>;
68
+ export declare function useGridSelection<TRow = unknown>(selector?: string): SelectionMethods<TRow>;
66
69
  //# sourceMappingURL=selection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"selection.d.ts","sourceRoot":"","sources":["../../../../libs/grid-react/src/features/selection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAGH,OAAO,EAAwB,KAAK,SAAS,EAAE,KAAK,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAKjH,OAAO,sCAAsC,CAAC;AAE9C;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB,CAAC,IAAI,GAAG,OAAO;IAC9C;;OAEG;IACH,SAAS,EAAE,MAAM,IAAI,CAAC;IAEtB;;OAEG;IACH,cAAc,EAAE,MAAM,IAAI,CAAC;IAE3B;;;OAGG;IACH,YAAY,EAAE,MAAM,eAAe,GAAG,IAAI,CAAC;IAE3C;;OAEG;IACH,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IAEtD;;OAEG;IACH,SAAS,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,IAAI,CAAC;IAEzC;;;;;;;;OAQG;IACH,eAAe,EAAE,MAAM,IAAI,EAAE,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,GAAG,OAAO,KAAK,gBAAgB,CAAC,IAAI,CAAC,CAuEzE"}
1
+ {"version":3,"file":"selection.d.ts","sourceRoot":"","sources":["../../../../libs/grid-react/src/features/selection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAGH,OAAO,EAAE,KAAK,SAAS,EAAwB,KAAK,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAKjH,OAAO,sCAAsC,CAAC;AAE9C;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB,CAAC,IAAI,GAAG,OAAO;IAC9C;;OAEG;IACH,SAAS,EAAE,MAAM,IAAI,CAAC;IAEtB;;OAEG;IACH,cAAc,EAAE,MAAM,IAAI,CAAC;IAE3B;;;OAGG;IACH,YAAY,EAAE,MAAM,eAAe,GAAG,IAAI,CAAC;IAE3C;;OAEG;IACH,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IAEtD;;OAEG;IACH,SAAS,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,IAAI,CAAC;IAEzC;;;;;;;;OAQG;IACH,eAAe,EAAE,MAAM,IAAI,EAAE,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,GAAG,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAuE1F"}
@@ -1,8 +1,8 @@
1
- import { useContext as m, useCallback as n } from "react";
2
- import { G as S } from "../chunks/grid-element-context-BU3WvNtM.js";
1
+ import { useContext as w, useCallback as n } from "react";
2
+ import { G as C } from "../chunks/grid-element-context-BU3WvNtM.js";
3
3
  import "@toolbox-web/grid/features/selection";
4
- function h() {
5
- const l = m(S), e = n(() => l?.current?.getPluginByName("selection"), [l]), g = n(() => {
4
+ function G(o) {
5
+ const l = w(C), e = n(() => (o ? document.querySelector(o) : l?.current)?.getPluginByName("selection"), [l, o]), g = n(() => {
6
6
  const t = e();
7
7
  if (!t) {
8
8
  console.warn(
@@ -13,35 +13,35 @@ function h() {
13
13
  );
14
14
  return;
15
15
  }
16
- const o = l?.current, i = t.config?.mode;
17
- if (i === "row") {
18
- const c = o?.rows?.length ?? 0, r = /* @__PURE__ */ new Set();
19
- for (let s = 0; s < c; s++) r.add(s);
20
- t.selected = r, t.requestAfterRender?.();
21
- } else if (i === "range") {
22
- const c = o?.rows?.length ?? 0, r = o?._columns?.length ?? 0;
23
- c > 0 && r > 0 && t.setRanges([{ from: { row: 0, col: 0 }, to: { row: c - 1, col: r - 1 } }]);
16
+ const r = o ? document.querySelector(o) : l?.current, u = t.config?.mode;
17
+ if (u === "row") {
18
+ const s = r?.rows?.length ?? 0, c = /* @__PURE__ */ new Set();
19
+ for (let i = 0; i < s; i++) c.add(i);
20
+ t.selected = c, t.requestAfterRender?.();
21
+ } else if (u === "range") {
22
+ const s = r?.rows?.length ?? 0, c = r?._columns?.length ?? 0;
23
+ s > 0 && c > 0 && t.setRanges([{ from: { row: 0, col: 0 }, to: { row: s - 1, col: c - 1 } }]);
24
24
  }
25
- }, [e, l]), u = n(() => {
25
+ }, [e, l, o]), d = n(() => {
26
26
  e()?.clearSelection();
27
- }, [e]), d = n(() => e()?.getSelection() ?? null, [e]), a = n(
28
- (t, o) => e()?.isCellSelected(t, o) ?? !1,
27
+ }, [e]), a = n(() => e()?.getSelection() ?? null, [e]), f = n(
28
+ (t, r) => e()?.isCellSelected(t, r) ?? !1,
29
29
  [e]
30
- ), f = n(
30
+ ), m = n(
31
31
  (t) => {
32
32
  e()?.setRanges(t);
33
33
  },
34
34
  [e]
35
- ), w = n(() => e()?.getSelectedRows() ?? [], [e]);
35
+ ), S = n(() => e()?.getSelectedRows() ?? [], [e]);
36
36
  return {
37
37
  selectAll: g,
38
- clearSelection: u,
39
- getSelection: d,
40
- isCellSelected: a,
41
- setRanges: f,
42
- getSelectedRows: w
38
+ clearSelection: d,
39
+ getSelection: a,
40
+ isCellSelected: f,
41
+ setRanges: m,
42
+ getSelectedRows: S
43
43
  };
44
44
  }
45
45
  export {
46
- h as useGridSelection
46
+ G as useGridSelection
47
47
  };
@@ -73,6 +73,9 @@ export interface UndoRedoMethods {
73
73
  * );
74
74
  * }
75
75
  * ```
76
+ * @param selector - Optional CSS selector to target a specific grid element via
77
+ * DOM query instead of using React context. Use when the component contains
78
+ * multiple grids, e.g. `'tbw-grid.primary'` or `'#my-grid'`.
76
79
  */
77
- export declare function useGridUndoRedo(): UndoRedoMethods;
80
+ export declare function useGridUndoRedo(selector?: string): UndoRedoMethods;
78
81
  //# sourceMappingURL=undo-redo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"undo-redo.d.ts","sourceRoot":"","sources":["../../../../libs/grid-react/src/features/undo-redo.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAGH,OAAO,EAAuB,KAAK,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAK/F,OAAO,sCAAsC,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,IAAI,EAAE,MAAM,cAAc,GAAG,IAAI,CAAC;IAElC;;;OAGG;IACH,IAAI,EAAE,MAAM,cAAc,GAAG,IAAI,CAAC;IAElC;;OAEG;IACH,OAAO,EAAE,MAAM,OAAO,CAAC;IAEvB;;OAEG;IACH,OAAO,EAAE,MAAM,OAAO,CAAC;IAEvB;;OAEG;IACH,YAAY,EAAE,MAAM,IAAI,CAAC;IAEzB;;OAEG;IACH,YAAY,EAAE,MAAM,cAAc,EAAE,CAAC;IAErC;;OAEG;IACH,YAAY,EAAE,MAAM,cAAc,EAAE,CAAC;IAErC;;;OAGG;IACH,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAE5F;;;;OAIG;IACH,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAE7B;;;;;OAKG;IACH,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,eAAe,IAAI,eAAe,CA6GjD"}
1
+ {"version":3,"file":"undo-redo.d.ts","sourceRoot":"","sources":["../../../../libs/grid-react/src/features/undo-redo.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAGH,OAAO,EAAE,KAAK,cAAc,EAAuB,MAAM,qCAAqC,CAAC;AAK/F,OAAO,sCAAsC,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,IAAI,EAAE,MAAM,cAAc,GAAG,IAAI,CAAC;IAElC;;;OAGG;IACH,IAAI,EAAE,MAAM,cAAc,GAAG,IAAI,CAAC;IAElC;;OAEG;IACH,OAAO,EAAE,MAAM,OAAO,CAAC;IAEvB;;OAEG;IACH,OAAO,EAAE,MAAM,OAAO,CAAC;IAEvB;;OAEG;IACH,YAAY,EAAE,MAAM,IAAI,CAAC;IAEzB;;OAEG;IACH,YAAY,EAAE,MAAM,cAAc,EAAE,CAAC;IAErC;;OAEG;IACH,YAAY,EAAE,MAAM,cAAc,EAAE,CAAC;IAErC;;;OAGG;IACH,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAE5F;;;;OAIG;IACH,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAE7B;;;;;OAKG;IACH,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,eAAe,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,eAAe,CA6GlE"}
@@ -1,8 +1,8 @@
1
- import { useContext as U, useCallback as d } from "react";
2
- import { G as p } from "../chunks/grid-element-context-BU3WvNtM.js";
1
+ import { useContext as p, useCallback as d } from "react";
2
+ import { G as E } from "../chunks/grid-element-context-BU3WvNtM.js";
3
3
  import "@toolbox-web/grid/features/undo-redo";
4
- function m() {
5
- const e = U(p), n = d(() => e?.current?.getPluginByName("undoRedo"), [e]), r = d(() => {
4
+ function h(e) {
5
+ const t = p(E), n = d(() => (e ? document.querySelector(e) : t?.current)?.getPluginByName("undoRedo"), [t, e]), i = d(() => {
6
6
  const o = n();
7
7
  return o ? o.undo() : (console.warn(
8
8
  `[tbw-grid:undoRedo] UndoRedoPlugin not found.
@@ -10,7 +10,7 @@ function m() {
10
10
  → Enable undo/redo on the grid:
11
11
  <DataGrid editing="dblclick" undoRedo />`
12
12
  ), null);
13
- }, [n]), i = d(() => {
13
+ }, [n]), u = d(() => {
14
14
  const o = n();
15
15
  return o ? o.redo() : (console.warn(
16
16
  `[tbw-grid:undoRedo] UndoRedoPlugin not found.
@@ -18,7 +18,7 @@ function m() {
18
18
  → Enable undo/redo on the grid:
19
19
  <DataGrid editing="dblclick" undoRedo />`
20
20
  ), null);
21
- }, [n]), u = d(() => n()?.canUndo() ?? !1, [n]), c = d(() => n()?.canRedo() ?? !1, [n]), l = d(() => {
21
+ }, [n]), c = d(() => n()?.canUndo() ?? !1, [n]), a = d(() => n()?.canRedo() ?? !1, [n]), l = d(() => {
22
22
  const o = n();
23
23
  if (!o) {
24
24
  console.warn(
@@ -30,10 +30,10 @@ function m() {
30
30
  return;
31
31
  }
32
32
  o.clearHistory();
33
- }, [n]), a = d(() => n()?.getUndoStack() ?? [], [n]), g = d(() => n()?.getRedoStack() ?? [], [n]), s = d(
34
- (o, f, w, k) => {
35
- const t = n();
36
- if (!t) {
33
+ }, [n]), g = d(() => n()?.getUndoStack() ?? [], [n]), s = d(() => n()?.getRedoStack() ?? [], [n]), R = d(
34
+ (o, w, k, U) => {
35
+ const r = n();
36
+ if (!r) {
37
37
  console.warn(
38
38
  `[tbw-grid:undoRedo] UndoRedoPlugin not found.
39
39
 
@@ -42,10 +42,10 @@ function m() {
42
42
  );
43
43
  return;
44
44
  }
45
- t.recordEdit(o, f, w, k);
45
+ r.recordEdit(o, w, k, U);
46
46
  },
47
47
  [n]
48
- ), R = d(() => {
48
+ ), b = d(() => {
49
49
  const o = n();
50
50
  if (!o) {
51
51
  console.warn(
@@ -57,7 +57,7 @@ function m() {
57
57
  return;
58
58
  }
59
59
  o.beginTransaction();
60
- }, [n]), b = d(() => {
60
+ }, [n]), f = d(() => {
61
61
  const o = n();
62
62
  if (!o) {
63
63
  console.warn(
@@ -71,18 +71,18 @@ function m() {
71
71
  o.endTransaction();
72
72
  }, [n]);
73
73
  return {
74
- undo: r,
75
- redo: i,
76
- canUndo: u,
77
- canRedo: c,
74
+ undo: i,
75
+ redo: u,
76
+ canUndo: c,
77
+ canRedo: a,
78
78
  clearHistory: l,
79
- getUndoStack: a,
80
- getRedoStack: g,
81
- recordEdit: s,
82
- beginTransaction: R,
83
- endTransaction: b
79
+ getUndoStack: g,
80
+ getRedoStack: s,
81
+ recordEdit: R,
82
+ beginTransaction: b,
83
+ endTransaction: f
84
84
  };
85
85
  }
86
86
  export {
87
- m as useGridUndoRedo
87
+ h as useGridUndoRedo
88
88
  };