@svgrid/grid 2.2.31 → 2.2.32
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/README.md +1 -1
- package/dist/SvAvatar.svelte +1 -1
- package/dist/SvCheckBox.svelte +2 -1
- package/dist/SvCircularProgress.svelte +1 -1
- package/dist/SvGrid.controller.svelte.d.ts +20 -0
- package/dist/SvGrid.controller.svelte.js +358 -18
- package/dist/SvGrid.css +103 -3
- package/dist/SvGrid.svelte +162 -10
- package/dist/SvGrid.types.d.ts +81 -0
- package/dist/SvGridDropdown.svelte +38 -6
- package/dist/SvGridDropdown.svelte.d.ts +4 -0
- package/dist/SvGridSelect.svelte +12 -3
- package/dist/SvGridSelect.svelte.d.ts +6 -0
- package/dist/SvGroupCell.svelte +9 -2
- package/dist/SvMultiSelect.svelte +12 -3
- package/dist/SvMultiSelect.svelte.d.ts +6 -0
- package/dist/SvPasswordInput.svelte +1 -1
- package/dist/SvProgress.svelte +1 -1
- package/dist/SvRating.svelte +1 -1
- package/dist/SvResult.svelte +1 -1
- package/dist/SvRichText.svelte +31 -16
- package/dist/SvRichText.svelte.d.ts +9 -0
- package/dist/SvSwitchButton.svelte +2 -1
- package/dist/SvToaster.svelte +1 -1
- package/dist/SvTree.svelte +9 -2
- package/dist/SvTree.svelte.d.ts +5 -0
- package/dist/SvTreeSelect.svelte +6 -2
- package/dist/build-api.js +16 -0
- package/dist/cdn/{GridMenus-Ds3OpzZT.js → GridMenus-C6ixSGWW.js} +33 -33
- package/dist/cdn/{GridMenus-Da_p7SKS.js → GridMenus-Cyk3qpJ7.js} +33 -33
- package/dist/cdn/{SvDateTimePicker-B8GopjhC.js → SvDateTimePicker-CdqaP61H.js} +2 -1
- package/dist/cdn/{SvDateTimePicker-DB0aIEk8.js → SvDateTimePicker-ClqtVIj3.js} +2 -1
- package/dist/cdn/{SvGridDropdown-DjALc_4f.js → SvGridDropdown-D0VdjeR8.js} +129 -123
- package/dist/cdn/{SvGridDropdown-hpnHvOGt.js → SvGridDropdown-Dh-2ej8j.js} +92 -87
- package/dist/cdn/{src-BLJfdyL0.js → src-BgHjWF0Q.js} +4193 -3837
- package/dist/cdn/{src-DYDCiC0D.js → src-CgD-wiuS.js} +5956 -5602
- package/dist/cdn/svgrid.js +8 -8
- package/dist/cdn/svgrid.svelte-external.js +8 -8
- package/dist/cell-render.d.ts +1 -0
- package/dist/cell-render.js +115 -1
- package/dist/cell-values.js +5 -0
- package/dist/core.d.ts +80 -9
- package/dist/core.js +89 -0
- package/dist/editor-contract.d.ts +12 -5
- package/dist/editor-registry.d.ts +18 -7
- package/dist/editor-registry.js +10 -1
- package/dist/group-display.d.ts +39 -0
- package/dist/group-display.js +52 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/keyboard-handlers.js +16 -0
- package/dist/recurrence.js +3 -2
- package/dist/svgrid-wrapper.types.d.ts +8 -2
- package/dist/themes/index.d.ts +10 -0
- package/dist/themes/index.js +26 -0
- package/package.json +1 -1
- package/src/SvAccordion.test.ts +5 -5
- package/src/SvAvatar.svelte +1 -1
- package/src/SvButtonGroup.test.ts +6 -6
- package/src/SvCheckBox.svelte +2 -1
- package/src/SvCircularProgress.svelte +1 -1
- package/src/SvFileUpload.test.ts +1 -1
- package/src/SvGrid.controller.svelte.ts +367 -17
- package/src/SvGrid.css +103 -3
- package/src/SvGrid.svelte +162 -10
- package/src/SvGrid.types.ts +81 -0
- package/src/SvGridDropdown.svelte +38 -6
- package/src/SvGridSelect.svelte +12 -3
- package/src/SvGroupCell.svelte +9 -2
- package/src/SvMultiSelect.svelte +12 -3
- package/src/SvPasswordInput.svelte +1 -1
- package/src/SvProgress.svelte +1 -1
- package/src/SvRating.svelte +1 -1
- package/src/SvResult.svelte +1 -1
- package/src/SvRichText.svelte +31 -16
- package/src/SvSwitchButton.svelte +2 -1
- package/src/SvToaster.svelte +1 -1
- package/src/SvTree.svelte +9 -2
- package/src/SvTreeSelect.svelte +6 -2
- package/src/build-api.ts +15 -0
- package/src/builtin-editors.test.ts +3 -1
- package/src/cell-render.test.ts +27 -3
- package/src/cell-render.ts +122 -1
- package/src/cell-values.ts +4 -0
- package/src/chart-export.test.ts +2 -2
- package/src/clipboard.test.ts +0 -2
- package/src/core.ts +157 -8
- package/src/editing.test.ts +1 -1
- package/src/editor-contract.ts +12 -5
- package/src/editor-registry.grid.test.ts +48 -0
- package/src/editor-registry.test.ts +3 -1
- package/src/editor-registry.ts +23 -7
- package/src/facet-buckets.test.ts +33 -33
- package/src/group-display.test.ts +91 -1
- package/src/group-display.ts +83 -0
- package/src/index.ts +9 -0
- package/src/keyboard-handlers.ts +17 -0
- package/src/list-power.test.ts +2 -2
- package/src/menus.test.ts +4 -4
- package/src/named-views.coverage.test.ts +3 -3
- package/src/recurrence.ts +3 -2
- package/src/row-resize.test.ts +40 -40
- package/src/scheduler-model.ts +1 -1
- package/src/server-data-source.coverage.test.ts +1 -1
- package/src/server-group-model.test.ts +6 -6
- package/src/spreadsheet.test.ts +0 -1
- package/src/svgrid-wrapper.types.ts +11 -9
- package/src/svgrid.async-editor-options.test.ts +271 -0
- package/src/svgrid.auto-row-height.test.ts +204 -0
- package/src/svgrid.charting.test.ts +4 -4
- package/src/svgrid.comments-autocomplete.test.ts +8 -2
- package/src/svgrid.context-menu.test.ts +25 -9
- package/src/svgrid.filter-depth.test.ts +163 -0
- package/src/svgrid.filter-menu-listbox.svelte.test.ts +16 -2
- package/src/svgrid.filter-menu-scroll.test.ts +10 -2
- package/src/svgrid.grand-total.test.ts +188 -0
- package/src/svgrid.group-display-mode.test.ts +171 -0
- package/src/svgrid.group-footers.test.ts +121 -0
- package/src/svgrid.group-pagination.test.ts +153 -0
- package/src/svgrid.tree-data.test.ts +186 -0
- package/src/svgriddropdown.async-panel.svelte.test.ts +195 -0
- package/src/themes/index.ts +42 -0
- package/src/tree-edit.test.ts +4 -4
- package/src/tree-row-model.test.ts +169 -0
- package/src/ui-localization.test.ts +113 -0
- package/themes/ag-alpine.css +22 -0
- package/themes/antd.css +22 -0
- package/themes/atlassian.css +22 -0
- package/themes/bootstrap.css +22 -0
- package/themes/carbon.css +22 -0
- package/themes/catppuccin.css +22 -0
- package/themes/dracula.css +22 -0
- package/themes/ember.css +22 -0
- package/themes/excel.css +22 -0
- package/themes/fluent.css +22 -0
- package/themes/github.css +22 -0
- package/themes/linear.css +22 -0
- package/themes/material.css +22 -0
- package/themes/nord.css +22 -0
- package/themes/notion.css +22 -0
- package/themes/salesforce.css +22 -0
- package/themes/sap.css +22 -0
- package/themes/shadcn.css +22 -0
- package/themes/tailwind.css +22 -0
- package/themes/vercel.css +22 -0
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Gn as e, io as t, no as n, ro as r } from "./src-CgD-wiuS.js";
|
|
2
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-
|
|
3
|
+
import { l as ne } from "./SvDateTimePicker-CdqaP61H.js";
|
|
4
4
|
//#region src/GridMenus.svelte
|
|
5
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
6
|
function V(l, p) {
|
|
7
7
|
P(p, !0);
|
|
8
|
-
let V = (
|
|
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(() =>
|
|
8
|
+
let V = (n, 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(() => t(o(c)?.columnDef.editorType ?? "text"));
|
|
10
10
|
var g = pe(), _ = y(g), E = y(_);
|
|
11
11
|
w(y(E), () => p.icon, () => "filter"), k(E), x(), k(_);
|
|
12
12
|
var j = O(_, 2);
|
|
@@ -105,10 +105,10 @@ function V(l, p) {
|
|
|
105
105
|
N(I);
|
|
106
106
|
var L = O(I, 2), R = y(L);
|
|
107
107
|
N(R), x(2), k(L);
|
|
108
|
-
var he = O(L, 2), ge = (
|
|
108
|
+
var he = O(L, 2), ge = (t) => {
|
|
109
109
|
{
|
|
110
110
|
let n = A(() => o(lt).length > vt);
|
|
111
|
-
t
|
|
111
|
+
e(t, {
|
|
112
112
|
block: !0,
|
|
113
113
|
checkbox: !0,
|
|
114
114
|
multiple: !0,
|
|
@@ -146,7 +146,7 @@ function V(l, p) {
|
|
|
146
146
|
P !== (P = o(d)) && (j.value = (j.__value = o(d)) ?? "", S(j, o(d))), b(R, e), B.disabled = t;
|
|
147
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
148
|
o($)?.apply(this, e);
|
|
149
|
-
}), a(
|
|
149
|
+
}), a(n, g);
|
|
150
150
|
}, H = j(p, "ctrl", 7), je = A(() => H().groupingControlsEnabled), U = A(() => H().filterMenuValues), W = A(() => H().tooltip);
|
|
151
151
|
A(() => H().showTooltipFor);
|
|
152
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);
|
|
@@ -172,11 +172,11 @@ function V(l, p) {
|
|
|
172
172
|
};
|
|
173
173
|
});
|
|
174
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(
|
|
176
|
-
o(mt)(
|
|
175
|
+
function yt(e, t) {
|
|
176
|
+
o(mt)(e, t), H().inSuggestQuery = r(e.value);
|
|
177
177
|
}
|
|
178
|
-
function bt(
|
|
179
|
-
H().inSuggestQuery = e
|
|
178
|
+
function bt(e, t) {
|
|
179
|
+
H().inSuggestQuery = r(e.value), H().inSuggestFor !== t && o(mt)(e, t);
|
|
180
180
|
}
|
|
181
181
|
function xt(e) {
|
|
182
182
|
return e.map((e) => ({
|
|
@@ -215,7 +215,7 @@ function V(l, p) {
|
|
|
215
215
|
T(It, (e) => {
|
|
216
216
|
(o(G) || o(K) || o(q) || o(J)) && e(Lt);
|
|
217
217
|
});
|
|
218
|
-
var Rt = O(It, 2), zt = (
|
|
218
|
+
var Rt = O(It, 2), zt = (t) => {
|
|
219
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
220
|
var u = B(), d = y(u), f = (e) => {
|
|
221
221
|
var t = R(), n = y(t);
|
|
@@ -241,17 +241,17 @@ function V(l, p) {
|
|
|
241
241
|
});
|
|
242
242
|
var m = O(d, 2), g = (e) => {
|
|
243
243
|
V(e, () => o(n));
|
|
244
|
-
}, b = (
|
|
244
|
+
}, b = (t) => {
|
|
245
245
|
let n = A(() => o(Ie).getAllColumns());
|
|
246
246
|
var r = he(), i = O(M(r), 2);
|
|
247
247
|
{
|
|
248
|
-
let
|
|
249
|
-
|
|
248
|
+
let t = A(() => o(n).length > 40), r = A(() => xt(o(n))), a = A(() => St(o(n)));
|
|
249
|
+
e(i, {
|
|
250
250
|
block: !0,
|
|
251
251
|
checkbox: !0,
|
|
252
252
|
multiple: !0,
|
|
253
253
|
get virtual() {
|
|
254
|
-
return o(
|
|
254
|
+
return o(t);
|
|
255
255
|
},
|
|
256
256
|
rows: 9,
|
|
257
257
|
rowHeight: 24,
|
|
@@ -266,7 +266,7 @@ function V(l, p) {
|
|
|
266
266
|
onChange: (e) => Ct(o(n), e)
|
|
267
267
|
});
|
|
268
268
|
}
|
|
269
|
-
a(
|
|
269
|
+
a(t, r);
|
|
270
270
|
}, S = (e) => {
|
|
271
271
|
var t = z(), r = M(t), c = (e) => {
|
|
272
272
|
var t = ge(), r = M(t), i = y(r);
|
|
@@ -332,7 +332,7 @@ function V(l, p) {
|
|
|
332
332
|
};
|
|
333
333
|
T(m, (e) => {
|
|
334
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(
|
|
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(t, u);
|
|
336
336
|
};
|
|
337
337
|
T(Rt, (e) => {
|
|
338
338
|
o(G) && e(zt);
|
|
@@ -344,17 +344,17 @@ function V(l, p) {
|
|
|
344
344
|
T(Bt, (e) => {
|
|
345
345
|
o(K) && o(Fe) && e(Vt);
|
|
346
346
|
});
|
|
347
|
-
var Ht = O(Bt, 2), Ut = (
|
|
347
|
+
var Ht = O(Bt, 2), Ut = (t) => {
|
|
348
348
|
let n = A(() => o(Ie).getAllColumns());
|
|
349
349
|
var r = xe(), i = O(y(r), 2);
|
|
350
350
|
{
|
|
351
|
-
let
|
|
352
|
-
|
|
351
|
+
let t = A(() => o(n).length > 40), r = A(() => xt(o(n))), a = A(() => St(o(n)));
|
|
352
|
+
e(i, {
|
|
353
353
|
block: !0,
|
|
354
354
|
checkbox: !0,
|
|
355
355
|
multiple: !0,
|
|
356
356
|
get virtual() {
|
|
357
|
-
return o(
|
|
357
|
+
return o(t);
|
|
358
358
|
},
|
|
359
359
|
rows: 11,
|
|
360
360
|
rowHeight: 24,
|
|
@@ -369,7 +369,7 @@ function V(l, p) {
|
|
|
369
369
|
onChange: (e) => Ct(o(n), e)
|
|
370
370
|
});
|
|
371
371
|
}
|
|
372
|
-
k(r), h(() => _(r, `left: ${o(J).x}px; top: ${o(J).y}px;`)), a(
|
|
372
|
+
k(r), h(() => _(r, `left: ${o(J).x}px; top: ${o(J).y}px;`)), a(t, r);
|
|
373
373
|
};
|
|
374
374
|
T(Ht, (e) => {
|
|
375
375
|
o(J) && e(Ut);
|
|
@@ -391,17 +391,17 @@ function V(l, p) {
|
|
|
391
391
|
T(Wt, (e) => {
|
|
392
392
|
o(q) && e(Gt);
|
|
393
393
|
});
|
|
394
|
-
var Kt = O(Wt, 2), qt = (
|
|
395
|
-
let i = A(() => o(Xe)), c = A(() => new Set(
|
|
396
|
-
var l = Te(), u = y(l), d = (
|
|
394
|
+
var Kt = O(Wt, 2), qt = (t) => {
|
|
395
|
+
let i = A(() => o(Xe)), c = A(() => new Set(n(o(Ye)[o(i)] ?? "")));
|
|
396
|
+
var l = Te(), u = y(l), d = (t) => {
|
|
397
397
|
{
|
|
398
|
-
let
|
|
399
|
-
t
|
|
398
|
+
let n = A(() => o(pt).length > 40);
|
|
399
|
+
e(t, {
|
|
400
400
|
block: !0,
|
|
401
401
|
checkbox: !0,
|
|
402
402
|
multiple: !0,
|
|
403
403
|
get virtual() {
|
|
404
|
-
return o(
|
|
404
|
+
return o(n);
|
|
405
405
|
},
|
|
406
406
|
rows: 8,
|
|
407
407
|
rowHeight: 26,
|
|
@@ -413,9 +413,9 @@ function V(l, p) {
|
|
|
413
413
|
get value() {
|
|
414
414
|
return o(c);
|
|
415
415
|
},
|
|
416
|
-
onChange: (
|
|
417
|
-
let
|
|
418
|
-
|
|
416
|
+
onChange: (e) => {
|
|
417
|
+
let t = new Set(e), n = r(o(Ye)[o(i)] ?? "");
|
|
418
|
+
n && t.delete(n), o(ft)(o(i), [...t]), H().inSuggestQuery = "";
|
|
419
419
|
}
|
|
420
420
|
});
|
|
421
421
|
}
|
|
@@ -424,7 +424,7 @@ function V(l, p) {
|
|
|
424
424
|
};
|
|
425
425
|
T(u, (e) => {
|
|
426
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(
|
|
427
|
+
}), k(l), h(() => _(l, `left: ${o(Ze).x}px; top: ${o(Ze).y}px;`)), s("mousedown", l, (e) => e.preventDefault()), a(t, l);
|
|
428
428
|
};
|
|
429
429
|
T(Kt, (e) => {
|
|
430
430
|
o(Xe) && e(qt);
|
|
@@ -189,7 +189,8 @@ var Ce = [
|
|
|
189
189
|
[-1]: "last"
|
|
190
190
|
};
|
|
191
191
|
function Ee(e, t, n) {
|
|
192
|
-
|
|
192
|
+
let r = e.weekdays?.[0];
|
|
193
|
+
return e.weekOfMonth != null && r != null ? `the ${n[e.weekOfMonth] ?? e.weekOfMonth} ${t[r]}` : e.day === -1 ? "the last day" : e.day != null && e.day < 0 ? `the ${-e.day} day(s) from the end` : e.day == null ? "" : `day ${e.day}`;
|
|
193
194
|
}
|
|
194
195
|
function De(e, t) {
|
|
195
196
|
let n = Math.max(1, Math.floor(e.interval ?? 1)), r = "";
|
|
@@ -191,7 +191,8 @@ var B = [
|
|
|
191
191
|
[-1]: "last"
|
|
192
192
|
};
|
|
193
193
|
function U(e, t, n) {
|
|
194
|
-
|
|
194
|
+
let r = e.weekdays?.[0];
|
|
195
|
+
return e.weekOfMonth != null && r != null ? `the ${n[e.weekOfMonth] ?? e.weekOfMonth} ${t[r]}` : e.day === -1 ? "the last day" : e.day != null && e.day < 0 ? `the ${-e.day} day(s) from the end` : e.day == null ? "" : `day ${e.day}`;
|
|
195
196
|
}
|
|
196
197
|
function ee(e, t) {
|
|
197
198
|
let n = Math.max(1, Math.floor(e.interval ?? 1)), r = "";
|
|
@@ -3,146 +3,148 @@ import { i as t, n, r } from "./popover-P-9P2YYn.js";
|
|
|
3
3
|
import * as i from "svelte/internal/client";
|
|
4
4
|
import "svelte/internal/disclose-version";
|
|
5
5
|
//#region src/SvGridDropdown.svelte
|
|
6
|
-
var a = /* @__PURE__ */ e({ default: () =>
|
|
6
|
+
var a = /* @__PURE__ */ e({ default: () => x }), o = i.from_html("<span class=\"sv-grid-chip sv-grid-chip-removable svelte-ei8hp3\"> <span class=\"sv-grid-chip-remove svelte-ei8hp3\" role=\"button\">×</span></span>"), s = i.from_html("<span class=\"sv-grid-dropdown-chips svelte-ei8hp3\"></span>"), c = i.from_html("<span class=\"sv-grid-chip svelte-ei8hp3\"> </span>"), l = i.from_html("<span class=\"sv-grid-dropdown-label svelte-ei8hp3\"> </span>"), u = i.from_html("<input type=\"search\" class=\"sv-grid-dropdown-search\" placeholder=\"Search…\"/>"), d = i.from_html("<div class=\"sv-grid-dropdown-empty\" role=\"status\" aria-live=\"polite\">Loading…</div>"), f = i.from_html("<div class=\"sv-grid-dropdown-empty\"> </div>"), p = i.from_html("<span class=\"sv-grid-dropdown-check\" aria-hidden=\"true\"> </span>"), m = i.from_html("<span class=\"sv-grid-dropdown-option-chip\"> </span>"), h = i.from_html("<span class=\"sv-grid-dropdown-option-label\"> </span>"), g = i.from_html("<div role=\"option\"><!> <!></div>"), _ = i.from_html("<div class=\"sv-grid-dropdown-footer\"><button type=\"button\" class=\"sv-grid-dropdown-done\">Done</button></div>"), v = i.from_html("<div role=\"listbox\"><!> <!> <!></div>"), y = i.from_html("<div><button type=\"button\" aria-haspopup=\"listbox\"><!> <span class=\"sv-grid-dropdown-caret svelte-ei8hp3\" aria-hidden=\"true\">▾</span></button> <!></div>"), b = {
|
|
7
7
|
hash: "svelte-ei8hp3",
|
|
8
8
|
code: "\n /* All colors derive from the grid's host CSS vars so light/dark themes\n \"just work\". Hard fallbacks are kept so the component is still\n usable in an unthemed page. */.sv-grid-dropdown.svelte-ei8hp3 {position:absolute;top:0;left:0;right:0;height:100%;background:var(--sg-bg, #ffffff);color:var(--sg-fg, #0f172a);}.sv-grid-dropdown-trigger.svelte-ei8hp3 {display:flex;align-items:center;gap:6px;width:100%;height:100%;min-height:28px;padding:0 8px;background:var(--sg-bg, #ffffff);color:var(--sg-fg, #0f172a);border:0;outline:none;font:inherit;text-align:start;cursor:pointer;box-sizing:border-box;}.sv-grid-dropdown-trigger.svelte-ei8hp3:focus {outline:2px solid var(--sg-accent, #2563eb);outline-offset:-2px;}.sv-grid-dropdown-trigger-chips.svelte-ei8hp3 {align-items:center;padding:4px 8px;flex-wrap:wrap;}.sv-grid-dropdown-chips.svelte-ei8hp3 {display:inline-flex;flex-wrap:wrap;gap:4px;flex:1 1 auto;min-width:0;align-items:center;}.sv-grid-dropdown-label.svelte-ei8hp3 {flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.sv-grid-dropdown-caret.svelte-ei8hp3 {flex:0 0 auto;font-size:10px;opacity:0.7;line-height:1;}\n\n /* Popover sits absolutely below the trigger. The parent\n `.sv-grid-cell-editing` has `overflow: visible`, so this can hang\n past the row. Pulls its surface color from the grid's header bg\n so it reads as a slightly elevated layer on either theme. */\n /* Panel is `position: fixed` AND portal'd into document.body via\n `use:portalToBody`, so it escapes every ancestor overflow / clip /\n transform / stacking context. Coords come from updatePanelPosition(). */.sv-grid-dropdown-panel {overflow-y:auto;background:var(--sg-header-bg, var(--sg-bg, #ffffff));color:var(--sg-fg, #0f172a);border:1px solid var(--sg-accent, #2563eb);border-radius:6px;box-shadow:0 12px 28px rgba(0, 0, 0, 0.45);padding:4px 0;font-family:inherit;}\n /* When the option list fits in one panel we want NO scrollbar at all -\n * not even a sub-pixel ghost track. `overflow: visible` rules out the\n * scrollbar gutter that some browsers still reserve under\n * `overflow: auto` when content equals max-height. */.sv-grid-dropdown-panel.sv-grid-dropdown-panel-fits {overflow:visible;}.sv-grid-dropdown-option {display:flex;align-items:center;gap:8px;padding:6px 10px;cursor:pointer;user-select:none;color:var(--sg-fg, #0f172a);}.sv-grid-dropdown-option-highlighted {background:var(--sg-row-hover-bg, rgba(37, 99, 235, 0.1));}.sv-grid-dropdown-option-selected {font-weight:600;background:var(--sg-selection-bg, rgba(37, 99, 235, 0.15));}.sv-grid-dropdown-option-selected.sv-grid-dropdown-option-highlighted {background:var(--sg-row-hover-bg, rgba(37, 99, 235, 0.18));}.sv-grid-dropdown-option-label {flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.sv-grid-dropdown-check {flex:0 0 16px;display:inline-flex;align-items:center;justify-content:center;color:var(--sg-accent, #2563eb);font-weight:700;}.sv-grid-dropdown-swatch {flex:0 0 12px;width:12px;height:12px;border-radius:999px;border:1px solid color-mix(in srgb, var(--sg-fg, #0f172a) 25%, transparent);}\n /* Colored option chip. Declared `:global` because the option panel is\n portal'd to <body>, where Svelte's scoped classes don't reach. The\n per-chip background / border / text color come from an inline style\n (see colorfulChipStyleInline) so each option matches its cell chip. */.sv-grid-dropdown-option-chip {display:inline-flex;align-items:center;max-width:100%;padding:2px 11px;border:1px solid transparent;border-radius:999px;font-size:0.9em;font-weight:600;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.sv-grid-dropdown-empty {padding:8px 10px;color:var(--sg-muted, rgba(15, 23, 42, 0.55));font-style:italic;font-size:0.9em;}.sv-grid-dropdown-footer {display:flex;justify-content:flex-end;padding:4px 6px;border-top:1px solid var(--sg-border, rgba(15, 23, 42, 0.08));margin-top:2px;}.sv-grid-dropdown-done {font-size:11px;text-transform:uppercase;letter-spacing:0.04em;color:#fff;background:var(--sg-accent, #2563eb);border:0;border-radius:4px;padding:4px 10px;cursor:pointer;}.sv-grid-dropdown-done:hover {filter:brightness(1.12);}\n\n /* Note: option / footer / swatch styles are declared `:global(...)`\n above because the panel is portal'd to <body> and Svelte's scoped\n class won't survive on children of an element living outside the\n component subtree. */\n\n /* Theme-aware chip badges. Inside the trigger they sit on the cell\n background, so we need a tone that contrasts on BOTH themes - a\n translucent accent works well in dark mode and reads as a soft\n blue pill in light mode. */.sv-grid-chip.svelte-ei8hp3 {display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-size:0.85em;line-height:1.4;background:color-mix(in srgb, var(--sg-accent, #2563eb) 18%, transparent);color:var(--sg-fg, #0f172a);border-radius:999px;border:1px solid color-mix(in srgb, var(--sg-accent, #2563eb) 35%, transparent);white-space:nowrap;}.sv-grid-chip-removable.svelte-ei8hp3 {padding-inline-end:2px;}.sv-grid-chip-remove.svelte-ei8hp3 {display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:0;border-radius:999px;background:color-mix(in srgb, var(--sg-fg, #0f172a) 18%, transparent);color:inherit;font-size:12px;line-height:1;cursor:pointer;padding:0;}.sv-grid-chip-remove.svelte-ei8hp3:hover {background:rgba(220, 38, 38, 0.7);color:#fff;}"
|
|
9
9
|
};
|
|
10
|
-
function
|
|
11
|
-
let
|
|
12
|
-
i.push(a, !0), i.append_styles(e,
|
|
13
|
-
let
|
|
14
|
-
function
|
|
15
|
-
return e >= 0 && e < i.get(
|
|
10
|
+
function x(e, a) {
|
|
11
|
+
let x = i.props_id();
|
|
12
|
+
i.push(a, !0), i.append_styles(e, b);
|
|
13
|
+
let S = i.prop(a, "multiple", 3, !1), C = i.prop(a, "placeholder", 3, "Select…"), w = i.prop(a, "renderChipsInTrigger", 3, !1), T = i.prop(a, "searchable", 3, !1), E = i.prop(a, "autoOpen", 3, !0), D = i.prop(a, "loading", 3, !1);
|
|
14
|
+
function O(e) {
|
|
15
|
+
return e >= 0 && e < i.get(j).length ? `${x}-opt-${e}` : void 0;
|
|
16
16
|
}
|
|
17
|
-
let
|
|
18
|
-
let e = i.get(
|
|
17
|
+
let k = i.derived(() => a.options.some((e) => e.color) ? 40 : 32), A = i.state(""), j = i.derived(() => !T() || !i.get(A).trim() ? a.options : (() => {
|
|
18
|
+
let e = i.get(A).trim().toLowerCase();
|
|
19
19
|
return a.options.filter((t) => t.label.toLowerCase().includes(e));
|
|
20
|
-
})()),
|
|
20
|
+
})()), M = i.state(!1), N = i.state(-1), P = i.state(null), F = i.state(null), I = i.state(null), L = i.state(i.proxy({
|
|
21
21
|
top: 0,
|
|
22
22
|
left: 0,
|
|
23
23
|
width: 0,
|
|
24
24
|
openUpward: !1,
|
|
25
25
|
maxHeight: 0,
|
|
26
26
|
availHeight: 0
|
|
27
|
-
})),
|
|
28
|
-
if (i.get(
|
|
29
|
-
if (!
|
|
30
|
-
let e = i.get(
|
|
27
|
+
})), R = i.derived(() => Array.isArray(a.value) ? a.value : a.value == null || a.value === "" ? [] : [a.value]), z = i.derived(() => {
|
|
28
|
+
if (i.get(R).length === 0) return C();
|
|
29
|
+
if (!S()) {
|
|
30
|
+
let e = i.get(R)[0], t = a.options.find((t) => String(t.value) === String(e));
|
|
31
31
|
return t ? t.label : String(e);
|
|
32
32
|
}
|
|
33
|
-
return `${i.get(
|
|
34
|
-
}),
|
|
35
|
-
if (
|
|
36
|
-
let e = i.get(
|
|
33
|
+
return `${i.get(R).length} selected`;
|
|
34
|
+
}), B = i.derived(() => {
|
|
35
|
+
if (S() || i.get(R).length !== 1) return;
|
|
36
|
+
let e = i.get(R)[0];
|
|
37
37
|
return a.options.find((t) => String(t.value) === String(e))?.color;
|
|
38
38
|
});
|
|
39
|
-
function
|
|
40
|
-
return i.get(
|
|
39
|
+
function V(e) {
|
|
40
|
+
return i.get(R).some((t) => String(t) === String(e.value));
|
|
41
41
|
}
|
|
42
|
-
function
|
|
43
|
-
if (
|
|
44
|
-
let t =
|
|
42
|
+
function H(e) {
|
|
43
|
+
if (S()) {
|
|
44
|
+
let t = V(e) ? i.get(R).filter((t) => String(t) !== String(e.value)) : [...i.get(R), e.value];
|
|
45
45
|
a.onChange?.(t);
|
|
46
|
-
} else a.onChange?.(e.value), i.set(
|
|
46
|
+
} else a.onChange?.(e.value), i.set(M, !1), a.onCommit?.();
|
|
47
47
|
}
|
|
48
|
-
function
|
|
49
|
-
if (!i.get(
|
|
50
|
-
if (i.set(
|
|
51
|
-
let e = a.options.findIndex((e) =>
|
|
52
|
-
i.set(
|
|
48
|
+
function U() {
|
|
49
|
+
if (!i.get(M)) {
|
|
50
|
+
if (i.set(M, !0), i.get(N) < 0) {
|
|
51
|
+
let e = a.options.findIndex((e) => V(e));
|
|
52
|
+
i.set(N, e >= 0 ? e : 0, !0);
|
|
53
53
|
}
|
|
54
|
-
|
|
54
|
+
W();
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
|
-
function
|
|
58
|
-
if (!i.get(
|
|
59
|
-
let e = Math.min(
|
|
60
|
-
i.set(
|
|
61
|
-
estimatedHeight:
|
|
57
|
+
function W() {
|
|
58
|
+
if (!i.get(F)) return;
|
|
59
|
+
let e = Math.min(i.get(j).length, 10), t = T() ? 38 : 0, r = e * i.get(k) + (S() ? 40 : 0) + t + 8;
|
|
60
|
+
i.set(L, n(i.get(F).getBoundingClientRect(), {
|
|
61
|
+
estimatedHeight: r,
|
|
62
62
|
clampHorizontal: !1
|
|
63
63
|
}), !0);
|
|
64
64
|
}
|
|
65
65
|
i.user_effect(() => {
|
|
66
|
-
if (!i.get(
|
|
67
|
-
let e = () =>
|
|
66
|
+
if (!i.get(M)) return;
|
|
67
|
+
let e = () => W();
|
|
68
68
|
return window.addEventListener("scroll", e, !0), window.addEventListener("resize", e), () => {
|
|
69
69
|
window.removeEventListener("scroll", e, !0), window.removeEventListener("resize", e);
|
|
70
70
|
};
|
|
71
|
+
}), i.user_effect(() => {
|
|
72
|
+
i.get(M) && (i.get(j).length, i.get(k), W());
|
|
71
73
|
});
|
|
72
|
-
function
|
|
73
|
-
i.set(
|
|
74
|
+
function G() {
|
|
75
|
+
i.set(M, !1), i.set(N, -1);
|
|
74
76
|
}
|
|
75
|
-
function
|
|
77
|
+
function K(e) {
|
|
76
78
|
if (e.stopPropagation(), e.key === "Escape") {
|
|
77
|
-
e.preventDefault(),
|
|
79
|
+
e.preventDefault(), G(), a.onCancel?.();
|
|
78
80
|
return;
|
|
79
81
|
}
|
|
80
82
|
if (e.key === "ArrowDown") {
|
|
81
|
-
if (e.preventDefault(), !i.get(
|
|
82
|
-
|
|
83
|
+
if (e.preventDefault(), !i.get(M)) {
|
|
84
|
+
U();
|
|
83
85
|
return;
|
|
84
86
|
}
|
|
85
|
-
i.set(
|
|
87
|
+
i.set(N, Math.min(i.get(N) + 1, a.options.length - 1), !0), q();
|
|
86
88
|
} else if (e.key === "ArrowUp") {
|
|
87
|
-
if (e.preventDefault(), !i.get(
|
|
88
|
-
|
|
89
|
+
if (e.preventDefault(), !i.get(M)) {
|
|
90
|
+
U();
|
|
89
91
|
return;
|
|
90
92
|
}
|
|
91
|
-
i.set(
|
|
93
|
+
i.set(N, Math.max(i.get(N) - 1, 0), !0), q();
|
|
92
94
|
} else if (e.key === "Home") {
|
|
93
|
-
if (!i.get(
|
|
94
|
-
e.preventDefault(), i.set(
|
|
95
|
+
if (!i.get(M)) return;
|
|
96
|
+
e.preventDefault(), i.set(N, 0), q();
|
|
95
97
|
} else if (e.key === "End") {
|
|
96
|
-
if (!i.get(
|
|
97
|
-
e.preventDefault(), i.set(
|
|
98
|
+
if (!i.get(M)) return;
|
|
99
|
+
e.preventDefault(), i.set(N, a.options.length - 1), q();
|
|
98
100
|
} else if (e.key === "Enter") {
|
|
99
|
-
if (e.preventDefault(), !i.get(
|
|
100
|
-
|
|
101
|
+
if (e.preventDefault(), !i.get(M)) {
|
|
102
|
+
U();
|
|
101
103
|
return;
|
|
102
104
|
}
|
|
103
|
-
let t = a.options[i.get(
|
|
104
|
-
t ?
|
|
105
|
-
} else if (e.key === " " && i.get(
|
|
105
|
+
let t = a.options[i.get(N)];
|
|
106
|
+
t ? H(t) : S() && (G(), a.onCommit?.());
|
|
107
|
+
} else if (e.key === " " && i.get(M)) {
|
|
106
108
|
e.preventDefault();
|
|
107
|
-
let t = a.options[i.get(
|
|
108
|
-
t &&
|
|
109
|
-
} else e.key === "Tab" && (i.get(
|
|
109
|
+
let t = a.options[i.get(N)];
|
|
110
|
+
t && H(t);
|
|
111
|
+
} else e.key === "Tab" && (i.get(M) && G(), a.onCommit?.());
|
|
110
112
|
}
|
|
111
|
-
function
|
|
113
|
+
function q() {
|
|
112
114
|
queueMicrotask(() => {
|
|
113
|
-
i.get(
|
|
115
|
+
i.get(I) && i.get(I).querySelector(`[data-opt-idx="${i.get(N)}"]`)?.scrollIntoView({ block: "nearest" });
|
|
114
116
|
});
|
|
115
117
|
}
|
|
116
|
-
function
|
|
118
|
+
function J(e) {
|
|
117
119
|
let t = e.relatedTarget;
|
|
118
|
-
t && i.get(
|
|
120
|
+
t && i.get(P)?.contains(t) || (i.get(M) && G(), a.onCommit?.());
|
|
119
121
|
}
|
|
120
|
-
function
|
|
122
|
+
function ee(e, t) {
|
|
121
123
|
t.preventDefault(), t.stopPropagation();
|
|
122
|
-
let n = i.get(
|
|
123
|
-
a.onChange?.(
|
|
124
|
+
let n = i.get(R).filter((t) => String(t) !== String(e));
|
|
125
|
+
a.onChange?.(S() ? n : n[0] ?? null);
|
|
124
126
|
}
|
|
125
|
-
function
|
|
126
|
-
|
|
127
|
+
function te(e) {
|
|
128
|
+
E() && (e.focus(), U());
|
|
127
129
|
}
|
|
128
130
|
i.user_effect(() => {
|
|
129
|
-
if (!i.get(
|
|
131
|
+
if (!i.get(M)) return;
|
|
130
132
|
let e = (e) => {
|
|
131
133
|
let t = e.target;
|
|
132
|
-
t && (i.get(
|
|
134
|
+
t && (i.get(P)?.contains(t) || i.get(I)?.contains(t) || (G(), a.onCommit?.()));
|
|
133
135
|
};
|
|
134
136
|
return document.addEventListener("pointerdown", e, !0), () => document.removeEventListener("pointerdown", e, !0);
|
|
135
137
|
});
|
|
136
138
|
function Y(e) {
|
|
137
139
|
return `background: color-mix(in srgb, ${e} 22%, transparent);border-color: color-mix(in srgb, ${e} 45%, transparent);color: color-mix(in srgb, ${e} 80%, var(--sg-fg, #0f172a));`;
|
|
138
140
|
}
|
|
139
|
-
var X =
|
|
141
|
+
var X = y();
|
|
140
142
|
let Z;
|
|
141
143
|
var Q = i.child(X);
|
|
142
144
|
let $;
|
|
143
|
-
var
|
|
145
|
+
var ne = i.child(Q), re = (e) => {
|
|
144
146
|
var t = s();
|
|
145
|
-
i.each(t, 21, () => i.get(
|
|
147
|
+
i.each(t, 21, () => i.get(R), (e) => String(e), (e, t) => {
|
|
146
148
|
let n = i.derived(() => a.options.find((e) => String(e.value) === String(i.get(t))));
|
|
147
149
|
var r = o(), s = i.child(r), c = i.sibling(s);
|
|
148
150
|
i.set_attribute(c, "tabindex", -1), i.reset(r), i.template_effect((e, t, n) => {
|
|
@@ -151,56 +153,59 @@ function b(e, a) {
|
|
|
151
153
|
() => i.get(n)?.color ? Y(i.get(n).color) : "",
|
|
152
154
|
() => i.get(n) ? i.get(n).label : String(i.get(t)),
|
|
153
155
|
() => i.get(n) ? i.get(n).label : String(i.get(t))
|
|
154
|
-
]), i.delegated("mousedown", c, (e) => e.preventDefault()), i.delegated("click", c, (e) =>
|
|
156
|
+
]), i.delegated("mousedown", c, (e) => e.preventDefault()), i.delegated("click", c, (e) => ee(i.get(t), e)), i.append(e, r);
|
|
155
157
|
}), i.reset(t), i.append(e, t);
|
|
156
|
-
},
|
|
158
|
+
}, ie = (e) => {
|
|
157
159
|
var t = c(), n = i.child(t, !0);
|
|
158
160
|
i.reset(t), i.template_effect((e) => {
|
|
159
|
-
i.set_style(t, e), i.set_text(n, i.get(
|
|
160
|
-
}, [() => Y(i.get(
|
|
161
|
-
},
|
|
161
|
+
i.set_style(t, e), i.set_text(n, i.get(z));
|
|
162
|
+
}, [() => Y(i.get(B))]), i.append(e, t);
|
|
163
|
+
}, ae = (e) => {
|
|
162
164
|
var t = l(), n = i.child(t, !0);
|
|
163
|
-
i.reset(t), i.template_effect(() => i.set_text(n, i.get(
|
|
165
|
+
i.reset(t), i.template_effect(() => i.set_text(n, i.get(z))), i.append(e, t);
|
|
164
166
|
};
|
|
165
|
-
i.if(
|
|
166
|
-
|
|
167
|
-
}), i.next(2), i.reset(Q), i.bind_this(Q, (e) => i.set(
|
|
168
|
-
var
|
|
169
|
-
let n = i.derived(() => a.options.length > 10), o = i.derived(() => Math.min(i.get(n) ? 10 * i.get(
|
|
170
|
-
var s =
|
|
167
|
+
i.if(ne, (e) => {
|
|
168
|
+
w() && i.get(R).length > 0 ? e(re) : !S() && i.get(R).length === 1 && i.get(B) ? e(ie, 1) : e(ae, -1);
|
|
169
|
+
}), i.next(2), i.reset(Q), i.bind_this(Q, (e) => i.set(F, e), () => i.get(F)), i.action(Q, (e) => te?.(e));
|
|
170
|
+
var oe = i.sibling(Q, 2), se = (e) => {
|
|
171
|
+
let n = i.derived(() => a.options.length > 10), o = i.derived(() => Math.min(i.get(n) ? 10 * i.get(k) + (S() ? 40 : 0) + 8 : Infinity, i.get(L).availHeight));
|
|
172
|
+
var s = v();
|
|
171
173
|
let c, l;
|
|
172
|
-
var
|
|
174
|
+
var y = i.child(s), b = (e) => {
|
|
173
175
|
var t = u();
|
|
174
176
|
i.remove_input_defaults(t), i.delegated("mousedown", t, (e) => e.stopPropagation()), i.delegated("click", t, (e) => e.stopPropagation()), i.delegated("keydown", t, (e) => {
|
|
175
|
-
e.key === "Escape" && (e.preventDefault(), i.set(
|
|
176
|
-
}), i.bind_value(t, () => i.get(
|
|
177
|
+
e.key === "Escape" && (e.preventDefault(), i.set(M, !1), a.onCancel?.());
|
|
178
|
+
}), i.bind_value(t, () => i.get(A), (e) => i.set(A, e)), i.append(e, t);
|
|
177
179
|
};
|
|
178
|
-
i.if(
|
|
179
|
-
|
|
180
|
+
i.if(y, (e) => {
|
|
181
|
+
T() && e(b);
|
|
180
182
|
});
|
|
181
|
-
var
|
|
182
|
-
var t = d()
|
|
183
|
-
i.
|
|
184
|
-
},
|
|
183
|
+
var x = i.sibling(y, 2), C = (e) => {
|
|
184
|
+
var t = d();
|
|
185
|
+
i.append(e, t);
|
|
186
|
+
}, w = (e) => {
|
|
187
|
+
var t = f(), n = i.child(t, !0);
|
|
188
|
+
i.reset(t), i.template_effect(() => i.set_text(n, T() && i.get(A) ? `No matches for "${i.get(A)}"` : "No options")), i.append(e, t);
|
|
189
|
+
}, E = (e) => {
|
|
185
190
|
var t = i.comment(), n = i.first_child(t);
|
|
186
|
-
i.each(n, 19, () => i.get(
|
|
187
|
-
let r = i.derived(() =>
|
|
188
|
-
var a =
|
|
191
|
+
i.each(n, 19, () => i.get(j), (e) => String(e.value), (e, t, n) => {
|
|
192
|
+
let r = i.derived(() => V(i.get(t)));
|
|
193
|
+
var a = g();
|
|
189
194
|
let o;
|
|
190
195
|
var s = i.child(a), c = (e) => {
|
|
191
|
-
var t =
|
|
196
|
+
var t = p(), n = i.child(t, !0);
|
|
192
197
|
i.reset(t), i.template_effect(() => i.set_text(n, i.get(r) ? "✓" : "")), i.append(e, t);
|
|
193
198
|
};
|
|
194
199
|
i.if(s, (e) => {
|
|
195
|
-
|
|
200
|
+
S() && e(c);
|
|
196
201
|
});
|
|
197
202
|
var l = i.sibling(s, 2), u = (e) => {
|
|
198
|
-
var n =
|
|
203
|
+
var n = m(), r = i.child(n, !0);
|
|
199
204
|
i.reset(n), i.template_effect((e) => {
|
|
200
205
|
i.set_style(n, e), i.set_text(r, i.get(t).label);
|
|
201
206
|
}, [() => Y(i.get(t).color)]), i.append(e, n);
|
|
202
207
|
}, d = (e) => {
|
|
203
|
-
var n =
|
|
208
|
+
var n = h(), r = i.child(n, !0);
|
|
204
209
|
i.reset(n), i.template_effect(() => i.set_text(r, i.get(t).label)), i.append(e, n);
|
|
205
210
|
};
|
|
206
211
|
i.if(l, (e) => {
|
|
@@ -208,40 +213,41 @@ function b(e, a) {
|
|
|
208
213
|
}), i.reset(a), i.template_effect((e) => {
|
|
209
214
|
o = i.set_class(a, 1, "sv-grid-dropdown-option", null, o, {
|
|
210
215
|
"sv-grid-dropdown-option-selected": i.get(r),
|
|
211
|
-
"sv-grid-dropdown-option-highlighted": i.get(n) === i.get(
|
|
216
|
+
"sv-grid-dropdown-option-highlighted": i.get(n) === i.get(N)
|
|
212
217
|
}), i.set_attribute(a, "id", e), i.set_attribute(a, "aria-selected", i.get(r)), i.set_attribute(a, "data-opt-idx", i.get(n));
|
|
213
|
-
}, [() =>
|
|
214
|
-
e.preventDefault(),
|
|
215
|
-
}), i.event("mouseenter", a, () => i.set(
|
|
218
|
+
}, [() => O(i.get(n))]), i.delegated("mousedown", a, (e) => {
|
|
219
|
+
e.preventDefault(), H(i.get(t));
|
|
220
|
+
}), i.event("mouseenter", a, () => i.set(N, i.get(n), !0)), i.append(e, a);
|
|
216
221
|
}), i.append(e, t);
|
|
217
222
|
};
|
|
218
|
-
i.if(
|
|
219
|
-
i.get(
|
|
223
|
+
i.if(x, (e) => {
|
|
224
|
+
D() && i.get(j).length === 0 ? e(C) : i.get(j).length === 0 ? e(w, 1) : e(E, -1);
|
|
220
225
|
});
|
|
221
|
-
var
|
|
222
|
-
var t =
|
|
226
|
+
var P = i.sibling(x, 2), F = (e) => {
|
|
227
|
+
var t = _(), n = i.child(t);
|
|
223
228
|
i.reset(t), i.delegated("mousedown", n, (e) => e.preventDefault()), i.delegated("click", n, () => {
|
|
224
|
-
|
|
229
|
+
G(), a.onCommit?.();
|
|
225
230
|
}), i.append(e, t);
|
|
226
231
|
};
|
|
227
|
-
i.if(
|
|
228
|
-
|
|
229
|
-
}), i.reset(s), i.bind_this(s, (e) => i.set(
|
|
230
|
-
c = i.set_class(s, 1, "sv-grid-dropdown-panel", null, c, { "sv-grid-dropdown-panel-fits": !i.get(n) }), i.set_attribute(s, "aria-multiselectable",
|
|
232
|
+
i.if(P, (e) => {
|
|
233
|
+
S() && e(F);
|
|
234
|
+
}), i.reset(s), i.bind_this(s, (e) => i.set(I, e), () => i.get(I)), i.action(s, (e) => t?.(e)), i.action(s, (e, t) => r?.(e, t), () => ({ up: i.get(L).openUpward })), i.template_effect(() => {
|
|
235
|
+
c = i.set_class(s, 1, "sv-grid-dropdown-panel", null, c, { "sv-grid-dropdown-panel-fits": !i.get(n) }), i.set_attribute(s, "aria-multiselectable", S()), l = i.set_style(s, "", l, {
|
|
231
236
|
position: "fixed",
|
|
232
|
-
top: `${i.get(
|
|
233
|
-
|
|
234
|
-
|
|
237
|
+
top: i.get(L).openUpward ? null : `${i.get(L).top}px`,
|
|
238
|
+
bottom: i.get(L).openUpward ? `${i.get(L).bottom}px` : null,
|
|
239
|
+
left: `${i.get(L).left}px`,
|
|
240
|
+
width: `${i.get(L).width}px`,
|
|
235
241
|
"max-height": i.get(o) === null ? null : `${i.get(o)}px`,
|
|
236
242
|
"z-index": "2147483647"
|
|
237
243
|
});
|
|
238
244
|
}), i.delegated("pointerdown", s, (e) => e.stopPropagation()), i.delegated("mousedown", s, (e) => e.stopPropagation()), i.delegated("click", s, (e) => e.stopPropagation()), i.append(e, s);
|
|
239
245
|
};
|
|
240
|
-
i.if(
|
|
241
|
-
i.get(
|
|
242
|
-
}), i.reset(X), i.bind_this(X, (e) => i.set(
|
|
243
|
-
Z = i.set_class(X, 1, "sv-grid-dropdown svelte-ei8hp3", null, Z, { "sv-grid-dropdown-open": i.get(
|
|
244
|
-
}, [() => i.get(
|
|
246
|
+
i.if(oe, (e) => {
|
|
247
|
+
i.get(M) && e(se);
|
|
248
|
+
}), i.reset(X), i.bind_this(X, (e) => i.set(P, e), () => i.get(P)), i.template_effect((e) => {
|
|
249
|
+
Z = i.set_class(X, 1, "sv-grid-dropdown svelte-ei8hp3", null, Z, { "sv-grid-dropdown-open": i.get(M) }), $ = i.set_class(Q, 1, "sv-grid-dropdown-trigger svelte-ei8hp3", null, $, { "sv-grid-dropdown-trigger-chips": w() && i.get(R).length > 0 }), i.set_attribute(Q, "aria-expanded", i.get(M)), i.set_attribute(Q, "aria-activedescendant", e);
|
|
250
|
+
}, [() => i.get(M) ? O(i.get(N)) : void 0]), i.delegated("focusout", X, J), i.delegated("click", X, (e) => e.stopPropagation()), i.delegated("dblclick", X, (e) => e.stopPropagation()), i.delegated("pointerdown", X, (e) => e.stopPropagation()), i.delegated("mousedown", X, (e) => e.stopPropagation()), i.delegated("click", Q, () => i.get(M) ? G() : U()), i.delegated("keydown", Q, K), i.append(e, X), i.pop();
|
|
245
251
|
}
|
|
246
252
|
i.delegate([
|
|
247
253
|
"focusout",
|
|
@@ -252,4 +258,4 @@ i.delegate([
|
|
|
252
258
|
"keydown"
|
|
253
259
|
]);
|
|
254
260
|
//#endregion
|
|
255
|
-
export { a as n,
|
|
261
|
+
export { a as n, x as t };
|