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/index109.es.js
CHANGED
|
@@ -1,46 +1,12 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
const
|
|
7
|
-
l,
|
|
8
|
-
|
|
9
|
-
ref: o,
|
|
10
|
-
containerClassName: n("flex items-center gap-3", a),
|
|
11
|
-
className: n(t),
|
|
12
|
-
...r,
|
|
13
|
-
inputMode: "text"
|
|
14
|
-
}
|
|
15
|
-
));
|
|
16
|
-
O.displayName = "InputOTP";
|
|
17
|
-
const P = e.forwardRef(({ className: t, ...a }, r) => /* @__PURE__ */ e.createElement("div", { ref: r, className: n("flex items-center", t), ...a }));
|
|
18
|
-
P.displayName = "InputOTPGroup";
|
|
19
|
-
const T = e.forwardRef(
|
|
20
|
-
({ index: t, className: a, isError: r, ...o }, s) => {
|
|
21
|
-
const m = e.useContext(u), { char: p, hasFakeCaret: c, isActive: i } = m.slots[t];
|
|
22
|
-
return /* @__PURE__ */ e.createElement(
|
|
23
|
-
"div",
|
|
24
|
-
{
|
|
25
|
-
ref: s,
|
|
26
|
-
className: n(
|
|
27
|
-
d({ isError: r, isFocused: i }),
|
|
28
|
-
a
|
|
29
|
-
),
|
|
30
|
-
...o
|
|
31
|
-
},
|
|
32
|
-
p,
|
|
33
|
-
c && /* @__PURE__ */ e.createElement("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center" }, /* @__PURE__ */ e.createElement("div", { className: "h-4 w-px animate-caret-blink bg-black duration-1000" }))
|
|
34
|
-
);
|
|
35
|
-
}
|
|
36
|
-
);
|
|
37
|
-
T.displayName = "InputOTPSlot";
|
|
38
|
-
const I = e.forwardRef(({ ...t }, a) => /* @__PURE__ */ e.createElement("div", { ref: a, role: "separator", ...t }, /* @__PURE__ */ e.createElement(f, null)));
|
|
39
|
-
I.displayName = "InputOTPSeparator";
|
|
1
|
+
import e from "react";
|
|
2
|
+
import { FormSection as m } from "./index142.es.js";
|
|
3
|
+
import { Typography as o } from "./index19.es.js";
|
|
4
|
+
import { useFormStructure as c } from "./index143.es.js";
|
|
5
|
+
const f = () => {
|
|
6
|
+
const { currentStep: t, totalSteps: l, currentStepIndex: a } = c();
|
|
7
|
+
return /* @__PURE__ */ e.createElement("section", { className: "flex flex-col gap-4 flex-1 overflow-scroll pb-16 [&::-webkit-scrollbar]:hidden [-ms-overflow-style:'none'] [scrollbar-width:'none']" }, /* @__PURE__ */ e.createElement("div", { className: "flex flex-col gap-1" }, /* @__PURE__ */ e.createElement(o, { variant: "h2" }, t.name), /* @__PURE__ */ e.createElement(o, { variant: "h3", className: "text-light-3" }, "Step ", a + 1, " of ", l)), /* @__PURE__ */ e.createElement("div", { className: "border-b border-light-1" }), t.sections.map((r) => /* @__PURE__ */ e.createElement(m, { key: r.id, section: r })));
|
|
8
|
+
};
|
|
40
9
|
export {
|
|
41
|
-
|
|
42
|
-
P as InputOTPGroup,
|
|
43
|
-
I as InputOTPSeparator,
|
|
44
|
-
T as InputOTPSlot
|
|
10
|
+
f as FormStep
|
|
45
11
|
};
|
|
46
12
|
//# sourceMappingURL=index109.es.js.map
|
package/dist/index109.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index109.es.js","sources":["../src/components/
|
|
1
|
+
{"version":3,"file":"index109.es.js","sources":["../src/components/ui/form-renderer/components/form-step.tsx"],"sourcesContent":["// components/FormStep.tsx\nimport React from 'react'\nimport { FormSection } from './form-section'\nimport { useFormStructure } from '../context/form-structure'\nimport { Typography } from '@/components/atoms/typography'\n\nexport const FormStep: React.FC = () => {\n const { currentStep, totalSteps, currentStepIndex } = useFormStructure()\n\n return (\n <section className=\"flex flex-col gap-4 flex-1 overflow-scroll pb-16 [&::-webkit-scrollbar]:hidden [-ms-overflow-style:'none'] [scrollbar-width:'none']\">\n <div className=\"flex flex-col gap-1\">\n <Typography variant=\"h2\">{currentStep.name}</Typography>\n <Typography variant=\"h3\" className=\"text-light-3\">\n Step {currentStepIndex + 1} of {totalSteps}\n </Typography>\n </div>\n <div className=\"border-b border-light-1\" />\n {currentStep.sections.map((section) => (\n <FormSection key={section.id} section={section} />\n ))}\n </section>\n )\n}\n"],"names":["FormStep","currentStep","totalSteps","currentStepIndex","useFormStructure","React","Typography","section","FormSection"],"mappings":";;;;AAMO,MAAMA,IAAqB,MAAM;AACtC,QAAM,EAAE,aAAAC,GAAa,YAAAC,GAAY,kBAAAC,EAAA,IAAqBC,EAAA;AAEtD,SACEC,gBAAAA,EAAA,cAAC,aAAQ,WAAU,uIAAA,mCAChB,OAAA,EAAI,WAAU,yBACbA,gBAAAA,EAAA,cAACC,GAAA,EAAW,SAAQ,KAAA,GAAML,EAAY,IAAK,GAC3CI,gBAAAA,EAAA,cAACC,KAAW,SAAQ,MAAK,WAAU,eAAA,GAAe,SAC1CH,IAAmB,GAAE,QAAKD,CAClC,CACF,mCACC,OAAA,EAAI,WAAU,2BAA0B,GACxCD,EAAY,SAAS,IAAI,CAACM,MACzBF,gBAAAA,EAAA,cAACG,GAAA,EAAY,KAAKD,EAAQ,IAAI,SAAAA,EAAA,CAAkB,CACjD,CACH;AAEJ;"}
|
package/dist/index11.es.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as e from "react";
|
|
2
2
|
import { cn as p } from "./index91.es.js";
|
|
3
|
-
import { InputVariants as g } from "./
|
|
3
|
+
import { InputVariants as g } from "./index132.es.js";
|
|
4
4
|
import { Typography as E } from "./index19.es.js";
|
|
5
5
|
import { XCircle as h } from "lucide-react";
|
|
6
6
|
const v = e.forwardRef(
|
package/dist/index110.es.js
CHANGED
|
@@ -1,43 +1,71 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
1
|
+
import e, { useState as N } from "react";
|
|
2
|
+
import { Button as n } from "./index9.es.js";
|
|
3
|
+
import { useFormStructure as k } from "./index143.es.js";
|
|
4
|
+
import { useFormValues as C } from "./index144.es.js";
|
|
5
|
+
const V = ({
|
|
6
|
+
onGoToNextStep: i,
|
|
7
|
+
onGoToPreviousStep: o,
|
|
8
|
+
isSubmitting: f,
|
|
9
|
+
testMode: s = !1
|
|
10
|
+
}) => {
|
|
11
|
+
const {
|
|
12
|
+
goToNextStep: l,
|
|
13
|
+
goToPreviousStep: S,
|
|
14
|
+
isFirstStep: r,
|
|
15
|
+
isLastStep: a,
|
|
16
|
+
currentStep: g,
|
|
17
|
+
currentStepIndex: c,
|
|
18
|
+
totalSteps: m
|
|
19
|
+
} = k(), { submitForm: v, validateStep: x, values: u } = C(), { isStepValid: p } = x(g), [y, d] = N(!1), b = async () => {
|
|
20
|
+
if (!i) {
|
|
21
|
+
l();
|
|
22
|
+
return;
|
|
18
23
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
24
|
+
const F = {
|
|
25
|
+
currentStepIndex: c,
|
|
26
|
+
totalSteps: m,
|
|
27
|
+
isFirstStep: r,
|
|
28
|
+
isLastStep: a,
|
|
29
|
+
values: u
|
|
30
|
+
};
|
|
31
|
+
try {
|
|
32
|
+
d(!0);
|
|
33
|
+
const t = i(F);
|
|
34
|
+
t && typeof t.then == "function" && await t, l();
|
|
35
|
+
} catch {
|
|
36
|
+
} finally {
|
|
37
|
+
d(!1);
|
|
38
|
+
}
|
|
39
|
+
}, h = () => {
|
|
40
|
+
o && o({
|
|
41
|
+
currentStepIndex: c,
|
|
42
|
+
totalSteps: m,
|
|
43
|
+
isFirstStep: r,
|
|
44
|
+
isLastStep: a,
|
|
45
|
+
values: u
|
|
46
|
+
}), S();
|
|
47
|
+
};
|
|
48
|
+
return /* @__PURE__ */ e.createElement("div", { className: "w-full flex h-[5rem] items-center justify-center gap-3 border-t border-neutral-1 bg-light-2 px-3" }, /* @__PURE__ */ e.createElement(n, { variant: "secondary", onClick: h }, r ? "Cancel" : "Back"), a ? /* @__PURE__ */ e.createElement(
|
|
49
|
+
n,
|
|
50
|
+
{
|
|
51
|
+
variant: "primary",
|
|
52
|
+
onClick: v,
|
|
53
|
+
disabled: !(p || s),
|
|
54
|
+
loading: f
|
|
32
55
|
},
|
|
33
|
-
|
|
56
|
+
"Submit"
|
|
57
|
+
) : /* @__PURE__ */ e.createElement(
|
|
58
|
+
n,
|
|
59
|
+
{
|
|
34
60
|
variant: "primary",
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
61
|
+
onClick: b,
|
|
62
|
+
disabled: !(p || s),
|
|
63
|
+
loading: y
|
|
64
|
+
},
|
|
65
|
+
"Save & Next"
|
|
66
|
+
));
|
|
67
|
+
};
|
|
39
68
|
export {
|
|
40
|
-
|
|
41
|
-
e as TabsVariants
|
|
69
|
+
V as FormNavigation
|
|
42
70
|
};
|
|
43
71
|
//# sourceMappingURL=index110.es.js.map
|
package/dist/index110.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index110.es.js","sources":["../src/components/
|
|
1
|
+
{"version":3,"file":"index110.es.js","sources":["../src/components/ui/form-renderer/components/form-navigation.tsx"],"sourcesContent":["// components/FormNavigation.tsx\nimport React, { useState } from 'react'\nimport { useFormValues } from '../context/form-values'\nimport { useFormStructure } from '../context/form-structure'\nimport { Button } from '@/components/atoms/button'\nimport { OnNavigate } from '../form.types'\n\ninterface FormNavigationProps {\n onGoToNextStep?: OnNavigate\n onGoToPreviousStep?: OnNavigate\n isSubmitting: boolean\n testMode?: boolean\n}\n\nexport const FormNavigation: React.FC<FormNavigationProps> = ({\n onGoToNextStep,\n onGoToPreviousStep,\n isSubmitting,\n testMode = false,\n}) => {\n const {\n goToNextStep,\n goToPreviousStep,\n isFirstStep,\n isLastStep,\n currentStep,\n currentStepIndex,\n totalSteps,\n } = useFormStructure()\n\n const { submitForm, validateStep, values } = useFormValues()\n\n const { isStepValid } = validateStep(currentStep)\n // const isStepValid = true\n\n const [nextLoading, setNextLoading] = useState<boolean>(false)\n\n const handleNextStep = async () => {\n if (!onGoToNextStep) {\n goToNextStep()\n return\n }\n\n const nextStepData = {\n currentStepIndex,\n totalSteps,\n isFirstStep,\n isLastStep,\n values,\n }\n\n try {\n setNextLoading(true)\n const result = onGoToNextStep(nextStepData)\n\n // Await if it's a Promise, otherwise just continue\n if (result && typeof result.then === 'function') {\n await result\n }\n\n // If successful, proceed to next step\n goToNextStep()\n } catch (error) {\n // Don't proceed to next step if there's an error\n } finally {\n setNextLoading(false)\n }\n }\n\n const handlePreviousStep = () => {\n if (onGoToPreviousStep)\n onGoToPreviousStep({\n currentStepIndex,\n totalSteps,\n isFirstStep,\n isLastStep,\n values,\n })\n goToPreviousStep()\n }\n\n return (\n <div className=\"w-full flex h-[5rem] items-center justify-center gap-3 border-t border-neutral-1 bg-light-2 px-3\">\n <Button variant=\"secondary\" onClick={handlePreviousStep}>\n {isFirstStep ? 'Cancel' : 'Back'}\n </Button>\n\n {isLastStep ? (\n <Button\n variant=\"primary\"\n onClick={submitForm}\n disabled={!(isStepValid || testMode)}\n loading={isSubmitting}\n >\n Submit\n </Button>\n ) : (\n <Button\n variant=\"primary\"\n onClick={handleNextStep}\n disabled={!(isStepValid || testMode)}\n loading={nextLoading}\n >\n Save & Next\n </Button>\n )}\n </div>\n )\n}\n"],"names":["FormNavigation","onGoToNextStep","onGoToPreviousStep","isSubmitting","testMode","goToNextStep","goToPreviousStep","isFirstStep","isLastStep","currentStep","currentStepIndex","totalSteps","useFormStructure","submitForm","validateStep","values","useFormValues","isStepValid","nextLoading","setNextLoading","useState","handleNextStep","nextStepData","result","handlePreviousStep","React","Button"],"mappings":";;;;AAcO,MAAMA,IAAgD,CAAC;AAAA,EAC5D,gBAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,cAAAC;AAAA,EACA,UAAAC,IAAW;AACb,MAAM;AACJ,QAAM;AAAA,IACJ,cAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,YAAAC;AAAA,IACA,aAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,YAAAC;AAAA,EAAA,IACEC,EAAA,GAEE,EAAE,YAAAC,GAAY,cAAAC,GAAc,QAAAC,EAAA,IAAWC,EAAA,GAEvC,EAAE,aAAAC,EAAA,IAAgBH,EAAaL,CAAW,GAG1C,CAACS,GAAaC,CAAc,IAAIC,EAAkB,EAAK,GAEvDC,IAAiB,YAAY;AACjC,QAAI,CAACpB,GAAgB;AACnB,MAAAI,EAAA;AACA;AAAA,IACF;AAEA,UAAMiB,IAAe;AAAA,MACnB,kBAAAZ;AAAA,MACA,YAAAC;AAAA,MACA,aAAAJ;AAAA,MACA,YAAAC;AAAA,MACA,QAAAO;AAAA,IAAA;AAGF,QAAI;AACF,MAAAI,EAAe,EAAI;AACnB,YAAMI,IAAStB,EAAeqB,CAAY;AAG1C,MAAIC,KAAU,OAAOA,EAAO,QAAS,cACnC,MAAMA,GAIRlB,EAAA;AAAA,IACF,QAAgB;AAAA,IAEhB,UAAA;AACE,MAAAc,EAAe,EAAK;AAAA,IACtB;AAAA,EACF,GAEMK,IAAqB,MAAM;AAC/B,IAAItB,KACFA,EAAmB;AAAA,MACjB,kBAAAQ;AAAA,MACA,YAAAC;AAAA,MACA,aAAAJ;AAAA,MACA,YAAAC;AAAA,MACA,QAAAO;AAAA,IAAA,CACD,GACHT,EAAA;AAAA,EACF;AAEA,SACEmB,gBAAAA,EAAA,cAAC,OAAA,EAAI,WAAU,sIACZC,GAAA,EAAO,SAAQ,aAAY,SAASF,EAAA,GAClCjB,IAAc,WAAW,MAC5B,GAECC,IACCiB,gBAAAA,EAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,SAAQ;AAAA,MACR,SAASb;AAAA,MACT,UAAU,EAAEI,KAAeb;AAAA,MAC3B,SAASD;AAAA,IAAA;AAAA,IACV;AAAA,EAAA,IAIDsB,gBAAAA,EAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,SAAQ;AAAA,MACR,SAASL;AAAA,MACT,UAAU,EAAEJ,KAAeb;AAAA,MAC3B,SAASc;AAAA,IAAA;AAAA,IACV;AAAA,EAAA,CAIL;AAEJ;"}
|
package/dist/index111.es.js
CHANGED
|
@@ -1,52 +1,189 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
1
|
+
import e from "react";
|
|
2
|
+
import { Typography as s } from "./index19.es.js";
|
|
3
|
+
import { Checkbox as N } from "@radix-ui/react-checkbox";
|
|
4
|
+
import { AccordionDemo as I } from "./index4.es.js";
|
|
5
|
+
import { Badge as b } from "./index8.es.js";
|
|
6
|
+
import { FormFieldType as a } from "./index145.es.js";
|
|
7
|
+
const x = ({
|
|
8
|
+
structure: u,
|
|
9
|
+
values: o
|
|
10
|
+
}) => {
|
|
11
|
+
const E = (r, n) => {
|
|
12
|
+
if (r.type === a.REPEATABLE_GROUP_FIELD) {
|
|
13
|
+
const t = `${r.id}||`, c = /* @__PURE__ */ new Set();
|
|
14
|
+
Object.keys(o).forEach((i) => {
|
|
15
|
+
if (i.startsWith(t)) {
|
|
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))));
|
|
20
54
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
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"
|
|
55
|
+
case a.MULTI_COMBOBOX:
|
|
56
|
+
case a.CREATABLE_MULTI_COMBOBOX:
|
|
57
|
+
return /* @__PURE__ */ e.createElement(s, { variant: "body2", className: "text-light-1" }, typeof n == "string" ? n.split(",").join(", ") : null);
|
|
58
|
+
case a.RADIO_GROUP_WITH_OPTIONAL_INPUT: {
|
|
59
|
+
const t = n;
|
|
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}`);
|
|
45
61
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
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
|
+
};
|
|
49
186
|
export {
|
|
50
|
-
|
|
187
|
+
x as FormReadOnlyView
|
|
51
188
|
};
|
|
52
189
|
//# sourceMappingURL=index111.es.js.map
|
package/dist/index111.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index111.es.js","sources":["../src/components/atoms/input/input.styles.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nexport const InputVariants = 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"],"names":["InputVariants","cva"],"mappings":";AAEO,MAAMA,IAAgBC;AAAA,EAC3B;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;"}
|
|
1
|
+
{"version":3,"file":"index111.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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"}
|