@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
@@ -1,489 +0,0 @@
1
- import { Kn as e, co as t, so as n } from "./src-B1TdiyS8.js";
2
- import { b as r } from "./editor-registry-CiI0xlKg.js";
3
- import { l as i } from "./SvDateTimePicker-CHnUkWcH.js";
4
- import * as a from "svelte/internal/client";
5
- import "svelte/internal/disclose-version";
6
- //#region src/GridMenus.svelte
7
- var o = a.from_html("<option> </option>"), s = a.from_html("<input class=\"sv-grid-menu-condition-value\" placeholder=\"To\"/>"), c = a.from_html("<option> </option>"), l = a.from_html("<input class=\"sv-grid-menu-condition-value\" placeholder=\"To\"/>"), u = a.from_html("<input class=\"sv-grid-menu-condition-value\"/> <!>", 1), d = a.from_html("<div class=\"sv-grid-menu-join\" role=\"radiogroup\" aria-label=\"Combine conditions\"><button type=\"button\">AND</button> <button type=\"button\">OR</button> <button type=\"button\" class=\"sv-grid-menu-join-x\" title=\"Remove second condition\" aria-label=\"Remove second condition\">×</button></div> <select class=\"sv-grid-menu-operator-select\" aria-label=\"Second filter condition\"></select> <!>", 1), f = a.from_html("<button type=\"button\" class=\"sv-grid-menu-add-cond\">+ Add condition</button>"), p = a.from_html("<input class=\"sv-grid-menu-condition-value\"/> <!> <!>", 1), m = a.from_html("<div class=\"sv-grid-facet-empty\">No values</div>"), h = a.from_html("<div class=\"sv-grid-facet-note\"> </div>"), g = a.from_html("<div class=\"sv-grid-menu-filter\"><div class=\"sv-grid-menu-filter-head\"><span class=\"sv-grid-header-icon\"><!></span> Filter\n condition</div> <select class=\"sv-grid-menu-operator-select\" aria-label=\"Filter condition\"></select> <!> <div class=\"sv-grid-menu-sep\"></div> <div class=\"sv-grid-menu-filter-head\">Values</div> <input class=\"sv-grid-menu-search\" placeholder=\"Search values...\"/> <label class=\"sv-grid-facet sv-grid-facet-all\"><input type=\"checkbox\"/> <span class=\"sv-grid-facet-label\">(Select all)</span></label> <!> <!> <div class=\"sv-grid-menu-actions\"><button type=\"button\" class=\"sv-grid-menu-btn\">Clear filter</button> <button type=\"button\" class=\"sv-grid-menu-btn sv-grid-menu-btn-primary\">Done</button></div></div>"), _ = a.from_html("<div role=\"tooltip\"> </div>"), v = a.from_html("<div class=\"sv-grid-menu-backdrop\" role=\"presentation\"></div>"), y = a.from_html("<button type=\"button\" role=\"tab\">Filter</button>"), b = a.from_html("<div class=\"sv-grid-menu-tabs\" role=\"tablist\"><button type=\"button\" role=\"tab\">General</button> <!> <button type=\"button\" role=\"tab\">Columns</button></div>"), x = a.from_html("<div class=\"sv-grid-menu-filter-head\">Visible columns</div> <!>", 1), S = a.from_html("<button type=\"button\" class=\"sv-grid-menu-item\" role=\"menuitem\"><span class=\"sv-grid-header-icon\"><!></span> Sort\n ascending</button> <button type=\"button\" class=\"sv-grid-menu-item\" role=\"menuitem\"><span class=\"sv-grid-header-icon\"><!></span> Sort\n descending</button> <button type=\"button\" class=\"sv-grid-menu-item\" role=\"menuitem\"><span class=\"sv-grid-header-icon\"><!></span> Remove sort</button>", 1), ee = a.from_html("<div class=\"sv-grid-menu-sep\"></div> <button type=\"button\" class=\"sv-grid-menu-item\" role=\"menuitem\"><span class=\"sv-grid-header-icon\"><!></span> Pin to left</button> <button type=\"button\" class=\"sv-grid-menu-item\" role=\"menuitem\"><span class=\"sv-grid-header-icon\"><!></span> Pin to right</button> <button type=\"button\" class=\"sv-grid-menu-item\" role=\"menuitem\"><span class=\"sv-grid-header-icon\"><!></span> Unpin column</button>", 1), C = a.from_html("<div class=\"sv-grid-menu-sep\"></div> <button type=\"button\" class=\"sv-grid-menu-item\" role=\"menuitem\"><span class=\"sv-grid-header-icon\"><!></span> Group\n by this column</button> <button type=\"button\" class=\"sv-grid-menu-item\" role=\"menuitem\"><span class=\"sv-grid-header-icon\"><!></span> Remove grouping</button>", 1), w = a.from_html("<button type=\"button\" role=\"menuitem\" aria-haspopup=\"menu\"><span class=\"sv-grid-header-icon\"><!></span> Choose columns <span class=\"sv-grid-header-icon sv-grid-menu-item-chevron\"><!></span></button>"), T = a.from_html("<!> <!> <div class=\"sv-grid-menu-sep\"></div> <button type=\"button\" class=\"sv-grid-menu-item\" role=\"menuitem\"><span class=\"sv-grid-header-icon\"><!></span> Autosize\n this column</button> <button type=\"button\" class=\"sv-grid-menu-item\" role=\"menuitem\"><span class=\"sv-grid-header-icon\"><!></span> Autosize\n all columns</button> <!> <div class=\"sv-grid-menu-sep\"></div> <!> <button type=\"button\" class=\"sv-grid-menu-item\" role=\"menuitem\"><span class=\"sv-grid-header-icon\"><!></span> Reset columns</button>", 1), te = a.from_html("<div class=\"sv-grid-menu sv-grid-column-menu\" role=\"menu\"><!> <!></div>"), E = a.from_html("<div class=\"sv-grid-menu sv-grid-filter-menu\" role=\"menu\"><!></div>"), D = a.from_html("<div class=\"sv-grid-menu sv-grid-choose-columns-menu\" role=\"menu\"><div class=\"sv-grid-menu-filter-head\">Visible columns</div> <!></div>"), O = a.from_html("<button type=\"button\" class=\"sv-grid-menu-item\" role=\"menuitemradio\"><span class=\"sv-grid-header-icon\"><!></span> </button>"), k = a.from_html("<div class=\"sv-grid-menu sv-grid-operator-menu\" role=\"menu\"></div>"), ne = a.from_html("<div class=\"sv-grid-facet-empty\">No values</div>"), re = a.from_html("<div class=\"sv-grid-menu sv-grid-in-suggest\"><!></div>"), A = a.from_html("<div class=\"sv-grid-menu-sep\"></div>"), ie = a.from_html("<button type=\"button\" class=\"sv-grid-menu-item\" role=\"menuitem\"> </button>"), j = a.from_html("<div class=\"sv-grid-menu-backdrop\" role=\"presentation\"></div> <div class=\"sv-grid-menu sv-grid-context-menu\" role=\"menu\"></div>", 1), M = a.from_html("<div class=\"sv-grid-menu-backdrop\" role=\"presentation\"></div> <div class=\"sv-grid-menu sv-grid-comment-editor\" role=\"dialog\" aria-label=\"Edit comment\"><textarea class=\"sv-grid-comment-textarea\" rows=\"3\" placeholder=\"Add a comment…\"></textarea> <div class=\"sv-grid-comment-actions\"><button type=\"button\" class=\"sv-grid-comment-remove\">Remove</button> <span class=\"sv-grid-comment-spacer\"></span> <button type=\"button\" class=\"sv-grid-comment-cancel\">Cancel</button> <button type=\"button\" class=\"sv-grid-comment-save\">Save</button></div></div>", 1), ae = a.from_html("<!> <!> <!> <!> <!> <!> <!> <!> <!>", 1);
8
- function oe(oe, N) {
9
- a.push(N, !0);
10
- let se = (t, n = a.noop) => {
11
- let i = a.derived(() => a.get(G).find((e) => e.id === n())), _ = a.derived(() => a.get(xe)(a.get(i))), v = a.derived(() => a.get(F)[n()]?.operator ?? a.get(K)(a.get(i))), y = a.derived(() => r(a.get(i)?.columnDef.editorType ?? "text"));
12
- var b = g(), x = a.child(b), S = a.child(x), ee = a.child(S);
13
- a.snippet(ee, () => N.icon, () => "filter"), a.reset(S), a.next(), a.reset(x);
14
- var C = a.sibling(x, 2);
15
- a.each(C, 21, () => a.get(_), (e) => e.value, (e, t) => {
16
- var n = o(), r = a.child(n, !0);
17
- a.reset(n);
18
- var s = {};
19
- a.template_effect((e) => {
20
- a.set_text(r, e), s !== (s = a.get(t).value) && (n.value = (n.__value = a.get(t).value) ?? "");
21
- }, [() => a.get(q)(a.get(t), a.get(i))]), a.append(e, n);
22
- }), a.reset(C);
23
- var w;
24
- a.init_select(C);
25
- var T = a.sibling(C, 2), te = (e) => {
26
- let t = a.derived(() => a.get(v) === "in" || a.get(v) === "notIn"), r = a.derived(() => a.get(F)[n()]);
27
- var o = p(), m = a.first_child(o);
28
- a.remove_input_defaults(m);
29
- var h = a.sibling(m, 2), g = (e) => {
30
- var t = s();
31
- a.remove_input_defaults(t), a.template_effect(() => {
32
- a.set_attribute(t, "type", a.get(y)), a.set_value(t, a.get(F)[n()]?.valueTo ?? "");
33
- }), a.delegated("input", t, (e) => a.get(be)(n(), e.currentTarget.value)), a.append(e, t);
34
- };
35
- a.if(h, (e) => {
36
- a.get(v) === "between" && e(g);
37
- });
38
- var b = a.sibling(h, 2), x = (e) => {
39
- let t = a.derived(() => a.get(r).operator2 ?? a.get(K)(a.get(i)));
40
- var o = d(), s = a.first_child(o), f = a.child(s);
41
- let p;
42
- var m = a.sibling(f, 2);
43
- let h;
44
- var g = a.sibling(m, 2);
45
- a.reset(s);
46
- var v = a.sibling(s, 2);
47
- a.each(v, 21, () => a.get(_), (e) => e.value, (e, t) => {
48
- var n = c(), r = a.child(n, !0);
49
- a.reset(n);
50
- var o = {};
51
- a.template_effect((e) => {
52
- a.set_text(r, e), o !== (o = a.get(t).value) && (n.value = (n.__value = a.get(t).value) ?? "");
53
- }, [() => a.get(q)(a.get(t), a.get(i))]), a.append(e, n);
54
- }), a.reset(v);
55
- var b;
56
- a.init_select(v);
57
- var x = a.sibling(v, 2), S = (e) => {
58
- var i = u(), o = a.first_child(i);
59
- a.remove_input_defaults(o);
60
- var s = a.sibling(o, 2), c = (e) => {
61
- var t = l();
62
- a.remove_input_defaults(t), a.template_effect(() => {
63
- a.set_attribute(t, "type", a.get(y)), a.set_value(t, a.get(r).valueTo2 ?? "");
64
- }), a.delegated("input", t, (e) => J(n(), { valueTo2: e.currentTarget.value })), a.append(e, t);
65
- };
66
- a.if(s, (e) => {
67
- a.get(t) === "between" && e(c);
68
- }), a.template_effect(() => {
69
- a.set_attribute(o, "type", a.get(y)), a.set_value(o, a.get(r).value2 ?? ""), a.set_attribute(o, "placeholder", a.get(t) === "between" ? "From" : "Filter value...");
70
- }), a.delegated("input", o, (e) => J(n(), { value2: e.currentTarget.value })), a.append(e, i);
71
- };
72
- a.if(x, (e) => {
73
- a.get(t) !== "isBlank" && e(S);
74
- }), a.template_effect(() => {
75
- p = a.set_class(f, 1, "", null, p, { "is-on": (a.get(r).join ?? "AND") === "AND" }), h = a.set_class(m, 1, "", null, h, { "is-on": a.get(r).join === "OR" }), b !== (b = a.get(t)) && (v.value = (v.__value = a.get(t)) ?? "", a.select_option(v, a.get(t)));
76
- }), a.delegated("click", f, () => J(n(), { join: "AND" })), a.delegated("click", m, () => J(n(), { join: "OR" })), a.delegated("click", g, () => J(n(), {
77
- operator2: void 0,
78
- value2: void 0,
79
- valueTo2: void 0,
80
- join: void 0
81
- })), a.delegated("change", v, (e) => J(n(), { operator2: e.currentTarget.value })), a.append(e, o);
82
- }, S = (e) => {
83
- var t = f();
84
- a.delegated("click", t, () => J(n(), {
85
- operator2: a.get(K)(a.get(i)),
86
- value2: "",
87
- join: "AND"
88
- })), a.append(e, t);
89
- };
90
- a.if(b, (e) => {
91
- a.get(r)?.operator2 ? e(x) : e(S, -1);
92
- }), a.template_effect(() => {
93
- a.set_attribute(m, "type", a.get(v) === "regex" ? "text" : a.get(y)), a.set_value(m, a.get(F)[n()]?.value ?? ""), a.set_attribute(m, "placeholder", a.get(v) === "between" ? "From" : a.get(t) ? "value, value..." : a.get(v) === "regex" ? "Pattern..." : "Filter value...");
94
- }), a.event("focus", m, function(...e) {
95
- (a.get(t) ? (e) => We(e.currentTarget, n()) : void 0)?.apply(this, e);
96
- }), a.event("blur", m, function(...e) {
97
- (a.get(t) ? () => a.get(Be)() : void 0)?.apply(this, e);
98
- }), a.delegated("input", m, (e) => {
99
- let r = e.currentTarget;
100
- a.get(ye)(n(), r.value), a.get(t) && Ge(r, n());
101
- }), a.append(e, o);
102
- };
103
- a.if(T, (e) => {
104
- a.get(v) !== "isBlank" && a.get(v) !== "isNotBlank" && e(te);
105
- });
106
- var E = a.sibling(T, 6);
107
- a.remove_input_defaults(E);
108
- var D = a.sibling(E, 2), O = a.child(D);
109
- a.remove_input_defaults(O), a.next(2), a.reset(D);
110
- var k = a.sibling(D, 2), ne = (t) => {
111
- {
112
- let r = a.derived(() => a.get(X).length > Ue);
113
- e(t, {
114
- block: !0,
115
- checkbox: !0,
116
- multiple: !0,
117
- get virtual() {
118
- return a.get(r);
119
- },
120
- rows: 7,
121
- rowHeight: 24,
122
- size: "sm",
123
- ariaLabel: "Filter values",
124
- get options() {
125
- return a.get(X);
126
- },
127
- get value() {
128
- return a.get(Ie);
129
- },
130
- onChange: (e) => a.get(Le)(n(), e)
131
- });
132
- }
133
- }, re = (e) => {
134
- var t = m();
135
- a.append(e, t);
136
- };
137
- a.if(k, (e) => {
138
- a.get(X).length ? e(ne) : e(re, -1);
139
- });
140
- var A = a.sibling(k, 2), ie = (e) => {
141
- var t = h(), n = a.child(t);
142
- a.reset(t), a.template_effect(() => a.set_text(n, `Showing ${a.get(Fe).length ?? ""} of ${a.get(Pe).length ?? ""}`)), a.append(e, t);
143
- };
144
- a.if(A, (e) => {
145
- a.get(Pe).length > a.get(Fe).length && e(ie);
146
- });
147
- var j = a.sibling(A, 2), M = a.child(j), ae = a.sibling(M, 2);
148
- a.reset(j), a.reset(b), a.template_effect((e, t) => {
149
- w !== (w = a.get(v)) && (C.value = (C.__value = a.get(v)) ?? "", a.select_option(C, a.get(v))), a.set_checked(O, e), M.disabled = t;
150
- }, [() => a.get(Ve)(n()), () => !a.get(Te)(n())]), a.delegated("change", C, (e) => a.get(ve)(n(), e.currentTarget.value)), a.bind_value(E, () => P().columnMenuSearch, (e) => P().columnMenuSearch = e), a.delegated("change", O, () => a.get(He)(n())), a.delegated("click", M, () => a.get(Ye)(n())), a.delegated("click", ae, function(...e) {
151
- a.get(Y)?.apply(this, e);
152
- }), a.append(t, b);
153
- }, P = a.prop(N, "ctrl", 7), ce = a.derived(() => P().groupingControlsEnabled), F = a.derived(() => P().filterMenuValues), I = a.derived(() => P().tooltip), L = a.derived(() => P().columnMenuFor), R = a.derived(() => P().columnMenuPos), z = a.derived(() => P().filterMenuFor), B = a.derived(() => P().filterMenuPos), V = a.derived(() => P().operatorMenuFor), le = a.derived(() => P().operatorMenuPos), H = a.derived(() => P().chooseColumnsPos), U = a.derived(() => P().showColumnFiltersEffective), W = a.derived(() => P().props.columnMenuTabs === !0), ue = a.derived(() => P().grid), G = a.derived(() => P().allColumns), de = a.derived(() => P().isColumnPinned), fe = a.derived(() => P().pinColumnLeft), pe = a.derived(() => P().pinColumnRight), me = a.derived(() => P().unpinColumn), he = a.derived(() => P().sortDirectionByColumn), ge = a.derived(() => P().groupingColumns), _e = a.derived(() => P().columnVirtualizationEnabled), ve = a.derived(() => P().updateFilterOperator), ye = a.derived(() => P().updateFilterMenuValue), be = a.derived(() => P().updateFilterMenuValueTo), xe = a.derived(() => P().operatorsForColumn), K = a.derived(() => P().defaultOperatorFor), q = a.derived(() => P().operatorLabelFor), Se = a.derived(() => P().filterRowValues), Ce = a.derived(() => P().inSuggestFor), we = a.derived(() => P().inSuggestPos);
154
- function J(e, t) {
155
- let n = a.get(G).find((t) => t.id === e), r = P().filterMenuValues[e] ?? {
156
- operator: a.get(K)(n),
157
- value: ""
158
- };
159
- P().filterMenuValues = {
160
- ...P().filterMenuValues,
161
- [e]: {
162
- ...r,
163
- ...t
164
- }
165
- };
166
- }
167
- let Te = a.derived(() => P().isColumnFiltered), Y = a.derived(() => P().closeMenus);
168
- a.user_effect(() => {
169
- if (!(a.get(L) || a.get(z) || a.get(V) || a.get(H))) return;
170
- let e = () => a.get(Y)(), t = i(() => Array.from(document.querySelectorAll(".sv-grid-menu")), e);
171
- return window.addEventListener("resize", e), () => {
172
- t(), window.removeEventListener("resize", e);
173
- };
174
- });
175
- let Ee = a.derived(() => P().autosizeColumn), De = a.derived(() => P().autosizeAllColumns), Oe = a.derived(() => P().resetColumns), ke = a.derived(() => P().openChooseColumns), Ae = a.derived(() => P().sortColumnFromMenu), je = a.derived(() => P().clearColumnSort), Me = a.derived(() => P().groupByColumnFromMenu), Ne = a.derived(() => P().clearGroupingFromMenu), Pe = a.derived(() => P().columnMenuFacetValues), Fe = a.derived(() => P().columnMenuVisibleFacets), X = a.derived(() => P().columnMenuFacetOptions), Ie = a.derived(() => P().columnMenuSelectedFacets), Le = a.derived(() => P().setFacetSelection), Re = a.derived(() => P().setFilterTokens), Z = a.derived(() => P().inSuggestOptions), ze = a.derived(() => P().openInSuggest), Be = a.derived(() => P().closeInSuggest), Ve = a.derived(() => P().isAllFacetsChecked), He = a.derived(() => P().toggleAllFacets), Ue = 40;
176
- function We(e, n) {
177
- a.get(ze)(e, n), P().inSuggestQuery = t(e.value);
178
- }
179
- function Ge(e, n) {
180
- P().inSuggestQuery = t(e.value), P().inSuggestFor !== n && a.get(ze)(e, n);
181
- }
182
- function Ke(e) {
183
- return e.map((e) => ({
184
- value: e.id,
185
- label: typeof e.columnDef.header == "string" ? e.columnDef.header : e.id
186
- }));
187
- }
188
- function qe(e) {
189
- let t = /* @__PURE__ */ new Set();
190
- for (let n of e) P().hiddenColumns[n.id] || t.add(n.id);
191
- return t;
192
- }
193
- function Je(e, t) {
194
- let n = { ...P().hiddenColumns };
195
- for (let r of e) t.has(r.id) ? delete n[r.id] : n[r.id] = !0;
196
- P().hiddenColumns = n;
197
- }
198
- let Ye = a.derived(() => P().clearColumnFilter), Xe = a.derived(() => P().contextMenuFor), Ze = a.derived(() => P().contextMenuPos), Qe = a.derived(() => P().contextMenuItems), Q = a.derived(() => P().closeContextMenu), $ = a.derived(() => P().commentEditFor), $e = a.derived(() => P().saveComment), et = a.derived(() => P().removeComment), tt = a.derived(() => P().closeCommentEditor);
199
- var nt = ae(), rt = a.first_child(nt), it = (e) => {
200
- var t = _();
201
- let n;
202
- var r = a.child(t, !0);
203
- a.reset(t), a.template_effect(() => {
204
- n = a.set_class(t, 1, "sv-grid-tooltip", null, n, { "sv-grid-tooltip-above": !a.get(I).below }), a.set_style(t, `left: ${a.get(I).x}px; top: ${a.get(I).y}px; ${a.get(I).below ? "" : "transform: translateY(-100%);"}`), a.set_text(r, a.get(I).text);
205
- }), a.append(e, t);
206
- };
207
- a.if(rt, (e) => {
208
- a.get(I) && e(it);
209
- });
210
- var at = a.sibling(rt, 2), ot = (e) => {
211
- var t = v();
212
- a.delegated("click", t, function(...e) {
213
- a.get(Y)?.apply(this, e);
214
- }), a.append(e, t);
215
- };
216
- a.if(at, (e) => {
217
- (a.get(L) || a.get(z) || a.get(V) || a.get(H)) && e(ot);
218
- });
219
- var st = a.sibling(at, 2), ct = (t) => {
220
- let n = a.derived(() => a.get(L)), r = a.derived(() => a.get(G).find((e) => e.id === a.get(n))), i = a.derived(() => a.get(r)?.getCanSort?.() ?? !1), o = a.derived(() => a.get(r)?.columnDef.field != null && a.get(r)?.columnDef.filterable !== !1), s = a.derived(() => P().columnMenuTab);
221
- var c = te(), l = a.child(c), u = (e) => {
222
- var t = b(), n = a.child(t);
223
- let r;
224
- var i = a.sibling(n, 2), c = (e) => {
225
- var t = y();
226
- let n;
227
- a.template_effect(() => {
228
- n = a.set_class(t, 1, "sv-grid-menu-tab", null, n, { "is-active": a.get(s) === "filter" }), a.set_attribute(t, "aria-selected", a.get(s) === "filter");
229
- }), a.delegated("click", t, () => P().columnMenuTab = "filter"), a.append(e, t);
230
- };
231
- a.if(i, (e) => {
232
- a.get(o) && a.get(U) && e(c);
233
- });
234
- var l = a.sibling(i, 2);
235
- let u;
236
- a.reset(t), a.template_effect(() => {
237
- r = a.set_class(n, 1, "sv-grid-menu-tab", null, r, { "is-active": a.get(s) === "general" }), a.set_attribute(n, "aria-selected", a.get(s) === "general"), u = a.set_class(l, 1, "sv-grid-menu-tab", null, u, { "is-active": a.get(s) === "columns" }), a.set_attribute(l, "aria-selected", a.get(s) === "columns");
238
- }), a.delegated("click", n, () => P().columnMenuTab = "general"), a.delegated("click", l, () => P().columnMenuTab = "columns"), a.append(e, t);
239
- };
240
- a.if(l, (e) => {
241
- a.get(W) && e(u);
242
- });
243
- var d = a.sibling(l, 2), f = (e) => {
244
- se(e, () => a.get(n));
245
- }, p = (t) => {
246
- let n = a.derived(() => a.get(ue).getAllColumns());
247
- var r = x(), i = a.sibling(a.first_child(r), 2);
248
- {
249
- let t = a.derived(() => a.get(n).length > 40), r = a.derived(() => Ke(a.get(n))), o = a.derived(() => qe(a.get(n)));
250
- e(i, {
251
- block: !0,
252
- checkbox: !0,
253
- multiple: !0,
254
- get virtual() {
255
- return a.get(t);
256
- },
257
- rows: 9,
258
- rowHeight: 24,
259
- size: "sm",
260
- ariaLabel: "Visible columns",
261
- get options() {
262
- return a.get(r);
263
- },
264
- get value() {
265
- return a.get(o);
266
- },
267
- onChange: (e) => Je(a.get(n), e)
268
- });
269
- }
270
- a.append(t, r);
271
- }, m = (e) => {
272
- var t = T(), r = a.first_child(t), o = (e) => {
273
- var t = S(), r = a.first_child(t), i = a.child(r), o = a.child(i);
274
- a.snippet(o, () => N.icon, () => "sort-asc"), a.reset(i), a.next(), a.reset(r);
275
- var s = a.sibling(r, 2), c = a.child(s), l = a.child(c);
276
- a.snippet(l, () => N.icon, () => "sort-desc"), a.reset(c), a.next(), a.reset(s);
277
- var u = a.sibling(s, 2), d = a.child(u), f = a.child(d);
278
- a.snippet(f, () => N.icon, () => "x"), a.reset(d), a.next(), a.reset(u), a.template_effect(() => u.disabled = !a.get(he)[a.get(n)]), a.delegated("click", r, () => a.get(Ae)(a.get(n), !1)), a.delegated("click", s, () => a.get(Ae)(a.get(n), !0)), a.delegated("click", u, () => a.get(je)(a.get(n))), a.append(e, t);
279
- };
280
- a.if(r, (e) => {
281
- a.get(i) && e(o);
282
- });
283
- var s = a.sibling(r, 2), c = (e) => {
284
- let t = a.derived(() => a.get(de)(a.get(n)));
285
- var r = ee(), i = a.sibling(a.first_child(r), 2), o = a.child(i), s = a.child(o);
286
- a.snippet(s, () => N.icon, () => "op-startsWith"), a.reset(o), a.next(), a.reset(i);
287
- var c = a.sibling(i, 2), l = a.child(c), u = a.child(l);
288
- a.snippet(u, () => N.icon, () => "op-greaterThan"), a.reset(l), a.next(), a.reset(c);
289
- var d = a.sibling(c, 2), f = a.child(d), p = a.child(f);
290
- a.snippet(p, () => N.icon, () => "x"), a.reset(f), a.next(), a.reset(d), a.template_effect(() => {
291
- i.disabled = a.get(t) === "left", c.disabled = a.get(t) === "right", d.disabled = !a.get(t);
292
- }), a.delegated("click", i, () => a.get(fe)(a.get(n))), a.delegated("click", c, () => a.get(pe)(a.get(n))), a.delegated("click", d, () => a.get(me)(a.get(n))), a.append(e, r);
293
- };
294
- a.if(s, (e) => {
295
- a.get(_e) || e(c);
296
- });
297
- var l = a.sibling(s, 4), u = a.child(l), d = a.child(u);
298
- a.snippet(d, () => N.icon, () => "autosize"), a.reset(u), a.next(), a.reset(l);
299
- var f = a.sibling(l, 2), p = a.child(f), m = a.child(p);
300
- a.snippet(m, () => N.icon, () => "autosize"), a.reset(p), a.next(), a.reset(f);
301
- var h = a.sibling(f, 2), g = (e) => {
302
- var t = C(), r = a.sibling(a.first_child(t), 2), i = a.child(r), o = a.child(i);
303
- a.snippet(o, () => N.icon, () => "group"), a.reset(i), a.next(), a.reset(r);
304
- var s = a.sibling(r, 2), c = a.child(s), l = a.child(c);
305
- a.snippet(l, () => N.icon, () => "x"), a.reset(c), a.next(), a.reset(s), a.template_effect((e, t) => {
306
- r.disabled = e, s.disabled = t;
307
- }, [() => a.get(ge).includes(a.get(n)), () => !a.get(ge).includes(a.get(n))]), a.delegated("click", r, () => a.get(Me)(a.get(n))), a.delegated("click", s, () => a.get(Ne)(a.get(n))), a.append(e, t);
308
- };
309
- a.if(h, (e) => {
310
- a.get(ce) && e(g);
311
- });
312
- var _ = a.sibling(h, 4), v = (e) => {
313
- var t = w();
314
- let n;
315
- var r = a.child(t), i = a.child(r);
316
- a.snippet(i, () => N.icon, () => "columns"), a.reset(r);
317
- var o = a.sibling(r, 2), s = a.child(o);
318
- a.snippet(s, () => N.icon, () => "chevron-down"), a.reset(o), a.reset(t), a.template_effect(() => {
319
- n = a.set_class(t, 1, "sv-grid-menu-item", null, n, { "is-open": a.get(H) !== null }), a.set_attribute(t, "aria-expanded", a.get(H) !== null);
320
- }), a.delegated("click", t, (e) => a.get(ke)(e)), a.append(e, t);
321
- };
322
- a.if(_, (e) => {
323
- a.get(W) || e(v);
324
- });
325
- var y = a.sibling(_, 2), b = a.child(y), x = a.child(b);
326
- a.snippet(x, () => N.icon, () => "reset"), a.reset(b), a.next(), a.reset(y), a.delegated("click", l, () => {
327
- a.get(Ee)(a.get(n)), a.get(Y)();
328
- }), a.delegated("click", f, () => {
329
- a.get(De)(), a.get(Y)();
330
- }), a.delegated("click", y, () => {
331
- a.get(Oe)(), a.get(Y)();
332
- }), a.append(e, t);
333
- };
334
- a.if(d, (e) => {
335
- a.get(W) && a.get(s) === "filter" && a.get(o) && a.get(U) ? e(f) : a.get(W) && a.get(s) === "columns" ? e(p, 1) : e(m, -1);
336
- }), a.reset(c), a.template_effect(() => a.set_style(c, `left: ${a.get(R).x}px; top: ${a.get(R).y}px; max-height: calc(100vh - ${a.get(R).y}px - 12px);`)), a.append(t, c);
337
- };
338
- a.if(st, (e) => {
339
- a.get(L) && e(ct);
340
- });
341
- var lt = a.sibling(st, 2), ut = (e) => {
342
- var t = E(), n = a.child(t);
343
- se(n, () => a.get(z)), a.reset(t), a.template_effect(() => a.set_style(t, `left: ${a.get(B).x}px; top: ${a.get(B).y}px; max-height: calc(100vh - ${a.get(B).y}px - 12px);`)), a.append(e, t);
344
- };
345
- a.if(lt, (e) => {
346
- a.get(z) && a.get(U) && e(ut);
347
- });
348
- var dt = a.sibling(lt, 2), ft = (t) => {
349
- let n = a.derived(() => a.get(ue).getAllColumns());
350
- var r = D(), i = a.sibling(a.child(r), 2);
351
- {
352
- let t = a.derived(() => a.get(n).length > 40), r = a.derived(() => Ke(a.get(n))), o = a.derived(() => qe(a.get(n)));
353
- e(i, {
354
- block: !0,
355
- checkbox: !0,
356
- multiple: !0,
357
- get virtual() {
358
- return a.get(t);
359
- },
360
- rows: 11,
361
- rowHeight: 24,
362
- size: "sm",
363
- ariaLabel: "Visible columns",
364
- get options() {
365
- return a.get(r);
366
- },
367
- get value() {
368
- return a.get(o);
369
- },
370
- onChange: (e) => Je(a.get(n), e)
371
- });
372
- }
373
- a.reset(r), a.template_effect(() => a.set_style(r, `left: ${a.get(H).x}px; top: ${a.get(H).y}px;`)), a.append(t, r);
374
- };
375
- a.if(dt, (e) => {
376
- a.get(H) && e(ft);
377
- });
378
- var pt = a.sibling(dt, 2), mt = (e) => {
379
- let t = a.derived(() => a.get(V)), n = a.derived(() => a.get(G).find((e) => e.id === a.get(t))), r = a.derived(() => a.get(xe)(a.get(n))), i = a.derived(() => a.get(F)[a.get(t)]?.operator ?? a.get(K)(a.get(n)));
380
- var o = k();
381
- a.each(o, 21, () => a.get(r), (e) => e.value, (e, r) => {
382
- var o = O(), s = a.child(o), c = a.child(s);
383
- a.snippet(c, () => N.icon, () => a.get(r).iconName), a.reset(s);
384
- var l = a.sibling(s);
385
- a.reset(o), a.template_effect((e) => {
386
- a.set_attribute(o, "aria-checked", a.get(i) === a.get(r).value), a.set_text(l, ` ${e ?? ""}`);
387
- }, [() => a.get(q)(a.get(r), a.get(n))]), a.delegated("click", o, () => {
388
- a.get(ve)(a.get(t), a.get(r).value), a.get(Y)();
389
- }), a.append(e, o);
390
- }), a.reset(o), a.template_effect(() => a.set_style(o, `left: ${a.get(le).x}px; top: ${a.get(le).y}px;`)), a.append(e, o);
391
- };
392
- a.if(pt, (e) => {
393
- a.get(V) && e(mt);
394
- });
395
- var ht = a.sibling(pt, 2), gt = (r) => {
396
- let i = a.derived(() => a.get(Ce)), o = a.derived(() => new Set(n(a.get(Se)[a.get(i)] ?? "")));
397
- var s = re(), c = a.child(s), l = (n) => {
398
- {
399
- let r = a.derived(() => a.get(Z).length > 40);
400
- e(n, {
401
- block: !0,
402
- checkbox: !0,
403
- multiple: !0,
404
- get virtual() {
405
- return a.get(r);
406
- },
407
- rows: 8,
408
- rowHeight: 26,
409
- size: "sm",
410
- ariaLabel: "Filter values",
411
- get options() {
412
- return a.get(Z);
413
- },
414
- get value() {
415
- return a.get(o);
416
- },
417
- onChange: (e) => {
418
- let n = new Set(e), r = t(a.get(Se)[a.get(i)] ?? "");
419
- r && n.delete(r), a.get(Re)(a.get(i), [...n]), P().inSuggestQuery = "";
420
- }
421
- });
422
- }
423
- }, u = (e) => {
424
- var t = ne();
425
- a.append(e, t);
426
- };
427
- a.if(c, (e) => {
428
- a.get(Z).length ? e(l) : e(u, -1);
429
- }), a.reset(s), a.template_effect(() => a.set_style(s, `left: ${a.get(we).x}px; top: ${a.get(we).y}px;`)), a.delegated("mousedown", s, (e) => e.preventDefault()), a.append(r, s);
430
- };
431
- a.if(ht, (e) => {
432
- a.get(Ce) && e(gt);
433
- });
434
- var _t = a.sibling(ht, 2), vt = (e) => {
435
- var t = j(), n = a.first_child(t), r = a.sibling(n, 2);
436
- a.each(r, 21, () => a.get(Qe)(), (e) => e.key, (e, t) => {
437
- var n = a.comment(), r = a.first_child(n), i = (e) => {
438
- var t = A();
439
- a.append(e, t);
440
- }, o = (e) => {
441
- var n = ie(), r = a.child(n, !0);
442
- a.reset(n), a.template_effect(() => {
443
- n.disabled = a.get(t).disabled, a.set_text(r, a.get(t).label);
444
- }), a.delegated("click", n, () => {
445
- a.get(t).run?.(), a.get(Q)();
446
- }), a.append(e, n);
447
- };
448
- a.if(r, (e) => {
449
- a.get(t).separator ? e(i) : e(o, -1);
450
- }), a.append(e, n);
451
- }), a.reset(r), a.template_effect(() => a.set_style(r, `left: ${a.get(Ze).x}px; top: ${a.get(Ze).y}px;`)), a.delegated("contextmenu", n, (e) => {
452
- e.preventDefault(), a.get(Q)();
453
- }), a.delegated("click", n, function(...e) {
454
- a.get(Q)?.apply(this, e);
455
- }), a.append(e, t);
456
- };
457
- a.if(_t, (e) => {
458
- a.get(Xe) && e(vt);
459
- });
460
- var yt = a.sibling(_t, 2), bt = (e) => {
461
- var t = M(), n = a.first_child(t), r = a.sibling(n, 2), i = a.child(r);
462
- a.remove_textarea_child(i), a.autofocus(i, !0);
463
- var o = a.sibling(i, 2), s = a.child(o), c = a.sibling(s, 4), l = a.sibling(c, 2);
464
- a.reset(o), a.reset(r), a.template_effect(() => a.set_style(r, `left: ${a.get($).x}px; top: ${a.get($).y}px;`)), a.delegated("click", n, function(...e) {
465
- a.get(tt)?.apply(this, e);
466
- }), a.delegated("keydown", i, (e) => {
467
- e.stopPropagation(), e.key === "Escape" && (e.preventDefault(), a.get(tt)()), e.key === "Enter" && (e.ctrlKey || e.metaKey) && (e.preventDefault(), a.get($e)());
468
- }), a.bind_value(i, () => P().commentDraft, (e) => P().commentDraft = e), a.delegated("click", s, function(...e) {
469
- a.get(et)?.apply(this, e);
470
- }), a.delegated("click", c, function(...e) {
471
- a.get(tt)?.apply(this, e);
472
- }), a.delegated("click", l, function(...e) {
473
- a.get($e)?.apply(this, e);
474
- }), a.append(e, t);
475
- };
476
- a.if(yt, (e) => {
477
- a.get($) && e(bt);
478
- }), a.append(oe, nt), a.pop();
479
- }
480
- a.delegate([
481
- "change",
482
- "input",
483
- "click",
484
- "mousedown",
485
- "contextmenu",
486
- "keydown"
487
- ]);
488
- //#endregion
489
- export { oe as default };