dynamic-mui 2.5.2 → 2.6.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.
- package/dist/accordion-DB151BNT.mjs +22 -0
- package/dist/accordion-YWjUldL8.js +1 -0
- package/dist/addressfield-CpvOajVo.mjs +242 -0
- package/dist/addressfield-CwKjfnTq.js +1 -0
- package/dist/ai/index.cjs +1 -1
- package/dist/ai/index.mjs +1 -14
- package/dist/ai/react/AIForm.d.ts +2 -1
- package/dist/ai/react/AIFormGenerator.d.ts +1 -1
- package/dist/ai/react/AISchemaReview.d.ts +1 -1
- package/dist/ai/react/AITextAssist.d.ts +1 -1
- package/dist/ai/react/AIVisionImport.d.ts +2 -1
- package/dist/ai-BFpA3uHx.js +29 -0
- package/dist/ai-UvDYQ30b.mjs +4533 -0
- package/dist/asyncautocomplete-DQLDdmVl.js +1 -0
- package/dist/asyncautocomplete-mwra2KKJ.mjs +72 -0
- package/dist/bar-CgYZxXHl.js +1 -0
- package/dist/bar-LVtZP6Ui.mjs +4 -0
- package/dist/cascadeselect-BJzHZA9-.js +1 -0
- package/dist/cascadeselect-Cl4OHq-L.mjs +66 -0
- package/dist/chartControl-IQafKpDk.mjs +29 -0
- package/dist/chartControl-ifHiG3nr.js +1 -0
- package/dist/collection-DPJTrAiB.mjs +1692 -0
- package/dist/collection-Dd_Ojgwl.js +1 -0
- package/dist/colorpicker-9AUe21p1.mjs +110 -0
- package/dist/colorpicker-DgKTLBmU.js +1 -0
- package/dist/components/DynamicComponent.d.ts +2 -1
- package/dist/components/FormGenerator.d.ts +1 -1
- package/dist/components/charts/Bar/bar.d.ts +6 -2
- package/dist/components/charts/Line/line.d.ts +6 -2
- package/dist/components/charts/Mixchart/mixChart.d.ts +2 -1
- package/dist/components/charts/Pie/pie.d.ts +6 -2
- package/dist/components/charts/chartControl.d.ts +15 -0
- package/dist/components/controls/Accordion/accordion.d.ts +2 -1
- package/dist/components/controls/AddressField/addressfield.d.ts +2 -1
- package/dist/components/controls/Alert/alert.d.ts +1 -1
- package/dist/components/controls/AsyncAutocomplete/asyncautocomplete.d.ts +1 -1
- package/dist/components/controls/Autocomplete/autocomplete.d.ts +1 -1
- package/dist/components/controls/Button/button.d.ts +1 -1
- package/dist/components/controls/CascadeSelect/cascadeselect.d.ts +2 -1
- package/dist/components/controls/CheckBox/checkbox.d.ts +2 -2
- package/dist/components/controls/CheckBox/toggleInput.d.ts +25 -0
- package/dist/components/controls/Chip/chip.d.ts +1 -1
- package/dist/components/controls/ChipSelect/chipselect.d.ts +2 -1
- package/dist/components/controls/Collection/CollectionList.d.ts +1 -1
- package/dist/components/controls/Collection/ItemDialog.d.ts +1 -1
- package/dist/components/controls/Collection/collection.d.ts +1 -1
- package/dist/components/controls/Collection/parts.d.ts +6 -6
- package/dist/components/controls/ColorPicker/colorpicker.d.ts +2 -1
- package/dist/components/controls/Computed/computed.d.ts +1 -1
- package/dist/components/controls/ConsentField/consentfield.d.ts +2 -1
- package/dist/components/controls/CurrencyField/currencyfield.d.ts +1 -1
- package/dist/components/controls/DataTable/datatable.d.ts +2 -1
- package/dist/components/controls/DateRangePicker/daterangepicker.d.ts +1 -1
- package/dist/components/controls/DateTime/datetime.d.ts +15 -1
- package/dist/components/controls/DateTimePicker/datetimepicker.d.ts +6 -2
- package/dist/components/controls/Divider/divider.d.ts +1 -1
- package/dist/components/controls/EditableTable/editabletable.d.ts +1 -1
- package/dist/components/controls/FileUpload/fileupload.d.ts +1 -1
- package/dist/components/controls/FormRepeater/formrepeater.d.ts +1 -1
- package/dist/components/controls/FormWizard/formwizard.d.ts +1 -1
- package/dist/components/controls/GeoField/geofield.d.ts +1 -1
- package/dist/components/controls/Group/group.d.ts +2 -1
- package/dist/components/controls/Hyperlink/hyperlink.d.ts +1 -1
- package/dist/components/controls/ImageList/imagelist.d.ts +1 -1
- package/dist/components/controls/IntlPhone/intlphone.d.ts +2 -1
- package/dist/components/controls/KeyValueField/keyvaluefield.d.ts +2 -1
- package/dist/components/controls/LineItemList/lineitemlist.d.ts +1 -1
- package/dist/components/controls/List/list.d.ts +1 -1
- package/dist/components/controls/LocationField/locationfield.d.ts +1 -1
- package/dist/components/controls/MarkdownEditor/markdowneditor.d.ts +2 -1
- package/dist/components/controls/MatrixField/matrixfield.d.ts +2 -1
- package/dist/components/controls/MultiTextbox/multitextbox.d.ts +1 -1
- package/dist/components/controls/NpsScale/npsscale.d.ts +2 -1
- package/dist/components/controls/NumberField/numberfield.d.ts +2 -1
- package/dist/components/controls/NumberStepper/numberstepper.d.ts +1 -1
- package/dist/components/controls/OtpField/otpfield.d.ts +2 -1
- package/dist/components/controls/PasswordField/passwordfield.d.ts +2 -1
- package/dist/components/controls/PhoneField/phonefield.d.ts +1 -1
- package/dist/components/controls/Radio/radio.d.ts +2 -1
- package/dist/components/controls/Rating/rating.d.ts +2 -1
- package/dist/components/controls/RichTextEditor/richtexteditor.d.ts +2 -1
- package/dist/components/controls/Select/select.d.ts +2 -1
- package/dist/components/controls/Signature/signature.d.ts +1 -1
- package/dist/components/controls/Slider/slider.d.ts +1 -1
- package/dist/components/controls/Stepper/stepper.d.ts +1 -1
- package/dist/components/controls/SummaryField/summaryfield.d.ts +2 -1
- package/dist/components/controls/Switch/switch.d.ts +1 -1
- package/dist/components/controls/Tabs/tabs.d.ts +2 -1
- package/dist/components/controls/TagsInput/tagsinput.d.ts +1 -1
- package/dist/components/controls/TextField/textfield.d.ts +1 -1
- package/dist/components/controls/TextField/useTextInput.d.ts +18 -0
- package/dist/components/controls/TimePicker/timepicker.d.ts +6 -2
- package/dist/components/controls/ToggleButtons/togglebuttons.d.ts +1 -1
- package/dist/components/controls/Typography/typography.d.ts +1 -1
- package/dist/components/controls/index.d.ts +24 -9
- package/dist/consentfield-CFm1IDa5.mjs +68 -0
- package/dist/consentfield-z8W0Yfx8.js +1 -0
- package/dist/datatable-CMjaTDPM.js +1 -0
- package/dist/datatable-lZIwHx6a.mjs +29 -0
- package/dist/dynamic-mui.cjs +1 -1
- package/dist/dynamic-mui.d.ts +1 -1
- package/dist/dynamic-mui.mjs +264 -204
- package/dist/editabletable-B3Df4Jys.mjs +117 -0
- package/dist/editabletable-r0RwM1rO.js +1 -0
- package/dist/fileupload-Cr-Mz7oH.js +1 -0
- package/dist/fileupload-D2fXyMIu.mjs +191 -0
- package/dist/formrepeater-BP-RBrQv.js +1 -0
- package/dist/formrepeater-BrYTYCzc.mjs +82 -0
- package/dist/formwizard-CQ2z6fUX.mjs +82 -0
- package/dist/formwizard-DR7fa59M.js +1 -0
- package/dist/geofield-CxVFA0og.mjs +116 -0
- package/dist/geofield-DtN-d2Bq.js +1 -0
- package/dist/group-CiohorzN.mjs +30 -0
- package/dist/group-HQL7UqHt.js +1 -0
- package/dist/imagelist-CNe1Dp_M.mjs +23 -0
- package/dist/imagelist-Wm5Qa6wA.js +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/intlphone-DwsiSfSt.js +1 -0
- package/dist/intlphone-LGE-cB6X.mjs +341 -0
- package/dist/keyvaluefield-B7NlE0AT.js +1 -0
- package/dist/keyvaluefield-Cd4NQf6d.mjs +128 -0
- package/dist/line-BGSi1tvf.js +1 -0
- package/dist/line-cK6taoCA.mjs +4 -0
- package/dist/lineitemlist-bmk7fEf9.mjs +169 -0
- package/dist/lineitemlist-mulPt3cO.js +1 -0
- package/dist/list-D5qW-7Xg.js +1 -0
- package/dist/list-xPNiijgm.mjs +20 -0
- package/dist/locationfield-DtWkxnX-.js +1 -0
- package/dist/locationfield-SPonkbMU.mjs +90 -0
- package/dist/markdowneditor-6lJQ5cEn.mjs +82 -0
- package/dist/markdowneditor-nPP0t2eK.js +2 -0
- package/dist/matrixfield-CUYoJCwi.js +1 -0
- package/dist/matrixfield-Jm9Yx0EP.mjs +119 -0
- package/dist/mixChart-CSq7pQqJ.mjs +49 -0
- package/dist/mixChart-DoehYa8V.js +1 -0
- package/dist/muiX-BHOKpogF.mjs +12 -0
- package/dist/muiX-CG_D1XQ2.js +1 -0
- package/dist/multitextbox-D-JUSnT7.js +1 -0
- package/dist/multitextbox-gUt8BmfQ.mjs +96 -0
- package/dist/npsscale-D_VtbpJi.js +1 -0
- package/dist/npsscale-LWe7yCxB.mjs +111 -0
- package/dist/numberstepper-BXXlSKT_.js +1 -0
- package/dist/numberstepper-K_JfJJtg.mjs +111 -0
- package/dist/pie-CueMspFX.js +1 -0
- package/dist/pie-DFO89j-z.mjs +4 -0
- package/dist/richtexteditor-BHM-8xe3.js +1 -0
- package/dist/richtexteditor-gmObNHZ7.mjs +178 -0
- package/dist/rolldown-runtime-5iZMYShA.js +1 -0
- package/dist/s3Upload-C3-wcrua.js +1 -0
- package/dist/s3Upload-HtE088XA.mjs +39 -0
- package/dist/signature-DjYfiNzq.js +3 -0
- package/dist/signature-HiL8FJ6C.mjs +1116 -0
- package/dist/stepper-cpOj2wWz.mjs +166 -0
- package/dist/stepper-zEfhqmbA.js +1 -0
- package/dist/summaryfield-BzrdvTVy.js +1 -0
- package/dist/summaryfield-DIQfJjjo.mjs +65 -0
- package/dist/tabs-DvPu-zDC.mjs +50 -0
- package/dist/tabs-xdkLXUCp.js +1 -0
- package/dist/tagsinput-B33m6GJ_.js +1 -0
- package/dist/tagsinput-CTBGuv0M.mjs +49 -0
- package/dist/useSyncedState-CzAO4D1o.mjs +17 -0
- package/dist/useSyncedState-DYNKkpDv.js +1 -0
- package/dist/useTextInput-Cm0_Ps2V.js +1 -0
- package/dist/useTextInput-Dr-ncTE8.mjs +1683 -0
- package/dist/useUpdateEffect-CNBo9hj8.js +1 -0
- package/dist/useUpdateEffect-CXAhttj7.mjs +14 -0
- package/dist/util/helper.d.ts +18 -1
- package/dist/util/muiVersion.d.ts +13 -0
- package/dist/util/stepperComponents.d.ts +1 -1
- package/dist/util/useSyncedState.d.ts +22 -0
- package/dist/util/validation.d.ts +40 -0
- package/dist/v4-Dyp-SQ1c.js +1 -0
- package/dist/v4-YCkfo8OR.mjs +27 -0
- package/dist/validation-B7DPZ218.js +7 -0
- package/dist/validation-BRcYhhsT.mjs +4991 -0
- package/package.json +35 -35
- package/dist/AIForm-CAlzDffx.js +0 -44
- package/dist/AIForm-DhR29Z6d.mjs +0 -12274
- package/dist/accordion-B1Laqpu6.js +0 -1
- package/dist/accordion-DRo0ZP5u.mjs +0 -23
- package/dist/addressfield-1Ht4A4u9.mjs +0 -164
- package/dist/addressfield-DEu_5gQv.js +0 -1
- package/dist/asyncautocomplete-BPTtLquY.mjs +0 -92
- package/dist/asyncautocomplete-DPn-jVl4.js +0 -1
- package/dist/bar-CEFjy1KY.js +0 -1
- package/dist/bar-CkCZunh6.mjs +0 -21
- package/dist/cascadeselect-BKqX6e3j.mjs +0 -66
- package/dist/cascadeselect-DCMmaKxY.js +0 -1
- package/dist/collection-B6mXg1EE.js +0 -1
- package/dist/collection-D6iGJnXe.mjs +0 -1157
- package/dist/colorpicker-DRC4NHgd.mjs +0 -111
- package/dist/colorpicker-VOk6ZC89.js +0 -1
- package/dist/consentfield-Bogbxanw.js +0 -1
- package/dist/consentfield-DHIVXzhj.mjs +0 -80
- package/dist/datatable-DU0W9LHs.mjs +0 -21
- package/dist/datatable-DUdM8xtY.js +0 -1
- package/dist/editabletable-D801lgHY.mjs +0 -128
- package/dist/editabletable-De_BiNVx.js +0 -1
- package/dist/fileupload-CozsBlXX.mjs +0 -185
- package/dist/fileupload-YGYUpPXo.js +0 -1
- package/dist/formrepeater-LXzfFY3V.mjs +0 -75
- package/dist/formrepeater-iD9e1ow4.js +0 -1
- package/dist/formwizard-Bb0LOmIN.mjs +0 -83
- package/dist/formwizard-CuDayHm6.js +0 -1
- package/dist/geofield-B22-bJ0f.mjs +0 -108
- package/dist/geofield-DkB-js8Y.js +0 -1
- package/dist/group-B5vjjzsk.mjs +0 -23
- package/dist/group-B_WI43pI.js +0 -1
- package/dist/imagelist-Bn9QhIv7.js +0 -1
- package/dist/imagelist-rqmJajHt.mjs +0 -18
- package/dist/intlphone-CkHQ2YvK.js +0 -1
- package/dist/intlphone-DnqGCNdx.mjs +0 -144
- package/dist/keyvaluefield-CX97ykNT.js +0 -1
- package/dist/keyvaluefield-Dm5dRen5.mjs +0 -127
- package/dist/line-CjQk91Nq.js +0 -1
- package/dist/line-pFBz6CTL.mjs +0 -21
- package/dist/lineitemlist-B5JJqhjg.mjs +0 -170
- package/dist/lineitemlist-C39r0qRM.js +0 -1
- package/dist/list-73Pemuh_.mjs +0 -20
- package/dist/list-CkVSoMPM.js +0 -1
- package/dist/locationfield-DLFggIVT.js +0 -1
- package/dist/locationfield-DY8wZ-Vv.mjs +0 -118
- package/dist/markdowneditor-BtF43ekZ.js +0 -2
- package/dist/markdowneditor-VfwnN9cX.mjs +0 -94
- package/dist/matrixfield-BIKQg7FM.mjs +0 -121
- package/dist/matrixfield-BjdsHrtX.js +0 -1
- package/dist/mixChart-Doq4lt7Z.mjs +0 -75
- package/dist/mixChart-rgyMCdnp.js +0 -1
- package/dist/multitextbox-BNZ6kVPG.js +0 -1
- package/dist/multitextbox-DqLIw1i-.mjs +0 -78
- package/dist/npsscale-B2JYIHr8.js +0 -1
- package/dist/npsscale-CWFVm0wp.mjs +0 -91
- package/dist/numberstepper-Cpb7ceR4.js +0 -1
- package/dist/numberstepper-DLwZsyV1.mjs +0 -132
- package/dist/pie-AC1_bQ6M.mjs +0 -21
- package/dist/pie-BZhroZyG.js +0 -1
- package/dist/richtexteditor-Bwn62mA-.mjs +0 -143
- package/dist/richtexteditor-DDIzZxki.js +0 -1
- package/dist/s3Upload-B0JeoLkS.js +0 -1
- package/dist/s3Upload-dpioZ2c8.mjs +0 -51
- package/dist/signature-DtXYAy1a.js +0 -2
- package/dist/signature-z2PB3zv7.mjs +0 -1227
- package/dist/stepper-B8Blpvp8.mjs +0 -140
- package/dist/stepper-o3Ef6Czl.js +0 -1
- package/dist/summaryfield-2t_sXF8P.js +0 -1
- package/dist/summaryfield-CTQL3W7R.mjs +0 -96
- package/dist/tabs-DlIOUQ5z.js +0 -1
- package/dist/tabs-lqveygGh.mjs +0 -39
- package/dist/tagsinput-C2awcyJT.mjs +0 -58
- package/dist/tagsinput-g_-HLhtt.js +0 -1
- package/dist/v4-BysszJq8.mjs +0 -30
- package/dist/v4-CqdK_b8Y.js +0 -1
package/dist/dynamic-mui.mjs
CHANGED
|
@@ -1,209 +1,269 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
import { c as e, n as t, t as n } from "./validation-BRcYhhsT.mjs";
|
|
2
|
+
import { l as r, u as i } from "./useTextInput-Dr-ncTE8.mjs";
|
|
3
|
+
import { A as a, D as o, F as s, G as c, I as l, K as u, L as d, M as f, N as p, O as m, P as h, a as g, c as _, d as v, f as y, h as b, i as x, j as S, k as C, l as w, m as T, n as E, o as D, p as O, r as k, s as A, t as j, u as M } from "./ai-UvDYQ30b.mjs";
|
|
4
|
+
import { n as N, r as P, t as F } from "./muiX-BHOKpogF.mjs";
|
|
5
|
+
import { useCallback as I, useMemo as L, useRef as R, useState as z } from "react";
|
|
6
|
+
// src/util/resolvers.ts
|
|
7
|
+
function B(e) {
|
|
8
|
+
return (t) => {
|
|
9
|
+
let n = e.safeParse(t);
|
|
10
|
+
return !n || n.success ? [] : (n.error?.issues || n.error?.errors || []).map((e) => ({
|
|
11
|
+
id: String(e?.path?.[0] ?? ""),
|
|
12
|
+
message: e?.message || "Invalid value",
|
|
13
|
+
rule: e?.code || "zod"
|
|
14
|
+
})).filter((e) => e.id);
|
|
15
|
+
};
|
|
9
16
|
}
|
|
10
|
-
function
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
function V(e) {
|
|
18
|
+
return (t) => {
|
|
19
|
+
try {
|
|
20
|
+
return e.validateSync(t, { abortEarly: !1 }), [];
|
|
21
|
+
} catch (e) {
|
|
22
|
+
return (e?.inner?.length ? e.inner : e ? [e] : []).map((e) => ({
|
|
23
|
+
id: String(e?.path ?? ""),
|
|
24
|
+
message: e?.message || "Invalid value",
|
|
25
|
+
rule: e?.type || "yup"
|
|
26
|
+
})).filter((e) => e.id);
|
|
27
|
+
}
|
|
28
|
+
};
|
|
18
29
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
30
|
+
// src/util/useFormEngine.ts
|
|
31
|
+
var H = /* @__PURE__ */ e(u()), U = (e, t) => {
|
|
32
|
+
let n = [];
|
|
33
|
+
return (e || []).forEach((e) => {
|
|
34
|
+
if (n.push(e), Array.isArray(e.subforms) && e.subforms.length) {
|
|
35
|
+
let r = e?.id || e?.props?.id, i = r ? t[r] : void 0;
|
|
36
|
+
e.subforms.forEach((e) => {
|
|
37
|
+
(Array.isArray(i) ? i.includes(e.conditionValue) : e.conditionValue === i) && n.push(...U(e.data || [], t));
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
}), n;
|
|
41
|
+
}, W = (e) => e?.id || e?.props?.id || "", G = (e, t) => !e?.visibleWhen || C(e.visibleWhen, t), K = (e, t) => e?.optionsMap && e?.dependsOn ? e.optionsMap[t[e.dependsOn]] || [] : e?.props?.options;
|
|
42
|
+
function q(e, r = {}) {
|
|
43
|
+
let { resolver: i } = r, a = r.messages?.required || "This field is required", s = L(() => {
|
|
44
|
+
let t = { ...r.initialValues || {} };
|
|
45
|
+
return U(e, t).forEach((e) => {
|
|
46
|
+
let n = W(e), r = e?.props?.value;
|
|
47
|
+
n && t[n] === void 0 && r !== void 0 && (t[n] = r);
|
|
48
|
+
}), t;
|
|
49
|
+
}, []), [c, l] = z(s), [u, d] = z([]), f = R(s), p = I((t) => {
|
|
50
|
+
let n = { ...t };
|
|
51
|
+
return U(e, n).forEach((e) => {
|
|
52
|
+
let t = W(e);
|
|
53
|
+
if (t && e.visibleWhen && !C(e.visibleWhen, n) && delete n[t], t && e.optionsMap && e.dependsOn) {
|
|
54
|
+
let r = (e.optionsMap[n[e.dependsOn]] || []).map((e) => typeof e == "string" ? e : e?.value), i = n[t];
|
|
55
|
+
i != null && i !== "" && !r.includes(i) && delete n[t];
|
|
56
|
+
}
|
|
57
|
+
}), (e || []).forEach((e) => {
|
|
58
|
+
if (!Array.isArray(e.subforms) || !e.subforms.length) return;
|
|
59
|
+
let t = W(e), r = t ? n[t] : void 0, i = /* @__PURE__ */ new Set(), a = /* @__PURE__ */ new Set();
|
|
60
|
+
e.subforms.forEach((e) => {
|
|
61
|
+
let t = Array.isArray(r) ? r.includes(e.conditionValue) : e.conditionValue === r;
|
|
62
|
+
(e.data || []).forEach((e) => {
|
|
63
|
+
let n = W(e);
|
|
64
|
+
n && (t ? i : a).add(n);
|
|
65
|
+
});
|
|
66
|
+
}), a.forEach((e) => {
|
|
67
|
+
i.has(e) || delete n[e];
|
|
68
|
+
});
|
|
69
|
+
}), U(e, n).forEach((e) => {
|
|
70
|
+
let t = W(e);
|
|
71
|
+
t && e.formula && (n[t] = m(e.formula, n));
|
|
72
|
+
}), n;
|
|
73
|
+
}, [e]), h = I((e, t) => {
|
|
74
|
+
l((n) => p({
|
|
75
|
+
...n,
|
|
76
|
+
[e]: t
|
|
77
|
+
}));
|
|
78
|
+
}, [p]), g = I((e) => {
|
|
79
|
+
l((t) => p({
|
|
80
|
+
...t,
|
|
81
|
+
...e || {}
|
|
82
|
+
}));
|
|
83
|
+
}, [p]), _ = I((r) => {
|
|
84
|
+
let s = U(e, r), c = [], l = /* @__PURE__ */ new Set();
|
|
85
|
+
if (s.forEach((e) => {
|
|
86
|
+
let t = W(e);
|
|
87
|
+
t && !G(e, r) && l.add(t);
|
|
88
|
+
}), s.forEach((e) => {
|
|
89
|
+
let i = W(e);
|
|
90
|
+
if (!i || l.has(i)) return;
|
|
91
|
+
let s = [...e?.rules?.validation || []], u = s.some((e) => n.includes(e.rule));
|
|
92
|
+
if (e.requiredWhen && !u && C(e.requiredWhen, r) && s.push({
|
|
93
|
+
rule: "mandatory",
|
|
94
|
+
message: e.requiredMessage || a
|
|
95
|
+
}), !s.length) return;
|
|
96
|
+
let d = r[i], f = d == null ? "" : String(d), p = s.some((e) => n.includes(e.rule));
|
|
97
|
+
s.forEach((e) => {
|
|
98
|
+
let s = o[e.rule];
|
|
99
|
+
if (s) {
|
|
100
|
+
if (!f && !p) return;
|
|
101
|
+
let t = r[e.field ?? e.value];
|
|
102
|
+
s(f, t == null ? "" : String(t)) || c.push({
|
|
103
|
+
id: i,
|
|
104
|
+
rule: e.rule,
|
|
105
|
+
message: e.message
|
|
106
|
+
});
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
let l = t[e.rule];
|
|
110
|
+
if (typeof l != "function") return;
|
|
111
|
+
let u = n.includes(e.rule);
|
|
112
|
+
(f || u) && (l(u ? d : f, e.value) || c.push({
|
|
113
|
+
id: i,
|
|
114
|
+
rule: e.rule,
|
|
115
|
+
message: e.message || (u ? a : "")
|
|
116
|
+
}));
|
|
117
|
+
});
|
|
118
|
+
}), i) {
|
|
119
|
+
let e = [];
|
|
120
|
+
try {
|
|
121
|
+
e = i(r) || [];
|
|
122
|
+
} catch {
|
|
123
|
+
e = [];
|
|
124
|
+
}
|
|
125
|
+
e.forEach((e) => {
|
|
126
|
+
e && e.id && !l.has(e.id) && c.push({
|
|
127
|
+
id: e.id,
|
|
128
|
+
rule: e.rule || "schema",
|
|
129
|
+
message: e.message
|
|
130
|
+
});
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
return c;
|
|
134
|
+
}, [
|
|
135
|
+
e,
|
|
136
|
+
i,
|
|
137
|
+
a
|
|
138
|
+
]), v = I(() => {
|
|
139
|
+
let e = _(c);
|
|
140
|
+
return d(e), e;
|
|
141
|
+
}, [_, c]), y = I((e) => {
|
|
142
|
+
let t = _(c);
|
|
143
|
+
return d(t), t.length === 0 && e && e({ ...c }), t;
|
|
144
|
+
}, [_, c]), b = I(() => {
|
|
145
|
+
l({ ...f.current }), d([]);
|
|
146
|
+
}, []), x = L(() => {
|
|
147
|
+
let t = /* @__PURE__ */ new Map();
|
|
148
|
+
return u.forEach((e) => {
|
|
149
|
+
e.id && !t.has(e.id) && t.set(e.id, e.message);
|
|
150
|
+
}), U(e, c).map((e) => {
|
|
151
|
+
let r = W(e), i = (e?.rules?.validation || []).some((e) => n.includes(e.rule)) || !!(e.requiredWhen && C(e.requiredWhen, c));
|
|
152
|
+
return {
|
|
153
|
+
id: r,
|
|
154
|
+
field: e,
|
|
155
|
+
value: e.formula ? m(e.formula, c) : c[r],
|
|
156
|
+
visible: G(e, c),
|
|
157
|
+
disabled: !!(e.disabledWhen && C(e.disabledWhen, c)),
|
|
158
|
+
required: i,
|
|
159
|
+
options: K(e, c),
|
|
160
|
+
error: t.get(r)
|
|
161
|
+
};
|
|
162
|
+
});
|
|
163
|
+
}, [
|
|
164
|
+
e,
|
|
165
|
+
c,
|
|
166
|
+
u
|
|
167
|
+
]), S = L(() => x.filter((e) => e.visible), [x]), w = I((e) => x.find((t) => t.id === e), [x]), T = L(() => !(0, H.default)(c, f.current), [c]);
|
|
168
|
+
return {
|
|
169
|
+
values: c,
|
|
170
|
+
errors: u,
|
|
171
|
+
fields: x,
|
|
172
|
+
visibleFields: S,
|
|
173
|
+
getFieldState: w,
|
|
174
|
+
setValue: h,
|
|
175
|
+
setValues: g,
|
|
176
|
+
validate: v,
|
|
177
|
+
isValid: u.length === 0,
|
|
178
|
+
isDirty: T,
|
|
179
|
+
reset: b,
|
|
180
|
+
submit: y
|
|
181
|
+
};
|
|
142
182
|
}
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
183
|
+
// src/util/validateSchema.ts
|
|
184
|
+
var J = /* @__PURE__ */ new Set([
|
|
185
|
+
"typography",
|
|
186
|
+
"divider",
|
|
187
|
+
"alert",
|
|
188
|
+
"image",
|
|
189
|
+
"imagelist",
|
|
190
|
+
"hyperlink",
|
|
191
|
+
"button"
|
|
192
|
+
]), Y = (e) => e?.id || e?.props?.id, X = (e, t = /* @__PURE__ */ new Set()) => ((e || []).forEach((e) => {
|
|
193
|
+
let n = Y(e);
|
|
194
|
+
n && t.add(n), Array.isArray(e?.subforms) && e.subforms.forEach((e) => X(e?.data || [], t));
|
|
195
|
+
}), t), Z = (e) => {
|
|
196
|
+
if (!e || typeof e != "object") return [];
|
|
197
|
+
if (typeof e.field == "string") return [e.field];
|
|
198
|
+
let t = e.all || e.any || e.none;
|
|
199
|
+
return Array.isArray(t) ? t.flatMap(Z) : [];
|
|
200
|
+
}, Q = (e) => (Array.isArray(e) ? e : []).map((e) => typeof e == "string" ? e : e?.value);
|
|
201
|
+
function $(e) {
|
|
202
|
+
let t = [], n = X(e), r = (e) => {
|
|
203
|
+
let i = /* @__PURE__ */ new Set();
|
|
204
|
+
(e || []).forEach((e) => {
|
|
205
|
+
let a = Y(e), o = e?.type;
|
|
206
|
+
if (!a && !J.has(o) && t.push({
|
|
207
|
+
level: "warning",
|
|
208
|
+
code: "missing-id",
|
|
209
|
+
message: `A "${o || "field"}" has no id; its value can't be captured.`
|
|
210
|
+
}), a && (i.has(a) && t.push({
|
|
211
|
+
level: "error",
|
|
212
|
+
code: "duplicate-id",
|
|
213
|
+
field: a,
|
|
214
|
+
message: `Duplicate field id "${a}" among siblings — their values will collide.`
|
|
215
|
+
}), i.add(a)), e?.dependsOn && !e?.optionsMap && t.push({
|
|
216
|
+
level: "warning",
|
|
217
|
+
code: "depends-without-options",
|
|
218
|
+
field: a,
|
|
219
|
+
message: `"${a}" has \`dependsOn\` but no \`optionsMap\`, so its options never change.`
|
|
220
|
+
}), e?.optionsMap && !e?.dependsOn && t.push({
|
|
221
|
+
level: "warning",
|
|
222
|
+
code: "options-without-depends",
|
|
223
|
+
field: a,
|
|
224
|
+
message: `"${a}" has \`optionsMap\` but no \`dependsOn\`, so it can't pick a branch.`
|
|
225
|
+
}), e?.dependsOn && !n.has(e.dependsOn) && t.push({
|
|
226
|
+
level: "error",
|
|
227
|
+
code: "unknown-depends-target",
|
|
228
|
+
field: a,
|
|
229
|
+
message: `"${a}" dependsOn "${e.dependsOn}", which is not a field in this schema.`
|
|
230
|
+
}), [
|
|
231
|
+
"visibleWhen",
|
|
232
|
+
"disabledWhen",
|
|
233
|
+
"requiredWhen"
|
|
234
|
+
].forEach((r) => {
|
|
235
|
+
Z(e?.[r]).forEach((e) => {
|
|
236
|
+
n.has(e) || t.push({
|
|
237
|
+
level: "error",
|
|
238
|
+
code: "unknown-rule-field",
|
|
239
|
+
field: a,
|
|
240
|
+
message: `"${a}" ${r} references field "${e}", which does not exist.`
|
|
241
|
+
});
|
|
242
|
+
});
|
|
243
|
+
}), (e?.rules?.validation || []).forEach((e) => {
|
|
244
|
+
e?.field && /Field$/.test(e?.rule || "") && !n.has(e.field) && t.push({
|
|
245
|
+
level: "error",
|
|
246
|
+
code: "unknown-cross-field",
|
|
247
|
+
field: a,
|
|
248
|
+
message: `"${a}" rule "${e.rule}" compares against "${e.field}", which does not exist.`
|
|
249
|
+
});
|
|
250
|
+
}), Array.isArray(e?.subforms) && e.subforms.length) {
|
|
251
|
+
let n = Q(e?.props?.options);
|
|
252
|
+
n.length && e.subforms.forEach((e) => {
|
|
253
|
+
e?.conditionValue !== void 0 && !n.includes(e.conditionValue) && t.push({
|
|
254
|
+
level: "warning",
|
|
255
|
+
code: "subform-condition-not-an-option",
|
|
256
|
+
field: a,
|
|
257
|
+
message: `"${a}" has a subform for value "${e.conditionValue}", which isn't one of its options.`
|
|
258
|
+
});
|
|
259
|
+
}), e.subforms.forEach((e) => r(e?.data || []));
|
|
260
|
+
}
|
|
261
|
+
});
|
|
262
|
+
};
|
|
263
|
+
return r(e), t;
|
|
172
264
|
}
|
|
173
|
-
|
|
174
|
-
|
|
265
|
+
// src/schema.ts
|
|
266
|
+
function ee(e) {
|
|
267
|
+
return e;
|
|
175
268
|
}
|
|
176
|
-
export {
|
|
177
|
-
pe as AIFill,
|
|
178
|
-
fe as AIForm,
|
|
179
|
-
me as AIFormGenerator,
|
|
180
|
-
ge as AISchemaReview,
|
|
181
|
-
ve as AITextAssist,
|
|
182
|
-
ye as AIVisionImport,
|
|
183
|
-
be as ClearFormData,
|
|
184
|
-
Ae as Controls,
|
|
185
|
-
Ee as DynamicComponent,
|
|
186
|
-
we as FormData,
|
|
187
|
-
Me as FormGenerator,
|
|
188
|
-
Se as MuiConfig,
|
|
189
|
-
Fe as configureMuiX,
|
|
190
|
-
Ie as createAIClient,
|
|
191
|
-
ce as defineForm,
|
|
192
|
-
Oe as formFieldsToSimple,
|
|
193
|
-
Ve as getMuiX,
|
|
194
|
-
$e as getRegisteredControl,
|
|
195
|
-
Ce as hasRegisteredControl,
|
|
196
|
-
We as registerControl,
|
|
197
|
-
qe as registerControls,
|
|
198
|
-
Re as registeredControlTypes,
|
|
199
|
-
De as resetMuiX,
|
|
200
|
-
ke as simpleFieldsToFormFields,
|
|
201
|
-
Te as slug,
|
|
202
|
-
Le as unregisterControl,
|
|
203
|
-
_e as useAIAssist,
|
|
204
|
-
ze as useForm,
|
|
205
|
-
de as useFormEngine,
|
|
206
|
-
le as validateSchema,
|
|
207
|
-
ae as yupResolver,
|
|
208
|
-
te as zodResolver
|
|
209
|
-
};
|
|
269
|
+
export { D as AIFill, j as AIForm, A as AIFormGenerator, k as AISchemaReview, x as AITextAssist, E as AIVisionImport, y as ClearFormData, d as Controls, a as DynamicComponent, O as FormData, T as FormGenerator, c as MuiConfig, F as configureMuiX, _ as createAIClient, ee as defineForm, w as formFieldsToSimple, N as getMuiX, S as getRegisteredControl, f as hasRegisteredControl, r as migrateFormData, i as migrateFormField, p as registerControl, h as registerControls, s as registeredControlTypes, P as resetMuiX, M as simpleFieldsToFormFields, v as slug, l as unregisterControl, g as useAIAssist, b as useForm, q as useFormEngine, $ as validateSchema, V as yupResolver, B as zodResolver };
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { B as e, U as t } from "./ai-UvDYQ30b.mjs";
|
|
2
|
+
import { n } from "./useSyncedState-CzAO4D1o.mjs";
|
|
3
|
+
import { jsx as r, jsxs as i } from "react/jsx-runtime";
|
|
4
|
+
import a from "@mui/material/TextField";
|
|
5
|
+
import o from "@mui/material/FormControl";
|
|
6
|
+
import s from "@mui/material/FormLabel";
|
|
7
|
+
import c from "@mui/material/Button";
|
|
8
|
+
import l from "@mui/material/IconButton";
|
|
9
|
+
import u from "@mui/material/Table";
|
|
10
|
+
import d from "@mui/material/TableBody";
|
|
11
|
+
import f from "@mui/material/TableCell";
|
|
12
|
+
import p from "@mui/material/TableContainer";
|
|
13
|
+
import m from "@mui/material/TableHead";
|
|
14
|
+
import h from "@mui/material/TableRow";
|
|
15
|
+
import g from "@mui/material/Paper";
|
|
16
|
+
import _ from "@mui/icons-material/Add";
|
|
17
|
+
import v from "@mui/icons-material/Close";
|
|
18
|
+
// src/components/controls/EditableTable/editabletable.tsx
|
|
19
|
+
function y(e) {
|
|
20
|
+
return Array.isArray(e) ? e.map((e) => ({ ...e || {} })) : [];
|
|
21
|
+
}
|
|
22
|
+
function b({ attributes: b = {}, onChange: x }) {
|
|
23
|
+
let { MuiAttributes: S = {}, id: C = "", columns: w = [], addLabel: T = "Add row", label: E } = b, { sx: D, ...O } = S, k = Array.isArray(w) ? w : [], [A, j] = n(() => y(b.value), [b.value]), M = (e) => {
|
|
24
|
+
x?.({
|
|
25
|
+
id: C,
|
|
26
|
+
value: e
|
|
27
|
+
});
|
|
28
|
+
}, N = (e, t, n) => {
|
|
29
|
+
let r = A.map((r, i) => i === e ? {
|
|
30
|
+
...r,
|
|
31
|
+
[t]: n
|
|
32
|
+
} : r);
|
|
33
|
+
j(r), M(r);
|
|
34
|
+
}, P = () => {
|
|
35
|
+
let e = [...A, {}];
|
|
36
|
+
j(e), M(e);
|
|
37
|
+
}, F = (e) => {
|
|
38
|
+
let t = A.filter((t, n) => n !== e);
|
|
39
|
+
j(t), M(t);
|
|
40
|
+
};
|
|
41
|
+
return /* @__PURE__ */ i(o, {
|
|
42
|
+
component: "fieldset",
|
|
43
|
+
fullWidth: !0,
|
|
44
|
+
children: [
|
|
45
|
+
E && /* @__PURE__ */ r(s, {
|
|
46
|
+
component: "legend",
|
|
47
|
+
sx: { mb: 1 },
|
|
48
|
+
children: E
|
|
49
|
+
}),
|
|
50
|
+
/* @__PURE__ */ r(p, {
|
|
51
|
+
component: g,
|
|
52
|
+
variant: "outlined",
|
|
53
|
+
sx: {
|
|
54
|
+
borderRadius: 2,
|
|
55
|
+
overflow: "hidden"
|
|
56
|
+
},
|
|
57
|
+
children: /* @__PURE__ */ i(u, {
|
|
58
|
+
size: "small",
|
|
59
|
+
children: [/* @__PURE__ */ r(m, { children: /* @__PURE__ */ i(h, {
|
|
60
|
+
sx: { backgroundColor: "action.hover" },
|
|
61
|
+
children: [k.map((e) => /* @__PURE__ */ r(f, {
|
|
62
|
+
sx: { fontWeight: 600 },
|
|
63
|
+
children: e.label
|
|
64
|
+
}, e.key)), /* @__PURE__ */ r(f, {
|
|
65
|
+
align: "right",
|
|
66
|
+
sx: { width: 48 }
|
|
67
|
+
})]
|
|
68
|
+
}) }), /* @__PURE__ */ r(d, { children: A.map((n, o) => /* @__PURE__ */ i(h, {
|
|
69
|
+
sx: {
|
|
70
|
+
transition: "background-color 150ms cubic-bezier(0.4, 0, 0.2, 1)",
|
|
71
|
+
"&:hover": { backgroundColor: "action.hover" }
|
|
72
|
+
},
|
|
73
|
+
children: [k.map((i) => /* @__PURE__ */ r(f, { children: /* @__PURE__ */ r(a, {
|
|
74
|
+
...O,
|
|
75
|
+
type: i.type === "number" ? "number" : "text",
|
|
76
|
+
value: n[i.key] ?? "",
|
|
77
|
+
onChange: (e) => N(o, i.key, e.target.value),
|
|
78
|
+
size: "small",
|
|
79
|
+
variant: "standard",
|
|
80
|
+
fullWidth: !0,
|
|
81
|
+
sx: e(t, D),
|
|
82
|
+
slotProps: { htmlInput: { "aria-label": `${i.label} row ${o + 1}` } }
|
|
83
|
+
}) }, i.key)), /* @__PURE__ */ r(f, {
|
|
84
|
+
align: "right",
|
|
85
|
+
children: /* @__PURE__ */ r(l, {
|
|
86
|
+
"aria-label": `Remove row ${o + 1}`,
|
|
87
|
+
onClick: () => F(o),
|
|
88
|
+
size: "small",
|
|
89
|
+
sx: {
|
|
90
|
+
borderRadius: 2,
|
|
91
|
+
color: "text.secondary",
|
|
92
|
+
"&:hover": { color: "error.main" }
|
|
93
|
+
},
|
|
94
|
+
children: /* @__PURE__ */ r(v, { fontSize: "small" })
|
|
95
|
+
})
|
|
96
|
+
})]
|
|
97
|
+
}, o)) })]
|
|
98
|
+
})
|
|
99
|
+
}),
|
|
100
|
+
/* @__PURE__ */ r(c, {
|
|
101
|
+
onClick: P,
|
|
102
|
+
startIcon: /* @__PURE__ */ r(_, {}),
|
|
103
|
+
size: "small",
|
|
104
|
+
variant: "text",
|
|
105
|
+
sx: {
|
|
106
|
+
alignSelf: "flex-start",
|
|
107
|
+
mt: 1,
|
|
108
|
+
borderRadius: 2,
|
|
109
|
+
textTransform: "none",
|
|
110
|
+
fontWeight: 600
|
|
111
|
+
},
|
|
112
|
+
children: T
|
|
113
|
+
})
|
|
114
|
+
]
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
export { b as default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("./rolldown-runtime-5iZMYShA.js"),t=require("./ai-BFpA3uHx.js"),n=require("./useSyncedState-DYNKkpDv.js");let r=require("react/jsx-runtime"),i=require("@mui/material/TextField");i=e.n(i);let a=require("@mui/material/FormControl");a=e.n(a);let o=require("@mui/material/FormLabel");o=e.n(o);let s=require("@mui/material/Button");s=e.n(s);let c=require("@mui/material/IconButton");c=e.n(c);let l=require("@mui/material/Table");l=e.n(l);let u=require("@mui/material/TableBody");u=e.n(u);let d=require("@mui/material/TableCell");d=e.n(d);let f=require("@mui/material/TableContainer");f=e.n(f);let p=require("@mui/material/TableHead");p=e.n(p);let m=require("@mui/material/TableRow");m=e.n(m);let h=require("@mui/material/Paper");h=e.n(h);let g=require("@mui/icons-material/Add");g=e.n(g);let _=require("@mui/icons-material/Close");_=e.n(_);function v(e){return Array.isArray(e)?e.map(e=>({...e||{}})):[]}function y({attributes:e={},onChange:y}){let{MuiAttributes:b={},id:x=``,columns:S=[],addLabel:C=`Add row`,label:w}=e,{sx:T,...E}=b,D=Array.isArray(S)?S:[],[O,k]=n.n(()=>v(e.value),[e.value]),A=e=>{y?.({id:x,value:e})},j=(e,t,n)=>{let r=O.map((r,i)=>i===e?{...r,[t]:n}:r);k(r),A(r)},M=()=>{let e=[...O,{}];k(e),A(e)},N=e=>{let t=O.filter((t,n)=>n!==e);k(t),A(t)};return(0,r.jsxs)(a.default,{component:`fieldset`,fullWidth:!0,children:[w&&(0,r.jsx)(o.default,{component:`legend`,sx:{mb:1},children:w}),(0,r.jsx)(f.default,{component:h.default,variant:`outlined`,sx:{borderRadius:2,overflow:`hidden`},children:(0,r.jsxs)(l.default,{size:`small`,children:[(0,r.jsx)(p.default,{children:(0,r.jsxs)(m.default,{sx:{backgroundColor:`action.hover`},children:[D.map(e=>(0,r.jsx)(d.default,{sx:{fontWeight:600},children:e.label},e.key)),(0,r.jsx)(d.default,{align:`right`,sx:{width:48}})]})}),(0,r.jsx)(u.default,{children:O.map((e,n)=>(0,r.jsxs)(m.default,{sx:{transition:`background-color 150ms cubic-bezier(0.4, 0, 0.2, 1)`,"&:hover":{backgroundColor:`action.hover`}},children:[D.map(a=>(0,r.jsx)(d.default,{children:(0,r.jsx)(i.default,{...E,type:a.type===`number`?`number`:`text`,value:e[a.key]??``,onChange:e=>j(n,a.key,e.target.value),size:`small`,variant:`standard`,fullWidth:!0,sx:t.B(t.U,T),slotProps:{htmlInput:{"aria-label":`${a.label} row ${n+1}`}}})},a.key)),(0,r.jsx)(d.default,{align:`right`,children:(0,r.jsx)(c.default,{"aria-label":`Remove row ${n+1}`,onClick:()=>N(n),size:`small`,sx:{borderRadius:2,color:`text.secondary`,"&:hover":{color:`error.main`}},children:(0,r.jsx)(_.default,{fontSize:`small`})})})]},n))})]})}),(0,r.jsx)(s.default,{onClick:M,startIcon:(0,r.jsx)(g.default,{}),size:`small`,variant:`text`,sx:{alignSelf:`flex-start`,mt:1,borderRadius:2,textTransform:`none`,fontWeight:600},children:C})]})}exports.default=y;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("./rolldown-runtime-5iZMYShA.js"),t=require("./ai-BFpA3uHx.js"),n=require("./validation-B7DPZ218.js"),r=require("./useSyncedState-DYNKkpDv.js"),i=require("./s3Upload-C3-wcrua.js");let a=require("react"),o=require("@mui/material/Typography");o=e.n(o);let s=require("react/jsx-runtime"),c=require("@mui/material/Box");c=e.n(c);let l=require("@mui/material/IconButton");l=e.n(l);let u=require("@mui/material/CircularProgress");u=e.n(u);let d=require("@mui/icons-material/CloudUpload");d=e.n(d);let f=require("@mui/icons-material/Close");f=e.n(f);let p=require("@mui/icons-material/InsertDriveFile");p=e.n(p);var m=e=>e?Array.isArray(e)?e.filter(Boolean):[e]:[],h=e=>/^data:image\//i.test(e)||/\.(png|jpe?g|gif|webp|bmp|svg)(\?.*)?$/i.test(e),g=e=>new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(r.result||``),r.onerror=()=>n(r.error),r.readAsDataURL(e)});function _({attributes:e={},rules:_={},onChange:v}){let{id:y=``,multiple:b=!1,accept:x=``,bucket:S=``,region:C=``,identityPoolId:w=``,path:T=``,maxSizeMB:E=0,label:D=`Upload file`,MuiAttributes:O={}}=e,k=(0,a.useRef)(null),[A,j]=r.n(()=>m(e.value),[e.value]),[M,N]=(0,a.useState)(!1),[P,F]=(0,a.useState)(!1),[I,L]=(0,a.useState)(``),R=n.r(_),z=(e,t)=>{v?.({id:y,value:b?e:e[0]??``,option:t})},B=async e=>{let t=Array.from(e);if(!t.length)return;L(``),F(!0);let n=[],r=[];try{for(let e of t){if(E&&e.size>E*1024*1024){L(`"${e.name}" exceeds the ${E}MB limit.`);continue}let t=await g(e),a=await i.t(t,e.name,S,C,w,T);n.push(a),r.push(e)}}catch(e){console.error(`FileUpload failed`,e),L(`Upload failed. Please try again.`)}finally{F(!1)}if(!n.length)return;let a=b?[...A,...n]:n.slice(0,1);j(a),z(a,r)},V=e=>{e.target.files&&B(e.target.files),e.target.value=``},H=e=>{e.preventDefault(),N(!1),e.dataTransfer?.files?.length&&B(e.dataTransfer.files)},U=e=>{let t=A.filter((t,n)=>n!==e);j(t),z(t)};return(0,s.jsxs)(c.default,{sx:{width:`100%`,...O.sx},children:[(0,s.jsxs)(o.default,{variant:`subtitle2`,gutterBottom:!0,sx:{display:`flex`},children:[D,R&&(0,s.jsx)(c.default,{component:`span`,sx:{color:`error.main`,ml:.5},children:`*`})]}),(0,s.jsx)(`input`,{ref:k,type:`file`,hidden:!0,multiple:b,accept:x||void 0,onChange:V}),(0,s.jsxs)(c.default,{role:`button`,"aria-label":D,onClick:()=>k.current?.click(),onDragOver:e=>{e.preventDefault(),N(!0)},onDragLeave:()=>N(!1),onDrop:H,sx:{border:`2px dashed`,borderColor:M?`primary.main`:`divider`,borderRadius:`12px`,p:3,textAlign:`center`,cursor:`pointer`,transition:`all .2s`,bgcolor:M?`action.hover`:`background.paper`,"&:hover":{borderColor:`primary.main`,bgcolor:`action.hover`}},children:[P?(0,s.jsx)(u.default,{size:28}):(0,s.jsx)(d.default,{sx:{fontSize:40,color:`primary.main`}}),(0,s.jsxs)(o.default,{variant:`body2`,sx:{mt:1},children:[`Drag & drop `,b?`files`:`a file`,` here, or click to browse`]}),x&&(0,s.jsxs)(o.default,{variant:`caption`,sx:{color:`text.secondary`},children:[`Accepted: `,x]})]}),I&&(0,s.jsx)(o.default,{variant:`caption`,sx:{color:`error.main`,display:`block`,mt:1},children:I}),A.length>0&&(0,s.jsx)(c.default,{sx:t.B(t.W,{mt:1.5,p:1}),children:A.map((e,t)=>(0,s.jsxs)(c.default,{sx:{display:`flex`,alignItems:`center`,gap:1.5,p:1,borderRadius:`8px`,transition:`background-color .18s`,"&:hover":{bgcolor:`action.hover`}},children:[h(e)?(0,s.jsx)(c.default,{component:`img`,src:e,alt:`upload-${t}`,sx:{width:40,height:40,objectFit:`cover`,borderRadius:`8px`,flexShrink:0}}):(0,s.jsx)(p.default,{color:`action`,sx:{flexShrink:0}}),(0,s.jsx)(o.default,{variant:`body2`,sx:{flexGrow:1,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:e.split(`/`).pop()?.split(`?`)[0]||e}),(0,s.jsx)(l.default,{size:`small`,"aria-label":`remove`,onClick:e=>{e.stopPropagation(),U(t)},children:(0,s.jsx)(f.default,{fontSize:`small`})})]},`${e}-${t}`))})]})}exports.default=_;
|