@nxgt/material 3.98.0 → 3.99.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.
Files changed (79) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +2 -2
  3. package/dist/{alert-dialog-VyVfYwzv.js → alert-dialog-DYzxchiS.js} +1 -1
  4. package/dist/{async-slice-jR8f-SJC.js → async-slice-drJyPvuM.js} +1 -1
  5. package/dist/{button-ClrQMe_S.js → button-GeIsUekU.js} +1 -1
  6. package/dist/{calculator-kdSjeRhf.js → calculator-BS4PAm6l.js} +10 -10
  7. package/dist/calculator-field.js +6 -6
  8. package/dist/{calculator-segment-OI0rHAjA.js → calculator-segment-CEdwE24M.js} +1 -1
  9. package/dist/calculator.js +1 -1
  10. package/dist/charts.js +3 -3
  11. package/dist/{chip-DzKhmUzo.js → chip-BdEtFQ85.js} +2 -2
  12. package/dist/{code-editor-DV0TiySE.js → code-editor-BByXZOGy.js} +4 -4
  13. package/dist/code-editor.js +4 -4
  14. package/dist/{code-language-items-6o5SAVbP.js → code-language-items-CSZX5zxD.js} +2 -2
  15. package/dist/{components-3rMGln0P.js → components-DPmZnTlW.js} +13676 -13604
  16. package/dist/components.js +37 -37
  17. package/dist/{conversion-variant-QaaNYhTr.js → conversion-variant-DTQqAyDt.js} +4 -4
  18. package/dist/{currency-field-5Zg_sjY1.js → currency-field-Dnju7ss2.js} +4 -4
  19. package/dist/{dialog-Bti9bn6a.js → dialog-5_2__tu8.js} +3 -3
  20. package/dist/dnd.js +1 -1
  21. package/dist/{dropdown-menu-B21gOpBE.js → dropdown-menu-FdGC5kIP.js} +1 -1
  22. package/dist/editor.js +8 -8
  23. package/dist/{empty-state-Dw-X-0aA.js → empty-state-BoepPG5v.js} +1 -1
  24. package/dist/{financial-variant-DR7pCGqi.js → financial-variant-BhqJp5C-.js} +5 -5
  25. package/dist/{hooks-ppNryrR_.js → hooks-C8MhL6hs.js} +2 -2
  26. package/dist/hooks.js +2 -2
  27. package/dist/{hover-card-tmyRjh2p.js → hover-card-CmHJeBeY.js} +1 -1
  28. package/dist/i18n.js +3 -3
  29. package/dist/{icon-badge-DW6-PxOt.js → icon-badge-LGUPQh_c.js} +1 -1
  30. package/dist/{icon-button-DKpk5gLZ.js → icon-button-BSVpO1jP.js} +1 -1
  31. package/dist/lib/components/ui/collections/filter/bar/partials/filter-inline-scope-chips.d.ts +11 -0
  32. package/dist/lib/components/ui/collections/filter/bar/partials/filter-scope-list.d.ts +1 -0
  33. package/dist/lib/components/ui/collections/filter/bar/partials/use-quick-condition.d.ts +1 -0
  34. package/dist/lib/components/ui/collections/server-table/index.d.ts +2 -1
  35. package/dist/lib/components/ui/collections/server-table/use-archived-status-field.d.ts +15 -0
  36. package/dist/lib/components/ui/display/change-history/change-history.d.ts +2 -1
  37. package/dist/lib/components/ui/display/change-history/change-history.utils.d.ts +5 -0
  38. package/dist/lib/components/ui/display/change-history/types.d.ts +6 -2
  39. package/dist/lib/components/ui/fields/contacts/placeholders.d.ts +1 -1
  40. package/dist/lib/components/ui/widgets/event-calendar/partials/calendar-toolbar.d.ts +2 -1
  41. package/dist/lib/i18n/resources/en/en.d.ts +7 -0
  42. package/dist/lib/i18n/resources/en/material.json.d.ts +7 -0
  43. package/dist/lib/i18n/resources/fr/fr.d.ts +7 -0
  44. package/dist/lib/i18n/resources/fr/material.json.d.ts +7 -0
  45. package/dist/lib/i18n/resources/resources.d.ts +14 -0
  46. package/dist/lib/i18n/translator.d.ts +1 -1
  47. package/dist/lib.js +1 -1
  48. package/dist/main.js +53 -53
  49. package/dist/map.js +8 -8
  50. package/dist/material.css +1 -1
  51. package/dist/pdf-reader.js +1 -1
  52. package/dist/{percent-field-D1Y4HUPt.js → percent-field-DGlU_xii.js} +2 -2
  53. package/dist/{picker-surface-Bc7jhjjV.js → picker-surface-CGhqNR8a.js} +4 -4
  54. package/dist/{popover-C2AG-fER.js → popover-ZxL7ktKk.js} +1 -1
  55. package/dist/{pos-types-BXMMXwbI.js → pos-types-BQ0QpYMp.js} +1 -1
  56. package/dist/{pos-variant-DCf4-Val.js → pos-variant-CKy8h_5i.js} +4 -4
  57. package/dist/print.js +1 -1
  58. package/dist/{programmer-variant-BnvZqPJs.js → programmer-variant-CbHstE28.js} +2 -2
  59. package/dist/{public-BuRnxJOK.js → public-D-tdOz4b.js} +9 -9
  60. package/dist/{rich-code-block-C30r7TeB.js → rich-code-block-CTPj1LuD.js} +5 -5
  61. package/dist/{scientific-variant-Z1vVCSJv.js → scientific-variant-B8U9h3II.js} +2 -2
  62. package/dist/{sortable-provider-DZzc_tN2.js → sortable-provider-CSoWE7Ce.js} +2 -2
  63. package/dist/{spinner-BiGzIQFB.js → spinner-ffuwBXHl.js} +1 -1
  64. package/dist/{tabs-CzBz8Doo.js → tabs-JgRq6ZJx.js} +1 -1
  65. package/dist/{text-field-bla3PUdk.js → text-field-DURkIP-v.js} +1 -1
  66. package/dist/theme-picker.js +2 -2
  67. package/dist/{theme-toggle-B7rO23w0.js → theme-toggle-n_Zg7JAA.js} +1 -1
  68. package/dist/{toolbar-items-CBv3l8sn.js → toolbar-items-IANZdcw4.js} +4 -4
  69. package/dist/{translate-material-9bYZA_nV.js → translate-material-CMHUH5Ha.js} +1 -1
  70. package/dist/{translator-B5RR8VyT.js → translator-9zA-Um3W.js} +14 -0
  71. package/dist/{use-chat-composer-4cs6opDX.js → use-chat-composer-BoIN7RCA.js} +16 -16
  72. package/dist/{use-heading-spy-De3zZEMX.js → use-heading-spy-8o20PEZH.js} +4 -4
  73. package/dist/{use-material-translation-DM4nCI16.js → use-material-translation-CLNaMhUf.js} +1 -1
  74. package/dist/{use-return-focus-CbTPRBcn.js → use-return-focus-DWhbTGVe.js} +1 -1
  75. package/docs/components/data-display.md +7 -4
  76. package/docs/components/data-table-filter-and-lists.md +38 -2
  77. package/docs/guides/server-lists-url.md +8 -0
  78. package/docs/roadmap.md +5 -0
  79. package/package.json +2 -2
@@ -1,3 +1,3 @@
1
- import { t as e } from "./public-BuRnxJOK.js";
1
+ import { t as e } from "./public-D-tdOz4b.js";
2
2
  import { configurePdfReader as t } from "@nxgt/material-core/pdf-reader";
3
3
  export { e as PdfReader, t as configurePdfReader };
@@ -1,7 +1,7 @@
1
1
  import { t as e } from "./utils-BLfntITJ.js";
2
2
  import { a as t, i as n, n as r } from "./field-blur-context-BLGgf_3z.js";
3
- import { t as i } from "./use-material-translation-DM4nCI16.js";
4
- import { a, r as o } from "./currency-field-5Zg_sjY1.js";
3
+ import { t as i } from "./use-material-translation-CLNaMhUf.js";
4
+ import { a, r as o } from "./currency-field-Dnju7ss2.js";
5
5
  import { useId as s } from "react";
6
6
  import { jsx as c, jsxs as l } from "react/jsx-runtime";
7
7
  import { LockIcon as u } from "lucide-react";
@@ -1,9 +1,9 @@
1
1
  import { t as e } from "./utils-BLfntITJ.js";
2
2
  import { r as t, t as n } from "./in-dialog-D61Yeaol.js";
3
- import { a as r, c as i, i as a, l as o, n as s, o as c, r as l, s as u, t as d, u as f } from "./use-return-focus-CbTPRBcn.js";
4
- import { i as p, o as m, r as h, t as g } from "./popover-C2AG-fER.js";
5
- import { t as _ } from "./use-material-translation-DM4nCI16.js";
6
- import { n as v, t as y } from "./icon-button-DKpk5gLZ.js";
3
+ import { a as r, c as i, i as a, l as o, n as s, o as c, r as l, s as u, t as d, u as f } from "./use-return-focus-DWhbTGVe.js";
4
+ import { i as p, o as m, r as h, t as g } from "./popover-ZxL7ktKk.js";
5
+ import { t as _ } from "./use-material-translation-CLNaMhUf.js";
6
+ import { n as v, t as y } from "./icon-button-BSVpO1jP.js";
7
7
  import { t as b } from "./use-ssr-media-query-C6M5m8sf.js";
8
8
  import { i as x } from "./escape-owner-DpaP0lm1.js";
9
9
  import * as S from "react";
@@ -1,7 +1,7 @@
1
1
  import { t as e } from "./utils-BLfntITJ.js";
2
2
  import { o as t, r as n } from "./dist-DVRQkaTK.js";
3
3
  import { i as r, r as i, t as a } from "./dist-DWZXlCZR.js";
4
- import { S as o, d as s, f as c, l, p as u, u as d, x as f } from "./spinner-BiGzIQFB.js";
4
+ import { S as o, d as s, f as c, l, p as u, u as d, x as f } from "./spinner-ffuwBXHl.js";
5
5
  import { a as p, i as m, r as h } from "./dist-DHdUUM1w.js";
6
6
  import { a as g, c as _, l as v, o as y, r as b, s as x, t as S } from "./in-dialog-D61Yeaol.js";
7
7
  import { i as C } from "./escape-owner-DpaP0lm1.js";
@@ -1,4 +1,4 @@
1
- import { t as e } from "./use-material-translation-DM4nCI16.js";
1
+ import { t as e } from "./use-material-translation-CLNaMhUf.js";
2
2
  import { n as t } from "./calculator-context-BugcKuVG.js";
3
3
  import { t as n } from "./calculator-announce-DRd2c6Dq.js";
4
4
  import { jsx as r, jsxs as i } from "react/jsx-runtime";
@@ -1,11 +1,11 @@
1
1
  import { t as e } from "./utils-BLfntITJ.js";
2
- import { t } from "./use-material-translation-DM4nCI16.js";
3
- import { t as n } from "./icon-button-DKpk5gLZ.js";
2
+ import { t } from "./use-material-translation-CLNaMhUf.js";
3
+ import { t as n } from "./icon-button-BSVpO1jP.js";
4
4
  import { n as r } from "./calculator-context-BugcKuVG.js";
5
- import { a as i, n as a, r as o, t as s } from "./pos-types-BXMMXwbI.js";
5
+ import { a as i, n as a, r as o, t as s } from "./pos-types-BQ0QpYMp.js";
6
6
  import { i as c, n as l, s as u } from "./key-layout-cR79xfGE.js";
7
7
  import { n as d, t as f } from "./currency-B-r3ig11.js";
8
- import { t as p } from "./calculator-segment-OI0rHAjA.js";
8
+ import { t as p } from "./calculator-segment-CEdwE24M.js";
9
9
  import { useId as m, useState as h } from "react";
10
10
  import { Fragment as g, jsx as _, jsxs as v } from "react/jsx-runtime";
11
11
  import { ChevronDown as y, X as b } from "lucide-react";
package/dist/print.js CHANGED
@@ -1,4 +1,4 @@
1
- import { i as e, t } from "./translate-material-9bYZA_nV.js";
1
+ import { i as e, t } from "./translate-material-CMHUH5Ha.js";
2
2
  import { Children as n, createContext as r, isValidElement as i, useCallback as a, useContext as o, useEffect as s, useMemo as c, useState as l } from "react";
3
3
  import { jsx as u, jsxs as d } from "react/jsx-runtime";
4
4
  import { resolvePdfFileName as f } from "@nxgt/material-core/pdf-file-name";
@@ -1,9 +1,9 @@
1
- import { t as e } from "./use-material-translation-DM4nCI16.js";
1
+ import { t as e } from "./use-material-translation-CLNaMhUf.js";
2
2
  import { t } from "./toggle-FeCCJqbg.js";
3
3
  import { n } from "./calculator-context-BugcKuVG.js";
4
4
  import { i as r, n as i, s as a } from "./key-layout-cR79xfGE.js";
5
5
  import { t as o } from "./programmer-word-CNCF7DJF.js";
6
- import { t as s } from "./calculator-segment-OI0rHAjA.js";
6
+ import { t as s } from "./calculator-segment-CEdwE24M.js";
7
7
  import { useId as c, useState as l } from "react";
8
8
  import { jsx as u, jsxs as d } from "react/jsx-runtime";
9
9
  import { calculate as f, formatExpression as p, sessionOptions as m, toCanonical as h, tokenize as g } from "@nxgt/material-core/calculator";
@@ -3,25 +3,25 @@ import { n as t } from "./ui.utils-CAnKTCw5.js";
3
3
  import { t as n } from "./utils-BLfntITJ.js";
4
4
  import { o as r } from "./dist-DVRQkaTK.js";
5
5
  import { i, n as a, r as o } from "./dist-DWZXlCZR.js";
6
- import { o as s } from "./spinner-BiGzIQFB.js";
6
+ import { o as s } from "./spinner-ffuwBXHl.js";
7
7
  import { a as c, i as l, n as u } from "./dist-DHdUUM1w.js";
8
8
  import { i as d } from "./dist-DOK3zo5C.js";
9
9
  import { r as f, t as p } from "./in-dialog-D61Yeaol.js";
10
- import { a as m, c as h, i as g, l as _, n as v, o as ee, r as y, s as b, t as te, u as ne } from "./use-return-focus-CbTPRBcn.js";
11
- import { c as x, d as S, f as C, i as w, l as T, n as E, o as D, t as re, u as O } from "./dropdown-menu-B21gOpBE.js";
12
- import { a as k, b as ie, d as ae, f as oe, i as se, n as A, o as ce, r as le, s as j, t as M, u as ue, v as de } from "./toolbar-items-CBv3l8sn.js";
10
+ import { a as m, c as h, i as g, l as _, n as v, o as ee, r as y, s as b, t as te, u as ne } from "./use-return-focus-DWhbTGVe.js";
11
+ import { c as x, d as S, f as C, i as w, l as T, n as E, o as D, t as re, u as O } from "./dropdown-menu-FdGC5kIP.js";
12
+ import { a as k, b as ie, d as ae, f as oe, i as se, n as A, o as ce, r as le, s as j, t as M, u as ue, v as de } from "./toolbar-items-IANZdcw4.js";
13
13
  import { t as fe } from "./dist-DkQbkF9T.js";
14
- import { t as pe } from "./button-ClrQMe_S.js";
15
- import { t as N } from "./use-material-translation-DM4nCI16.js";
16
- import { n as me, t as he } from "./icon-button-DKpk5gLZ.js";
14
+ import { t as pe } from "./button-GeIsUekU.js";
15
+ import { t as N } from "./use-material-translation-CLNaMhUf.js";
16
+ import { n as me, t as he } from "./icon-button-BSVpO1jP.js";
17
17
  import { t as ge } from "./useEvent-2fKq-6w8.js";
18
18
  import { n as _e, t as ve } from "./toggle-group-CVMxEpWi.js";
19
19
  import { i as ye } from "./escape-owner-DpaP0lm1.js";
20
20
  import { n as be } from "./use-slice-reducer-BGkeGtML.js";
21
21
  import { t as xe } from "./input-CC2joTjB.js";
22
22
  import { r as Se } from "./use-csp-nonce-ZKs9k-ov.js";
23
- import { n as Ce, t as we } from "./empty-state-Dw-X-0aA.js";
24
- import { r as Te, t as Ee, u as De } from "./dialog-Bti9bn6a.js";
23
+ import { n as Ce, t as we } from "./empty-state-BoepPG5v.js";
24
+ import { r as Te, t as Ee, u as De } from "./dialog-5_2__tu8.js";
25
25
  import { t as Oe } from "./client-only.utils-3nHNzCki.js";
26
26
  import { t as ke } from "./use-scroll-away-PQRFZkT2.js";
27
27
  import * as P from "react";
@@ -1,7 +1,7 @@
1
- import { n as e } from "./spinner-BiGzIQFB.js";
2
- import { c as t, n, t as r } from "./dropdown-menu-B21gOpBE.js";
3
- import { t as i } from "./use-material-translation-DM4nCI16.js";
4
- import { a, i as o, n as s, o as c, t as l } from "./code-language-items-6o5SAVbP.js";
1
+ import { n as e } from "./spinner-ffuwBXHl.js";
2
+ import { c as t, n, t as r } from "./dropdown-menu-FdGC5kIP.js";
3
+ import { t as i } from "./use-material-translation-CLNaMhUf.js";
4
+ import { a, i as o, n as s, o as c, t as l } from "./code-language-items-CSZX5zxD.js";
5
5
  import { i as u, n as d, r as f, s as p } from "./dist-C3GR7kJd.js";
6
6
  import { t as m } from "./code-block-spec-CGLKRhwD.js";
7
7
  import { Suspense as h, lazy as g, useEffect as _, useRef as v, useState as y } from "react";
@@ -143,7 +143,7 @@ function M({ node: e, editor: t, updateAttributes: n, editable: r, wrap: a, onWr
143
143
  }
144
144
  //#endregion
145
145
  //#region lib/components/ui/widgets/editor/extensions/code/code-block-open.tsx
146
- var N = g(() => import("./code-editor-DV0TiySE.js").then((e) => e.n).then((e) => ({ default: e.CodeEditor })));
146
+ var N = g(() => import("./code-editor-BByXZOGy.js").then((e) => e.n).then((e) => ({ default: e.CodeEditor })));
147
147
  function P() {
148
148
  let { t: e } = i();
149
149
  return /* @__PURE__ */ b("div", {
@@ -1,9 +1,9 @@
1
- import { t as e } from "./use-material-translation-DM4nCI16.js";
1
+ import { t as e } from "./use-material-translation-CLNaMhUf.js";
2
2
  import { t } from "./toggle-FeCCJqbg.js";
3
3
  import { n } from "./calculator-context-BugcKuVG.js";
4
4
  import { i as r, o as i } from "./key-layout-cR79xfGE.js";
5
5
  import { t as a } from "./standard-layout-BuSRr3TY.js";
6
- import { t as o } from "./calculator-segment-OI0rHAjA.js";
6
+ import { t as o } from "./calculator-segment-CEdwE24M.js";
7
7
  import { jsx as s, jsxs as c } from "react/jsx-runtime";
8
8
  import { scientificOptions as l } from "@nxgt/material-core/calculator/scientific";
9
9
  //#region lib/components/ui/widgets/calculator/variants/scientific/scientific-layout.ts
@@ -1,7 +1,7 @@
1
1
  import { t as e } from "./utils-BLfntITJ.js";
2
2
  import { t } from "./dist-DVRQkaTK.js";
3
- import { t as n } from "./use-material-translation-DM4nCI16.js";
4
- import { t as r } from "./icon-button-DKpk5gLZ.js";
3
+ import { t as n } from "./use-material-translation-CLNaMhUf.js";
4
+ import { t as r } from "./icon-button-BSVpO1jP.js";
5
5
  import { t as i } from "./compose-refs-G4J4kaUA.js";
6
6
  import a, { cloneElement as o, createContext as s, forwardRef as c, memo as l, useCallback as u, useContext as d, useEffect as f, useId as p, useLayoutEffect as m, useMemo as h, useReducer as g, useRef as _, useState as v } from "react";
7
7
  import { jsx as y } from "react/jsx-runtime";
@@ -5,7 +5,7 @@ import { a as i, i as a, n as o, r as s, t as c } from "./dist-DWZXlCZR.js";
5
5
  import { a as l, i as u, n as d, r as f, t as p } from "./dist-DHdUUM1w.js";
6
6
  import { a as m, c as h, d as g, i as _, l as v, o as y, r as b, t as x, u as S } from "./floating-ui.dom-KkZSW8_E.js";
7
7
  import { t as C } from "./dist-DkQbkF9T.js";
8
- import { t as w } from "./use-material-translation-DM4nCI16.js";
8
+ import { t as w } from "./use-material-translation-CLNaMhUf.js";
9
9
  import * as T from "react";
10
10
  import { useLayoutEffect as E, useRef as D, useSyncExternalStore as O } from "react";
11
11
  import { jsx as k, jsxs as A } from "react/jsx-runtime";
@@ -3,7 +3,7 @@ import { n as t } from "./dist-DVRQkaTK.js";
3
3
  import { i as n, r, t as i } from "./dist-DWZXlCZR.js";
4
4
  import { a, i as o, r as s } from "./dist-DHdUUM1w.js";
5
5
  import { i as c, n as l, r as u, t as d } from "./dist-DOK3zo5C.js";
6
- import { t as f } from "./use-material-translation-DM4nCI16.js";
6
+ import { t as f } from "./use-material-translation-CLNaMhUf.js";
7
7
  import * as p from "react";
8
8
  import { createContext as m, useCallback as h, useContext as g, useEffect as ee, useLayoutEffect as _, useRef as v, useState as te } from "react";
9
9
  import { Fragment as ne, jsx as y, jsxs as b } from "react/jsx-runtime";
@@ -1,7 +1,7 @@
1
1
  import { t as e } from "./utils-BLfntITJ.js";
2
2
  import { a as t, i as n, n as r } from "./field-blur-context-BLGgf_3z.js";
3
3
  import { t as i } from "./dist-DkQbkF9T.js";
4
- import { t as a } from "./icon-button-DKpk5gLZ.js";
4
+ import { t as a } from "./icon-button-BSVpO1jP.js";
5
5
  import { t as o } from "./compose-refs-G4J4kaUA.js";
6
6
  import { a as s, o as c, t as l } from "./input-CC2joTjB.js";
7
7
  import { isValidElement as u, useEffect as d, useId as f, useMemo as p, useRef as m, useState as h } from "react";
@@ -1,10 +1,10 @@
1
1
  import { t as e } from "./utils-BLfntITJ.js";
2
2
  import { a as t, i as n, n as r, o as i, r as a, t as o } from "./bubble-input-CQwVSoU3.js";
3
3
  import { a as s, r as c } from "./icon-sprites-CaYXzOL4.js";
4
- import { t as l } from "./use-material-translation-DM4nCI16.js";
4
+ import { t as l } from "./use-material-translation-CLNaMhUf.js";
5
5
  import { t as u } from "./use-theme-BCLireTd.js";
6
6
  import { a as d, r as f } from "./theme-context-Cofk6vgs.js";
7
- import { t as p } from "./theme-toggle-B7rO23w0.js";
7
+ import { t as p } from "./theme-toggle-n_Zg7JAA.js";
8
8
  import { n as m, t as h } from "./nxgt-theme-DA1IQe0O.js";
9
9
  import { useContext as g } from "react";
10
10
  import { jsx as _, jsxs as v } from "react/jsx-runtime";
@@ -1,4 +1,4 @@
1
- import { t as e } from "./use-material-translation-DM4nCI16.js";
1
+ import { t as e } from "./use-material-translation-CLNaMhUf.js";
2
2
  import { i as t } from "./theme-store-BdPp43cV.js";
3
3
  import { n, t as r } from "./use-theme-BCLireTd.js";
4
4
  import { r as i } from "./theme-context-Cofk6vgs.js";
@@ -1,15 +1,15 @@
1
1
  import { t as e } from "./utils-BLfntITJ.js";
2
2
  import { o as t, t as n } from "./dist-DVRQkaTK.js";
3
3
  import { i as r, r as i } from "./dist-DWZXlCZR.js";
4
- import { n as a } from "./spinner-BiGzIQFB.js";
4
+ import { n as a } from "./spinner-ffuwBXHl.js";
5
5
  import { a as o } from "./dist-DHdUUM1w.js";
6
6
  import { i as s, n as c, r as l, t as u } from "./dist-DOK3zo5C.js";
7
7
  import { t as d } from "./in-dialog-D61Yeaol.js";
8
- import { A as f, M as p, N as m, b as h, d as g, f as _, i as v, j as y, l as b, n as x, o as S, r as C, t as w, u as T, y as ee } from "./dropdown-menu-B21gOpBE.js";
9
- import { a as te, n as ne } from "./popover-C2AG-fER.js";
8
+ import { A as f, M as p, N as m, b as h, d as g, f as _, i as v, j as y, l as b, n as x, o as S, r as C, t as w, u as T, y as ee } from "./dropdown-menu-FdGC5kIP.js";
9
+ import { a as te, n as ne } from "./popover-ZxL7ktKk.js";
10
10
  import { i as re, n as ie, r as ae, t as oe } from "./dist-BZe2evxL.js";
11
11
  import { t as se } from "./warn-once-C_e47JM8.js";
12
- import { t as ce } from "./use-material-translation-DM4nCI16.js";
12
+ import { t as ce } from "./use-material-translation-CLNaMhUf.js";
13
13
  import * as E from "react";
14
14
  import { createContext as D, useCallback as le, useContext as O, useEffect as k, useId as ue, useLayoutEffect as A, useMemo as j, useReducer as de, useRef as M, useState as N } from "react";
15
15
  import { Fragment as P, jsx as F, jsxs as I } from "react/jsx-runtime";
@@ -1,4 +1,4 @@
1
- import { a as e, l as t, r as n, s as r, t as i, u as a } from "./translator-B5RR8VyT.js";
1
+ import { a as e, l as t, r as n, s as r, t as i, u as a } from "./translator-9zA-Um3W.js";
2
2
  import { createContext as o, useCallback as s, useContext as c, useEffect as l, useMemo as u, useRef as d, useState as f } from "react";
3
3
  import { jsx as p } from "react/jsx-runtime";
4
4
  //#region lib/i18n/material-resources-registry.ts
@@ -1553,6 +1553,13 @@ var r = {
1553
1553
  reset: "Reset",
1554
1554
  "clear-all": "Clear all",
1555
1555
  "inline-clear-hint": "Pressing a selected chip removes it from the filter",
1556
+ "archived-status": {
1557
+ toggle: "Show archived",
1558
+ field: "Show",
1559
+ active: "Active",
1560
+ archived: "Archived",
1561
+ all: "All"
1562
+ },
1556
1563
  min: "Min",
1557
1564
  max: "Max",
1558
1565
  presets: {
@@ -5070,6 +5077,13 @@ var r = {
5070
5077
  reset: "Réinitialiser",
5071
5078
  "clear-all": "Tout effacer",
5072
5079
  "inline-clear-hint": "Appuyer sur une puce sélectionnée la retire du filtre",
5080
+ "archived-status": {
5081
+ toggle: "Afficher les archivés",
5082
+ field: "Afficher",
5083
+ active: "Actifs",
5084
+ archived: "Archivés",
5085
+ all: "Tous"
5086
+ },
5073
5087
  min: "Min",
5074
5088
  max: "Max",
5075
5089
  presets: {
@@ -4,28 +4,28 @@ import { t as n } from "./utils-BLfntITJ.js";
4
4
  import { n as r } from "./use-shape-morph-BKA_R5P5.js";
5
5
  import { n as i, o as a, t as o } from "./dist-DVRQkaTK.js";
6
6
  import { i as s, n as c, r as l, t as u } from "./dist-DWZXlCZR.js";
7
- import { _ as d, a as f, b as p, g as m, h, i as g, m as _, n as v, o as y, r as b, s as x, t as S, v as C, y as w } from "./spinner-BiGzIQFB.js";
7
+ import { _ as d, a as f, b as p, g as m, h, i as g, m as _, n as v, o as y, r as b, s as x, t as S, v as C, y as w } from "./spinner-ffuwBXHl.js";
8
8
  import { a as T, i as E, n as D, r as O, t as k } from "./dist-DHdUUM1w.js";
9
9
  import { a as A, i as ee } from "./dist-DOK3zo5C.js";
10
10
  import { i as j, n as M } from "./in-dialog-D61Yeaol.js";
11
- import { c as N, l as P, n as te, r as F, t as ne } from "./alert-dialog-VyVfYwzv.js";
11
+ import { c as N, l as P, n as te, r as F, t as ne } from "./alert-dialog-DYzxchiS.js";
12
12
  import { A as re, C as ie, D as ae, E as oe, O as se, S as I, T as ce, _ as le, a as ue, b as de, d as fe, f as pe, g as me, h as he, i as ge, k as _e, l as ve, m as ye, n as be, o as xe, p as Se, r as Ce, s as we, t as Te, u as Ee, v as De, w as Oe, x as ke, y as Ae } from "./floating-ui.dom-KkZSW8_E.js";
13
- import { D as je, E as Me, N as Ne, O as Pe, c as Fe, d as Ie, f as Le, i as Re, k as ze, m as Be, n as Ve, o as He, p as Ue, t as We, u as Ge } from "./dropdown-menu-B21gOpBE.js";
13
+ import { D as je, E as Me, N as Ne, O as Pe, c as Fe, d as Ie, f as Le, i as Re, k as ze, m as Be, n as Ve, o as He, p as Ue, t as We, u as Ge } from "./dropdown-menu-FdGC5kIP.js";
14
14
  import { a as Ke, i as qe, n as Je } from "./field-blur-context-BLGgf_3z.js";
15
- import { i as Ye, n as Xe, r as Ze, t as Qe } from "./popover-C2AG-fER.js";
15
+ import { i as Ye, n as Xe, r as Ze, t as Qe } from "./popover-ZxL7ktKk.js";
16
16
  import { a as $e, i as et, n as tt, o as nt, t as rt } from "./bubble-input-CQwVSoU3.js";
17
- import { d as it, n as at, r as ot, t as st } from "./tabs-CzBz8Doo.js";
18
- import { a as ct, n as lt, o as ut, s as dt, v as ft, y as pt } from "./toolbar-items-CBv3l8sn.js";
17
+ import { d as it, n as at, r as ot, t as st } from "./tabs-JgRq6ZJx.js";
18
+ import { a as ct, n as lt, o as ut, s as dt, v as ft, y as pt } from "./toolbar-items-IANZdcw4.js";
19
19
  import { t as mt } from "./dist-DkQbkF9T.js";
20
20
  import { o as ht, s as gt, t as _t } from "./use-click-lock-Bwg_caHO.js";
21
21
  import { a as vt, r as yt } from "./icon-sprites-CaYXzOL4.js";
22
22
  import { t as bt } from "./warn-once-C_e47JM8.js";
23
- import { r as xt, t as St } from "./button-ClrQMe_S.js";
24
- import { a as Ct } from "./translator-B5RR8VyT.js";
23
+ import { r as xt, t as St } from "./button-GeIsUekU.js";
24
+ import { a as Ct } from "./translator-9zA-Um3W.js";
25
25
  import { h as wt } from "./get-CTzJAwfc.js";
26
26
  import { t as Tt } from "./isEmpty-F_g3jLf8.js";
27
- import { t as L } from "./use-material-translation-DM4nCI16.js";
28
- import { t as R } from "./icon-button-DKpk5gLZ.js";
27
+ import { t as L } from "./use-material-translation-CLNaMhUf.js";
28
+ import { t as R } from "./icon-button-BSVpO1jP.js";
29
29
  import { t as Et } from "./use-ssr-media-query-C6M5m8sf.js";
30
30
  import { n as Dt, t as Ot } from "./typography-CYEquVeb.js";
31
31
  import { n as kt, t as At } from "./util-4heV2LPI.js";
@@ -36,14 +36,14 @@ import { a as Bt } from "./toggle-group-CVMxEpWi.js";
36
36
  import { n as Vt } from "./use-slice-reducer-BGkeGtML.js";
37
37
  import { t as Ht } from "./browser-only-DQ94lWF8.js";
38
38
  import { t as Ut } from "./compose-refs-G4J4kaUA.js";
39
- import { n as Wt, r as Gt, t as Kt } from "./chip-DzKhmUzo.js";
39
+ import { n as Wt, r as Gt, t as Kt } from "./chip-BdEtFQ85.js";
40
40
  import { c as qt, o as Jt, r as Yt, s as Xt, t as Zt } from "./input-CC2joTjB.js";
41
- import { a as Qt, n as $t, r as en, t as tn } from "./text-field-bla3PUdk.js";
41
+ import { a as Qt, n as $t, r as en, t as tn } from "./text-field-DURkIP-v.js";
42
42
  import { r as nn } from "./use-csp-nonce-ZKs9k-ov.js";
43
- import { t as rn } from "./empty-state-Dw-X-0aA.js";
43
+ import { t as rn } from "./empty-state-BoepPG5v.js";
44
44
  import { t as an } from "./skeleton-DSdtr2qc.js";
45
- import { l as on, n as sn, o as cn, r as ln, s as un, t as dn, u as fn } from "./dialog-Bti9bn6a.js";
46
- import { t as pn } from "./icon-badge-DW6-PxOt.js";
45
+ import { l as on, n as sn, o as cn, r as ln, s as un, t as dn, u as fn } from "./dialog-5_2__tu8.js";
46
+ import { t as pn } from "./icon-badge-LGUPQh_c.js";
47
47
  import { H as mn, V as hn, X as gn, bt as _n, it as vn, lt as yn, n as bn, t as xn, xt as Sn, yt as Cn } from "./dist-moutbfbd.js";
48
48
  import { t as wn } from "./markdown-Dw_uH7j7.js";
49
49
  import { r as Tn, t as En } from "./create-store-Dqp-PLLn.js";
@@ -11186,7 +11186,7 @@ var tS = (e = {}) => Tn({
11186
11186
  let [{ default: t }, { lowlight: n }, { richCodeBlock: r }] = await Promise.all([
11187
11187
  import("./dist-CRMFGjng.js"),
11188
11188
  import("./lowlight-OtcjU2Sa.js"),
11189
- import("./rich-code-block-C30r7TeB.js")
11189
+ import("./rich-code-block-CTPj1LuD.js")
11190
11190
  ]);
11191
11191
  return [r(t, {
11192
11192
  lowlight: n,
@@ -1,8 +1,8 @@
1
1
  import { t as e } from "./utils-BLfntITJ.js";
2
- import { a as t, c as n, d as r, i, n as a, r as o, t as s, u as c } from "./alert-dialog-VyVfYwzv.js";
3
- import { a as l } from "./button-ClrQMe_S.js";
4
- import { i as u } from "./translate-material-9bYZA_nV.js";
5
- import { t as d } from "./use-material-translation-DM4nCI16.js";
2
+ import { a as t, c as n, d as r, i, n as a, r as o, t as s, u as c } from "./alert-dialog-DYzxchiS.js";
3
+ import { a as l } from "./button-GeIsUekU.js";
4
+ import { i as u } from "./translate-material-CMHUH5Ha.js";
5
+ import { t as d } from "./use-material-translation-CLNaMhUf.js";
6
6
  import { _ as f, g as p, h as m, t as h, v as g, y as _ } from "./date.utils-JTEIo3mM.js";
7
7
  import { useCallback as v, useEffect as y, useMemo as b, useRef as x, useState as S } from "react";
8
8
  import { Fragment as C, jsx as w, jsxs as T } from "react/jsx-runtime";
@@ -1,4 +1,4 @@
1
- import { i as e, t } from "./translate-material-9bYZA_nV.js";
1
+ import { i as e, t } from "./translate-material-CMHUH5Ha.js";
2
2
  import { useCallback as n } from "react";
3
3
  //#region lib/i18n/use-material-translation.ts
4
4
  function r() {
@@ -1,6 +1,6 @@
1
1
  import { o as e, r as t } from "./dist-DVRQkaTK.js";
2
2
  import { i as n, n as r, r as i, t as a } from "./dist-DWZXlCZR.js";
3
- import { C as o, S as s, x as c } from "./spinner-BiGzIQFB.js";
3
+ import { C as o, S as s, x as c } from "./spinner-ffuwBXHl.js";
4
4
  import { a as l, i as u, r as d } from "./dist-DHdUUM1w.js";
5
5
  import { c as f, i as p, l as m, o as h, r as g, s as ee } from "./in-dialog-D61Yeaol.js";
6
6
  import { r as te } from "./escape-owner-DpaP0lm1.js";
@@ -1433,6 +1433,8 @@ const entries: ChangeHistoryEntry[] = [
1433
1433
  changes: [
1434
1434
  { field: 'Visibility', before: 'Private', after: 'Public' },
1435
1435
  { field: 'Webhook secret', redacted: true },
1436
+ // hide one side only: "Hidden" → Grace Hopper
1437
+ { field: 'Owner', before: 'Alan Turing', after: 'Grace Hopper', redacted: 'before' },
1436
1438
  ],
1437
1439
  },
1438
1440
  {
@@ -1461,7 +1463,7 @@ yours, the component names no domain.
1461
1463
 
1462
1464
  | Prop | Type | Default | Effect |
1463
1465
  | --- | --- | --- | --- |
1464
- | `entries` | `ChangeHistoryEntry[]` | — | `id`, `kind`, `at` (`Date`, string or number), `author` (`name`, `src`), `changes` (optional, `ChangeHistoryChange[]`: `field`, `before`, `after`, `redacted`; left out or `[]`, the entry shows its sentence, author and time with no change list) |
1466
+ | `entries` | `ChangeHistoryEntry[]` | — | `id`, `kind`, `at` (`Date`, string or number), `author` (`name`, `src`), `changes` (optional, `ChangeHistoryChange[]`: `field`, `before`, `after`, `redacted` (`true`, `'before'` or `'after'`); left out or `[]`, the entry shows its sentence, author and time with no change list) |
1465
1467
  | `kinds` | `Record<string, ChangeHistoryKindOverride>` | built-ins | `label`, `verb`, `icon` (`null` removes it), `tone` per kind; `creation` (default true for `created`) makes an entry list values only |
1466
1468
  | `variant` | `'rail' \| 'cards'` | `'rail'` | the look |
1467
1469
  | `groupBy` | `'day' \| 'none'` | `'day'` | a heading per day (sticky on the rail), or one list in the order given |
@@ -1478,9 +1480,10 @@ yours, the component names no domain.
1478
1480
  | `aria-label` | `string` | "Change history" | the region's name |
1479
1481
  | `className` | `string` | — | on the region |
1480
1482
 
1481
- A `redacted` change shows "Hidden" and never renders `before` or `after`. A
1482
- `created` entry shows values only, with no "Empty →". Each entry is an
1483
- `article` in an `ol`, labelled "{kind} by {author}, {date and time}"; the day
1483
+ A `redacted: true` change shows "Hidden" and never renders `before` or `after`;
1484
+ `redacted: 'before'` or `'after'` hides that side only, the other side renders
1485
+ as usual with the arrow between. A `created` entry shows values only, with no
1486
+ "Empty →". Each entry is an `article` in an `ol`, labelled "{kind} by {author}, {date and time}"; the day
1484
1487
  headings are real headings (`h3`, or `headingLevel`); the author's avatar is
1485
1488
  decorative (`aria-hidden`), so the initials are not read; "Showing X of Y" is
1486
1489
  announced through a polite live region, and when Load more takes the last page
@@ -2235,11 +2235,13 @@ way to narrow a list (the topics of a catalogue).
2235
2235
  of checkboxes) named by the field's label, and described (`aria-describedby`,
2236
2236
  visually hidden text, `material.filter.inline-clear-hint`) as "Pressing a
2237
2237
  selected chip removes it from the filter", since there is no "All" chip.
2238
- - **A plain filter.** It is counted, in the URL like any field, and cleared by
2238
+ - **A plain filter** (unless it is also a `scope`: then not deselectable, with a
2239
+ `default`, uncounted; see "An archived status field"). It is counted, in the URL like any field, and cleared by
2239
2240
  "Clear all". It has no chip of its own (the group shows it) and is not in
2240
2241
  "Add filter" nor among the quick pills; the phone sheet still lists it.
2241
2242
  - **Rules.** `defineFilterModel` throws without `options`, with another type,
2242
- with a `default`, with `scope` or with `addable: false`. A condition the
2243
+ with a `default` (unless it is also a `scope`, see below) or with
2244
+ `addable: false`. A condition the
2243
2245
  group cannot draw (another operator, or a value that is not an
2244
2246
  option; the URL codec already drops both, so this guards a query written by
2245
2247
  code) keeps its normal chip with its ✕, so an active filter
@@ -2247,6 +2249,40 @@ way to narrow a list (the topics of a catalogue).
2247
2249
  - **Core.** `isInline(field)`, `inlineShows(field, condition)`; `bandQuickFields` and the bar's `quickFields`
2248
2250
  list inline fields after the scope ones.
2249
2251
 
2252
+ #### An archived status field
2253
+
2254
+ `archivedStatusField()` (from `@nxgt/material/components`, or
2255
+ `@nxgt/material-core/table-url`) is the library's `inline` + `scope` field: an
2256
+ **Active / Archived / All** chip group that is always set. Declare both on a
2257
+ field of your own to get the same shape for another choice (needs `options`
2258
+ and a `default`).
2259
+
2260
+ ```tsx
2261
+ import { defineFilterModel } from '@nxgt/material/components';
2262
+ import { useMemo } from 'react';
2263
+
2264
+ const field = useArchivedStatusField({ param: 'show' }); // translated
2265
+ const model = useMemo(() => defineFilterModel({ fields: [field] }), [field]);
2266
+ <ServerTable {...props} filter={{ model }} />
2267
+ ```
2268
+
2269
+ - **Its control** is a `radiogroup` of chips in the bar, 44px on touch. The
2270
+ chip in effect is pressed (the default, Active, while the URL has no
2271
+ `show`); pressing it again does nothing, and choosing the default removes
2272
+ the param, so `?show=active` never appears from the control. It is no
2273
+ filter: no chip, no count, kept by "Clear all". A change goes back to the
2274
+ first page; the app's `onParamsChange` replaces the history entry without
2275
+ scrolling (`replace` with `preventScrollReset`).
2276
+ - **Elsewhere.** The phone sheet and the facets panel write the choice as
2277
+ chosen, `?show=active` included; `parseArchivedStatus` reads it as active.
2278
+ - **Wording.** The core field has English labels; `useArchivedStatusField`
2279
+ reads `material.filter.archived-status.{field,active,archived,all}` (en and fr
2280
+ bundles); `labels` in the options win. `useShowArchivedField` does the same for
2281
+ `showArchivedField()`, the two-state widening "Show archived" switch (`?archived=1`) the band
2282
+ shows as a quick toggle.
2283
+ - **Client mode.** `read` gives each row `archived` or `active` (`isArchived`
2284
+ overrides the row test), and `all` matches every row.
2285
+
2250
2286
  #### A scope field
2251
2287
 
2252
2288
  A list scoped by a value the user changes but never clears (the period or the
@@ -267,6 +267,14 @@ written to the URL:
267
267
  `effectiveConditions`), but `isFiltered`, `withoutFilters` and the bar's
268
268
  count and "Clear all" leave it out: `/students?f=period:is:p1&q=ada` resets
269
269
  to `?f=period:is:p1`. An invalid value means the default.
270
+ - **Active / archived / all.** `archivedStatusField({ param })` is a scope
271
+ shown as a chip group; the loader reads the same answer with
272
+ `parseArchivedStatus(searchParams)` (`'active'` when the param is absent or
273
+ unknown), and a link is `withArchivedStatus(params, 'archived')`, back on the
274
+ first page and with no param for the default. The URL is `?show=archived`
275
+ or `?show=all`; give each list its own `param` and `id` on a page with two.
276
+ Only the control and `withArchivedStatus` drop the param for the default:
277
+ a hand-written `?show=active` is read as written.
270
278
  - **A refusal.** When the loader refuses a value, return the message per
271
279
  field and pass it as `errors` (`filter={{ model, errors }}`): the chip reads
272
280
  "Invalid", described by the message, and the editor and the live region
package/docs/roadmap.md CHANGED
@@ -379,6 +379,11 @@ version they shipped in, and planned entries may name the major they target.
379
379
 
380
380
  ## Shipped
381
381
 
382
+ - **Archived status filter (3.99.0)** — `archivedStatusField()` adds an active /
383
+ archived / all choice to a table's filter model as a segmented chip group
384
+ that is always set; `parseArchivedStatus` reads it in a loader and
385
+ `withArchivedStatus` builds the link, so the server query and the control
386
+ agree ([#1659](https://github.com/softistx/nxgt-material/issues/1659)).
382
387
  - **EntityHeader modern default (3.96.0)** — `EntityHeader` has a new default look: a clearer hierarchy with a leading icon tile or avatar beside the title, the facts on a grid under hairlines, stats as compact tiles, and one tonal action with the rest in a More menu (`maxVisibleActions`). Upgrade notes in [Troubleshooting](troubleshooting.md) ([#2733](https://github.com/softistx/nxgt-material/issues/2733)).
383
388
  - **Fields Refined** (3.95.0) — every text-like field (text, select, combobox,
384
389
  search, phone, date and time boxes) gets a crisper, more legible look by
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nxgt/material",
3
- "version": "3.98.0",
3
+ "version": "3.99.0",
4
4
  "license": "MIT",
5
5
  "bugs": {
6
6
  "email": "stevegires@gmail.com"
@@ -390,7 +390,7 @@
390
390
  "docs:previews": "rm -rf node_modules/.cache/nxgt-preview-free/missing && NXGT_PREVIEW_FREE=1 vitest run --project previews && bun .storybook/preview-free-report.ts"
391
391
  },
392
392
  "dependencies": {
393
- "@nxgt/material-core": "^0.56.0",
393
+ "@nxgt/material-core": "^0.57.0",
394
394
  "@base-ui/react": "^1.6.0",
395
395
  "@dnd-kit/core": "^6.3.1",
396
396
  "@dnd-kit/sortable": "^10.0.0",