@svgrid/grid 2.6.19 → 2.6.21

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 (65) hide show
  1. package/dist/SvGrid.controller.svelte.d.ts +1 -0
  2. package/dist/SvGrid.controller.svelte.js +64 -2
  3. package/dist/SvGrid.svelte +2 -1
  4. package/dist/SvGrid.types.d.ts +150 -0
  5. package/dist/ai.d.ts +28 -0
  6. package/dist/ai.js +6 -0
  7. package/dist/cdn/{GridMenus-B0F9iBrG.js → GridMenus-BfTAKn84.js} +1 -1
  8. package/dist/cdn/{GridMenus-IHK_l7m6.js → GridMenus-C3bJd7w8.js} +1 -1
  9. package/dist/cdn/{src-Cd0tearp.js → src-BYq-qyrp.js} +1012 -999
  10. package/dist/cdn/{src-B1TdiyS8.js → src-DBel9wRZ.js} +1324 -1311
  11. package/dist/cdn/svgrid.js +1 -1
  12. package/dist/cdn/svgrid.svelte-external.js +1 -1
  13. package/dist/cdn/validate-_CDJzgIo.js +75 -0
  14. package/dist/cell-formatting.d.ts +2 -0
  15. package/dist/cell-formatting.js +2 -0
  16. package/dist/chart-export.d.ts +1 -0
  17. package/dist/chart.d.ts +31 -5
  18. package/dist/chart.js +9 -3
  19. package/dist/core.d.ts +197 -0
  20. package/dist/core.js +72 -0
  21. package/dist/createTree.svelte.d.ts +3 -0
  22. package/dist/createTree.svelte.js +1 -0
  23. package/dist/datetime/date-core.d.ts +2 -0
  24. package/dist/datetime/date-restrict.d.ts +1 -0
  25. package/dist/datetime/timezone.d.ts +1 -0
  26. package/dist/dock-manager-model.d.ts +3 -0
  27. package/dist/dock-manager-model.js +1 -0
  28. package/dist/dock-model.d.ts +6 -0
  29. package/dist/dock-model.js +3 -0
  30. package/dist/editor-contract.d.ts +1 -0
  31. package/dist/list-option.d.ts +1 -0
  32. package/dist/positioning.d.ts +2 -0
  33. package/dist/scheduler-ical.d.ts +1 -0
  34. package/dist/scheduler-model.d.ts +1 -0
  35. package/dist/summaries.js +22 -0
  36. package/dist/svgrid-wrapper.types.d.ts +5 -0
  37. package/dist/toast-store.svelte.d.ts +4 -0
  38. package/dist/validate.d.ts +50 -0
  39. package/dist/validate.js +187 -0
  40. package/package.json +4 -1
  41. package/src/SvGrid.controller.svelte.ts +68 -2
  42. package/src/SvGrid.svelte +2 -1
  43. package/src/SvGrid.types.ts +150 -0
  44. package/src/ai.ts +28 -0
  45. package/src/cell-formatting.ts +2 -0
  46. package/src/chart-export.ts +1 -0
  47. package/src/chart.ts +31 -5
  48. package/src/core.ts +207 -0
  49. package/src/createTree.svelte.ts +3 -0
  50. package/src/datetime/date-core.ts +2 -0
  51. package/src/datetime/date-restrict.ts +1 -0
  52. package/src/datetime/timezone.ts +1 -0
  53. package/src/dock-manager-model.ts +3 -0
  54. package/src/dock-model.ts +6 -0
  55. package/src/editor-contract.ts +1 -0
  56. package/src/list-option.ts +1 -0
  57. package/src/positioning.ts +2 -0
  58. package/src/scheduler-ical.ts +1 -0
  59. package/src/scheduler-model.ts +1 -0
  60. package/src/summaries.ts +21 -0
  61. package/src/svgrid-wrapper.types.ts +5 -0
  62. package/src/svgrid.summaries.test.ts +217 -0
  63. package/src/toast-store.svelte.ts +4 -0
  64. package/src/validate.test.ts +207 -0
  65. package/src/validate.ts +269 -0
@@ -1,5 +1,5 @@
1
1
  import { _ as ee, c as te, d as ne, f as re, h as ie, i as e, l as t, m as n, n as r, o as i, p as a, r as o, s, t as c, u as l } from "./export-format-Cv1Dll6k.js";
2
- import { $ as u, $a as d, $i as f, $n as p, $r as m, $t as h, A as g, Aa as _, Ai as v, An as y, Ao as b, Ar as x, At as S, B as C, Ba as w, Bi as T, Bn as E, Bo as D, Br as O, Bt as k, C as A, Ca as j, Ci as M, Cn as N, Co as P, Cr as F, Ct as I, D as L, Da as R, Di as z, Dn as B, Do as V, Dr as H, Dt as U, E as W, Ea as G, Ei as K, En as q, Eo as J, Er as Y, Et as ae, F as oe, Fa as se, Fi as ce, Fn as le, Fo as ue, Fr as de, Ft as fe, G as pe, Ga as me, Gi as he, Gn as ge, Go as _e, Gr as ve, Gt as ye, H as be, Ha as xe, Hi as Se, Hn as Ce, Ho as we, Hr as Te, Ht as Ee, I as De, Ia as Oe, Ii as ke, In as Ae, Io as je, Ir as Me, It as Ne, J as Pe, Ja as Fe, Ji as Ie, Jn as Le, Jo as Re, Jr as ze, Jt as Be, K as Ve, Ka as He, Ki as Ue, Kn as We, Ko as Ge, Kr as Ke, Kt as qe, L as Je, La as Ye, Li as Xe, Ln as Ze, Lo as Qe, Lr as $e, Lt as et, M as tt, Ma as nt, Mi as rt, Mn as it, Mo as at, Mr as ot, Mt as st, N as ct, Na as lt, Ni as ut, Nn as dt, No as ft, Nr as pt, Nt as mt, O as ht, Oa as gt, Oi as _t, On as vt, Oo as yt, Or as bt, Ot as xt, P as St, Pa as Ct, Pi as wt, Pn as Tt, Po as Et, Pr as Dt, Pt as Ot, Q as kt, Qa as At, Qi as jt, Qn as Mt, Qr as Nt, Qt as Pt, R as Ft, Ra as It, Ri as Lt, Rn as Rt, Ro as zt, Rr as Bt, Rt as Vt, S as Ht, Sa as Ut, Si as Wt, Sn as Gt, So as Kt, Sr as qt, St as Jt, T as Yt, Ta as Xt, Ti as Zt, Tn as Qt, To as X, Tr as $t, Tt as en, U as tn, Ua as nn, Ui as rn, Un as an, Uo as on, Ur as sn, Ut as cn, V as ln, Va as un, Vi as dn, Vn as fn, Vo as pn, Vr as mn, Vt as hn, W as gn, Wa as _n, Wi as vn, Wn as yn, Wo as bn, Wr as xn, Wt as Sn, X as Cn, Xa as wn, Xi as Tn, Xn as En, Xo as Dn, Xr as On, Xt as kn, Y as An, Ya as jn, Yi as Mn, Yn as Nn, Yo as Pn, Yr as Fn, Yt as In, Z as Ln, Za as Rn, Zi as zn, Zn as Bn, Zr as Vn, Zt as Hn, _ as Un, _a as Wn, _i as Gn, _n as Kn, _o as qn, _r as Jn, _t as Yn, a as Xn, aa as Zn, ai as Qn, an as $n, ao as er, ar as tr, at as nr, b as rr, ba as ir, bi as ar, bn as or, bo as sr, br as cr, bt as lr, c as ur, ca as dr, ci as fr, cn as pr, co as mr, cr as hr, ct as gr, d as _r, da as vr, di as yr, dn as br, do as xr, dr as Sr, dt as Cr, ea as wr, ei as Tr, en as Er, eo as Dr, er as Or, et as kr, f as Ar, fa as jr, fi as Mr, fn as Nr, fo as Pr, fr as Fr, ft as Ir, g as Lr, ga as Rr, gi as zr, gn as Br, go as Vr, gr as Hr, gt as Ur, h as Wr, ha as Gr, hi as Kr, hn as qr, ho as Z, hr as Jr, ht as Yr, i as Xr, ia as Zr, ii as Qr, in as $r, io as ei, ir as ti, it as ni, j as ri, ja as ii, ji as ai, jn as oi, jo as si, jr as ci, jt as li, k as ui, ka as di, ki as fi, kn as pi, ko as mi, kr as hi, kt as gi, l as _i, la as vi, li as yi, ln as bi, lo as xi, lr as Si, lt as Ci, m as wi, ma as Ti, mi as Ei, mn as Di, mo as Oi, mr as ki, mt as Ai, n as ji, na as Mi, ni as Ni, nn as Pi, no as Fi, nr as Ii, nt as Li, o as Ri, oa as zi, oi as Bi, on as Vi, oo as Hi, or as Ui, ot as Wi, p as Gi, pa as Ki, pi as qi, pn as Ji, po as Yi, pr as Xi, pt as Zi, q as Qi, qa as $i, qi as ea, qn as ta, qo as na, qr as ra, qt as ia, r as aa, ra as oa, ri as sa, rn as ca, ro as la, rr as ua, rt as da, s as fa, sa as pa, si as ma, sn as ha, so as ga, sr as _a, st as va, t as ya, ta as ba, ti as xa, tn as Sa, to as Ca, tr as wa, tt as Ta, u as Ea, ua as Da, ui as Oa, un as ka, uo as Aa, ur as ja, ut as Ma, v as Na, va as Pa, vi as Fa, vn as Ia, vo as La, vr as Ra, vt as za, w as Ba, wa as Va, wi as Ha, wn as Ua, wo as Wa, wr as Ga, wt as Ka, x as qa, xa as Ja, xi as Ya, xn as Xa, xo as Za, xr as Qa, xt as $a, y as eo, ya as to, yi as no, yn as ro, yo as io, yr as ao, yt as oo, z as so, za as co, zi as lo, zn as uo, zo as fo, zr as po, zt as mo } from "./src-Cd0tearp.js";
2
+ import { $ as u, $a as d, $i as f, $n as p, $r as m, $t as h, A as g, Aa as _, Ai as v, An as y, Ao as b, Ar as x, At as S, B as C, Ba as w, Bi as T, Bn as E, Bo as D, Br as O, Bt as k, C as A, Ca as j, Ci as M, Cn as N, Co as P, Cr as F, Ct as I, D as L, Da as R, Di as z, Dn as B, Do as V, Dr as H, Dt as U, E as W, Ea as G, Ei as K, En as q, Eo as J, Er as Y, Et as ae, F as oe, Fa as se, Fi as ce, Fn as le, Fo as ue, Fr as de, Ft as fe, G as pe, Ga as me, Gi as he, Gn as ge, Go as _e, Gr as ve, Gt as ye, H as be, Ha as xe, Hi as Se, Hn as Ce, Ho as we, Hr as Te, Ht as Ee, I as De, Ia as Oe, Ii as ke, In as Ae, Io as je, Ir as Me, It as Ne, J as Pe, Ja as Fe, Ji as Ie, Jn as Le, Jo as Re, Jr as ze, Jt as Be, K as Ve, Ka as He, Ki as Ue, Kn as We, Ko as Ge, Kr as Ke, Kt as qe, L as Je, La as Ye, Li as Xe, Ln as Ze, Lo as Qe, Lr as $e, Lt as et, M as tt, Ma as nt, Mi as rt, Mn as it, Mo as at, Mr as ot, Mt as st, N as ct, Na as lt, Ni as ut, Nn as dt, No as ft, Nr as pt, Nt as mt, O as ht, Oa as gt, Oi as _t, On as vt, Oo as yt, Or as bt, Ot as xt, P as St, Pa as Ct, Pi as wt, Pn as Tt, Po as Et, Pr as Dt, Pt as Ot, Q as kt, Qa as At, Qi as jt, Qn as Mt, Qr as Nt, Qt as Pt, R as Ft, Ra as It, Ri as Lt, Rn as Rt, Ro as zt, Rr as Bt, Rt as Vt, S as Ht, Sa as Ut, Si as Wt, Sn as Gt, So as Kt, Sr as qt, St as Jt, T as Yt, Ta as Xt, Ti as Zt, Tn as Qt, To as X, Tr as $t, Tt as en, U as tn, Ua as nn, Ui as rn, Un as an, Uo as on, Ur as sn, Ut as cn, V as ln, Va as un, Vi as dn, Vn as fn, Vo as pn, Vr as mn, Vt as hn, W as gn, Wa as _n, Wi as vn, Wn as yn, Wo as bn, Wr as xn, Wt as Sn, X as Cn, Xa as wn, Xi as Tn, Xn as En, Xo as Dn, Xr as On, Xt as kn, Y as An, Ya as jn, Yi as Mn, Yn as Nn, Yo as Pn, Yr as Fn, Yt as In, Z as Ln, Za as Rn, Zi as zn, Zn as Bn, Zr as Vn, Zt as Hn, _ as Un, _a as Wn, _i as Gn, _n as Kn, _o as qn, _r as Jn, _t as Yn, a as Xn, aa as Zn, ai as Qn, an as $n, ao as er, ar as tr, at as nr, b as rr, ba as ir, bi as ar, bn as or, bo as sr, br as cr, bt as lr, c as ur, ca as dr, ci as fr, cn as pr, co as mr, cr as hr, ct as gr, d as _r, da as vr, di as yr, dn as br, do as xr, dr as Sr, dt as Cr, ea as wr, ei as Tr, en as Er, eo as Dr, er as Or, et as kr, f as Ar, fa as jr, fi as Mr, fn as Nr, fo as Pr, fr as Fr, ft as Ir, g as Lr, ga as Rr, gi as zr, gn as Br, go as Vr, gr as Hr, gt as Ur, h as Wr, ha as Gr, hi as Kr, hn as qr, ho as Z, hr as Jr, ht as Yr, i as Xr, ia as Zr, ii as Qr, in as $r, io as ei, ir as ti, it as ni, j as ri, ja as ii, ji as ai, jn as oi, jo as si, jr as ci, jt as li, k as ui, ka as di, ki as fi, kn as pi, ko as mi, kr as hi, kt as gi, l as _i, la as vi, li as yi, ln as bi, lo as xi, lr as Si, lt as Ci, m as wi, ma as Ti, mi as Ei, mn as Di, mo as Oi, mr as ki, mt as Ai, n as ji, na as Mi, ni as Ni, nn as Pi, no as Fi, nr as Ii, nt as Li, o as Ri, oa as zi, oi as Bi, on as Vi, oo as Hi, or as Ui, ot as Wi, p as Gi, pa as Ki, pi as qi, pn as Ji, po as Yi, pr as Xi, pt as Zi, q as Qi, qa as $i, qi as ea, qn as ta, qo as na, qr as ra, qt as ia, r as aa, ra as oa, ri as sa, rn as ca, ro as la, rr as ua, rt as da, s as fa, sa as pa, si as ma, sn as ha, so as ga, sr as _a, st as va, t as ya, ta as ba, ti as xa, tn as Sa, to as Ca, tr as wa, tt as Ta, u as Ea, ua as Da, ui as Oa, un as ka, uo as Aa, ur as ja, ut as Ma, v as Na, va as Pa, vi as Fa, vn as Ia, vo as La, vr as Ra, vt as za, w as Ba, wa as Va, wi as Ha, wn as Ua, wo as Wa, wr as Ga, wt as Ka, x as qa, xa as Ja, xi as Ya, xn as Xa, xo as Za, xr as Qa, xt as $a, y as eo, ya as to, yi as no, yn as ro, yo as io, yr as ao, yt as oo, z as so, za as co, zi as lo, zn as uo, zo as fo, zr as po, zt as mo } from "./src-BYq-qyrp.js";
3
3
  import { a as ho, i as go, n as _o, o as vo, r as yo, s as bo, t as xo } from "./editor-registry-CiI0xlKg.js";
4
4
  import { A as So, B as Co, C as wo, D as To, E as Eo, F as Do, G as Oo, H as ko, I as Ao, J as jo, K as Mo, L as No, M as Po, N as Fo, O as Io, P as Lo, R as Ro, S as zo, T as Bo, U as Vo, V as Ho, W as Uo, _ as Wo, a as Go, b as Ko, c as qo, d as Jo, f as Yo, g as Xo, h as Zo, i as Qo, j as $o, k as es, l as ts, m as ns, o as rs, p as is, q as as, r as os, s as ss, t as cs, u as ls, v as us, w as ds, x as fs, y as ps, z as ms } from "./SvDateTimePicker-CRQH_U7E.js";
5
5
  import { i as hs, n as gs, r as _s, t as vs } from "./popover-P-9P2YYn.js";
@@ -1,5 +1,5 @@
1
1
  import { _ as ee, c as te, d as ne, f as re, h as ie, i as e, l as t, m as n, n as r, o as i, p as a, r as o, s, t as c, u as l } from "./export-format-Cv1Dll6k.js";
2
- import { $ as u, $a as d, $i as f, $n as p, $r as m, $t as h, A as g, Aa as _, Ai as v, An as y, Ao as b, Ar as x, At as S, B as C, Ba as w, Bi as T, Bn as E, Bo as D, Br as O, Bt as k, C as A, Ca as j, Ci as M, Cn as N, Co as P, Cr as F, Ct as I, D as L, Da as R, Di as z, Dn as B, Do as V, Dr as H, Dt as U, E as W, Ea as G, Ei as K, En as q, Eo as J, Er as Y, Et as ae, F as oe, Fa as se, Fi as ce, Fn as le, Fo as ue, Fr as de, Ft as fe, G as pe, Ga as me, Gi as he, Gn as ge, Go as _e, Gr as ve, Gt as ye, H as be, Ha as xe, Hi as Se, Hn as Ce, Ho as we, Hr as Te, Ht as Ee, I as De, Ia as Oe, Ii as ke, In as Ae, Io as je, Ir as Me, It as Ne, J as Pe, Ja as Fe, Ji as Ie, Jn as Le, Jo as Re, Jr as ze, Jt as Be, K as Ve, Ka as He, Ki as Ue, Kn as We, Ko as Ge, Kr as Ke, Kt as qe, L as Je, La as Ye, Li as Xe, Ln as Ze, Lo as Qe, Lr as $e, Lt as et, M as tt, Ma as nt, Mi as rt, Mn as it, Mo as at, Mr as ot, Mt as st, N as ct, Na as lt, Ni as ut, Nn as dt, No as ft, Nr as pt, Nt as mt, O as ht, Oa as gt, Oi as _t, On as vt, Oo as yt, Or as bt, Ot as xt, P as St, Pa as Ct, Pi as wt, Pn as Tt, Po as Et, Pr as Dt, Pt as Ot, Q as kt, Qa as At, Qi as jt, Qn as Mt, Qr as Nt, Qt as Pt, R as Ft, Ra as It, Ri as Lt, Rn as Rt, Ro as zt, Rr as Bt, Rt as Vt, S as Ht, Sa as Ut, Si as Wt, Sn as Gt, So as Kt, Sr as qt, St as Jt, T as Yt, Ta as Xt, Ti as Zt, Tn as Qt, To as X, Tr as $t, Tt as en, U as tn, Ua as nn, Ui as rn, Un as an, Uo as on, Ur as sn, Ut as cn, V as ln, Va as un, Vi as dn, Vn as fn, Vo as pn, Vr as mn, Vt as hn, W as gn, Wa as _n, Wi as vn, Wn as yn, Wo as bn, Wr as xn, Wt as Sn, X as Cn, Xa as wn, Xi as Tn, Xn as En, Xo as Dn, Xr as On, Xt as kn, Y as An, Ya as jn, Yi as Mn, Yn as Nn, Yo as Pn, Yr as Fn, Yt as In, Z as Ln, Za as Rn, Zi as zn, Zn as Bn, Zr as Vn, Zt as Hn, _ as Un, _a as Wn, _i as Gn, _n as Kn, _o as qn, _r as Jn, _t as Yn, a as Xn, aa as Zn, ai as Qn, an as $n, ao as er, ar as tr, at as nr, b as rr, ba as ir, bi as ar, bn as or, bo as sr, br as cr, bt as lr, c as ur, ca as dr, ci as fr, cn as pr, co as mr, cr as hr, ct as gr, d as _r, da as vr, di as yr, dn as br, do as xr, dr as Sr, dt as Cr, ea as wr, ei as Tr, en as Er, eo as Dr, er as Or, et as kr, f as Ar, fa as jr, fi as Mr, fn as Nr, fo as Pr, fr as Fr, ft as Ir, g as Lr, ga as Rr, gi as zr, gn as Br, go as Vr, gr as Hr, gt as Ur, h as Wr, ha as Gr, hi as Kr, hn as qr, ho as Z, hr as Jr, ht as Yr, i as Xr, ia as Zr, ii as Qr, in as $r, io as ei, ir as ti, it as ni, j as ri, ja as ii, ji as ai, jn as oi, jo as si, jr as ci, jt as li, k as ui, ka as di, ki as fi, kn as pi, ko as mi, kr as hi, kt as gi, l as _i, la as vi, li as yi, ln as bi, lo as xi, lr as Si, lt as Ci, m as wi, ma as Ti, mi as Ei, mn as Di, mo as Oi, mr as ki, mt as Ai, n as ji, na as Mi, ni as Ni, nn as Pi, no as Fi, nr as Ii, nt as Li, o as Ri, oa as zi, oi as Bi, on as Vi, oo as Hi, or as Ui, ot as Wi, p as Gi, pa as Ki, pi as qi, pn as Ji, po as Yi, pr as Xi, pt as Zi, q as Qi, qa as $i, qi as ea, qn as ta, qo as na, qr as ra, qt as ia, r as aa, ra as oa, ri as sa, rn as ca, ro as la, rr as ua, rt as da, s as fa, sa as pa, si as ma, sn as ha, so as ga, sr as _a, st as va, t as ya, ta as ba, ti as xa, tn as Sa, to as Ca, tr as wa, tt as Ta, u as Ea, ua as Da, ui as Oa, un as ka, uo as Aa, ur as ja, ut as Ma, v as Na, va as Pa, vi as Fa, vn as Ia, vo as La, vr as Ra, vt as za, w as Ba, wa as Va, wi as Ha, wn as Ua, wo as Wa, wr as Ga, wt as Ka, x as qa, xa as Ja, xi as Ya, xn as Xa, xo as Za, xr as Qa, xt as $a, y as eo, ya as to, yi as no, yn as ro, yo as io, yr as ao, yt as oo, z as so, za as co, zi as lo, zn as uo, zo as fo, zr as po, zt as mo } from "./src-B1TdiyS8.js";
2
+ import { $ as u, $a as d, $i as f, $n as p, $r as m, $t as h, A as g, Aa as _, Ai as v, An as y, Ao as b, Ar as x, At as S, B as C, Ba as w, Bi as T, Bn as E, Bo as D, Br as O, Bt as k, C as A, Ca as j, Ci as M, Cn as N, Co as P, Cr as F, Ct as I, D as L, Da as R, Di as z, Dn as B, Do as V, Dr as H, Dt as U, E as W, Ea as G, Ei as K, En as q, Eo as J, Er as Y, Et as ae, F as oe, Fa as se, Fi as ce, Fn as le, Fo as ue, Fr as de, Ft as fe, G as pe, Ga as me, Gi as he, Gn as ge, Go as _e, Gr as ve, Gt as ye, H as be, Ha as xe, Hi as Se, Hn as Ce, Ho as we, Hr as Te, Ht as Ee, I as De, Ia as Oe, Ii as ke, In as Ae, Io as je, Ir as Me, It as Ne, J as Pe, Ja as Fe, Ji as Ie, Jn as Le, Jo as Re, Jr as ze, Jt as Be, K as Ve, Ka as He, Ki as Ue, Kn as We, Ko as Ge, Kr as Ke, Kt as qe, L as Je, La as Ye, Li as Xe, Ln as Ze, Lo as Qe, Lr as $e, Lt as et, M as tt, Ma as nt, Mi as rt, Mn as it, Mo as at, Mr as ot, Mt as st, N as ct, Na as lt, Ni as ut, Nn as dt, No as ft, Nr as pt, Nt as mt, O as ht, Oa as gt, Oi as _t, On as vt, Oo as yt, Or as bt, Ot as xt, P as St, Pa as Ct, Pi as wt, Pn as Tt, Po as Et, Pr as Dt, Pt as Ot, Q as kt, Qa as At, Qi as jt, Qn as Mt, Qr as Nt, Qt as Pt, R as Ft, Ra as It, Ri as Lt, Rn as Rt, Ro as zt, Rr as Bt, Rt as Vt, S as Ht, Sa as Ut, Si as Wt, Sn as Gt, So as Kt, Sr as qt, St as Jt, T as Yt, Ta as Xt, Ti as Zt, Tn as Qt, To as X, Tr as $t, Tt as en, U as tn, Ua as nn, Ui as rn, Un as an, Uo as on, Ur as sn, Ut as cn, V as ln, Va as un, Vi as dn, Vn as fn, Vo as pn, Vr as mn, Vt as hn, W as gn, Wa as _n, Wi as vn, Wn as yn, Wo as bn, Wr as xn, Wt as Sn, X as Cn, Xa as wn, Xi as Tn, Xn as En, Xo as Dn, Xr as On, Xt as kn, Y as An, Ya as jn, Yi as Mn, Yn as Nn, Yo as Pn, Yr as Fn, Yt as In, Z as Ln, Za as Rn, Zi as zn, Zn as Bn, Zr as Vn, Zt as Hn, _ as Un, _a as Wn, _i as Gn, _n as Kn, _o as qn, _r as Jn, _t as Yn, a as Xn, aa as Zn, ai as Qn, an as $n, ao as er, ar as tr, at as nr, b as rr, ba as ir, bi as ar, bn as or, bo as sr, br as cr, bt as lr, c as ur, ca as dr, ci as fr, cn as pr, co as mr, cr as hr, ct as gr, d as _r, da as vr, di as yr, dn as br, do as xr, dr as Sr, dt as Cr, ea as wr, ei as Tr, en as Er, eo as Dr, er as Or, et as kr, f as Ar, fa as jr, fi as Mr, fn as Nr, fo as Pr, fr as Fr, ft as Ir, g as Lr, ga as Rr, gi as zr, gn as Br, go as Vr, gr as Hr, gt as Ur, h as Wr, ha as Gr, hi as Kr, hn as qr, ho as Z, hr as Jr, ht as Yr, i as Xr, ia as Zr, ii as Qr, in as $r, io as ei, ir as ti, it as ni, j as ri, ja as ii, ji as ai, jn as oi, jo as si, jr as ci, jt as li, k as ui, ka as di, ki as fi, kn as pi, ko as mi, kr as hi, kt as gi, l as _i, la as vi, li as yi, ln as bi, lo as xi, lr as Si, lt as Ci, m as wi, ma as Ti, mi as Ei, mn as Di, mo as Oi, mr as ki, mt as Ai, n as ji, na as Mi, ni as Ni, nn as Pi, no as Fi, nr as Ii, nt as Li, o as Ri, oa as zi, oi as Bi, on as Vi, oo as Hi, or as Ui, ot as Wi, p as Gi, pa as Ki, pi as qi, pn as Ji, po as Yi, pr as Xi, pt as Zi, q as Qi, qa as $i, qi as ea, qn as ta, qo as na, qr as ra, qt as ia, r as aa, ra as oa, ri as sa, rn as ca, ro as la, rr as ua, rt as da, s as fa, sa as pa, si as ma, sn as ha, so as ga, sr as _a, st as va, t as ya, ta as ba, ti as xa, tn as Sa, to as Ca, tr as wa, tt as Ta, u as Ea, ua as Da, ui as Oa, un as ka, uo as Aa, ur as ja, ut as Ma, v as Na, va as Pa, vi as Fa, vn as Ia, vo as La, vr as Ra, vt as za, w as Ba, wa as Va, wi as Ha, wn as Ua, wo as Wa, wr as Ga, wt as Ka, x as qa, xa as Ja, xi as Ya, xn as Xa, xo as Za, xr as Qa, xt as $a, y as eo, ya as to, yi as no, yn as ro, yo as io, yr as ao, yt as oo, z as so, za as co, zi as lo, zn as uo, zo as fo, zr as po, zt as mo } from "./src-DBel9wRZ.js";
3
3
  import { a as ho, i as go, n as _o, o as vo, r as yo, s as bo, t as xo } from "./editor-registry-CiI0xlKg.js";
4
4
  import { A as So, B as Co, C as wo, D as To, E as Eo, F as Do, G as Oo, H as ko, I as Ao, J as jo, K as Mo, L as No, M as Po, N as Fo, O as Io, P as Lo, R as Ro, S as zo, T as Bo, U as Vo, V as Ho, W as Uo, _ as Wo, a as Go, b as Ko, c as qo, d as Jo, f as Yo, g as Xo, h as Zo, i as Qo, j as $o, k as es, l as ts, m as ns, o as rs, p as is, q as as, r as os, s as ss, t as cs, u as ls, v as us, w as ds, x as fs, y as ps, z as ms } from "./SvDateTimePicker-CHnUkWcH.js";
5
5
  import { i as hs, n as gs, r as _s, t as vs } from "./popover-P-9P2YYn.js";
@@ -0,0 +1,75 @@
1
+ //#region src/validate.ts
2
+ var e = "https://svgrid.com/docs/getting-started/3-data-and-columns/";
3
+ function t(e, n = []) {
4
+ for (let r of e) r.columns?.length ? t(r.columns, n) : n.push(r);
5
+ return n;
6
+ }
7
+ function n(n) {
8
+ let i = [], a = t(n.columns ?? []), o = (n.data ?? []).slice(0, 10);
9
+ if (o.length) {
10
+ let t = /* @__PURE__ */ new Set();
11
+ for (let e of o) if (e && typeof e == "object") for (let n of Object.keys(e)) t.add(n);
12
+ for (let n of a) {
13
+ let a = n.field;
14
+ if (!a || n.fieldFn || t.has(a)) continue;
15
+ let o = r(a, [...t]);
16
+ i.push(`[svgrid] Column field "${a}" does not exist on your row data, so that column renders empty.${o ? ` Did you mean "${o}"?` : ""} Available keys: ${[...t].slice(0, 12).join(", ")}. See ${e}`);
17
+ }
18
+ }
19
+ let s = /* @__PURE__ */ new Map();
20
+ for (let e of a) {
21
+ let t = e.id ?? e.field;
22
+ t && s.set(t, (s.get(t) ?? 0) + 1);
23
+ }
24
+ for (let [t, n] of s) n > 1 && i.push(`[svgrid] ${n} columns share the id "${t}". Column state (sorting, filtering, pinning, width) is keyed by id, so they will act as one. Give each an explicit \`id\`. See ${e}`);
25
+ let c = n.pageable === void 0 && n.showPagination === void 0;
26
+ n.pageSize !== void 0 && c && i.push("[svgrid] `pageSize` is set but pagination was never turned on, so it has no effect and every row renders. Add `pageable` to switch the pager on."), !(n.sortable === !0 || n.features?.rowSortingFeature) && a.some((e) => e.sortable === !0) && i.push("[svgrid] A column sets `sortable: true`, but sorting is not enabled on the grid, so its header does nothing. Add `sortable` to <SvGrid> (it registers the sorting feature for you).");
27
+ let l = /* @__PURE__ */ new Set();
28
+ for (let e of a) {
29
+ let t = e.id ?? e.field;
30
+ t && l.add(t);
31
+ }
32
+ for (let e of n.groupBy ?? []) {
33
+ if (l.has(e)) continue;
34
+ let t = r(e, [...l]);
35
+ i.push(`[svgrid] \`groupBy\` refers to column "${e}", which does not exist, so that grouping level is ignored.${t ? ` Did you mean "${t}"?` : ""} Column ids: ${[...l].slice(0, 12).join(", ")}`);
36
+ }
37
+ let u = n.treeData?.column;
38
+ if (u && !l.has(u) && i.push(`[svgrid] \`treeData.column\` refers to column "${u}", which does not exist, so the expander falls back to the first visible column.`), o.length && n.treeData) {
39
+ let e = /* @__PURE__ */ new Set();
40
+ for (let t of o) if (t && typeof t == "object") for (let n of Object.keys(t)) e.add(n);
41
+ let t = n.treeData.parentField;
42
+ if (t && !e.has(t)) {
43
+ let n = r(t, [...e]);
44
+ i.push(`[svgrid] \`treeData.parentField\` is "${t}", which is not on your row data, so every row becomes a root and no hierarchy appears.${n ? ` Did you mean "${n}"?` : ""}`);
45
+ }
46
+ let a = n.treeData.idField;
47
+ a && !e.has(a) && i.push(`[svgrid] \`treeData.idField\` is "${a}", which is not on your row data, so parent lookups cannot match and the tree stays flat.`);
48
+ }
49
+ return (n.initialColumnPinning?.left?.length ?? 0) + (n.initialColumnPinning?.right?.length ?? 0) > 0 && n.columnVirtualization !== !1 && i.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}`."), n.externalPagination === !0 && n.rowCount === void 0 && i.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`."), n.externalSort === !0 && !n.onSortingChange && i.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."), n.externalFilter === !0 && !n.onFiltersChange && i.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."), i;
50
+ }
51
+ function r(e, t) {
52
+ let n, r = Infinity;
53
+ for (let a of t) {
54
+ let t = i(e.toLowerCase(), a.toLowerCase());
55
+ t < r && (r = t, n = a);
56
+ }
57
+ let a = Math.min(3, Math.floor(e.length / 3) + 1);
58
+ return r <= a ? n : void 0;
59
+ }
60
+ function i(e, t) {
61
+ if (e === t) return 0;
62
+ let n = Array(t.length + 1);
63
+ for (let e = 0; e <= t.length; e++) n[e] = e;
64
+ for (let r = 1; r <= e.length; r++) {
65
+ let i = n[0];
66
+ n[0] = r;
67
+ for (let a = 1; a <= t.length; a++) {
68
+ let o = Math.min(n[a] + 1, n[a - 1] + 1, i + (e[r - 1] === t[a - 1] ? 0 : 1));
69
+ i = n[a], n[a] = o;
70
+ }
71
+ }
72
+ return n[t.length];
73
+ }
74
+ //#endregion
75
+ export { n as validateGridConfig };
@@ -11,6 +11,8 @@ type NumericFormatInput = {
11
11
  valueIsPercentPoints?: boolean;
12
12
  options?: Intl.NumberFormatOptions;
13
13
  };
14
+ /** A cached `Intl.DateTimeFormat` for the locale and options given. Cached because
15
+ * constructing one per cell is the dominant cost when formatting a date column. */
14
16
  export declare function getDateFormatter(locales: string | readonly string[] | undefined, options: Intl.DateTimeFormatOptions): Intl.DateTimeFormat;
15
17
  /** Format a numeric value for number / currency / percent column formats. */
16
18
  export declare function formatNumericWithConfig(value: unknown, config: NumericFormatInput): string;
@@ -86,6 +86,8 @@ function getNumberFormatter(locales, options) {
86
86
  }
87
87
  /** Cache of `Intl.DateTimeFormat` by `(locale, options)` signature. */
88
88
  const dateFormatterCache = new Map();
89
+ /** A cached `Intl.DateTimeFormat` for the locale and options given. Cached because
90
+ * constructing one per cell is the dominant cost when formatting a date column. */
89
91
  export function getDateFormatter(locales, options) {
90
92
  const key = (Array.isArray(locales) ? locales.join(',') : locales ?? '') +
91
93
  '|' +
@@ -10,6 +10,7 @@
10
10
  * that contains it).
11
11
  */
12
12
  import type { ChartSpec } from './chart.js';
13
+ /** Options for exporting a chart: the filename, and the background to paint behind it. */
13
14
  export type ChartExportOptions = {
14
15
  /** Background color of the exported image. Default: the grid background. */
15
16
  background?: string;
package/dist/chart.d.ts CHANGED
@@ -34,8 +34,7 @@ export type SeriesOverlay = 'linear' | `sma:${number}` | `ema:${number}`;
34
34
  /** A texture fill applied in addition to (and on top of) the series color.
35
35
  * Helps colorblind readers distinguish series at a glance. */
36
36
  export type SeriesPattern = 'solid' | 'stripe' | 'crosshatch' | 'dots' | 'diagonal';
37
- /** Cycle used when `ChartSpec.patternFallback` is true and a series has no
38
- * explicit `pattern` set. Skips `'solid'` so every series gets a texture. */
37
+ /** One plotted series: its label, its values (one per category), and how to draw it. */
39
38
  export type ChartSeries = {
40
39
  label: string;
41
40
  values: number[];
@@ -93,6 +92,12 @@ export type ChartReferenceLine = {
93
92
  color?: string;
94
93
  dashed?: boolean;
95
94
  };
95
+ /**
96
+ * What to plot - the input you build and hand to a chart. Categories are the
97
+ * x-axis labels and every series supplies one value per category.
98
+ *
99
+ * {@link buildChart} turns this into a {@link ChartGeometry} for rendering.
100
+ */
96
101
  export type ChartSpec = {
97
102
  /** Default type for series that don't set their own `type`. */
98
103
  type: ChartType;
@@ -362,6 +367,7 @@ export type ChartHeatmapCell = {
362
367
  rowLabel: string;
363
368
  colLabel: string;
364
369
  };
370
+ /** A computed bar rectangle in SVG coordinates. Output of {@link buildChart}, not an input. */
365
371
  export type ChartBar = {
366
372
  x: number;
367
373
  y: number;
@@ -374,6 +380,7 @@ export type ChartBar = {
374
380
  series: string;
375
381
  value: number;
376
382
  };
383
+ /** One computed point on a line, with whether the series has a value there. */
377
384
  export type ChartLinePoint = {
378
385
  x: number;
379
386
  y: number;
@@ -382,6 +389,7 @@ export type ChartLinePoint = {
382
389
  /** False for null / NaN values - the line breaks (gap), no dot is drawn. */
383
390
  defined: boolean;
384
391
  };
392
+ /** A computed line series: its points and the path drawn through them. */
385
393
  export type ChartLine = {
386
394
  path: string;
387
395
  areaPath: string;
@@ -392,6 +400,7 @@ export type ChartLine = {
392
400
  * series, when both arrays are supplied. Empty otherwise. */
393
401
  bandPath?: string;
394
402
  };
403
+ /** A computed pie slice, as an SVG arc plus its label placement. */
395
404
  export type ChartPieSlice = {
396
405
  path: string;
397
406
  color: string;
@@ -402,19 +411,23 @@ export type ChartPieSlice = {
402
411
  cx: number;
403
412
  cy: number;
404
413
  };
414
+ /** A value-axis tick: the number, where it sits vertically, and its label. */
405
415
  export type ChartAxisTick = {
406
416
  value: number;
407
417
  y: number;
408
418
  label: string;
409
419
  };
420
+ /** A category-axis tick: the label and its horizontal position. */
410
421
  export type ChartCategoryTick = {
411
422
  label: string;
412
423
  x: number;
413
424
  };
425
+ /** One legend entry, paired with the series colour it stands for. */
414
426
  export type ChartLegendItem = {
415
427
  label: string;
416
428
  color: string;
417
429
  };
430
+ /** A computed reference line (target, average, threshold) at its plotted height. */
418
431
  export type ChartRefLineGeo = {
419
432
  y: number;
420
433
  label: string;
@@ -428,6 +441,7 @@ export type ChartRefLineGeoV = {
428
441
  color: string;
429
442
  dashed: boolean;
430
443
  };
444
+ /** A computed scatter point in SVG coordinates. */
431
445
  export type ChartScatterDot = {
432
446
  cx: number;
433
447
  cy: number;
@@ -438,6 +452,11 @@ export type ChartScatterDot = {
438
452
  x: number;
439
453
  y: number;
440
454
  };
455
+ /**
456
+ * Everything needed to render a chart: the plot rectangle plus every mark
457
+ * already positioned in SVG coordinates. Produced by {@link buildChart} from a
458
+ * {@link ChartSpec}, so a renderer does no maths of its own.
459
+ */
441
460
  export type ChartGeometry = {
442
461
  type: ChartType;
443
462
  width: number;
@@ -542,7 +561,9 @@ export type ChartGeometry = {
542
561
  /** Sankey links (type === 'sankey'). */
543
562
  sankeyLinks: ChartSankeyLink[];
544
563
  };
564
+ /** Series colours used when a {@link ChartSeries} sets none, in order. */
545
565
  export declare const DEFAULT_PALETTE: string[];
566
+ /** An axis range rounded to human-friendly bounds and tick spacing. */
546
567
  export type NiceScale = {
547
568
  min: number;
548
569
  max: number;
@@ -559,9 +580,6 @@ export declare function pickContrastText(bgHex: string): string;
559
580
  * the smallest that covers the top, then enumerate decade boundaries. Used
560
581
  * by log-scale axes (yScale: 'log'). */
561
582
  export declare function niceLogScale(min: number, max: number): NiceScale;
562
- /** Ordinary least-squares regression on (i, values[i]) pairs (i = x index).
563
- * Returns the fitted value at each x index, or NaN where the source value
564
- * was non-finite. */
565
583
  /** Build an SVG path from a list of (x,y) pairs, optionally smoothed via
566
584
  * monotone cubic interpolation (preserves local extrema - no overshoots).
567
585
  * Breaks the path at `defined === false` gaps. */
@@ -570,6 +588,9 @@ export declare function buildLinePath(pts: Array<{
570
588
  y: number;
571
589
  defined: boolean;
572
590
  }>, smooth: boolean): string;
591
+ /** Ordinary least-squares regression on (i, values[i]) pairs (i = x index).
592
+ * Returns the fitted value at each x index, or NaN where the source value
593
+ * was non-finite. */
573
594
  export declare function linearTrend(values: number[]): number[];
574
595
  /** Simple moving average over a window of `period` values. Window centres
575
596
  * trail to the right (typical for time-series). NaN for points before the
@@ -590,6 +611,11 @@ export type ChartValueFormat = 'number' | 'currency' | 'percent' | 'compact';
590
611
  * `'compact'` = the plain compact form.
591
612
  */
592
613
  export declare function formatChartValue(n: number, format?: ChartValueFormat): string;
614
+ /**
615
+ * Lay out a {@link ChartSpec} into renderable {@link ChartGeometry} - scales,
616
+ * ticks, and the position of every bar, line, slice and dot. Pure: no DOM, so
617
+ * it runs during SSR and can be unit-tested directly.
618
+ */
593
619
  export declare function buildChart(spec: ChartSpec, theme?: 'light' | 'dark'): ChartGeometry;
594
620
  /**
595
621
  * Aggregate flat rows into a chart spec. Group by a category field, reduce a
package/dist/chart.js CHANGED
@@ -1,3 +1,4 @@
1
+ /** Series colours used when a {@link ChartSeries} sets none, in order. */
1
2
  export const DEFAULT_PALETTE = [
2
3
  '#2563eb',
3
4
  '#16a34a',
@@ -112,9 +113,6 @@ function project(value, min, max, isLog) {
112
113
  return (value - min) / (max - min);
113
114
  }
114
115
  // ---- Overlay math: trendline + moving averages -----------------------
115
- /** Ordinary least-squares regression on (i, values[i]) pairs (i = x index).
116
- * Returns the fitted value at each x index, or NaN where the source value
117
- * was non-finite. */
118
116
  /** Build an SVG path from a list of (x,y) pairs, optionally smoothed via
119
117
  * monotone cubic interpolation (preserves local extrema - no overshoots).
120
118
  * Breaks the path at `defined === false` gaps. */
@@ -205,6 +203,9 @@ function monotoneCubicPath(pts) {
205
203
  }
206
204
  return path;
207
205
  }
206
+ /** Ordinary least-squares regression on (i, values[i]) pairs (i = x index).
207
+ * Returns the fitted value at each x index, or NaN where the source value
208
+ * was non-finite. */
208
209
  export function linearTrend(values) {
209
210
  let n = 0, sumX = 0, sumY = 0, sumXX = 0, sumXY = 0;
210
211
  for (let i = 0; i < values.length; i += 1) {
@@ -403,6 +404,11 @@ function axisDomain(list, categories, stacked, extra = [], isLog = false) {
403
404
  }
404
405
  return isLog ? niceLogScale(dMin, dMax) : niceScale(dMin, dMax);
405
406
  }
407
+ /**
408
+ * Lay out a {@link ChartSpec} into renderable {@link ChartGeometry} - scales,
409
+ * ticks, and the position of every bar, line, slice and dot. Pure: no DOM, so
410
+ * it runs during SSR and can be unit-tested directly.
411
+ */
406
412
  export function buildChart(spec, theme = 'light') {
407
413
  const width = spec.width ?? 520;
408
414
  const height = spec.height ?? 300;