dynamic-mui 2.4.1 → 2.5.1

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 (103) hide show
  1. package/README.md +61 -0
  2. package/dist/{AIForm-DtRl0WdY.mjs → AIForm-BVJ7qhP5.mjs} +2984 -2778
  3. package/dist/AIForm-D8_6RVmA.js +44 -0
  4. package/dist/{accordion-BaiGxDcw.js → accordion-B3fSXKqC.js} +1 -1
  5. package/dist/{accordion-xg_TxxYS.mjs → accordion-BxTjyh5y.mjs} +1 -1
  6. package/dist/{addressfield-BvQEHdEk.mjs → addressfield-C9VaV9xw.mjs} +52 -40
  7. package/dist/addressfield-Cv8zK_sb.js +1 -0
  8. package/dist/ai/index.cjs +1 -1
  9. package/dist/ai/index.mjs +1 -1
  10. package/dist/asyncautocomplete-BveFRqpV.mjs +92 -0
  11. package/dist/asyncautocomplete-CoOb7mtv.js +1 -0
  12. package/dist/{bar-DNc7TMKj.mjs → bar-BfMaIpfo.mjs} +1 -1
  13. package/dist/{bar-BiIzbOC3.js → bar-CE_D8esp.js} +1 -1
  14. package/dist/cascadeselect-C53hT-C-.mjs +66 -0
  15. package/dist/cascadeselect-CWECmehh.js +1 -0
  16. package/dist/collection-Cf87KWZM.js +1 -0
  17. package/dist/collection-HUYkt74J.mjs +1140 -0
  18. package/dist/colorpicker-BRQPl_IL.mjs +111 -0
  19. package/dist/{colorpicker-DpLvK1WR.js → colorpicker-zE3r16Gc.js} +1 -1
  20. package/dist/components/controls/Collection/CollectionList.d.ts +22 -0
  21. package/dist/components/controls/Collection/ItemDialog.d.ts +20 -0
  22. package/dist/components/controls/Collection/collection.d.ts +9 -0
  23. package/dist/components/controls/Collection/parts.d.ts +39 -0
  24. package/dist/components/controls/Collection/tree.d.ts +18 -0
  25. package/dist/components/controls/Collection/ui.d.ts +49 -0
  26. package/dist/components/controls/index.d.ts +1 -0
  27. package/dist/{consentfield-B21l9tGo.js → consentfield-CEddOmCa.js} +1 -1
  28. package/dist/{consentfield-CGT98YbR.mjs → consentfield-Cylid9il.mjs} +13 -11
  29. package/dist/{datatable-Bv0Q37Zy.js → datatable-3MUZQhnx.js} +1 -1
  30. package/dist/{datatable-B_6wXh2g.mjs → datatable-BWimO7zD.mjs} +1 -1
  31. package/dist/dynamic-mui.cjs +1 -1
  32. package/dist/dynamic-mui.mjs +2 -2
  33. package/dist/editabletable--ow4E3bB.js +1 -0
  34. package/dist/{editabletable-YaFqdLvf.mjs → editabletable-CVJ14zrm.mjs} +19 -17
  35. package/dist/{fileupload--KzSGb5a.js → fileupload-B7f6VOb0.js} +1 -1
  36. package/dist/{fileupload-ZBi72f1R.mjs → fileupload-DHiYLdJ5.mjs} +16 -3
  37. package/dist/{formrepeater-Cwgtvz1c.mjs → formrepeater-BGZGTcVb.mjs} +25 -21
  38. package/dist/{formrepeater-BhUEa4BI.js → formrepeater-CvWeLug8.js} +1 -1
  39. package/dist/{formwizard-CYcgf5jL.mjs → formwizard-BeJK5mqc.mjs} +1 -1
  40. package/dist/{formwizard-BlozHDc_.js → formwizard-DrHKFPfN.js} +1 -1
  41. package/dist/{geofield-xqZy_DAY.mjs → geofield-Bchfb6__.mjs} +28 -24
  42. package/dist/geofield-thoXisie.js +1 -0
  43. package/dist/{group-Dtju1rHQ.js → group-B3QBe0YI.js} +1 -1
  44. package/dist/{group-DmLN-b09.mjs → group-DUnv46e_.mjs} +1 -1
  45. package/dist/{intlphone-CXUQP9Gp.mjs → intlphone-BY59PVDg.mjs} +12 -8
  46. package/dist/{intlphone-BeHXAcFi.js → intlphone-CMXEolsT.js} +1 -1
  47. package/dist/{keyvaluefield-BJoEbe4I.mjs → keyvaluefield-BAYbTkCY.mjs} +4 -2
  48. package/dist/{keyvaluefield-BZQDG0l5.js → keyvaluefield-FBaHQ8Ak.js} +1 -1
  49. package/dist/{line-tIm99vYW.js → line-Bk15u06y.js} +1 -1
  50. package/dist/{line-B3CAbZOo.mjs → line-Bzbkzk7f.mjs} +1 -1
  51. package/dist/lineitemlist-8NL2THwe.js +1 -0
  52. package/dist/{lineitemlist-CBSqoC9g.mjs → lineitemlist-PsoQ4LU4.mjs} +23 -19
  53. package/dist/{list-C8QMpJOJ.mjs → list-BGzVPlgh.mjs} +1 -1
  54. package/dist/{list-D_cawpPI.js → list-BmGiSIoi.js} +1 -1
  55. package/dist/locationfield-BG76gNbD.js +1 -0
  56. package/dist/locationfield-CupDmXsM.mjs +118 -0
  57. package/dist/{markdowneditor-DFOgRmdL.mjs → markdowneditor-4StkbrKV.mjs} +15 -11
  58. package/dist/markdowneditor-vDHguMtU.js +2 -0
  59. package/dist/{matrixfield-0lnuaEks.mjs → matrixfield-CeROIIAj.mjs} +34 -30
  60. package/dist/{matrixfield-nWt6Cug5.js → matrixfield-Vptf0zNH.js} +1 -1
  61. package/dist/{mixChart-ISf3Kbr-.mjs → mixChart-Doq4lt7Z.mjs} +2 -2
  62. package/dist/mixChart-rgyMCdnp.js +1 -0
  63. package/dist/{multitextbox-DmAWV163.mjs → multitextbox-DeVv6uzi.mjs} +1 -1
  64. package/dist/{multitextbox-oEgl2F8-.js → multitextbox-DtSydHcv.js} +1 -1
  65. package/dist/{npsscale-CdTEwERY.mjs → npsscale-Cd7PoCJS.mjs} +7 -3
  66. package/dist/{npsscale-DW4sxcLz.js → npsscale-Dwp2T0DQ.js} +1 -1
  67. package/dist/{numberstepper-BwQ5coLc.mjs → numberstepper-BFNTu3Ii.mjs} +6 -2
  68. package/dist/{numberstepper-cDosevJb.js → numberstepper-DBKq7hUm.js} +1 -1
  69. package/dist/{pie-gAfuDR1F.js → pie-CE4QV82D.js} +1 -1
  70. package/dist/{pie-CBRckgd4.mjs → pie-DKRRH37e.mjs} +1 -1
  71. package/dist/richtexteditor-B6lK2iIt.js +1 -0
  72. package/dist/{richtexteditor-xrbv8PXZ.mjs → richtexteditor-DdIfi0-T.mjs} +4 -2
  73. package/dist/schema.d.ts +10 -2
  74. package/dist/{signature-FM6L60nk.js → signature-B_drsWTj.js} +2 -2
  75. package/dist/{signature-CP_lA_Yh.mjs → signature-D9B8bFqg.mjs} +4 -2
  76. package/dist/{stepper-CjGNFyBz.js → stepper-CO6XiIaw.js} +1 -1
  77. package/dist/{stepper-BprezTzX.mjs → stepper-D6e9yWIr.mjs} +1 -1
  78. package/dist/{summaryfield-5mJRwVZ4.mjs → summaryfield-BIA2gc1w.mjs} +1 -1
  79. package/dist/{summaryfield-C3xmqZQp.js → summaryfield-CR3aNMZU.js} +1 -1
  80. package/dist/{tabs-B4P59kHX.js → tabs-B4ZbZQvt.js} +1 -1
  81. package/dist/{tabs-By-Mm8vm.mjs → tabs-PgOpdVX1.mjs} +1 -1
  82. package/dist/tagsinput-DtNb1IuV.js +1 -0
  83. package/dist/tagsinput-G_M0DbpI.mjs +58 -0
  84. package/dist/types.d.ts +188 -0
  85. package/dist/util/collection.d.ts +82 -0
  86. package/package.json +11 -11
  87. package/dist/AIForm-Dv8ahXyE.js +0 -43
  88. package/dist/addressfield-vVizrbZP.js +0 -1
  89. package/dist/asyncautocomplete-AmSRs7PY.mjs +0 -89
  90. package/dist/asyncautocomplete-Dtmxh4l1.js +0 -1
  91. package/dist/cascadeselect-BlznIKS6.mjs +0 -64
  92. package/dist/cascadeselect-DqLtG-W9.js +0 -1
  93. package/dist/colorpicker-hP3b7teC.mjs +0 -98
  94. package/dist/editabletable-D3c3DJxX.js +0 -1
  95. package/dist/geofield-BynrTSVm.js +0 -1
  96. package/dist/lineitemlist-RqStjYB-.js +0 -1
  97. package/dist/locationfield-BiLy-c09.js +0 -1
  98. package/dist/locationfield-KBbu-98L.mjs +0 -119
  99. package/dist/markdowneditor-Dy7Q01FM.js +0 -2
  100. package/dist/mixChart-C3o184UT.js +0 -1
  101. package/dist/richtexteditor-DI-h5Efn.js +0 -1
  102. package/dist/tagsinput-BwM3NYK_.js +0 -1
  103. package/dist/tagsinput-Ce4EWy4i.mjs +0 -58
@@ -0,0 +1,118 @@
1
+ import { jsxs as B, jsx as s, Fragment as q } from "react/jsx-runtime";
2
+ import w from "react";
3
+ import { j as L, t as O, V as U, v as R } from "./AIForm-BVJ7qhP5.mjs";
4
+ import G from "@mui/material/TextField";
5
+ import J from "@mui/material/Button";
6
+ import f from "@mui/material/Box";
7
+ import { Icon as K } from "@mui/material";
8
+ function ot({ attributes: l = {}, rules: m = {}, onChange: i, submitTick: h, messages: F }) {
9
+ const {
10
+ id: c = "",
11
+ MuiAttributes: a = {},
12
+ InputProps: S = {},
13
+ format: v = "",
14
+ buttonText: x = "Update Location",
15
+ buttonIcon: b = "location_on",
16
+ buttonDisplay: j = "both",
17
+ MuiButtonAttributes: g = {},
18
+ disabled: P = !1
19
+ } = l, [r, u] = w.useState({
20
+ value: l.value !== void 0 ? l.value : "",
21
+ helperText: a.helperText || "",
22
+ error: !1
23
+ });
24
+ w.useEffect(() => {
25
+ l.value !== void 0 && l.value !== r.value && u((t) => ({ ...t, value: l.value }));
26
+ }, [l.value]);
27
+ const k = (t) => v ? R(t).format(v) : t, p = (t) => {
28
+ const { validation: e } = m;
29
+ if (e)
30
+ for (let o = 0; o < e.length; o += 1) {
31
+ const n = e[o], y = U[n.rule];
32
+ if (!(typeof y == "function" ? y(t, n.value) : !0)) {
33
+ const H = n.rule === "mandatory" ? F?.required || "This field is required" : "";
34
+ return { isValid: !1, message: n.message || H };
35
+ }
36
+ }
37
+ return { isValid: !0, message: "" };
38
+ };
39
+ L(() => {
40
+ if (h) {
41
+ const t = p(r.value);
42
+ u((e) => ({ ...e, helperText: t.message, error: !t.isValid }));
43
+ }
44
+ }, [h]);
45
+ const z = (t) => {
46
+ const { value: e } = t.target, o = p(e);
47
+ u({ value: e, helperText: o.message, error: !o.isValid });
48
+ }, A = (t) => {
49
+ const { value: e } = t.target, o = k(e), n = p(o);
50
+ u({ value: o, helperText: n.message, error: !n.isValid }), typeof i == "function" && i({ id: c, value: o });
51
+ }, D = () => {
52
+ i && i({ id: c, value: r.value, option: "location_update_request" });
53
+ }, E = () => {
54
+ const t = j, e = /* @__PURE__ */ s(K, { children: b });
55
+ switch (t) {
56
+ case "icon":
57
+ return e;
58
+ case "text":
59
+ return /* @__PURE__ */ s(q, { children: x });
60
+ default:
61
+ return /* @__PURE__ */ B(q, { children: [
62
+ e,
63
+ /* @__PURE__ */ s(f, { component: "span", sx: { ml: 0.5 }, children: x })
64
+ ] });
65
+ }
66
+ }, M = m?.validation?.some((t) => t.rule === "mandatory") || !1, d = { ...a }, I = a.inputProps || a.slotProps?.htmlInput || {}, V = {
67
+ ...a.InputProps || a.slotProps?.input || {},
68
+ ...O(S)
69
+ }, W = {
70
+ ...a.slotProps || {},
71
+ input: V,
72
+ htmlInput: I
73
+ };
74
+ delete d.slotProps, delete d.inputProps, delete d.InputProps;
75
+ const _ = a.variant || "outlined", T = a.size || "medium", C = T === "small" ? _ === "outlined" ? 40 : 48 : 56;
76
+ return /* @__PURE__ */ B(f, { sx: { display: "flex", gap: 1, alignItems: "flex-start", width: "100%" }, children: [
77
+ /* @__PURE__ */ s(f, { sx: { flex: 1, minWidth: 0 }, children: /* @__PURE__ */ s(
78
+ G,
79
+ {
80
+ fullWidth: !0,
81
+ ...d,
82
+ id: c,
83
+ required: M,
84
+ slotProps: W,
85
+ inputProps: I,
86
+ InputProps: V,
87
+ onChange: z,
88
+ onBlur: A,
89
+ value: r.value,
90
+ error: r.error,
91
+ helperText: r.helperText,
92
+ disabled: P
93
+ }
94
+ ) }),
95
+ /* @__PURE__ */ s(
96
+ J,
97
+ {
98
+ variant: "outlined",
99
+ color: "primary",
100
+ size: T === "small" ? "small" : "medium",
101
+ onClick: D,
102
+ disabled: P,
103
+ ...g,
104
+ sx: {
105
+ whiteSpace: "nowrap",
106
+ minWidth: "auto",
107
+ height: C,
108
+ flexShrink: 0,
109
+ ...g?.sx
110
+ },
111
+ children: E()
112
+ }
113
+ )
114
+ ] });
115
+ }
116
+ export {
117
+ ot as default
118
+ };
@@ -7,12 +7,12 @@ import k from "@mui/material/TextField";
7
7
  import y from "@mui/material/FormControl";
8
8
  import C from "@mui/material/FormLabel";
9
9
  import { alpha as S } from "@mui/material/styles";
10
- import { j, m as M, k as H } from "./AIForm-DtRl0WdY.mjs";
11
- function R(t) {
10
+ import { j, m as M, k as H } from "./AIForm-BVJ7qhP5.mjs";
11
+ function I(t) {
12
12
  return t.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
13
13
  }
14
- function T(t) {
15
- let e = R(t || "");
14
+ function R(t) {
15
+ let e = I(t || "");
16
16
  return e = e.replace(/^###\s+(.*)$/gm, "<h3>$1</h3>"), e = e.replace(/^##\s+(.*)$/gm, "<h2>$1</h2>"), e = e.replace(/^#\s+(.*)$/gm, "<h1>$1</h1>"), e = e.replace(/(?:^-\s+.*(?:\n|$))+/gm, (a) => `<ul>${a.trimEnd().split(`
17
17
  `).map((n) => n.replace(/^-\s+(.*)$/, "<li>$1</li>")).join("")}</ul>`), e = e.replace(/\[([^\]]+)\]\(([^)\s]+)\)/g, '<a href="$2">$1</a>'), e = e.replace(/`([^`]+)`/g, "<code>$1</code>"), e = e.replace(/\*\*([^*]+)\*\*/g, "<strong>$1</strong>"), e = e.replace(/\*([^*]+)\*/g, "<em>$1</em>"), e = e.split(/\n{2,}/).map((a) => {
18
18
  const o = a.trim();
@@ -20,7 +20,7 @@ function T(t) {
20
20
  }).join(""), e;
21
21
  }
22
22
  function U({ attributes: t = {}, rules: e = {}, onChange: a }) {
23
- const { id: o = "", label: n, rows: i = 6, MuiAttributes: f = {} } = t, { sx: h, ...g } = f, [m, s] = u.useState(t.value || ""), [p, x] = u.useState(!1);
23
+ const { id: o = "", label: n, rows: i = 6, MuiAttributes: h = {} } = t, { sx: f, ...g } = h, [m, s] = u.useState(t.value || ""), [p, x] = u.useState(!1);
24
24
  j(() => {
25
25
  s(t.value || "");
26
26
  }, [t.value]);
@@ -32,9 +32,11 @@ function U({ attributes: t = {}, rules: e = {}, onChange: a }) {
32
32
  v,
33
33
  {
34
34
  direction: "row",
35
- justifyContent: "space-between",
36
- alignItems: "center",
37
- sx: { mb: 1 },
35
+ sx: {
36
+ justifyContent: "space-between",
37
+ alignItems: "center",
38
+ mb: 1
39
+ },
38
40
  children: [
39
41
  n ? /* @__PURE__ */ l(C, { component: "legend", children: n }) : /* @__PURE__ */ l("span", {}),
40
42
  /* @__PURE__ */ l(
@@ -54,7 +56,7 @@ function U({ attributes: t = {}, rules: e = {}, onChange: a }) {
54
56
  w,
55
57
  {
56
58
  "data-testid": "markdown-preview",
57
- dangerouslySetInnerHTML: { __html: T(m) },
59
+ dangerouslySetInnerHTML: { __html: R(m) },
58
60
  sx: {
59
61
  minHeight: (r) => r.spacing(i * 3),
60
62
  p: 2,
@@ -78,9 +80,11 @@ function U({ attributes: t = {}, rules: e = {}, onChange: a }) {
78
80
  minRows: i,
79
81
  fullWidth: !0,
80
82
  placeholder: "Write markdown…",
81
- inputProps: { "aria-label": n || "markdown editor" },
82
83
  ...g,
83
- sx: M(H, h)
84
+ sx: M(H, f),
85
+ slotProps: {
86
+ htmlInput: { "aria-label": n || "markdown editor" }
87
+ }
84
88
  }
85
89
  )
86
90
  ] });
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react/jsx-runtime"),p=require("react"),v=require("@mui/material/Box"),w=require("@mui/material/Stack"),j=require("@mui/material/Button"),q=require("@mui/material/TextField"),y=require("@mui/material/FormControl"),k=require("@mui/material/FormLabel"),S=require("@mui/material/styles"),a=require("./AIForm-D8_6RVmA.js");function C(r){return r.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function M(r){let e=C(r||"");return e=e.replace(/^###\s+(.*)$/gm,"<h3>$1</h3>"),e=e.replace(/^##\s+(.*)$/gm,"<h2>$1</h2>"),e=e.replace(/^#\s+(.*)$/gm,"<h1>$1</h1>"),e=e.replace(/(?:^-\s+.*(?:\n|$))+/gm,o=>`<ul>${o.trimEnd().split(`
2
+ `).map(s=>s.replace(/^-\s+(.*)$/,"<li>$1</li>")).join("")}</ul>`),e=e.replace(/\[([^\]]+)\]\(([^)\s]+)\)/g,'<a href="$2">$1</a>'),e=e.replace(/`([^`]+)`/g,"<code>$1</code>"),e=e.replace(/\*\*([^*]+)\*\*/g,"<strong>$1</strong>"),e=e.replace(/\*([^*]+)\*/g,"<em>$1</em>"),e=e.split(/\n{2,}/).map(o=>{const n=o.trim();return n?/^<(h1|h2|h3|ul|pre)/.test(n)?n:`<p>${n.replace(/\n/g,"<br />")}</p>`:""}).join(""),e}function I({attributes:r={},rules:e={},onChange:o}){const{id:n="",label:s,rows:i=6,MuiAttributes:g={}}=r,{sx:h,...x}=g,[u,c]=p.useState(r.value||""),[d,f]=p.useState(!1);a.useUpdateEffect(()=>{c(r.value||"")},[r.value]);const $=e?.validation?.some(t=>t.rule==="mandatory"||t.rule==="mandatoryselect")||!1,b=t=>{const m=t.target.value;c(m),o?.({id:n,value:m})};return l.jsxs(y,{required:$,component:"fieldset",fullWidth:!0,children:[l.jsxs(w,{direction:"row",sx:{justifyContent:"space-between",alignItems:"center",mb:1},children:[s?l.jsx(k,{component:"legend",children:s}):l.jsx("span",{}),l.jsx(j,{size:"small",variant:"outlined",onClick:()=>f(t=>!t),sx:{borderRadius:"10px",textTransform:"none"},children:d?"Write":"Preview"})]}),d?l.jsx(v,{"data-testid":"markdown-preview",dangerouslySetInnerHTML:{__html:M(u)},sx:{minHeight:t=>t.spacing(i*3),p:2,borderRadius:"10px",border:t=>`1px solid ${S.alpha(t.palette.text.primary,.12)}`,backgroundColor:t=>t.palette.background.paper,"& :first-of-type":{mt:0},"& :last-child":{mb:0}}}):l.jsx(q,{id:n||void 0,value:u,onChange:b,multiline:!0,minRows:i,fullWidth:!0,placeholder:"Write markdown…",...x,sx:a.mergeSx(a.premiumInputSx,h),slotProps:{htmlInput:{"aria-label":s||"markdown editor"}}})]})}exports.default=I;
@@ -1,4 +1,4 @@
1
- import { jsxs as d, jsx as t } from "react/jsx-runtime";
1
+ import { jsxs as d, jsx as a } from "react/jsx-runtime";
2
2
  import s from "react";
3
3
  import w from "@mui/material/Table";
4
4
  import B from "@mui/material/TableBody";
@@ -12,13 +12,13 @@ import J from "@mui/material/FormControl";
12
12
  import K from "@mui/material/FormLabel";
13
13
  import N from "@mui/material/FormHelperText";
14
14
  import { alpha as R } from "@mui/material/styles";
15
- import { j as O, m as Q, l as V } from "./AIForm-DtRl0WdY.mjs";
16
- const X = (n) => (n || []).map(
17
- (a) => typeof a == "string" ? { id: a, label: a } : { id: String(a.id), label: a.label ?? String(a.id) }
18
- ), Y = (n) => (n || []).map(
19
- (a) => typeof a == "string" ? { value: a, label: a } : { value: String(a.value), label: a.label ?? String(a.value) }
15
+ import { j as O, m as Q, l as V } from "./AIForm-BVJ7qhP5.mjs";
16
+ const X = (o) => (o || []).map(
17
+ (t) => typeof t == "string" ? { id: t, label: t } : { id: String(t.id), label: t.label ?? String(t.id) }
18
+ ), Y = (o) => (o || []).map(
19
+ (t) => typeof t == "string" ? { value: t, label: t } : { value: String(t.value), label: t.label ?? String(t.value) }
20
20
  );
21
- function ce({ attributes: n = {}, rules: a = {}, onChange: $ }) {
21
+ function ce({ attributes: o = {}, rules: t = {}, onChange: $ }) {
22
22
  const {
23
23
  MuiAttributes: F = {},
24
24
  id: h = "",
@@ -26,16 +26,16 @@ function ce({ attributes: n = {}, rules: a = {}, onChange: $ }) {
26
26
  columns: g = [],
27
27
  multiple: c = !1,
28
28
  label: v = ""
29
- } = n, x = s.useMemo(() => X(b), [b]), y = s.useMemo(() => Y(g), [g]), [o, S] = s.useState(n.value || {}), [C, W] = s.useState(!1), [T, z] = s.useState("");
29
+ } = o, x = s.useMemo(() => X(b), [b]), y = s.useMemo(() => Y(g), [g]), [n, S] = s.useState(o.value || {}), [C, W] = s.useState(!1), [T, z] = s.useState("");
30
30
  O(() => {
31
- S(n.value || {});
32
- }, [n.value]);
33
- const p = a?.validation?.some((e) => e.rule === "mandatory" || e.rule === "mandatoryselect") || !1, j = (e) => {
31
+ S(o.value || {});
32
+ }, [o.value]);
33
+ const p = t?.validation?.some((e) => e.rule === "mandatory" || e.rule === "mandatoryselect") || !1, j = (e) => {
34
34
  let r = !0, l = "";
35
35
  return p && (x.every((m) => {
36
36
  const i = e[m.id];
37
37
  return c ? Array.isArray(i) && i.length > 0 : i != null && i !== "";
38
- }) || (r = !1, l = a?.validation?.find(
38
+ }) || (r = !1, l = t?.validation?.find(
39
39
  (i) => i.rule === "mandatory" || i.rule === "mandatoryselect"
40
40
  )?.message || "Required")), { isValid: r, message: l };
41
41
  }, k = (e) => {
@@ -43,34 +43,34 @@ function ce({ attributes: n = {}, rules: a = {}, onChange: $ }) {
43
43
  const r = j(e);
44
44
  W(!r.isValid), z(r.message), $?.({ id: h, value: e, option: e });
45
45
  }, q = (e, r) => {
46
- k({ ...o, [e]: r });
46
+ k({ ...n, [e]: r });
47
47
  }, H = (e, r, l) => {
48
- const f = Array.isArray(o[e]) ? o[e] : [], m = l ? [...f, r] : f.filter((i) => i !== r);
49
- k({ ...o, [e]: m });
48
+ const f = Array.isArray(n[e]) ? n[e] : [], m = l ? [...f, r] : f.filter((i) => i !== r);
49
+ k({ ...n, [e]: m });
50
50
  }, A = (e, r) => {
51
- const l = o[e];
51
+ const l = n[e];
52
52
  return c ? Array.isArray(l) && l.includes(r) : l === r;
53
53
  }, { sx: E, ...P } = F;
54
54
  return /* @__PURE__ */ d(J, { required: p, error: C, component: "fieldset", fullWidth: !0, children: [
55
- v && /* @__PURE__ */ t(K, { required: p, error: C, sx: { mb: 1, fontWeight: 600 }, children: v }),
56
- /* @__PURE__ */ t(
55
+ v && /* @__PURE__ */ a(K, { required: p, error: C, sx: { mb: 1, fontWeight: 600 }, children: v }),
56
+ /* @__PURE__ */ a(
57
57
  L,
58
58
  {
59
59
  sx: Q(V, { width: "100%" }),
60
60
  children: /* @__PURE__ */ d(w, { size: "small", ...P, sx: E, children: [
61
- /* @__PURE__ */ t(U, { children: /* @__PURE__ */ d(
61
+ /* @__PURE__ */ a(U, { children: /* @__PURE__ */ d(
62
62
  M,
63
63
  {
64
64
  sx: (e) => ({
65
65
  backgroundColor: R(e.palette.primary.main, 0.06)
66
66
  }),
67
67
  children: [
68
- /* @__PURE__ */ t(u, { sx: { fontWeight: 700 } }),
69
- y.map((e) => /* @__PURE__ */ t(u, { align: "center", sx: { fontWeight: 700 }, children: e.label }, e.value))
68
+ /* @__PURE__ */ a(u, { sx: { fontWeight: 700 } }),
69
+ y.map((e) => /* @__PURE__ */ a(u, { align: "center", sx: { fontWeight: 700 }, children: e.label }, e.value))
70
70
  ]
71
71
  }
72
72
  ) }),
73
- /* @__PURE__ */ t(B, { children: x.map((e) => /* @__PURE__ */ d(
73
+ /* @__PURE__ */ a(B, { children: x.map((e) => /* @__PURE__ */ d(
74
74
  M,
75
75
  {
76
76
  hover: !0,
@@ -81,24 +81,28 @@ function ce({ attributes: n = {}, rules: a = {}, onChange: $ }) {
81
81
  }
82
82
  }),
83
83
  children: [
84
- /* @__PURE__ */ t(u, { component: "th", scope: "row", sx: { fontWeight: 500 }, children: e.label }),
85
- y.map((r) => /* @__PURE__ */ t(u, { align: "center", padding: "checkbox", children: c ? /* @__PURE__ */ t(
84
+ /* @__PURE__ */ a(u, { component: "th", scope: "row", sx: { fontWeight: 500 }, children: e.label }),
85
+ y.map((r) => /* @__PURE__ */ a(u, { align: "center", padding: "checkbox", children: c ? /* @__PURE__ */ a(
86
86
  G,
87
87
  {
88
88
  checked: A(e.id, r.value),
89
89
  onChange: (l) => H(e.id, r.value, l.target.checked),
90
- inputProps: {
91
- "aria-label": `${e.label} ${r.label}`
90
+ slotProps: {
91
+ input: {
92
+ "aria-label": `${e.label} ${r.label}`
93
+ }
92
94
  }
93
95
  }
94
- ) : /* @__PURE__ */ t(
96
+ ) : /* @__PURE__ */ a(
95
97
  D,
96
98
  {
97
99
  name: `matrix-${h}-${e.id}`,
98
100
  checked: A(e.id, r.value),
99
101
  onChange: () => q(e.id, r.value),
100
- inputProps: {
101
- "aria-label": `${e.label} ${r.label}`
102
+ slotProps: {
103
+ input: {
104
+ "aria-label": `${e.label} ${r.label}`
105
+ }
102
106
  }
103
107
  }
104
108
  ) }, r.value))
@@ -109,7 +113,7 @@ function ce({ attributes: n = {}, rules: a = {}, onChange: $ }) {
109
113
  ] })
110
114
  }
111
115
  ),
112
- T && /* @__PURE__ */ t(N, { children: T })
116
+ T && /* @__PURE__ */ a(N, { children: T })
113
117
  ] });
114
118
  }
115
119
  export {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),o=require("react"),w=require("@mui/material/Table"),B=require("@mui/material/TableBody"),c=require("@mui/material/TableCell"),L=require("@mui/material/TableContainer"),O=require("@mui/material/TableHead"),A=require("@mui/material/TableRow"),U=require("@mui/material/Radio"),D=require("@mui/material/Checkbox"),G=require("@mui/material/FormControl"),J=require("@mui/material/FormLabel"),K=require("@mui/material/FormHelperText"),M=require("@mui/material/styles"),x=require("./AIForm-Dv8ahXyE.js"),N=l=>(l||[]).map(s=>typeof s=="string"?{id:s,label:s}:{id:String(s.id),label:s.label??String(s.id)}),Q=l=>(l||[]).map(s=>typeof s=="string"?{value:s,label:s}:{value:String(s.value),label:s.label??String(s.value)});function V({attributes:l={},rules:s={},onChange:k}){const{MuiAttributes:R={},id:b="",rows:p=[],columns:g=[],multiple:d=!1,label:v=""}=l,f=o.useMemo(()=>N(p),[p]),y=o.useMemo(()=>Q(g),[g]),[i,q]=o.useState(l.value||{}),[j,F]=o.useState(!1),[S,$]=o.useState("");x.useUpdateEffect(()=>{q(l.value||{})},[l.value]);const m=s?.validation?.some(e=>e.rule==="mandatory"||e.rule==="mandatoryselect")||!1,W=e=>{let r=!0,n="";return m&&(f.every(u=>{const a=e[u.id];return d?Array.isArray(a)&&a.length>0:a!=null&&a!==""})||(r=!1,n=s?.validation?.find(a=>a.rule==="mandatory"||a.rule==="mandatoryselect")?.message||"Required")),{isValid:r,message:n}},C=e=>{q(e);const r=W(e);F(!r.isValid),$(r.message),k?.({id:b,value:e,option:e})},z=(e,r)=>{C({...i,[e]:r})},H=(e,r,n)=>{const h=Array.isArray(i[e])?i[e]:[],u=n?[...h,r]:h.filter(a=>a!==r);C({...i,[e]:u})},T=(e,r)=>{const n=i[e];return d?Array.isArray(n)&&n.includes(r):n===r},{sx:P,...E}=R;return t.jsxs(G,{required:m,error:j,component:"fieldset",fullWidth:!0,children:[v&&t.jsx(J,{required:m,error:j,sx:{mb:1,fontWeight:600},children:v}),t.jsx(L,{sx:x.mergeSx(x.premiumSurfaceSx,{width:"100%"}),children:t.jsxs(w,{size:"small",...E,sx:P,children:[t.jsx(O,{children:t.jsxs(A,{sx:e=>({backgroundColor:M.alpha(e.palette.primary.main,.06)}),children:[t.jsx(c,{sx:{fontWeight:700}}),y.map(e=>t.jsx(c,{align:"center",sx:{fontWeight:700},children:e.label},e.value))]})}),t.jsx(B,{children:f.map(e=>t.jsxs(A,{hover:!0,sx:r=>({transition:"background-color .18s cubic-bezier(0.4, 0, 0.2, 1)","&:hover":{backgroundColor:M.alpha(r.palette.primary.main,.04)}}),children:[t.jsx(c,{component:"th",scope:"row",sx:{fontWeight:500},children:e.label}),y.map(r=>t.jsx(c,{align:"center",padding:"checkbox",children:d?t.jsx(D,{checked:T(e.id,r.value),onChange:n=>H(e.id,r.value,n.target.checked),inputProps:{"aria-label":`${e.label} ${r.label}`}}):t.jsx(U,{name:`matrix-${b}-${e.id}`,checked:T(e.id,r.value),onChange:()=>z(e.id,r.value),inputProps:{"aria-label":`${e.label} ${r.label}`}})},r.value))]},e.id))})]})}),S&&t.jsx(K,{children:S})]})}exports.default=V;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),o=require("react"),w=require("@mui/material/Table"),B=require("@mui/material/TableBody"),c=require("@mui/material/TableCell"),L=require("@mui/material/TableContainer"),O=require("@mui/material/TableHead"),A=require("@mui/material/TableRow"),U=require("@mui/material/Radio"),D=require("@mui/material/Checkbox"),G=require("@mui/material/FormControl"),J=require("@mui/material/FormLabel"),K=require("@mui/material/FormHelperText"),M=require("@mui/material/styles"),x=require("./AIForm-D8_6RVmA.js"),N=a=>(a||[]).map(s=>typeof s=="string"?{id:s,label:s}:{id:String(s.id),label:s.label??String(s.id)}),Q=a=>(a||[]).map(s=>typeof s=="string"?{value:s,label:s}:{value:String(s.value),label:s.label??String(s.value)});function V({attributes:a={},rules:s={},onChange:k}){const{MuiAttributes:R={},id:b="",rows:p=[],columns:g=[],multiple:d=!1,label:v=""}=a,f=o.useMemo(()=>N(p),[p]),y=o.useMemo(()=>Q(g),[g]),[i,q]=o.useState(a.value||{}),[j,F]=o.useState(!1),[S,$]=o.useState("");x.useUpdateEffect(()=>{q(a.value||{})},[a.value]);const m=s?.validation?.some(e=>e.rule==="mandatory"||e.rule==="mandatoryselect")||!1,W=e=>{let r=!0,n="";return m&&(f.every(u=>{const l=e[u.id];return d?Array.isArray(l)&&l.length>0:l!=null&&l!==""})||(r=!1,n=s?.validation?.find(l=>l.rule==="mandatory"||l.rule==="mandatoryselect")?.message||"Required")),{isValid:r,message:n}},C=e=>{q(e);const r=W(e);F(!r.isValid),$(r.message),k?.({id:b,value:e,option:e})},z=(e,r)=>{C({...i,[e]:r})},H=(e,r,n)=>{const h=Array.isArray(i[e])?i[e]:[],u=n?[...h,r]:h.filter(l=>l!==r);C({...i,[e]:u})},T=(e,r)=>{const n=i[e];return d?Array.isArray(n)&&n.includes(r):n===r},{sx:P,...E}=R;return t.jsxs(G,{required:m,error:j,component:"fieldset",fullWidth:!0,children:[v&&t.jsx(J,{required:m,error:j,sx:{mb:1,fontWeight:600},children:v}),t.jsx(L,{sx:x.mergeSx(x.premiumSurfaceSx,{width:"100%"}),children:t.jsxs(w,{size:"small",...E,sx:P,children:[t.jsx(O,{children:t.jsxs(A,{sx:e=>({backgroundColor:M.alpha(e.palette.primary.main,.06)}),children:[t.jsx(c,{sx:{fontWeight:700}}),y.map(e=>t.jsx(c,{align:"center",sx:{fontWeight:700},children:e.label},e.value))]})}),t.jsx(B,{children:f.map(e=>t.jsxs(A,{hover:!0,sx:r=>({transition:"background-color .18s cubic-bezier(0.4, 0, 0.2, 1)","&:hover":{backgroundColor:M.alpha(r.palette.primary.main,.04)}}),children:[t.jsx(c,{component:"th",scope:"row",sx:{fontWeight:500},children:e.label}),y.map(r=>t.jsx(c,{align:"center",padding:"checkbox",children:d?t.jsx(D,{checked:T(e.id,r.value),onChange:n=>H(e.id,r.value,n.target.checked),slotProps:{input:{"aria-label":`${e.label} ${r.label}`}}}):t.jsx(U,{name:`matrix-${b}-${e.id}`,checked:T(e.id,r.value),onChange:()=>z(e.id,r.value),slotProps:{input:{"aria-label":`${e.label} ${r.label}`}}})},r.value))]},e.id))})]})}),S&&t.jsx(K,{children:S})]})}exports.default=V;
@@ -4,14 +4,14 @@ import l from "@mui/material/Box";
4
4
  import f from "@mui/material/CircularProgress";
5
5
  const d = c.lazy(async () => {
6
6
  const [
7
- { ChartContainer: i },
7
+ { ChartsContainer: i },
8
8
  { LinePlot: s },
9
9
  { BarPlot: a },
10
10
  { ChartsXAxis: e },
11
11
  { ChartsYAxis: n },
12
12
  { axisClasses: r }
13
13
  ] = await Promise.all([
14
- import("@mui/x-charts/ChartContainer"),
14
+ import("@mui/x-charts/ChartsContainer"),
15
15
  import("@mui/x-charts/LineChart"),
16
16
  import("@mui/x-charts/BarChart"),
17
17
  import("@mui/x-charts/ChartsXAxis"),
@@ -0,0 +1 @@
1
+ "use strict";var m=Object.create;var x=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var b=Object.getPrototypeOf,A=Object.prototype.hasOwnProperty;var M=(t,r,e,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let i of f(r))!A.call(t,i)&&i!==e&&x(t,i,{get:()=>r[i],enumerable:!(n=p(r,i))||n.enumerable});return t};var o=(t,r,e)=>(e=t!=null?m(b(t)):{},M(r||!t||!t.__esModule?x(e,"default",{value:t,enumerable:!0}):e,t));Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),c=require("react"),u=require("@mui/material/Box"),y=require("@mui/material/CircularProgress"),P=c.lazy(async()=>{const[{ChartsContainer:t},{LinePlot:r},{BarPlot:e},{ChartsXAxis:n},{ChartsYAxis:i},{axisClasses:a}]=await Promise.all([import("@mui/x-charts/ChartsContainer"),import("@mui/x-charts/LineChart"),import("@mui/x-charts/BarChart"),import("@mui/x-charts/ChartsXAxis"),import("@mui/x-charts/ChartsYAxis"),import("@mui/x-charts/ChartsAxis")]);return{default:({MuiChartContainerAttributes:h={},MuiChartXAxisAttributes:C={},MuiChartYAxisAttributes:j={},MuiChartSX:d={}})=>s.jsxs(t,{sx:{[`.${a.left} .${a.label}`]:{transform:"translate(-25px, 0)"},[`.${a.right} .${a.label}`]:{transform:"translate(30px, 0)"},...d},...h,children:[s.jsx(e,{}),s.jsx(r,{}),s.jsx(n,{...C}),s.jsx(i,{...j})]})}});function g({attributes:t={}}){const{id:r,MuiBoxAttributes:e={},MuiChartContainerAttributes:n={},MuiChartXAxisAttributes:i={},MuiChartYAxisAttributes:a={},MuiChartSX:l={}}=t;return s.jsx(u,{sx:{width:"100%",maxWidth:600},...e,children:s.jsx(c.Suspense,{fallback:s.jsx(u,{sx:{display:"flex",justifyContent:"center",p:2},children:s.jsx(y,{})}),children:s.jsx(P,{MuiChartContainerAttributes:n,MuiChartXAxisAttributes:i,MuiChartYAxisAttributes:a,MuiChartSX:l})})},r)}exports.default=g;
@@ -1,7 +1,7 @@
1
1
  import { jsx as o, jsxs as k } from "react/jsx-runtime";
2
2
  import { useRef as j, useState as S, useEffect as R } from "react";
3
3
  import { Stack as q, Box as w, TextField as O, Button as $, Icon as d, IconButton as B } from "@mui/material";
4
- import { j as v, k as C } from "./AIForm-DtRl0WdY.mjs";
4
+ import { j as v, k as C } from "./AIForm-BVJ7qhP5.mjs";
5
5
  function T({ attributes: r = {}, rules: p = {}, onChange: i, submitTick: c, messages: m }) {
6
6
  const { id: s = "" } = r, h = m?.required || "Required", f = j(null), [t, a] = S(() => {
7
7
  if (r.value && typeof r.value == "object") {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),i=require("react"),a=require("@mui/material"),d=require("./AIForm-Dv8ahXyE.js");function k({attributes:r={},rules:h={},onChange:f,submitTick:v,messages:m}){const{id:o=""}=r,x=m?.required||"Required",p=i.useRef(null),[l,u]=i.useState(()=>{if(r.value&&typeof r.value=="object"){const e=Object.entries(r.value).map(([n,t])=>({key:n,value:String(t)}));if(e.length>0)return e}return[{key:"t1",value:""}]}),c=h?.validation?.some(e=>e.rule==="mandatory")||!1;d.useUpdateEffect(()=>{v&&c&&!l[0]?.value&&p.current?.focus()},[v]),d.useUpdateEffect(()=>{if(r.value&&typeof r.value=="object"){const e=Object.entries(r.value).map(([n,t])=>({key:n,value:String(t)}));JSON.stringify(e)!==JSON.stringify(l)&&u(e.length>0?e:[{key:"t1",value:""}])}else r.value||u([{key:"t1",value:""}])},[r.value]),i.useEffect(()=>{const e=l.reduce((n,t)=>(n[t.key]=t.value,n),{});f&&f({id:o,value:e})},[l,o]);const y=()=>{const e=l.length+1;u([...l,{key:`t${e}`,value:""}])},g=e=>{const n=l.filter((t,I)=>I!==e);u(n)},j=(e,n)=>{const t=[...l];t[e].value=n,u(t)};return s.jsx(a.Stack,{spacing:2,sx:{width:"100%"},children:l.map((e,n)=>s.jsxs(a.Box,{sx:{display:"flex",gap:1,alignItems:"center"},children:[s.jsx(a.TextField,{fullWidth:!0,id:n===0?o:`${o}_${e.key}`,inputRef:n===0?p:void 0,required:c,error:c&&!e.value,helperText:c&&!e.value?x:"",label:`Value ${e.key}`,value:e.value,onChange:t=>j(n,t.target.value),size:"small",sx:d.premiumInputSx}),n===l.length-1?s.jsx(a.Button,{variant:"contained",color:"primary",onClick:y,sx:{minWidth:"40px",p:1},children:s.jsx(a.Icon,{children:"add"})}):s.jsx(a.IconButton,{color:"error",onClick:()=>g(n),children:s.jsx(a.Icon,{children:"remove"})})]},n))})}exports.default=k;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),i=require("react"),a=require("@mui/material"),d=require("./AIForm-D8_6RVmA.js");function k({attributes:r={},rules:h={},onChange:f,submitTick:v,messages:m}){const{id:o=""}=r,x=m?.required||"Required",p=i.useRef(null),[l,u]=i.useState(()=>{if(r.value&&typeof r.value=="object"){const e=Object.entries(r.value).map(([n,t])=>({key:n,value:String(t)}));if(e.length>0)return e}return[{key:"t1",value:""}]}),c=h?.validation?.some(e=>e.rule==="mandatory")||!1;d.useUpdateEffect(()=>{v&&c&&!l[0]?.value&&p.current?.focus()},[v]),d.useUpdateEffect(()=>{if(r.value&&typeof r.value=="object"){const e=Object.entries(r.value).map(([n,t])=>({key:n,value:String(t)}));JSON.stringify(e)!==JSON.stringify(l)&&u(e.length>0?e:[{key:"t1",value:""}])}else r.value||u([{key:"t1",value:""}])},[r.value]),i.useEffect(()=>{const e=l.reduce((n,t)=>(n[t.key]=t.value,n),{});f&&f({id:o,value:e})},[l,o]);const y=()=>{const e=l.length+1;u([...l,{key:`t${e}`,value:""}])},g=e=>{const n=l.filter((t,I)=>I!==e);u(n)},j=(e,n)=>{const t=[...l];t[e].value=n,u(t)};return s.jsx(a.Stack,{spacing:2,sx:{width:"100%"},children:l.map((e,n)=>s.jsxs(a.Box,{sx:{display:"flex",gap:1,alignItems:"center"},children:[s.jsx(a.TextField,{fullWidth:!0,id:n===0?o:`${o}_${e.key}`,inputRef:n===0?p:void 0,required:c,error:c&&!e.value,helperText:c&&!e.value?x:"",label:`Value ${e.key}`,value:e.value,onChange:t=>j(n,t.target.value),size:"small",sx:d.premiumInputSx}),n===l.length-1?s.jsx(a.Button,{variant:"contained",color:"primary",onClick:y,sx:{minWidth:"40px",p:1},children:s.jsx(a.Icon,{children:"add"})}):s.jsx(a.IconButton,{color:"error",onClick:()=>g(n),children:s.jsx(a.Icon,{children:"remove"})})]},n))})}exports.default=k;
@@ -7,7 +7,7 @@ import A from "@mui/material/FormControl";
7
7
  import F from "@mui/material/FormLabel";
8
8
  import L from "@mui/material/FormHelperText";
9
9
  import { alpha as l } from "@mui/material/styles";
10
- import { j as V, P as s, o as N } from "./AIForm-DtRl0WdY.mjs";
10
+ import { j as V, P as s, o as N } from "./AIForm-BVJ7qhP5.mjs";
11
11
  function K({ attributes: a = {}, rules: p = {}, onChange: k, submitTick: m, messages: M }) {
12
12
  const {
13
13
  id: d = "",
@@ -76,8 +76,12 @@ function K({ attributes: a = {}, rules: p = {}, onChange: k, submitTick: m, mess
76
76
  );
77
77
  }) }),
78
78
  /* @__PURE__ */ S(C, { sx: { display: "flex", justifyContent: "space-between", mt: 0.75 }, children: [
79
- /* @__PURE__ */ t(w, { variant: "caption", color: "text.secondary", children: E }),
80
- /* @__PURE__ */ t(w, { variant: "caption", color: "text.secondary", children: j })
79
+ /* @__PURE__ */ t(w, { variant: "caption", sx: {
80
+ color: "text.secondary"
81
+ }, children: E }),
82
+ /* @__PURE__ */ t(w, { variant: "caption", sx: {
83
+ color: "text.secondary"
84
+ }, children: j })
81
85
  ] }),
82
86
  y && /* @__PURE__ */ t(L, { children: y })
83
87
  ] });
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime"),i=require("react"),q=require("@mui/material/Box"),k=require("@mui/material/Button"),S=require("@mui/material/Typography"),A=require("@mui/material/FormControl"),$=require("@mui/material/FormLabel"),N=require("@mui/material/FormHelperText"),s=require("@mui/material/styles"),l=require("./AIForm-Dv8ahXyE.js");function P({attributes:t={},rules:c={},onChange:j,submitTick:d,messages:M}){const{id:p="",label:n,min:E=0,max:I=10,lowLabel:R="Not likely",highLabel:C="Very likely",MuiAttributes:u={}}=t,w=typeof t.value=="number"?t.value:"",[m,x]=i.useState(w),[U,y]=i.useState(!1),[f,h]=i.useState("");l.useUpdateEffect(()=>{x(typeof t.value=="number"?t.value:"")},[t.value]);const g=c?.validation?.some(e=>e.rule==="mandatory"||e.rule==="mandatoryselect")||!1,b=e=>g?typeof e!="number"?{isValid:!1,message:c?.validation?.find(r=>r.rule==="mandatory"||r.rule==="mandatoryselect")?.message||M?.required||"Required"}:{isValid:!0,message:""}:{isValid:!0,message:""};l.useUpdateEffect(()=>{if(d){const e=b(m);y(!e.isValid),h(e.message)}},[d]);const V=e=>{x(e);const a=b(e);y(!a.isValid),h(a.message),j?.({id:p,value:e})},v=[];for(let e=E;e<=I;e+=1)v.push(e);return o.jsxs(A,{id:p,required:g,error:U,component:"fieldset",sx:{width:"100%"},children:[n&&o.jsx($,{sx:{mb:1,fontWeight:500},component:"legend",children:n}),o.jsx(q,{role:"radiogroup","aria-label":n||"nps scale",sx:{display:"flex",flexWrap:"wrap",gap:.75},children:v.map(e=>{const a=m===e;return o.jsx(k,{role:"radio","aria-checked":a,variant:a?"contained":"outlined",color:"primary",onClick:()=>V(e),...u,sx:r=>({minWidth:44,height:44,px:0,fontWeight:600,borderRadius:`${l.PREMIUM_RADIUS}px`,transition:`transform .18s ${l.PREMIUM_EASING}, box-shadow .18s ${l.PREMIUM_EASING}, background-color .18s ${l.PREMIUM_EASING}`,...a?{boxShadow:`0 4px 12px ${s.alpha(r.palette.primary.main,.35)}`}:{borderColor:s.alpha(r.palette.text.primary,.2),"&:hover":{borderColor:r.palette.primary.main,backgroundColor:s.alpha(r.palette.primary.main,.06)}},"&:hover":{transform:"translateY(-1px)",...a?{boxShadow:`0 6px 16px ${s.alpha(r.palette.primary.main,.4)}`}:{borderColor:r.palette.primary.main,backgroundColor:s.alpha(r.palette.primary.main,.06)}},...u.sx||{}}),children:e},e)})}),o.jsxs(q,{sx:{display:"flex",justifyContent:"space-between",mt:.75},children:[o.jsx(S,{variant:"caption",color:"text.secondary",children:R}),o.jsx(S,{variant:"caption",color:"text.secondary",children:C})]}),f&&o.jsx(N,{children:f})]})}exports.default=P;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime"),i=require("react"),q=require("@mui/material/Box"),k=require("@mui/material/Button"),S=require("@mui/material/Typography"),A=require("@mui/material/FormControl"),$=require("@mui/material/FormLabel"),N=require("@mui/material/FormHelperText"),s=require("@mui/material/styles"),l=require("./AIForm-D8_6RVmA.js");function P({attributes:t={},rules:c={},onChange:j,submitTick:d,messages:M}){const{id:p="",label:n,min:E=0,max:I=10,lowLabel:R="Not likely",highLabel:C="Very likely",MuiAttributes:u={}}=t,w=typeof t.value=="number"?t.value:"",[m,x]=i.useState(w),[U,y]=i.useState(!1),[f,h]=i.useState("");l.useUpdateEffect(()=>{x(typeof t.value=="number"?t.value:"")},[t.value]);const g=c?.validation?.some(e=>e.rule==="mandatory"||e.rule==="mandatoryselect")||!1,b=e=>g?typeof e!="number"?{isValid:!1,message:c?.validation?.find(r=>r.rule==="mandatory"||r.rule==="mandatoryselect")?.message||M?.required||"Required"}:{isValid:!0,message:""}:{isValid:!0,message:""};l.useUpdateEffect(()=>{if(d){const e=b(m);y(!e.isValid),h(e.message)}},[d]);const V=e=>{x(e);const a=b(e);y(!a.isValid),h(a.message),j?.({id:p,value:e})},v=[];for(let e=E;e<=I;e+=1)v.push(e);return o.jsxs(A,{id:p,required:g,error:U,component:"fieldset",sx:{width:"100%"},children:[n&&o.jsx($,{sx:{mb:1,fontWeight:500},component:"legend",children:n}),o.jsx(q,{role:"radiogroup","aria-label":n||"nps scale",sx:{display:"flex",flexWrap:"wrap",gap:.75},children:v.map(e=>{const a=m===e;return o.jsx(k,{role:"radio","aria-checked":a,variant:a?"contained":"outlined",color:"primary",onClick:()=>V(e),...u,sx:r=>({minWidth:44,height:44,px:0,fontWeight:600,borderRadius:`${l.PREMIUM_RADIUS}px`,transition:`transform .18s ${l.PREMIUM_EASING}, box-shadow .18s ${l.PREMIUM_EASING}, background-color .18s ${l.PREMIUM_EASING}`,...a?{boxShadow:`0 4px 12px ${s.alpha(r.palette.primary.main,.35)}`}:{borderColor:s.alpha(r.palette.text.primary,.2),"&:hover":{borderColor:r.palette.primary.main,backgroundColor:s.alpha(r.palette.primary.main,.06)}},"&:hover":{transform:"translateY(-1px)",...a?{boxShadow:`0 6px 16px ${s.alpha(r.palette.primary.main,.4)}`}:{borderColor:r.palette.primary.main,backgroundColor:s.alpha(r.palette.primary.main,.06)}},...u.sx||{}}),children:e},e)})}),o.jsxs(q,{sx:{display:"flex",justifyContent:"space-between",mt:.75},children:[o.jsx(S,{variant:"caption",sx:{color:"text.secondary"},children:R}),o.jsx(S,{variant:"caption",sx:{color:"text.secondary"},children:C})]}),f&&o.jsx(N,{children:f})]})}exports.default=P;
@@ -9,7 +9,7 @@ import E from "@mui/material/FormHelperText";
9
9
  import H from "@mui/icons-material/Remove";
10
10
  import L from "@mui/icons-material/Add";
11
11
  import { alpha as m } from "@mui/material/styles";
12
- import { j as P, m as U } from "./AIForm-DtRl0WdY.mjs";
12
+ import { j as P, m as U } from "./AIForm-BVJ7qhP5.mjs";
13
13
  const t = (n, c = 0) => {
14
14
  const i = Number(n);
15
15
  return Number.isFinite(i) ? i : c;
@@ -57,9 +57,13 @@ function re({ attributes: n = {}, rules: c = {}, onChange: i }) {
57
57
  T,
58
58
  {
59
59
  direction: "row",
60
- alignItems: "center",
61
60
  sx: U(
62
61
  (e) => ({
62
+ // `alignItems` was a Stack system prop before v9. Folded
63
+ // into the base style object rather than left in an sx
64
+ // array — mergeSx already returns SxProps, and SxProps
65
+ // arrays cannot be nested inside another sx array.
66
+ alignItems: "center",
63
67
  display: "inline-flex",
64
68
  width: "fit-content",
65
69
  borderRadius: "10px",
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),C=require("react"),N=require("@mui/material/Stack"),T=require("@mui/material/InputBase"),k=require("@mui/material/IconButton"),P=require("@mui/material/FormControl"),$=require("@mui/material/FormLabel"),D=require("@mui/material/FormHelperText"),E=require("@mui/icons-material/Remove"),H=require("@mui/icons-material/Add"),c=require("@mui/material/styles"),w=require("./AIForm-Dv8ahXyE.js"),n=(o,u=0)=>{const i=Number(o);return Number.isFinite(i)?i:u};function L({attributes:o={},rules:u={},onChange:i}){const{MuiAttributes:I={},id:b="",min:s,max:l,step:h=1,label:d}=o,{sx:A,...F}=I,f=s!=null,g=l!=null,m=e=>{let t=e;return f&&(t=Math.max(t,n(s))),g&&(t=Math.min(t,n(l))),t},[a,v]=C.useState(()=>m(n(o.value,0))),[y,x]=C.useState(String(a)),S=u?.validation?.some(e=>e.rule==="mandatory"||e.rule==="mandatoryselect")||!1;w.useUpdateEffect(()=>{const e=m(n(o.value,0));v(e),x(String(e))},[o.value]);const p=e=>{const t=m(e);v(t),x(String(t)),i?.({id:b,value:t})},q=f&&a<=n(s),M=g&&a>=n(l),R=()=>{q||p(a-n(h,1))},z=()=>{M||p(a+n(h,1))},B=()=>{p(n(y,a))},j={borderRadius:0,px:1.25,color:"text.primary",transition:"background-color .18s","&:hover":e=>({backgroundColor:c.alpha(e.palette.primary.main,.08)}),"&.Mui-disabled":{color:"text.disabled"}};return r.jsxs(P,{component:"fieldset",error:!1,children:[d&&r.jsx($,{component:"legend",required:S,sx:{mb:1},children:d}),r.jsxs(N,{direction:"row",alignItems:"center",sx:w.mergeSx(e=>({display:"inline-flex",width:"fit-content",borderRadius:"10px",overflow:"hidden",border:`1px solid ${c.alpha(e.palette.text.primary,.16)}`,backgroundColor:e.palette.background.paper,transition:"box-shadow .2s, border-color .2s","&:hover":{borderColor:c.alpha(e.palette.primary.main,.5)},"&:focus-within":{borderColor:e.palette.primary.main,boxShadow:`0 0 0 3px ${c.alpha(e.palette.primary.main,.16)}`}}),A),children:[r.jsx(k,{"aria-label":"decrement",onClick:R,disabled:q,size:"small",sx:j,children:r.jsx(E,{fontSize:"small"})}),r.jsx(T,{...F,value:y,inputProps:{"aria-label":d||b||"value",inputMode:"numeric",style:{textAlign:"center",width:56}},onChange:e=>x(e.target.value),onBlur:B,sx:{"& input":{py:.75}}}),r.jsx(k,{"aria-label":"increment",onClick:z,disabled:M,size:"small",sx:j,children:r.jsx(H,{fontSize:"small"})})]}),S&&r.jsx(D,{sx:{mx:0},children:""})]})}exports.default=L;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),C=require("react"),N=require("@mui/material/Stack"),T=require("@mui/material/InputBase"),k=require("@mui/material/IconButton"),P=require("@mui/material/FormControl"),$=require("@mui/material/FormLabel"),D=require("@mui/material/FormHelperText"),E=require("@mui/icons-material/Remove"),H=require("@mui/icons-material/Add"),c=require("@mui/material/styles"),w=require("./AIForm-D8_6RVmA.js"),n=(o,u=0)=>{const i=Number(o);return Number.isFinite(i)?i:u};function L({attributes:o={},rules:u={},onChange:i}){const{MuiAttributes:I={},id:b="",min:s,max:l,step:h=1,label:d}=o,{sx:A,...F}=I,f=s!=null,g=l!=null,m=e=>{let t=e;return f&&(t=Math.max(t,n(s))),g&&(t=Math.min(t,n(l))),t},[a,v]=C.useState(()=>m(n(o.value,0))),[y,x]=C.useState(String(a)),S=u?.validation?.some(e=>e.rule==="mandatory"||e.rule==="mandatoryselect")||!1;w.useUpdateEffect(()=>{const e=m(n(o.value,0));v(e),x(String(e))},[o.value]);const p=e=>{const t=m(e);v(t),x(String(t)),i?.({id:b,value:t})},q=f&&a<=n(s),M=g&&a>=n(l),R=()=>{q||p(a-n(h,1))},z=()=>{M||p(a+n(h,1))},B=()=>{p(n(y,a))},j={borderRadius:0,px:1.25,color:"text.primary",transition:"background-color .18s","&:hover":e=>({backgroundColor:c.alpha(e.palette.primary.main,.08)}),"&.Mui-disabled":{color:"text.disabled"}};return r.jsxs(P,{component:"fieldset",error:!1,children:[d&&r.jsx($,{component:"legend",required:S,sx:{mb:1},children:d}),r.jsxs(N,{direction:"row",sx:w.mergeSx(e=>({alignItems:"center",display:"inline-flex",width:"fit-content",borderRadius:"10px",overflow:"hidden",border:`1px solid ${c.alpha(e.palette.text.primary,.16)}`,backgroundColor:e.palette.background.paper,transition:"box-shadow .2s, border-color .2s","&:hover":{borderColor:c.alpha(e.palette.primary.main,.5)},"&:focus-within":{borderColor:e.palette.primary.main,boxShadow:`0 0 0 3px ${c.alpha(e.palette.primary.main,.16)}`}}),A),children:[r.jsx(k,{"aria-label":"decrement",onClick:R,disabled:q,size:"small",sx:j,children:r.jsx(E,{fontSize:"small"})}),r.jsx(T,{...F,value:y,inputProps:{"aria-label":d||b||"value",inputMode:"numeric",style:{textAlign:"center",width:56}},onChange:e=>x(e.target.value),onBlur:B,sx:{"& input":{py:.75}}}),r.jsx(k,{"aria-label":"increment",onClick:z,disabled:M,size:"small",sx:j,children:r.jsx(H,{fontSize:"small"})})]}),S&&r.jsx(D,{sx:{mx:0},children:""})]})}exports.default=L;
@@ -1 +1 @@
1
- "use strict";var c=Object.create;var u=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var h=Object.getPrototypeOf,d=Object.prototype.hasOwnProperty;var x=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of l(t))!d.call(e,i)&&i!==r&&u(e,i,{get:()=>t[i],enumerable:!(s=a(t,i))||s.enumerable});return e};var f=(e,t,r)=>(r=e!=null?c(h(e)):{},x(t||!e||!e.__esModule?u(r,"default",{value:e,enumerable:!0}):r,e));Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),o=require("react"),j=require("@mui/material/Box"),C=require("@mui/material/CircularProgress"),y=require("./AIForm-Dv8ahXyE.js"),P=o.lazy(()=>import("@mui/x-charts/PieChart").then(e=>({default:e.PieChart})));function g({attributes:e={}}){const{MuiChartAttributes:t={},id:r=""}=e,s=y.getMuiX("PieChart")||P;return n.jsx(o.Suspense,{fallback:n.jsx(j,{sx:{display:"flex",justifyContent:"center",p:2},children:n.jsx(C,{})}),children:n.jsx(s,{height:300,...t},r)})}exports.default=g;
1
+ "use strict";var c=Object.create;var u=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var h=Object.getPrototypeOf,d=Object.prototype.hasOwnProperty;var x=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of l(t))!d.call(e,i)&&i!==r&&u(e,i,{get:()=>t[i],enumerable:!(s=a(t,i))||s.enumerable});return e};var f=(e,t,r)=>(r=e!=null?c(h(e)):{},x(t||!e||!e.__esModule?u(r,"default",{value:e,enumerable:!0}):r,e));Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),o=require("react"),j=require("@mui/material/Box"),C=require("@mui/material/CircularProgress"),y=require("./AIForm-D8_6RVmA.js"),P=o.lazy(()=>import("@mui/x-charts/PieChart").then(e=>({default:e.PieChart})));function g({attributes:e={}}){const{MuiChartAttributes:t={},id:r=""}=e,s=y.getMuiX("PieChart")||P;return n.jsx(o.Suspense,{fallback:n.jsx(j,{sx:{display:"flex",justifyContent:"center",p:2},children:n.jsx(C,{})}),children:n.jsx(s,{height:300,...t},r)})}exports.default=g;
@@ -2,7 +2,7 @@ import { jsx as t } from "react/jsx-runtime";
2
2
  import a, { Suspense as s } from "react";
3
3
  import n from "@mui/material/Box";
4
4
  import f from "@mui/material/CircularProgress";
5
- import { i as m } from "./AIForm-DtRl0WdY.mjs";
5
+ import { i as m } from "./AIForm-BVJ7qhP5.mjs";
6
6
  const c = a.lazy(
7
7
  () => import("@mui/x-charts/PieChart").then((r) => ({ default: r.PieChart }))
8
8
  );
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),m=require("react"),p=require("@mui/material/Box"),h=require("@mui/material/Paper"),x=require("@mui/material/Divider"),g=require("@mui/material/IconButton"),j=require("@mui/material/Tooltip"),M=require("@mui/material/FormLabel"),q=require("@mui/material/FormControl"),S=require("@mui/icons-material/FormatBold"),R=require("@mui/icons-material/FormatItalic"),y=require("@mui/icons-material/FormatUnderlined"),E=require("@mui/icons-material/FormatListBulleted"),C=require("@mui/icons-material/FormatListNumbered"),L=require("@mui/icons-material/Link"),v=require("@mui/icons-material/FormatClear"),n=require("@mui/material/styles"),o=require("./AIForm-D8_6RVmA.js"),U=[{command:"bold",label:"Bold",icon:r.jsx(S,{fontSize:"small"})},{command:"italic",label:"Italic",icon:r.jsx(R,{fontSize:"small"})},{command:"underline",label:"Underline",icon:r.jsx(y,{fontSize:"small"})},{command:"insertUnorderedList",label:"Bulleted list",icon:r.jsx(E,{fontSize:"small"})},{command:"insertOrderedList",label:"Numbered list",icon:r.jsx(C,{fontSize:"small"})},{command:"createLink",label:"Insert link",icon:r.jsx(L,{sx:{fontSize:"small"}}),prompt:!0},{command:"removeFormat",label:"Clear formatting",icon:r.jsx(v,{fontSize:"small"})}];function F({attributes:a={},onChange:u}){const{id:i="",label:s,minHeight:b=160,MuiAttributes:d={}}=a,l=m.useRef(null);m.useEffect(()=>{const e=l.current;if(!e)return;const t=a.value??"";e.innerHTML!==t&&(e.innerHTML=t)},[a.value]);const f=e=>{l.current?.focus();try{if(e.prompt){const t=window.prompt("Enter a URL");t&&document.execCommand(e.command,!1,t)}else document.execCommand(e.command)}catch{}l.current&&u?.({id:i,value:l.current.innerHTML})},I=e=>{u?.({id:i,value:e.currentTarget.innerHTML})};return r.jsxs(q,{fullWidth:!0,children:[s&&r.jsx(M,{sx:{mb:.75,fontWeight:500},component:"legend",children:s}),r.jsxs(h,{variant:"outlined",sx:e=>({borderRadius:`${o.PREMIUM_RADIUS+2}px`,borderColor:n.alpha(e.palette.text.primary,.12),overflow:"hidden",transition:`box-shadow .2s ${o.PREMIUM_EASING}, border-color .2s ${o.PREMIUM_EASING}`,"&:hover":{borderColor:n.alpha(e.palette.primary.main,.5),boxShadow:`0 2px 10px ${n.alpha(e.palette.common.black,.06)}`},"&:focus-within":{borderColor:e.palette.primary.main,boxShadow:`0 0 0 3px ${n.alpha(e.palette.primary.main,.16)}`}}),children:[r.jsx(p,{sx:e=>({display:"flex",flexWrap:"wrap",alignItems:"center",gap:.25,px:.75,py:.5,backgroundColor:n.alpha(e.palette.text.primary,.03)}),children:U.map((e,t)=>r.jsxs(m.Fragment,{children:[(t===3||t===5)&&r.jsx(x,{orientation:"vertical",flexItem:!0,sx:{mx:.25,my:.5}}),r.jsx(j,{title:e.label,children:r.jsx(g,{size:"small","aria-label":e.label,onMouseDown:c=>c.preventDefault(),onClick:()=>f(e),sx:c=>({borderRadius:`${o.PREMIUM_RADIUS-2}px`,transition:`background-color .18s ${o.PREMIUM_EASING}, transform .18s ${o.PREMIUM_EASING}`,"&:hover":{backgroundColor:n.alpha(c.palette.primary.main,.1),transform:"translateY(-1px)"}}),children:e.icon})})]},e.command))}),r.jsx(x,{}),r.jsx(p,{id:i,ref:l,role:"textbox","aria-multiline":"true","aria-label":s||"rich text",contentEditable:!0,suppressContentEditableWarning:!0,onInput:I,...d,sx:e=>({minHeight:b,px:1.75,py:1.25,outline:"none",lineHeight:1.6,color:e.palette.text.primary,backgroundColor:e.palette.background.paper,"& p":{margin:"0 0 0.5em"},"& ul, & ol":{paddingLeft:"1.5em",margin:"0 0 0.5em"},"& a":{color:e.palette.primary.main},...d.sx||{}})})]})]})}exports.default=F;
@@ -15,14 +15,16 @@ import w from "@mui/icons-material/FormatListNumbered";
15
15
  import T from "@mui/icons-material/Link";
16
16
  import z from "@mui/icons-material/FormatClear";
17
17
  import { alpha as t } from "@mui/material/styles";
18
- import { P as l, o as b } from "./AIForm-DtRl0WdY.mjs";
18
+ import { P as l, o as b } from "./AIForm-BVJ7qhP5.mjs";
19
19
  const E = [
20
20
  { command: "bold", label: "Bold", icon: /* @__PURE__ */ o(R, { fontSize: "small" }) },
21
21
  { command: "italic", label: "Italic", icon: /* @__PURE__ */ o(k, { fontSize: "small" }) },
22
22
  { command: "underline", label: "Underline", icon: /* @__PURE__ */ o(F, { fontSize: "small" }) },
23
23
  { command: "insertUnorderedList", label: "Bulleted list", icon: /* @__PURE__ */ o(M, { fontSize: "small" }) },
24
24
  { command: "insertOrderedList", label: "Numbered list", icon: /* @__PURE__ */ o(w, { fontSize: "small" }) },
25
- { command: "createLink", label: "Insert link", icon: /* @__PURE__ */ o(T, { fontSize: "small" }), prompt: !0 },
25
+ { command: "createLink", label: "Insert link", icon: /* @__PURE__ */ o(T, { sx: {
26
+ fontSize: "small"
27
+ } }), prompt: !0 },
26
28
  { command: "removeFormat", label: "Clear formatting", icon: /* @__PURE__ */ o(z, { fontSize: "small" }) }
27
29
  ];
28
30
  function V({ attributes: a = {}, onChange: s }) {
package/dist/schema.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { FormField, RuleExpression } from './types';
1
+ import { CollectionConfig, FormField, RuleExpression } from './types';
2
2
  /**
3
3
  * TYPED SCHEMA LAYER (additive, authoring-only)
4
4
  * ---------------------------------------------
@@ -375,6 +375,14 @@ export interface DividerField extends TypedFieldBase {
375
375
  [k: string]: any;
376
376
  };
377
377
  }
378
+ /** Nested, dialog-edited list (e.g. Customer Locations → Services + Backflows). */
379
+ export interface CollectionField extends TypedFieldBase {
380
+ type: 'collection';
381
+ props: CollectionConfig & {
382
+ value?: Record<string, any>[];
383
+ [k: string]: any;
384
+ };
385
+ }
378
386
  /**
379
387
  * Catch-all — any control key still type-checks (e.g. the less-common ones in
380
388
  * `config/mui.ts`). Kept permissive on purpose so authors are never blocked.
@@ -392,7 +400,7 @@ export interface GenericField {
392
400
  [k: string]: any;
393
401
  }
394
402
  /** Discriminated union across the common controls (+ a permissive fallback). */
395
- export type TypedField = TextFieldField | NumberFieldField | PasswordField | CurrencyField | PhoneField | OtpField | SelectField | AutoCompleteField | RadioField | CheckBoxField | SwitchField | ConsentField | ChipSelectOrToggleField | TagsInputField | RatingField | SliderField | ColorPickerField | DateTimeField | FileUploadField | SignatureField | MarkdownField | KeyValueField | MatrixField | AddressField | GeoField | CascadeSelectField | ComputedField | AlertField | TypographyField | ButtonField | DividerField | GenericField;
403
+ export type TypedField = TextFieldField | NumberFieldField | PasswordField | CurrencyField | PhoneField | OtpField | SelectField | AutoCompleteField | RadioField | CheckBoxField | SwitchField | ConsentField | ChipSelectOrToggleField | TagsInputField | RatingField | SliderField | ColorPickerField | DateTimeField | FileUploadField | SignatureField | MarkdownField | KeyValueField | MatrixField | AddressField | GeoField | CascadeSelectField | ComputedField | AlertField | TypographyField | ButtonField | DividerField | CollectionField | GenericField;
396
404
  /** A complete typed form. */
397
405
  export type TypedSchema = TypedField[];
398
406
  /**