@svgrid/grid 2.2.28 → 2.2.29

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