@nxgt/material 2.12.0 → 2.14.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 (134) hide show
  1. package/CHANGELOG.md +79 -0
  2. package/README.md +19 -6
  3. package/dist/{_Uint8Array-azThpjEP.js → _Uint8Array-QCcRMhXd.js} +1 -1
  4. package/dist/{_overRest-DMn4Dt71.js → _overRest-C21ZmKyH.js} +1 -1
  5. package/dist/{async-slice-DhZDjEtw.js → async-slice-TBZ6Taw2.js} +2 -2
  6. package/dist/{blockDiagram-BEXU5L5S-CnFXw-7E.js → blockDiagram-BEXU5L5S-Cn9cG3vt.js} +2 -2
  7. package/dist/{chunk-3FUC2YCW-3vMiTgTl.js → chunk-3FUC2YCW-XrT5pZo5.js} +2 -2
  8. package/dist/{chunk-7M6MHVWA-NPaJJ6Gy.js → chunk-7M6MHVWA-Uf-8NCRF.js} +1 -1
  9. package/dist/{chunk-GNY47TPC-DCFqYc_z.js → chunk-GNY47TPC-CGgBmY0O.js} +4 -4
  10. package/dist/{chunk-NETBCI7D-BB4rjLSQ.js → chunk-NETBCI7D-g-jPsM9q.js} +1 -1
  11. package/dist/{chunk-Z7XXMR3K-vmLFt9Cr.js → chunk-Z7XXMR3K-BzO1efzA.js} +1 -1
  12. package/dist/{classDiagram-v2-NBCMYWYE-eUVWeh_6.js → classDiagram-v2-NBCMYWYE-7WgpfVcn.js} +2 -2
  13. package/dist/components/components.css +13 -2
  14. package/dist/components/ui/feedback/spinner/spinner.css +28 -0
  15. package/dist/components/ui/fields/otp-field/input-otp.css +48 -0
  16. package/dist/components/ui/media/pdf-viewer/pdf-viewer.css +24 -0
  17. package/dist/components/ui/overlays/drawer/vaul-drawer.css +199 -0
  18. package/dist/components/ui/overlays/drawer/vaul-keyframes.css +95 -0
  19. package/dist/{components-BYxsGbyO.js → components-qTUjhFuo.js} +116423 -127245
  20. package/dist/components.js +6 -6
  21. package/dist/{dagre-6A5THRUB-LmEtEC93.js → dagre-6A5THRUB-BOuRxJdA.js} +11 -11
  22. package/dist/{diagram-22UHCM2B-BwARaM-x.js → diagram-22UHCM2B-CF0vLJbn.js} +2 -2
  23. package/dist/{diagram-3UASUU5V-BkeqK_e8.js → diagram-3UASUU5V-RLo-MTfV.js} +1 -1
  24. package/dist/dnd.js +1 -1
  25. package/dist/{elk-276RUBZZ-DL4pxCSP.js → elk-276RUBZZ-Dr2yBM7k.js} +3 -3
  26. package/dist/{erDiagram-OPXOYQCR-Ajlj2lcb.js → erDiagram-OPXOYQCR-l7kPZ4FO.js} +2 -2
  27. package/dist/{field-blur-DgfIJceK.js → field-blur-BKGVq9_k.js} +865 -870
  28. package/dist/{flowDiagram-KWPJA3E3-BOEc9KSn.js → flowDiagram-KWPJA3E3-BQEK3XTl.js} +3 -3
  29. package/dist/fonts/katex/KaTeX_AMS-Regular.woff2 +0 -0
  30. package/dist/fonts/katex/KaTeX_Caligraphic-Bold.woff2 +0 -0
  31. package/dist/fonts/katex/KaTeX_Caligraphic-Regular.woff2 +0 -0
  32. package/dist/fonts/katex/KaTeX_Fraktur-Bold.woff2 +0 -0
  33. package/dist/fonts/katex/KaTeX_Fraktur-Regular.woff2 +0 -0
  34. package/dist/fonts/katex/KaTeX_Main-Bold.woff2 +0 -0
  35. package/dist/fonts/katex/KaTeX_Main-BoldItalic.woff2 +0 -0
  36. package/dist/fonts/katex/KaTeX_Main-Italic.woff2 +0 -0
  37. package/dist/fonts/katex/KaTeX_Main-Regular.woff2 +0 -0
  38. package/dist/fonts/katex/KaTeX_Math-BoldItalic.woff2 +0 -0
  39. package/dist/fonts/katex/KaTeX_Math-Italic.woff2 +0 -0
  40. package/dist/fonts/katex/KaTeX_SansSerif-Bold.woff2 +0 -0
  41. package/dist/fonts/katex/KaTeX_SansSerif-Italic.woff2 +0 -0
  42. package/dist/fonts/katex/KaTeX_SansSerif-Regular.woff2 +0 -0
  43. package/dist/fonts/katex/KaTeX_Script-Regular.woff2 +0 -0
  44. package/dist/fonts/katex/KaTeX_Size1-Regular.woff2 +0 -0
  45. package/dist/fonts/katex/KaTeX_Size2-Regular.woff2 +0 -0
  46. package/dist/fonts/katex/KaTeX_Size3-Regular.woff2 +0 -0
  47. package/dist/fonts/katex/KaTeX_Size4-Regular.woff2 +0 -0
  48. package/dist/fonts/katex/KaTeX_Typewriter-Regular.woff2 +0 -0
  49. package/dist/{ganttDiagram-FUAMR5RP-DdxLcLNx.js → ganttDiagram-FUAMR5RP-WYm8XV7U.js} +1 -1
  50. package/dist/{graphlib-DLjE3QPd.js → graphlib-CbcZi5bx.js} +6 -6
  51. package/dist/hooks.js +26 -26
  52. package/dist/{i18n-provider-CQL7fqLy.js → i18n-provider-D5hkauu6.js} +1 -1
  53. package/dist/i18n.js +6 -6
  54. package/dist/{isArrayLikeObject-CO-5KAzG.js → isArrayLikeObject-COiPdhFP.js} +3 -3
  55. package/dist/{isEmpty-Bl1drJE7.js → isEmpty-B7UlCLih.js} +3 -3
  56. package/dist/{journeyDiagram-ZHPQQLJL-BIzB9BVn.js → journeyDiagram-ZHPQQLJL-p90NnenY.js} +1 -1
  57. package/dist/lib/components/ui/fields/attributes/attribute-form/consts.d.ts +5 -1
  58. package/dist/lib/components/ui/fields/attributes/attribute-form/types.d.ts +2 -2
  59. package/dist/lib/components/ui/fields/opening-hours/consts.d.ts +12 -1
  60. package/dist/lib/components/ui/fields/search-field/index.d.ts +2 -2
  61. package/dist/lib/components/ui/media/image-cropper/image-crop-aspects.d.ts +6 -0
  62. package/dist/lib/components/ui/media/image-cropper/use-frame-size.d.ts +4 -0
  63. package/dist/lib/components/ui/primitives/index.d.ts +1 -0
  64. package/dist/lib/components/ui/primitives/nonce-provider/index.d.ts +1 -0
  65. package/dist/lib/components/ui/primitives/nonce-provider/nonce-provider.d.ts +20 -0
  66. package/dist/lib/components/ui/selection/autocomplete/autocomplete.d.ts +2 -34
  67. package/dist/lib/components/ui/selection/autocomplete/partials/autocomplete-announcer.d.ts +10 -0
  68. package/dist/lib/components/ui/selection/autocomplete/partials/autocomplete-chips.d.ts +8 -3
  69. package/dist/lib/components/ui/selection/autocomplete/partials/autocomplete-list-status.d.ts +13 -0
  70. package/dist/lib/components/ui/selection/autocomplete/partials/autocomplete-popup.d.ts +26 -0
  71. package/dist/lib/components/ui/selection/autocomplete/types.d.ts +72 -0
  72. package/dist/lib/components/ui/selection/autocomplete/use-autocomplete-filter.d.ts +13 -0
  73. package/dist/lib/components/ui/selection/autocomplete/use-autocomplete-handlers.d.ts +17 -0
  74. package/dist/lib/components/ui/selection/autocomplete/use-autocomplete-search.d.ts +8 -0
  75. package/dist/lib/components/ui/selection/autocomplete/use-autocomplete-status.d.ts +28 -0
  76. package/dist/lib/components/ui/selection/autocomplete/use-autocomplete-values.d.ts +27 -0
  77. package/dist/lib/components/ui/selection/autocomplete/use-autocomplete.d.ts +29 -0
  78. package/dist/lib/components/ui/selection/radio-group/radio-group.d.ts +7 -4
  79. package/dist/lib/components/ui/widgets/rich-text-editor/extensions/extensions.d.ts +2 -2
  80. package/dist/lib/components/ui/widgets/rich-text-editor/use-rich-text-editor.d.ts +17 -0
  81. package/dist/lib/hooks/index.d.ts +1 -0
  82. package/dist/lib/hooks/use-csp-nonce.d.ts +16 -0
  83. package/dist/lib/i18n/resources/en/en.d.ts +4 -0
  84. package/dist/lib/i18n/resources/en/material.json.d.ts +5 -1
  85. package/dist/lib/i18n/resources/fr/fr.d.ts +4 -0
  86. package/dist/lib/i18n/resources/fr/material.json.d.ts +5 -1
  87. package/dist/lib/i18n/resources/resources.d.ts +8 -0
  88. package/dist/lib/i18n/translator.d.ts +1 -1
  89. package/dist/lib/lib/index.d.ts +1 -0
  90. package/dist/lib/vite/index.d.ts +3 -2
  91. package/dist/lib.js +32 -31
  92. package/dist/main.js +16 -16
  93. package/dist/map.js +2 -2
  94. package/dist/material.css +25 -1
  95. package/dist/{merge-CwwtONfp.js → merge-KEf_u3Zy.js} +4 -4
  96. package/dist/{mermaid.core-6yWyNdZa.js → mermaid.core-CW8DO1T1.js} +21 -21
  97. package/dist/{mindmap-definition-NLK3R4M7-aHycauO9.js → mindmap-definition-NLK3R4M7-DJcCg9PL.js} +2 -2
  98. package/dist/{pieDiagram-5QR66LMP-DEiooyQu.js → pieDiagram-5QR66LMP-b_dHXzkV.js} +1 -1
  99. package/dist/print.js +2 -2
  100. package/dist/{quadrantDiagram-O4NWA36T-CLlaqEdw.js → quadrantDiagram-O4NWA36T-BSqAcBs7.js} +1 -1
  101. package/dist/{requirementDiagram-PLB6GJNP-DD74Pa6_.js → requirementDiagram-PLB6GJNP-BcxkmIFp.js} +2 -2
  102. package/dist/{sankeyDiagram-IPEJSGJF-DAR9G0yC.js → sankeyDiagram-IPEJSGJF-aD5r_n1q.js} +1 -1
  103. package/dist/{sortable-provider-D4S-mqLP.js → sortable-provider-C8mr3XP2.js} +1 -1
  104. package/dist/{stateDiagram-v2-GCMORJYK-pti7a_r-.js → stateDiagram-v2-GCMORJYK-Ct9ylaoP.js} +2 -2
  105. package/dist/{stored-language-BW32owje.js → stored-language-g121Yv0w.js} +10 -2
  106. package/dist/{swimlanes-2SLR337P-D10pSc8m.js → swimlanes-2SLR337P-BwCqwEoR.js} +3 -3
  107. package/dist/{swimlanesDiagram-TC7HE7FX-B8HgZod5.js → swimlanesDiagram-TC7HE7FX-WxBGUt0w.js} +3 -3
  108. package/dist/{timeline-definition-EJHVYXUP-D8CWcNj3.js → timeline-definition-EJHVYXUP-5Q8GU13Q.js} +1 -1
  109. package/dist/{translate-material-ZEzF-LKH.js → translate-material-D3Hp_AI5.js} +2 -2
  110. package/dist/{translator-BfqVlNGW.js → translator-BMFC0lBV.js} +1 -1
  111. package/dist/{use-heading-spy-DvZVu15k.js → use-heading-spy-wlOv87q3.js} +65 -59
  112. package/dist/{use-material-translation-B2GUtxUY.js → use-material-translation-BGFp1yXp.js} +2 -2
  113. package/dist/{usecaseDiagram-POWQR4AR-DIdH4Oia.js → usecaseDiagram-POWQR4AR-CzGOd4ic.js} +2 -2
  114. package/dist/vite.js +2 -2
  115. package/dist/{xychartDiagram-PMCCYNJV-aecZdRhd.js → xychartDiagram-PMCCYNJV-Bh_1zZoW.js} +1 -1
  116. package/docs/README.md +1 -0
  117. package/docs/components/data-display.md +5 -0
  118. package/docs/components/form-fields.md +14 -0
  119. package/docs/components/primitives.md +31 -0
  120. package/docs/components/selection-and-choice.md +74 -4
  121. package/docs/getting-started.md +5 -1
  122. package/docs/guides/csp.md +408 -0
  123. package/docs/guides/helpers.md +2 -0
  124. package/docs/guides/theming.md +27 -0
  125. package/docs/roadmap.md +21 -1
  126. package/docs/troubleshooting.md +220 -0
  127. package/lib/components/components.css +13 -2
  128. package/lib/components/ui/feedback/spinner/spinner.css +28 -0
  129. package/lib/components/ui/fields/otp-field/input-otp.css +48 -0
  130. package/lib/components/ui/media/pdf-viewer/pdf-viewer.css +24 -0
  131. package/lib/components/ui/overlays/drawer/vaul-drawer.css +199 -0
  132. package/lib/components/ui/overlays/drawer/vaul-keyframes.css +95 -0
  133. package/package.json +9 -4
  134. package/dist/lib/components/ui/fields/search-field/debounce.d.ts +0 -5
@@ -6,12 +6,12 @@ import "./chunk-MBY4JIJT-BFIqOe-8.js";
6
6
  import "./chunk-7PRAP22T-0C6_H8Li.js";
7
7
  import "./chunk-7INBJB4K-k-I67NSP.js";
8
8
  import "./chunk-5DYCD2WN-Cd1zazNp.js";
9
- import "./chunk-Z7XXMR3K-vmLFt9Cr.js";
9
+ import "./chunk-Z7XXMR3K-BzO1efzA.js";
10
10
  import "./chunk-GWA4HPMP-B8jXI0Tl.js";
11
11
  import "./chunk-XXDRQBXY-dKXxu_aj.js";
12
12
  import "./chunk-WEXAMYUT-CbFOhEve.js";
13
13
  import "./chunk-UA2S7LBM-ChuksCDg.js";
14
- import "./chunk-GNY47TPC-DCFqYc_z.js";
14
+ import "./chunk-GNY47TPC-CGgBmY0O.js";
15
15
  import "./chunk-LNGE3PJU-DJjGTS7O.js";
16
- import { n as e } from "./chunk-7M6MHVWA-NPaJJ6Gy.js";
16
+ import { n as e } from "./chunk-7M6MHVWA-Uf-8NCRF.js";
17
17
  export { e as diagram };
@@ -1,5 +1,5 @@
1
1
  import { a as e, t } from "./rolldown-runtime-BFFgcFxR.js";
2
- import { $ as n, G as r, H as i, J as a, K as o, Q as s, U as c, W as l, X as u, Y as d, Z as f, et as p, lt as m, nt as h, q as g, rt as _, tt as v, ut as y } from "./components-BYxsGbyO.js";
2
+ import { $ as n, G as r, H as i, J as a, K as o, Q as s, U as c, W as l, X as u, Y as d, Z as f, et as p, lt as m, nt as h, q as g, rt as _, tt as v, ut as y } from "./components-qTUjhFuo.js";
3
3
  import { a as b, c as x, g as S, h as C, l as w, m as T, o as E } from "./string-BqyOfyFV.js";
4
4
  import { i as D, n as O, t as k } from "./src-CsLQInsN.js";
5
5
  import { g as A } from "./chunk-ZIGJFQKS-9VXArDKF.js";
@@ -1,9 +1,9 @@
1
- import { _ as e, a as t, f as n, g as r, i, o as a, v as o, y as s } from "./translator-BfqVlNGW.js";
2
- import { a as c, o as l } from "./_overRest-DMn4Dt71.js";
3
- import { A as u, C as d, O as f, b as p, v as m, x as ee, y as h } from "./async-slice-DhZDjEtw.js";
4
- import { d as te, n as ne } from "./_Uint8Array-azThpjEP.js";
5
- import { n as re, r as ie, t as g } from "./isArrayLikeObject-CO-5KAzG.js";
6
- import { i as _, n as ae, t as v } from "./isEmpty-Bl1drJE7.js";
1
+ import { _ as e, a as t, f as n, g as r, i, o as a, v as o, y as s } from "./translator-BMFC0lBV.js";
2
+ import { a as c, o as l } from "./_overRest-C21ZmKyH.js";
3
+ import { A as u, C as d, O as f, b as p, v as m, x as ee, y as h } from "./async-slice-TBZ6Taw2.js";
4
+ import { d as te, n as ne } from "./_Uint8Array-QCcRMhXd.js";
5
+ import { n as re, r as ie, t as g } from "./isArrayLikeObject-COiPdhFP.js";
6
+ import { i as _, n as ae, t as v } from "./isEmpty-B7UlCLih.js";
7
7
  //#region ../../node_modules/lodash-es/noop.js
8
8
  function oe() {}
9
9
  //#endregion
package/dist/hooks.js CHANGED
@@ -1,11 +1,11 @@
1
- import { r as e } from "./i18n-provider-CQL7fqLy.js";
2
- import { i as t, n, o as r, r as i, s as a, t as o } from "./use-heading-spy-DvZVu15k.js";
3
- import { L as s, t as c } from "./number.utils-BiBN2hWJ.js";
4
- import { useCallback as l, useMemo as u } from "react";
5
- import { useNavigate as d, useSearchParams as f } from "react-router";
6
- import { createFormatters as p } from "@nxgt/material-core/print-format";
1
+ import { r as e } from "./i18n-provider-D5hkauu6.js";
2
+ import { l as t, n, o as r, r as i, s as a, t as o, u as s } from "./use-heading-spy-wlOv87q3.js";
3
+ import { L as c, t as l } from "./number.utils-BiBN2hWJ.js";
4
+ import { useCallback as u, useMemo as d } from "react";
5
+ import { useNavigate as f, useSearchParams as p } from "react-router";
6
+ import { createFormatters as m } from "@nxgt/material-core/print-format";
7
7
  //#region lib/hooks/use-allowed-transitions.ts
8
- function m(e, t, n) {
8
+ function h(e, t, n) {
9
9
  return (t[e] || []).map((e) => {
10
10
  let t = n[e];
11
11
  return t ? {
@@ -16,18 +16,18 @@ function m(e, t, n) {
16
16
  }
17
17
  //#endregion
18
18
  //#region lib/hooks/use-formatters.ts
19
- function h(t = {}) {
19
+ function g(t = {}) {
20
20
  let n = e(), r = t.locale ?? n?.language ?? "en", { timeZone: i } = t;
21
- return u(() => p({
21
+ return d(() => m({
22
22
  locale: r,
23
23
  timeZone: i
24
24
  }), [r, i]);
25
25
  }
26
26
  //#endregion
27
27
  //#region lib/hooks/use-navigation.ts
28
- function g(e, t) {
29
- let n = d();
30
- return l(() => {
28
+ function _(e, t) {
29
+ let n = f();
30
+ return u(() => {
31
31
  n(e, t);
32
32
  }, [
33
33
  n,
@@ -35,21 +35,21 @@ function g(e, t) {
35
35
  t
36
36
  ]);
37
37
  }
38
- function _(e) {
39
- let t = d();
40
- return u(() => e.map(({ to: e, options: n }) => () => {
38
+ function v(e) {
39
+ let t = f();
40
+ return d(() => e.map(({ to: e, options: n }) => () => {
41
41
  t(e, n);
42
42
  }), [t, e]);
43
43
  }
44
44
  //#endregion
45
45
  //#region lib/hooks/use-number-formatter.ts
46
- function v() {
47
- let t = e(), n = l((e, n) => c(e, {
46
+ function y() {
47
+ let t = e(), n = u((e, n) => l(e, {
48
48
  ...n,
49
49
  language: t?.language
50
50
  }), [t?.language]);
51
51
  return {
52
- formatCurrency: l((e, t) => n(e, {
52
+ formatCurrency: u((e, t) => n(e, {
53
53
  ...t,
54
54
  currency: t?.currency,
55
55
  style: t?.currency ? "currency" : void 0
@@ -59,7 +59,7 @@ function v() {
59
59
  }
60
60
  //#endregion
61
61
  //#region lib/hooks/use-options.ts
62
- function y(e, { filter: t, value: n, label: r, expanded: i }) {
62
+ function b(e, { filter: t, value: n, label: r, expanded: i }) {
63
63
  return e.filter((e) => e && (t?.(e) ?? !0)).map((e) => {
64
64
  let t = typeof n == "function" ? n(e) : e[n]?.toString() ?? "", a = "";
65
65
  return a = typeof r == "function" ? r(e) : Array.isArray(r) ? r.map((t) => e[t]).filter(Boolean).join(" ") : e[r]?.toString() ?? "", {
@@ -69,9 +69,9 @@ function y(e, { filter: t, value: n, label: r, expanded: i }) {
69
69
  };
70
70
  });
71
71
  }
72
- function b(e, t) {
72
+ function x(e, t) {
73
73
  let { filter: n, value: r, label: i, expanded: a } = t;
74
- return u(() => y(e, {
74
+ return d(() => b(e, {
75
75
  filter: n,
76
76
  value: r,
77
77
  label: i,
@@ -84,14 +84,14 @@ function b(e, t) {
84
84
  a
85
85
  ]);
86
86
  }
87
- function x(e) {
87
+ function S(e) {
88
88
  return e?.edges?.map((e) => e.node) ?? [];
89
89
  }
90
90
  //#endregion
91
91
  //#region lib/hooks/use-search-param.ts
92
- function S(e) {
93
- let [t, n] = f();
94
- return u(() => t.get(e), [t, e]);
92
+ function C(e) {
93
+ let [t, n] = p();
94
+ return d(() => t.get(e), [t, e]);
95
95
  }
96
96
  //#endregion
97
- export { r as applyResolvedTheme, y as buildOptions, x as extractNode, a as resolveTheme, m as useAllowedTransitions, h as useFormatters, o as useHeadingSpy, s as useIsClient, i as useIsMobile, n as useLocalizedDate, g as useNavigationHandler, _ as useNavigationHandlers, v as useNumberFormatter, b as useOptions, S as useSearchParam, t as useTheme };
97
+ export { t as applyResolvedTheme, b as buildOptions, S as extractNode, s as resolveTheme, h as useAllowedTransitions, r as useCspNonce, g as useFormatters, o as useHeadingSpy, c as useIsClient, i as useIsMobile, n as useLocalizedDate, _ as useNavigationHandler, v as useNavigationHandlers, y as useNumberFormatter, x as useOptions, C as useSearchParam, a as useTheme };
@@ -1,4 +1,4 @@
1
- import { a as e, i as t, t as n } from "./stored-language-BW32owje.js";
1
+ import { a as e, i as t, t as n } from "./stored-language-g121Yv0w.js";
2
2
  import { jsx as r } from "react/jsx-runtime";
3
3
  import { createContext as i, useCallback as a, useContext as o, useMemo as s, useState as c } from "react";
4
4
  //#region lib/i18n/i18n-provider.tsx
package/dist/i18n.js CHANGED
@@ -1,9 +1,9 @@
1
- import { a as e, i as t, o as n, r } from "./stored-language-BW32owje.js";
2
- import { n as i, r as a, t as o } from "./i18n-provider-CQL7fqLy.js";
3
- import { n as s, r as c, t as l } from "./translator-BfqVlNGW.js";
4
- import { o as u, t as d } from "./merge-CwwtONfp.js";
5
- import { t as f } from "./translate-material-ZEzF-LKH.js";
6
- import { t as p } from "./use-material-translation-B2GUtxUY.js";
1
+ import { a as e, i as t, o as n, r } from "./stored-language-g121Yv0w.js";
2
+ import { n as i, r as a, t as o } from "./i18n-provider-D5hkauu6.js";
3
+ import { n as s, r as c, t as l } from "./translator-BMFC0lBV.js";
4
+ import { o as u, t as d } from "./merge-KEf_u3Zy.js";
5
+ import { t as f } from "./translate-material-D3Hp_AI5.js";
6
+ import { t as p } from "./use-material-translation-BGFp1yXp.js";
7
7
  import { useCallback as m } from "react";
8
8
  //#region lib/i18n/merge-resources.ts
9
9
  function h(e, t, n = "") {
@@ -1,6 +1,6 @@
1
- import { x as e } from "./translator-BfqVlNGW.js";
2
- import { i as t, o as n, t as r } from "./_overRest-DMn4Dt71.js";
3
- import { d as i } from "./_Uint8Array-azThpjEP.js";
1
+ import { x as e } from "./translator-BMFC0lBV.js";
2
+ import { i as t, o as n, t as r } from "./_overRest-C21ZmKyH.js";
3
+ import { d as i } from "./_Uint8Array-QCcRMhXd.js";
4
4
  //#region ../../node_modules/lodash-es/_baseRest.js
5
5
  function a(e, i) {
6
6
  return t(r(e, i, n), e + "");
@@ -1,6 +1,6 @@
1
- import { C as e, o as t, s as n, v as r } from "./translator-BfqVlNGW.js";
2
- import { S as i, j as a, k as o } from "./async-slice-DhZDjEtw.js";
3
- import { a as s, c, d as l, f as u, l as d, p as f, u as p } from "./_Uint8Array-azThpjEP.js";
1
+ import { C as e, o as t, s as n, v as r } from "./translator-BMFC0lBV.js";
2
+ import { S as i, j as a, k as o } from "./async-slice-TBZ6Taw2.js";
3
+ import { a as s, c, d as l, f as u, l as d, p as f, u as p } from "./_Uint8Array-QCcRMhXd.js";
4
4
  //#region ../../node_modules/lodash-es/_isFlattenable.js
5
5
  var m = e ? e.isConcatSpreadable : void 0;
6
6
  function h(e) {
@@ -1,4 +1,4 @@
1
- import { ct as e } from "./components-BYxsGbyO.js";
1
+ import { ct as e } from "./components-qTUjhFuo.js";
2
2
  import { t } from "./src-CsLQInsN.js";
3
3
  import { n } from "./chunk-Y2CYZVJY-BAad7w_K.js";
4
4
  import { H as r, U as i, a, c as o, q as s, v as c, w as l, x as u, y as d } from "./chunk-O7XYJQB3-BChweQ_V.js";
@@ -2,7 +2,11 @@ import { default as z } from 'zod';
2
2
  import { MaterialLocaleKey } from '../../../../../i18n/types';
3
3
  import { TFormValues } from './types';
4
4
  export declare const ATTRIBUTE_TYPES: readonly ["COLOR", "DATE", "DATETIME", "MULTI_SELECT", "NUMBER", "RICH_TEXT", "SELECT", "STRING", "TEXT", "TIME"];
5
- export declare const schema: z.ZodObject<{
5
+ /**
6
+ * The attribute form's schema, built on the first call (inside `AttributeForm`'s
7
+ * render), never when the module loads: see `openingHoursSchema`.
8
+ */
9
+ export declare const attributeFormSchema: () => z.ZodObject<{
6
10
  defaultValue: z.ZodOptional<z.ZodNullable<z.ZodAny>>;
7
11
  description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
8
12
  priority: z.ZodOptional<z.ZodNullable<z.ZodCoercedNumber<unknown>>>;
@@ -1,3 +1,3 @@
1
1
  import { z } from 'zod';
2
- import { schema } from './consts';
3
- export type TFormValues = z.infer<typeof schema>;
2
+ import { attributeFormSchema } from './consts';
3
+ export type TFormValues = z.infer<ReturnType<typeof attributeFormSchema>>;
@@ -1,11 +1,22 @@
1
1
  import { default as z } from 'zod';
2
2
  import { MaterialLocaleKey } from '../../../../i18n/types';
3
- export declare const OpeningHoursSchema: z.ZodObject<{
3
+ /**
4
+ * The schema of one opening hour: `dayOfWeek` `0`-`6` (coerced from a
5
+ * string), `openTime` and `closeTime` as `HH:mm`, `isClosed`. Built on the
6
+ * first call, then the same schema: nothing is built when the module loads,
7
+ * so an app under a strict CSP can call `z.config({ jitless: true })` first.
8
+ */
9
+ export declare const openingHoursSchema: () => z.ZodObject<{
4
10
  openTime: z.ZodOptional<z.ZodString>;
5
11
  closeTime: z.ZodOptional<z.ZodString>;
6
12
  isClosed: z.ZodOptional<z.ZodBoolean>;
7
13
  dayOfWeek: z.ZodCoercedNumber<unknown>;
8
14
  }, z.core.$strip>;
15
+ /**
16
+ * @deprecated Use `openingHoursSchema()`; removed in 3.0. Built on its first
17
+ * use, and behaves as the schema the factory returns (not the same object).
18
+ */
19
+ export declare const OpeningHoursSchema: ReturnType<typeof openingHoursSchema>;
9
20
  /** English fallback for every `material.opening-hours.days.*` key. */
10
21
  export declare const DAY_OF_WEEK_FALLBACKS: readonly ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
11
22
  /**
@@ -1,5 +1,5 @@
1
- export type { Debounced } from './debounce';
2
- export { debounce } from './debounce';
1
+ export type { Debounced } from '@nxgt/material-core/debounce';
2
+ export { debounce } from '@nxgt/material-core/debounce';
3
3
  export type { SearchFieldProps } from './search-field';
4
4
  export { SearchField } from './search-field';
5
5
  export * from './search-form-field';
@@ -0,0 +1,6 @@
1
+ import { ImageCropAspectId } from './types';
2
+ /** The aspect picker of `ImageCropper`: free, then the fixed ratios. */
3
+ export declare function ImageCropAspects({ value, onChange, }: {
4
+ value: ImageCropAspectId;
5
+ onChange: (value: ImageCropAspectId) => void;
6
+ }): import("react").JSX.Element;
@@ -0,0 +1,4 @@
1
+ import { RefObject } from 'react';
2
+ import { CropSize } from './crop-resize-handles';
3
+ /** The frame's client size, kept current by a `ResizeObserver`. */
4
+ export declare function useFrameSize(frameRef: RefObject<HTMLDivElement | null>): CropSize | null;
@@ -10,6 +10,7 @@ export * from './input';
10
10
  export * from './input-group';
11
11
  export * from './kbd';
12
12
  export * from './label';
13
+ export * from './nonce-provider';
13
14
  export * from './scroll-area';
14
15
  export * from './separator';
15
16
  export * from './table';
@@ -0,0 +1 @@
1
+ export * from './nonce-provider';
@@ -0,0 +1,20 @@
1
+ import { ReactNode } from 'react';
2
+ export type NonceProviderProps = {
3
+ /**
4
+ * This request's Content Security Policy nonce: the one in the
5
+ * `style-src-elem 'nonce-…'` directive, and the one given to
6
+ * `renderToPipeableStream({ nonce })`. Empty or `undefined`, the nearest
7
+ * outer `NonceProvider`'s nonce carries on.
8
+ */
9
+ nonce: string | undefined;
10
+ children?: ReactNode;
11
+ };
12
+ /**
13
+ * Gives the page's CSP nonce to every component below: the `<style>`
14
+ * elements of `ScrollArea` and `Select`, and the styles `RichTextEditor`
15
+ * injects (`useCspNonce`). On the client it also
16
+ * keeps it for the code that runs outside React (`setCspNonce`), which the
17
+ * modals' scroll lock reads. Render it once, at the root, on the server and
18
+ * on the client, with the same nonce.
19
+ */
20
+ export declare function NonceProvider({ nonce, children }: NonceProviderProps): import("react").JSX.Element;
@@ -1,37 +1,5 @@
1
- import { ReactNode } from 'react';
2
- import { InputGroupFieldProps } from '../../fields/input-group-field/input-group-field';
3
1
  import { AutocompleteChips } from './partials/autocomplete-chips';
4
- export type AutocompleteOption = {
5
- value: string;
6
- label: string;
7
- };
8
- export type AutocompleteProps<T extends AutocompleteOption = AutocompleteOption> = Omit<InputGroupFieldProps, 'renderInput'> & {
9
- label?: ReactNode;
10
- placeholder?: ReactNode;
11
- helperText?: ReactNode;
12
- error?: boolean;
13
- leading?: ReactNode;
14
- trailing?: ReactNode;
15
- options: T[];
16
- getOptionValue?: (option: T) => string;
17
- getOptionLabel?: (option: T) => string;
18
- empty?: ReactNode;
19
- freeSolo?: boolean;
20
- freeSoloLabel?: (query: string) => string;
21
- name?: string;
22
- disabled?: boolean;
23
- renderOption?: (option: T) => ReactNode;
24
- renderSelectedLeading?: (option: T) => ReactNode;
25
- actions?: ReactNode | ((query: string) => ReactNode);
26
- onQueryChange?: (query: string) => void;
27
- } & ({
28
- mode: 'single';
29
- value: string;
30
- onValueChange?: (value?: string | null) => void;
31
- } | {
32
- mode: 'multiple';
33
- value: string[];
34
- onValueChange?: (value?: string[] | null) => void;
35
- });
2
+ import { AutocompleteOption, AutocompleteProps } from './types';
3
+ export type { AutocompleteFilter, AutocompleteOption, AutocompleteProps, AutocompleteSearch, AutocompleteSearchContext, AutocompleteSearchProps, } from './types';
36
4
  export declare function Autocomplete<T extends AutocompleteOption = AutocompleteOption>({ getOptionValue, getOptionLabel, ...props }: AutocompleteProps<T>): import("react").JSX.Element;
37
5
  export { AutocompleteChips };
@@ -0,0 +1,10 @@
1
+ import { ReactNode } from 'react';
2
+ /**
3
+ * The field's polite live region: always in the page (a region that mounts
4
+ * with its text is not read), visually hidden, and holding a sentence only
5
+ * once the list has something to say — "Loading…", "3 results", "No
6
+ * results" or the failure.
7
+ */
8
+ export declare function AutocompleteAnnouncer({ children }: {
9
+ children: ReactNode;
10
+ }): import("react").JSX.Element;
@@ -1,8 +1,13 @@
1
- import { RefObject } from 'react';
2
- import { AutocompleteOption, AutocompleteProps } from '../autocomplete';
3
- /** The label, the chips of the selected options, the input and the helper text. */
1
+ import { ReactNode, RefObject } from 'react';
2
+ import { AutocompleteOption, AutocompleteProps } from '../types';
3
+ /**
4
+ * The label, the chips of the selected options, the input, the helper text
5
+ * and the field's live region.
6
+ */
4
7
  export declare function AutocompleteChips<T extends AutocompleteOption>({ slot, values, getOptionValue, getOptionLabel, ...props }: AutocompleteProps<T> & {
5
8
  onRemove: (value: string) => void;
6
9
  anchor: RefObject<HTMLDivElement | null>;
7
10
  values: string[];
11
+ /** What the field's polite live region says about the list. */
12
+ announcement?: ReactNode;
8
13
  }): import("react").JSX.Element;
@@ -0,0 +1,13 @@
1
+ import { ReactNode } from 'react';
2
+ type ListStatusProps = {
3
+ loading: boolean;
4
+ failure: ReactNode;
5
+ hint: ReactNode;
6
+ };
7
+ /**
8
+ * The row above the options that says the list is loading, why the search
9
+ * failed, or how much to type. Seen, not announced: the field's polite
10
+ * status (`AutocompleteAnnouncer`) says it once.
11
+ */
12
+ export declare function AutocompleteListStatus({ loading, failure, hint, }: ListStatusProps): import("react").JSX.Element | null;
13
+ export {};
@@ -0,0 +1,26 @@
1
+ import { ReactNode, RefObject } from 'react';
2
+ import { AutocompleteOption, AutocompleteProps } from '../types';
3
+ type PopupProps<T extends AutocompleteOption> = Pick<AutocompleteProps<T>, 'actions' | 'freeSoloLabel' | 'renderOption' | 'name' | 'value'> & {
4
+ anchor: RefObject<HTMLDivElement | null>;
5
+ container: HTMLElement | null;
6
+ query: string;
7
+ /** The free-solo button, when the query can be added. */
8
+ showAddButton: boolean;
9
+ onAdd: () => void;
10
+ /** The empty text, when nothing matches and nothing can be added. */
11
+ emptyText: ReactNode;
12
+ /** A search is running: the list is `aria-busy` and says so. */
13
+ loading: boolean;
14
+ /** Why the search failed, shown in place of the options. */
15
+ failure: ReactNode;
16
+ /** The minimum query length `onSearch` waits for, as a sentence. */
17
+ hint: ReactNode;
18
+ getOptionValue: (option: T) => string;
19
+ getOptionLabel: (option: T) => string;
20
+ };
21
+ /**
22
+ * The list: the actions row, its status (loading, failure, minimum length),
23
+ * the empty state (or the free-solo button), the options.
24
+ */
25
+ export declare function AutocompletePopup<T extends AutocompleteOption>(props: PopupProps<T>): import("react").JSX.Element;
26
+ export {};
@@ -0,0 +1,72 @@
1
+ import { ReactNode } from 'react';
2
+ import { InputGroupFieldProps } from '../../fields/input-group-field/input-group-field';
3
+ export type AutocompleteOption = {
4
+ value: string;
5
+ label: string;
6
+ };
7
+ /**
8
+ * How the list is filtered as the user types: `'accent-insensitive'` (the
9
+ * default without `onSearch`) keeps the options whose label or value holds
10
+ * the query, ignoring case and accents; `'none'` shows the options as given
11
+ * (the default with `onSearch`, or when you filter on a server); a function
12
+ * decides per option, given the trimmed query (never called for an empty one).
13
+ */
14
+ export type AutocompleteFilter<T> = 'accent-insensitive' | 'none' | ((option: T, query: string) => boolean);
15
+ /** What `onSearch` is handed besides the query: aborted once it is stale. */
16
+ export type AutocompleteSearchContext = {
17
+ signal: AbortSignal;
18
+ };
19
+ /** A server search: the options for `query`. Pass `signal` on to `fetch`. */
20
+ export type AutocompleteSearch<T> = (query: string, context: AutocompleteSearchContext) => Promise<T[]>;
21
+ /** The async and filtering props; see the Autocomplete page of the docs. */
22
+ export type AutocompleteSearchProps<T> = {
23
+ /**
24
+ * Server search: called once typing pauses (`debounceMs`) with the query
25
+ * and an `AbortSignal`; its results become the list. A response that
26
+ * lands after a newer query's is dropped. `options` then only needs the
27
+ * selected option(s), for their chips.
28
+ */
29
+ onSearch?: AutocompleteSearch<T>;
30
+ /** Called when `onSearch` rejects (an abort is not a rejection). */
31
+ onSearchError?: (error: unknown) => void;
32
+ /** Controlled loading, when you fetch `options` yourself from `onQueryChange`. */
33
+ loading?: boolean;
34
+ /** Controlled failure text, shown and announced in place of the options. */
35
+ searchError?: ReactNode;
36
+ /** The pause before `onSearch` and `onQueryChange` run, in ms. Default 250. */
37
+ debounceMs?: number;
38
+ /** `onSearch` waits for this many characters. Default 1. */
39
+ minQueryLength?: number;
40
+ /** Default `'accent-insensitive'`, or `'none'` with `onSearch`. */
41
+ filter?: AutocompleteFilter<T>;
42
+ };
43
+ export type AutocompleteProps<T extends AutocompleteOption = AutocompleteOption> = Omit<InputGroupFieldProps, 'renderInput'> & {
44
+ label?: ReactNode;
45
+ placeholder?: ReactNode;
46
+ helperText?: ReactNode;
47
+ error?: boolean;
48
+ leading?: ReactNode;
49
+ trailing?: ReactNode;
50
+ /** The options; with `onSearch`, only those to show before a search (the selected ones). */
51
+ options?: T[];
52
+ getOptionValue?: (option: T) => string;
53
+ getOptionLabel?: (option: T) => string;
54
+ empty?: ReactNode;
55
+ freeSolo?: boolean;
56
+ freeSoloLabel?: (query: string) => string;
57
+ name?: string;
58
+ disabled?: boolean;
59
+ renderOption?: (option: T) => ReactNode;
60
+ renderSelectedLeading?: (option: T) => ReactNode;
61
+ actions?: ReactNode | ((query: string) => ReactNode);
62
+ /** The query, once typing pauses (`debounceMs`). */
63
+ onQueryChange?: (query: string) => void;
64
+ } & AutocompleteSearchProps<T> & ({
65
+ mode: 'single';
66
+ value: string;
67
+ onValueChange?: (value?: string | null) => void;
68
+ } | {
69
+ mode: 'multiple';
70
+ value: string[];
71
+ onValueChange?: (value?: string[] | null) => void;
72
+ });
@@ -0,0 +1,13 @@
1
+ import { AutocompleteFilter } from './types';
2
+ type Readers<T> = {
3
+ getOptionValue: (option: T) => string;
4
+ getOptionLabel: (option: T) => string;
5
+ };
6
+ /**
7
+ * The filter the Combobox runs as the user types, from `filter`: `null`
8
+ * (show the options as given) for `'none'`, which `onSearch` defaults to;
9
+ * otherwise a match on the label or the value, accent- and case-insensitive
10
+ * in the provider's language.
11
+ */
12
+ export declare function useAutocompleteFilter<T>(filter: AutocompleteFilter<T> | undefined, searching: boolean, { getOptionValue, getOptionLabel }: Readers<T>): ((option: T, query: string) => boolean) | null;
13
+ export {};
@@ -0,0 +1,17 @@
1
+ import { Dispatch, SetStateAction } from 'react';
2
+ import { ChangeEventDetails } from '../combobox/combobox';
3
+ import { AutocompleteOption, AutocompleteProps } from './types';
4
+ type State<T> = {
5
+ setQuery: Dispatch<SetStateAction<string>>;
6
+ setOpen: Dispatch<SetStateAction<boolean>>;
7
+ getOptionValue: (option: T) => string;
8
+ /** Keeps the picked options, for their chips once the list moves on. */
9
+ remember: (options: T[]) => void;
10
+ };
11
+ /** What the Combobox and the chips call back: a pick, a removal, typing. */
12
+ export declare function useAutocompleteHandlers<T extends AutocompleteOption>(props: AutocompleteProps<T>, { setQuery, setOpen, getOptionValue: readValue, remember }: State<T>): {
13
+ handleRemove: (value: string) => void;
14
+ handleValueChange: (value: any) => void;
15
+ handleInputValueChange: (value: string, eventDetails: ChangeEventDetails) => void;
16
+ };
17
+ export {};
@@ -0,0 +1,8 @@
1
+ import { AsyncSearchState } from '@nxgt/material-core/async-search';
2
+ import { AutocompleteSearchProps } from './types';
3
+ /**
4
+ * `onSearch`'s state while the list is open: searched once typing pauses,
5
+ * each run aborting the last, and a stale response dropped (core's
6
+ * `createAsyncSearch`). `null` without `onSearch`.
7
+ */
8
+ export declare function useAutocompleteSearch<T>(props: Pick<AutocompleteSearchProps<T>, 'onSearch' | 'onSearchError' | 'debounceMs' | 'minQueryLength'>, query: string, open: boolean): AsyncSearchState<T> | null;
@@ -0,0 +1,28 @@
1
+ import { AsyncSearchState } from '@nxgt/material-core/async-search';
2
+ import { ReactNode } from 'react';
3
+ import { AutocompleteProps } from './types';
4
+ type StatusProps = Pick<AutocompleteProps, 'loading' | 'searchError' | 'empty' | 'freeSolo' | 'minQueryLength'> & {
5
+ debounceMs: number;
6
+ };
7
+ type List = {
8
+ query: string;
9
+ open: boolean;
10
+ /** `onSearch`'s state, `null` without it. */
11
+ search: AsyncSearchState<unknown> | null;
12
+ /** How many options the list shows for the query. */
13
+ count: number;
14
+ };
15
+ /**
16
+ * What the list says besides its options — loading, a failure, the minimum
17
+ * query length, the empty text — and the polite announcement: "Loading…",
18
+ * then the count once the search answered or typing paused, never on every
19
+ * keystroke.
20
+ */
21
+ export declare function useAutocompleteStatus(props: StatusProps, list: List): {
22
+ loading: boolean;
23
+ failure: ReactNode;
24
+ hint: string | null;
25
+ emptyText: string | number | bigint | true | import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>> | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import('react').ReactPortal | import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | null;
26
+ announcement: ReactNode;
27
+ };
28
+ export {};