geoiq-frontend-ui-kit 2.0.5 → 2.0.6
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/index100.es.js +42 -23
- package/dist/index100.es.js.map +1 -1
- package/dist/index101.es.js +33 -62
- package/dist/index101.es.js.map +1 -1
- package/dist/index102.es.js +21 -9
- package/dist/index102.es.js.map +1 -1
- package/dist/index103.es.js +88 -22
- package/dist/index103.es.js.map +1 -1
- package/dist/index104.es.js +17 -9
- package/dist/index104.es.js.map +1 -1
- package/dist/index105.es.js +13 -67
- package/dist/index105.es.js.map +1 -1
- package/dist/index106.es.js +21 -185
- package/dist/index106.es.js.map +1 -1
- package/dist/index107.es.js +11 -23
- package/dist/index107.es.js.map +1 -1
- package/dist/index108.es.js +69 -198
- package/dist/index108.es.js.map +1 -1
- package/dist/index109.es.js +9 -43
- package/dist/index109.es.js.map +1 -1
- package/dist/index11.es.js +1 -1
- package/dist/index110.es.js +65 -37
- package/dist/index110.es.js.map +1 -1
- package/dist/index111.es.js +184 -47
- package/dist/index111.es.js.map +1 -1
- package/dist/index112.es.js +23 -181
- package/dist/index112.es.js.map +1 -1
- package/dist/index113.es.js +201 -20
- package/dist/index113.es.js.map +1 -1
- package/dist/index114.es.js +13 -35
- package/dist/index114.es.js.map +1 -1
- package/dist/index115.es.js +88 -58
- package/dist/index115.es.js.map +1 -1
- package/dist/index116.es.js +27 -84
- package/dist/index116.es.js.map +1 -1
- package/dist/index117.es.js +23 -15
- package/dist/index117.es.js.map +1 -1
- package/dist/index118.es.js +34 -8
- package/dist/index118.es.js.map +1 -1
- package/dist/index119.es.js +179 -29
- package/dist/index119.es.js.map +1 -1
- package/dist/index12.es.js +1 -1
- package/dist/index120.es.js +32 -11
- package/dist/index120.es.js.map +1 -1
- package/dist/index121.es.js +19 -92
- package/dist/index121.es.js.map +1 -1
- package/dist/index122.es.js +13 -27
- package/dist/index122.es.js.map +1 -1
- package/dist/index123.es.js +7 -15
- package/dist/index123.es.js.map +1 -1
- package/dist/index124.es.js +98 -20
- package/dist/index124.es.js.map +1 -1
- package/dist/index125.es.js +61 -9
- package/dist/index125.es.js.map +1 -1
- package/dist/index126.es.js +54 -97
- package/dist/index126.es.js.map +1 -1
- package/dist/index127.es.js +16 -64
- package/dist/index127.es.js.map +1 -1
- package/dist/index128.es.js +96 -50
- package/dist/index128.es.js.map +1 -1
- package/dist/index129.es.js +11 -13
- package/dist/index129.es.js.map +1 -1
- package/dist/index130.es.js +147 -99
- package/dist/index130.es.js.map +1 -1
- package/dist/index131.es.js +6 -13
- package/dist/index131.es.js.map +1 -1
- package/dist/index132.es.js +48 -148
- package/dist/index132.es.js.map +1 -1
- package/dist/index133.es.js +42 -13
- package/dist/index133.es.js.map +1 -1
- package/dist/index134.es.js +35 -269
- package/dist/index134.es.js.map +1 -1
- package/dist/index135.es.js +22 -25
- package/dist/index135.es.js.map +1 -1
- package/dist/index136.es.js +11 -7
- package/dist/index136.es.js.map +1 -1
- package/dist/index137.es.js +33 -40
- package/dist/index137.es.js.map +1 -1
- package/dist/index138.es.js +63 -37
- package/dist/index138.es.js.map +1 -1
- package/dist/index139.es.js +268 -39
- package/dist/index139.es.js.map +1 -1
- package/dist/index141.es.js +16 -5
- package/dist/index141.es.js.map +1 -1
- package/dist/index142.es.js +5 -11
- package/dist/index142.es.js.map +1 -1
- package/dist/index143.es.js +10 -10
- package/dist/index143.es.js.map +1 -1
- package/dist/index144.es.js +11 -2
- package/dist/index144.es.js.map +1 -1
- package/dist/index145.es.js +2 -44
- package/dist/index145.es.js.map +1 -1
- package/dist/index146.es.js +7 -12
- package/dist/index146.es.js.map +1 -1
- package/dist/index147.es.js +22 -6
- package/dist/index147.es.js.map +1 -1
- package/dist/index148.es.js +168 -21
- package/dist/index148.es.js.map +1 -1
- package/dist/index149.es.js +79 -167
- package/dist/index149.es.js.map +1 -1
- package/dist/index150.es.js +67 -75
- package/dist/index150.es.js.map +1 -1
- package/dist/index151.es.js +3 -72
- package/dist/index151.es.js.map +1 -1
- package/dist/index152.es.js +56 -5
- package/dist/index152.es.js.map +1 -1
- package/dist/index153.es.js +120 -56
- package/dist/index153.es.js.map +1 -1
- package/dist/index154.es.js +398 -113
- package/dist/index154.es.js.map +1 -1
- package/dist/index155.es.js +25 -398
- package/dist/index155.es.js.map +1 -1
- package/dist/index156.es.js +61 -25
- package/dist/index156.es.js.map +1 -1
- package/dist/index157.es.js +29 -64
- package/dist/index157.es.js.map +1 -1
- package/dist/index158.es.js +21 -29
- package/dist/index158.es.js.map +1 -1
- package/dist/index159.es.js +36 -23
- package/dist/index159.es.js.map +1 -1
- package/dist/index16.es.js +1 -1
- package/dist/index160.es.js +211 -37
- package/dist/index160.es.js.map +1 -1
- package/dist/index161.es.js +143 -211
- package/dist/index161.es.js.map +1 -1
- package/dist/index162.es.js +136 -136
- package/dist/index162.es.js.map +1 -1
- package/dist/index163.es.js +46 -143
- package/dist/index163.es.js.map +1 -1
- package/dist/index164.es.js +353 -45
- package/dist/index164.es.js.map +1 -1
- package/dist/index165.es.js +41 -352
- package/dist/index165.es.js.map +1 -1
- package/dist/index166.es.js +12 -2
- package/dist/index166.es.js.map +1 -1
- package/dist/index167.es.js +2 -25
- package/dist/index167.es.js.map +1 -1
- package/dist/index168.es.js +21 -12
- package/dist/index168.es.js.map +1 -1
- package/dist/index170.es.js +1 -1
- package/dist/index171.es.js +2 -2
- package/dist/index173.es.js +1 -1
- package/dist/index174.es.js +2 -2
- package/dist/index175.es.js +2 -2
- package/dist/index176.es.js +2 -2
- package/dist/index180.es.js +1 -1
- package/dist/index181.es.js +1 -1
- package/dist/index182.es.js +1 -1
- package/dist/index183.es.js +1 -1
- package/dist/index184.es.js +1 -1
- package/dist/index185.es.js +1 -1
- package/dist/index186.es.js +1 -1
- package/dist/index188.es.js +1 -1
- package/dist/index19.es.js +1 -1
- package/dist/index20.es.js +1 -1
- package/dist/index21.es.js +1 -1
- package/dist/index23.es.js +2 -2
- package/dist/index27.es.js +1 -1
- package/dist/index29.es.js +1 -1
- package/dist/index30.es.js +2 -2
- package/dist/index32.es.js +1 -1
- package/dist/index34.es.js +1 -1
- package/dist/index35.es.js +1 -1
- package/dist/index47.es.js +4 -4
- package/dist/index48.es.js +2 -2
- package/dist/index49.es.js +1 -1
- package/dist/index50.es.js +1 -1
- package/dist/index55.es.js +1 -1
- package/dist/index56.es.js +1 -1
- package/dist/index59.es.js +1 -1
- package/dist/index61.es.js +1 -1
- package/dist/index69.es.js +2 -2
- package/dist/index70.es.js +1 -1
- package/dist/index72.es.js +5 -5
- package/dist/index73.es.js +1 -1
- package/dist/index74.es.js +7 -7
- package/dist/index87.es.js +1 -1
- package/package.json +1 -1
package/dist/index106.es.js
CHANGED
|
@@ -1,189 +1,25 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
const m = i.match(new RegExp(`^${r.id}\\|\\|(\\d+)\\|\\|`));
|
|
17
|
-
m && m[1] && c.add(parseInt(m[1]));
|
|
18
|
-
}
|
|
19
|
-
});
|
|
20
|
-
const l = Array.from(c).sort((i, m) => i - m);
|
|
21
|
-
return l.length === 0 ? [] : l.flatMap((i) => r.options.map((m) => {
|
|
22
|
-
const d = `${r.id}||${i}||${m.id}`, _ = o[d], p = {
|
|
23
|
-
...m,
|
|
24
|
-
id: d
|
|
25
|
-
};
|
|
26
|
-
return /* @__PURE__ */ e.createElement(e.Fragment, { key: d }, g(p), E(p, _));
|
|
27
|
-
}));
|
|
28
|
-
}
|
|
29
|
-
if (n == null || n === "")
|
|
30
|
-
return /* @__PURE__ */ e.createElement(s, { variant: "body2", className: "text-light-4" }, "Not answered");
|
|
31
|
-
switch (r.type) {
|
|
32
|
-
case a.SHORT_TEXT:
|
|
33
|
-
case a.LONG_TEXT:
|
|
34
|
-
case a.EMAIL:
|
|
35
|
-
case a.NUMBER:
|
|
36
|
-
case a.MOBILE_NUMBER:
|
|
37
|
-
case a.SINGLE_VIDEO_PICKER_WITH_INPUT:
|
|
38
|
-
return /* @__PURE__ */ e.createElement(s, { variant: "body2", className: "text-light-1" }, n);
|
|
39
|
-
case a.DATE_PICKER:
|
|
40
|
-
return /* @__PURE__ */ e.createElement(s, { variant: "body2", className: "text-light-1" }, new Date(n * 1e3).toLocaleDateString());
|
|
41
|
-
case a.SINGLE_COMBOBOX:
|
|
42
|
-
case a.RADIO_GROUP:
|
|
43
|
-
return /* @__PURE__ */ e.createElement(s, { variant: "body2", className: "text-light-1" }, n);
|
|
44
|
-
case a.CHECKBOX_GROUP: {
|
|
45
|
-
const t = o[r.id];
|
|
46
|
-
return /* @__PURE__ */ e.createElement("div", { className: "flex flex-col gap-2" }, r.options.map((c) => /* @__PURE__ */ e.createElement("div", { key: c, className: "flex items-center space-x-2" }, /* @__PURE__ */ e.createElement(
|
|
47
|
-
N,
|
|
48
|
-
{
|
|
49
|
-
disabled: !0,
|
|
50
|
-
id: c,
|
|
51
|
-
checked: t?.split(",").includes(c)
|
|
52
|
-
}
|
|
53
|
-
), /* @__PURE__ */ e.createElement(s, { variant: "body1", className: "text-light-4" }, c))));
|
|
1
|
+
import { cva as r } from "class-variance-authority";
|
|
2
|
+
const t = r(
|
|
3
|
+
` border flex items-center justify-between gap-1.5 relative mt-1.5 rounded-lg
|
|
4
|
+
text-light-1 px-3 py-2
|
|
5
|
+
file:border-0 file:bg-transparent
|
|
6
|
+
placeholder:font-normal placeholder:text-light-4`,
|
|
7
|
+
{
|
|
8
|
+
variants: {
|
|
9
|
+
isFocused: {
|
|
10
|
+
true: "border-primary-2 ring-4 ring-primary-1",
|
|
11
|
+
false: "border-light-2"
|
|
12
|
+
},
|
|
13
|
+
disabled: {
|
|
14
|
+
true: "bg-light-3 border-neutral-2 cursor-not-allowed",
|
|
15
|
+
false: ""
|
|
54
16
|
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
return /* @__PURE__ */ e.createElement(s, { variant: "body2", className: "text-light-1" }, t.radio_value, t.input_value && t.radio_value === r.inputTriggerOptionValue && `: ${t.input_value}`);
|
|
61
|
-
}
|
|
62
|
-
case a.SINGLE_IMAGE_PICKER: {
|
|
63
|
-
const t = n;
|
|
64
|
-
return /* @__PURE__ */ e.createElement("div", { className: "mt-1" }, /* @__PURE__ */ e.createElement(
|
|
65
|
-
"a",
|
|
66
|
-
{
|
|
67
|
-
href: t.public_url,
|
|
68
|
-
target: "_blank",
|
|
69
|
-
rel: "noopener noreferrer"
|
|
70
|
-
},
|
|
71
|
-
/* @__PURE__ */ e.createElement(
|
|
72
|
-
"img",
|
|
73
|
-
{
|
|
74
|
-
src: t.public_url,
|
|
75
|
-
alt: r.name,
|
|
76
|
-
className: "object-cover w-full h-32 rounded-md hover:opacity-90"
|
|
77
|
-
}
|
|
78
|
-
)
|
|
79
|
-
));
|
|
80
|
-
}
|
|
81
|
-
case a.SINGLE_VIDEO_PICKER: {
|
|
82
|
-
const t = n;
|
|
83
|
-
return /* @__PURE__ */ e.createElement("div", { className: "mt-1" }, /* @__PURE__ */ e.createElement(
|
|
84
|
-
"video",
|
|
85
|
-
{
|
|
86
|
-
src: t.public_url,
|
|
87
|
-
controls: !0,
|
|
88
|
-
className: "w-full h-32 rounded-md"
|
|
89
|
-
},
|
|
90
|
-
/* @__PURE__ */ e.createElement(
|
|
91
|
-
"track",
|
|
92
|
-
{
|
|
93
|
-
kind: "captions",
|
|
94
|
-
label: "English captions",
|
|
95
|
-
srcLang: "en",
|
|
96
|
-
src: "",
|
|
97
|
-
default: !0
|
|
98
|
-
}
|
|
99
|
-
)
|
|
100
|
-
));
|
|
101
|
-
}
|
|
102
|
-
case a.MULTI_IMAGE_PICKER: {
|
|
103
|
-
const t = n;
|
|
104
|
-
return /* @__PURE__ */ e.createElement("div", { className: "grid grid-cols-1 gap-2 mt-1 sm:grid-cols-3 md:grid-cols-4" }, t.map((c, l) => /* @__PURE__ */ e.createElement(
|
|
105
|
-
"a",
|
|
106
|
-
{
|
|
107
|
-
key: l,
|
|
108
|
-
href: c.public_url,
|
|
109
|
-
target: "_blank",
|
|
110
|
-
rel: "noopener noreferrer"
|
|
111
|
-
},
|
|
112
|
-
/* @__PURE__ */ e.createElement(
|
|
113
|
-
"img",
|
|
114
|
-
{
|
|
115
|
-
src: c.public_url,
|
|
116
|
-
alt: r.name,
|
|
117
|
-
className: "object-cover w-full h-32 rounded-md hover:opacity-90"
|
|
118
|
-
}
|
|
119
|
-
)
|
|
120
|
-
)));
|
|
121
|
-
}
|
|
122
|
-
case a.MULTI_VIDEO_PICKER: {
|
|
123
|
-
const t = n;
|
|
124
|
-
return /* @__PURE__ */ e.createElement("div", { className: "grid grid-cols-1 gap-4 mt-1 sm:grid-cols-2" }, t.map((c, l) => /* @__PURE__ */ e.createElement("div", { key: l, className: "flex flex-col" }, /* @__PURE__ */ e.createElement(
|
|
125
|
-
"video",
|
|
126
|
-
{
|
|
127
|
-
src: c.public_url,
|
|
128
|
-
controls: !0,
|
|
129
|
-
className: "h-32 rounded-md"
|
|
130
|
-
},
|
|
131
|
-
/* @__PURE__ */ e.createElement(
|
|
132
|
-
"track",
|
|
133
|
-
{
|
|
134
|
-
kind: "captions",
|
|
135
|
-
label: "English captions",
|
|
136
|
-
srcLang: "en",
|
|
137
|
-
src: "",
|
|
138
|
-
default: !0
|
|
139
|
-
}
|
|
140
|
-
)
|
|
141
|
-
))));
|
|
142
|
-
}
|
|
143
|
-
case a.TAGGABLE_MULTI_IMAGE_PICKER:
|
|
144
|
-
case a.TAGGABLE_MULTI_IMAGE_PICKER_WITH_INPUT: {
|
|
145
|
-
const t = n;
|
|
146
|
-
return /* @__PURE__ */ e.createElement("div", { className: "grid grid-cols-1 gap-2 mt-1 sm:grid-cols-3 md:grid-cols-4" }, t.map((c, l) => /* @__PURE__ */ e.createElement("div", { key: l, className: "relative" }, /* @__PURE__ */ e.createElement(
|
|
147
|
-
"a",
|
|
148
|
-
{
|
|
149
|
-
key: l,
|
|
150
|
-
href: c.public_url,
|
|
151
|
-
target: "_blank",
|
|
152
|
-
rel: "noopener noreferrer"
|
|
153
|
-
},
|
|
154
|
-
/* @__PURE__ */ e.createElement(
|
|
155
|
-
"img",
|
|
156
|
-
{
|
|
157
|
-
src: c.public_url,
|
|
158
|
-
alt: r.name,
|
|
159
|
-
className: "object-cover w-full h-32 rounded-md hover:opacity-90"
|
|
160
|
-
}
|
|
161
|
-
)
|
|
162
|
-
), /* @__PURE__ */ e.createElement(
|
|
163
|
-
b,
|
|
164
|
-
{
|
|
165
|
-
className: "absolute bottom-2 right-2 ",
|
|
166
|
-
variant: "select"
|
|
167
|
-
},
|
|
168
|
-
c.tag && c.tag.length > 8 ? `${c.tag.substring(0, 8)}...` : c.tag
|
|
169
|
-
))));
|
|
170
|
-
}
|
|
171
|
-
default:
|
|
172
|
-
return /* @__PURE__ */ e.createElement(s, { variant: "body2", className: "text-light-4" }, "Unsupported field type");
|
|
173
|
-
}
|
|
174
|
-
}, g = (r) => /* @__PURE__ */ e.createElement(s, { variant: "body1", className: "mb-1 text-light-3" }, r.name, r.required && /* @__PURE__ */ e.createElement("span", { className: "text-danger-1" }, "*"));
|
|
175
|
-
return /* @__PURE__ */ e.createElement("div", { className: "" }, u.steps.map((r) => /* @__PURE__ */ e.createElement(
|
|
176
|
-
I,
|
|
177
|
-
{
|
|
178
|
-
key: r.id,
|
|
179
|
-
trigger: /* @__PURE__ */ e.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ e.createElement(s, { variant: "h3", className: "text-light-2" }, r.name)),
|
|
180
|
-
triggerProps: { className: "mt-4 " },
|
|
181
|
-
contentProps: { className: "mt-4 p-2 bg-light-2 rounded" },
|
|
182
|
-
content: r.sections.map((n) => /* @__PURE__ */ e.createElement("div", { key: n.id, className: "mb-4" }, /* @__PURE__ */ e.createElement(s, { variant: "h3", className: "mb-2 text-light-2" }, n.name), /* @__PURE__ */ e.createElement("div", { className: "flex flex-col gap-3" }, n.fields.map((t) => /* @__PURE__ */ e.createElement("div", { key: t.id, className: "last:border-b-0" }, g(t), E(t, o[t.id]))))))
|
|
183
|
-
}
|
|
184
|
-
)));
|
|
185
|
-
};
|
|
17
|
+
},
|
|
18
|
+
defaultVariants: {},
|
|
19
|
+
compoundVariants: []
|
|
20
|
+
}
|
|
21
|
+
);
|
|
186
22
|
export {
|
|
187
|
-
|
|
23
|
+
t as TextAreaVariants
|
|
188
24
|
};
|
|
189
25
|
//# sourceMappingURL=index106.es.js.map
|
package/dist/index106.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index106.es.js","sources":["../src/components/ui/form-renderer/components/form-read-only-view.tsx"],"sourcesContent":["// components/form-readonly-view.tsx\nimport React, { ReactNode } from 'react'\nimport {\n FormStructure,\n FormValues,\n FormField,\n FormFieldValue,\n AssetValue,\n TaggableAssetValue,\n RadioGroupWithInputFieldValue,\n} from './../form.types'\nimport { Typography } from '@/components/atoms/typography'\nimport { Checkbox } from '@radix-ui/react-checkbox'\nimport { Accordion } from '@/components/atoms/accordion'\nimport { Badge } from '@/components/atoms/badge'\n\nimport { FormFieldType } from '../form.enums'\n\ninterface FormReadOnlyViewProps {\n structure: FormStructure\n values: FormValues\n}\n\nexport const FormReadOnlyView: React.FC<FormReadOnlyViewProps> = ({\n structure,\n values,\n}) => {\n // Helper function to render field value based on type\n const renderFieldValue = (\n field: FormField,\n value: FormFieldValue\n ): ReactNode => {\n // Special handling for repeatable groups, Since values[field.id] wont exist for repeatable groups\n\n if (field.type === FormFieldType.REPEATABLE_GROUP_FIELD) {\n const prefix = `${field.id}||`\n const entryIndices = new Set<number>()\n\n // Extract unique entry indices from the keys present in `values`\n Object.keys(values).forEach((key) => {\n if (key.startsWith(prefix)) {\n // Regex to capture the index part: field.id||INDEX||subfield.id\n // Assuming field.id does not contain characters that need escaping for RegExp\n const match = key.match(new RegExp(`^${field.id}\\\\|\\\\|(\\\\d+)\\\\|\\\\|`))\n if (match && match[1]) {\n entryIndices.add(parseInt(match[1]))\n }\n }\n })\n\n // Sort indices numerically\n const sortedIndices = Array.from(entryIndices).sort((a, b) => a - b)\n\n if (sortedIndices.length === 0) {\n return [] // No entries to render\n }\n\n // Use flatMap to iterate through each entry index, then each sub-field template,\n // and flatten the results into a single array of React elements.\n return sortedIndices.flatMap((entryIndex) => {\n // For each entry, map over its defined sub-fields from the field's options\n return field.options.map((subFieldTemplate) => {\n // Construct the unique key for this specific instance of the sub-field\n const instanceKey = `${field.id}||${entryIndex}||${subFieldTemplate.id}`\n const value = values[instanceKey] // Get the value for this specific instance\n\n // Create a new field object for this instance,\n // using the subFieldTemplate and overriding its 'id' with the unique instanceKey.\n const instanceSpecificSubField: FormField = {\n ...subFieldTemplate,\n id: instanceKey,\n }\n\n return (\n <React.Fragment key={instanceKey}>\n {renderQuestionLabel(instanceSpecificSubField)}\n {renderFieldValue(instanceSpecificSubField, value)}\n </React.Fragment>\n )\n })\n })\n }\n\n if (value === undefined || value === null || value === '') {\n return (\n <Typography variant=\"body2\" className=\"text-light-4\">\n Not answered\n </Typography>\n )\n }\n\n switch (field.type) {\n case FormFieldType.SHORT_TEXT:\n case FormFieldType.LONG_TEXT:\n case FormFieldType.EMAIL:\n case FormFieldType.NUMBER:\n case FormFieldType.MOBILE_NUMBER:\n case FormFieldType.SINGLE_VIDEO_PICKER_WITH_INPUT:\n return (\n <Typography variant=\"body2\" className=\"text-light-1\">\n {value as string}\n </Typography>\n )\n\n case FormFieldType.DATE_PICKER:\n return (\n <Typography variant=\"body2\" className=\"text-light-1\">\n {new Date((value as number) * 1000).toLocaleDateString()}\n </Typography>\n )\n\n case FormFieldType.SINGLE_COMBOBOX:\n case FormFieldType.RADIO_GROUP:\n return (\n <Typography variant=\"body2\" className=\"text-light-1\">\n {value as string}\n </Typography>\n )\n\n case FormFieldType.CHECKBOX_GROUP: {\n const value = values[field.id] as string\n return (\n <div className=\"flex flex-col gap-2\">\n {field.options.map((option) => {\n return (\n <div key={option} className=\"flex items-center space-x-2\">\n <Checkbox\n disabled\n id={option}\n checked={value?.split(',').includes(option)}\n />\n <Typography variant=\"body1\" className=\"text-light-4\">\n {option}\n </Typography>\n </div>\n )\n })}\n </div>\n )\n }\n case FormFieldType.MULTI_COMBOBOX:\n case FormFieldType.CREATABLE_MULTI_COMBOBOX:\n return (\n <Typography variant=\"body2\" className=\"text-light-1\">\n {typeof value === 'string' ? value.split(',').join(', ') : null}\n </Typography>\n )\n\n case FormFieldType.RADIO_GROUP_WITH_OPTIONAL_INPUT: {\n const radioValue = value as RadioGroupWithInputFieldValue\n return (\n <Typography variant=\"body2\" className=\"text-light-1\">\n {radioValue.radio_value}\n {radioValue.input_value &&\n radioValue.radio_value === field.inputTriggerOptionValue &&\n `: ${radioValue.input_value}`}\n </Typography>\n )\n }\n\n // For single image/video uploads\n case FormFieldType.SINGLE_IMAGE_PICKER: {\n const asset = value as AssetValue\n return (\n <div className=\"mt-1\">\n <a\n href={asset.public_url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <img\n src={asset.public_url}\n alt={field.name}\n className=\"object-cover w-full h-32 rounded-md hover:opacity-90\"\n />\n </a>\n </div>\n )\n }\n\n case FormFieldType.SINGLE_VIDEO_PICKER: {\n const asset = value as AssetValue\n return (\n <div className=\"mt-1\">\n <video\n src={asset.public_url}\n controls\n className=\"w-full h-32 rounded-md\"\n >\n <track\n kind=\"captions\"\n label=\"English captions\"\n srcLang=\"en\"\n src=\"\"\n default\n />\n </video>\n </div>\n )\n }\n\n case FormFieldType.MULTI_IMAGE_PICKER: {\n const assets = value as AssetValue[]\n return (\n <div className=\"grid grid-cols-1 gap-2 mt-1 sm:grid-cols-3 md:grid-cols-4\">\n {assets.map((asset, index) => (\n <a\n key={index}\n href={asset.public_url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <img\n src={asset.public_url}\n alt={field.name}\n className=\"object-cover w-full h-32 rounded-md hover:opacity-90\"\n />\n </a>\n ))}\n </div>\n )\n }\n\n case FormFieldType.MULTI_VIDEO_PICKER: {\n const assets = value as AssetValue[]\n return (\n <div className=\"grid grid-cols-1 gap-4 mt-1 sm:grid-cols-2\">\n {assets.map((asset, index) => (\n <div key={index} className=\"flex flex-col\">\n <video\n src={asset.public_url}\n controls\n className=\"h-32 rounded-md\"\n >\n <track\n kind=\"captions\"\n label=\"English captions\"\n srcLang=\"en\"\n src=\"\"\n default\n />\n </video>\n </div>\n ))}\n </div>\n )\n }\n\n case FormFieldType.TAGGABLE_MULTI_IMAGE_PICKER:\n case FormFieldType.TAGGABLE_MULTI_IMAGE_PICKER_WITH_INPUT: {\n const taggedAssets = value as TaggableAssetValue[]\n return (\n <div className=\"grid grid-cols-1 gap-2 mt-1 sm:grid-cols-3 md:grid-cols-4\">\n {taggedAssets.map((asset, index) => (\n <div key={index} className=\"relative\">\n <a\n key={index}\n href={asset.public_url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <img\n src={asset.public_url}\n alt={field.name}\n className=\"object-cover w-full h-32 rounded-md hover:opacity-90\"\n />\n </a>\n <Badge\n className=\"absolute bottom-2 right-2 \"\n variant={'select'}\n >\n {asset.tag && asset.tag.length > 8\n ? `${asset.tag.substring(0, 8)}...`\n : asset.tag}\n </Badge>\n </div>\n ))}\n </div>\n )\n }\n\n default:\n return (\n <Typography variant=\"body2\" className=\"text-light-4\">\n Unsupported field type\n </Typography>\n )\n }\n }\n\n const renderQuestionLabel = (field: FormField): ReactNode => {\n return (\n <Typography variant=\"body1\" className=\"mb-1 text-light-3\">\n {field.name}\n {field.required && <span className=\"text-danger-1\">*</span>}\n </Typography>\n )\n }\n\n return (\n <div className=\"\">\n {structure.steps.map((step) => (\n <Accordion\n key={step.id}\n trigger={\n <div className=\"flex items-center gap-2\">\n <Typography variant=\"h3\" className=\"text-light-2\">\n {step.name}\n </Typography>\n </div>\n }\n triggerProps={{ className: 'mt-4 ' }}\n contentProps={{ className: 'mt-4 p-2 bg-light-2 rounded' }}\n content={step.sections.map((section) => (\n <div key={section.id} className=\"mb-4\">\n <Typography variant=\"h3\" className=\"mb-2 text-light-2\">\n {section.name}\n </Typography>\n\n <div className=\"flex flex-col gap-3\">\n {section.fields.map((field) => (\n <div key={field.id} className=\"last:border-b-0\">\n {renderQuestionLabel(field)}\n {renderFieldValue(field, values[field.id])}\n </div>\n ))}\n </div>\n </div>\n ))}\n />\n ))}\n </div>\n )\n}\n"],"names":["FormReadOnlyView","structure","values","renderFieldValue","field","value","FormFieldType","prefix","entryIndices","key","match","sortedIndices","a","b","entryIndex","subFieldTemplate","instanceKey","instanceSpecificSubField","React","renderQuestionLabel","Typography","option","Checkbox","radioValue","asset","assets","index","taggedAssets","Badge","step","Accordion","section"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index106.es.js","sources":["../src/components/atoms/textarea/textarea.styles.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nexport const TextAreaVariants = cva(\n ` border flex items-center justify-between gap-1.5 relative mt-1.5 rounded-lg \n text-light-1 px-3 py-2\n file:border-0 file:bg-transparent\n placeholder:font-normal placeholder:text-light-4`,\n {\n variants: {\n isFocused: {\n true: 'border-primary-2 ring-4 ring-primary-1',\n false: 'border-light-2',\n },\n disabled: {\n true: 'bg-light-3 border-neutral-2 cursor-not-allowed',\n false: '',\n },\n },\n defaultVariants: {},\n compoundVariants: [],\n }\n)\n"],"names":["TextAreaVariants","cva"],"mappings":";AAEO,MAAMA,IAAmBC;AAAA,EAC9B;AAAA;AAAA;AAAA;AAAA,EAIA;AAAA,IACE,UAAU;AAAA,MACR,WAAW;AAAA,QACT,MAAM;AAAA,QACN,OAAO;AAAA,MAAA;AAAA,MAET,UAAU;AAAA,QACR,MAAM;AAAA,QACN,OAAO;AAAA,MAAA;AAAA,IACT;AAAA,IAEF,iBAAiB,CAAA;AAAA,IACjB,kBAAkB,CAAA;AAAA,EAAC;AAEvB;"}
|
package/dist/index107.es.js
CHANGED
|
@@ -1,26 +1,14 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
structure: e,
|
|
12
|
-
currentStepIndex: t,
|
|
13
|
-
currentStep: e.steps[t],
|
|
14
|
-
goToNextStep: r,
|
|
15
|
-
goToPreviousStep: p,
|
|
16
|
-
goToStep: S,
|
|
17
|
-
isFirstStep: t === 0,
|
|
18
|
-
isLastStep: t === e.steps.length - 1,
|
|
19
|
-
totalSteps: e.steps.length
|
|
20
|
-
};
|
|
21
|
-
return /* @__PURE__ */ l.createElement(c.Provider, { value: i }, n);
|
|
22
|
-
};
|
|
1
|
+
import { cva as r } from "class-variance-authority";
|
|
2
|
+
const i = r(
|
|
3
|
+
"relative h-2 w-full overflow-hidden rounded bg-primary-2 min-w-64 ",
|
|
4
|
+
{
|
|
5
|
+
variants: {
|
|
6
|
+
variant: {}
|
|
7
|
+
},
|
|
8
|
+
defaultVariants: {}
|
|
9
|
+
}
|
|
10
|
+
);
|
|
23
11
|
export {
|
|
24
|
-
|
|
12
|
+
i as ProgressVariants
|
|
25
13
|
};
|
|
26
14
|
//# sourceMappingURL=index107.es.js.map
|
package/dist/index107.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index107.es.js","sources":["../src/components/
|
|
1
|
+
{"version":3,"file":"index107.es.js","sources":["../src/components/atoms/progress/progress.styles.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nexport const ProgressVariants = cva(\n 'relative h-2 w-full overflow-hidden rounded bg-primary-2 min-w-64 ',\n {\n variants: {\n variant: {},\n },\n defaultVariants: {},\n }\n)\n"],"names":["ProgressVariants","cva"],"mappings":";AAEO,MAAMA,IAAmBC;AAAA,EAC9B;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS,CAAA;AAAA,IAAC;AAAA,IAEZ,iBAAiB,CAAA;AAAA,EAAC;AAEtB;"}
|
package/dist/index108.es.js
CHANGED
|
@@ -1,206 +1,77 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}, u = (s) => {
|
|
21
|
-
if (s.type === r.REPEATABLE_GROUP_FIELD) {
|
|
22
|
-
const a = `${s.id}||`, t = Object.keys(n).filter((i) => i.startsWith(a));
|
|
23
|
-
if (t.length === 0)
|
|
24
|
-
return { isValid: !1, errorMessage: "This field is required" };
|
|
25
|
-
for (const i of t) {
|
|
26
|
-
const o = { ...s.options.find(
|
|
27
|
-
(g) => g.id === i.split("||")[2]
|
|
28
|
-
), id: i }, { isValid: d, errorMessage: _ } = u(
|
|
29
|
-
o
|
|
30
|
-
);
|
|
31
|
-
if (!d)
|
|
32
|
-
return { isValid: !1, errorMessage: _ };
|
|
1
|
+
import { cva as e } from "class-variance-authority";
|
|
2
|
+
const t = e(
|
|
3
|
+
` h-[38px] w-full border flex items-center justify-between gap-1.5 relative mt-1.5 rounded-lg
|
|
4
|
+
text-light-2 px-3 py-2
|
|
5
|
+
file:border-0 file:bg-transparent
|
|
6
|
+
placeholder:font-normal placeholder:text-light-4`,
|
|
7
|
+
{
|
|
8
|
+
variants: {
|
|
9
|
+
isError: {
|
|
10
|
+
true: "",
|
|
11
|
+
false: ""
|
|
12
|
+
},
|
|
13
|
+
isFocused: {
|
|
14
|
+
true: "",
|
|
15
|
+
false: ""
|
|
16
|
+
},
|
|
17
|
+
disabled: {
|
|
18
|
+
true: "bg-light-3 border-neutral-2 cursor-not-allowed",
|
|
19
|
+
false: ""
|
|
33
20
|
}
|
|
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
|
-
if (e === "")
|
|
59
|
-
return { isValid: !1, errorMessage: "Number is required" };
|
|
60
|
-
if (isNaN(Number(e)))
|
|
61
|
-
return { isValid: !1, errorMessage: "Please enter a valid number" };
|
|
62
|
-
break;
|
|
63
|
-
case r.MOBILE_NUMBER:
|
|
64
|
-
if (e === "")
|
|
65
|
-
return { isValid: !1, errorMessage: "Mobile number is required" };
|
|
66
|
-
if (!/^\d{10,15}$/.test(e.replace(/\D/g, "")))
|
|
67
|
-
return {
|
|
68
|
-
isValid: !1,
|
|
69
|
-
errorMessage: "Please enter a valid mobile number"
|
|
70
|
-
};
|
|
71
|
-
break;
|
|
72
|
-
case r.DATE_PICKER:
|
|
73
|
-
if (!e || e === "")
|
|
74
|
-
return { isValid: !1, errorMessage: "Date is required" };
|
|
75
|
-
break;
|
|
76
|
-
case r.SINGLE_COMBOBOX:
|
|
77
|
-
if (!e || e === "")
|
|
78
|
-
return {
|
|
79
|
-
isValid: !1,
|
|
80
|
-
errorMessage: "Please select or enter a value"
|
|
81
|
-
};
|
|
82
|
-
break;
|
|
83
|
-
case r.MULTI_COMBOBOX:
|
|
84
|
-
if (Array.isArray(e)) {
|
|
85
|
-
if (e.length === 0)
|
|
86
|
-
return {
|
|
87
|
-
isValid: !1,
|
|
88
|
-
errorMessage: "Please select at least one option"
|
|
89
|
-
};
|
|
90
|
-
} else if (typeof e == "string" && (!e || e.split(",").filter(Boolean).length === 0))
|
|
91
|
-
return {
|
|
92
|
-
isValid: !1,
|
|
93
|
-
errorMessage: "Please select at least one option"
|
|
94
|
-
};
|
|
95
|
-
break;
|
|
96
|
-
case r.CREATABLE_MULTI_COMBOBOX: {
|
|
97
|
-
const a = Array.isArray(e) ? e : typeof e == "string" ? e.split(",").filter(Boolean) : [], t = s.minSelected ?? 0, i = s.maxSelected;
|
|
98
|
-
if (t > 0 && a.length < t)
|
|
99
|
-
return {
|
|
100
|
-
isValid: !1,
|
|
101
|
-
errorMessage: i != null ? `Select at least ${t} option(s) (max ${i})` : `Select at least ${t} option(s)`
|
|
102
|
-
};
|
|
103
|
-
if (i != null && a.length > i)
|
|
104
|
-
return {
|
|
105
|
-
isValid: !1,
|
|
106
|
-
errorMessage: `Select at most ${i} option(s)`
|
|
107
|
-
};
|
|
108
|
-
if (s.required && a.length === 0)
|
|
109
|
-
return {
|
|
110
|
-
isValid: !1,
|
|
111
|
-
errorMessage: "This field is required"
|
|
112
|
-
};
|
|
113
|
-
break;
|
|
114
|
-
}
|
|
115
|
-
case r.CHECKBOX_GROUP:
|
|
116
|
-
case r.RADIO_GROUP:
|
|
117
|
-
if (!e || e === "")
|
|
118
|
-
return { isValid: !1, errorMessage: "Please select an option" };
|
|
119
|
-
break;
|
|
120
|
-
case r.RADIO_GROUP_WITH_OPTIONAL_INPUT: {
|
|
121
|
-
const a = e;
|
|
122
|
-
if (!a || !a.radio_value)
|
|
123
|
-
return { isValid: !1, errorMessage: "Please select an option" };
|
|
124
|
-
if (a.radio_value === s.inputTriggerOptionValue && !a.input_value)
|
|
125
|
-
return {
|
|
126
|
-
isValid: !1,
|
|
127
|
-
errorMessage: "Please provide additional information for your selection"
|
|
128
|
-
};
|
|
129
|
-
break;
|
|
21
|
+
},
|
|
22
|
+
defaultVariants: {
|
|
23
|
+
isError: !1
|
|
24
|
+
},
|
|
25
|
+
compoundVariants: [
|
|
26
|
+
{
|
|
27
|
+
isError: !0,
|
|
28
|
+
isFocused: !0,
|
|
29
|
+
className: "border-danger-2 ring-4 ring-danger-1"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
isError: !1,
|
|
33
|
+
isFocused: !0,
|
|
34
|
+
className: "border-primary-2 ring-4 ring-primary-1"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
isError: !0,
|
|
38
|
+
isFocused: !1,
|
|
39
|
+
className: "border-danger-2"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
isError: !1,
|
|
43
|
+
isFocused: !1,
|
|
44
|
+
className: "border-light-2"
|
|
130
45
|
}
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
if (!Array.isArray(e) || e.length === 0)
|
|
141
|
-
return {
|
|
142
|
-
isValid: !1,
|
|
143
|
-
errorMessage: "Please upload at least one image"
|
|
144
|
-
};
|
|
145
|
-
break;
|
|
146
|
-
case r.MULTI_VIDEO_PICKER:
|
|
147
|
-
if (!Array.isArray(e) || e.length === 0)
|
|
148
|
-
return {
|
|
149
|
-
isValid: !1,
|
|
150
|
-
errorMessage: "Please upload at least one video"
|
|
151
|
-
};
|
|
152
|
-
break;
|
|
153
|
-
case r.TAGGABLE_MULTI_IMAGE_PICKER:
|
|
154
|
-
case r.TAGGABLE_MULTI_IMAGE_PICKER_WITH_INPUT: {
|
|
155
|
-
if (!Array.isArray(e) || e.length === 0)
|
|
156
|
-
return {
|
|
157
|
-
isValid: !1,
|
|
158
|
-
errorMessage: "Please upload at least one image"
|
|
159
|
-
};
|
|
160
|
-
if (e.some((i) => !i.tag))
|
|
161
|
-
return {
|
|
162
|
-
isValid: !1,
|
|
163
|
-
errorMessage: "Please add tags to all uploaded images"
|
|
164
|
-
};
|
|
165
|
-
break;
|
|
46
|
+
]
|
|
47
|
+
}
|
|
48
|
+
), a = e(
|
|
49
|
+
"outline-none w-full h-full bg-transparent disabled:cursor-not-allowed placeholder:font-normal placeholder:text-light-4",
|
|
50
|
+
{
|
|
51
|
+
variants: {
|
|
52
|
+
isError: {
|
|
53
|
+
true: "text-danger-1",
|
|
54
|
+
false: "text-light-2"
|
|
166
55
|
}
|
|
167
56
|
}
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
onAssetUpload: p,
|
|
178
|
-
validateField: u,
|
|
179
|
-
validateStep: (s) => {
|
|
180
|
-
let e = !0;
|
|
181
|
-
const a = {}, t = {};
|
|
182
|
-
return s.sections.forEach((i) => {
|
|
183
|
-
i.fields.forEach((l) => {
|
|
184
|
-
t[l.id] = l;
|
|
185
|
-
});
|
|
186
|
-
}), Object.entries(t).forEach(([i, l]) => {
|
|
187
|
-
if (l.required) {
|
|
188
|
-
const { isValid: o, errorMessage: d } = u(l);
|
|
189
|
-
o || (a[l.id] = d, e = !1);
|
|
190
|
-
}
|
|
191
|
-
if ((l.type === r.TAGGABLE_MULTI_IMAGE_PICKER || l.type === r.TAGGABLE_MULTI_IMAGE_PICKER_WITH_INPUT) && !l.required) {
|
|
192
|
-
const o = n[l.id];
|
|
193
|
-
Array.isArray(o) && o.length > 0 && o.some((g) => !g.tag) && (a[l.id] = "Please add tags to all uploaded images", e = !1);
|
|
194
|
-
}
|
|
195
|
-
}), { isStepValid: e, errors: a };
|
|
57
|
+
}
|
|
58
|
+
), s = e(
|
|
59
|
+
"absolute top-[7px] text-top transition-transform duration-500 text-light-4 pointer-events-none ",
|
|
60
|
+
{
|
|
61
|
+
variants: {
|
|
62
|
+
animate: {
|
|
63
|
+
true: "",
|
|
64
|
+
false: ""
|
|
65
|
+
}
|
|
196
66
|
},
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
};
|
|
67
|
+
defaultVariants: {
|
|
68
|
+
animate: !1
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
);
|
|
203
72
|
export {
|
|
204
|
-
|
|
73
|
+
t as AnimatedInputContainerVariants,
|
|
74
|
+
a as AnimatedInputStyles,
|
|
75
|
+
s as DynamicComponentStyles
|
|
205
76
|
};
|
|
206
77
|
//# sourceMappingURL=index108.es.js.map
|
package/dist/index108.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index108.es.js","sources":["../src/components/ui/form-renderer/context/form-values/form-values.provider.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport {\n AssetValue,\n FormField,\n FormFieldValue,\n FormStep,\n FormValues,\n RadioGroupWithInputFieldValue,\n TaggableAssetValue,\n onToggleImageEditor,\n} from '../../form.types'\nimport { FormValuesContext } from './form-values.context'\nimport { FormFieldType } from '../../form.enums'\n\nexport const FormValuesProvider: React.FC<{\n children: React.ReactNode\n initialValues?: FormValues\n onSubmit?: (values: FormValues) => void\n onAssetUpload?: (file: File) => Promise<AssetValue>\n onToggleImageEditor?: onToggleImageEditor\n getRequestHeaders?: () =>\n | Record<string, string>\n | Promise<Record<string, string>>\n getCreateOptionExtraBody?: () =>\n | Record<string, unknown>\n | Promise<Record<string, unknown>>\n}> = ({\n children,\n initialValues = {},\n onSubmit,\n onAssetUpload,\n onToggleImageEditor,\n getRequestHeaders,\n getCreateOptionExtraBody,\n}) => {\n const [values, setValues] = useState<FormValues>(initialValues)\n const [errors, setErrors] = useState<Record<string, string>>({})\n\n // to update field value\n const setValue = (fieldId: string, value: FormFieldValue) => {\n setValues((prev) => ({ ...prev, [fieldId]: value }))\n // Clear error when value changes\n if (errors[fieldId]) {\n setErrors((prev) => {\n const newErrors = { ...prev }\n delete newErrors[fieldId]\n return newErrors\n })\n }\n }\n\n // to update state all at once\n const setFormValues = (newValues: FormValues) => {\n setValues(() => newValues)\n }\n\n /**\n * Validates a field based on its type\n * @param field - The field object with all properties\n * @returns Object containing validation status and error message\n */\n const validateField = (\n field: FormField\n ): { isValid: boolean; errorMessage: string } => {\n // Special handling for repeatable groups, Since values[field.id] wont exist for repeatable groups\n if (field.type === FormFieldType.REPEATABLE_GROUP_FIELD) {\n const prefix = `${field.id}||`\n // find all the keys that start with the prefix inside values\n const keys = Object.keys(values).filter((key) => key.startsWith(prefix))\n\n // if there are no keys, return invalid, since the field is required\n if (keys.length === 0) {\n return { isValid: false, errorMessage: 'This field is required' }\n }\n\n // loop through all the keys and validate each field if it is required using the same function validation field\n for (const key of keys) {\n const subField = field.options.find(\n (option) => option.id === key.split('||')[2]\n )\n\n const modifiedSubField = { ...subField, id: key }\n const { isValid, errorMessage } = validateField(\n modifiedSubField as FormField\n )\n if (!isValid) {\n return { isValid: false, errorMessage }\n }\n }\n\n // if all the fields are valid, return valid\n return { isValid: true, errorMessage: '' }\n }\n\n // For normal fields, proceed with regular validation\n const value = values[field.id]\n\n // Common check for undefined/null values for all required fields\n if (field.required && (value === undefined || value === null)) {\n return { isValid: false, errorMessage: 'This field is required' }\n }\n\n // If not required and no value, it's valid\n if (\n !field.required &&\n (value === undefined || value === null || value === '')\n ) {\n return { isValid: true, errorMessage: '' }\n }\n\n // Type-specific validation\n switch (field.type) {\n // Text fields\n case FormFieldType.SHORT_TEXT:\n case FormFieldType.LONG_TEXT:\n case FormFieldType.SINGLE_VIDEO_PICKER_WITH_INPUT:\n if (value === '') {\n return { isValid: false, errorMessage: 'This field cannot be empty' }\n }\n break\n\n case FormFieldType.EMAIL:\n if (value === '') {\n return { isValid: false, errorMessage: 'Email is required' }\n }\n // Basic email validation regex\n if (!/^\\S+@\\S+\\.\\S+$/.test(value as string)) {\n return {\n isValid: false,\n errorMessage: 'Please enter a valid email address',\n }\n }\n break\n\n // Number fields\n case FormFieldType.NUMBER:\n if (value === '') {\n return { isValid: false, errorMessage: 'Number is required' }\n }\n // Check if it's actually a number\n if (isNaN(Number(value))) {\n return { isValid: false, errorMessage: 'Please enter a valid number' }\n }\n break\n\n case FormFieldType.MOBILE_NUMBER:\n if (value === '') {\n return { isValid: false, errorMessage: 'Mobile number is required' }\n }\n // Mobile number validation\n if (!/^\\d{10,15}$/.test((value as string).replace(/\\D/g, ''))) {\n return {\n isValid: false,\n errorMessage: 'Please enter a valid mobile number',\n }\n }\n break\n\n case FormFieldType.DATE_PICKER:\n if (!value || value === '') {\n return { isValid: false, errorMessage: 'Date is required' }\n }\n break\n\n // Selection fields\n case FormFieldType.SINGLE_COMBOBOX:\n if (!value || value === '') {\n return {\n isValid: false,\n errorMessage: 'Please select or enter a value',\n }\n }\n break\n\n case FormFieldType.MULTI_COMBOBOX:\n // Could be array or comma-separated string depending on implementation\n if (Array.isArray(value)) {\n if (value.length === 0) {\n return {\n isValid: false,\n errorMessage: 'Please select at least one option',\n }\n }\n } else if (typeof value === 'string') {\n if (!value || value.split(',').filter(Boolean).length === 0) {\n return {\n isValid: false,\n errorMessage: 'Please select at least one option',\n }\n }\n }\n break\n\n case FormFieldType.CREATABLE_MULTI_COMBOBOX: {\n const arr = Array.isArray(value)\n ? value\n : typeof value === 'string'\n ? value.split(',').filter(Boolean)\n : []\n const minSelected = field.minSelected ?? 0\n const maxSelected = field.maxSelected\n if (minSelected > 0 && arr.length < minSelected) {\n return {\n isValid: false,\n errorMessage:\n maxSelected != null\n ? `Select at least ${minSelected} option(s) (max ${maxSelected})`\n : `Select at least ${minSelected} option(s)`,\n }\n }\n if (maxSelected != null && arr.length > maxSelected) {\n return {\n isValid: false,\n errorMessage: `Select at most ${maxSelected} option(s)`,\n }\n }\n if (field.required && arr.length === 0) {\n return {\n isValid: false,\n errorMessage: 'This field is required',\n }\n }\n break\n }\n\n case FormFieldType.CHECKBOX_GROUP:\n case FormFieldType.RADIO_GROUP:\n if (!value || value === '') {\n return { isValid: false, errorMessage: 'Please select an option' }\n }\n break\n\n case FormFieldType.RADIO_GROUP_WITH_OPTIONAL_INPUT: {\n const radioValue = value as RadioGroupWithInputFieldValue\n if (!radioValue || !radioValue.radio_value) {\n return { isValid: false, errorMessage: 'Please select an option' }\n }\n\n // If \"Other\" option is selected, check if input is provided\n if (\n radioValue.radio_value === field.inputTriggerOptionValue &&\n !radioValue.input_value\n ) {\n return {\n isValid: false,\n errorMessage:\n 'Please provide additional information for your selection',\n }\n }\n break\n }\n\n // Media upload fields\n case FormFieldType.SINGLE_IMAGE_PICKER:\n if (!value || !(value as AssetValue).public_url) {\n return { isValid: false, errorMessage: 'Please upload an image' }\n }\n break\n\n case FormFieldType.SINGLE_VIDEO_PICKER:\n if (!value || !(value as AssetValue).public_url) {\n return { isValid: false, errorMessage: 'Please upload a video' }\n }\n break\n\n case FormFieldType.MULTI_IMAGE_PICKER:\n if (!Array.isArray(value) || value.length === 0) {\n return {\n isValid: false,\n errorMessage: 'Please upload at least one image',\n }\n }\n break\n\n case FormFieldType.MULTI_VIDEO_PICKER:\n if (!Array.isArray(value) || value.length === 0) {\n return {\n isValid: false,\n errorMessage: 'Please upload at least one video',\n }\n }\n break\n\n case FormFieldType.TAGGABLE_MULTI_IMAGE_PICKER:\n case FormFieldType.TAGGABLE_MULTI_IMAGE_PICKER_WITH_INPUT: {\n if (!Array.isArray(value) || value.length === 0) {\n return {\n isValid: false,\n errorMessage: 'Please upload at least one image',\n }\n }\n\n // Check if all uploaded images have tags assigned\n const taggedAssets = value as TaggableAssetValue[]\n const missingTags = taggedAssets.some((asset) => !asset.tag)\n if (missingTags) {\n return {\n isValid: false,\n errorMessage: 'Please add tags to all uploaded images',\n }\n }\n break\n }\n }\n\n // If we reach here, validation passed\n return { isValid: true, errorMessage: '' }\n }\n // New function to validate an entire step\n const validateStep = (\n step: FormStep\n ): { isStepValid: boolean; errors: Record<string, string> } => {\n let isStepValid = true\n const errors = {} as Record<string, string>\n const fieldIdTypeMap = {} as Record<string, FormField>\n\n // Collect all required field IDs from this step\n step.sections.forEach((section) => {\n section.fields.forEach((field) => {\n fieldIdTypeMap[field.id] = field\n })\n })\n\n // Validate each required field\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n Object.entries(fieldIdTypeMap).forEach(([_fieldId, field]) => {\n // Only validate required fields\n if (field.required) {\n // We can now pass the field type to a more specialized validation function\n const { isValid, errorMessage } = validateField(field)\n if (!isValid) {\n errors[field.id] = errorMessage\n isStepValid = false\n }\n }\n\n // For taggable image fields, validate tags even if field is optional\n // If images are uploaded, their tags must be filled in\n if (\n (field.type === FormFieldType.TAGGABLE_MULTI_IMAGE_PICKER ||\n field.type ===\n FormFieldType.TAGGABLE_MULTI_IMAGE_PICKER_WITH_INPUT) &&\n !field.required\n ) {\n const value = values[field.id]\n if (Array.isArray(value) && value.length > 0) {\n const taggedAssets = value as TaggableAssetValue[]\n const missingTags = taggedAssets.some((asset) => !asset.tag)\n if (missingTags) {\n errors[field.id] = 'Please add tags to all uploaded images'\n isStepValid = false\n }\n }\n }\n })\n\n return { isStepValid, errors }\n }\n\n const submitForm = () => {\n if (onSubmit) {\n onSubmit(values)\n }\n }\n\n const value = {\n values,\n errors,\n setValue,\n setFormValues,\n submitForm,\n onAssetUpload,\n validateField,\n validateStep,\n onToggleImageEditor,\n getRequestHeaders,\n getCreateOptionExtraBody,\n }\n\n return (\n <FormValuesContext.Provider value={value}>\n {children}\n </FormValuesContext.Provider>\n )\n}\n"],"names":["FormValuesProvider","children","initialValues","onSubmit","onAssetUpload","onToggleImageEditor","getRequestHeaders","getCreateOptionExtraBody","values","setValues","useState","errors","setErrors","setValue","fieldId","value","prev","newErrors","setFormValues","newValues","validateField","field","FormFieldType","prefix","keys","key","modifiedSubField","option","isValid","errorMessage","arr","minSelected","maxSelected","radioValue","asset","step","isStepValid","fieldIdTypeMap","section","_fieldId","React","FormValuesContext"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index108.es.js","sources":["../src/components/ui/animated-input/animated-input.styles.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nexport const AnimatedInputContainerVariants = cva(\n ` h-[38px] w-full border flex items-center justify-between gap-1.5 relative mt-1.5 rounded-lg \n text-light-2 px-3 py-2\n file:border-0 file:bg-transparent\n placeholder:font-normal placeholder:text-light-4`,\n {\n variants: {\n isError: {\n true: '',\n false: '',\n },\n isFocused: {\n true: '',\n false: '',\n },\n disabled: {\n true: 'bg-light-3 border-neutral-2 cursor-not-allowed',\n false: '',\n },\n },\n defaultVariants: {\n isError: false,\n },\n compoundVariants: [\n {\n isError: true,\n isFocused: true,\n className: 'border-danger-2 ring-4 ring-danger-1',\n },\n {\n isError: false,\n isFocused: true,\n className: 'border-primary-2 ring-4 ring-primary-1',\n },\n {\n isError: true,\n isFocused: false,\n className: 'border-danger-2',\n },\n {\n isError: false,\n isFocused: false,\n className: 'border-light-2',\n },\n ],\n }\n)\n\nexport const AnimatedInputStyles = cva(\n `outline-none w-full h-full bg-transparent disabled:cursor-not-allowed placeholder:font-normal placeholder:text-light-4`,\n {\n variants: {\n isError: {\n true: 'text-danger-1',\n false: 'text-light-2',\n },\n },\n }\n)\n\nexport const DynamicComponentStyles = cva(\n `absolute top-[7px] text-top transition-transform duration-500 text-light-4 pointer-events-none `,\n {\n variants: {\n animate: {\n true: '',\n false: '',\n },\n },\n defaultVariants: {\n animate: false,\n },\n }\n)\n"],"names":["AnimatedInputContainerVariants","cva","AnimatedInputStyles","DynamicComponentStyles"],"mappings":";AAEO,MAAMA,IAAiCC;AAAA,EAC5C;AAAA;AAAA;AAAA;AAAA,EAIA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,MAAM;AAAA,QACN,OAAO;AAAA,MAAA;AAAA,MAET,WAAW;AAAA,QACT,MAAM;AAAA,QACN,OAAO;AAAA,MAAA;AAAA,MAET,UAAU;AAAA,QACR,MAAM;AAAA,QACN,OAAO;AAAA,MAAA;AAAA,IACT;AAAA,IAEF,iBAAiB;AAAA,MACf,SAAS;AAAA,IAAA;AAAA,IAEX,kBAAkB;AAAA,MAChB;AAAA,QACE,SAAS;AAAA,QACT,WAAW;AAAA,QACX,WAAW;AAAA,MAAA;AAAA,MAEb;AAAA,QACE,SAAS;AAAA,QACT,WAAW;AAAA,QACX,WAAW;AAAA,MAAA;AAAA,MAEb;AAAA,QACE,SAAS;AAAA,QACT,WAAW;AAAA,QACX,WAAW;AAAA,MAAA;AAAA,MAEb;AAAA,QACE,SAAS;AAAA,QACT,WAAW;AAAA,QACX,WAAW;AAAA,MAAA;AAAA,IACb;AAAA,EACF;AAEJ,GAEaC,IAAsBD;AAAA,EACjC;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,MAAM;AAAA,QACN,OAAO;AAAA,MAAA;AAAA,IACT;AAAA,EACF;AAEJ,GAEaE,IAAyBF;AAAA,EACpC;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,MAAM;AAAA,QACN,OAAO;AAAA,MAAA;AAAA,IACT;AAAA,IAEF,iBAAiB;AAAA,MACf,SAAS;AAAA,IAAA;AAAA,EACX;AAEJ;"}
|