module-package-comp 1.2.1 → 1.2.3
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/component/ComponentDisplayer.d.ts +1 -1
- package/dist/component/ComponentDisplayer.js +2 -2
- package/dist/component/ComponentDisplayer.js.map +1 -1
- package/dist/component/ShowAttr.js +13 -1
- package/dist/component/ShowAttr.js.map +1 -1
- package/dist/component/inputs/Input.js +0 -2
- package/dist/component/inputs/Input.js.map +1 -1
- package/package.json +1 -1
- package/src/component/ComponentDisplayer.tsx +7 -5
- package/src/component/ShowAttr.tsx +23 -1
- package/dist/component/inputs/Error.d.ts +0 -3
- package/dist/component/inputs/Error.js +0 -6
- package/dist/component/inputs/Error.js.map +0 -1
- package/dist/component/inputs/ShowErrors.d.ts +0 -3
- package/dist/component/inputs/ShowErrors.js +0 -6
- package/dist/component/inputs/ShowErrors.js.map +0 -1
|
@@ -3,7 +3,7 @@ type ComponentDisplayerProps = {
|
|
|
3
3
|
component: Component;
|
|
4
4
|
data: DataJSON;
|
|
5
5
|
setData: (data: DataJSON) => void;
|
|
6
|
-
onSubmit
|
|
6
|
+
onSubmit?: () => void;
|
|
7
7
|
};
|
|
8
8
|
export declare function ComponentDisplayer({ component, data, setData, onSubmit, }: ComponentDisplayerProps): import("react/jsx-runtime").JSX.Element;
|
|
9
9
|
export {};
|
|
@@ -8,7 +8,7 @@ export function ComponentDisplayer({ component, data, setData, onSubmit, }) {
|
|
|
8
8
|
return (_jsxs("form", { onSubmit: (e) => {
|
|
9
9
|
e.preventDefault();
|
|
10
10
|
const errs = checkRequired(component.attributes, data);
|
|
11
|
-
if (errs.length === 0) {
|
|
11
|
+
if (errs.length === 0 && onSubmit) {
|
|
12
12
|
onSubmit();
|
|
13
13
|
}
|
|
14
14
|
else {
|
|
@@ -29,7 +29,7 @@ export function ComponentDisplayer({ component, data, setData, onSubmit, }) {
|
|
|
29
29
|
setData(temp);
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
|
-
}) }), errors.length !== 0 && (_jsx("div", { className: "my-6", children: _jsx(ShowErrors, { errors: errors }) })), _jsx("div", { className: "flex justify-center my-8", children: _jsx(PrimaryBtn, { text: "Submit" }) })] }));
|
|
32
|
+
}) }), errors.length !== 0 && (_jsx("div", { className: "my-6", children: _jsx(ShowErrors, { errors: errors }) })), onSubmit && (_jsx("div", { className: "flex justify-center my-8", children: _jsx(PrimaryBtn, { text: "Submit" }) }))] }));
|
|
33
33
|
}
|
|
34
34
|
// check the required attributes and return array string of errors
|
|
35
35
|
function checkRequired(attributes, data) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComponentDisplayer.js","sourceRoot":"","sources":["../../src/component/ComponentDisplayer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,UAAU,MAAM,cAAc,CAAC;AAStC,MAAM,UAAU,kBAAkB,CAAC,EACjC,SAAS,EACT,IAAI,EACJ,OAAO,EACP,QAAQ,GACgB;IACxB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAW,EAAE,CAAC,CAAC;IACnD,OAAO,CACL,gBACE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;YACd,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,MAAM,IAAI,GAAG,aAAa,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YACvD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"ComponentDisplayer.js","sourceRoot":"","sources":["../../src/component/ComponentDisplayer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { AttributeTypeEnum } from "../util/type";
|
|
|
3
3
|
import LabeledSelect from "./inputs/LableledSelect";
|
|
4
4
|
import LabeledInput from "./inputs/LableledInput";
|
|
5
5
|
import LabeledMutliSelect from "./inputs/LabeledMutliSelect";
|
|
6
|
-
import { useMemo } from "react";
|
|
6
|
+
import { useEffect, useMemo, useState } from "react";
|
|
7
7
|
import { Parser } from "expr-eval";
|
|
8
8
|
export function ShowAttr({ attribute, value, setValue, showLabel = true, data, }) {
|
|
9
9
|
var _a, _b, _c, _d;
|
|
@@ -31,6 +31,8 @@ export function ShowAttr({ attribute, value, setValue, showLabel = true, data, }
|
|
|
31
31
|
return (_jsx(LabeledInput, { label: label, type: "file", value: value, setValue: setValue }));
|
|
32
32
|
case AttributeTypeEnum.IMAGE_OUTPUT:
|
|
33
33
|
return (_jsxs("div", { className: "w-full", children: [_jsx("label", { className: "block text-sm font-bold mb-1", children: label }), _jsx("img", { className: "w-64", src: attribute.content })] }));
|
|
34
|
+
case AttributeTypeEnum.VIDEO_OUTPUT:
|
|
35
|
+
return _jsx(ShowVideo, { url: attribute.content });
|
|
34
36
|
case AttributeTypeEnum.TEXT_OUTPUT:
|
|
35
37
|
return (_jsxs("div", { className: "w-full", children: [_jsx("label", { className: "block text-sm font-bold mb-1", children: label }), _jsx("p", { children: attribute.content })] }));
|
|
36
38
|
case AttributeTypeEnum.TITRE:
|
|
@@ -54,4 +56,14 @@ function calculateContent(content, data) {
|
|
|
54
56
|
return 0;
|
|
55
57
|
}
|
|
56
58
|
}
|
|
59
|
+
function ShowVideo({ url }) {
|
|
60
|
+
const [html, setHtml] = useState("");
|
|
61
|
+
useEffect(() => {
|
|
62
|
+
fetch(`https://www.youtube.com/oembed?url=${url}&format=json`)
|
|
63
|
+
.then((res) => res.json())
|
|
64
|
+
.then((json) => setHtml(json.html.replace(/width="\d{3}" height="\d{3}"/, "width='854' height='480'")))
|
|
65
|
+
.catch((error) => console.error("Error fetching video data:", error));
|
|
66
|
+
}, [url]);
|
|
67
|
+
return _jsx("div", { dangerouslySetInnerHTML: { __html: html } });
|
|
68
|
+
}
|
|
57
69
|
//# sourceMappingURL=ShowAttr.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShowAttr.js","sourceRoot":"","sources":["../../src/component/ShowAttr.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAa,iBAAiB,EAAqB,MAAM,cAAc,CAAC;AAC/E,OAAO,aAAa,MAAM,yBAAyB,CAAC;AACpD,OAAO,YAAY,MAAM,wBAAwB,CAAC;AAClD,OAAO,kBAAkB,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ShowAttr.js","sourceRoot":"","sources":["../../src/component/ShowAttr.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
export default function Input({ value, setValue, type, onBlur, maxLength, minLength, max, min, placeholder, disabled, checked, }) {
|
|
3
|
-
console.log();
|
|
4
|
-
console.log(maxLength);
|
|
5
3
|
return (_jsx("input", { type: type, className: `py-1.5 px-3 ${type === "checkbox" ? "size-5" : "w-full"} border-2 border-gray-300 rounded-xl text-base focus:border-blue-500 focus:ring-blue-500 disabled:opacity-50 disabled:pointer-events-none`, value: value, onChange: (e) => type === "checkbox"
|
|
6
4
|
? setValue(String(e.target.checked))
|
|
7
5
|
: setValue(e.target.value), disabled: disabled, onBlur: onBlur, maxLength: maxLength && !isNaN(Number(maxLength)) ? Number(maxLength) : undefined, minLength: minLength && !isNaN(Number(minLength)) ? Number(minLength) : undefined, max: max, min: min, placeholder: placeholder, checked: checked }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Input.js","sourceRoot":"","sources":["../../../src/component/inputs/Input.tsx"],"names":[],"mappings":";AAgBA,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAC5B,KAAK,EACL,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,SAAS,EACT,SAAS,EACT,GAAG,EACH,GAAG,EACH,WAAW,EACX,QAAQ,EACR,OAAO,GACI;IACX,OAAO,
|
|
1
|
+
{"version":3,"file":"Input.js","sourceRoot":"","sources":["../../../src/component/inputs/Input.tsx"],"names":[],"mappings":";AAgBA,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAC5B,KAAK,EACL,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,SAAS,EACT,SAAS,EACT,GAAG,EACH,GAAG,EACH,WAAW,EACX,QAAQ,EACR,OAAO,GACI;IACX,OAAO,CACL,gBACE,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,eAAe,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,2IAA2I,EAC9M,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CACd,IAAI,KAAK,UAAU;YACjB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACpC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAE9B,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,EACd,SAAS,EACP,SAAS,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAExE,SAAS,EACP,SAAS,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAExE,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,GAAG,EACR,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,OAAO,GAChB,CACH,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -8,7 +8,7 @@ type ComponentDisplayerProps = {
|
|
|
8
8
|
component: Component;
|
|
9
9
|
data: DataJSON;
|
|
10
10
|
setData: (data: DataJSON) => void;
|
|
11
|
-
onSubmit
|
|
11
|
+
onSubmit?: () => void;
|
|
12
12
|
};
|
|
13
13
|
|
|
14
14
|
export function ComponentDisplayer({
|
|
@@ -23,7 +23,7 @@ export function ComponentDisplayer({
|
|
|
23
23
|
onSubmit={(e) => {
|
|
24
24
|
e.preventDefault();
|
|
25
25
|
const errs = checkRequired(component.attributes, data);
|
|
26
|
-
if (errs.length === 0) {
|
|
26
|
+
if (errs.length === 0 && onSubmit) {
|
|
27
27
|
onSubmit();
|
|
28
28
|
} else {
|
|
29
29
|
setErrors(errs);
|
|
@@ -64,9 +64,11 @@ export function ComponentDisplayer({
|
|
|
64
64
|
<ShowErrors errors={errors} />
|
|
65
65
|
</div>
|
|
66
66
|
)}
|
|
67
|
-
|
|
68
|
-
<
|
|
69
|
-
|
|
67
|
+
{onSubmit && (
|
|
68
|
+
<div className="flex justify-center my-8">
|
|
69
|
+
<PrimaryBtn text="Submit" />
|
|
70
|
+
</div>
|
|
71
|
+
)}
|
|
70
72
|
</form>
|
|
71
73
|
);
|
|
72
74
|
}
|
|
@@ -2,7 +2,7 @@ import { Attribute, AttributeTypeEnum, Content, DataJSON } from "../util/type";
|
|
|
2
2
|
import LabeledSelect from "./inputs/LableledSelect";
|
|
3
3
|
import LabeledInput from "./inputs/LableledInput";
|
|
4
4
|
import LabeledMutliSelect from "./inputs/LabeledMutliSelect";
|
|
5
|
-
import { useMemo } from "react";
|
|
5
|
+
import { useEffect, useMemo, useState } from "react";
|
|
6
6
|
import { Parser } from "expr-eval";
|
|
7
7
|
|
|
8
8
|
type ShowAttrProps = {
|
|
@@ -109,6 +109,8 @@ export function ShowAttr({
|
|
|
109
109
|
<img className="w-64" src={attribute.content as string} />
|
|
110
110
|
</div>
|
|
111
111
|
);
|
|
112
|
+
case AttributeTypeEnum.VIDEO_OUTPUT:
|
|
113
|
+
return <ShowVideo url={attribute.content as string} />;
|
|
112
114
|
case AttributeTypeEnum.TEXT_OUTPUT:
|
|
113
115
|
return (
|
|
114
116
|
<div className="w-full">
|
|
@@ -141,3 +143,23 @@ function calculateContent(content: string, data: DataJSON): number {
|
|
|
141
143
|
return 0;
|
|
142
144
|
}
|
|
143
145
|
}
|
|
146
|
+
|
|
147
|
+
function ShowVideo({ url }: { url: string }) {
|
|
148
|
+
const [html, setHtml] = useState<string>("");
|
|
149
|
+
|
|
150
|
+
useEffect(() => {
|
|
151
|
+
fetch(`https://www.youtube.com/oembed?url=${url}&format=json`)
|
|
152
|
+
.then((res) => res.json())
|
|
153
|
+
.then((json) =>
|
|
154
|
+
setHtml(
|
|
155
|
+
json.html.replace(
|
|
156
|
+
/width="\d{3}" height="\d{3}"/,
|
|
157
|
+
"width='854' height='480'",
|
|
158
|
+
),
|
|
159
|
+
),
|
|
160
|
+
)
|
|
161
|
+
.catch((error) => console.error("Error fetching video data:", error));
|
|
162
|
+
}, [url]);
|
|
163
|
+
|
|
164
|
+
return <div dangerouslySetInnerHTML={{ __html: html }}></div>;
|
|
165
|
+
}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import WrongIcon from "../icons/WrongIcon";
|
|
3
|
-
export default function ShowErrors({ errors }) {
|
|
4
|
-
return (_jsxs("div", { className: "bg-red-100 border border-red-400 text-red-700 px-4 py-3 rounded relative", role: "alert", children: [_jsxs("div", { className: "flex items-center", children: [_jsx(WrongIcon, {}), _jsx("span", { className: "font-bold", children: "There were 2 errors with your submission" })] }), _jsx("ul", { className: "mt-2 ml-6 list-disc list-inside", children: errors.map((error) => (_jsx("li", { children: error }))) })] }));
|
|
5
|
-
}
|
|
6
|
-
//# sourceMappingURL=Error.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Error.js","sourceRoot":"","sources":["../../../src/component/inputs/Error.tsx"],"names":[],"mappings":";AAAA,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAE3C,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EAAE,MAAM,EAAwB;IACjE,OAAO,CACL,eACE,SAAS,EAAC,0EAA0E,EACpF,IAAI,EAAC,OAAO,aAEZ,eAAK,SAAS,EAAC,mBAAmB,aAChC,KAAC,SAAS,KAAG,EACb,eAAM,SAAS,EAAC,WAAW,yDAEpB,IACH,EACN,aAAI,SAAS,EAAC,iCAAiC,YAC5C,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACrB,uBAAK,KAAK,GAAM,CACjB,CAAC,GACC,IACD,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import WrongIcon from "../icons/WrongIcon";
|
|
3
|
-
export default function ShowErrors({ errors }) {
|
|
4
|
-
return (_jsxs("div", { className: "bg-red-100 border border-red-400 text-red-700 px-4 py-3 rounded relative", role: "alert", children: [_jsxs("div", { className: "flex items-center", children: [_jsx(WrongIcon, {}), _jsx("span", { className: "font-bold", children: "There were 2 errors with your submission" })] }), _jsx("ul", { className: "mt-2 ml-6 list-disc list-inside", children: errors.map((error) => (_jsx("li", { children: error }))) })] }));
|
|
5
|
-
}
|
|
6
|
-
//# sourceMappingURL=ShowErrors.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ShowErrors.js","sourceRoot":"","sources":["../../../src/component/inputs/ShowErrors.tsx"],"names":[],"mappings":";AAAA,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAE3C,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EAAE,MAAM,EAAwB;IACjE,OAAO,CACL,eACE,SAAS,EAAC,0EAA0E,EACpF,IAAI,EAAC,OAAO,aAEZ,eAAK,SAAS,EAAC,mBAAmB,aAChC,KAAC,SAAS,KAAG,EACb,eAAM,SAAS,EAAC,WAAW,yDAEpB,IACH,EACN,aAAI,SAAS,EAAC,iCAAiC,YAC5C,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACrB,uBAAK,KAAK,GAAM,CACjB,CAAC,GACC,IACD,CACP,CAAC;AACJ,CAAC"}
|