@nxgt/material 3.47.0 → 3.48.0

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.
@@ -2,7 +2,7 @@ import { $ as ee, $t as te, An as ne, Ar as re, Br as e, Cr as t, Dr as n, Er as
2
2
  import { i as Qe, n as $e, r as et, s as tt, t as nt } from "./tooltip-CkttDIab.js";
3
3
  import { a as rt, c as it, f as at, i as ot, l as st, n as ct, o as lt, p as ut, r as dt, s as ft, t as pt, u as mt } from "./dialog-CCCcnTIx.js";
4
4
  import { a as ht, c as gt, d as _t, f as vt, i as yt, l as bt, n as xt, o as St, r as Ct, s as wt, t as Tt, u as Et } from "./dropdown-menu-Df8785nt.js";
5
- import { $ as Dt, $a as Ot, $c as kt, $d as At, $i as jt, $l as Mt, $n as Nt, $o as Pt, $r as Ft, $s as It, $t as Lt, $u as Rt, A as zt, Aa as Bt, Ac as Vt, Ad as Ht, Af as Ut, Ai as Wt, Al as Gt, An as Kt, Ao as qt, Ar as Jt, As as Yt, At as Xt, Au as Zt, B as Qt, Ba as $t, Bc as en, Bd as tn, Bf as nn, Bi as rn, Bl as an, Bn as on, Bo as sn, Br as cn, Bs as ln, Bt as un, Bu as dn, C as fn, Ca as pn, Cc as mn, Cd as hn, Cf as gn, Ci as _n, Cl as vn, Cn as yn, Co as bn, Cr as xn, Cs as Sn, Ct as Cn, Cu as wn, D as Tn, Da as En, Dc as Dn, Dd as On, Df as kn, Di as An, Dl as jn, Dn as Mn, Do as Nn, Dr as Pn, Ds as Fn, Dt as In, Du as Ln, E as Rn, Ea as zn, Ec as Bn, Ed as Vn, Ef as Hn, Ei as Un, El as Wn, En as Gn, Eo as Kn, Er as qn, Es as Jn, Et as Yn, Eu as Xn, F as Zn, Fa as Qn, Fc as $n, Fd as er, Ff as tr, Fi as nr, Fl as rr, Fn as ir, Fo as ar, Fr as or, Fs as sr, Ft as cr, Fu as lr, G as ur, Ga as dr, Gc as fr, Gd as pr, Gf as mr, Gi as hr, Gl as gr, Gn as _r, Go as vr, Gr as yr, Gs as br, Gt as xr, Gu as Sr, H as Cr, Ha as wr, Hc as Tr, Hd as Er, Hf as Dr, Hi as Or, Hl as kr, Hn as Ar, Ho as jr, Hr as Mr, Hs as Nr, Ht as Pr, Hu as Fr, I as Ir, Ia as Lr, Ic as Rr, Id as zr, If as Br, Ii as Vr, Il as Hr, In as Ur, Io as Wr, Ir as Gr, Is as Kr, It as qr, Iu as Jr, J as Yr, Ja as Xr, Jc as Zr, Jd as Qr, Jf as $r, Ji as ei, Jl as ti, Jn as ni, Jo as ri, Jr as ii, Js as ai, Jt as oi, Ju as si, K as ci, Ka as li, Kc as ui, Kd as di, Kf as fi, Ki as pi, Kl as mi, Kn as hi, Ko as gi, Kr as _i, Ks as vi, Kt as yi, Ku as bi, L as xi, La as Si, Lc as Ci, Ld as wi, Lf as Ti, Li as Ei, Ll as Di, Ln as Oi, Lo as ki, Lr as Ai, Ls as ji, Lt as Mi, Lu as Ni, M as Pi, Ma as Fi, Mc as Ii, Md as Li, Mf as Ri, Mi as zi, Ml as Bi, Mn as Vi, Mo as Hi, Mr as Ui, Ms as Wi, Mt as Gi, Mu as Ki, N as qi, Na as Ji, Nc as Yi, Nd as Xi, Nf as Zi, Ni as Qi, Nl as $i, Nn as ea, No as ta, Nr as na, Ns as ra, Nt as ia, Nu as aa, O as oa, Oa as sa, Oc as ca, Od as la, Of as ua, Oi as da, Ol as fa, On as pa, Oo as ma, Or as ha, Os as ga, Ot as _a, Ou as va, P as ya, Pa as ba, Pc as xa, Pd as Sa, Pf as Ca, Pi as wa, Pl as Ta, Pn as Ea, Po as Da, Pr as Oa, Ps as ka, Pt as Aa, Pu as ja, Q as Ma, Qa as Na, Qc as Pa, Qd as Fa, Qf as Ia, Qi as La, Ql as Ra, Qn as za, Qo as Ba, Qr as Va, Qs as Ha, Qt as Ua, Qu as Wa, R as Ga, Ra as Ka, Rc as qa, Rd as Ja, Rf as Ya, Ri as Xa, Rl as Za, Rn as Qa, Ro as $a, Rr as eo, Rs as to, Rt as no, Ru as ro, S as io, Sa as ao, Sc as oo, Sd as so, Sf as co, Si as lo, Sl as uo, Sn as fo, So as po, Sr as mo, Ss as ho, St as go, Su as _o, T as vo, Ta as yo, Tc as bo, Td as xo, Tf as So, Ti as Co, Tl as wo, Tn as To, To as Eo, Tr as Do, Ts as Oo, Tt as ko, Tu as Ao, U as jo, Ua as Mo, Uc as No, Ud as Po, Uf as Fo, Ui as Io, Ul as Lo, Un as Ro, Uo as zo, Ur as Bo, Us as Vo, Ut as Ho, Uu as Uo, V as Wo, Va as Go, Vc as Ko, Vd as qo, Vf as Jo, Vi as Yo, Vl as Xo, Vn as Zo, Vo as Qo, Vr as $o, Vs as es, Vt as ts, Vu as ns, W as rs, Wa as is, Wc as as, Wd as os, Wf as ss, Wi as cs, Wl as ls, Wn as us, Wo as ds, Wr as fs, Ws as ps, Wt as ms, Wu as hs, X as gs, Xa as _s, Xc as vs, Xd as ys, Xf as bs, Xi as xs, Xl as Ss, Xn as Cs, Xo as ws, Xr as Ts, Xs as Es, Xt as Ds, Xu as Os, Y as ks, Ya as As, Yc as js, Yd as Ms, Yf as Ns, Yi as Ps, Yl as Fs, Yn as Is, Yo as Ls, Yr as Rs, Ys as zs, Yt as Bs, Yu as Vs, Z as Hs, Za as Us, Zc as Ws, Zd as Gs, Zf as Ks, Zi as qs, Zl as Js, Zn as Ys, Zo as Xs, Zr as Zs, Zs as Qs, Zt as $s, Zu as ec, _ as tc, _a as nc, _c as rc, _d as ic, _f as ac, _i as oc, _l as sc, _n as cc, _o as lc, _r as uc, _s as dc, _t as fc, _u as pc, a as mc, aa as hc, ac as gc, ad as _c, af as vc, ai as yc, al as bc, an as xc, ao as Sc, ar as Cc, as as wc, at as Tc, au as Ec, b as Dc, ba as Oc, bc as kc, bd as Ac, bf as jc, bi as Mc, bl as Nc, bn as Pc, bo as Fc, br as Ic, bs as Lc, bt as Rc, bu as Z, c as zc, ca as Bc, cc as Vc, cd as Hc, cf as Uc, ci as Wc, cl as Gc, cn as Kc, co as qc, cr as Jc, cs as Yc, ct as Xc, cu as Zc, d as Qc, da as $c, dc as el, dd as tl, df as nl, di as rl, dl as il, dn as al, do as ol, dr as sl, ds as cl, dt as ll, du as ul, ea as dl, ec as fl, ed as pl, ef as ml, ei as hl, el as gl, en as _l, eo as vl, er as yl, es as bl, et as xl, eu as Sl, f as Cl, fa as wl, fc as Tl, fd as El, ff as Dl, fi as Ol, fl as kl, fn as Al, fo as jl, fr as Ml, fs as Nl, ft as Pl, fu as Fl, g as Il, ga as Ll, gc as Rl, gd as zl, gf as Bl, gi as Vl, gl as Hl, gn as Ul, go as Wl, gr as Gl, gs as Kl, gt as ql, gu as Jl, h as Yl, ha as Xl, hc as Zl, hd as Ql, hf as $l, hi as eu, hl as tu, hn as nu, ho as ru, hr as iu, hs as au, ht as ou, hu as su, i as cu, ia as lu, ic as uu, id as du, if as fu, ii as pu, il as mu, in as hu, io as gu, ir as _u, is as vu, it as yu, iu as bu, j as xu, ja as Su, jc as Cu, jd as wu, jf as Tu, ji as Eu, jl as Du, jn as Ou, jo as ku, jr as Au, js as ju, jt as Mu, ju as Nu, k as Pu, ka as Fu, kc as Iu, kd as Lu, kf as Ru, ki as zu, kl as Bu, kn as Vu, ko as Hu, kr as Uu, ks as Wu, kt as Gu, ku as Ku, l as qu, la as Ju, lc as Yu, ld as Xu, lf as Zu, li as Qu, ll as $u, ln as ed, lo as td, lr as nd, ls as rd, lt as id, lu as ad, m as od, ma as sd, mc as cd, md as ld, mf as ud, mi as dd, ml as fd, mn as pd, mo as md, mr as hd, ms as gd, mt as _d, mu as vd, n as yd, na as bd, nc as xd, nd as Sd, nf as Cd, ni as wd, nl as Td, nn as Ed, no as Dd, nr as Od, ns as kd, nt as Ad, nu as jd, o as Md, oa as Nd, oc as Pd, od as Fd, of as Id, oi as Ld, ol as Rd, on as zd, oo as Bd, or as Vd, os as Hd, ot as Ud, ou as Wd, p as Gd, pa as Kd, pc as qd, pd as Jd, pf as Yd, pi as Xd, pl as Zd, pn as Qd, po as $d, pr as ef, ps as tf, pt as nf, pu as rf, q as af, qa as of, qc as sf, qd as cf, qf as lf, qi as uf, ql as df, qn as ff, qo as pf, qr as mf, qs as hf, qt as gf, qu as _f, r as vf, ra as yf, rc as bf, rd as xf, rf as Sf, ri as Cf, rl as wf, rn as Tf, ro as Ef, rr as Df, rs as Of, rt as kf, ru as Af, s as jf, sa as Mf, sc as Nf, sd as Pf, sf as Ff, si as If, sl as Lf, sn as Rf, so as zf, sr as Bf, ss as Vf, st as Hf, su as Uf, t as Wf, ta as Gf, tc as Kf, td as qf, tf as Jf, ti as Yf, tl as Xf, tn as Zf, to as Qf, tr as $f, ts as ep, tt as tp, tu as np, u as rp, ua as ip, uc as ap, ud as op, uf as sp, ui as cp, ul as lp, un as up, uo as dp, ur as fp, us as pp, ut as mp, uu as hp, v as gp, va as _p, vc as vp, vd as yp, vf as bp, vi as xp, vl as Sp, vn as Cp, vo as wp, vr as Tp, vs as Ep, vt as Dp, vu as Op, w as kp, wa as Ap, wc as jp, wd as Mp, wf as Np, wi as Pp, wl as Fp, wn as Ip, wo as Lp, wr as Rp, ws as zp, wt as Bp, wu as Vp, x as Hp, xa as Up, xc as Wp, xd as Gp, xf as Kp, xi as qp, xl as Jp, xn as Yp, xo as Xp, xr as Zp, xs as Qp, xt as $p, xu as em, y as tm, ya as nm, yc as rm, yd as im, yf as am, yi as om, yl as sm, yn as cm, yo as lm, yr as um, ys as dm, yt as fm, yu as pm, z as mm, za as hm, zc as gm, zd as _m, zf as vm, zi as ym, zl as bm, zn as xm, zo as Sm, zr as Cm, zs as wm, zt as Tm, zu as Em } from "./components-DFPy96C3.js";
5
+ import { $ as Dt, $a as Ot, $c as kt, $d as At, $i as jt, $l as Mt, $n as Nt, $o as Pt, $r as Ft, $s as It, $t as Lt, $u as Rt, A as zt, Aa as Bt, Ac as Vt, Ad as Ht, Af as Ut, Ai as Wt, Al as Gt, An as Kt, Ao as qt, Ar as Jt, As as Yt, At as Xt, Au as Zt, B as Qt, Ba as $t, Bc as en, Bd as tn, Bf as nn, Bi as rn, Bl as an, Bn as on, Bo as sn, Br as cn, Bs as ln, Bt as un, Bu as dn, C as fn, Ca as pn, Cc as mn, Cd as hn, Cf as gn, Ci as _n, Cl as vn, Cn as yn, Co as bn, Cr as xn, Cs as Sn, Ct as Cn, Cu as wn, D as Tn, Da as En, Dc as Dn, Dd as On, Df as kn, Di as An, Dl as jn, Dn as Mn, Do as Nn, Dr as Pn, Ds as Fn, Dt as In, Du as Ln, E as Rn, Ea as zn, Ec as Bn, Ed as Vn, Ef as Hn, Ei as Un, El as Wn, En as Gn, Eo as Kn, Er as qn, Es as Jn, Et as Yn, Eu as Xn, F as Zn, Fa as Qn, Fc as $n, Fd as er, Ff as tr, Fi as nr, Fl as rr, Fn as ir, Fo as ar, Fr as or, Fs as sr, Ft as cr, Fu as lr, G as ur, Ga as dr, Gc as fr, Gd as pr, Gf as mr, Gi as hr, Gl as gr, Gn as _r, Go as vr, Gr as yr, Gs as br, Gt as xr, Gu as Sr, H as Cr, Ha as wr, Hc as Tr, Hd as Er, Hf as Dr, Hi as Or, Hl as kr, Hn as Ar, Ho as jr, Hr as Mr, Hs as Nr, Ht as Pr, Hu as Fr, I as Ir, Ia as Lr, Ic as Rr, Id as zr, If as Br, Ii as Vr, Il as Hr, In as Ur, Io as Wr, Ir as Gr, Is as Kr, It as qr, Iu as Jr, J as Yr, Ja as Xr, Jc as Zr, Jd as Qr, Jf as $r, Ji as ei, Jl as ti, Jn as ni, Jo as ri, Jr as ii, Js as ai, Jt as oi, Ju as si, K as ci, Ka as li, Kc as ui, Kd as di, Kf as fi, Ki as pi, Kl as mi, Kn as hi, Ko as gi, Kr as _i, Ks as vi, Kt as yi, Ku as bi, L as xi, La as Si, Lc as Ci, Ld as wi, Lf as Ti, Li as Ei, Ll as Di, Ln as Oi, Lo as ki, Lr as Ai, Ls as ji, Lt as Mi, Lu as Ni, M as Pi, Ma as Fi, Mc as Ii, Md as Li, Mf as Ri, Mi as zi, Ml as Bi, Mn as Vi, Mo as Hi, Mr as Ui, Ms as Wi, Mt as Gi, Mu as Ki, N as qi, Na as Ji, Nc as Yi, Nd as Xi, Nf as Zi, Ni as Qi, Nl as $i, Nn as ea, No as ta, Nr as na, Ns as ra, Nt as ia, Nu as aa, O as oa, Oa as sa, Oc as ca, Od as la, Of as ua, Oi as da, Ol as fa, On as pa, Oo as ma, Or as ha, Os as ga, Ot as _a, Ou as va, P as ya, Pa as ba, Pc as xa, Pd as Sa, Pf as Ca, Pi as wa, Pl as Ta, Pn as Ea, Po as Da, Pr as Oa, Ps as ka, Pt as Aa, Pu as ja, Q as Ma, Qa as Na, Qc as Pa, Qd as Fa, Qf as Ia, Qi as La, Ql as Ra, Qn as za, Qo as Ba, Qr as Va, Qs as Ha, Qt as Ua, Qu as Wa, R as Ga, Ra as Ka, Rc as qa, Rd as Ja, Rf as Ya, Ri as Xa, Rl as Za, Rn as Qa, Ro as $a, Rr as eo, Rs as to, Rt as no, Ru as ro, S as io, Sa as ao, Sc as oo, Sd as so, Sf as co, Si as lo, Sl as uo, Sn as fo, So as po, Sr as mo, Ss as ho, St as go, Su as _o, T as vo, Ta as yo, Tc as bo, Td as xo, Tf as So, Ti as Co, Tl as wo, Tn as To, To as Eo, Tr as Do, Ts as Oo, Tt as ko, Tu as Ao, U as jo, Ua as Mo, Uc as No, Ud as Po, Uf as Fo, Ui as Io, Ul as Lo, Un as Ro, Uo as zo, Ur as Bo, Us as Vo, Ut as Ho, Uu as Uo, V as Wo, Va as Go, Vc as Ko, Vd as qo, Vf as Jo, Vi as Yo, Vl as Xo, Vn as Zo, Vo as Qo, Vr as $o, Vs as es, Vt as ts, Vu as ns, W as rs, Wa as is, Wc as as, Wd as os, Wf as ss, Wi as cs, Wl as ls, Wn as us, Wo as ds, Wr as fs, Ws as ps, Wt as ms, Wu as hs, X as gs, Xa as _s, Xc as vs, Xd as ys, Xf as bs, Xi as xs, Xl as Ss, Xn as Cs, Xo as ws, Xr as Ts, Xs as Es, Xt as Ds, Xu as Os, Y as ks, Ya as As, Yc as js, Yd as Ms, Yf as Ns, Yi as Ps, Yl as Fs, Yn as Is, Yo as Ls, Yr as Rs, Ys as zs, Yt as Bs, Yu as Vs, Z as Hs, Za as Us, Zc as Ws, Zd as Gs, Zf as Ks, Zi as qs, Zl as Js, Zn as Ys, Zo as Xs, Zr as Zs, Zs as Qs, Zt as $s, Zu as ec, _ as tc, _a as nc, _c as rc, _d as ic, _f as ac, _i as oc, _l as sc, _n as cc, _o as lc, _r as uc, _s as dc, _t as fc, _u as pc, a as mc, aa as hc, ac as gc, ad as _c, af as vc, ai as yc, al as bc, an as xc, ao as Sc, ar as Cc, as as wc, at as Tc, au as Ec, b as Dc, ba as Oc, bc as kc, bd as Ac, bf as jc, bi as Mc, bl as Nc, bn as Pc, bo as Fc, br as Ic, bs as Lc, bt as Rc, bu as Z, c as zc, ca as Bc, cc as Vc, cd as Hc, cf as Uc, ci as Wc, cl as Gc, cn as Kc, co as qc, cr as Jc, cs as Yc, ct as Xc, cu as Zc, d as Qc, da as $c, dc as el, dd as tl, df as nl, di as rl, dl as il, dn as al, do as ol, dr as sl, ds as cl, dt as ll, du as ul, ea as dl, ec as fl, ed as pl, ef as ml, ei as hl, el as gl, en as _l, eo as vl, er as yl, es as bl, et as xl, eu as Sl, f as Cl, fa as wl, fc as Tl, fd as El, ff as Dl, fi as Ol, fl as kl, fn as Al, fo as jl, fr as Ml, fs as Nl, ft as Pl, fu as Fl, g as Il, ga as Ll, gc as Rl, gd as zl, gf as Bl, gi as Vl, gl as Hl, gn as Ul, go as Wl, gr as Gl, gs as Kl, gt as ql, gu as Jl, h as Yl, ha as Xl, hc as Zl, hd as Ql, hf as $l, hi as eu, hl as tu, hn as nu, ho as ru, hr as iu, hs as au, ht as ou, hu as su, i as cu, ia as lu, ic as uu, id as du, if as fu, ii as pu, il as mu, in as hu, io as gu, ir as _u, is as vu, it as yu, iu as bu, j as xu, ja as Su, jc as Cu, jd as wu, jf as Tu, ji as Eu, jl as Du, jn as Ou, jo as ku, jr as Au, js as ju, jt as Mu, ju as Nu, k as Pu, ka as Fu, kc as Iu, kd as Lu, kf as Ru, ki as zu, kl as Bu, kn as Vu, ko as Hu, kr as Uu, ks as Wu, kt as Gu, ku as Ku, l as qu, la as Ju, lc as Yu, ld as Xu, lf as Zu, li as Qu, ll as $u, ln as ed, lo as td, lr as nd, ls as rd, lt as id, lu as ad, m as od, ma as sd, mc as cd, md as ld, mf as ud, mi as dd, ml as fd, mn as pd, mo as md, mr as hd, ms as gd, mt as _d, mu as vd, n as yd, na as bd, nc as xd, nd as Sd, nf as Cd, ni as wd, nl as Td, nn as Ed, no as Dd, nr as Od, ns as kd, nt as Ad, nu as jd, o as Md, oa as Nd, oc as Pd, od as Fd, of as Id, oi as Ld, ol as Rd, on as zd, oo as Bd, or as Vd, os as Hd, ot as Ud, ou as Wd, p as Gd, pa as Kd, pc as qd, pd as Jd, pf as Yd, pi as Xd, pl as Zd, pn as Qd, po as $d, pr as ef, ps as tf, pt as nf, pu as rf, q as af, qa as of, qc as sf, qd as cf, qf as lf, qi as uf, ql as df, qn as ff, qo as pf, qr as mf, qs as hf, qt as gf, qu as _f, r as vf, ra as yf, rc as bf, rd as xf, rf as Sf, ri as Cf, rl as wf, rn as Tf, ro as Ef, rr as Df, rs as Of, rt as kf, ru as Af, s as jf, sa as Mf, sc as Nf, sd as Pf, sf as Ff, si as If, sl as Lf, sn as Rf, so as zf, sr as Bf, ss as Vf, st as Hf, su as Uf, t as Wf, ta as Gf, tc as Kf, td as qf, tf as Jf, ti as Yf, tl as Xf, tn as Zf, to as Qf, tr as $f, ts as ep, tt as tp, tu as np, u as rp, ua as ip, uc as ap, ud as op, uf as sp, ui as cp, ul as lp, un as up, uo as dp, ur as fp, us as pp, ut as mp, uu as hp, v as gp, va as _p, vc as vp, vd as yp, vf as bp, vi as xp, vl as Sp, vn as Cp, vo as wp, vr as Tp, vs as Ep, vt as Dp, vu as Op, w as kp, wa as Ap, wc as jp, wd as Mp, wf as Np, wi as Pp, wl as Fp, wn as Ip, wo as Lp, wr as Rp, ws as zp, wt as Bp, wu as Vp, x as Hp, xa as Up, xc as Wp, xd as Gp, xf as Kp, xi as qp, xl as Jp, xn as Yp, xo as Xp, xr as Zp, xs as Qp, xt as $p, xu as em, y as tm, ya as nm, yc as rm, yd as im, yf as am, yi as om, yl as sm, yn as cm, yo as lm, yr as um, ys as dm, yt as fm, yu as pm, z as mm, za as hm, zc as gm, zd as _m, zf as vm, zi as ym, zl as bm, zn as xm, zo as Sm, zr as Cm, zs as wm, zt as Tm, zu as Em } from "./components-Ox6FHmpx.js";
6
6
  import { a as Dm, i as Om } from "./field-blur-context-Cft9s7Hg.js";
7
7
  import { i as km, n as Am, r as jm, t as Mm } from "./hover-card-C0fw2kLK.js";
8
8
  import { _ as Nm, a as Pm, c as Fm, d as Im, f as Lm, g as Rm, i as zm, l as Bm, o as Vm, p as Hm, r as Um, s as Wm, t as Gm, u as Km } from "./public-zVb_Nq_D.js";
@@ -1,6 +1,6 @@
1
+ import { FilterQueryModel } from './filter-query-model.js';
1
2
  import { FilterEditableFields } from './use-editable-fields.js';
2
3
  import { FilterLabelsModel } from './use-filter-labels.js';
3
- import { FilterQueryModel } from './use-filter-query.js';
4
4
  /** The bar's state and actions, autocomplete labels and editable fields included. */
5
5
  export type FilterQueryContextValue = FilterQueryModel & FilterLabelsModel & FilterEditableFields;
6
6
  export declare const FilterQueryProvider: import('react').Provider<FilterQueryContextValue | null>;
@@ -0,0 +1,49 @@
1
+ import { FilterApply, FilterCountsOption, FilterDefaults, FilterEvent, FilterFieldErrors, FilterFocusTarget, FilterMachineState, FilterModel, FilterPreviewCount, FilterQuery } from '@nxgt/material-core/filter';
2
+ import { ReactNode, RefObject } from 'react';
3
+ import { FilterDensity, FilterSearchApply } from './types.js';
4
+ import { FilterBarFields } from './use-filter-bar-fields.js';
5
+ /** What every part of the bar reads (`useFilterQueryContext`). */
6
+ export type FilterQueryModel = FilterBarFields & {
7
+ model: FilterModel;
8
+ machine: FilterMachineState;
9
+ /** The `default: 'page'` fields' values (the `defaults` prop). */
10
+ defaults?: FilterDefaults;
11
+ /** A server's refusal per field id (the `errors` prop). */
12
+ errors?: FilterFieldErrors;
13
+ /** The search box's refusal (the `searchError` prop). */
14
+ searchError?: ReactNode;
15
+ /** A refusal of no field (the `formError` prop). */
16
+ formError?: ReactNode;
17
+ /** Show the field errors' words under the bar (the `errorSummary` prop). */
18
+ errorSummary: boolean;
19
+ applied: FilterQuery;
20
+ editing: string | null;
21
+ /** An edit not carried yet: the count shown is the previous query's. */
22
+ pending: boolean;
23
+ /** The applied query is the one "Clear all" left. */
24
+ cleared: boolean;
25
+ /** The field "Add filter" just added, while the applied query is the one it left. */
26
+ added: string | null;
27
+ /** How many filters Done added, so each is told. */
28
+ addedCount: number;
29
+ loading: boolean;
30
+ resultCount?: number;
31
+ density: FilterDensity;
32
+ apply: FilterApply;
33
+ searchApply: FilterSearchApply;
34
+ searchMinLength: number;
35
+ previewCount?: FilterPreviewCount;
36
+ counts?: FilterCountsOption;
37
+ /** The element around the bar (a `div`): the focus contract finds the chips in it. */
38
+ rootRef: RefObject<HTMLDivElement | null>;
39
+ send: (event: FilterEvent) => void;
40
+ /** Applies `query` at once, without live apply's delay (the sheet's "Show N results"). */
41
+ applyNow: (query: FilterQuery) => void;
42
+ /** Makes the pending edit apply now rather than after `liveDelayMs` (a text field's Enter). */
43
+ applyPending: () => void;
44
+ /** Holds live apply while the phone sheet holds its history entry. */
45
+ suspendLive: (suspended: boolean) => void;
46
+ setEditing: (field: string | null) => void;
47
+ /** Focuses a target of the core's focus contract, once painted. */
48
+ focus: (target: FilterFocusTarget) => void;
49
+ };
@@ -95,6 +95,14 @@ export type FilterQueryProps = {
95
95
  * the page when the query changes.
96
96
  */
97
97
  formError?: ReactNode;
98
+ /**
99
+ * Show the field errors' words under the bar (default `true`): one error
100
+ * `Alert`, a line per refused field that names it ("Period: choose 366
101
+ * days or fewer."), after `formError` when both are set, so a refused,
102
+ * empty list says what went wrong. It is no live region; the bar's one
103
+ * tells the refusal once. `false` keeps the "Invalid" pills only.
104
+ */
105
+ errorSummary?: boolean;
98
106
  /** How long the live apply waits after an edit (ms, default 200). */
99
107
  liveDelayMs?: number;
100
108
  /**
@@ -1,10 +1,11 @@
1
1
  import { FilterQueryProps } from './types.js';
2
2
  /** The props the model only carries through, with their defaults. */
3
- export declare function viewOptions({ defaults, errors, searchError, formError, loading, resultCount, density, apply, searchApply, searchMinLength, previewCount, counts, }: FilterQueryProps): {
3
+ export declare function viewOptions({ defaults, errors, searchError, formError, errorSummary, loading, resultCount, density, apply, searchApply, searchMinLength, previewCount, counts, }: FilterQueryProps): {
4
4
  defaults: Readonly<Record<string, readonly string[]>> | undefined;
5
5
  errors: Readonly<Record<string, string>> | undefined;
6
6
  searchError: import('react').ReactNode;
7
7
  formError: import('react').ReactNode;
8
+ errorSummary: boolean;
8
9
  loading: boolean;
9
10
  resultCount: number | undefined;
10
11
  density: import('./types.js').FilterDensity;
@@ -18,6 +18,7 @@ export declare function useFilterQueryValue(props: FilterQueryProps): {
18
18
  errors?: import('@nxgt/material-core/filter').FilterFieldErrors;
19
19
  searchError?: import('react').ReactNode;
20
20
  formError?: import('react').ReactNode;
21
+ errorSummary: boolean;
21
22
  applied: import('@nxgt/material-core/filter').FilterQuery;
22
23
  editing: string | null;
23
24
  pending: boolean;
@@ -1,50 +1,6 @@
1
- import { FilterApply, FilterCountsOption, FilterDefaults, FilterEvent, FilterFieldErrors, FilterFocusTarget, FilterMachineState, FilterModel, FilterPreviewCount, FilterQuery } from '@nxgt/material-core/filter';
2
- import { ReactNode, RefObject } from 'react';
3
- import { FilterDensity, FilterQueryProps, FilterSearchApply } from './types.js';
4
- import { FilterBarFields } from './use-filter-bar-fields.js';
5
- /** What every part of the bar reads (`useFilterQueryContext`). */
6
- export type FilterQueryModel = FilterBarFields & {
7
- model: FilterModel;
8
- machine: FilterMachineState;
9
- /** The `default: 'page'` fields' values (the `defaults` prop). */
10
- defaults?: FilterDefaults;
11
- /** A server's refusal per field id (the `errors` prop). */
12
- errors?: FilterFieldErrors;
13
- /** The search box's refusal (the `searchError` prop). */
14
- searchError?: ReactNode;
15
- /** A refusal of no field (the `formError` prop). */
16
- formError?: ReactNode;
17
- applied: FilterQuery;
18
- editing: string | null;
19
- /** An edit not carried yet: the count shown is the previous query's. */
20
- pending: boolean;
21
- /** The applied query is the one "Clear all" left. */
22
- cleared: boolean;
23
- /** The field "Add filter" just added, while the applied query is the one it left. */
24
- added: string | null;
25
- /** How many filters Done added, so each is told. */
26
- addedCount: number;
27
- loading: boolean;
28
- resultCount?: number;
29
- density: FilterDensity;
30
- apply: FilterApply;
31
- searchApply: FilterSearchApply;
32
- searchMinLength: number;
33
- previewCount?: FilterPreviewCount;
34
- counts?: FilterCountsOption;
35
- /** The element around the bar (a `div`): the focus contract finds the chips in it. */
36
- rootRef: RefObject<HTMLDivElement | null>;
37
- send: (event: FilterEvent) => void;
38
- /** Applies `query` at once, without live apply's delay (the sheet's "Show N results"). */
39
- applyNow: (query: FilterQuery) => void;
40
- /** Makes the pending edit apply now rather than after `liveDelayMs` (a text field's Enter). */
41
- applyPending: () => void;
42
- /** Holds live apply while the phone sheet holds its history entry. */
43
- suspendLive: (suspended: boolean) => void;
44
- setEditing: (field: string | null) => void;
45
- /** Focuses a target of the core's focus contract, once painted. */
46
- focus: (target: FilterFocusTarget) => void;
47
- };
1
+ import { FilterQueryModel } from './filter-query-model.js';
2
+ import { FilterQueryProps } from './types.js';
3
+ export type { FilterQueryModel } from './filter-query-model.js';
48
4
  /**
49
5
  * The bar's store: the slice over the core machine, the controlled `query`
50
6
  * and `locked` mirrored into it (an equal one changes nothing), and live
@@ -1,8 +1,20 @@
1
1
  /**
2
- * A refusal that belongs to no field (the `formError` prop): one error Alert
3
- * in place, under the bar. It is no live region: the bar's one does the
4
- * telling, once (`FilterResultsStatus`). Nothing without a message.
2
+ * What the bar says in words under itself: one error Alert in place. First
3
+ * the refusal that belongs to no field (the `formError` prop), then a line
4
+ * per refused field that names it, "Period: choose 366 days or fewer." (the
5
+ * `errors` prop; `errorSummary={false}` leaves them to the pills; the facets
6
+ * panel passes a `fieldLines` predicate that keeps a line only for a field
7
+ * with no section on screen: a section shows its message inline, a field
8
+ * without one is a plain chip that reads "Invalid"; on a phone the sections
9
+ * sit in the closed sheet, so every field keeps its line).
10
+ * It is no live region: the bar's one does the telling, once (`FilterResultsStatus`).
11
+ * Nothing without a message.
5
12
  */
6
- export declare function FilterFormError({ className }: {
13
+ export declare function FilterFormError({ className, fieldLines, }: {
7
14
  className?: string;
15
+ /**
16
+ * `false`, or a predicate on the field id, where the field's own section
17
+ * already shows its message (the facets panel).
18
+ */
19
+ fieldLines?: boolean | ((id: string) => boolean);
8
20
  }): import("react").JSX.Element | null;
@@ -88,6 +88,11 @@ export type ServerTableFilter = {
88
88
  * once by the same live region. Cleared by the page when the query changes.
89
89
  */
90
90
  formError?: ReactNode;
91
+ /**
92
+ * Show the field errors' words under the bar (default `true`), after
93
+ * `formError`; `false` keeps the "Invalid" pills only.
94
+ */
95
+ errorSummary?: boolean;
91
96
  /**
92
97
  * How the page reads and writes the URL, to match the loader's
93
98
  * `parseFilterQuery` / `serializeFilterQuery` options exactly:
@@ -1,5 +1,16 @@
1
1
  import { Week } from './week.js';
2
- import { Wall } from './zoned.js';
2
+ /** A wall-clock moment: the weekday (`0` Sunday) and minutes since midnight. */
3
+ export type Wall = {
4
+ day: number;
5
+ minutes: number;
6
+ };
7
+ /**
8
+ * The weekday and time of day `now` has in `timeZone` (an IANA name), read
9
+ * with the shared `@nxgt/material-core/zone` helpers, or on the viewer's clock
10
+ * without one. A zone `Intl` does not know is read as `UTC`, as everywhere
11
+ * else in the library (DateField, ZonedTime), never as the viewer's clock.
12
+ */
13
+ export declare function wallClock(now: Date, timeZone?: string): Wall;
3
14
  /** Open now (until `closesAt`), or closed (and the next opening, if any). */
4
15
  export type Status = {
5
16
  open: true;
@@ -15,5 +26,5 @@ export type Status = {
15
26
  };
16
27
  /** Whether the place is open at `wall`, and what changes next. */
17
28
  export declare function statusAt(week: Week, wall: Wall): Status;
18
- /** `statusAt` for a moment `now` in `timeZone` (the viewer's without one). */
29
+ /** `statusAt` for a moment `now` in `timeZone` (the viewer's without one, `UTC` for an unknown one). */
19
30
  export declare function statusOf(week: Week, now: Date, timeZone?: string): Status;
@@ -8,7 +8,10 @@ export type OpeningHoursSummaryProps = {
8
8
  label?: string;
9
9
  /** The moment to read as now (tests, stories); the clock by default. */
10
10
  now?: Date;
11
- /** The IANA zone of the place ("America/Toronto"); the viewer's by default. */
11
+ /**
12
+ * The IANA zone of the place ("America/Toronto"); the viewer's by default.
13
+ * An unknown name is read as `UTC`, like `DateField`'s `timeZone`.
14
+ */
12
15
  timeZone?: string;
13
16
  /** The locale of day and time names; the `I18nProvider` language by default. */
14
17
  locale?: string;
@@ -26,7 +29,8 @@ export type OpeningHoursSummaryProps = {
26
29
  * open now ("Open · closes at 6:00 PM", "Closed · opens Monday at 9:00 AM"),
27
30
  * then the week with identical consecutive days grouped ("Mon–Fri
28
31
  * 9:00 AM – 6:00 PM") and today's group marked. Times are the locale's; the
29
- * status reads the clock in `timeZone`. Without `now` the status appears
30
- * once the page has mounted, so a server render and its hydration match.
32
+ * status reads the clock in `timeZone` (an unknown zone is read as `UTC`, with
33
+ * a warning in development). Without `now` the status appears once the page
34
+ * has mounted, so a server render and its hydration match.
31
35
  */
32
36
  export declare function OpeningHoursSummary({ data, label, now, timeZone, locale, weekStartsOn, className, empty, }: OpeningHoursSummaryProps): import("react").JSX.Element;
package/dist/main.js CHANGED
@@ -4,7 +4,7 @@ import { $ as re, $t as e, An as t, Ar as n, Br as r, Cr as i, Dr as a, Er as o,
4
4
  import { i as tt, n as nt, r as rt, s as it, t as at } from "./tooltip-CkttDIab.js";
5
5
  import { a as ot, c as st, f as ct, i as lt, l as ut, n as dt, o as ft, p as pt, r as mt, s as ht, t as gt, u as _t } from "./dialog-CCCcnTIx.js";
6
6
  import { a as vt, c as yt, d as bt, f as xt, i as St, l as Ct, n as wt, o as Tt, r as Et, s as Dt, t as Ot, u as kt } from "./dropdown-menu-Df8785nt.js";
7
- import { $ as At, $a as jt, $c as Mt, $d as Nt, $i as Pt, $l as Ft, $n as It, $o as Lt, $r as Rt, $s as zt, $t as Bt, $u as Vt, A as Ht, Aa as Ut, Ac as Wt, Ad as Gt, Af as Kt, Ai as qt, Al as Jt, An as Yt, Ao as Xt, Ar as Zt, As as Qt, At as $t, Au as en, B as tn, Ba as nn, Bc as rn, Bd as an, Bf as on, Bi as sn, Bl as cn, Bn as ln, Bo as un, Br as dn, Bs as fn, Bt as pn, Bu as mn, C as hn, Ca as gn, Cc as _n, Cd as vn, Cf as yn, Ci as bn, Cl as xn, Cn as Sn, Co as Cn, Cr as wn, Cs as Tn, Ct as En, Cu as Dn, D as On, Da as kn, Dc as An, Dd as jn, Df as Mn, Di as Nn, Dl as Pn, Dn as Fn, Do as In, Dr as Ln, Ds as Rn, Dt as zn, Du as Bn, E as Vn, Ea as Hn, Ec as Un, Ed as Wn, Ef as Gn, Ei as Kn, El as qn, En as Jn, Eo as Yn, Er as Xn, Es as Zn, Et as Qn, Eu as $n, F as er, Fa as tr, Fc as nr, Fd as rr, Ff as ir, Fi as ar, Fl as or, Fn as sr, Fo as cr, Fr as lr, Fs as ur, Ft as dr, Fu as fr, G as pr, Ga as mr, Gc as hr, Gd as gr, Gf as _r, Gi as vr, Gl as yr, Gn as br, Go as xr, Gr as Sr, Gs as Cr, Gt as wr, Gu as Tr, H as Er, Ha as Dr, Hc as Or, Hd as kr, Hf as Ar, Hi as jr, Hl as Mr, Hn as Nr, Ho as Pr, Hr as Fr, Hs as Ir, Ht as Lr, Hu as Rr, I as zr, Ia as Br, Ic as Vr, Id as Hr, If as Ur, Ii as Wr, Il as Gr, In as Kr, Io as qr, Ir as Jr, Is as Yr, It as Xr, Iu as Zr, J as Qr, Ja as $r, Jc as ei, Jd as ti, Jf as ni, Ji as ri, Jl as ii, Jn as ai, Jo as oi, Jr as si, Js as ci, Jt as li, Ju as ui, K as di, Ka as fi, Kc as pi, Kd as mi, Kf as hi, Ki as gi, Kl as _i, Kn as vi, Ko as yi, Kr as bi, Ks as xi, Kt as Si, Ku as Ci, L as wi, La as Ti, Lc as Ei, Ld as Di, Lf as Oi, Li as ki, Ll as Ai, Ln as ji, Lo as Mi, Lr as Ni, Ls as Pi, Lt as Fi, Lu as Ii, M as Li, Ma as Ri, Mc as zi, Md as Bi, Mf as Vi, Mi as Hi, Ml as Ui, Mn as Wi, Mo as Gi, Mr as Ki, Ms as qi, Mt as Ji, Mu as Yi, N as Xi, Na as Zi, Nc as Qi, Nd as $i, Nf as ea, Ni as ta, Nl as na, Nn as ra, No as ia, Nr as aa, Ns as oa, Nt as sa, Nu as ca, O as la, Oa as ua, Oc as da, Od as fa, Of as pa, Oi as ma, Ol as ha, On as ga, Oo as _a, Or as va, Os as ya, Ot as ba, Ou as xa, P as Sa, Pa as Ca, Pc as wa, Pd as Ta, Pf as Ea, Pi as Da, Pl as Oa, Pn as ka, Po as Aa, Pr as ja, Ps as Ma, Pt as Na, Pu as Pa, Q as Fa, Qa as Ia, Qc as La, Qd as Ra, Qf as za, Qi as Ba, Ql as Va, Qn as Ha, Qo as Ua, Qr as Wa, Qs as Ga, Qt as Ka, Qu as qa, R as Ja, Ra as Ya, Rc as Xa, Rd as Za, Rf as Qa, Ri as $a, Rl as eo, Rn as to, Ro as no, Rr as ro, Rs as io, Rt as ao, Ru as oo, S as so, Sa as co, Sc as lo, Sd as uo, Sf as fo, Si as po, Sl as mo, Sn as ho, So as go, Sr as _o, Ss as vo, St as yo, Su as bo, T as xo, Ta as So, Tc as Co, Td as wo, Tf as To, Ti as Eo, Tl as Do, Tn as Oo, To as ko, Tr as Ao, Ts as jo, Tt as Mo, Tu as No, U as Po, Ua as Fo, Uc as Io, Ud as Lo, Uf as Ro, Ui as zo, Ul as Bo, Un as Vo, Uo as Ho, Ur as Uo, Us as Wo, Ut as Go, Uu as Ko, V as qo, Va as Jo, Vc as Yo, Vd as Xo, Vf as Zo, Vi as Qo, Vl as $o, Vn as es, Vo as ts, Vr as ns, Vs as rs, Vt as is, Vu as as, W as os, Wa as ss, Wc as cs, Wd as ls, Wf as us, Wi as ds, Wl as fs, Wn as ps, Wo as ms, Wr as hs, Ws as gs, Wt as _s, Wu as vs, X as ys, Xa as bs, Xc as xs, Xd as Ss, Xf as Cs, Xi as ws, Xl as Ts, Xn as Es, Xo as Ds, Xr as Os, Xs as ks, Xt as As, Xu as js, Y as Ms, Ya as Ns, Yc as Ps, Yd as Fs, Yf as Is, Yi as Ls, Yl as Rs, Yn as zs, Yo as Bs, Yr as Vs, Ys as Hs, Yt as Us, Yu as Ws, Z as Gs, Za as Ks, Zc as qs, Zd as Js, Zf as Ys, Zi as Xs, Zl as Zs, Zn as Qs, Zo as $s, Zr as ec, Zs as tc, Zt as nc, Zu as rc, _ as ic, _a as ac, _c as oc, _d as sc, _f as cc, _i as lc, _l as uc, _n as dc, _o as fc, _r as pc, _s as mc, _t as hc, _u as gc, a as _c, aa as vc, ac as yc, ad as bc, af as xc, ai as Sc, al as Cc, an as wc, ao as Tc, ar as Ec, as as Dc, at as Oc, au as kc, b as Ac, ba as jc, bc as Mc, bd as Nc, bf as Pc, bi as Fc, bl as Ic, bn as Lc, bo as Rc, br as zc, bs as Bc, bt as Vc, bu as Hc, c as Uc, ca as Wc, cc as Gc, cd as Kc, cf as qc, ci as Jc, cl as Yc, cn as Xc, co as Zc, cr as Qc, cs as $c, ct as el, cu as tl, d as nl, da as rl, dc as il, dd as al, df as ol, di as sl, dl as cl, dn as ll, do as ul, dr as dl, ds as fl, dt as pl, du as ml, ea as hl, ec as gl, ed as _l, ef as vl, ei as yl, el as bl, en as xl, eo as Sl, er as Cl, es as wl, et as Tl, eu as El, f as Dl, fa as Ol, fc as kl, fd as Al, ff as jl, fi as Ml, fl as Nl, fn as Pl, fo as Fl, fr as Il, fs as Ll, ft as Rl, fu as zl, g as Bl, ga as Vl, gc as Hl, gd as Ul, gf as Wl, gi as Gl, gl as Kl, gn as ql, go as Jl, gr as Z, gs as Yl, gt as Xl, gu as Zl, h as Ql, ha as $l, hc as eu, hd as tu, hf as nu, hi as ru, hl as iu, hn as au, ho as ou, hr as su, hs as cu, ht as lu, hu as uu, i as du, ia as fu, ic as pu, id as mu, if as hu, ii as gu, il as _u, in as vu, io as yu, ir as bu, is as xu, it as Su, iu as Cu, j as wu, ja as Tu, jc as Eu, jd as Du, jf as Ou, ji as ku, jl as Au, jn as ju, jo as Mu, jr as Nu, js as Pu, jt as Fu, ju as Iu, k as Lu, ka as Ru, kc as zu, kd as Bu, kf as Vu, ki as Hu, kl as Uu, kn as Wu, ko as Gu, kr as Ku, ks as qu, kt as Ju, ku as Yu, l as Xu, la as Zu, lc as Qu, ld as $u, lf as ed, li as td, ll as nd, ln as rd, lo as id, lr as ad, ls as od, lt as sd, lu as cd, m as ld, ma as ud, mc as dd, md as fd, mf as pd, mi as md, ml as hd, mn as gd, mo as _d, mr as vd, ms as yd, mt as bd, mu as xd, n as Sd, na as Cd, nc as wd, nd as Td, nf as Ed, ni as Dd, nl as Od, nn as kd, no as Ad, nr as jd, ns as Md, nt as Nd, nu as Pd, o as Fd, oa as Id, oc as Ld, od as Rd, of as zd, oi as Bd, ol as Vd, on as Hd, oo as Ud, or as Wd, os as Gd, ot as Kd, ou as qd, p as Jd, pa as Yd, pc as Xd, pd as Zd, pf as Qd, pi as $d, pl as ef, pn as tf, po as nf, pr as rf, ps as af, pt as of, pu as sf, q as cf, qa as lf, qc as uf, qd as df, qf as ff, qi as pf, ql as mf, qn as hf, qo as gf, qr as _f, qs as vf, qt as yf, qu as bf, r as xf, ra as Sf, rc as Cf, rd as wf, rf as Tf, ri as Ef, rl as Df, rn as Of, ro as kf, rr as Af, rs as jf, rt as Mf, ru as Nf, s as Pf, sa as Ff, sc as If, sd as Lf, sf as Rf, si as zf, sl as Bf, sn as Vf, so as Hf, sr as Uf, ss as Wf, st as Gf, su as Kf, t as qf, ta as Jf, tc as Yf, td as Xf, tf as Zf, ti as Qf, tl as $f, tn as ep, to as tp, tr as np, ts as rp, tt as ip, tu as ap, u as op, ua as sp, uc as cp, ud as lp, uf as up, ui as dp, ul as fp, un as pp, uo as mp, ur as hp, us as gp, ut as _p, uu as vp, v as yp, va as bp, vc as xp, vd as Sp, vf as Cp, vi as wp, vl as Tp, vn as Ep, vo as Dp, vr as Op, vs as kp, vt as Ap, vu as jp, w as Mp, wa as Np, wc as Pp, wd as Fp, wf as Ip, wi as Lp, wl as Rp, wn as zp, wo as Bp, wr as Vp, ws as Hp, wt as Up, wu as Wp, x as Gp, xa as Kp, xc as qp, xd as Jp, xf as Yp, xi as Xp, xl as Zp, xn as Qp, xo as $p, xr as em, xs as tm, xt as nm, xu as rm, y as im, ya as am, yc as om, yd as sm, yf as cm, yi as lm, yl as um, yn as dm, yo as fm, yr as pm, ys as mm, yt as hm, yu as gm, z as _m, za as vm, zc as ym, zd as bm, zf as xm, zi as Sm, zl as Cm, zn as wm, zo as Tm, zr as Em, zs as Dm, zt as Om, zu as km } from "./components-DFPy96C3.js";
7
+ import { $ as At, $a as jt, $c as Mt, $d as Nt, $i as Pt, $l as Ft, $n as It, $o as Lt, $r as Rt, $s as zt, $t as Bt, $u as Vt, A as Ht, Aa as Ut, Ac as Wt, Ad as Gt, Af as Kt, Ai as qt, Al as Jt, An as Yt, Ao as Xt, Ar as Zt, As as Qt, At as $t, Au as en, B as tn, Ba as nn, Bc as rn, Bd as an, Bf as on, Bi as sn, Bl as cn, Bn as ln, Bo as un, Br as dn, Bs as fn, Bt as pn, Bu as mn, C as hn, Ca as gn, Cc as _n, Cd as vn, Cf as yn, Ci as bn, Cl as xn, Cn as Sn, Co as Cn, Cr as wn, Cs as Tn, Ct as En, Cu as Dn, D as On, Da as kn, Dc as An, Dd as jn, Df as Mn, Di as Nn, Dl as Pn, Dn as Fn, Do as In, Dr as Ln, Ds as Rn, Dt as zn, Du as Bn, E as Vn, Ea as Hn, Ec as Un, Ed as Wn, Ef as Gn, Ei as Kn, El as qn, En as Jn, Eo as Yn, Er as Xn, Es as Zn, Et as Qn, Eu as $n, F as er, Fa as tr, Fc as nr, Fd as rr, Ff as ir, Fi as ar, Fl as or, Fn as sr, Fo as cr, Fr as lr, Fs as ur, Ft as dr, Fu as fr, G as pr, Ga as mr, Gc as hr, Gd as gr, Gf as _r, Gi as vr, Gl as yr, Gn as br, Go as xr, Gr as Sr, Gs as Cr, Gt as wr, Gu as Tr, H as Er, Ha as Dr, Hc as Or, Hd as kr, Hf as Ar, Hi as jr, Hl as Mr, Hn as Nr, Ho as Pr, Hr as Fr, Hs as Ir, Ht as Lr, Hu as Rr, I as zr, Ia as Br, Ic as Vr, Id as Hr, If as Ur, Ii as Wr, Il as Gr, In as Kr, Io as qr, Ir as Jr, Is as Yr, It as Xr, Iu as Zr, J as Qr, Ja as $r, Jc as ei, Jd as ti, Jf as ni, Ji as ri, Jl as ii, Jn as ai, Jo as oi, Jr as si, Js as ci, Jt as li, Ju as ui, K as di, Ka as fi, Kc as pi, Kd as mi, Kf as hi, Ki as gi, Kl as _i, Kn as vi, Ko as yi, Kr as bi, Ks as xi, Kt as Si, Ku as Ci, L as wi, La as Ti, Lc as Ei, Ld as Di, Lf as Oi, Li as ki, Ll as Ai, Ln as ji, Lo as Mi, Lr as Ni, Ls as Pi, Lt as Fi, Lu as Ii, M as Li, Ma as Ri, Mc as zi, Md as Bi, Mf as Vi, Mi as Hi, Ml as Ui, Mn as Wi, Mo as Gi, Mr as Ki, Ms as qi, Mt as Ji, Mu as Yi, N as Xi, Na as Zi, Nc as Qi, Nd as $i, Nf as ea, Ni as ta, Nl as na, Nn as ra, No as ia, Nr as aa, Ns as oa, Nt as sa, Nu as ca, O as la, Oa as ua, Oc as da, Od as fa, Of as pa, Oi as ma, Ol as ha, On as ga, Oo as _a, Or as va, Os as ya, Ot as ba, Ou as xa, P as Sa, Pa as Ca, Pc as wa, Pd as Ta, Pf as Ea, Pi as Da, Pl as Oa, Pn as ka, Po as Aa, Pr as ja, Ps as Ma, Pt as Na, Pu as Pa, Q as Fa, Qa as Ia, Qc as La, Qd as Ra, Qf as za, Qi as Ba, Ql as Va, Qn as Ha, Qo as Ua, Qr as Wa, Qs as Ga, Qt as Ka, Qu as qa, R as Ja, Ra as Ya, Rc as Xa, Rd as Za, Rf as Qa, Ri as $a, Rl as eo, Rn as to, Ro as no, Rr as ro, Rs as io, Rt as ao, Ru as oo, S as so, Sa as co, Sc as lo, Sd as uo, Sf as fo, Si as po, Sl as mo, Sn as ho, So as go, Sr as _o, Ss as vo, St as yo, Su as bo, T as xo, Ta as So, Tc as Co, Td as wo, Tf as To, Ti as Eo, Tl as Do, Tn as Oo, To as ko, Tr as Ao, Ts as jo, Tt as Mo, Tu as No, U as Po, Ua as Fo, Uc as Io, Ud as Lo, Uf as Ro, Ui as zo, Ul as Bo, Un as Vo, Uo as Ho, Ur as Uo, Us as Wo, Ut as Go, Uu as Ko, V as qo, Va as Jo, Vc as Yo, Vd as Xo, Vf as Zo, Vi as Qo, Vl as $o, Vn as es, Vo as ts, Vr as ns, Vs as rs, Vt as is, Vu as as, W as os, Wa as ss, Wc as cs, Wd as ls, Wf as us, Wi as ds, Wl as fs, Wn as ps, Wo as ms, Wr as hs, Ws as gs, Wt as _s, Wu as vs, X as ys, Xa as bs, Xc as xs, Xd as Ss, Xf as Cs, Xi as ws, Xl as Ts, Xn as Es, Xo as Ds, Xr as Os, Xs as ks, Xt as As, Xu as js, Y as Ms, Ya as Ns, Yc as Ps, Yd as Fs, Yf as Is, Yi as Ls, Yl as Rs, Yn as zs, Yo as Bs, Yr as Vs, Ys as Hs, Yt as Us, Yu as Ws, Z as Gs, Za as Ks, Zc as qs, Zd as Js, Zf as Ys, Zi as Xs, Zl as Zs, Zn as Qs, Zo as $s, Zr as ec, Zs as tc, Zt as nc, Zu as rc, _ as ic, _a as ac, _c as oc, _d as sc, _f as cc, _i as lc, _l as uc, _n as dc, _o as fc, _r as pc, _s as mc, _t as hc, _u as gc, a as _c, aa as vc, ac as yc, ad as bc, af as xc, ai as Sc, al as Cc, an as wc, ao as Tc, ar as Ec, as as Dc, at as Oc, au as kc, b as Ac, ba as jc, bc as Mc, bd as Nc, bf as Pc, bi as Fc, bl as Ic, bn as Lc, bo as Rc, br as zc, bs as Bc, bt as Vc, bu as Hc, c as Uc, ca as Wc, cc as Gc, cd as Kc, cf as qc, ci as Jc, cl as Yc, cn as Xc, co as Zc, cr as Qc, cs as $c, ct as el, cu as tl, d as nl, da as rl, dc as il, dd as al, df as ol, di as sl, dl as cl, dn as ll, do as ul, dr as dl, ds as fl, dt as pl, du as ml, ea as hl, ec as gl, ed as _l, ef as vl, ei as yl, el as bl, en as xl, eo as Sl, er as Cl, es as wl, et as Tl, eu as El, f as Dl, fa as Ol, fc as kl, fd as Al, ff as jl, fi as Ml, fl as Nl, fn as Pl, fo as Fl, fr as Il, fs as Ll, ft as Rl, fu as zl, g as Bl, ga as Vl, gc as Hl, gd as Ul, gf as Wl, gi as Gl, gl as Kl, gn as ql, go as Jl, gr as Z, gs as Yl, gt as Xl, gu as Zl, h as Ql, ha as $l, hc as eu, hd as tu, hf as nu, hi as ru, hl as iu, hn as au, ho as ou, hr as su, hs as cu, ht as lu, hu as uu, i as du, ia as fu, ic as pu, id as mu, if as hu, ii as gu, il as _u, in as vu, io as yu, ir as bu, is as xu, it as Su, iu as Cu, j as wu, ja as Tu, jc as Eu, jd as Du, jf as Ou, ji as ku, jl as Au, jn as ju, jo as Mu, jr as Nu, js as Pu, jt as Fu, ju as Iu, k as Lu, ka as Ru, kc as zu, kd as Bu, kf as Vu, ki as Hu, kl as Uu, kn as Wu, ko as Gu, kr as Ku, ks as qu, kt as Ju, ku as Yu, l as Xu, la as Zu, lc as Qu, ld as $u, lf as ed, li as td, ll as nd, ln as rd, lo as id, lr as ad, ls as od, lt as sd, lu as cd, m as ld, ma as ud, mc as dd, md as fd, mf as pd, mi as md, ml as hd, mn as gd, mo as _d, mr as vd, ms as yd, mt as bd, mu as xd, n as Sd, na as Cd, nc as wd, nd as Td, nf as Ed, ni as Dd, nl as Od, nn as kd, no as Ad, nr as jd, ns as Md, nt as Nd, nu as Pd, o as Fd, oa as Id, oc as Ld, od as Rd, of as zd, oi as Bd, ol as Vd, on as Hd, oo as Ud, or as Wd, os as Gd, ot as Kd, ou as qd, p as Jd, pa as Yd, pc as Xd, pd as Zd, pf as Qd, pi as $d, pl as ef, pn as tf, po as nf, pr as rf, ps as af, pt as of, pu as sf, q as cf, qa as lf, qc as uf, qd as df, qf as ff, qi as pf, ql as mf, qn as hf, qo as gf, qr as _f, qs as vf, qt as yf, qu as bf, r as xf, ra as Sf, rc as Cf, rd as wf, rf as Tf, ri as Ef, rl as Df, rn as Of, ro as kf, rr as Af, rs as jf, rt as Mf, ru as Nf, s as Pf, sa as Ff, sc as If, sd as Lf, sf as Rf, si as zf, sl as Bf, sn as Vf, so as Hf, sr as Uf, ss as Wf, st as Gf, su as Kf, t as qf, ta as Jf, tc as Yf, td as Xf, tf as Zf, ti as Qf, tl as $f, tn as ep, to as tp, tr as np, ts as rp, tt as ip, tu as ap, u as op, ua as sp, uc as cp, ud as lp, uf as up, ui as dp, ul as fp, un as pp, uo as mp, ur as hp, us as gp, ut as _p, uu as vp, v as yp, va as bp, vc as xp, vd as Sp, vf as Cp, vi as wp, vl as Tp, vn as Ep, vo as Dp, vr as Op, vs as kp, vt as Ap, vu as jp, w as Mp, wa as Np, wc as Pp, wd as Fp, wf as Ip, wi as Lp, wl as Rp, wn as zp, wo as Bp, wr as Vp, ws as Hp, wt as Up, wu as Wp, x as Gp, xa as Kp, xc as qp, xd as Jp, xf as Yp, xi as Xp, xl as Zp, xn as Qp, xo as $p, xr as em, xs as tm, xt as nm, xu as rm, y as im, ya as am, yc as om, yd as sm, yf as cm, yi as lm, yl as um, yn as dm, yo as fm, yr as pm, ys as mm, yt as hm, yu as gm, z as _m, za as vm, zc as ym, zd as bm, zf as xm, zi as Sm, zl as Cm, zn as wm, zo as Tm, zr as Em, zs as Dm, zt as Om, zu as km } from "./components-Ox6FHmpx.js";
8
8
  import { a as Am, i as jm } from "./field-blur-context-Cft9s7Hg.js";
9
9
  import { i as Mm, n as Nm, r as Pm, t as Fm } from "./hover-card-C0fw2kLK.js";
10
10
  import { _ as Im, a as Lm, c as Rm, d as zm, f as Bm, g as Vm, i as Hm, l as Um, o as Wm, p as Gm, r as Km, s as qm, t as Jm, u as Ym } from "./public-zVb_Nq_D.js";
@@ -1890,6 +1890,32 @@ one. The page clears it when the condition changes, by passing no error. The
1890
1890
  words are `material.filter.error.*`; `fieldErrors(errors, model, locked)` in
1891
1891
  the core lists what the bar shows.
1892
1892
 
1893
+ #### The refused fields' words under the bar
1894
+
1895
+ The pill only reads "Invalid", so when a refused query leaves the list empty
1896
+ the page would show a red pill and nothing that says what to fix (WCAG 3.3.1,
1897
+ 3.3.3). By default the bar also says the words, in the place `formError` uses:
1898
+ one error `Alert` under the bar with a line per refused field that names it,
1899
+ "Period: choose 366 days or fewer." `formError` comes first when both are
1900
+ set. It is one Alert, not one per field, and it is no live region: the bar's
1901
+ one tells the refusal once, as before. The lines are plain text.
1902
+
1903
+ ```tsx
1904
+ <FilterBar model={model} params={params} onParamsChange={setParams}
1905
+ errors={{ period: 'Choose 366 days or fewer.' }} /> // pill + the line under the bar
1906
+ <FilterBar ... errors={...} errorSummary={false} /> // the pills only, as before this release
1907
+ ```
1908
+
1909
+ In the facets panel each refused facet already shows its message in its
1910
+ section, so there the Alert holds `formError` and the lines of the refused
1911
+ fields that have no section (a plain chip would read "Invalid" alone), never
1912
+ a field line twice; the bar and the facets on a phone (whose sections sit in
1913
+ the sheet) keep the full summary.
1914
+
1915
+ `errorSummary` (default `true`) is on `Filter`, `FilterBar` and
1916
+ `ServerTable`'s `filter`: `<ServerTable filter={{ model, errors, errorSummary: false }} />`
1917
+ keeps the pills only.
1918
+
1893
1919
  #### A refused search, and a refusal of no field
1894
1920
 
1895
1921
  `errors` is keyed by field id, so it cannot name the search box nor carry a
@@ -1913,7 +1939,8 @@ refusal that belongs to no field. Two more props, on the same three surfaces
1913
1939
  - **`formError`** (a node) is a refusal that belongs to no field: one error
1914
1940
  `Alert` under the bar, in place (under the bar's row in `FilterBar`, between
1915
1941
  the band and the chips in `ServerTable`, under the search in the facets
1916
- panel). It is no live region of its own.
1942
+ panel). It is no live region of its own. The refused fields' lines join it
1943
+ (`errorSummary`, above).
1917
1944
 
1918
1945
  Both are told by the bar's one polite live region, the same refusal path as a
1919
1946
  field's, once and after the count: "Search: Not a valid item." and the
@@ -1830,7 +1830,7 @@ summary shows a quiet "Hours not set" (`empty` replaces the text,
1830
1830
  | --- | --- | --- | --- |
1831
1831
  | `data` | `OpeningHour[] \| null` | `[]` | the hours |
1832
1832
  | `now` | `Date` | the clock | the moment read as now |
1833
- | `timeZone` | `string` | the viewer's | the IANA zone of the place, resolved with `Intl.DateTimeFormat` |
1833
+ | `timeZone` | `string` | the viewer's | the IANA zone of the place, read with the shared `@nxgt/material-core/zone` helpers. A name `Intl` does not know is read as `UTC`, like `DateField`'s `timeZone`, never as the viewer's clock (so the status agrees with the date fields for the same string) |
1834
1834
  | `locale` | `string` | the `I18nProvider` language, else `en` | day and time names |
1835
1835
  | `weekStartsOn` | `0`-`6` | the locale's | first day of the week |
1836
1836
  | `label` | `string` | "Opening Hours" | names the region |
package/docs/roadmap.md CHANGED
@@ -330,6 +330,16 @@ version they shipped in, and planned entries may name the major they target.
330
330
 
331
331
  ## Shipped
332
332
 
333
+ - **A refused field says why** (3.48.0) — the filter bar shows the words of a
334
+ refused field under it, in one error `Alert`: "Period: choose 366 days or
335
+ fewer.", after `formError`, so a refused, empty list no longer shows a red
336
+ "Invalid" pill and no reason. `errorSummary` (on by default) is on `Filter`,
337
+ `FilterBar` and `ServerTable`'s `filter`; `false` keeps the pills only. The
338
+ facets panel keeps each message inline and adds a line only for a field with
339
+ no section. React only for now; the Vue twin is a `vue` issue.
340
+ [Filter errors](components/data-table-filter-and-lists.md#filter-bar) ·
341
+ [Troubleshooting](troubleshooting.md)
342
+
333
343
  - **Stepper and Timeline, expressive** — both have a new look by default, with
334
344
  the same props. `Stepper` shows the current step as a cookie, a completed one
335
345
  as a circle with a check and a failed one in the error container, joined by
@@ -138,6 +138,7 @@ words in your error.
138
138
  - [`errors` shows nothing on the filter bar](#errors-shows-nothing-on-the-filter-bar)
139
139
  - [`@nxgt/material-core/filter: unknown time zone "…", using the runtime's`](#nxgtmaterial-corefilter-unknown-time-zone--using-the-runtimes)
140
140
  - [`` [@nxgt/material] EventCalendar: unknown timeZone "Mars/Olympus", reading UTC instead. ``](#nxgtmaterial-eventcalendar-unknown-timezone-marsolympus-reading-utc-instead)
141
+ - [`` [@nxgt/material] OpeningHoursSummary: unknown timeZone "Mars/Olympus", reading UTC instead. ``](#nxgtmaterial-openinghourssummary-unknown-timezone-marsolympus-reading-utc-instead)
141
142
  - [``Filter: the autocomplete field(s) … have neither `options` nor a `search` in `fieldProps`: their editor has nothing to offer.``](#filter-the-autocomplete-fields--have-neither-options-nor-a-search-in-fieldprops-their-editor-has-nothing-to-offer)
142
143
  - [`Filter bar parts must be used inside <Filter variant="bar">`](#filter-bar-parts-must-be-used-inside-filter-variantbar)
143
144
  - [A date preset's count differs between the server and the page](#a-date-presets-count-differs-between-the-server-and-the-page)
@@ -2540,6 +2541,16 @@ the field out of `locked`. `fieldErrors(errors, model, locked)` from
2540
2541
  <ServerTable filter={{ model, locked, errors: { period: 'The period cannot exceed 366 days.' } }} {...table} />
2541
2542
  ```
2542
2543
 
2544
+ ### A field error reads "Invalid" on the pill and nothing else shows
2545
+
2546
+ **When:** with 3.47 or earlier or `errorSummary={false}`, a refused,
2547
+ empty list shows a red "Invalid" pill and no visible reason.
2548
+ **Why:** the message sits in the pill's description and its editor; the words
2549
+ under the bar came with `errorSummary`, on by default.
2550
+ **Fix:** upgrade to 3.48.0 or later, and leave `errorSummary` unset (or `true`): the bar shows
2551
+ "Period: choose 366 days or fewer." in the Alert under it, after `formError`.
2552
+ `errorSummary={false}` brings back the pills only.
2553
+
2543
2554
  ### A refused search or a refusal of no field shows nothing
2544
2555
 
2545
2556
  **When:** the server refuses the typed search, or refuses with a message that
@@ -2591,6 +2602,19 @@ hours are then off by the zone's offset.
2591
2602
  <EventCalendar view="day" timeZone="Europe/Paris" events={events} />
2592
2603
  ```
2593
2604
 
2605
+ ### `` [@nxgt/material] OpeningHoursSummary: unknown timeZone "Mars/Olympus", reading UTC instead. ``
2606
+
2607
+ **When:** in development, once per name, when `OpeningHoursSummary`'s `timeZone`
2608
+ is not an IANA name `Intl` knows (`'Paris'`, `'UTC+2'`, a typo).
2609
+ **Why:** the open-now status reads `UTC` instead, as `DateField` and
2610
+ `@nxgt/material-core/zone` do (it no longer falls back to the viewer's clock),
2611
+ so the status is off by the zone's offset.
2612
+ **Fix:** pass an IANA name (`'America/Toronto'`):
2613
+
2614
+ ```tsx
2615
+ <OpeningHoursSummary data={hours} timeZone="America/Toronto" />
2616
+ ```
2617
+
2594
2618
  ### ``Filter: the autocomplete field(s) … have neither `options` nor a `search` in `fieldProps`: their editor has nothing to offer.``
2595
2619
 
2596
2620
  **When:** in the console in development, when `Filter variant="bar"` or
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nxgt/material",
3
- "version": "3.47.0",
3
+ "version": "3.48.0",
4
4
  "license": "MIT",
5
5
  "bugs": {
6
6
  "email": "stevegires@gmail.com"
@@ -1,10 +0,0 @@
1
- /** A wall-clock moment: the weekday (`0` Sunday) and minutes since midnight. */
2
- export type Wall = {
3
- day: number;
4
- minutes: number;
5
- };
6
- /**
7
- * The weekday and time of day `now` has in `timeZone` (an IANA name), or on
8
- * the viewer's clock without one. An unknown zone falls back to the viewer's.
9
- */
10
- export declare function wallClock(now: Date, timeZone?: string): Wall;