@svgrid/grid 2.6.20 → 2.6.22

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 (110) hide show
  1. package/CHANGELOG.md +62 -0
  2. package/README.md +22 -0
  3. package/dist/GridMenus.svelte +17 -12
  4. package/dist/SvGrid.controller.svelte.d.ts +14 -8
  5. package/dist/SvGrid.controller.svelte.js +214 -74
  6. package/dist/SvGrid.css +1 -1
  7. package/dist/SvGrid.svelte +112 -57
  8. package/dist/SvGrid.types.d.ts +191 -1
  9. package/dist/ai.d.ts +28 -0
  10. package/dist/ai.js +6 -0
  11. package/dist/cdn/{GridMenus-B0F9iBrG.js → GridMenus-BuoBPqxx.js} +137 -132
  12. package/dist/cdn/GridMenus-n4llxoOI.js +494 -0
  13. package/dist/cdn/column-resize-DsfNXMom.js +102 -0
  14. package/dist/cdn/row-resize-BRcimkUT.js +95 -0
  15. package/dist/cdn/{src-Cd0tearp.js → src-C9Hihx1W.js} +3497 -3487
  16. package/dist/cdn/{src-B1TdiyS8.js → src-D1lXwq1l.js} +8258 -8248
  17. package/dist/cdn/svgrid.js +10 -8
  18. package/dist/cdn/svgrid.svelte-external.js +10 -8
  19. package/dist/cdn/validate-_CDJzgIo.js +75 -0
  20. package/dist/cell-formatting.d.ts +2 -0
  21. package/dist/cell-formatting.js +2 -0
  22. package/dist/chart-export.d.ts +1 -0
  23. package/dist/chart.d.ts +31 -5
  24. package/dist/chart.js +9 -3
  25. package/dist/column-groups.js +1 -1
  26. package/dist/column-resize.d.ts +46 -0
  27. package/dist/column-resize.js +205 -0
  28. package/dist/columns.d.ts +0 -3
  29. package/dist/columns.js +0 -57
  30. package/dist/core.d.ts +216 -4
  31. package/dist/core.js +532 -119
  32. package/dist/createTree.svelte.d.ts +3 -0
  33. package/dist/createTree.svelte.js +1 -0
  34. package/dist/datetime/date-core.d.ts +2 -0
  35. package/dist/datetime/date-restrict.d.ts +1 -0
  36. package/dist/datetime/timezone.d.ts +1 -0
  37. package/dist/dock-manager-model.d.ts +3 -0
  38. package/dist/dock-manager-model.js +1 -0
  39. package/dist/dock-model.d.ts +6 -0
  40. package/dist/dock-model.js +3 -0
  41. package/dist/editor-contract.d.ts +1 -0
  42. package/dist/filtering/excel-filters.js +28 -0
  43. package/dist/group-display.d.ts +1 -1
  44. package/dist/index.d.ts +2 -1
  45. package/dist/index.js +6 -0
  46. package/dist/list-option.d.ts +1 -0
  47. package/dist/menus.js +1 -1
  48. package/dist/positioning.d.ts +2 -0
  49. package/dist/row-resize.d.ts +11 -0
  50. package/dist/row-resize.js +7 -1
  51. package/dist/scheduler-ical.d.ts +1 -0
  52. package/dist/scheduler-model.d.ts +1 -0
  53. package/dist/selection.js +9 -0
  54. package/dist/spreadsheet.d.ts +1 -1
  55. package/dist/spreadsheet.js +1 -1
  56. package/dist/summaries.js +22 -0
  57. package/dist/svgrid-wrapper.types.d.ts +5 -0
  58. package/dist/toast-store.svelte.d.ts +4 -0
  59. package/dist/validate.d.ts +50 -0
  60. package/dist/validate.js +187 -0
  61. package/package.json +4 -1
  62. package/src/GridMenus.svelte +17 -12
  63. package/src/SvGrid.controller.svelte.ts +223 -76
  64. package/src/SvGrid.css +1 -1
  65. package/src/SvGrid.svelte +112 -57
  66. package/src/SvGrid.types.ts +191 -1
  67. package/src/ai.ts +28 -0
  68. package/src/cell-formatting.ts +2 -0
  69. package/src/chart-export.ts +1 -0
  70. package/src/chart.ts +31 -5
  71. package/src/column-groups.ts +1 -1
  72. package/src/column-resize.test.ts +381 -0
  73. package/src/column-resize.ts +227 -0
  74. package/src/columns.test.ts +0 -103
  75. package/src/columns.ts +0 -58
  76. package/src/core.aggregate.test.ts +134 -0
  77. package/src/core.filter.test.ts +156 -0
  78. package/src/core.grouping.test.ts +146 -0
  79. package/src/core.row-shape.test.ts +119 -0
  80. package/src/core.rowmodel-cache.test.ts +121 -0
  81. package/src/core.sort.test.ts +293 -0
  82. package/src/core.ts +723 -119
  83. package/src/createTree.svelte.ts +3 -0
  84. package/src/datetime/date-core.ts +2 -0
  85. package/src/datetime/date-restrict.ts +1 -0
  86. package/src/datetime/timezone.ts +1 -0
  87. package/src/dock-manager-model.ts +3 -0
  88. package/src/dock-model.ts +6 -0
  89. package/src/editor-contract.ts +1 -0
  90. package/src/filtering/excel-filters.ts +30 -0
  91. package/src/filtering/normalize-fast-path.test.ts +104 -0
  92. package/src/group-display.ts +1 -1
  93. package/src/index.ts +12 -1
  94. package/src/list-option.ts +1 -0
  95. package/src/menus.ts +1 -1
  96. package/src/positioning.ts +2 -0
  97. package/src/resize-props.test.ts +361 -0
  98. package/src/row-resize.test.ts +31 -0
  99. package/src/row-resize.ts +21 -3
  100. package/src/scheduler-ical.ts +1 -0
  101. package/src/scheduler-model.ts +1 -0
  102. package/src/selection.ts +9 -0
  103. package/src/spreadsheet.ts +1 -1
  104. package/src/summaries.ts +21 -0
  105. package/src/svgrid-wrapper.types.ts +5 -0
  106. package/src/svgrid.summaries.test.ts +217 -0
  107. package/src/toast-store.svelte.ts +4 -0
  108. package/src/validate.test.ts +207 -0
  109. package/src/validate.ts +269 -0
  110. package/dist/cdn/GridMenus-IHK_l7m6.js +0 -489
@@ -0,0 +1,95 @@
1
+ import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
+ //#region src/row-resize.ts
3
+ var t = /* @__PURE__ */ e({ rowResize: () => r }), n = "sv-grid-row-resize-handle";
4
+ function r(e, t) {
5
+ let r = t, i = null;
6
+ function a(e) {
7
+ let t = e.querySelector("[data-svgrid-row]")?.dataset.svgridRow;
8
+ return t == null ? NaN : Number(t);
9
+ }
10
+ function o(e) {
11
+ if (!i) return;
12
+ let t = r.min ?? 20, n = r.max ?? 320, a = Math.max(t, Math.min(n, i.startHeight + (e.clientY - i.startY)));
13
+ i.trEl.style.height = `${Math.round(a)}px`, r.onResizeMove?.(i.rowIndex, Math.round(a));
14
+ }
15
+ function s(e) {
16
+ if (!i) return;
17
+ let t = r.min ?? 20, n = r.max ?? 320, a = Math.max(t, Math.min(n, i.startHeight + (e.clientY - i.startY)));
18
+ r.onResize(i.rowIndex, Math.round(a)), i.strip.classList.remove("is-resizing");
19
+ try {
20
+ i.trEl.releasePointerCapture(e.pointerId);
21
+ } catch {}
22
+ i = null, window.removeEventListener("pointermove", o), window.removeEventListener("pointerup", s), document.body.style.cursor = "";
23
+ }
24
+ function c(e) {
25
+ if (r.disabled) return;
26
+ let t = e.target;
27
+ if (!t?.classList.contains(n)) return;
28
+ let i = e.shiftKey ? 1 : 10, o = 0;
29
+ if (e.key === "ArrowUp") o = -i;
30
+ else if (e.key === "ArrowDown") o = i;
31
+ else return;
32
+ let s = t.closest("tr.sv-grid-row");
33
+ if (!s) return;
34
+ let c = a(s);
35
+ if (!Number.isFinite(c)) return;
36
+ e.preventDefault(), e.stopPropagation();
37
+ let l = r.min ?? 20, u = r.max ?? 320, d = Math.round(Math.max(l, Math.min(u, s.getBoundingClientRect().height + o)));
38
+ s.style.height = `${d}px`, r.onResizeMove?.(c, d), r.onResize(c, d);
39
+ }
40
+ function l(e) {
41
+ if (r.disabled) return;
42
+ let t = e.target;
43
+ if (!t?.classList.contains(n)) return;
44
+ let c = t.closest("tr.sv-grid-row");
45
+ if (!c) return;
46
+ let l = a(c);
47
+ if (Number.isFinite(l)) {
48
+ e.preventDefault(), e.stopPropagation(), t.classList.add("is-resizing"), i = {
49
+ rowIndex: l,
50
+ startY: e.clientY,
51
+ startHeight: c.getBoundingClientRect().height,
52
+ trEl: c,
53
+ strip: t
54
+ };
55
+ try {
56
+ c.setPointerCapture(e.pointerId);
57
+ } catch {}
58
+ document.body.style.cursor = "row-resize", window.addEventListener("pointermove", o), window.addEventListener("pointerup", s);
59
+ }
60
+ }
61
+ function u() {
62
+ if (r.disabled) {
63
+ d();
64
+ return;
65
+ }
66
+ let t = e.querySelectorAll("tr.sv-grid-row");
67
+ for (let e of t) {
68
+ if (e.classList.contains("sv-grid-header-row") || e.classList.contains("sv-grid-row-spacer")) continue;
69
+ let t = e.querySelector(".sv-grid-cell.sv-row-gutter, .sv-grid-cell.sv-grid-row-number-cell") ?? (r.anchor === "row" ? e.querySelector(".sv-grid-cell") : null);
70
+ if (!t || t.querySelector(`:scope > .${n}`)) continue;
71
+ getComputedStyle(t).position === "static" && (t.style.position = "relative"), t.style.overflow = "visible";
72
+ let i = document.createElement("div");
73
+ i.className = n, i.setAttribute("role", "separator"), i.setAttribute("aria-orientation", "horizontal"), i.setAttribute("aria-label", "Resize row"), i.tabIndex = 0, i.style.cssText = "position:absolute;left:0;right:0;bottom:0;height:5px;cursor:row-resize;user-select:none;z-index:60;pointer-events:auto;", t.appendChild(i);
74
+ }
75
+ }
76
+ function d() {
77
+ e.querySelectorAll(`.${n}`).forEach((e) => e.remove());
78
+ }
79
+ e.addEventListener("pointerdown", l, { capture: !0 }), e.addEventListener("keydown", c, { capture: !0 });
80
+ let f = new MutationObserver(() => u());
81
+ return f.observe(e, {
82
+ childList: !0,
83
+ subtree: !0
84
+ }), u(), {
85
+ update(e) {
86
+ let t = r.disabled;
87
+ r = e, t !== r.disabled && u();
88
+ },
89
+ destroy() {
90
+ e.removeEventListener("pointerdown", l, { capture: !0 }), e.removeEventListener("keydown", c, { capture: !0 }), window.removeEventListener("pointermove", o), window.removeEventListener("pointerup", s), f.disconnect(), d();
91
+ }
92
+ };
93
+ }
94
+ //#endregion
95
+ export { t as n, r as t };