@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.
- package/CHANGELOG.md +62 -0
- package/README.md +22 -0
- package/dist/GridMenus.svelte +17 -12
- package/dist/SvGrid.controller.svelte.d.ts +14 -8
- package/dist/SvGrid.controller.svelte.js +214 -74
- package/dist/SvGrid.css +1 -1
- package/dist/SvGrid.svelte +112 -57
- package/dist/SvGrid.types.d.ts +191 -1
- package/dist/ai.d.ts +28 -0
- package/dist/ai.js +6 -0
- package/dist/cdn/{GridMenus-B0F9iBrG.js → GridMenus-BuoBPqxx.js} +137 -132
- package/dist/cdn/GridMenus-n4llxoOI.js +494 -0
- package/dist/cdn/column-resize-DsfNXMom.js +102 -0
- package/dist/cdn/row-resize-BRcimkUT.js +95 -0
- package/dist/cdn/{src-Cd0tearp.js → src-C9Hihx1W.js} +3497 -3487
- package/dist/cdn/{src-B1TdiyS8.js → src-D1lXwq1l.js} +8258 -8248
- package/dist/cdn/svgrid.js +10 -8
- package/dist/cdn/svgrid.svelte-external.js +10 -8
- package/dist/cdn/validate-_CDJzgIo.js +75 -0
- package/dist/cell-formatting.d.ts +2 -0
- package/dist/cell-formatting.js +2 -0
- package/dist/chart-export.d.ts +1 -0
- package/dist/chart.d.ts +31 -5
- package/dist/chart.js +9 -3
- package/dist/column-groups.js +1 -1
- package/dist/column-resize.d.ts +46 -0
- package/dist/column-resize.js +205 -0
- package/dist/columns.d.ts +0 -3
- package/dist/columns.js +0 -57
- package/dist/core.d.ts +216 -4
- package/dist/core.js +532 -119
- package/dist/createTree.svelte.d.ts +3 -0
- package/dist/createTree.svelte.js +1 -0
- package/dist/datetime/date-core.d.ts +2 -0
- package/dist/datetime/date-restrict.d.ts +1 -0
- package/dist/datetime/timezone.d.ts +1 -0
- package/dist/dock-manager-model.d.ts +3 -0
- package/dist/dock-manager-model.js +1 -0
- package/dist/dock-model.d.ts +6 -0
- package/dist/dock-model.js +3 -0
- package/dist/editor-contract.d.ts +1 -0
- package/dist/filtering/excel-filters.js +28 -0
- package/dist/group-display.d.ts +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +6 -0
- package/dist/list-option.d.ts +1 -0
- package/dist/menus.js +1 -1
- package/dist/positioning.d.ts +2 -0
- package/dist/row-resize.d.ts +11 -0
- package/dist/row-resize.js +7 -1
- package/dist/scheduler-ical.d.ts +1 -0
- package/dist/scheduler-model.d.ts +1 -0
- package/dist/selection.js +9 -0
- package/dist/spreadsheet.d.ts +1 -1
- package/dist/spreadsheet.js +1 -1
- package/dist/summaries.js +22 -0
- package/dist/svgrid-wrapper.types.d.ts +5 -0
- package/dist/toast-store.svelte.d.ts +4 -0
- package/dist/validate.d.ts +50 -0
- package/dist/validate.js +187 -0
- package/package.json +4 -1
- package/src/GridMenus.svelte +17 -12
- package/src/SvGrid.controller.svelte.ts +223 -76
- package/src/SvGrid.css +1 -1
- package/src/SvGrid.svelte +112 -57
- package/src/SvGrid.types.ts +191 -1
- package/src/ai.ts +28 -0
- package/src/cell-formatting.ts +2 -0
- package/src/chart-export.ts +1 -0
- package/src/chart.ts +31 -5
- package/src/column-groups.ts +1 -1
- package/src/column-resize.test.ts +381 -0
- package/src/column-resize.ts +227 -0
- package/src/columns.test.ts +0 -103
- package/src/columns.ts +0 -58
- package/src/core.aggregate.test.ts +134 -0
- package/src/core.filter.test.ts +156 -0
- package/src/core.grouping.test.ts +146 -0
- package/src/core.row-shape.test.ts +119 -0
- package/src/core.rowmodel-cache.test.ts +121 -0
- package/src/core.sort.test.ts +293 -0
- package/src/core.ts +723 -119
- package/src/createTree.svelte.ts +3 -0
- package/src/datetime/date-core.ts +2 -0
- package/src/datetime/date-restrict.ts +1 -0
- package/src/datetime/timezone.ts +1 -0
- package/src/dock-manager-model.ts +3 -0
- package/src/dock-model.ts +6 -0
- package/src/editor-contract.ts +1 -0
- package/src/filtering/excel-filters.ts +30 -0
- package/src/filtering/normalize-fast-path.test.ts +104 -0
- package/src/group-display.ts +1 -1
- package/src/index.ts +12 -1
- package/src/list-option.ts +1 -0
- package/src/menus.ts +1 -1
- package/src/positioning.ts +2 -0
- package/src/resize-props.test.ts +361 -0
- package/src/row-resize.test.ts +31 -0
- package/src/row-resize.ts +21 -3
- package/src/scheduler-ical.ts +1 -0
- package/src/scheduler-model.ts +1 -0
- package/src/selection.ts +9 -0
- package/src/spreadsheet.ts +1 -1
- package/src/summaries.ts +21 -0
- package/src/svgrid-wrapper.types.ts +5 -0
- package/src/svgrid.summaries.test.ts +217 -0
- package/src/toast-store.svelte.ts +4 -0
- package/src/validate.test.ts +207 -0
- package/src/validate.ts +269 -0
- 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 };
|