@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
@@ -1,4 +1,4 @@
1
- import { R as e, X as t, Z as n } from "./client-DoXxrq8q.js";
1
+ import { R as e, X as t, Z as n } from "./client-DjwUji8D.js";
2
2
  //#region ../grid/dist/sv-grid-scrollbar.js
3
3
  var r = 16, i = 280, a = 50, o = "http://www.w3.org/2000/svg";
4
4
  function s() {
@@ -224,20 +224,25 @@ typeof window < "u" && !customElements.get("sv-grid-scrollbar") && customElement
224
224
  var d = /[̀-ͯ]/g;
225
225
  function f(e, t) {
226
226
  if (!e) return "";
227
+ if (p(e)) return t ? e.toLocaleLowerCase(t) : e.toLowerCase();
227
228
  let n = e.normalize("NFD").replace(d, "");
228
229
  return t ? n.toLocaleLowerCase(t) : n.toLowerCase();
229
230
  }
230
231
  function p(e) {
231
- let { tokens: t, trailing: n } = g(e);
232
- return n && t.push(n), t;
232
+ for (let t = 0; t < e.length; t++) if (e.charCodeAt(t) > 127) return !1;
233
+ return !0;
233
234
  }
234
235
  function m(e) {
235
- return e.map((e) => e.trim()).filter((e) => e.length > 0).map((e) => /["\n,]/.test(e) ? `"${e.replace(/"/g, "\"\"")}"` : e).join(", ");
236
+ let { tokens: t, trailing: n } = _(e);
237
+ return n && t.push(n), t;
236
238
  }
237
239
  function h(e) {
238
- return g(e).trailing;
240
+ return e.map((e) => e.trim()).filter((e) => e.length > 0).map((e) => /["\n,]/.test(e) ? `"${e.replace(/"/g, "\"\"")}"` : e).join(", ");
239
241
  }
240
242
  function g(e) {
243
+ return _(e).trailing;
244
+ }
245
+ function _(e) {
241
246
  let t = String(e ?? ""), n = [], r = "", i = !1, a = !1, o = !1, s = () => {
242
247
  let e = a ? r : r.trim();
243
248
  return r = "", a = !1, o = !1, e;
@@ -272,7 +277,7 @@ function g(e) {
272
277
  trailing: s()
273
278
  };
274
279
  }
275
- function _(e, t) {
280
+ function v(e, t) {
276
281
  let n = t?.locale, r = (e) => f(String(e ?? ""), n), i = r(e.value);
277
282
  switch (e.operator) {
278
283
  case "contains": return (e) => r(e).includes(i);
@@ -294,7 +299,7 @@ function _(e, t) {
294
299
  }
295
300
  case "in":
296
301
  case "notIn": {
297
- let t = p(e.value);
302
+ let t = m(e.value);
298
303
  if (t.length === 0) return () => !0;
299
304
  let i = new Set(t.map((e) => f(e, n)));
300
305
  return e.operator === "in" ? (e) => i.has(r(e)) : (e) => !i.has(r(e));
@@ -328,13 +333,13 @@ function _(e, t) {
328
333
  }
329
334
  //#endregion
330
335
  //#region ../grid/dist/virtualization/virtualizer.js
331
- function v(e, t, n) {
336
+ function y(e, t, n) {
332
337
  return Math.min(Math.max(e, t), n);
333
338
  }
334
- function y(e, t) {
339
+ function b(e, t) {
335
340
  return e.count === t.count && e.estimateSize === t.estimateSize && (e.overscan ?? 6) === (t.overscan ?? 6) && e.viewportHeight === t.viewportHeight && (e.scrollOffset ?? 0) === (t.scrollOffset ?? 0);
336
341
  }
337
- function b(e, t) {
342
+ function x(e, t) {
338
343
  if (e.totalSize !== t.totalSize || e.startIndex !== t.startIndex || e.endIndex !== t.endIndex || e.viewportHeight !== t.viewportHeight || e.items.length !== t.items.length) return !1;
339
344
  for (let n = 0; n < e.items.length; n += 1) {
340
345
  let r = e.items[n], i = t.items[n];
@@ -342,7 +347,7 @@ function b(e, t) {
342
347
  }
343
348
  return !0;
344
349
  }
345
- function x(e, t, n) {
350
+ function S(e, t, n) {
346
351
  let r = [];
347
352
  for (let i = e; i <= t; i += 1) {
348
353
  let t = i * n;
@@ -356,12 +361,12 @@ function x(e, t, n) {
356
361
  }
357
362
  return r;
358
363
  }
359
- function S(e, t, n, r) {
364
+ function C(e, t, n, r) {
360
365
  if (e <= 0) return [];
361
366
  let i = Math.max(t, 1), a = Math.ceil(Math.max(n, 0) / i), o = Math.min(a + Math.max(r, 0), e - 1);
362
- return x(0, Math.max(o, 0), i);
367
+ return S(0, Math.max(o, 0), i);
363
368
  }
364
- function C(e, t, n) {
369
+ function w(e, t, n) {
365
370
  let r = [];
366
371
  for (let i = e; i <= t; i += 1) {
367
372
  let t = n[i] ?? 0, a = n[i + 1] ?? t;
@@ -375,10 +380,10 @@ function C(e, t, n) {
375
380
  }
376
381
  return r;
377
382
  }
378
- function w(e, t) {
383
+ function T(e, t) {
379
384
  let n = Math.max(e.count, 0), r = Math.max(e.overscan ?? 6, 0), i = Math.max(e.viewportHeight, 0);
380
385
  if (typeof e.estimateSize == "function" && t) {
381
- let a = t[n] ?? 0, o = Math.max(a - i, 0), s = v(e.scrollOffset ?? 0, 0, o), c = 0, l = n;
386
+ let a = t[n] ?? 0, o = Math.max(a - i, 0), s = y(e.scrollOffset ?? 0, 0, o), c = 0, l = n;
382
387
  for (; c < l;) {
383
388
  let e = c + l >>> 1;
384
389
  (t[e + 1] ?? 0) <= s ? c = e + 1 : l = e;
@@ -388,9 +393,9 @@ function w(e, t) {
388
393
  let e = c + l >>> 1;
389
394
  (t[e] ?? 0) < d ? c = e + 1 : l = e;
390
395
  }
391
- let f = Math.max(c - 1, u), p = n === 0 ? 0 : v(u - r, 0, n - 1), m = n === 0 ? -1 : v(f + r, 0, n - 1);
396
+ let f = Math.max(c - 1, u), p = n === 0 ? 0 : y(u - r, 0, n - 1), m = n === 0 ? -1 : y(f + r, 0, n - 1);
392
397
  return {
393
- items: m >= p ? C(p, m, t) : [],
398
+ items: m >= p ? w(p, m, t) : [],
394
399
  totalSize: a,
395
400
  startIndex: p,
396
401
  endIndex: m,
@@ -398,9 +403,9 @@ function w(e, t) {
398
403
  viewportHeight: i
399
404
  };
400
405
  }
401
- let a = Math.max(typeof e.estimateSize == "number" ? e.estimateSize : 1, 1), o = n * a, s = Math.max(o - i, 0), c = v(e.scrollOffset ?? 0, 0, s), l = Math.floor(c / a), u = Math.ceil(i / a), d = Math.min(l + u, Math.max(n - 1, 0)), f = n === 0 ? 0 : v(l - r, 0, n - 1), p = n === 0 ? -1 : v(d + r, 0, n - 1);
406
+ let a = Math.max(typeof e.estimateSize == "number" ? e.estimateSize : 1, 1), o = n * a, s = Math.max(o - i, 0), c = y(e.scrollOffset ?? 0, 0, s), l = Math.floor(c / a), u = Math.ceil(i / a), d = Math.min(l + u, Math.max(n - 1, 0)), f = n === 0 ? 0 : y(l - r, 0, n - 1), p = n === 0 ? -1 : y(d + r, 0, n - 1);
402
407
  return {
403
- items: p >= f ? x(f, p, a) : [],
408
+ items: p >= f ? S(f, p, a) : [],
404
409
  totalSize: o,
405
410
  startIndex: f,
406
411
  endIndex: p,
@@ -408,7 +413,7 @@ function w(e, t) {
408
413
  viewportHeight: i
409
414
  };
410
415
  }
411
- function T(e) {
416
+ function E(e) {
412
417
  let t = e, n = null;
413
418
  function r() {
414
419
  if (typeof t.estimateSize != "function") return null;
@@ -423,13 +428,13 @@ function T(e) {
423
428
  offsets: i
424
429
  }, i;
425
430
  }
426
- let i = w(t, r()), a = /* @__PURE__ */ new Set();
431
+ let i = T(t, r()), a = /* @__PURE__ */ new Set();
427
432
  function o() {
428
433
  a.forEach((e) => e());
429
434
  }
430
435
  function s() {
431
- let e = w(t, r());
432
- b(i, e) || (i = e, o());
436
+ let e = T(t, r());
437
+ x(i, e) || (i = e, o());
433
438
  }
434
439
  return {
435
440
  setOptions(e) {
@@ -437,7 +442,7 @@ function T(e) {
437
442
  ...t,
438
443
  ...e
439
444
  };
440
- y(t, n) || (t = n, s());
445
+ b(t, n) || (t = n, s());
441
446
  },
442
447
  setScrollOffset(e) {
443
448
  (t.scrollOffset ?? 0) !== e && (t = {
@@ -452,7 +457,7 @@ function T(e) {
452
457
  }, s());
453
458
  },
454
459
  scrollToIndex(e) {
455
- let n = v(e, 0, Math.max(t.count - 1, 0)), a = i.totalSize, o;
460
+ let n = y(e, 0, Math.max(t.count - 1, 0)), a = i.totalSize, o;
456
461
  if (typeof t.estimateSize == "function") {
457
462
  let e = r();
458
463
  if (e) o = e[n] ?? 0;
@@ -462,7 +467,7 @@ function T(e) {
462
467
  o = e;
463
468
  }
464
469
  } else o = n * Math.max(t.estimateSize, 1);
465
- let c = Math.max(a - t.viewportHeight, 0), l = v(o, 0, c);
470
+ let c = Math.max(a - t.viewportHeight, 0), l = y(o, 0, c);
466
471
  (t.scrollOffset ?? 0) !== l && (t = {
467
472
  ...t,
468
473
  scrollOffset: l
@@ -499,8 +504,8 @@ function T(e) {
499
504
  }
500
505
  //#endregion
501
506
  //#region ../grid/dist/virtualization/svelte-virtualizer.svelte.js
502
- function E(r) {
503
- let i = T(r), a = n(0);
507
+ function D(r) {
508
+ let i = E(r), a = n(0);
504
509
  return i.subscribe(() => {
505
510
  t(a, e(a) + 1);
506
511
  }), {
@@ -519,4 +524,4 @@ function E(r) {
519
524
  };
520
525
  }
521
526
  //#endregion
522
- export { m as a, h as c, _ as i, S as n, f as o, T as r, p as s, E as t };
527
+ export { h as a, g as c, v as i, C as n, f as o, E as r, m as s, D as t };
@@ -0,0 +1,75 @@
1
+ //#region ../grid/dist/validate.js
2
+ var e = "https://svgrid.com/docs/getting-started/3-data-and-columns/";
3
+ function t(e, n = []) {
4
+ for (let r of e) r.columns?.length ? t(r.columns, n) : n.push(r);
5
+ return n;
6
+ }
7
+ function n(n) {
8
+ let i = [], a = t(n.columns ?? []), o = (n.data ?? []).slice(0, 10);
9
+ if (o.length) {
10
+ let t = /* @__PURE__ */ new Set();
11
+ for (let e of o) if (e && typeof e == "object") for (let n of Object.keys(e)) t.add(n);
12
+ for (let n of a) {
13
+ let a = n.field;
14
+ if (!a || n.fieldFn || t.has(a)) continue;
15
+ let o = r(a, [...t]);
16
+ i.push(`[svgrid] Column field "${a}" does not exist on your row data, so that column renders empty.${o ? ` Did you mean "${o}"?` : ""} Available keys: ${[...t].slice(0, 12).join(", ")}. See ${e}`);
17
+ }
18
+ }
19
+ let s = /* @__PURE__ */ new Map();
20
+ for (let e of a) {
21
+ let t = e.id ?? e.field;
22
+ t && s.set(t, (s.get(t) ?? 0) + 1);
23
+ }
24
+ for (let [t, n] of s) n > 1 && i.push(`[svgrid] ${n} columns share the id "${t}". Column state (sorting, filtering, pinning, width) is keyed by id, so they will act as one. Give each an explicit \`id\`. See ${e}`);
25
+ let c = n.pageable === void 0 && n.showPagination === void 0;
26
+ n.pageSize !== void 0 && c && i.push("[svgrid] `pageSize` is set but pagination was never turned on, so it has no effect and every row renders. Add `pageable` to switch the pager on."), !(n.sortable === !0 || n.features?.rowSortingFeature) && a.some((e) => e.sortable === !0) && i.push("[svgrid] A column sets `sortable: true`, but sorting is not enabled on the grid, so its header does nothing. Add `sortable` to <SvGrid> (it registers the sorting feature for you).");
27
+ let l = /* @__PURE__ */ new Set();
28
+ for (let e of a) {
29
+ let t = e.id ?? e.field;
30
+ t && l.add(t);
31
+ }
32
+ for (let e of n.groupBy ?? []) {
33
+ if (l.has(e)) continue;
34
+ let t = r(e, [...l]);
35
+ i.push(`[svgrid] \`groupBy\` refers to column "${e}", which does not exist, so that grouping level is ignored.${t ? ` Did you mean "${t}"?` : ""} Column ids: ${[...l].slice(0, 12).join(", ")}`);
36
+ }
37
+ let u = n.treeData?.column;
38
+ if (u && !l.has(u) && i.push(`[svgrid] \`treeData.column\` refers to column "${u}", which does not exist, so the expander falls back to the first visible column.`), o.length && n.treeData) {
39
+ let e = /* @__PURE__ */ new Set();
40
+ for (let t of o) if (t && typeof t == "object") for (let n of Object.keys(t)) e.add(n);
41
+ let t = n.treeData.parentField;
42
+ if (t && !e.has(t)) {
43
+ let n = r(t, [...e]);
44
+ i.push(`[svgrid] \`treeData.parentField\` is "${t}", which is not on your row data, so every row becomes a root and no hierarchy appears.${n ? ` Did you mean "${n}"?` : ""}`);
45
+ }
46
+ let a = n.treeData.idField;
47
+ a && !e.has(a) && i.push(`[svgrid] \`treeData.idField\` is "${a}", which is not on your row data, so parent lookups cannot match and the tree stays flat.`);
48
+ }
49
+ return (n.initialColumnPinning?.left?.length ?? 0) + (n.initialColumnPinning?.right?.length ?? 0) > 0 && n.columnVirtualization !== !1 && i.push("[svgrid] `initialColumnPinning` is set while column virtualization is on (its default), so the pinned columns will not stick - the virtualizer recycles column nodes. Add `columnVirtualization={false}`."), n.externalPagination === !0 && n.rowCount === void 0 && i.push("[svgrid] `externalPagination` is on but `rowCount` is not set, so the pager cannot know how many pages exist. Pass the server total as `rowCount`."), n.externalSort === !0 && !n.onSortingChange && i.push("[svgrid] `externalSort` is on but there is no `onSortingChange` handler, so clicking a header changes nothing - the grid stopped sorting and nobody is listening. Add `onSortingChange` and re-fetch in your handler."), n.externalFilter === !0 && !n.onFiltersChange && i.push("[svgrid] `externalFilter` is on but there is no `onFiltersChange` handler, so filtering the grid changes nothing. Add `onFiltersChange` and re-fetch in your handler."), i;
50
+ }
51
+ function r(e, t) {
52
+ let n, r = Infinity;
53
+ for (let a of t) {
54
+ let t = i(e.toLowerCase(), a.toLowerCase());
55
+ t < r && (r = t, n = a);
56
+ }
57
+ let a = Math.min(3, Math.floor(e.length / 3) + 1);
58
+ return r <= a ? n : void 0;
59
+ }
60
+ function i(e, t) {
61
+ if (e === t) return 0;
62
+ let n = Array(t.length + 1);
63
+ for (let e = 0; e <= t.length; e++) n[e] = e;
64
+ for (let r = 1; r <= e.length; r++) {
65
+ let i = n[0];
66
+ n[0] = r;
67
+ for (let a = 1; a <= t.length; a++) {
68
+ let o = Math.min(n[a] + 1, n[a - 1] + 1, i + (e[r - 1] === t[a - 1] ? 0 : 1));
69
+ i = n[a], n[a] = o;
70
+ }
71
+ }
72
+ return n[t.length];
73
+ }
74
+ //#endregion
75
+ export { n as validateGridConfig };
@@ -0,0 +1,246 @@
1
+ /**
2
+ * AUTO-GENERATED by scripts/generate-wrappers.mjs - DO NOT EDIT.
3
+ * Regenerate: pnpm --filter @svgrid/grid-wc generate:wrappers
4
+ *
5
+ * Type declarations for the custom elements.
6
+ */
7
+
8
+ /**
9
+ * The custom element's own surface. Complex props (columns, data, configs)
10
+ * are `unknown` here rather than wrong: their real types are generic over
11
+ * the feature set and the row type, which cannot be reproduced outside
12
+ * `@svgrid/grid`. Import them from there when you want them checked.
13
+ */
14
+ export interface SvGridElement extends HTMLElement {
15
+ /** property only - an attribute cannot hold this */
16
+ data: readonly unknown[]
17
+ /** property only - an attribute cannot hold this */
18
+ columns: readonly unknown[]
19
+ /** property only - an attribute cannot hold this */
20
+ board: unknown
21
+ /** property only - an attribute cannot hold this */
22
+ scheduler: unknown
23
+ /** property only - an attribute cannot hold this */
24
+ chart: unknown
25
+ /** property only - an attribute cannot hold this */
26
+ pivot: unknown
27
+ /** attribute `pivot-mode` */
28
+ pivotMode: boolean
29
+ /** attribute `context-menu` */
30
+ contextMenu: boolean
31
+ /** attribute `selection-bar` */
32
+ selectionBar: boolean
33
+ /** property only - an attribute cannot hold this */
34
+ features: unknown
35
+ /** attribute `sortable` */
36
+ sortable: boolean
37
+ /** attribute `filterable` */
38
+ filterable: boolean
39
+ /** attribute `editable` */
40
+ editable: boolean
41
+ /** property only - an attribute cannot hold this */
42
+ treeData: unknown
43
+ /** attribute `groupable` */
44
+ groupable: boolean
45
+ /** property only - an attribute cannot hold this */
46
+ groupBy: readonly unknown[]
47
+ /** property only - an attribute cannot hold this */
48
+ expanded: unknown
49
+ /** attribute `group-footers` */
50
+ groupFooters: boolean
51
+ /** attribute `grand-total-row` */
52
+ grandTotalRow: boolean
53
+ /** attribute `group-display-mode` */
54
+ groupDisplayMode: string
55
+ /** attribute `auto-group-column-header` */
56
+ autoGroupColumnHeader: string
57
+ /** attribute `auto-group-column-width` */
58
+ autoGroupColumnWidth: number
59
+ /** attribute `pageable` */
60
+ pageable: boolean
61
+ /** attribute `loading` */
62
+ loading: boolean
63
+ /** attribute `loading-overlay` */
64
+ loadingOverlay: boolean
65
+ /** attribute `loading-skeleton-rows` */
66
+ loadingSkeletonRows: number
67
+ /** attribute `error` */
68
+ error: string | null
69
+ /** attribute `empty-message` */
70
+ emptyMessage: string
71
+ /** property only - an attribute cannot hold this */
72
+ localization: unknown
73
+ /** attribute `show-global-filter` */
74
+ showGlobalFilter: boolean
75
+ /** attribute `show-column-filters` */
76
+ showColumnFilters: boolean
77
+ /** attribute `filter-mode` */
78
+ filterMode: "row" | "menu" | "global" | "none"
79
+ /** attribute `show-grouping-controls` */
80
+ showGroupingControls: boolean
81
+ /** attribute `show-row-selection` */
82
+ showRowSelection: boolean
83
+ /** attribute `show-pagination` */
84
+ showPagination: boolean
85
+ /** attribute `page-size` */
86
+ pageSize: number
87
+ /** property only - an attribute cannot hold this */
88
+ pageSizeOptions: readonly unknown[]
89
+ /** attribute `pagination-position` */
90
+ paginationPosition: "top" | "bottom" | "both"
91
+ /** attribute `external-pagination` */
92
+ externalPagination: boolean
93
+ /** attribute `row-count` */
94
+ rowCount: number
95
+ /** attribute `page-index` */
96
+ pageIndex: number
97
+ /** attribute `virtualization` */
98
+ virtualization: boolean
99
+ /** attribute `row-height` */
100
+ rowHeight: number
101
+ /** attribute `auto-row-height` */
102
+ autoRowHeight: boolean
103
+ /** attribute `row-resize` */
104
+ rowResize: boolean
105
+ /** attribute `header-height` */
106
+ headerHeight: number
107
+ /** attribute `overscan` */
108
+ overscan: number
109
+ /** attribute `container-height` */
110
+ containerHeight: string
111
+ /** attribute `column-virtualization` */
112
+ columnVirtualization: boolean
113
+ /** attribute `column-overscan` */
114
+ columnOverscan: number
115
+ /** attribute `column-width` */
116
+ columnWidth: number
117
+ /** property only - an attribute cannot hold this */
118
+ initialColumnPinning: unknown
119
+ /** attribute `fit-columns` */
120
+ fitColumns: boolean
121
+ /** attribute `column-resize` */
122
+ columnResize: boolean
123
+ /** attribute `responsive` */
124
+ responsive: boolean
125
+ /** attribute `show-filter-menu` */
126
+ showFilterMenu: boolean
127
+ /** attribute `show-filter-row` */
128
+ showFilterRow: boolean
129
+ /** attribute `enable-cell-selection` */
130
+ enableCellSelection: boolean
131
+ /** attribute `move-cells` */
132
+ moveCells: boolean
133
+ /** attribute `enable-row-hover` */
134
+ enableRowHover: boolean
135
+ /** attribute `copy-headers-to-clipboard` */
136
+ copyHeadersToClipboard: boolean
137
+ /** property only - an attribute cannot hold this */
138
+ processCellForClipboard: unknown
139
+ /** attribute `enable-inline-editing` */
140
+ enableInlineEditing: boolean
141
+ /** attribute `full-row-editing` */
142
+ fullRowEditing: boolean
143
+ /** attribute `enable-row-summaries` */
144
+ enableRowSummaries: boolean
145
+ /** attribute `summary` */
146
+ summary: boolean
147
+ /** attribute `status-bar` */
148
+ statusBar: boolean
149
+ /** attribute `tool-panel` */
150
+ toolPanel: boolean
151
+ /** attribute `charting` */
152
+ charting: boolean
153
+ /** attribute `column-menu-tabs` */
154
+ columnMenuTabs: boolean
155
+ /** attribute `tool-panel-default-open` */
156
+ toolPanelDefaultOpen: boolean
157
+ /** attribute `tool-panel-default-tab` */
158
+ toolPanelDefaultTab: "columns" | "filters"
159
+ /** attribute `selection-mode` */
160
+ selectionMode: "row" | "cell" | "both" | "none"
161
+ /** attribute `show-row-numbers` */
162
+ showRowNumbers: boolean
163
+ /** attribute `zebra-rows` */
164
+ zebraRows: boolean
165
+ /** attribute `row-number-width` */
166
+ rowNumberWidth: number
167
+ /** attribute `external-sort` */
168
+ externalSort: boolean
169
+ /** property only - an attribute cannot hold this */
170
+ initialSorting: readonly unknown[]
171
+ /** property only - an attribute cannot hold this */
172
+ initialAdvancedFilter: unknown
173
+ /** attribute `external-filter` */
174
+ externalFilter: boolean
175
+ /** property only - an attribute cannot hold this */
176
+ getRowId: unknown
177
+ /** property only - an attribute cannot hold this */
178
+ rowClass: unknown
179
+ /** property only - an attribute cannot hold this */
180
+ notes: unknown
181
+ /** attribute `editable-comments` */
182
+ editableComments: boolean
183
+ /** property only - an attribute cannot hold this */
184
+ conditionalFormats: readonly unknown[]
185
+ /** attribute `conditional-stat-scope` */
186
+ conditionalStatScope: "filtered" | "visible" | "all"
187
+ /** property only - an attribute cannot hold this */
188
+ isDetailRow: unknown
189
+ /** property only - an attribute cannot hold this */
190
+ serverGroup: unknown
191
+ /** property only - an attribute cannot hold this */
192
+ serverFilterValues: unknown
193
+ /** property only - an attribute cannot hold this */
194
+ pinnedTopRows: readonly unknown[]
195
+ /** property only - an attribute cannot hold this */
196
+ pinnedBottomRows: readonly unknown[]
197
+ /** attribute `enable-column-reorder` */
198
+ enableColumnReorder: boolean
199
+ /** property only - an attribute cannot hold this */
200
+ columnOrder: readonly unknown[]
201
+ /** attribute `infer-column-types` */
202
+ inferColumnTypes: boolean
203
+ /** attribute `row-drag-managed` */
204
+ rowDragManaged: boolean
205
+ /** attribute `row-drag-group` */
206
+ rowDragGroup: string
207
+ /** attribute `aligned-grid-group` */
208
+ alignedGridGroup: string
209
+ /** attribute `filter-locale` */
210
+ filterLocale: string
211
+
212
+ /** The grid api. Present once `apiready` has fired. */
213
+ readonly api: unknown
214
+ }
215
+
216
+ declare global {
217
+ interface HTMLElementTagNameMap {
218
+ 'sv-grid': SvGridElement
219
+ 'sv-grid-shadow': SvGridElement
220
+ }
221
+
222
+ interface HTMLElementEventMap {
223
+ pivotmodechange: CustomEvent<unknown>
224
+ expandedchange: CustomEvent<unknown>
225
+ paginationchange: CustomEvent<unknown>
226
+ apiready: CustomEvent<unknown>
227
+ rowselectionchange: CustomEvent<unknown>
228
+ cellselectionchange: CustomEvent<unknown>
229
+ sortingchange: CustomEvent<unknown>
230
+ advancedfilterchange: CustomEvent<unknown>
231
+ filterschange: CustomEvent<unknown>
232
+ notechange: CustomEvent<unknown>
233
+ cellvaluechange: CustomEvent<unknown>
234
+ activecellchange: CustomEvent<unknown>
235
+ cellclick: CustomEvent<unknown>
236
+ rowclick: CustomEvent<unknown>
237
+ celldoubleclick: CustomEvent<unknown>
238
+ rowdoubleclick: CustomEvent<unknown>
239
+ scrollbottomreached: CustomEvent<unknown>
240
+ columnorderchange: CustomEvent<unknown>
241
+ rowdragend: CustomEvent<unknown>
242
+ selectionchange: CustomEvent<unknown>
243
+ }
244
+ }
245
+
246
+ export {}