@svgrid/grid-wc 2.6.2 → 2.7.0

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.
Files changed (48) hide show
  1. package/dist/{GridMenus-CU_-Ks4f.js → GridMenus-DE0zNY_3.js} +263 -242
  2. package/dist/{SvDateTimePicker-Ch1Vug8H.js → SvDateTimePicker-BpeEupA2.js} +81 -81
  3. package/dist/{SvGrid.helpers-CgUd39VT.js → SvGrid.helpers-BZPDBcza.js} +27 -11
  4. package/dist/{SvGridCellEditor-CBJUbAsR.js → SvGridCellEditor-_rqEaig7.js} +148 -140
  5. package/dist/{SvGridChart-BztTavvw.js → SvGridChart-yK5Zv85y.js} +158 -158
  6. package/dist/{SvGridChartPanel-Ca5HWIZ3.js → SvGridChartPanel-B38_VjXM.js} +52 -52
  7. package/dist/{SvGridChartView-AcWj_tcs.js → SvGridChartView-ScXTF6t-.js} +4 -4
  8. package/dist/{SvGridDropdown-BXqvR1cs.js → SvGridDropdown-DnAESFDu.js} +29 -29
  9. package/dist/angular/fesm2022/svgrid-grid-wc-angular.mjs +358 -0
  10. package/dist/angular/fesm2022/svgrid-grid-wc-angular.mjs.map +1 -0
  11. package/dist/angular/package.json +25 -0
  12. package/dist/angular/types/svgrid-grid-wc-angular.d.ts +161 -0
  13. package/dist/{client-DoXxrq8q.js → client-DjwUji8D.js} +1 -1
  14. package/dist/column-resize-DvCRUrN3.js +101 -0
  15. package/dist/{dismissable-xj_k_fnZ.js → dismissable-Nx79OIVg.js} +36 -36
  16. package/dist/react/index.d.ts +313 -0
  17. package/dist/react/index.js +72 -0
  18. package/dist/row-resize-D-8s3cqT.js +94 -0
  19. package/dist/shadow/GridMenus-DE0zNY_3.js +1022 -0
  20. package/dist/shadow/SvDateTimePicker-BpeEupA2.js +1885 -0
  21. package/dist/shadow/SvGrid.helpers-BZPDBcza.js +125 -0
  22. package/dist/shadow/SvGridCellEditor-_rqEaig7.js +531 -0
  23. package/dist/shadow/SvGridChart-yK5Zv85y.js +1199 -0
  24. package/dist/shadow/SvGridChartPanel-B38_VjXM.js +584 -0
  25. package/dist/shadow/SvGridChartView-ScXTF6t-.js +50 -0
  26. package/dist/shadow/SvGridDropdown-DnAESFDu.js +256 -0
  27. package/dist/shadow/cell-formatting-C0OsDmi_.js +86 -0
  28. package/dist/shadow/chart-uvs3sFJA.js +1220 -0
  29. package/dist/shadow/client-DjwUji8D.js +2960 -0
  30. package/dist/shadow/column-resize-DvCRUrN3.js +101 -0
  31. package/dist/shadow/dismissable-Nx79OIVg.js +186 -0
  32. package/dist/shadow/editor-contract-peBDxir_.js +22 -0
  33. package/dist/shadow/editor-registry-DxGKqcvx.js +24 -0
  34. package/dist/shadow/export-format-C8kZGZfz.js +161 -0
  35. package/dist/shadow/popover-WsGlvtQv.js +69 -0
  36. package/dist/shadow/row-drag-touch-Ddaa-QeB.js +91 -0
  37. package/dist/shadow/row-resize-D-8s3cqT.js +94 -0
  38. package/dist/shadow/sv-grid-shadow-element.d.ts +246 -0
  39. package/dist/shadow/sv-grid-shadow-element.js +10067 -0
  40. package/dist/{svelte-virtualizer.svelte-CFoYP2Ls.js → shadow/svelte-virtualizer.svelte-DZ9UcyfT.js} +35 -30
  41. package/dist/shadow/validate-CgmAtX1A.js +75 -0
  42. package/dist/sv-grid-element.d.ts +246 -0
  43. package/dist/sv-grid-element.js +3619 -2692
  44. package/dist/svelte-virtualizer.svelte-DZ9UcyfT.js +527 -0
  45. package/dist/validate-CgmAtX1A.js +75 -0
  46. package/dist/vue/index.d.ts +147 -0
  47. package/dist/vue/index.js +72 -0
  48. package/package.json +71 -6
@@ -0,0 +1,101 @@
1
+ //#region ../grid/dist/column-resize.js
2
+ var e = "sv-grid-resize-handle";
3
+ function t(t, n) {
4
+ let r = n, i = null, a = null, o = 0, s = () => r.min ?? 40;
5
+ function c(e) {
6
+ return e.closest("[data-svgrid-header-col]")?.dataset.svgridHeaderCol ?? null;
7
+ }
8
+ function l() {
9
+ i && r.onResize(i.columnId, o);
10
+ }
11
+ function u(e) {
12
+ i && (o = Math.max(s(), i.startWidth + (e.clientX - i.startX)), a === null && (a = requestAnimationFrame(() => {
13
+ a = null, l();
14
+ })));
15
+ }
16
+ function d(e) {
17
+ if (i) {
18
+ a !== null && (cancelAnimationFrame(a), a = null), o = Math.max(s(), i.startWidth + (e.clientX - i.startX)), l(), i.handle.classList.remove("is-resizing"), m(i.handle, i.columnId);
19
+ try {
20
+ i.handle.releasePointerCapture(e.pointerId);
21
+ } catch {}
22
+ i = null, window.removeEventListener("pointermove", u), window.removeEventListener("pointerup", d), window.removeEventListener("pointercancel", d), document.body.style.cursor = "";
23
+ }
24
+ }
25
+ function f(t) {
26
+ if (r.disabled) return;
27
+ let n = t.target;
28
+ if (!n?.classList.contains(e)) return;
29
+ let a = c(n);
30
+ if (!(!a || r.canResize?.(a) === !1)) {
31
+ t.preventDefault(), t.stopPropagation(), n.classList.add("is-resizing"), o = r.getWidth(a), i = {
32
+ columnId: a,
33
+ startX: t.clientX,
34
+ startWidth: o,
35
+ handle: n
36
+ };
37
+ try {
38
+ n.setPointerCapture(t.pointerId);
39
+ } catch {}
40
+ document.body.style.cursor = "col-resize", window.addEventListener("pointermove", u), window.addEventListener("pointerup", d), window.addEventListener("pointercancel", d);
41
+ }
42
+ }
43
+ function p(t) {
44
+ if (r.disabled) return;
45
+ let n = t.target;
46
+ if (!n?.classList.contains(e)) return;
47
+ let i = t.shiftKey ? 1 : 10, a = 0;
48
+ if (t.key === "ArrowLeft") a = -i;
49
+ else if (t.key === "ArrowRight") a = i;
50
+ else return;
51
+ let o = c(n);
52
+ if (!o || r.canResize?.(o) === !1) return;
53
+ t.preventDefault(), t.stopPropagation();
54
+ let l = Math.max(s(), Math.round(r.getWidth(o) + a));
55
+ r.onResize(o, l), m(n, o);
56
+ }
57
+ function m(e, t) {
58
+ let n = Math.round(r.getWidth(t));
59
+ e.setAttribute("aria-valuenow", String(n)), e.setAttribute("aria-valuemin", String(s())), e.setAttribute("aria-valuetext", `${n} pixels`);
60
+ }
61
+ function h() {
62
+ if (r.disabled) {
63
+ g();
64
+ return;
65
+ }
66
+ let n = t.querySelectorAll("th.sv-grid-column[data-svgrid-header-col]");
67
+ for (let t of n) {
68
+ if (t.classList.contains("sv-grid-column-spacer")) continue;
69
+ let n = t.dataset.svgridHeaderCol;
70
+ if (!n) continue;
71
+ if (r.canResize?.(n) === !1) {
72
+ t.querySelector(`:scope > .${e}`)?.remove();
73
+ continue;
74
+ }
75
+ if (t.querySelector(`:scope > .${e}`)) continue;
76
+ let i = document.createElement("div");
77
+ i.className = e, i.setAttribute("role", "separator"), i.setAttribute("aria-orientation", "vertical"), i.setAttribute("aria-label", `Resize ${r.label?.(n) ?? n}`), i.tabIndex = 0, m(i, n), i.addEventListener("dblclick", (e) => {
78
+ e.stopPropagation(), e.preventDefault(), !r.disabled && (r.onAutosize?.(n), m(i, n));
79
+ }), t.appendChild(i);
80
+ }
81
+ }
82
+ function g() {
83
+ t.querySelectorAll(`.${e}`).forEach((e) => e.remove());
84
+ }
85
+ t.addEventListener("pointerdown", f, { capture: !0 }), t.addEventListener("keydown", p, { capture: !0 });
86
+ let _ = new MutationObserver(() => h());
87
+ return _.observe(t, {
88
+ childList: !0,
89
+ subtree: !0
90
+ }), h(), {
91
+ update(e) {
92
+ let t = r.disabled;
93
+ r = e, t !== r.disabled && h();
94
+ },
95
+ destroy() {
96
+ t.removeEventListener("pointerdown", f, { capture: !0 }), t.removeEventListener("keydown", p, { capture: !0 }), window.removeEventListener("pointermove", u), window.removeEventListener("pointerup", d), window.removeEventListener("pointercancel", d), a !== null && cancelAnimationFrame(a), _.disconnect(), g();
97
+ }
98
+ };
99
+ }
100
+ //#endregion
101
+ export { t as columnResize };
@@ -1,9 +1,9 @@
1
- import { $ as e, A as t, D as n, E as r, F as i, I as a, J as o, K as s, O as c, R as l, V as u, f as d, it as f, j as p, k as m, n as h, nt as g, q as _, tt as v, v as ee, w as te, y } from "./client-DoXxrq8q.js";
1
+ import { $ as e, A as t, D as n, E as r, F as i, I as a, J as o, K as s, O as c, R as l, V as u, et as d, f, j as p, k as m, n as h, q as g, rt as _, tt as v, v as ee, w as te, y } from "./client-DjwUji8D.js";
2
2
  import { n as b, r as x } from "./editor-contract-peBDxir_.js";
3
3
  //#region ../grid/dist/SvField.svelte
4
4
  var S = p("<span class=\"sv-field__req svelte-xtfnp5\" aria-hidden=\"true\">*</span>"), C = p("<label class=\"sv-field__label svelte-xtfnp5\"> <!></label>"), w = p("<span class=\"sv-field__spinner svelte-xtfnp5\" role=\"status\" aria-label=\"Loading\"></span>"), T = p("<span class=\"sv-field__labelrow svelte-xtfnp5\"><!> <!></span>"), ne = p("<span class=\"sv-field__req svelte-xtfnp5\" aria-hidden=\"true\">*</span>"), re = p("<label class=\"sv-field__float-label svelte-xtfnp5\"> <!></label>"), ie = p("<span class=\"sv-field__adorn sv-field__adorn--lead svelte-xtfnp5\"><!></span>"), ae = p("<span class=\"sv-field__affix sv-field__affix--pre svelte-xtfnp5\"> </span>"), oe = p("<span class=\"sv-field__affix sv-field__affix--suf svelte-xtfnp5\"> </span>"), E = p("<span class=\"sv-field__adorn sv-field__adorn--trail svelte-xtfnp5\"><!></span>"), D = p("<span class=\"sv-field__action-txt svelte-xtfnp5\"> </span>"), O = p("<button class=\"sv-field__action svelte-xtfnp5\" type=\"button\" tabindex=\"-1\"><!></button>"), k = p("<button class=\"sv-field__clear svelte-xtfnp5\" type=\"button\" tabindex=\"-1\">&times;</button>"), A = p("<div><!> <!> <!> <span class=\"sv-field__slot svelte-xtfnp5\"><!></span> <!> <!> <!> <!></div>"), j = p("<span class=\"sv-field__error svelte-xtfnp5\" role=\"alert\"> </span>"), M = p("<span class=\"sv-field__hint svelte-xtfnp5\"> </span>"), N = p("<div><!> <!> <!></div>");
5
5
  function P(i, p) {
6
- g(p, !0);
6
+ v(p, !0);
7
7
  let P = h(p, "required", 3, !1), F = h(p, "block", 3, !1), I = h(p, "loading", 3, !1), L = h(p, "frame", 3, !1), R = h(p, "invalid", 3, !1), z = h(p, "size", 3, "md"), B = h(p, "disabled", 3, !1), V = h(p, "readonly", 3, !1), H = h(p, "clearable", 3, !1), U = h(p, "showClear", 3, !1), W = h(p, "clearLabel", 3, "Clear"), G = h(p, "labelMode", 3, "static"), K = h(p, "filled", 3, !1), se = e(() => p.width == null ? void 0 : typeof p.width == "number" ? `${p.width}px` : p.width), q = e(() => G() === "floating" && L() && !!p.label), J = e(() => p.dir === "ltr" || p.dir === "rtl" ? p.dir : void 0);
8
8
  var Y = N();
9
9
  let X;
@@ -15,27 +15,27 @@ function P(i, p) {
15
15
  };
16
16
  r(i, (e) => {
17
17
  P() && e(a);
18
- }), f(t), u(() => {
19
- d(t, "for", p.id), c(n, p.label);
18
+ }), _(t), u(() => {
19
+ f(t, "for", p.id), c(n, p.label);
20
20
  }), m(e, t);
21
21
  };
22
22
  r(n, (e) => {
23
23
  p.label && !l(q) && e(i);
24
24
  });
25
- var a = o(n, 2), h = (e) => {
25
+ var a = o(n, 2), d = (e) => {
26
26
  var t = w();
27
27
  m(e, t);
28
28
  };
29
29
  r(a, (e) => {
30
- I() && e(h);
31
- }), f(t), m(e, t);
30
+ I() && e(d);
31
+ }), _(t), m(e, t);
32
32
  };
33
33
  r(Z, (e) => {
34
34
  (p.label && !l(q) || I()) && e(ce);
35
35
  });
36
36
  var Q = o(Z, 2), le = (e) => {
37
37
  var i = A();
38
- let h, g;
38
+ let d, h;
39
39
  var v = s(i), b = (e) => {
40
40
  var t = re(), n = s(t, !0), i = o(n), a = (e) => {
41
41
  var t = ne();
@@ -43,8 +43,8 @@ function P(i, p) {
43
43
  };
44
44
  r(i, (e) => {
45
45
  P() && e(a);
46
- }), f(t), u(() => {
47
- d(t, "for", p.id), c(n, p.label);
46
+ }), _(t), u(() => {
47
+ f(t, "for", p.id), c(n, p.label);
48
48
  }), m(e, t);
49
49
  };
50
50
  r(v, (e) => {
@@ -52,48 +52,48 @@ function P(i, p) {
52
52
  });
53
53
  var x = o(v, 2), S = (e) => {
54
54
  var t = ie(), r = s(t);
55
- n(r, () => p.leading), f(t), m(e, t);
55
+ n(r, () => p.leading), _(t), m(e, t);
56
56
  };
57
57
  r(x, (e) => {
58
58
  p.leading && e(S);
59
59
  });
60
60
  var C = o(x, 2), w = (e) => {
61
61
  var t = ae(), n = s(t, !0);
62
- f(t), u(() => c(n, p.prefix)), m(e, t);
62
+ _(t), u(() => c(n, p.prefix)), m(e, t);
63
63
  };
64
64
  r(C, (e) => {
65
65
  p.prefix && e(w);
66
66
  });
67
67
  var T = o(C, 2), j = s(T);
68
- n(j, () => p.children), f(T);
68
+ n(j, () => p.children), _(T);
69
69
  var M = o(T, 2), N = (e) => {
70
70
  var t = oe(), n = s(t, !0);
71
- f(t), u(() => c(n, p.suffix)), m(e, t);
71
+ _(t), u(() => c(n, p.suffix)), m(e, t);
72
72
  };
73
73
  r(M, (e) => {
74
74
  p.suffix && e(N);
75
75
  });
76
76
  var I = o(M, 2), L = (e) => {
77
77
  var t = E(), r = s(t);
78
- n(r, () => p.trailing), f(t), m(e, t);
78
+ n(r, () => p.trailing), _(t), m(e, t);
79
79
  };
80
80
  r(I, (e) => {
81
81
  p.trailing && e(L);
82
82
  });
83
83
  var G = o(I, 2), J = (e) => {
84
- var i = t(), o = _(i);
84
+ var i = t(), o = g(i);
85
85
  te(o, 17, () => p.actions, (e) => e.label, (e, i) => {
86
- var o = O(), p = s(o), h = (e) => {
87
- var r = t(), a = _(r);
86
+ var o = O(), d = s(o), p = (e) => {
87
+ var r = t(), a = g(r);
88
88
  n(a, () => l(i).icon), m(e, r);
89
- }, g = (e) => {
89
+ }, h = (e) => {
90
90
  var t = D(), n = s(t, !0);
91
- f(t), u(() => c(n, l(i).label)), m(e, t);
91
+ _(t), u(() => c(n, l(i).label)), m(e, t);
92
92
  };
93
- r(p, (e) => {
94
- l(i).icon ? e(h) : e(g, -1);
95
- }), f(o), u(() => {
96
- d(o, "aria-label", l(i).label), d(o, "title", l(i).label), o.disabled = B() || l(i).disabled;
93
+ r(d, (e) => {
94
+ l(i).icon ? e(p) : e(h, -1);
95
+ }), _(o), u(() => {
96
+ f(o, "aria-label", l(i).label), f(o, "title", l(i).label), o.disabled = B() || l(i).disabled;
97
97
  }), a("click", o, () => l(i).onClick()), m(e, o);
98
98
  }), m(e, i);
99
99
  };
@@ -102,20 +102,20 @@ function P(i, p) {
102
102
  });
103
103
  var Y = o(G, 2), X = (e) => {
104
104
  var t = k();
105
- u(() => d(t, "aria-label", W())), a("click", t, () => p.onclear?.()), m(e, t);
105
+ u(() => f(t, "aria-label", W())), a("click", t, () => p.onclear?.()), m(e, t);
106
106
  };
107
107
  r(Y, (e) => {
108
108
  H() && U() && !B() && !V() && e(X);
109
- }), f(i), u(() => {
110
- h = y(i, 1, `sv-field__control sv-field--${z() ?? ""}`, "svelte-xtfnp5", h, {
109
+ }), _(i), u(() => {
110
+ d = y(i, 1, `sv-field__control sv-field--${z() ?? ""}`, "svelte-xtfnp5", d, {
111
111
  "is-invalid": R(),
112
112
  "is-disabled": B(),
113
113
  "is-readonly": V(),
114
114
  "is-filled": K()
115
- }), g = ee(i, "", g, { width: F() ? void 0 : l(se) });
115
+ }), h = ee(i, "", h, { width: F() ? void 0 : l(se) });
116
116
  }), m(e, i);
117
117
  }, $ = (e) => {
118
- var r = t(), i = _(r);
118
+ var r = t(), i = g(r);
119
119
  n(i, () => p.children), m(e, r);
120
120
  };
121
121
  r(Q, (e) => {
@@ -123,23 +123,23 @@ function P(i, p) {
123
123
  });
124
124
  var ue = o(Q, 2), de = (e) => {
125
125
  var t = j(), n = s(t, !0);
126
- f(t), u((e) => {
127
- d(t, "id", e), c(n, p.error);
126
+ _(t), u((e) => {
127
+ f(t, "id", e), c(n, p.error);
128
128
  }, [() => b(p.id)]), m(e, t);
129
129
  }, fe = (e) => {
130
130
  var t = M(), n = s(t, !0);
131
- f(t), u((e) => {
132
- d(t, "id", e), c(n, p.hint);
131
+ _(t), u((e) => {
132
+ f(t, "id", e), c(n, p.hint);
133
133
  }, [() => x(p.id)]), m(e, t);
134
134
  };
135
135
  r(ue, (e) => {
136
136
  p.error ? e(de) : p.hint && e(fe, 1);
137
- }), f(Y), u(() => {
137
+ }), _(Y), u(() => {
138
138
  X = y(Y, 1, "sv-field svelte-xtfnp5", null, X, {
139
139
  "sv-field--block": F(),
140
140
  "sv-field--floating": l(q)
141
- }), d(Y, "dir", l(J)), Y.dir = Y.dir;
142
- }), m(i, Y), v();
141
+ }), f(Y, "dir", l(J)), Y.dir = Y.dir;
142
+ }), m(i, Y), d();
143
143
  }
144
144
  i(["click"]);
145
145
  //#endregion
@@ -0,0 +1,313 @@
1
+ import '@svgrid/grid-wc';
2
+ export interface SvGridProps {
3
+ /** `property only` - ReadonlyArray<TData> */
4
+ data?: readonly unknown[];
5
+ /** `property only` - Array<ColumnDef<TFeatures, TData>> */
6
+ columns?: readonly unknown[];
7
+ /** `property only` - BoardConfig<TFeatures, TData> */
8
+ board?: unknown;
9
+ /** `property only` - SchedulerConfig<TFeatures, TData> */
10
+ scheduler?: unknown;
11
+ /** `property only` - ChartViewConfig<TFeatures, TData> */
12
+ chart?: unknown;
13
+ /** `property only` - GridPivotConfig<TData> */
14
+ pivot?: unknown;
15
+ /** `pivot-mode` - boolean */
16
+ pivotMode?: boolean;
17
+ /** `context-menu` - boolean | ReadonlyArray<ContextMenuItem<TData>> */
18
+ contextMenu?: boolean;
19
+ /** `selection-bar` - | boolean | ReadonlyArray<SelectionBarAction<TData> | SelectionBarBuiltin> | SelectionBarC */
20
+ selectionBar?: boolean;
21
+ /** `property only` - TFeatures */
22
+ features?: unknown;
23
+ /** `sortable` - boolean */
24
+ sortable?: boolean;
25
+ /** `filterable` - boolean */
26
+ filterable?: boolean;
27
+ /** `editable` - boolean */
28
+ editable?: boolean;
29
+ /** `property only` - { parentField: string; idField?: string; column?: string; indentPx?: number; } */
30
+ treeData?: unknown;
31
+ /** `groupable` - boolean */
32
+ groupable?: boolean;
33
+ /** `property only` - ReadonlyArray<string> */
34
+ groupBy?: readonly unknown[];
35
+ /** `property only` - Record<string, boolean> */
36
+ expanded?: unknown;
37
+ /** `group-footers` - boolean */
38
+ groupFooters?: boolean;
39
+ /** `grand-total-row` - boolean */
40
+ grandTotalRow?: boolean;
41
+ /** `group-display-mode` - GroupDisplayType */
42
+ groupDisplayMode?: string;
43
+ /** `auto-group-column-header` - string */
44
+ autoGroupColumnHeader?: string;
45
+ /** `auto-group-column-width` - number */
46
+ autoGroupColumnWidth?: number;
47
+ /** `pageable` - boolean */
48
+ pageable?: boolean;
49
+ /** `loading` - boolean */
50
+ loading?: boolean;
51
+ /** `loading-overlay` - boolean */
52
+ loadingOverlay?: boolean;
53
+ /** `loading-skeleton-rows` - number */
54
+ loadingSkeletonRows?: number;
55
+ /** `error` - string | null */
56
+ error?: string | null;
57
+ /** `empty-message` - string */
58
+ emptyMessage?: string;
59
+ /** `property only` - GridLocalization */
60
+ localization?: unknown;
61
+ /** `show-global-filter` - boolean */
62
+ showGlobalFilter?: boolean;
63
+ /** `show-column-filters` - boolean */
64
+ showColumnFilters?: boolean;
65
+ /** `filter-mode` - "row" | "menu" | "global" | "none" */
66
+ filterMode?: "row" | "menu" | "global" | "none";
67
+ /** `show-grouping-controls` - boolean */
68
+ showGroupingControls?: boolean;
69
+ /** `show-row-selection` - boolean */
70
+ showRowSelection?: boolean;
71
+ /** `show-pagination` - boolean */
72
+ showPagination?: boolean;
73
+ /** `page-size` - number */
74
+ pageSize?: number;
75
+ /** `property only` - number[] */
76
+ pageSizeOptions?: readonly unknown[];
77
+ /** `pagination-position` - 'top' | 'bottom' | 'both' */
78
+ paginationPosition?: "top" | "bottom" | "both";
79
+ /** `external-pagination` - boolean */
80
+ externalPagination?: boolean;
81
+ /** `row-count` - number */
82
+ rowCount?: number;
83
+ /** `page-index` - number */
84
+ pageIndex?: number;
85
+ /** `virtualization` - boolean */
86
+ virtualization?: boolean;
87
+ /** `row-height` - number | ((rowIndex: number) => number) */
88
+ rowHeight?: number;
89
+ /** `auto-row-height` - boolean */
90
+ autoRowHeight?: boolean;
91
+ /** `row-resize` - boolean */
92
+ rowResize?: boolean;
93
+ /** `header-height` - number */
94
+ headerHeight?: number;
95
+ /** `overscan` - number */
96
+ overscan?: number;
97
+ /** `container-height` - number | string */
98
+ containerHeight?: string;
99
+ /** `column-virtualization` - boolean */
100
+ columnVirtualization?: boolean;
101
+ /** `column-overscan` - number */
102
+ columnOverscan?: number;
103
+ /** `column-width` - number */
104
+ columnWidth?: number;
105
+ /** `property only` - { left?: ReadonlyArray<string>; right?: ReadonlyArray<string>; } */
106
+ initialColumnPinning?: unknown;
107
+ /** `fit-columns` - boolean */
108
+ fitColumns?: boolean;
109
+ /** `column-resize` - boolean */
110
+ columnResize?: boolean;
111
+ /** `responsive` - boolean | { breakpoint?: number } */
112
+ responsive?: boolean;
113
+ /** `show-filter-menu` - boolean */
114
+ showFilterMenu?: boolean;
115
+ /** `show-filter-row` - boolean */
116
+ showFilterRow?: boolean;
117
+ /** `enable-cell-selection` - boolean */
118
+ enableCellSelection?: boolean;
119
+ /** `move-cells` - boolean */
120
+ moveCells?: boolean;
121
+ /** `enable-row-hover` - boolean */
122
+ enableRowHover?: boolean;
123
+ /** `copy-headers-to-clipboard` - boolean */
124
+ copyHeadersToClipboard?: boolean;
125
+ /** `property only` - (params: { value: unknown; column: unknown; row: TData; rowIndex: number; columnId: string */
126
+ processCellForClipboard?: unknown;
127
+ /** `enable-inline-editing` - boolean */
128
+ enableInlineEditing?: boolean;
129
+ /** `full-row-editing` - boolean */
130
+ fullRowEditing?: boolean;
131
+ /** `enable-row-summaries` - boolean */
132
+ enableRowSummaries?: boolean;
133
+ /** `summary` - boolean */
134
+ summary?: boolean;
135
+ /** `status-bar` - | boolean | { aggregates?: ReadonlyArray< "count" | "numericCount" | "sum" | "avg" | "min" */
136
+ statusBar?: boolean;
137
+ /** `tool-panel` - boolean */
138
+ toolPanel?: boolean;
139
+ /** `charting` - boolean | ChartingConfig<TData> */
140
+ charting?: boolean;
141
+ /** `column-menu-tabs` - boolean */
142
+ columnMenuTabs?: boolean;
143
+ /** `tool-panel-default-open` - boolean */
144
+ toolPanelDefaultOpen?: boolean;
145
+ /** `tool-panel-default-tab` - "columns" | "filters" */
146
+ toolPanelDefaultTab?: "columns" | "filters";
147
+ /** `selection-mode` - "row" | "cell" | "both" | "none" */
148
+ selectionMode?: "row" | "cell" | "both" | "none";
149
+ /** `show-row-numbers` - boolean */
150
+ showRowNumbers?: boolean;
151
+ /** `zebra-rows` - boolean */
152
+ zebraRows?: boolean;
153
+ /** `row-number-width` - number */
154
+ rowNumberWidth?: number;
155
+ /** `external-sort` - boolean */
156
+ externalSort?: boolean;
157
+ /** `property only` - Array<{ id: string; desc: boolean }> */
158
+ initialSorting?: readonly unknown[];
159
+ /** `property only` - GridPredicateExpr | null */
160
+ initialAdvancedFilter?: unknown;
161
+ /** `external-filter` - boolean */
162
+ externalFilter?: boolean;
163
+ /** `property only` - (row: TData, index: number) => string */
164
+ getRowId?: unknown;
165
+ /** `property only` - (ctx: { row: TData; rowIndex: number; }) => string | ReadonlyArray<string> | Record<string */
166
+ rowClass?: unknown;
167
+ /** `property only` - Record<string, Record<string, string>> */
168
+ notes?: unknown;
169
+ /** `editable-comments` - boolean */
170
+ editableComments?: boolean;
171
+ /** `property only` - ReadonlyArray<ConditionalFormat<TData>> */
172
+ conditionalFormats?: readonly unknown[];
173
+ /** `conditional-stat-scope` - "filtered" | "visible" | "all" */
174
+ conditionalStatScope?: "filtered" | "visible" | "all";
175
+ /** `property only` - (row: TData, rowIndex: number) => boolean */
176
+ isDetailRow?: unknown;
177
+ /** `property only` - { isGroup: (row: TData) => boolean; level: (row: TData) => number; expanded?: (row: TData) */
178
+ serverGroup?: unknown;
179
+ /** `property only` - (columnId: string) => Promise<string[]> */
180
+ serverFilterValues?: unknown;
181
+ /** `property only` - ReadonlyArray<TData> */
182
+ pinnedTopRows?: readonly unknown[];
183
+ /** `property only` - ReadonlyArray<TData> */
184
+ pinnedBottomRows?: readonly unknown[];
185
+ /** `enable-column-reorder` - boolean */
186
+ enableColumnReorder?: boolean;
187
+ /** `property only` - ReadonlyArray<string> */
188
+ columnOrder?: readonly unknown[];
189
+ /** `infer-column-types` - boolean */
190
+ inferColumnTypes?: boolean;
191
+ /** `row-drag-managed` - boolean */
192
+ rowDragManaged?: boolean;
193
+ /** `row-drag-group` - string */
194
+ rowDragGroup?: string;
195
+ /** `aligned-grid-group` - string */
196
+ alignedGridGroup?: string;
197
+ /** `filter-locale` - string | ReadonlyArray<string> */
198
+ filterLocale?: string;
199
+ /** `pivotmodechange` */
200
+ onPivotModeChange?: (detail: boolean) => void;
201
+ /** `expandedchange` */
202
+ onExpandedChange?: (detail: Record<string, boolean>) => void;
203
+ /** `paginationchange` */
204
+ onPaginationChange?: (detail: {
205
+ pageIndex: number;
206
+ pageSize: number;
207
+ }) => void;
208
+ /** `apiready` */
209
+ onApiReady?: (detail: unknown) => void;
210
+ /** `rowselectionchange` */
211
+ onRowSelectionChange?: (detail: {
212
+ selection: Record<string, boolean>;
213
+ rows: Record<string, unknown>[];
214
+ }) => void;
215
+ /** `cellselectionchange` */
216
+ onCellSelectionChange?: (detail: Array<[number, number, number, number]>) => void;
217
+ /** `sortingchange` */
218
+ onSortingChange?: (detail: Array<{
219
+ id: string;
220
+ desc: boolean;
221
+ }>) => void;
222
+ /** `advancedfilterchange` */
223
+ onAdvancedFilterChange?: (detail: unknown) => void;
224
+ /** `filterschange` */
225
+ onFiltersChange?: (detail: unknown) => void;
226
+ /** `notechange` */
227
+ onNoteChange?: (detail: {
228
+ rowId: string;
229
+ columnId: string;
230
+ note: string;
231
+ }) => void;
232
+ /** `cellvaluechange` */
233
+ onCellValueChange?: (detail: {
234
+ rowIndex: number;
235
+ columnId: string;
236
+ oldValue: unknown;
237
+ newValue: unknown;
238
+ row: Record<string, unknown>;
239
+ }) => void;
240
+ /** `activecellchange` */
241
+ onActiveCellChange?: (detail: {
242
+ rowIndex: number;
243
+ colIndex: number;
244
+ columnId: string;
245
+ }) => void;
246
+ /** `cellclick` */
247
+ onCellClick?: (detail: {
248
+ rowIndex: number;
249
+ colIndex: number;
250
+ columnId: string;
251
+ value: unknown;
252
+ row: Record<string, unknown>;
253
+ }) => void;
254
+ /** `rowclick` */
255
+ onRowClick?: (detail: {
256
+ rowIndex: number;
257
+ columnId: string;
258
+ row: Record<string, unknown>;
259
+ }) => void;
260
+ /** `celldoubleclick` */
261
+ onCellDoubleClick?: (detail: {
262
+ rowIndex: number;
263
+ colIndex: number;
264
+ columnId: string;
265
+ value: unknown;
266
+ row: Record<string, unknown>;
267
+ }) => void;
268
+ /** `rowdoubleclick` */
269
+ onRowDoubleClick?: (detail: {
270
+ rowIndex: number;
271
+ columnId: string;
272
+ row: Record<string, unknown>;
273
+ }) => void;
274
+ /** `scrollbottomreached` */
275
+ onScrollBottomReached?: (detail: {
276
+ scrollTop: number;
277
+ scrollHeight: number;
278
+ clientHeight: number;
279
+ }) => void;
280
+ /** `columnorderchange` */
281
+ onColumnOrderChange?: (detail: ReadonlyArray<string>) => void;
282
+ /** `rowdragend` */
283
+ onRowDragEnd?: (detail: {
284
+ row: Record<string, unknown>;
285
+ toIndex: number;
286
+ sameGrid: boolean;
287
+ fromGridId: number;
288
+ toGridId: number;
289
+ }) => void;
290
+ /** `selectionchange` - published alias of rowselectionchange, detail is the selected rows */
291
+ onSelectionchange?: (detail: unknown) => void;
292
+ /** Render inside an open shadow root, so page CSS cannot reach the grid. */
293
+ shadow?: boolean;
294
+ /** Forwarded to the host element. */
295
+ className?: string;
296
+ style?: Record<string, string | number>;
297
+ }
298
+ /** The grid's imperative api, reachable through a ref. */
299
+ export interface SvGridHandle {
300
+ /** The host custom element. */
301
+ element: HTMLElement | null;
302
+ /** The grid api, once `apiready` has fired. */
303
+ api: unknown;
304
+ }
305
+ /**
306
+ * SvGrid as a React component.
307
+ *
308
+ * Every non-primitive prop is assigned as a DOM property in an effect rather
309
+ * than passed through JSX, because React 18 and earlier stringify them onto
310
+ * attributes and an attribute cannot hold an array.
311
+ */
312
+ export declare const SvGrid: import("react").ForwardRefExoticComponent<SvGridProps & import("react").RefAttributes<SvGridHandle>>;
313
+ export default SvGrid;
@@ -0,0 +1,72 @@
1
+ import { createElement as e, forwardRef as t, useEffect as n, useImperativeHandle as r, useRef as i } from "react";
2
+ import "@svgrid/grid-wc";
3
+ //#region src/react/index.tsx
4
+ var a = /* @__PURE__ */ "data.columns.board.scheduler.chart.pivot.pivotMode.contextMenu.selectionBar.features.sortable.filterable.editable.treeData.groupable.groupBy.expanded.groupFooters.grandTotalRow.groupDisplayMode.autoGroupColumnHeader.autoGroupColumnWidth.pageable.loading.loadingOverlay.loadingSkeletonRows.error.emptyMessage.localization.showGlobalFilter.showColumnFilters.filterMode.showGroupingControls.showRowSelection.showPagination.pageSize.pageSizeOptions.paginationPosition.externalPagination.rowCount.pageIndex.virtualization.rowHeight.autoRowHeight.rowResize.headerHeight.overscan.containerHeight.columnVirtualization.columnOverscan.columnWidth.initialColumnPinning.fitColumns.columnResize.responsive.showFilterMenu.showFilterRow.enableCellSelection.moveCells.enableRowHover.copyHeadersToClipboard.processCellForClipboard.enableInlineEditing.fullRowEditing.enableRowSummaries.summary.statusBar.toolPanel.charting.columnMenuTabs.toolPanelDefaultOpen.toolPanelDefaultTab.selectionMode.showRowNumbers.zebraRows.rowNumberWidth.externalSort.initialSorting.initialAdvancedFilter.externalFilter.getRowId.rowClass.notes.editableComments.conditionalFormats.conditionalStatScope.isDetailRow.serverGroup.serverFilterValues.pinnedTopRows.pinnedBottomRows.enableColumnReorder.columnOrder.inferColumnTypes.rowDragManaged.rowDragGroup.alignedGridGroup.filterLocale".split("."), o = [
5
+ ["onPivotModeChange", "pivotmodechange"],
6
+ ["onExpandedChange", "expandedchange"],
7
+ ["onPaginationChange", "paginationchange"],
8
+ ["onApiReady", "apiready"],
9
+ ["onRowSelectionChange", "rowselectionchange"],
10
+ ["onCellSelectionChange", "cellselectionchange"],
11
+ ["onSortingChange", "sortingchange"],
12
+ ["onAdvancedFilterChange", "advancedfilterchange"],
13
+ ["onFiltersChange", "filterschange"],
14
+ ["onNoteChange", "notechange"],
15
+ ["onCellValueChange", "cellvaluechange"],
16
+ ["onActiveCellChange", "activecellchange"],
17
+ ["onCellClick", "cellclick"],
18
+ ["onRowClick", "rowclick"],
19
+ ["onCellDoubleClick", "celldoubleclick"],
20
+ ["onRowDoubleClick", "rowdoubleclick"],
21
+ ["onScrollBottomReached", "scrollbottomreached"],
22
+ ["onColumnOrderChange", "columnorderchange"],
23
+ ["onRowDragEnd", "rowdragend"],
24
+ ["onSelectionchange", "selectionchange"]
25
+ ], s = t(function(t, s) {
26
+ let c = i(null), { shadow: l, className: u, style: d, ...f } = t;
27
+ n(() => {
28
+ l && import("@svgrid/grid-wc/shadow");
29
+ }, [l]);
30
+ let p = i({});
31
+ n(() => {
32
+ let e = c.current;
33
+ if (e) for (let t of a) {
34
+ let n = f[t];
35
+ n === void 0 || Object.is(p.current[t], n) || (p.current[t] = n, e[t] = n);
36
+ }
37
+ });
38
+ let m = i(f);
39
+ return m.current = f, n(() => {
40
+ let e = c.current;
41
+ if (!e) return;
42
+ let t = [];
43
+ for (let [n, r] of o) {
44
+ let i = (e) => {
45
+ let t = m.current[n];
46
+ t?.(e.detail);
47
+ };
48
+ e.addEventListener(r, i), t.push([r, i]);
49
+ }
50
+ let n = m.current.onApiReady, r = e.api;
51
+ return n && r != null && n(r), () => {
52
+ for (let [n, r] of t) e.removeEventListener(n, r);
53
+ };
54
+ }, []), r(s, () => ({
55
+ get element() {
56
+ return c.current;
57
+ },
58
+ get api() {
59
+ return c.current?.api ?? null;
60
+ }
61
+ }), []), e(l ? "sv-grid-shadow" : "sv-grid", {
62
+ ref: c,
63
+ class: u,
64
+ style: {
65
+ display: "block",
66
+ height: "100%",
67
+ ...d
68
+ }
69
+ });
70
+ });
71
+ //#endregion
72
+ export { s as SvGrid, s as default };