@svgrid/enterprise 3.1.3 → 3.1.5

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 (56) hide show
  1. package/LICENSE +22 -17
  2. package/README.md +7 -7
  3. package/dist/advanced-filter-enable.js +2 -2
  4. package/dist/alerts.js +2 -2
  5. package/dist/board.js +2 -2
  6. package/dist/cdn/svgrid-enterprise.svelte-external.js +13969 -13515
  7. package/dist/designer/assets/GridMenus-CvcASlKv.js +8 -0
  8. package/dist/designer/assets/SvListBox-BlmmzYcU.js +110 -0
  9. package/dist/designer/assets/{index-CScGnzuX.js → index-B3WBezq_.js} +432 -370
  10. package/dist/designer/assets/index-KmSEY7Lb.css +1 -0
  11. package/dist/designer/assets/src-D4PRZJYA.js +58 -0
  12. package/dist/designer/assets/{validate-YxSrBF1H.js → validate-B71dE1Cs.js} +1 -1
  13. package/dist/designer/index.html +4 -4
  14. package/dist/first-party.d.ts +2 -0
  15. package/dist/first-party.js +11 -0
  16. package/dist/gantt/gantt.js +2 -2
  17. package/dist/install.js +2 -2
  18. package/dist/license-core.d.ts +1 -0
  19. package/dist/license-core.js +25 -23
  20. package/dist/license-hash.d.ts +1 -0
  21. package/dist/license-hash.js +6 -0
  22. package/dist/license.js +55 -30
  23. package/dist/node/studio.js +531 -136
  24. package/dist/pivot-enable.js +2 -2
  25. package/dist/scheduler.js +2 -2
  26. package/dist/selection-bar.js +2 -2
  27. package/dist/server/enable.js +2 -2
  28. package/dist/server/server-row-model.js +199 -26
  29. package/dist/sha256.d.ts +1 -0
  30. package/dist/sha256.js +69 -0
  31. package/dist/studio/emit-project.js +86 -56
  32. package/dist/studio/emit-schema.d.ts +3 -0
  33. package/dist/studio/emit-schema.js +128 -29
  34. package/dist/studio/index.d.ts +2 -1
  35. package/dist/studio/index.js +2 -1
  36. package/dist/studio/init-flow.d.ts +3 -0
  37. package/dist/studio/init-flow.js +5 -2
  38. package/dist/studio/project.d.ts +10 -1
  39. package/dist/studio/project.js +28 -15
  40. package/dist/studio/samples/restaurant.js +1 -1
  41. package/dist/studio/sveltekit3.d.ts +38 -0
  42. package/dist/studio/sveltekit3.js +194 -0
  43. package/dist/studio/ui-components.generated.js +15 -4
  44. package/dist/upgrade-prompt.js +3 -0
  45. package/dist/version.d.ts +2 -2
  46. package/dist/version.js +2 -2
  47. package/dist/watermark.js +37 -4
  48. package/dist/wc/{GridMenus-6_fF5jIm.js → GridMenus-fWbBUiRH.js} +121 -121
  49. package/dist/wc/sv-sheet-element.js +11090 -10547
  50. package/dist/wc/{svelte-virtualizer.svelte-Du4tjrIP.js → svelte-virtualizer.svelte-Dntdh8Ms.js} +103 -56
  51. package/dist/wc/{validate-JAuMsk6Z.js → validate-43C03DLP.js} +1 -1
  52. package/package.json +3 -3
  53. package/dist/designer/assets/GridMenus-DGZJKFvX.js +0 -8
  54. package/dist/designer/assets/SvListBox-v2jm0-vf.js +0 -110
  55. package/dist/designer/assets/index-l21iGkpF.css +0 -1
  56. package/dist/designer/assets/src-DL33yzkY.js +0 -58
@@ -277,15 +277,28 @@ function _(e) {
277
277
  trailing: s()
278
278
  };
279
279
  }
280
- function v(e, t) {
280
+ var v = 16384;
281
+ function y(e) {
282
+ let t = /* @__PURE__ */ new Map(), n = 0, r = 0;
283
+ return (i) => {
284
+ let a = typeof i == "string" ? i : String(i ?? "");
285
+ if (t === null) return e(a);
286
+ n++;
287
+ let o = t.get(a);
288
+ if (o !== void 0) return r++, o;
289
+ let s = e(a);
290
+ return t.size < v && t.set(a, s), n >= 2048 && r * 2 < n && (t = null), s;
291
+ };
292
+ }
293
+ function b(e, t) {
281
294
  let n = t?.locale, r = (e) => f(String(e ?? ""), n), i = r(e.value);
282
295
  switch (e.operator) {
283
- case "contains": return (e) => r(e).includes(i);
284
- case "notContains": return i === "" ? () => !0 : (e) => !r(e).includes(i);
285
- case "equals": return (e) => r(e) === i;
286
- case "notEquals": return i === "" ? () => !0 : (e) => r(e) !== i;
287
- case "startsWith": return (e) => r(e).startsWith(i);
288
- case "endsWith": return (e) => r(e).endsWith(i);
296
+ case "contains": return y((e) => r(e).includes(i));
297
+ case "notContains": return i === "" ? () => !0 : y((e) => !r(e).includes(i));
298
+ case "equals": return y((e) => r(e) === i);
299
+ case "notEquals": return i === "" ? () => !0 : y((e) => r(e) !== i);
300
+ case "startsWith": return y((e) => r(e).startsWith(i));
301
+ case "endsWith": return y((e) => r(e).endsWith(i));
289
302
  case "regex": {
290
303
  let t = String(e.value ?? "");
291
304
  if (!t) return () => !0;
@@ -333,13 +346,13 @@ function v(e, t) {
333
346
  }
334
347
  //#endregion
335
348
  //#region ../grid/dist/virtualization/virtualizer.js
336
- function y(e, t, n) {
349
+ function x(e, t, n) {
337
350
  return Math.min(Math.max(e, t), n);
338
351
  }
339
- function b(e, t) {
340
- return e.count === t.count && e.estimateSize === t.estimateSize && (e.overscan ?? 6) === (t.overscan ?? 6) && e.viewportHeight === t.viewportHeight && (e.scrollOffset ?? 0) === (t.scrollOffset ?? 0);
352
+ function S(e, t) {
353
+ return e.count === t.count && e.estimateSize === t.estimateSize && (e.overscan ?? 6) === (t.overscan ?? 6) && e.overscanBehind === t.overscanBehind && e.overscanMin === t.overscanMin && e.viewportHeight === t.viewportHeight && (e.scrollOffset ?? 0) === (t.scrollOffset ?? 0);
341
354
  }
342
- function x(e, t) {
355
+ function C(e, t) {
343
356
  if (e.totalSize !== t.totalSize || e.startIndex !== t.startIndex || e.endIndex !== t.endIndex || e.viewportHeight !== t.viewportHeight || e.items.length !== t.items.length) return !1;
344
357
  for (let n = 0; n < e.items.length; n += 1) {
345
358
  let r = e.items[n], i = t.items[n];
@@ -347,10 +360,10 @@ function x(e, t) {
347
360
  }
348
361
  return !0;
349
362
  }
350
- function S(e, t) {
363
+ function w(e, t) {
351
364
  return `virtual_slot_${e % t}`;
352
365
  }
353
- function C(e, t, n) {
366
+ function T(e, t, n) {
354
367
  let r = [], i = t - e + 1;
355
368
  for (let a = e; a <= t; a += 1) {
356
369
  let e = a * n;
@@ -359,17 +372,17 @@ function C(e, t, n) {
359
372
  start: e,
360
373
  size: n,
361
374
  end: e + n,
362
- key: S(a, i)
375
+ key: w(a, i)
363
376
  });
364
377
  }
365
378
  return r;
366
379
  }
367
- function w(e, t, n, r) {
380
+ function E(e, t, n, r) {
368
381
  if (e <= 0) return [];
369
382
  let i = Math.max(t, 1), a = Math.ceil(Math.max(n, 0) / i);
370
- return C(0, Math.max(Math.min(a + Math.max(r, 0), e - 1), 0), i);
383
+ return T(0, Math.max(Math.min(a + Math.max(r, 0), e - 1), 0), i);
371
384
  }
372
- function T(e, t, n) {
385
+ function D(e, t, n) {
373
386
  let r = [], i = t - e + 1;
374
387
  for (let a = e; a <= t; a += 1) {
375
388
  let e = n[a] ?? 0, t = n[a + 1] ?? e;
@@ -378,45 +391,57 @@ function T(e, t, n) {
378
391
  start: e,
379
392
  size: t - e,
380
393
  end: t,
381
- key: S(a, i)
394
+ key: w(a, i)
382
395
  });
383
396
  }
384
397
  return r;
385
398
  }
386
- function E(e, t) {
387
- let n = Math.max(e.count, 0), r = Math.max(e.overscan ?? 6, 0), i = Math.max(e.viewportHeight, 0);
399
+ function O(e, t) {
400
+ let n = Math.max(e.count, 0), r = Math.max(e.viewportHeight, 0);
388
401
  if (typeof e.estimateSize == "function" && t) {
389
- let a = t[n] ?? 0, o = Math.max(a - i, 0), s = y(e.scrollOffset ?? 0, 0, o), c = 0, l = n;
390
- for (; c < l;) {
391
- let e = c + l >>> 1;
392
- (t[e + 1] ?? 0) <= s ? c = e + 1 : l = e;
402
+ let i = t[n] ?? 0, a = Math.max(i - r, 0), o = x(e.scrollOffset ?? 0, 0, a), s = 0, c = n;
403
+ for (; s < c;) {
404
+ let e = s + c >>> 1;
405
+ (t[e + 1] ?? 0) <= o ? s = e + 1 : c = e;
393
406
  }
394
- let u = c, d = s + i;
395
- for (c = u, l = n; c < l;) {
396
- let e = c + l >>> 1;
397
- (t[e] ?? 0) < d ? c = e + 1 : l = e;
407
+ let l = s, u = o + r;
408
+ for (s = l, c = n; s < c;) {
409
+ let e = s + c >>> 1;
410
+ (t[e] ?? 0) < u ? s = e + 1 : c = e;
398
411
  }
399
- let f = Math.max(c - 1, u), p = n === 0 ? 0 : y(u - r, 0, n - 1), m = n === 0 ? -1 : y(f + r, 0, n - 1);
400
412
  return {
401
- items: m >= p ? T(p, m, t) : [],
402
- totalSize: a,
403
- startIndex: p,
404
- endIndex: m,
405
- scrollOffset: s,
406
- viewportHeight: i
413
+ count: n,
414
+ viewportHeight: r,
415
+ totalSize: i,
416
+ scrollOffset: o,
417
+ visibleStart: l,
418
+ visibleEnd: Math.max(s - 1, l),
419
+ uniformSize: 0
407
420
  };
408
421
  }
409
- let a = Math.max(typeof e.estimateSize == "number" ? e.estimateSize : 1, 1), o = n * a, s = Math.max(o - i, 0), c = y(e.scrollOffset ?? 0, 0, s), l = Math.floor(c / a), u = Math.ceil(i / a), d = Math.min(l + u, Math.max(n - 1, 0)), f = n === 0 ? 0 : y(l - r, 0, n - 1), p = n === 0 ? -1 : y(d + r, 0, n - 1);
422
+ let i = Math.max(typeof e.estimateSize == "number" ? e.estimateSize : 1, 1), a = n * i, o = Math.max(a - r, 0), s = x(e.scrollOffset ?? 0, 0, o), c = Math.floor(s / i), l = Math.ceil(r / i);
410
423
  return {
411
- items: p >= f ? C(f, p, a) : [],
412
- totalSize: o,
413
- startIndex: f,
414
- endIndex: p,
415
- scrollOffset: c,
416
- viewportHeight: i
424
+ count: n,
425
+ viewportHeight: r,
426
+ totalSize: a,
427
+ scrollOffset: s,
428
+ visibleStart: c,
429
+ visibleEnd: Math.min(c + l, Math.max(n - 1, 0)),
430
+ uniformSize: i
417
431
  };
418
432
  }
419
- function D(e) {
433
+ function k(e, t, n = !1) {
434
+ let r = Math.max(e.overscan ?? 6, 0), i = e.overscanMin === void 0 || n ? r : x(e.overscanMin, 0, r), a = Math.min(Math.max(e.overscanBehind ?? r, 0), i), o = e.scrollDirection ?? 0, s = o > 0 ? a : i, c = o < 0 ? a : i, { count: l, viewportHeight: u, totalSize: d, scrollOffset: f, visibleStart: p, visibleEnd: m, uniformSize: h } = O(e, t), g = l === 0 ? 0 : x(p - s, 0, l - 1), _ = l === 0 ? -1 : x(m + c, 0, l - 1), v = [];
435
+ return _ >= g && (v = h > 0 ? T(g, _, h) : D(g, _, t)), {
436
+ items: v,
437
+ totalSize: d,
438
+ startIndex: g,
439
+ endIndex: _,
440
+ scrollOffset: f,
441
+ viewportHeight: u
442
+ };
443
+ }
444
+ function A(e) {
420
445
  let t = e, n = null;
421
446
  function r() {
422
447
  if (typeof t.estimateSize != "function") return null;
@@ -431,13 +456,30 @@ function D(e) {
431
456
  offsets: i
432
457
  }, i;
433
458
  }
434
- let i = E(t, r()), a = /* @__PURE__ */ new Set();
459
+ let i = k(t, r()), a = /* @__PURE__ */ new Set();
435
460
  function o() {
436
461
  a.forEach((e) => e());
437
462
  }
438
- function s() {
439
- let e = E(t, r());
440
- x(i, e) || (i = e, o());
463
+ function s(e = !1) {
464
+ let n = k(t, r(), e);
465
+ if (!C(i, n)) {
466
+ if (i.items.length > 0 && n.items.length > 0) {
467
+ let e = i.items[0].index, t = n.items;
468
+ for (let n = 0; n < t.length; n += 1) {
469
+ let r = t[n], a = i.items[r.index - e];
470
+ a && a.index === r.index && a.start === r.start && a.size === r.size && a.key === r.key && (t[n] = a);
471
+ }
472
+ }
473
+ i = n, o();
474
+ }
475
+ }
476
+ function c() {
477
+ let e = t.overscanMin;
478
+ if (e === void 0 || i.items.length === 0) return "move";
479
+ let n = x(e, 0, Math.max(t.overscan ?? 6, 0)), { count: a, viewportHeight: o, totalSize: s, visibleStart: c, visibleEnd: l } = O(t, r());
480
+ if (a === 0 || o !== i.viewportHeight || s !== i.totalSize || c > i.endIndex || l < i.startIndex) return "jump";
481
+ let u = t.scrollDirection ?? 0, d = Math.max(c - (u < 0 ? n : 0), 0), f = Math.min(l + (u > 0 ? n : 0), a - 1);
482
+ return i.startIndex <= d && i.endIndex >= f ? "hold" : "move";
441
483
  }
442
484
  return {
443
485
  setOptions(e) {
@@ -445,16 +487,21 @@ function D(e) {
445
487
  ...t,
446
488
  ...e
447
489
  }, i = typeof e.estimateSize == "function";
448
- !i && b(t, r) || (t = r, i && (n = null), s());
490
+ !i && S(t, r) || (t = r, i && (n = null), s());
449
491
  },
450
492
  measure() {
451
493
  n = null, s();
452
494
  },
453
495
  setScrollOffset(e) {
454
- (t.scrollOffset ?? 0) !== e && (t = {
496
+ let n = t.scrollOffset ?? 0;
497
+ if (n === e) return;
498
+ t = {
455
499
  ...t,
456
- scrollOffset: e
457
- }, s());
500
+ scrollOffset: e,
501
+ scrollDirection: e > n ? 1 : -1
502
+ };
503
+ let r = c();
504
+ r !== "hold" && s(r === "move");
458
505
  },
459
506
  setViewportHeight(e) {
460
507
  t.viewportHeight !== e && (t = {
@@ -463,7 +510,7 @@ function D(e) {
463
510
  }, s());
464
511
  },
465
512
  scrollToIndex(e) {
466
- let n = y(e, 0, Math.max(t.count - 1, 0)), a = i.totalSize, o;
513
+ let n = x(e, 0, Math.max(t.count - 1, 0)), a = i.totalSize, o;
467
514
  if (typeof t.estimateSize == "function") {
468
515
  let e = r();
469
516
  if (e) o = e[n] ?? 0;
@@ -473,7 +520,7 @@ function D(e) {
473
520
  o = e;
474
521
  }
475
522
  } else o = n * Math.max(t.estimateSize, 1);
476
- let c = Math.max(a - t.viewportHeight, 0), l = y(o, 0, c);
523
+ let c = Math.max(a - t.viewportHeight, 0), l = x(o, 0, c);
477
524
  (t.scrollOffset ?? 0) !== l && (t = {
478
525
  ...t,
479
526
  scrollOffset: l
@@ -510,8 +557,8 @@ function D(e) {
510
557
  }
511
558
  //#endregion
512
559
  //#region ../grid/dist/virtualization/svelte-virtualizer.svelte.js
513
- function O(r) {
514
- let i = D(r), a = t(0);
560
+ function j(r) {
561
+ let i = A(r), a = t(0);
515
562
  return i.subscribe(() => {
516
563
  n(a, e(a) + 1);
517
564
  }), {
@@ -531,4 +578,4 @@ function O(r) {
531
578
  };
532
579
  }
533
580
  //#endregion
534
- export { h as a, g as c, v as i, w as n, f as o, D as r, m as s, O as t };
581
+ export { h as a, g as c, b as i, E as n, f as o, A as r, m as s, j as t };
@@ -59,7 +59,7 @@ function o(e) {
59
59
  let r = e.treeData.idField;
60
60
  r && !t.has(r) && o.push(`[svgrid] \`treeData.idField\` is "${r}", which is not on your row data, so parent lookups cannot match and the tree stays flat.`);
61
61
  }
62
- return e.gantt && e.treeData && o.push("[svgrid] `gantt` and `treeData` are both set. The Gantt builds its own work-breakdown tree from `gantt.parentField` and needs every descendant row, but `treeData` hides collapsed children from the view, so summary bars will under-report. Remove `treeData` and set `gantt.parentField` instead."), (e.initialColumnPinning?.left?.length ?? 0) + (e.initialColumnPinning?.right?.length ?? 0) > 0 && e.columnVirtualization !== !1 && o.push("[svgrid] `initialColumnPinning` is set while column virtualization is on (its default), so the pinned columns will not stick - the virtualizer recycles column nodes. Add `columnVirtualization={false}`."), e.externalPagination === !0 && e.rowCount === void 0 && o.push("[svgrid] `externalPagination` is on but `rowCount` is not set, so the pager cannot know how many pages exist. Pass the server total as `rowCount`."), e.externalSort === !0 && !e.onSortingChange && o.push("[svgrid] `externalSort` is on but there is no `onSortingChange` handler, so clicking a header changes nothing - the grid stopped sorting and nobody is listening. Add `onSortingChange` and re-fetch in your handler."), e.externalFilter === !0 && !e.onFiltersChange && o.push("[svgrid] `externalFilter` is on but there is no `onFiltersChange` handler, so filtering the grid changes nothing. Add `onFiltersChange` and re-fetch in your handler."), o;
62
+ return e.gantt && e.treeData && o.push("[svgrid] `gantt` and `treeData` are both set. The Gantt builds its own work-breakdown tree from `gantt.parentField` and needs every descendant row, but `treeData` hides collapsed children from the view, so summary bars will under-report. Remove `treeData` and set `gantt.parentField` instead."), e.externalPagination === !0 && e.rowCount === void 0 && o.push("[svgrid] `externalPagination` is on but `rowCount` is not set, so the pager cannot know how many pages exist. Pass the server total as `rowCount`."), e.externalSort === !0 && !e.onSortingChange && o.push("[svgrid] `externalSort` is on but there is no `onSortingChange` handler, so clicking a header changes nothing - the grid stopped sorting and nobody is listening. Add `onSortingChange` and re-fetch in your handler."), e.externalFilter === !0 && !e.onFiltersChange && o.push("[svgrid] `externalFilter` is on but there is no `onFiltersChange` handler, so filtering the grid changes nothing. Add `onFiltersChange` and re-fetch in your handler."), o;
63
63
  }
64
64
  function s(e, t) {
65
65
  let n, r = Infinity;
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "type": "commercial",
5
5
  "url": "https://svgrid.com/pricing"
6
6
  },
7
- "version": "3.1.3",
7
+ "version": "3.1.5",
8
8
  "description": "Enterprise feature pack for SvGrid: the server-side row model (lazy grouping, tree, pivot, transactions, selection across unloaded rows), Excel (xlsx) and PDF export, Excel/CSV/JSON import, pivot tables with a drag-and-drop designer, paginated print, Kanban board and scheduler renderers, no-code alerts and batch editing. CSV, TSV and JSON export are already free in @svgrid/grid. Requires a paid license key.",
9
9
  "license": "SEE LICENSE IN LICENSE",
10
10
  "author": "jQWidgets <sales@jqwidgets.com>",
@@ -105,7 +105,7 @@
105
105
  "jszip": "^3.10.0",
106
106
  "pdfmake": "^0.2.0",
107
107
  "svelte": "^5.0.0",
108
- "@svgrid/grid": "^3.0.8"
108
+ "@svgrid/grid": "^3.0.9"
109
109
  },
110
110
  "peerDependenciesMeta": {
111
111
  "jszip": {
@@ -123,7 +123,7 @@
123
123
  "svelte": "^5.55.5",
124
124
  "typescript": "6.0.3",
125
125
  "vite": "^8.2.1",
126
- "@svgrid/grid": "^3.0.8"
126
+ "@svgrid/grid": "^3.0.9"
127
127
  },
128
128
  "repository": {
129
129
  "type": "git",
@@ -1,8 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./SvDateTimePicker-DCPg7WGN.js","./rolldown-runtime-Dd_uD5pT.js","./disclose-version-CIm4S9xS.js","./editor-contract-Bpoa7A5g.js","./date-format-B8JbEtIG.js","./date-format-DKS-z0xS.css","./popover-CUkLsvRX.js","./dismissable-ChWRPkoa.js","./SvDateTimePicker-DPv09DIT.css","./SvDateRangeInput-BBRzrQeg.js","./SvDateRangeInput-C0iCCZ8o.css"])))=>i.map(i=>d[i]);
2
- import{$ as e,A as t,C as n,D as r,E as i,H as a,I as o,K as s,L as c,M as l,P as u,R as d,U as f,W as p,X as m,Z as h,_t as g,at as _,b as v,bt as y,c as b,ct as x,dt as S,et as C,f as w,g as T,it as E,k as D,m as O,mt as k,nt as A,p as j,pt as M,r as N,rt as P,st as F,v as ee,vt as I,x as L,y as te,z as R}from"./disclose-version-CIm4S9xS.js";import{d as ne,t as re,u as z}from"./SvListBox-v2jm0-vf.js";import{S as ie,h as ae,u as oe,w as se}from"./SvGrid.helpers-DE5mmORW.js";import{t as ce}from"./preload-helper-HclGiUj8.js";import{n as le}from"./dismissable-ChWRPkoa.js";var ue=d(`<option> </option>`),de=d(`<input class="sv-grid-menu-condition-value" placeholder="To"/>`),fe=d(`<input class="sv-grid-menu-condition-value"/> <!>`,1),pe=d(`<option> </option>`),me=d(`<input class="sv-grid-menu-condition-value" placeholder="To"/>`),he=d(`<input class="sv-grid-menu-condition-value"/> <!>`,1),ge=d(`<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),_e=d(`<button type="button" class="sv-grid-menu-add-cond">+ Add condition</button>`),ve=d(`<!> <!>`,1),ye=d(`<span class="sv-grid-menu-head-note">and the condition above</span>`),be=d(`<span class="sv-grid-menu-head-note"> </span>`),xe=d(`<div class="sv-grid-facet-empty">No values</div>`),Se=d(`<div class="sv-grid-facet-note"> </div>`),Ce=d(`<div class="sv-grid-menu-filter"><div class="sv-grid-menu-filter-head"><span class="sv-grid-header-icon"><!></span> Filter
3
- 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> <span class="sv-grid-menu-search-wrap"><!> <input class="sv-grid-menu-search" placeholder="Search values..."/></span> <label class="sv-grid-facet sv-grid-facet-all"><input type="checkbox"/> <span class="sv-grid-facet-label"> </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>`),we=d(`<div role="tooltip"> </div>`),Te=d(`<div class="sv-grid-menu-backdrop" role="presentation"></div>`),Ee=d(`<button type="button" role="tab">Filter</button>`),De=d(`<div class="sv-grid-menu-tabs" role="tablist"><button type="button" role="tab">General</button> <!> <button type="button" role="tab">Columns</button></div>`),Oe=d(`<div class="sv-grid-menu-filter-head">Visible columns</div> <!>`,1),ke=d(`<button type="button" class="sv-grid-menu-item" role="menuitem"><span class="sv-grid-header-icon"><!></span> Sort
4
- ascending</button> <button type="button" class="sv-grid-menu-item" role="menuitem"><span class="sv-grid-header-icon"><!></span> Sort
5
- descending</button> <button type="button" class="sv-grid-menu-item" role="menuitem"><span class="sv-grid-header-icon"><!></span> Remove sort</button>`,1),Ae=d(`<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),je=d(`<button type="button" class="sv-grid-menu-item" role="menuitem"><span class="sv-grid-header-icon"><!></span> Autosize
6
- this column</button>`),Me=d(`<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
7
- 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),B=d(`<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>`),Ne=d(`<!> <!> <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
8
- 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),Pe=d(`<div class="sv-grid-menu sv-grid-column-menu" role="menu"><!> <!></div>`),Fe=d(`<div class="sv-grid-menu sv-grid-filter-menu" role="menu" tabindex="-1"><!></div>`),Ie=d(`<div class="sv-grid-menu sv-grid-choose-columns-menu" role="menu"><div class="sv-grid-menu-filter-head">Visible columns</div> <!></div>`),Le=d(`<button type="button" class="sv-grid-menu-item" role="menuitemradio"><span class="sv-grid-header-icon"><!></span> </button>`),Re=d(`<div class="sv-grid-menu sv-grid-operator-menu" role="menu"></div>`),ze=d(`<div class="sv-grid-facet-empty">No values</div>`),Be=d(`<div class="sv-grid-menu sv-grid-in-suggest"><!></div>`),V=d(`<div class="sv-grid-menu-sep"></div>`),Ve=R(`<path></path>`),He=R(`<svg class="sv-grid-menu-icon-own" width="16" height="16" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" focusable="false"></svg>`),Ue=d(`<span class="sv-grid-menu-icon" aria-hidden="true"><!></span>`),We=d(`<button type="button" class="sv-grid-menu-item" role="menuitem"><!><span class="sv-grid-menu-label"> </span></button>`),Ge=d(`<div class="sv-grid-menu-backdrop" role="presentation"></div> <div class="sv-grid-menu sv-grid-context-menu" role="menu"></div>`,1),Ke=d(`<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),qe=d(`<!> <!> <!> <!> <!> <!> <!> <!> <!>`,1);function H(a,d){k(d,!0);let R=(e,t=y)=>{let n=S(()=>s(J).find(e=>e.id===t())),a=S(()=>s(ft)(s(n))),h=S(()=>s(U)[t()]?.operator??s(Y)(s(n))),v=S(()=>ae(s(n)?.columnDef.editorType??`text`)),x=S(()=>se(s(n)?.columnDef.editorType)&&s(h)!==`isBlank`&&s(h)!==`isNotBlank`&&s(h)!==`regex`&&s(h)!==`in`&&s(h)!==`notIn`),C=S(()=>s(Dt).length!==s(Et).length),k=S(()=>s(h)===`isBlank`||s(h)===`isNotBlank`||(s(U)[t()]?.value??``).trim().length>0),A=S(()=>s(Ft).size),M=S(()=>s(Et).length);var N=Ce(),F=P(N),R=P(F),ne=P(R);r(ne,()=>d.icon,()=>`filter`),I(R),g(),I(F);var z=_(F,2);D(z,21,()=>s(a),e=>e.value,(e,t)=>{var r=ue(),i=P(r,!0);I(r);var a={};m(e=>{u(i,e),a!==(a=s(t).value)&&(r.value=(r.__value=s(t).value)??``)},[()=>s(pt)(s(t),s(n))]),o(e,r)}),I(z);var ce;ee(z);var le=_(z,2),we=e=>{let g=S(()=>s(U)[t()]);var y=ve(),b=E(y),C=e=>{var n=c(),r=E(n),a=e=>{var n=c(),r=E(n),a=e=>{let n=S(()=>s(Q)),r=S(()=>oe(s(U)[t()]?.value)),a=S(()=>oe(s(U)[t()]?.valueTo));var l=c(),u=E(l);{let e=S(()=>s(r)&&s(a)?[s(r),s(a)]:null);i(u,()=>s(n),(n,r)=>{r(n,{get value(){return s(e)},formatString:`yyyy-MM-dd`,block:!0,placeholder:`Pick a range...`,onChange:e=>{s(ut)(t(),e?ie(e[0]):``),s(dt)(t(),e?ie(e[1]):``)}})})}o(e,l)};l(r,e=>{s(Q)&&e(a)}),o(e,n)},u=e=>{let n=S(()=>s(kt));var r=c(),a=E(r);{let e=S(()=>(s(U)[t()]?.value??``)||null);i(a,()=>s(n),(n,r)=>{r(n,{get value(){return s(e)},formatString:`yyyy-MM-dd`,dropDownDisplayMode:`calendar`,block:!0,nullable:!0,placeholder:`Filter value...`,onChange:e=>s(ut)(t(),ie(e))})})}o(e,r)};l(r,e=>{s(h)===`between`?e(a):s(kt)&&e(u,1)}),o(e,n)},O=e=>{let n=S(()=>s(h)===`in`||s(h)===`notIn`);var r=fe(),i=E(r);w(i);var a=_(i,2),c=e=>{var n=de();w(n),m(()=>{j(n,`type`,s(v)),T(n,s(U)[t()]?.valueTo??``)}),f(`input`,n,e=>s(dt)(t(),e.currentTarget.value)),o(e,n)};l(a,e=>{s(h)===`between`&&e(c)}),m(()=>{j(i,`type`,s(h)===`regex`?`text`:s(v)),T(i,s(U)[t()]?.value??``),j(i,`placeholder`,s(h)===`between`?`From`:s(n)?`value, value...`:s(h)===`regex`?`Pattern...`:`Filter value...`)}),p(`focus`,i,e=>{Mt(t())&&Wt(e.currentTarget,t())}),p(`blur`,i,()=>{Mt(t())&&s(Bt)()}),f(`input`,i,e=>{let r=e.currentTarget;s(ut)(t(),r.value),s(n)&&Gt(r,t())}),o(e,r)};l(b,e=>{s(x)?e(C):e(O,-1)});var k=_(b,2),A=e=>{let i=S(()=>s(g).operator2??s(Y)(s(n)));var c=ge(),p=E(c),h=P(p);let y;var b=_(h,2);let x;var C=_(b,2),O=P(C);r(O,()=>d.icon,()=>`remove`),I(C),I(p);var k=_(p,2);D(k,21,()=>s(a),e=>e.value,(e,t)=>{var r=pe(),i=P(r,!0);I(r);var a={};m(e=>{u(i,e),a!==(a=s(t).value)&&(r.value=(r.__value=s(t).value)??``)},[()=>s(pt)(s(t),s(n))]),o(e,r)}),I(k);var A;ee(k);var M=_(k,2),N=e=>{var n=he(),r=E(n);w(r);var a=_(r,2),c=e=>{var n=me();w(n),m(()=>{j(n,`type`,s(v)),T(n,s(g).valueTo2??``)}),f(`input`,n,e=>X(t(),{valueTo2:e.currentTarget.value})),o(e,n)};l(a,e=>{s(i)===`between`&&e(c)}),m(()=>{j(r,`type`,s(v)),T(r,s(g).value2??``),j(r,`placeholder`,s(i)===`between`?`From`:`Filter value...`)}),f(`input`,r,e=>X(t(),{value2:e.currentTarget.value})),o(e,n)};l(M,e=>{s(i)!==`isBlank`&&e(N)}),m(()=>{y=L(h,1,``,null,y,{"is-on":(s(g).join??`AND`)===`AND`}),x=L(b,1,``,null,x,{"is-on":s(g).join===`OR`}),A!==(A=s(i))&&(k.value=(k.__value=s(i))??``,te(k,s(i)))}),f(`click`,h,()=>X(t(),{join:`AND`})),f(`click`,b,()=>X(t(),{join:`OR`})),f(`click`,C,()=>X(t(),{operator2:void 0,value2:void 0,valueTo2:void 0,join:void 0})),f(`change`,k,e=>X(t(),{operator2:e.currentTarget.value})),o(e,c)},M=e=>{var r=_e();f(`click`,r,()=>X(t(),{operator2:s(Y)(s(n)),value2:``,join:`AND`})),o(e,r)};l(k,e=>{s(g)?.operator2?e(A):e(M,-1)}),o(e,y)};l(le,e=>{s(h)!==`isBlank`&&s(h)!==`isNotBlank`&&e(we)});var Te=_(le,4),Ee=_(P(Te)),De=e=>{var t=ye();o(e,t)},Oe=e=>{var t=be(),n=P(t);I(t),m(()=>u(n,`${s(A)??``} of ${s(M)??``}`)),o(e,t)};l(Ee,e=>{s(k)?e(De):s(A)<s(M)&&e(Oe,1)}),I(Te);var ke=_(Te,2),Ae=P(ke);r(Ae,()=>d.icon,()=>`search`);var je=_(Ae,2);w(je),I(ke);var Me=_(ke,2),B=P(Me);w(B);var Ne=_(B,2),Pe=P(Ne,!0);I(Ne),I(Me);var Fe=_(Me,2),Ie=e=>{{let n=S(()=>s(Pt).length>Ut);re(e,{block:!0,checkbox:!0,multiple:!0,get virtual(){return s(n)},get rows(){return s(Ot)},rowHeight:24,size:`sm`,ariaLabel:`Filter values`,get options(){return s(Pt)},get value(){return s(Ft)},onChange:e=>s(It)(t(),e)})}},Le=e=>{var t=xe();o(e,t)};l(Fe,e=>{s(Pt).length?e(Ie):e(Le,-1)});var Re=_(Fe,2),ze=e=>{var t=Se(),n=P(t);I(t),m(()=>u(n,`Showing ${s(Dt).length??``} of ${s(Et).length??``}`)),o(e,t)};l(Re,e=>{s(Et).length>s(Dt).length&&e(ze)});var Be=_(Re,2),V=P(Be),Ve=_(V,2);I(Be),I(N),m((e,t)=>{ce!==(ce=s(h))&&(z.value=(z.__value=s(h))??``,te(z,s(h))),O(B,e),u(Pe,s(C)?`(Select all results)`:`(Select all)`),V.disabled=t},[()=>s(Vt)(t()),()=>!s(_t)(t())]),f(`change`,z,e=>s(lt)(t(),e.currentTarget.value)),b(je,()=>H().columnMenuSearch,e=>H().columnMenuSearch=e),f(`change`,B,()=>s(Ht)(t())),f(`click`,V,()=>s(Yt)(t())),f(`click`,Ve,function(...e){s(Z)?.apply(this,e)}),o(e,N)},H=N(d,`ctrl`,7),Je=S(()=>H().groupingControlsEnabled),U=S(()=>H().filterMenuValues),W=S(()=>H().tooltip),G=S(()=>H().columnMenuFor),Ye=S(()=>H().columnMenuPos),K=S(()=>H().filterMenuFor),Xe=S(()=>H().filterMenuPos),Ze=S(()=>H().operatorMenuFor),Qe=S(()=>H().operatorMenuPos),q=S(()=>H().chooseColumnsPos),$e=S(()=>H().showColumnFiltersEffective),et=S(()=>H().props.columnMenuTabs===!0),tt=S(()=>H().grid),J=S(()=>H().allColumns),nt=S(()=>H().isColumnPinned),rt=S(()=>H().pinColumnLeft),it=S(()=>H().pinColumnRight),at=S(()=>H().unpinColumn),ot=S(()=>H().sortDirectionByColumn),st=S(()=>H().groupingColumns),ct=S(()=>H().columnVirtualizationEnabled),lt=S(()=>H().updateFilterOperator),ut=S(()=>H().updateFilterMenuValue),dt=S(()=>H().updateFilterMenuValueTo),ft=S(()=>H().operatorsForColumn),Y=S(()=>H().defaultOperatorFor),pt=S(()=>H().operatorLabelFor),mt=S(()=>H().filterRowValues),ht=S(()=>H().inSuggestFor),gt=S(()=>H().inSuggestPos);function X(e,t){let n=s(J).find(t=>t.id===e),r=H().filterMenuValues[e]??{operator:s(Y)(n),value:``};H().filterMenuValues={...H().filterMenuValues,[e]:{...r,...t}}}let _t=S(()=>H().isColumnFiltered),Z=S(()=>H().closeMenus);h(()=>{if(!(s(G)||s(K)||s(Ze)||s(q)||s(Xt)||s($t)))return;let e=()=>{s(Z)(),s($)(),H().commentEditFor&&s(en)()},t=le(()=>Array.from(document.querySelectorAll(`.sv-grid-menu[data-svgrid-menu="${H().gridDomId}"]`)),e);return window.addEventListener(`resize`,e),()=>{t(),window.removeEventListener(`resize`,e)}});let vt=S(()=>H().autosizeColumn),yt=S(()=>H().autosizeAllColumns),bt=S(()=>H().resetColumns),xt=S(()=>H().openChooseColumns),St=S(()=>H().sortColumnFromMenu),Ct=S(()=>H().clearColumnSort),wt=S(()=>H().groupByColumnFromMenu),Tt=S(()=>H().clearGroupingFromMenu),Et=S(()=>H().columnMenuFacetValues),Dt=S(()=>H().columnMenuVisibleFacets),Ot=S(function(){if(typeof window>`u`)return 7;let e=(s(K)?s(Xe).y:s(Ye).y)||0,t=window.innerHeight-e-320;return Math.max(7,Math.min(16,Math.floor(t/24)))}),kt=x(null),Q=x(null);h(()=>{let e=s(K)??s(G);if(!e)return;let t=s(J).find(t=>t.id===e);se(t?.columnDef.editorType)&&(s(kt)||ce(()=>import(`./SvDateTimePicker-DCPg7WGN.js`).then(e=>e.n).then(e=>F(kt,e.default,!0)),__vite__mapDeps([0,1,2,3,4,5,6,7,8]),import.meta.url),s(Q)||ce(()=>import(`./SvDateRangeInput-BBRzrQeg.js`).then(e=>e.n).then(e=>F(Q,e.default,!0)),__vite__mapDeps([9,1,2,3,4,5,6,10]),import.meta.url))});function At(e,t){let n=()=>{let t=H().contextMenuPos,n=e.getBoundingClientRect();if(!n.width&&!n.height)return;let r=Math.max(8,Math.min(t.x,window.innerWidth-n.width-8)),i=Math.max(8,Math.min(t.y,window.innerHeight-n.height-8));(r!==t.x||i!==t.y)&&(H().contextMenuPos={x:r,y:i})};return n(),{update:n}}function jt(e){requestAnimationFrame(()=>{e.querySelector(`.sv-grid-menu-condition-value, .sv-dtp__input, .sv-dri__input, .sv-grid-menu-search`)?.focus({preventScroll:!0})})}function Mt(e){let t=s(J).find(t=>t.id===e),n=s(U)[e]?.operator??s(Y)(t);return n===`in`||n===`notIn`}function Nt(e){if(e.key!==`Enter`||e.shiftKey)return;let t=e.target;t?.closest(`.sv-listbox`)||t?.tagName===`BUTTON`||(e.preventDefault(),s(Z)())}let Pt=S(()=>H().columnMenuFacetOptions),Ft=S(()=>H().columnMenuSelectedFacets),It=S(()=>H().setFacetSelection),Lt=S(()=>H().setFilterTokens),Rt=S(()=>H().inSuggestOptions),zt=S(()=>H().openInSuggest),Bt=S(()=>H().closeInSuggest),Vt=S(()=>H().isAllFacetsChecked),Ht=S(()=>H().toggleAllFacets),Ut=40;function Wt(e,t){s(zt)(e,t),H().inSuggestQuery=ne(e.value)}function Gt(e,t){H().inSuggestQuery=ne(e.value),H().inSuggestFor!==t&&s(zt)(e,t)}function Kt(e){return e.map(e=>({value:e.id,label:typeof e.columnDef.header==`string`?e.columnDef.header:e.id}))}function qt(e){let t=new Set;for(let n of e)H().hiddenColumns[n.id]||t.add(n.id);return t}function Jt(e,t){let n={...H().hiddenColumns};for(let r of e)t.has(r.id)?delete n[r.id]:n[r.id]=!0;H().hiddenColumns=n}let Yt=S(()=>H().clearColumnFilter),Xt=S(()=>H().contextMenuFor),Zt=S(()=>H().contextMenuPos),Qt=S(()=>H().contextMenuItems),$=S(()=>H().closeContextMenu),$t=S(()=>H().commentEditFor),en=S(()=>H().saveComment),tn=S(()=>H().removeComment),nn=S(()=>H().closeCommentEditor);function rn(e){s(Xt)&&(e.key===`Escape`||e.key===`Esc`)&&(e.preventDefault(),e.stopPropagation(),s($)())}var an=qe();p(`keydown`,A,rn);var on=E(an),sn=e=>{var t=we();let n;var r=P(t,!0);I(t),m(()=>{n=L(t,1,`sv-grid-tooltip`,null,n,{"sv-grid-tooltip-above":!s(W).below}),v(t,`left: ${s(W).x}px; top: ${s(W).y}px; ${s(W).below?``:`transform: translateY(-100%);`}`),u(r,s(W).text)}),o(e,t)};l(on,e=>{s(W)&&e(sn)});var cn=_(on,2),ln=e=>{var t=Te();f(`click`,t,function(...e){s(Z)?.apply(this,e)}),o(e,t)};l(cn,e=>{(s(G)||s(K)||s(Ze)||s(q))&&e(ln)});var un=_(cn,2),dn=e=>{let t=S(()=>s(G)),n=S(()=>s(J).find(e=>e.id===s(t))),i=S(()=>s(n)?.getCanSort?.()??!1),a=S(()=>s(n)?.columnDef.field!=null&&s(n)?.columnDef.filterable!==!1),c=S(()=>H().columnMenuTab);var u=Pe(),p=P(u),h=e=>{var t=De(),n=P(t);let r;var i=_(n,2),u=e=>{var t=Ee();let n;m(()=>{n=L(t,1,`sv-grid-menu-tab`,null,n,{"is-active":s(c)===`filter`}),j(t,`aria-selected`,s(c)===`filter`)}),f(`click`,t,()=>H().columnMenuTab=`filter`),o(e,t)};l(i,e=>{s(a)&&s($e)&&e(u)});var d=_(i,2);let p;I(t),m(()=>{r=L(n,1,`sv-grid-menu-tab`,null,r,{"is-active":s(c)===`general`}),j(n,`aria-selected`,s(c)===`general`),p=L(d,1,`sv-grid-menu-tab`,null,p,{"is-active":s(c)===`columns`}),j(d,`aria-selected`,s(c)===`columns`)}),f(`click`,n,()=>H().columnMenuTab=`general`),f(`click`,d,()=>H().columnMenuTab=`columns`),o(e,t)};l(p,e=>{s(et)&&e(h)});var y=_(p,2),b=e=>{R(e,()=>s(t))},x=e=>{let t=S(()=>s(tt).getAllColumns());var n=Oe(),r=_(E(n),2);{let e=S(()=>s(t).length>40),n=S(()=>Kt(s(t))),i=S(()=>qt(s(t)));re(r,{block:!0,checkbox:!0,multiple:!0,get virtual(){return s(e)},rows:9,rowHeight:24,size:`sm`,ariaLabel:`Visible columns`,get options(){return s(n)},get value(){return s(i)},onChange:e=>Jt(s(t),e)})}o(e,n)},C=e=>{var n=Ne(),a=E(n),c=e=>{var n=ke(),i=E(n),a=P(i),c=P(a);r(c,()=>d.icon,()=>`sort-asc`),I(a),g(),I(i);var l=_(i,2),u=P(l),p=P(u);r(p,()=>d.icon,()=>`sort-desc`),I(u),g(),I(l);var h=_(l,2),v=P(h),y=P(v);r(y,()=>d.icon,()=>`x`),I(v),g(),I(h),m(()=>h.disabled=!s(ot)[s(t)]),f(`click`,i,()=>s(St)(s(t),!1)),f(`click`,l,()=>s(St)(s(t),!0)),f(`click`,h,()=>s(Ct)(s(t))),o(e,n)};l(a,e=>{s(i)&&e(c)});var u=_(a,2),p=e=>{let n=S(()=>s(nt)(s(t)));var i=Ae(),a=_(E(i),2),c=P(a),l=P(c);r(l,()=>d.icon,()=>`pin-left`),I(c),g(),I(a);var u=_(a,2),p=P(u),h=P(p);r(h,()=>d.icon,()=>`pin-right`),I(p),g(),I(u);var v=_(u,2),y=P(v),b=P(y);r(b,()=>d.icon,()=>`unpin`),I(y),g(),I(v),m(()=>{a.disabled=s(n)===`left`,u.disabled=s(n)===`right`,v.disabled=!s(n)}),f(`click`,a,()=>s(rt)(s(t))),f(`click`,u,()=>s(it)(s(t))),f(`click`,v,()=>s(at)(s(t))),o(e,i)};l(u,e=>{s(ct)||e(p)});var h=_(u,4),v=e=>{var n=je(),i=P(n),a=P(i);r(a,()=>d.icon,()=>`autosize`),I(i),g(),I(n),f(`click`,n,()=>{s(vt)(s(t)),s(Z)()}),o(e,n)},y=S(()=>H().columnResizable(s(t)));l(h,e=>{s(y)&&e(v)});var b=_(h,2),x=P(b),C=P(x);r(C,()=>d.icon,()=>`autosize`),I(x),g(),I(b);var w=_(b,2),T=e=>{var n=Me(),i=_(E(n),2),a=P(i),c=P(a);r(c,()=>d.icon,()=>`group`),I(a),g(),I(i);var l=_(i,2),u=P(l),p=P(u);r(p,()=>d.icon,()=>`x`),I(u),g(),I(l),m((e,t)=>{i.disabled=e,l.disabled=t},[()=>s(st).includes(s(t)),()=>!s(st).includes(s(t))]),f(`click`,i,()=>s(wt)(s(t))),f(`click`,l,()=>s(Tt)(s(t))),o(e,n)};l(w,e=>{s(Je)&&e(T)});var D=_(w,4),O=e=>{var t=B();let n;var i=P(t),a=P(i);r(a,()=>d.icon,()=>`columns`),I(i);var c=_(i,2),l=P(c);r(l,()=>d.icon,()=>`chevron-down`),I(c),I(t),m(()=>{n=L(t,1,`sv-grid-menu-item`,null,n,{"is-open":s(q)!==null}),j(t,`aria-expanded`,s(q)!==null)}),f(`click`,t,e=>s(xt)(e)),o(e,t)};l(D,e=>{s(et)||e(O)});var k=_(D,2),A=P(k),M=P(A);r(M,()=>d.icon,()=>`reset`),I(A),g(),I(k),f(`click`,b,()=>{s(yt)(),s(Z)()}),f(`click`,k,()=>{s(bt)(),s(Z)()}),o(e,n)};l(y,e=>{s(et)&&s(c)===`filter`&&s(a)&&s($e)?e(b):s(et)&&s(c)===`columns`?e(x,1):e(C,-1)}),I(u),m(()=>{j(u,`data-svgrid-menu`,H().gridDomId),v(u,`left: ${s(Ye).x}px; top: ${s(Ye).y}px; max-height: calc(100vh - ${s(Ye).y}px - 12px);`)}),o(e,u)};l(un,e=>{s(G)&&e(dn)});var fn=_(un,2),pn=e=>{var t=Fe(),r=P(t);R(r,()=>s(K)),I(t),n(t,e=>jt?.(e)),m(()=>{j(t,`data-svgrid-menu`,H().gridDomId),v(t,`left: ${s(Xe).x}px; top: ${s(Xe).y}px; max-height: calc(100vh - ${s(Xe).y}px - 12px);`)}),f(`keydown`,t,Nt),o(e,t)};l(fn,e=>{s(K)&&s($e)&&e(pn)});var mn=_(fn,2),hn=e=>{let t=S(()=>s(tt).getAllColumns());var n=Ie(),r=_(P(n),2);{let e=S(()=>s(t).length>40),n=S(()=>Kt(s(t))),i=S(()=>qt(s(t)));re(r,{block:!0,checkbox:!0,multiple:!0,get virtual(){return s(e)},rows:11,rowHeight:24,size:`sm`,ariaLabel:`Visible columns`,get options(){return s(n)},get value(){return s(i)},onChange:e=>Jt(s(t),e)})}I(n),m(()=>{j(n,`data-svgrid-menu`,H().gridDomId),v(n,`left: ${s(q).x}px; top: ${s(q).y}px;`)}),o(e,n)};l(mn,e=>{s(q)&&e(hn)});var gn=_(mn,2),_n=e=>{let t=S(()=>s(Ze)),n=S(()=>s(J).find(e=>e.id===s(t))),i=S(()=>s(ft)(s(n))),a=S(()=>s(U)[s(t)]?.operator??s(Y)(s(n)));var c=Re();D(c,21,()=>s(i),e=>e.value,(e,i)=>{var c=Le(),l=P(c),p=P(l);r(p,()=>d.icon,()=>s(i).iconName),I(l);var h=_(l);I(c),m(e=>{j(c,`aria-checked`,s(a)===s(i).value),u(h,` ${e??``}`)},[()=>s(pt)(s(i),s(n))]),f(`click`,c,()=>{s(lt)(s(t),s(i).value),s(Z)()}),o(e,c)}),I(c),m(()=>{j(c,`data-svgrid-menu`,H().gridDomId),v(c,`left: ${s(Qe).x}px; top: ${s(Qe).y}px;`)}),o(e,c)};l(gn,e=>{s(Ze)&&e(_n)});var vn=_(gn,2),yn=e=>{let t=S(()=>s(ht)),n=S(()=>new Set(z(s(mt)[s(t)]??``)));var r=Be(),i=P(r),a=e=>{{let r=S(()=>s(Rt).length>40);re(e,{block:!0,checkbox:!0,multiple:!0,get virtual(){return s(r)},rows:8,rowHeight:26,size:`sm`,ariaLabel:`Filter values`,get options(){return s(Rt)},get value(){return s(n)},onChange:e=>{let n=new Set(e),r=ne(s(mt)[s(t)]??``);r&&n.delete(r),s(Lt)(s(t),[...n]),H().inSuggestQuery=``}})}},c=e=>{var t=ze();o(e,t)};l(i,e=>{s(Rt).length?e(a):e(c,-1)}),I(r),m(()=>{j(r,`data-svgrid-menu`,H().gridDomId),v(r,`left: ${s(gt).x}px; top: ${s(gt).y}px;`)}),f(`mousedown`,r,e=>e.preventDefault()),o(e,r)};l(vn,e=>{s(ht)&&e(yn)});var bn=_(vn,2),xn=e=>{let i=S(()=>s(Qt)()),a=S(()=>s(i).some(e=>e.icon));var p=Ge(),h=E(p),g=_(h,2);D(g,21,()=>s(i),e=>e.key,(e,n)=>{var i=c(),p=E(i),h=e=>{var t=V();o(e,t)},g=e=>{var i=We(),p=P(i),h=e=>{var i=Ue(),a=P(i),u=e=>{var t=c(),i=E(t);r(i,()=>d.icon,()=>s(n).icon),o(e,t)},f=e=>{var r=He();D(r,21,()=>s(n).icon.paths,t,(e,t)=>{var n=Ve();m(()=>{j(n,`d`,s(t).d),j(n,`fill`,s(t).fill?`currentColor`:`none`),j(n,`stroke-width`,s(t).width),j(n,`stroke-dasharray`,s(t).dash)}),o(e,n)}),I(r),o(e,r)};l(a,e=>{typeof s(n).icon==`string`?e(u):s(n).icon&&e(f,1)}),I(i),o(e,i)};l(p,e=>{s(a)&&e(h)});var g=_(p),v=P(g,!0);I(g),I(i),m(()=>{i.disabled=s(n).disabled,u(v,s(n).label)}),f(`click`,i,()=>{s(n).run?.(),s($)()}),o(e,i)};l(p,e=>{s(n).separator?e(h):e(g,-1)}),o(e,i)}),I(g),n(g,(e,t)=>At?.(e,t),()=>s(Zt)),m(()=>{j(g,`data-svgrid-menu`,H().gridDomId),v(g,`left: ${s(Zt).x}px; top: ${s(Zt).y}px;`)}),f(`contextmenu`,h,e=>{e.preventDefault(),s($)()}),f(`click`,h,function(...e){s($)?.apply(this,e)}),o(e,p)};l(bn,e=>{s(Xt)&&e(xn)});var Sn=_(bn,2),Cn=t=>{var n=Ke(),r=E(n),i=_(r,2),a=P(i);C(a),e(a,!0);var c=_(a,2),l=P(c),u=_(l,4),d=_(u,2);I(c),I(i),m(()=>{j(i,`data-svgrid-menu`,H().gridDomId),v(i,`left: ${s($t).x}px; top: ${s($t).y}px;`)}),f(`click`,r,function(...e){s(nn)?.apply(this,e)}),f(`keydown`,a,e=>{e.stopPropagation(),e.key===`Escape`&&(e.preventDefault(),s(nn)()),e.key===`Enter`&&(e.ctrlKey||e.metaKey)&&(e.preventDefault(),s(en)())}),b(a,()=>H().commentDraft,e=>H().commentDraft=e),f(`click`,l,function(...e){s(tn)?.apply(this,e)}),f(`click`,u,function(...e){s(nn)?.apply(this,e)}),f(`click`,d,function(...e){s(en)?.apply(this,e)}),o(t,n)};l(Sn,e=>{s($t)&&e(Cn)}),o(a,an),M()}a([`change`,`input`,`click`,`keydown`,`mousedown`,`contextmenu`]);export{H as default};
@@ -1,110 +0,0 @@
1
- import{D as e,H as t,I as n,J as r,K as i,L as a,M as o,P as s,R as c,U as l,W as u,X as d,Z as f,at as p,b as m,bt as h,ct as g,d as _,dt as v,f as y,g as b,it as x,k as S,l as C,mt as w,o as ee,p as te,pt as T,r as E,rt as D,s as ne,st as O,u as re,vt as k,x as ie}from"./disclose-version-CIm4S9xS.js";import{i as ae,t as oe}from"./editor-contract-Bpoa7A5g.js";import{a as se}from"./date-format-B8JbEtIG.js";import{a as A,i as ce,o as le,r as ue,s as de,t as j}from"./list-option-BP_dWS66.js";var M=16,N=280,fe=50,P=`http://www.w3.org/2000/svg`;function F(){let e=document.createElementNS(P,`svg`);e.setAttribute(`viewBox`,`0 0 24 24`),e.setAttribute(`fill`,`none`),e.setAttribute(`stroke`,`currentColor`),e.setAttribute(`stroke-width`,`3`),e.setAttribute(`stroke-linecap`,`round`),e.setAttribute(`stroke-linejoin`,`round`);let t=document.createElementNS(P,`path`);return t.setAttribute(`d`,`M6 9l6 6 6-6`),e.appendChild(t),e}var pe=`
2
- :host {
3
- display: flex;
4
- user-select: none;
5
- background: var(--sg-scrollbar-bg, #eef2f8);
6
- /* The 1px separator is drawn on the INNER edge only (the edge facing
7
- the grid body) via the orientation rules below. A full inset box
8
- here doubled up with the grid's own frame border on the outer edge,
9
- reading as a 2px border - most visible in dense-gridline themes
10
- like Excel, which should show a single 1px line. */
11
- /* Start hidden + non-interactive - viewport/content sizes are 0 until
12
- after the first layout pass, so without this default the scrollbar
13
- paints visible for one frame and then JS hides it on mount. That
14
- flicker is what shows up as a "flashing horizontal scrollbar"
15
- every time a demo first renders. updateGeometry() switches us to
16
- opacity 1 the moment the grid genuinely has overflow. */
17
- opacity: 0;
18
- pointer-events: none;
19
- transition: opacity 120ms ease;
20
- }
21
- :host([orientation="vertical"]) {
22
- flex-direction: column;
23
- width: ${M}px;
24
- /* LTR: vertical scrollbar sits at the right, inner edge is the left. */
25
- box-shadow: inset 1px 0 0 0 var(--sg-scrollbar-border, rgba(15, 23, 42, 0.04));
26
- }
27
- :host([orientation="vertical"]:dir(rtl)) {
28
- /* RTL flips the scrollbar to the left, so the inner edge is the right. */
29
- box-shadow: inset -1px 0 0 0 var(--sg-scrollbar-border, rgba(15, 23, 42, 0.04));
30
- }
31
- :host([orientation="horizontal"]) {
32
- flex-direction: row;
33
- height: ${M}px;
34
- /* Horizontal scrollbar sits at the bottom, inner edge is the top. */
35
- box-shadow: inset 0 1px 0 0 var(--sg-scrollbar-border, rgba(15, 23, 42, 0.04));
36
- }
37
- .arrow {
38
- flex: none;
39
- display: flex;
40
- align-items: center;
41
- justify-content: center;
42
- width: ${M}px;
43
- height: ${M}px;
44
- margin: 0;
45
- padding: 0;
46
- border: 0;
47
- border-radius: 3px;
48
- background: transparent;
49
- color: var(--sg-scrollbar-arrow, #64748b);
50
- cursor: pointer;
51
- transition: background-color 100ms ease, color 100ms ease;
52
- }
53
- .arrow:hover {
54
- background: var(--sg-scrollbar-arrow-hover-bg, #dde4ee);
55
- color: var(--sg-scrollbar-arrow-hover, #1f2937);
56
- }
57
- .arrow:active {
58
- background: var(--sg-scrollbar-arrow-active-bg, #c7d1df);
59
- color: var(--sg-scrollbar-arrow-active, #0f172a);
60
- }
61
- .arrow:disabled {
62
- color: var(--sg-scrollbar-arrow-disabled, #cbd5e1);
63
- cursor: default;
64
- }
65
- .arrow:disabled:hover {
66
- background: transparent;
67
- }
68
- .arrow svg {
69
- width: 10px;
70
- height: 10px;
71
- display: block;
72
- }
73
- :host([orientation="vertical"]) .arrow-start svg {
74
- transform: rotate(180deg);
75
- }
76
- :host([orientation="horizontal"]) .arrow-start svg {
77
- transform: rotate(90deg);
78
- }
79
- :host([orientation="horizontal"]) .arrow-end svg {
80
- transform: rotate(-90deg);
81
- }
82
- .track {
83
- position: relative;
84
- flex: 1 1 0;
85
- min-width: 0;
86
- min-height: 0;
87
- }
88
- .thumb {
89
- position: absolute;
90
- border-radius: var(--sg-scrollbar-thumb-radius, 6px);
91
- background: var(--sg-scrollbar-thumb, #b1bccd);
92
- cursor: pointer;
93
- transition: background-color 100ms ease;
94
- }
95
- .thumb:hover {
96
- background: var(--sg-scrollbar-thumb-hover, #8693a7);
97
- }
98
- .thumb:active {
99
- background: var(--sg-scrollbar-thumb-active, #64748b);
100
- }
101
- :host([orientation="vertical"]) .thumb {
102
- left: 3px;
103
- right: 3px;
104
- }
105
- :host([orientation="horizontal"]) .thumb {
106
- top: 3px;
107
- bottom: 3px;
108
- }
109
- `,I=typeof HTMLElement<`u`?HTMLElement:class{},me=class extends I{constructor(...e){super(...e),this.dragging=!1,this.dragStart=0,this.valueStart=0,this.holdTimer=null,this.resizeObserver=null,this.resizeFrame=0,this.onArrowStartPointerDown=e=>{e.preventDefault(),this.startHold(-1)},this.onArrowEndPointerDown=e=>{e.preventDefault(),this.startHold(1)},this.stopHold=()=>{this.holdTimer!==null&&(clearTimeout(this.holdTimer),clearInterval(this.holdTimer),this.holdTimer=null)},this.onThumbPointerDown=e=>{e.preventDefault(),this.dragging=!0,this.dragStart=this.orientation===`vertical`?e.clientY:e.clientX,this.valueStart=this.value,document.addEventListener(`pointermove`,this.onPointerMove),document.addEventListener(`pointerup`,this.onPointerUp)},this.onTrackPointerDown=e=>{if(e.target===this.thumb)return;let t=this.track.getBoundingClientRect(),n=this.orientation===`vertical`?e.clientY-t.top:e.clientX-t.left,r=this.orientation===`vertical`?t.height:t.width,i=this.computeThumbSize(r),a=Math.max(r-i,1),o=Math.min(Math.max(n-i/2,0),a);this.emitScroll(o/a*this.maxValue)},this.onPointerMove=e=>{if(!this.dragging)return;let t=(this.orientation===`vertical`?e.clientY:e.clientX)-this.dragStart,n=this.track.getBoundingClientRect(),r=this.orientation===`vertical`?n.height:n.width,i=this.computeThumbSize(r),a=Math.max(r-i,1);this.emitScroll(this.valueStart+t/a*this.maxValue)},this.onPointerUp=()=>{this.dragging=!1,document.removeEventListener(`pointermove`,this.onPointerMove),document.removeEventListener(`pointerup`,this.onPointerUp)}}static get observedAttributes(){return[`orientation`,`viewport-size`,`content-size`,`value`,`step`]}connectedCallback(){if(this.shadowRoot)return;let e=this.attachShadow({mode:`open`}),t=document.createElement(`style`);t.textContent=pe,this.startArrow=this.createArrow(`start`),this.endArrow=this.createArrow(`end`),this.track=document.createElement(`div`),this.track.className=`track`,this.thumb=document.createElement(`div`),this.thumb.className=`thumb`,this.track.appendChild(this.thumb),e.append(t,this.startArrow,this.track,this.endArrow),this.thumb.addEventListener(`pointerdown`,this.onThumbPointerDown),this.track.addEventListener(`pointerdown`,this.onTrackPointerDown),this.startArrow.addEventListener(`pointerdown`,this.onArrowStartPointerDown),this.endArrow.addEventListener(`pointerdown`,this.onArrowEndPointerDown);for(let e of[this.startArrow,this.endArrow])e.addEventListener(`pointerup`,this.stopHold),e.addEventListener(`pointerleave`,this.stopHold),e.addEventListener(`pointercancel`,this.stopHold);this.resizeObserver=new ResizeObserver(()=>{this.resizeFrame||=requestAnimationFrame(()=>{this.resizeFrame=0,this.render()})}),this.resizeObserver.observe(this),this.render()}disconnectedCallback(){this.stopHold(),this.resizeFrame&&cancelAnimationFrame(this.resizeFrame),this.resizeFrame=0,this.resizeObserver?.disconnect(),this.resizeObserver=null,document.removeEventListener(`pointermove`,this.onPointerMove),document.removeEventListener(`pointerup`,this.onPointerUp)}attributeChangedCallback(){this.render()}get orientation(){return this.getAttribute(`orientation`)===`horizontal`?`horizontal`:`vertical`}get viewportSize(){return Number(this.getAttribute(`viewport-size`)||`0`)}get contentSize(){return Number(this.getAttribute(`content-size`)||`0`)}get value(){return Number(this.getAttribute(`value`)||`0`)}get step(){let e=Number(this.getAttribute(`step`)||`40`);return e>0?e:40}get maxValue(){return Math.max(this.contentSize-this.viewportSize,0)}getTrackLength(){let e=this.track.getBoundingClientRect(),t=this.orientation===`vertical`?e.height:e.width;return t>0?t:Math.max(this.viewportSize-32,1)}computeThumbSize(e){if(this.contentSize<=0||this.viewportSize<=0||e<=0)return 0;let t=Math.min(this.viewportSize/this.contentSize,1);return Math.max(20,t*e)}createArrow(e){let t=document.createElement(`button`);return t.type=`button`,t.className=`arrow arrow-${e}`,t.setAttribute(`aria-label`,e===`start`?`Scroll back`:`Scroll forward`),t.appendChild(F()),t}startHold(e){this.stopHold();let t=()=>this.emitScroll(this.value+e*this.step);t(),this.holdTimer=setTimeout(()=>{this.holdTimer=setInterval(t,fe)},N)}emitScroll(e){let t=Math.min(Math.max(e,0),this.maxValue);this.dispatchEvent(new CustomEvent(`scroll-change`,{detail:{value:t},bubbles:!0,composed:!0}))}render(){if(!this.shadowRoot)return;let e=this.viewportSize,t=this.contentSize<=e||e<=0;this.style.opacity=t?`0`:`1`,this.style.pointerEvents=t?`none`:`auto`;let n=this.getTrackLength(),r=this.computeThumbSize(n),i=this.maxValue,a=(i>0?this.value/i:0)*Math.max(n-r,0);this.orientation===`vertical`?(this.thumb.style.height=`${r}px`,this.thumb.style.transform=`translateY(${a}px)`):(this.thumb.style.width=`${r}px`,this.thumb.style.transform=`translateX(${a}px)`),this.startArrow.disabled=t||this.value<=0,this.endArrow.disabled=t||this.value>=i}};typeof window<`u`&&!customElements.get(`sv-grid-scrollbar`)&&customElements.define(`sv-grid-scrollbar`,me);var L=/[̀-ͯ]/g;function R(e,t){if(!e)return``;if(he(e))return t?e.toLocaleLowerCase(t):e.toLowerCase();let n=e.normalize(`NFD`).replace(L,``);return t?n.toLocaleLowerCase(t):n.toLowerCase()}function he(e){for(let t=0;t<e.length;t++)if(e.charCodeAt(t)>127)return!1;return!0}function z(e){let{tokens:t,trailing:n}=H(e);return n&&t.push(n),t}function B(e){return e.map(e=>e.trim()).filter(e=>e.length>0).map(e=>/["\n,]/.test(e)?`"${e.replace(/"/g,`""`)}"`:e).join(`, `)}function V(e){return H(e).trailing}function H(e){let t=String(e??``),n=[],r=``,i=!1,a=!1,o=!1,s=()=>{let e=a?r:r.trim();return r=``,a=!1,o=!1,e};for(let e=0;e<t.length;e+=1){let c=t[e];if(i){if(c!==`"`){r+=c;continue}if(t[e+1]===`"`){r+=`"`,e+=1;continue}i=!1,o=!0;continue}if(c===`,`||c===`
110
- `){let e=s();e.length&&n.push(e);continue}if(c===`"`&&!o&&!r.trim()){i=!0,a=!0,r=``;continue}r+=c}return{tokens:n,trailing:s()}}function U(e,t){let n=t?.locale,r=e=>R(String(e??``),n),i=r(e.value);switch(e.operator){case`contains`:return e=>r(e).includes(i);case`notContains`:return i===``?()=>!0:e=>!r(e).includes(i);case`equals`:return e=>r(e)===i;case`notEquals`:return i===``?()=>!0:e=>r(e)!==i;case`startsWith`:return e=>r(e).startsWith(i);case`endsWith`:return e=>r(e).endsWith(i);case`regex`:{let t=String(e.value??``);if(!t)return()=>!0;let n;try{n=new RegExp(t,`i`)}catch{return()=>!1}return e=>n.test(String(e??``))}case`in`:case`notIn`:{let t=z(e.value);if(t.length===0)return()=>!0;let i=new Set(t.map(e=>R(e,n)));return e.operator===`in`?e=>i.has(r(e)):e=>!i.has(r(e))}case`greaterThan`:{let t=Number(e.value),n=Number.isFinite(t),r=String(e.value??``);return e=>{let i=Number(e);return n&&Number.isFinite(i)?i>t:String(e??``)>r}}case`lessThan`:{let t=Number(e.value),n=Number.isFinite(t),r=String(e.value??``);return e=>{let i=Number(e);return n&&Number.isFinite(i)?i<t:String(e??``)<r}}case`between`:{let t=e.value==null?0:Number(e.value),n=e.valueTo==null?0:Number(e.valueTo),r=Number.isFinite(t)&&Number.isFinite(n),i=String(e.value??``),a=String(e.valueTo??``);return e=>{let o=Number(e??0);if(r&&Number.isFinite(o))return o>=t&&o<=n;let s=String(e??``);return s>=i&&s<=a}}case`isBlank`:return e=>String(e??``).trim().length===0;case`isNotBlank`:return e=>String(e??``).trim().length>0}}function ge(e,t,n){return U(t,n)(e)}function W(e,t,n){return Math.min(Math.max(e,t),n)}function G(e,t){return e.count===t.count&&e.estimateSize===t.estimateSize&&(e.overscan??6)===(t.overscan??6)&&e.viewportHeight===t.viewportHeight&&(e.scrollOffset??0)===(t.scrollOffset??0)}function K(e,t){if(e.totalSize!==t.totalSize||e.startIndex!==t.startIndex||e.endIndex!==t.endIndex||e.viewportHeight!==t.viewportHeight||e.items.length!==t.items.length)return!1;for(let n=0;n<e.items.length;n+=1){let r=e.items[n],i=t.items[n];if(r.index!==i.index||r.start!==i.start||r.size!==i.size||r.key!==i.key)return!1}return!0}function q(e,t){return`virtual_slot_${e%t}`}function J(e,t,n){let r=[],i=t-e+1;for(let a=e;a<=t;a+=1){let e=a*n;r.push({index:a,start:e,size:n,end:e+n,key:q(a,i)})}return r}function Y(e,t,n,r){if(e<=0)return[];let i=Math.max(t,1),a=Math.ceil(Math.max(n,0)/i);return J(0,Math.max(Math.min(a+Math.max(r,0),e-1),0),i)}function X(e,t,n){let r=[],i=t-e+1;for(let a=e;a<=t;a+=1){let e=n[a]??0,t=n[a+1]??e;r.push({index:a,start:e,size:t-e,end:t,key:q(a,i)})}return r}function Z(e,t){let n=Math.max(e.count,0),r=Math.max(e.overscan??6,0),i=Math.max(e.viewportHeight,0);if(typeof e.estimateSize==`function`&&t){let a=t[n]??0,o=Math.max(a-i,0),s=W(e.scrollOffset??0,0,o),c=0,l=n;for(;c<l;){let e=c+l>>>1;(t[e+1]??0)<=s?c=e+1:l=e}let u=c,d=s+i;for(c=u,l=n;c<l;){let e=c+l>>>1;(t[e]??0)<d?c=e+1:l=e}let f=Math.max(c-1,u),p=n===0?0:W(u-r,0,n-1),m=n===0?-1:W(f+r,0,n-1);return{items:m>=p?X(p,m,t):[],totalSize:a,startIndex:p,endIndex:m,scrollOffset:s,viewportHeight:i}}let a=Math.max(typeof e.estimateSize==`number`?e.estimateSize:1,1),o=n*a,s=Math.max(o-i,0),c=W(e.scrollOffset??0,0,s),l=Math.floor(c/a),u=Math.ceil(i/a),d=Math.min(l+u,Math.max(n-1,0)),f=n===0?0:W(l-r,0,n-1),p=n===0?-1:W(d+r,0,n-1);return{items:p>=f?J(f,p,a):[],totalSize:o,startIndex:f,endIndex:p,scrollOffset:c,viewportHeight:i}}function Q(e){let t=e,n=null;function r(){if(typeof t.estimateSize!=`function`)return null;let e=Math.max(t.count,0);if(n&&n.fn===t.estimateSize&&n.count===e)return n.offsets;let r=t.estimateSize,i=Array(e+1);i[0]=0;for(let t=0;t<e;t+=1)i[t+1]=i[t]+Math.max(r(t),0);return n={fn:r,count:e,offsets:i},i}let i=Z(t,r()),a=new Set;function o(){a.forEach(e=>e())}function s(){let e=Z(t,r());K(i,e)||(i=e,o())}return{setOptions(e){let r={...t,...e},i=typeof e.estimateSize==`function`;!i&&G(t,r)||(t=r,i&&(n=null),s())},measure(){n=null,s()},setScrollOffset(e){(t.scrollOffset??0)!==e&&(t={...t,scrollOffset:e},s())},setViewportHeight(e){t.viewportHeight!==e&&(t={...t,viewportHeight:e},s())},scrollToIndex(e){let n=W(e,0,Math.max(t.count-1,0)),a=i.totalSize,o;if(typeof t.estimateSize==`function`){let e=r();if(e)o=e[n]??0;else{let e=0,r=t.estimateSize;for(let t=0;t<n;t+=1)e+=Math.max(r(t),1);o=e}}else o=n*Math.max(t.estimateSize,1);let c=Math.max(a-t.viewportHeight,0),l=W(o,0,c);(t.scrollOffset??0)!==l&&(t={...t,scrollOffset:l},s())},getVirtualItems(){return i.items},getTotalSize(){return i.totalSize},getOffsetForIndex(e){if(e<=0)return 0;let n=Math.max(t.count,0),i=Math.min(e,n);if(typeof t.estimateSize==`function`){let e=r();if(e)return e[i]??0;let n=0,a=t.estimateSize;for(let e=0;e<i;e+=1)n+=Math.max(a(e),1);return n}return i*Math.max(t.estimateSize,1)},getSizeForIndex(e){return e<0||e>=t.count?0:typeof t.estimateSize==`function`?Math.max(t.estimateSize(e),1):Math.max(t.estimateSize,1)},getState(){return i},subscribe(e){return a.add(e),()=>a.delete(e)}}}var _e=0;function $(e,t){if(e==null)return[];if(e instanceof Set||Array.isArray(e)){let n=[...e];return t?n:n.slice(0,1)}return[e]}function ve(e,t){return e instanceof Set?e:new Set($(e,t))}function ye(e){let t=`sv-lb-${_e++}`,n=()=>e.options(),r=()=>e.multiple?.()??!1,a=()=>e.disabled?.()??!1,o=g(0),s=v(()=>ve(e.value(),r())),c=v(()=>$(e.value(),r())),l=v(()=>n().map((e,t)=>e.disabled?-1:t).filter(e=>e>=0));f(()=>{let e=n()[i(o)];(!e||e.disabled)&&O(o,i(l)[0]??0,!0)});let u=e=>i(s).has(e),d=e=>e===i(o),p=e=>`${t}-opt-${e}`;function m(e){let t=n()[e];t&&!t.disabled&&O(o,e,!0)}function h(t){let c=n()[t];if(!(!c||c.disabled||a())){if(O(o,t,!0),r()){let t=new Set(i(s));t.has(c.value)?t.delete(c.value):t.add(c.value),e.onChange?.(e.value()instanceof Set?t:[...t])}else e.onChange?.(c.value)}}function _(e){let t=i(l);if(!t.length)return;let n=t[(t.indexOf(i(o))+e+t.length)%t.length];n!=null&&O(o,n,!0)}let y=()=>{O(o,i(l)[0]??0,!0)},b=()=>{O(o,i(l).at(-1)??0,!0)},x=j();function S(e){let t=x.push(e.toLowerCase()),r=le(n(),t,i(o));r>=0&&O(o,r,!0)}function C(e){if(!a())switch(e.key){case`ArrowDown`:e.preventDefault(),_(1);break;case`ArrowUp`:e.preventDefault(),_(-1);break;case`Home`:e.preventDefault(),y();break;case`End`:e.preventDefault(),b();break;case` `:case`Enter`:e.preventDefault(),h(i(o));break;default:A(e)&&S(e.key)}}let w=()=>({id:e.id?.(),invalid:e.invalid?.(),required:e.required?.(),error:e.error?.(),hint:e.hint?.(),ariaLabel:e.ariaLabel?.()});return{get activeIndex(){return i(o)},get selectedValues(){return i(c)},isSelected:u,isActive:d,setActive:m,pick:h,move:_,first:y,last:b,onKeydown:C,rootProps:()=>({role:`listbox`,id:e.id?.(),"aria-multiselectable":r(),"aria-disabled":a(),"aria-activedescendant":n()[i(o)]?p(i(o)):void 0,...oe(w()),tabindex:a()?-1:0,onkeydown:C}),optionProps:e=>{let t=n()[e];return{role:`option`,id:p(e),"aria-selected":t?u(t.value):!1,"aria-disabled":t?.disabled,"data-idx":e,"data-active":d(e)?``:void 0,"data-selected":t&&u(t.value)?``:void 0,onclick:()=>h(e),onpointermove:()=>m(e)}}}}function be(e){let t=Q(e),n=g(0);return t.subscribe(()=>{O(n,i(n)+1)}),{get version(){return i(n)},setOptions:t.setOptions,measure:t.measure,setScrollOffset:t.setScrollOffset,setViewportHeight:t.setViewportHeight,scrollToIndex:t.scrollToIndex,getVirtualItems:t.getVirtualItems,getTotalSize:t.getTotalSize,getOffsetForIndex:t.getOffsetForIndex,getSizeForIndex:t.getSizeForIndex,getState:t.getState}}function xe(e){let t=g(0),n=v(()=>Math.max(0,e.totalSize()-e.viewport()));f(()=>{let n=i(t);r(()=>e.virtualizer.setScrollOffset(n))}),f(()=>{let e=i(n);r(()=>i(t))>e&&O(t,e,!0)});function a(e){O(t,Math.max(0,Math.min(i(n),e)),!0)}function o(e){a(i(t)+e)}function s(r){if(i(n)<=0)return;let a=r.deltaMode===1?r.deltaY*e.lineStep():r.deltaMode===2?r.deltaY*e.viewport():r.deltaY,s=i(t);o(a),i(t)!==s&&r.preventDefault()}let c=v(()=>i(n)>0&&e.totalSize()>0?Math.max(24,Math.min(e.viewport(),e.viewport()/e.totalSize()*e.viewport())):0),l=v(()=>Math.max(0,e.viewport()-i(c))),u=v(()=>i(n)>0?i(t)/i(n)*i(l):0),d=g(!1),p=0,m=0;function h(e){e.stopPropagation(),e.preventDefault(),O(d,!0),p=e.clientY,m=i(t),e.currentTarget.setPointerCapture(e.pointerId)}function _(e){if(!i(d))return;let t=e.clientY-p;a(m+(i(l)>0?t/i(l)*i(n):0))}function y(e){O(d,!1),T(e)}function b(t){let n=t.currentTarget.getBoundingClientRect();o(t.clientY-n.top<i(u)?-e.viewport():e.viewport())}let x=!1,S=0,C=0;function w(e){e.pointerType===`touch`&&(x=!0,S=e.clientY,C=i(t),e.currentTarget.setPointerCapture(e.pointerId))}function ee(e){x&&a(C-(e.clientY-S))}function te(e){x&&(x=!1,T(e))}function T(e){try{e.currentTarget.releasePointerCapture(e.pointerId)}catch{}}function E(n,r){n<i(t)?a(n):n+r>i(t)+e.viewport()&&a(n+r-e.viewport())}function D(t){E(e.virtualizer.getOffsetForIndex(t),e.virtualizer.getSizeForIndex(t))}return{get scrollOffset(){return i(t)},get maxOffset(){return i(n)},get thumbH(){return i(c)},get thumbTop(){return i(u)},get dragging(){return i(d)},scrollTo:a,scrollByPx:o,ensureVisible:E,ensureIndexVisible:D,onWheel:s,onThumbDown:h,onThumbMove:_,onThumbUp:y,onTrackDown:b,onContentDown:w,onContentMove:ee,onContentUp:te}}var Se=c(`<span aria-hidden="true"></span>`),Ce=c(`<span class="sv-listbox__check svelte-1wdh9bi" aria-hidden="true"> </span>`),we=c(`<span class="sv-listbox__label svelte-1wdh9bi"> </span>`),Te=c(`<span class="sv-listbox__hint svelte-1wdh9bi" aria-hidden="true"> </span>`),Ee=c(`<!> <!> <!>`,1),De=c(`<div><!></div>`),Oe=c(`<div class="sv-listbox__group svelte-1wdh9bi" role="presentation"> </div>`),ke=c(`<div class="sv-listbox__sb svelte-1wdh9bi" aria-hidden="true"><div></div></div>`),Ae=c(`<div class="sv-listbox__vp svelte-1wdh9bi"></div> <!>`,1),je=c(`<div class="sv-listbox__group svelte-1wdh9bi" role="presentation"> </div>`),Me=c(`<!> <!>`,1),Ne=c(`<input type="hidden"/>`),Pe=c(`<div><!></div> <!>`,1);function Fe(t,c){w(c,!0);let oe=(t,r=h)=>{var i=Ee(),l=x(i),u=e=>{var t=Se();let i;d(e=>i=ie(t,1,`sv-listbox__box svelte-1wdh9bi`,null,i,e),[()=>({"is-on":H(r())})]),n(e,t)},f=e=>{var t=Ce(),i=D(t,!0);k(t),d(e=>s(i,e),[()=>H(r())?`✓`:``]),n(e,t)};o(l,e=>{M()?e(u):j()&&e(f,1)});var m=p(l,2),g=t=>{var i=a(),o=x(i);e(o,()=>c.item??c.itemTemplate,r),n(t,i)},_=e=>{var t=we(),i=D(t,!0);k(t),d(()=>s(i,r().label)),n(e,t)};o(m,e=>{c.item??c.itemTemplate?e(g):e(_,-1)});var v=p(m,2),y=e=>{var t=Te(),i=D(t,!0);k(t),d(()=>s(i,r().hint)),n(e,t)};o(v,e=>{r().hint&&!(c.item??c.itemTemplate)&&e(y)}),n(t,i)},A=(e,t=h,r=h,i=h,a=h)=>{var o=De();_(o,(e,t,n)=>({class:`sv-listbox__opt`,...e,[C]:t,[re]:n}),[()=>V.optionProps(r()),()=>({"is-selected":H(t()),"is-active":V.isActive(r()),"is-disabled":t().disabled}),()=>({height:`${i()??ge(t())}px`,transform:a()==null?void 0:`translateY(${a()}px)`})],void 0,void 0,`svelte-1wdh9bi`);var s=D(o);oe(s,t),k(o),n(e,o)},le=E(c,`value`,3,null),j=E(c,`multiple`,3,!1),M=E(c,`checkbox`,3,!1),N=E(c,`block`,3,!1),fe=E(c,`disabled`,3,!1),P=E(c,`size`,3,`md`),F=E(c,`rows`,3,7),pe=E(c,`virtual`,3,!1),I=E(c,`rowHeight`,3,32),me=E(c,`groupHeaderHeight`,3,28),L=E(c,`invalid`,3,!1),R=E(c,`required`,3,!1),he=ae(`sv-lb`),z=v(()=>c.id??he),B=v(()=>de(c.options)),V=ye({options:()=>i(B),value:()=>le(),onChange:e=>c.onChange?.(e),multiple:()=>j(),disabled:()=>fe(),ariaLabel:()=>c.ariaLabel,id:()=>i(z),invalid:()=>L(),required:()=>R(),error:()=>c.error,hint:()=>c.hint}),H=e=>V.isSelected(e.value),U=v(()=>typeof I()==`number`?I():32),ge=e=>typeof I()==`function`?I()(e,e.index):I(),W=v(pe),G=g(null),K=g(0),q=v(()=>ue(i(B),{rowHeight:I(),groupHeaderHeight:me()})),J=v(()=>!i(q).hasGroups&&typeof I()==`number`),Y=v(()=>i(J)?i(U):e=>i(q).sizeAt(e)),X=v(()=>i(K)>0?i(K):Math.max(1,F()*i(U))),Z=be(r(()=>({count:i(q).entries.length,estimateSize:i(Y),overscan:6,viewportHeight:i(X)})));f(()=>{let e=i(q).entries.length,t=i(Y);r(()=>Z.setOptions({count:e,estimateSize:t}))}),f(()=>{let e=i(X);r(()=>Z.setViewportHeight(e))});let Q=v(()=>(Z.version,Z.getVirtualItems())),_e=v(()=>(Z.version,Z.getTotalSize())),$=xe({virtualizer:Z,totalSize:()=>i(_e),viewport:()=>i(X),lineStep:()=>i(U)});f(()=>{let e=V.activeIndex;if(i(W)){let t=i(q).optionFlatIndex[e];if(t==null)return;r(()=>$.ensureIndexVisible(t))}else queueMicrotask(()=>i(G)?.querySelector(`[data-idx="${e}"]`)?.scrollIntoView({block:`nearest`}))}),se(t,{get id(){return i(z)},get label(){return c.label},get hint(){return c.hint},get error(){return c.error},get required(){return R()},get dir(){return c.dir},get block(){return N()},children:(e,t)=>{var r=Pe(),f=x(r);_(f,e=>({class:`sv-listbox sv-listbox--${P()??``}`,onwheel:i(W)?$.onWheel:void 0,...e,[C]:{"is-invalid":L(),"is-virtual":i(W),"is-checkbox":M(),"is-block":N()},[re]:{"--sv-rows":F(),"--sv-row-h":`${i(U)}px`}}),[()=>V.rootProps()],void 0,void 0,`svelte-1wdh9bi`);var h=D(f),g=e=>{var t=Ae(),r=x(t);S(r,21,()=>i(Q),e=>e.key,(e,t)=>{let r=v(()=>i(q).entries[i(t).index]);var c=a(),l=x(c),u=e=>{var a=Oe();let o;var c=D(a,!0);k(a),d(()=>{o=m(a,``,o,{height:`${i(t).size}px`,transform:`translateY(${i(t).start-$.scrollOffset}px)`}),s(c,i(r).label)}),n(e,a)},f=e=>{A(e,()=>i(r).opt,()=>i(r).opt.index,()=>i(t).size,()=>i(t).start-$.scrollOffset)};o(l,e=>{i(r)?.type===`group`?e(u):i(r)&&e(f,1)}),n(e,c)}),k(r);var c=p(r,2),f=e=>{var t=ke(),r=D(t);let i,a;k(t),d(()=>{i=ie(r,1,`sv-listbox__thumb svelte-1wdh9bi`,null,i,{"is-dragging":$.dragging}),a=m(r,``,a,{height:`${$.thumbH}px`,transform:`translateY(${$.thumbTop}px)`})}),l(`pointerdown`,t,function(...e){$.onTrackDown?.apply(this,e)}),l(`pointerdown`,r,function(...e){$.onThumbDown?.apply(this,e)}),l(`pointermove`,r,function(...e){$.onThumbMove?.apply(this,e)}),l(`pointerup`,r,function(...e){$.onThumbUp?.apply(this,e)}),u(`pointercancel`,r,function(...e){$.onThumbUp?.apply(this,e)}),n(e,t)};o(c,e=>{$.maxOffset>0&&e(f)}),l(`pointerdown`,r,function(...e){$.onContentDown?.apply(this,e)}),l(`pointermove`,r,function(...e){$.onContentMove?.apply(this,e)}),l(`pointerup`,r,function(...e){$.onContentUp?.apply(this,e)}),u(`pointercancel`,r,function(...e){$.onContentUp?.apply(this,e)}),ne(r,`clientHeight`,e=>O(K,e)),n(e,t)},w=e=>{var t=a(),r=x(t);S(r,17,()=>ce(i(B)),e=>e.group??` `,(e,t)=>{var r=Me(),a=x(r),c=e=>{var r=je(),a=D(r,!0);k(r),d(()=>s(a,i(t).group)),n(e,r)};o(a,e=>{i(t).group!=null&&e(c)});var l=p(a,2);S(l,17,()=>i(t).options,e=>e.index,(e,t)=>{A(e,()=>i(t),()=>i(t).index)}),n(e,r)}),n(e,t)};o(h,e=>{i(W)?e(g):e(w,-1)}),k(f),ee(f,e=>O(G,e),()=>i(G));var T=p(f,2),E=e=>{var t=a(),r=x(t);S(r,16,()=>V.selectedValues,e=>e,(e,t)=>{var r=Ne();y(r),d(()=>{te(r,`name`,c.name),b(r,t)}),n(e,r)}),n(e,t)};o(T,e=>{c.name&&e(E)}),n(e,r)},$$slots:{default:!0}}),T()}t([`pointerdown`,`pointermove`,`pointerup`]);export{Q as a,B as c,V as d,Y as i,R as l,xe as n,ge as o,be as r,U as s,Fe as t,z as u};