module-package-comp 1.4.1 → 1.4.2
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 +2 -1
- package/dist/component/ComponentDisplayer.js +2 -2
- package/dist/component/ComponentDisplayer.js.map +1 -1
- package/dist/component/LableledInput.tsx +14 -0
- package/dist/component/ShowAttr.d.ts +2 -1
- package/dist/component/ShowAttr.js +8 -8
- package/dist/component/ShowAttr.js.map +1 -1
- package/dist/component/inputs/FileInput.d.ts +2 -1
- package/dist/component/inputs/FileInput.js +2 -2
- package/dist/component/inputs/FileInput.js.map +1 -1
- package/dist/component/inputs/Input.js +1 -1
- package/dist/component/inputs/Input.js.map +1 -1
- package/dist/component/inputs/MultiSelect.d.ts +1 -0
- package/dist/component/inputs/MultiSelect.js +5 -2
- package/dist/component/inputs/MultiSelect.js.map +1 -1
- package/dist/component/inputs/Select.d.ts +2 -1
- package/dist/component/inputs/Select.js +2 -2
- package/dist/component/inputs/Select.js.map +1 -1
- package/dist/index.css +5 -0
- package/package.json +1 -1
- package/src/component/ComponentDisplayer.tsx +3 -0
- package/src/component/ShowAttr.tsx +9 -0
- package/src/component/inputs/FileInput.tsx +9 -2
- package/src/component/inputs/Input.tsx +1 -1
- package/src/component/inputs/MultiSelect.tsx +5 -1
- package/src/component/inputs/Select.tsx +3 -0
|
@@ -4,6 +4,7 @@ type ComponentDisplayerProps = {
|
|
|
4
4
|
data: DataJSON;
|
|
5
5
|
setData: (data: DataJSON) => void;
|
|
6
6
|
onSubmit?: () => void;
|
|
7
|
+
disabled?: boolean;
|
|
7
8
|
};
|
|
8
|
-
export declare function ComponentDisplayer({ component, data, setData, onSubmit, }: ComponentDisplayerProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export declare function ComponentDisplayer({ component, data, setData, onSubmit, disabled, }: ComponentDisplayerProps): import("react/jsx-runtime").JSX.Element;
|
|
9
10
|
export {};
|
|
@@ -3,7 +3,7 @@ import { useState } from "react";
|
|
|
3
3
|
import { ShowAttr } from "./ShowAttr";
|
|
4
4
|
import PrimaryBtn from "./PrimaryBtn";
|
|
5
5
|
import ShowErrors from "./ShowErrors";
|
|
6
|
-
export function ComponentDisplayer({ component, data, setData, onSubmit, }) {
|
|
6
|
+
export function ComponentDisplayer({ component, data, setData, onSubmit, disabled, }) {
|
|
7
7
|
const [errors, setErrors] = useState([]);
|
|
8
8
|
return (_jsxs("form", { onSubmit: (e) => {
|
|
9
9
|
e.preventDefault();
|
|
@@ -20,7 +20,7 @@ export function ComponentDisplayer({ component, data, setData, onSubmit, }) {
|
|
|
20
20
|
const temp = Object.assign({}, data);
|
|
21
21
|
temp[attr.name] = s;
|
|
22
22
|
setData(temp);
|
|
23
|
-
}, data: data }, attr.name));
|
|
23
|
+
}, data: data, disabled: disabled }, attr.name));
|
|
24
24
|
}
|
|
25
25
|
else {
|
|
26
26
|
if (data[attr.name]) {
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"ComponentDisplayer.js","sourceRoot":"","sources":["../../src/component/ComponentDisplayer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import Input, { InputProps } from "./Input";
|
|
2
|
+
|
|
3
|
+
type Props = {
|
|
4
|
+
label: string;
|
|
5
|
+
} & InputProps;
|
|
6
|
+
|
|
7
|
+
export default function LabeledInput({ label, ...inputProps }: Props) {
|
|
8
|
+
return (
|
|
9
|
+
<div className="w-full flex gap-2 items-center">
|
|
10
|
+
<label className="block text-base font-bold mb-1">{label}</label>
|
|
11
|
+
<Input {...inputProps} />
|
|
12
|
+
</div>
|
|
13
|
+
);
|
|
14
|
+
}
|
|
@@ -5,6 +5,7 @@ type ShowAttrProps = {
|
|
|
5
5
|
setValue: (s: string) => void;
|
|
6
6
|
data: DataJSON;
|
|
7
7
|
showLabel?: boolean;
|
|
8
|
+
disabled?: boolean;
|
|
8
9
|
};
|
|
9
|
-
export declare function ShowAttr({ attribute, value, setValue, showLabel, data, }: ShowAttrProps): import("react/jsx-runtime").JSX.Element | undefined;
|
|
10
|
+
export declare function ShowAttr({ attribute, value, setValue, showLabel, data, disabled, }: ShowAttrProps): import("react/jsx-runtime").JSX.Element | undefined;
|
|
10
11
|
export {};
|
|
@@ -6,7 +6,7 @@ import LabeledMutliSelect from "./inputs/LabeledMutliSelect";
|
|
|
6
6
|
import { useMemo } from "react";
|
|
7
7
|
import { Parser } from "expr-eval";
|
|
8
8
|
import LabeledFileInput from "./inputs/LableledFileInput";
|
|
9
|
-
export function ShowAttr({ attribute, value, setValue, showLabel = true, data, }) {
|
|
9
|
+
export function ShowAttr({ attribute, value, setValue, showLabel = true, data, disabled, }) {
|
|
10
10
|
var _a, _b, _c, _d;
|
|
11
11
|
const label = useMemo(() => (showLabel ? attribute.label || "" : ""), [attribute.label]);
|
|
12
12
|
const type = useMemo(() => {
|
|
@@ -15,21 +15,21 @@ export function ShowAttr({ attribute, value, setValue, showLabel = true, data, }
|
|
|
15
15
|
}, [attribute.type]);
|
|
16
16
|
switch (type) {
|
|
17
17
|
case AttributeTypeEnum.NUMBER:
|
|
18
|
-
return (_jsx(LabeledInput, { label: label, value: value, setValue: setValue, type: "number", max: Number((_a = attribute.settings) === null || _a === void 0 ? void 0 : _a.max), min: Number((_b = attribute.settings) === null || _b === void 0 ? void 0 : _b.min) }));
|
|
18
|
+
return (_jsx(LabeledInput, { label: label, value: value, setValue: setValue, type: "number", max: Number((_a = attribute.settings) === null || _a === void 0 ? void 0 : _a.max), min: Number((_b = attribute.settings) === null || _b === void 0 ? void 0 : _b.min), disabled: disabled }));
|
|
19
19
|
case AttributeTypeEnum.TEXT:
|
|
20
|
-
return (_jsx(LabeledInput, { label: label, value: value, setValue: setValue, type: "text", maxLength: (_c = attribute.settings) === null || _c === void 0 ? void 0 : _c.max, minLength: (_d = attribute.settings) === null || _d === void 0 ? void 0 : _d.min }));
|
|
20
|
+
return (_jsx(LabeledInput, { label: label, value: value, setValue: setValue, type: "text", maxLength: (_c = attribute.settings) === null || _c === void 0 ? void 0 : _c.max, minLength: (_d = attribute.settings) === null || _d === void 0 ? void 0 : _d.min, disabled: disabled }));
|
|
21
21
|
case AttributeTypeEnum.LIST:
|
|
22
|
-
return (_jsx(LabeledSelect, { label: label, selected: value, setSelected: setValue, options: attribute.content || [] }));
|
|
22
|
+
return (_jsx(LabeledSelect, { label: label, selected: value, setSelected: setValue, options: attribute.content || [], disabled: disabled }));
|
|
23
23
|
case AttributeTypeEnum.BOOLEAN:
|
|
24
|
-
return (_jsx(LabeledInput, { type: "checkbox", label: label, checked: value === "true", setValue: (s) => setValue(s) }));
|
|
24
|
+
return (_jsx(LabeledInput, { type: "checkbox", label: label, checked: value === "true", setValue: (s) => setValue(s), disabled: disabled }));
|
|
25
25
|
case AttributeTypeEnum.DATE:
|
|
26
|
-
return (_jsx(LabeledInput, { type: "date", label: label, value: value, setValue: (date) => setValue(date) }));
|
|
26
|
+
return (_jsx(LabeledInput, { type: "date", label: label, value: value, setValue: (date) => setValue(date), disabled: disabled }));
|
|
27
27
|
case AttributeTypeEnum.LINK:
|
|
28
28
|
return (_jsxs("div", { className: "w-full", children: [_jsx("label", { className: "block text-sm font-bold mb-1", children: label }), _jsx("a", { href: attribute.content, target: "_blank", children: attribute.content })] }));
|
|
29
29
|
case AttributeTypeEnum.MULTIPLE:
|
|
30
|
-
return (_jsx(LabeledMutliSelect, { label: label, selectedOptions: value !== "" ? value.split(",") : [], onChange: (selected) => setValue(selected.join(",")), options: attribute.content || [] }));
|
|
30
|
+
return (_jsx(LabeledMutliSelect, { label: label, selectedOptions: value !== "" ? value.split(",") : [], onChange: (selected) => setValue(selected.join(",")), options: attribute.content || [], disabled: disabled }));
|
|
31
31
|
case AttributeTypeEnum.FILE:
|
|
32
|
-
return (_jsx(LabeledFileInput, { label: label, fileUrl: value.includes("http") ? value : undefined, setFileData: setValue }));
|
|
32
|
+
return (_jsx(LabeledFileInput, { label: label, fileUrl: value.includes("http") ? value : undefined, setFileData: setValue, disabled: disabled }));
|
|
33
33
|
case AttributeTypeEnum.IMAGE_OUTPUT:
|
|
34
34
|
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 })] }));
|
|
35
35
|
case AttributeTypeEnum.VIDEO_OUTPUT:
|
|
@@ -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,EAAa,OAAO,EAAY,MAAM,OAAO,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,gBAAgB,MAAM,4BAA4B,CAAC;
|
|
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,EAAa,OAAO,EAAY,MAAM,OAAO,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,gBAAgB,MAAM,4BAA4B,CAAC;AAW1D,MAAM,UAAU,QAAQ,CAAC,EACvB,SAAS,EACT,KAAK,EACL,QAAQ,EACR,SAAS,GAAG,IAAI,EAChB,IAAI,EACJ,QAAQ,GACM;;IACd,MAAM,KAAK,GAAG,OAAO,CACnB,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAC9C,CAAC,SAAS,CAAC,KAAK,CAAC,CAClB,CAAC;IACF,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE;QACxB,IAAI,SAAS,CAAC,IAAI;YAAE,OAAO,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACrB,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,iBAAiB,CAAC,MAAM;YAC3B,OAAO,CACL,KAAC,YAAY,IACX,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAC,QAAQ,EACb,GAAG,EAAE,MAAM,CAAC,MAAA,SAAS,CAAC,QAAQ,0CAAE,GAAG,CAAC,EACpC,GAAG,EAAE,MAAM,CAAC,MAAA,SAAS,CAAC,QAAQ,0CAAE,GAAG,CAAC,EACpC,QAAQ,EAAE,QAAQ,GAClB,CACH,CAAC;QACJ,KAAK,iBAAiB,CAAC,IAAI;YACzB,OAAO,CACL,KAAC,YAAY,IACX,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAC,MAAM,EACX,SAAS,EAAE,MAAA,SAAS,CAAC,QAAQ,0CAAE,GAAG,EAClC,SAAS,EAAE,MAAA,SAAS,CAAC,QAAQ,0CAAE,GAAG,EAClC,QAAQ,EAAE,QAAQ,GAClB,CACH,CAAC;QACJ,KAAK,iBAAiB,CAAC,IAAI;YACzB,OAAO,CACL,KAAC,aAAa,IACZ,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,KAAK,EACf,WAAW,EAAE,QAAQ,EACrB,OAAO,EAAG,SAAS,CAAC,OAAoB,IAAI,EAAE,EAC9C,QAAQ,EAAE,QAAQ,GAClB,CACH,CAAC;QACJ,KAAK,iBAAiB,CAAC,OAAO;YAC5B,OAAO,CACL,KAAC,YAAY,IACX,IAAI,EAAC,UAAU,EACf,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,KAAK,KAAK,MAAM,EACzB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAC5B,QAAQ,EAAE,QAAQ,GAClB,CACH,CAAC;QACJ,KAAK,iBAAiB,CAAC,IAAI;YACzB,OAAO,CACL,KAAC,YAAY,IACX,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAClC,QAAQ,EAAE,QAAQ,GAClB,CACH,CAAC;QACJ,KAAK,iBAAiB,CAAC,IAAI;YACzB,OAAO,CACL,eAAK,SAAS,EAAC,QAAQ,aACrB,gBAAO,SAAS,EAAC,8BAA8B,YAAE,KAAK,GAAS,EAC/D,YAAG,IAAI,EAAE,SAAS,CAAC,OAAiB,EAAE,MAAM,EAAC,QAAQ,YAClD,SAAS,CAAC,OAAO,GAChB,IACA,CACP,CAAC;QACJ,KAAK,iBAAiB,CAAC,QAAQ;YAC7B,OAAO,CACL,KAAC,kBAAkB,IACjB,KAAK,EAAE,KAAK,EACZ,eAAe,EAAE,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EACrD,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EACpD,OAAO,EAAG,SAAS,CAAC,OAAoB,IAAI,EAAE,EAC9C,QAAQ,EAAE,QAAQ,GAClB,CACH,CAAC;QACJ,KAAK,iBAAiB,CAAC,IAAI;YACzB,OAAO,CACL,KAAC,gBAAgB,IACf,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EACnD,WAAW,EAAE,QAAQ,EACrB,QAAQ,EAAE,QAAQ,GAClB,CACH,CAAC;QACJ,KAAK,iBAAiB,CAAC,YAAY;YACjC,OAAO,CACL,eAAK,SAAS,EAAC,QAAQ,aACrB,gBAAO,SAAS,EAAC,8BAA8B,YAAE,KAAK,GAAS,EAC/D,cAAK,SAAS,EAAC,MAAM,EAAC,GAAG,EAAE,SAAS,CAAC,OAAiB,GAAI,IACtD,CACP,CAAC;QACJ,KAAK,iBAAiB,CAAC,YAAY;YACjC,OAAO,KAAC,SAAS,IAAC,GAAG,EAAE,SAAS,CAAC,OAAiB,GAAI,CAAC;QACzD,KAAK,iBAAiB,CAAC,WAAW;YAChC,OAAO,CACL,eAAK,SAAS,EAAC,QAAQ,aACrB,gBAAO,SAAS,EAAC,8BAA8B,YAAE,KAAK,GAAS,EAC/D,mBAAU,SAAS,EAAC,iBAAiB,EAAC,QAAQ,kBAC3C,SAAS,CAAC,OAAiB,GACnB,IACP,CACP,CAAC;QACJ,KAAK,iBAAiB,CAAC,KAAK;YAC1B,OAAO,CACL,cAAK,SAAS,EAAC,QAAQ,YACrB,aAAI,SAAS,EAAC,wBAAwB,YAAE,SAAS,CAAC,KAAK,GAAM,GACzD,CACP,CAAC;QACJ,KAAK,iBAAiB,CAAC,OAAO;YAC5B,IAAI,MAAM,GAAG,CAAC,CAAC;YACf,IAAI,SAAS,CAAC,OAAO,IAAI,OAAO,SAAS,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC/D,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBACnD,OAAO,sBAAI,MAAM,GAAK,CAAC;YACzB,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAe,EAAE,IAAc;IACvD,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;IAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IAC9B,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAA0C,CAAW,CAAC;IAC7E,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,EAAE,GAAG,EAAmB;IACzC,OAAO,CACL,wBACE,iBACE,KAAK,EAAC,KAAK,EACX,MAAM,EAAC,KAAK,EACZ,GAAG,EAAE,gCAAgC,GAAG,GAAG,EAC3C,KAAK,EAAC,sBAAsB,EAC5B,KAAK,EAAC,qGAAqG,GACnG,GACN,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export type FileInputProps = {
|
|
2
2
|
fileUrl?: string;
|
|
3
3
|
setFileData?: (fileData: string) => void;
|
|
4
|
+
disabled?: boolean;
|
|
4
5
|
};
|
|
5
|
-
export default function FileInput({ fileUrl, setFileData }: FileInputProps): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export default function FileInput({ fileUrl, setFileData, disabled, }: FileInputProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
export default function FileInput({ fileUrl, setFileData }) {
|
|
2
|
+
export default function FileInput({ fileUrl, setFileData, disabled, }) {
|
|
3
3
|
function handleChange(event) {
|
|
4
4
|
if (event.target.files && event.target.files[0] && setFileData) {
|
|
5
5
|
const reader = new FileReader();
|
|
@@ -9,6 +9,6 @@ export default function FileInput({ fileUrl, setFileData }) {
|
|
|
9
9
|
reader.readAsDataURL(event.target.files[0]);
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
|
-
return (_jsxs("div", { children: [fileUrl && (_jsx("a", { href: fileUrl, target: "_blank", className: "text-blue-500 block", children: fileUrl.substring(fileUrl.lastIndexOf("/") + 1) })), setFileData && _jsx("input", { type: "file", onChange: handleChange })] }));
|
|
12
|
+
return (_jsxs("div", { children: [fileUrl && (_jsx("a", { href: fileUrl, target: "_blank", className: "text-blue-500 block", children: fileUrl.substring(fileUrl.lastIndexOf("/") + 1) })), setFileData && !disabled && (_jsx("input", { type: "file", onChange: handleChange }))] }));
|
|
13
13
|
}
|
|
14
14
|
//# sourceMappingURL=FileInput.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileInput.js","sourceRoot":"","sources":["../../../src/component/inputs/FileInput.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"FileInput.js","sourceRoot":"","sources":["../../../src/component/inputs/FileInput.tsx"],"names":[],"mappings":";AAQA,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAChC,OAAO,EACP,WAAW,EACX,QAAQ,GACO;IACf,SAAS,YAAY,CAAC,KAAoC;QACxD,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC;YAC/D,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAChC,MAAM,CAAC,SAAS,GAAG,GAAG,EAAE;gBACtB,WAAW,CACT,GAAG,KAAK,CAAC,MAAM,CAAC,KAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,MAAgB,EAAE,CAC7D,CAAC;YACJ,CAAC,CAAC;YACF,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IACD,OAAO,CACL,0BACG,OAAO,IAAI,CACV,YAAG,IAAI,EAAE,OAAO,EAAE,MAAM,EAAC,QAAQ,EAAC,SAAS,EAAC,qBAAqB,YAC9D,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAC9C,CACL,EACA,WAAW,IAAI,CAAC,QAAQ,IAAI,CAC3B,gBAAO,IAAI,EAAC,MAAM,EAAC,QAAQ,EAAE,YAAY,GAAI,CAC9C,IACG,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
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
|
-
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"
|
|
3
|
+
return (_jsx("input", { type: type, className: `py-1.5 px-3 ${type === "checkbox" ? "size-5" : "w-full"} border-2 bg-red-600 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"
|
|
4
4
|
? setValue(String(e.target.checked))
|
|
5
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 }));
|
|
6
6
|
}
|
|
@@ -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,CACL,gBACE,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,eAAe,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,
|
|
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,sJAAsJ,EACzN,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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useState } from "react";
|
|
3
|
-
const MultiSelect = ({ options, selectedOptions, onChange, }) => {
|
|
3
|
+
const MultiSelect = ({ options, selectedOptions, onChange, disabled, }) => {
|
|
4
4
|
const [isOpen, setIsOpen] = useState(false);
|
|
5
5
|
const [filter, setFilter] = useState("");
|
|
6
6
|
const toggleDropdown = () => setIsOpen(!isOpen);
|
|
@@ -16,7 +16,10 @@ const MultiSelect = ({ options, selectedOptions, onChange, }) => {
|
|
|
16
16
|
setFilter(e.target.value);
|
|
17
17
|
};
|
|
18
18
|
const filteredOptions = options.filter((option) => option.toLowerCase().includes(filter.toLowerCase()));
|
|
19
|
-
return (_jsxs("div", { className: "relative inline-block w-full", children: [_jsx("div", { className: "py-2 px-3 bg-white block w-full border-2 border-gray-200 rounded-lg text-sm focus:border-blue-500 focus:ring-blue-500 disabled:opacity-50 disabled:pointer-events-none", onClick: toggleDropdown, children: Array.isArray(selectedOptions) && selectedOptions.length > 0 ? (selectedOptions.map((option) => (_jsx("span", { className: "mr-1 inline-block rounded-full bg-secondary-blue px-2 py-1 text-sm text-white-shade", children: option }, option)))) : (_jsx("span", { className: "text-placeholder-gray", children: "Select options" })) }), isOpen && (_jsxs("div", { className: "absolute left-0 right-0 z-10 mt-2 rounded-md border border-secondary-gray bg-white-shade", children: [_jsx("input", { type: "text", className: "w-full border-b border-secondary-gray p-2", placeholder: "Filter options...", value: filter, onChange: handleFilterChange }), _jsx("div", { className: "max-h-60 overflow-y-auto", children: filteredOptions.map((option) => (_jsxs("div", { className: "cursor-pointer p-2 hover:bg-primary-gray", onClick: () =>
|
|
19
|
+
return (_jsxs("div", { className: "relative inline-block w-full", children: [_jsx("div", { className: "py-2 px-3 bg-white block w-full border-2 border-gray-200 rounded-lg text-sm focus:border-blue-500 focus:ring-blue-500 disabled:opacity-50 disabled:pointer-events-none", onClick: toggleDropdown, children: Array.isArray(selectedOptions) && selectedOptions.length > 0 ? (selectedOptions.map((option) => (_jsx("span", { className: "mr-1 inline-block rounded-full bg-secondary-blue px-2 py-1 text-sm text-white-shade", children: option }, option)))) : (_jsx("span", { className: "text-placeholder-gray", children: "Select options" })) }), isOpen && (_jsxs("div", { className: "absolute left-0 right-0 z-10 mt-2 rounded-md border border-secondary-gray bg-white-shade", children: [_jsx("input", { type: "text", className: "w-full border-b border-secondary-gray p-2", placeholder: "Filter options...", value: filter, onChange: handleFilterChange }), _jsx("div", { className: "max-h-60 overflow-y-auto", children: filteredOptions.map((option) => (_jsxs("div", { className: "cursor-pointer p-2 hover:bg-primary-gray", onClick: () => {
|
|
20
|
+
if (!disabled)
|
|
21
|
+
handleOptionClick(option);
|
|
22
|
+
}, children: [_jsx("input", { type: "checkbox", checked: selectedOptions.includes(option), readOnly: true, className: "mr-2" }), _jsx("span", { className: "ml-2", children: option })] }, option))) })] }))] }));
|
|
20
23
|
};
|
|
21
24
|
export default MultiSelect;
|
|
22
25
|
//# sourceMappingURL=MultiSelect.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiSelect.js","sourceRoot":"","sources":["../../../src/component/inputs/MultiSelect.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"MultiSelect.js","sourceRoot":"","sources":["../../../src/component/inputs/MultiSelect.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AASxC,MAAM,WAAW,GAA+B,CAAC,EAC/C,OAAO,EACP,eAAe,EACf,QAAQ,EACR,QAAQ,GACT,EAAE,EAAE;IACH,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEzC,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;IAEhD,MAAM,iBAAiB,GAAG,CAAC,MAAc,EAAE,EAAE;QAC3C,IAAI,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACrC,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC;QACtE,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,CAAC,GAAG,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;QACzC,CAAC;IACH,CAAC,CAAC;IACF,MAAM,kBAAkB,GAAG,CAAC,CAAsC,EAAE,EAAE;QACpE,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAChD,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CACpD,CAAC;IAEF,OAAO,CACL,eAAK,SAAS,EAAC,8BAA8B,aAC3C,cACE,SAAS,EAAC,wKAAwK,EAClL,OAAO,EAAE,cAAc,YAEtB,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAC9D,eAAe,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAC9B,eAEE,SAAS,EAAC,qFAAqF,YAE9F,MAAM,IAHF,MAAM,CAIN,CACR,CAAC,CACH,CAAC,CAAC,CAAC,CACF,eAAM,SAAS,EAAC,uBAAuB,+BAAsB,CAC9D,GACG,EACL,MAAM,IAAI,CACT,eAAK,SAAS,EAAC,0FAA0F,aACvG,gBACE,IAAI,EAAC,MAAM,EACX,SAAS,EAAC,2CAA2C,EACrD,WAAW,EAAC,mBAAmB,EAC/B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,kBAAkB,GAC5B,EACF,cAAK,SAAS,EAAC,0BAA0B,YACtC,eAAe,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAC/B,eAEE,SAAS,EAAC,0CAA0C,EACpD,OAAO,EAAE,GAAG,EAAE;gCACZ,IAAI,CAAC,QAAQ;oCAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;4BAC3C,CAAC,aAED,gBACE,IAAI,EAAC,UAAU,EACf,OAAO,EAAE,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,EACzC,QAAQ,QACR,SAAS,EAAC,MAAM,GAChB,EACF,eAAM,SAAS,EAAC,MAAM,YAAE,MAAM,GAAQ,KAZjC,MAAM,CAaP,CACP,CAAC,GACE,IACF,CACP,IACG,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -3,5 +3,6 @@ export type SelectProps = {
|
|
|
3
3
|
selected: string;
|
|
4
4
|
setSelected: (s: string) => void;
|
|
5
5
|
canDefault?: boolean;
|
|
6
|
+
disabled?: boolean;
|
|
6
7
|
};
|
|
7
|
-
export default function Select({ options, selected, setSelected, canDefault, }: SelectProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export default function Select({ options, selected, setSelected, canDefault, disabled, }: SelectProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
export default function Select({ options, selected, setSelected, canDefault, }) {
|
|
3
|
-
return (_jsxs("select", { value: selected || "", onChange: (e) => setSelected(e.target.value), className: "py-2 px-3 bg-white block w-full border-2 border-gray-200 rounded-lg text-sm focus:border-blue-500 focus:ring-blue-500 disabled:opacity-50 disabled:pointer-events-none", children: [_jsx("option", { value: "", disabled: !canDefault, hidden: !canDefault, children: "selection" }), options.map((opt, i) => (_jsx("option", { value: opt, children: opt }, i)))] }));
|
|
2
|
+
export default function Select({ options, selected, setSelected, canDefault, disabled, }) {
|
|
3
|
+
return (_jsxs("select", { value: selected || "", onChange: (e) => setSelected(e.target.value), className: "py-2 px-3 bg-white block w-full border-2 border-gray-200 rounded-lg text-sm focus:border-blue-500 focus:ring-blue-500 disabled:opacity-50 disabled:pointer-events-none", disabled: disabled, children: [_jsx("option", { value: "", disabled: !canDefault, hidden: !canDefault, children: "selection" }), options.map((opt, i) => (_jsx("option", { value: opt, children: opt }, i)))] }));
|
|
4
4
|
}
|
|
5
5
|
//# sourceMappingURL=Select.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../src/component/inputs/Select.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../src/component/inputs/Select.tsx"],"names":[],"mappings":";AAQA,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,EAC7B,OAAO,EACP,QAAQ,EACR,WAAW,EACX,UAAU,EACV,QAAQ,GACI;IACZ,OAAO,CACL,kBACE,KAAK,EAAE,QAAQ,IAAI,EAAE,EACrB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAC5C,SAAS,EAAC,wKAAwK,EAClL,QAAQ,EAAE,QAAQ,aAElB,iBAAQ,KAAK,EAAC,EAAE,EAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC,UAAU,0BAElD,EACR,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,iBAAgB,KAAK,EAAE,GAAG,YACvB,GAAG,IADO,CAAC,CAEL,CACV,CAAC,IACK,CACV,CAAC;AACJ,CAAC"}
|
package/dist/index.css
CHANGED
|
@@ -740,6 +740,11 @@ video {
|
|
|
740
740
|
background-color: rgb(254 242 242 / var(--tw-bg-opacity));
|
|
741
741
|
}
|
|
742
742
|
|
|
743
|
+
.bg-red-600 {
|
|
744
|
+
--tw-bg-opacity: 1;
|
|
745
|
+
background-color: rgb(220 38 38 / var(--tw-bg-opacity));
|
|
746
|
+
}
|
|
747
|
+
|
|
743
748
|
.bg-white {
|
|
744
749
|
--tw-bg-opacity: 1;
|
|
745
750
|
background-color: rgb(255 255 255 / var(--tw-bg-opacity));
|
package/package.json
CHANGED
|
@@ -9,6 +9,7 @@ type ComponentDisplayerProps = {
|
|
|
9
9
|
data: DataJSON;
|
|
10
10
|
setData: (data: DataJSON) => void;
|
|
11
11
|
onSubmit?: () => void;
|
|
12
|
+
disabled?: boolean;
|
|
12
13
|
};
|
|
13
14
|
|
|
14
15
|
export function ComponentDisplayer({
|
|
@@ -16,6 +17,7 @@ export function ComponentDisplayer({
|
|
|
16
17
|
data,
|
|
17
18
|
setData,
|
|
18
19
|
onSubmit,
|
|
20
|
+
disabled,
|
|
19
21
|
}: ComponentDisplayerProps) {
|
|
20
22
|
const [errors, setErrors] = useState<string[]>([]);
|
|
21
23
|
return (
|
|
@@ -48,6 +50,7 @@ export function ComponentDisplayer({
|
|
|
48
50
|
setData(temp);
|
|
49
51
|
}}
|
|
50
52
|
data={data}
|
|
53
|
+
disabled={disabled}
|
|
51
54
|
/>
|
|
52
55
|
);
|
|
53
56
|
} else {
|
|
@@ -12,6 +12,7 @@ type ShowAttrProps = {
|
|
|
12
12
|
setValue: (s: string) => void;
|
|
13
13
|
data: DataJSON;
|
|
14
14
|
showLabel?: boolean;
|
|
15
|
+
disabled?: boolean;
|
|
15
16
|
};
|
|
16
17
|
|
|
17
18
|
export function ShowAttr({
|
|
@@ -20,6 +21,7 @@ export function ShowAttr({
|
|
|
20
21
|
setValue,
|
|
21
22
|
showLabel = true,
|
|
22
23
|
data,
|
|
24
|
+
disabled,
|
|
23
25
|
}: ShowAttrProps) {
|
|
24
26
|
const label = useMemo(
|
|
25
27
|
() => (showLabel ? attribute.label || "" : ""),
|
|
@@ -38,6 +40,7 @@ export function ShowAttr({
|
|
|
38
40
|
type="number"
|
|
39
41
|
max={Number(attribute.settings?.max)}
|
|
40
42
|
min={Number(attribute.settings?.min)}
|
|
43
|
+
disabled={disabled}
|
|
41
44
|
/>
|
|
42
45
|
);
|
|
43
46
|
case AttributeTypeEnum.TEXT:
|
|
@@ -49,6 +52,7 @@ export function ShowAttr({
|
|
|
49
52
|
type="text"
|
|
50
53
|
maxLength={attribute.settings?.max}
|
|
51
54
|
minLength={attribute.settings?.min}
|
|
55
|
+
disabled={disabled}
|
|
52
56
|
/>
|
|
53
57
|
);
|
|
54
58
|
case AttributeTypeEnum.LIST:
|
|
@@ -58,6 +62,7 @@ export function ShowAttr({
|
|
|
58
62
|
selected={value}
|
|
59
63
|
setSelected={setValue}
|
|
60
64
|
options={(attribute.content as string[]) || []}
|
|
65
|
+
disabled={disabled}
|
|
61
66
|
/>
|
|
62
67
|
);
|
|
63
68
|
case AttributeTypeEnum.BOOLEAN:
|
|
@@ -67,6 +72,7 @@ export function ShowAttr({
|
|
|
67
72
|
label={label}
|
|
68
73
|
checked={value === "true"}
|
|
69
74
|
setValue={(s) => setValue(s)}
|
|
75
|
+
disabled={disabled}
|
|
70
76
|
/>
|
|
71
77
|
);
|
|
72
78
|
case AttributeTypeEnum.DATE:
|
|
@@ -76,6 +82,7 @@ export function ShowAttr({
|
|
|
76
82
|
label={label}
|
|
77
83
|
value={value}
|
|
78
84
|
setValue={(date) => setValue(date)}
|
|
85
|
+
disabled={disabled}
|
|
79
86
|
/>
|
|
80
87
|
);
|
|
81
88
|
case AttributeTypeEnum.LINK:
|
|
@@ -94,6 +101,7 @@ export function ShowAttr({
|
|
|
94
101
|
selectedOptions={value !== "" ? value.split(",") : []}
|
|
95
102
|
onChange={(selected) => setValue(selected.join(","))}
|
|
96
103
|
options={(attribute.content as string[]) || []}
|
|
104
|
+
disabled={disabled}
|
|
97
105
|
/>
|
|
98
106
|
);
|
|
99
107
|
case AttributeTypeEnum.FILE:
|
|
@@ -102,6 +110,7 @@ export function ShowAttr({
|
|
|
102
110
|
label={label}
|
|
103
111
|
fileUrl={value.includes("http") ? value : undefined}
|
|
104
112
|
setFileData={setValue}
|
|
113
|
+
disabled={disabled}
|
|
105
114
|
/>
|
|
106
115
|
);
|
|
107
116
|
case AttributeTypeEnum.IMAGE_OUTPUT:
|
|
@@ -3,9 +3,14 @@ import { ChangeEvent } from "react";
|
|
|
3
3
|
export type FileInputProps = {
|
|
4
4
|
fileUrl?: string;
|
|
5
5
|
setFileData?: (fileData: string) => void;
|
|
6
|
+
disabled?: boolean;
|
|
6
7
|
};
|
|
7
8
|
|
|
8
|
-
export default function FileInput({
|
|
9
|
+
export default function FileInput({
|
|
10
|
+
fileUrl,
|
|
11
|
+
setFileData,
|
|
12
|
+
disabled,
|
|
13
|
+
}: FileInputProps) {
|
|
9
14
|
function handleChange(event: ChangeEvent<HTMLInputElement>) {
|
|
10
15
|
if (event.target.files && event.target.files[0] && setFileData) {
|
|
11
16
|
const reader = new FileReader();
|
|
@@ -24,7 +29,9 @@ export default function FileInput({ fileUrl, setFileData }: FileInputProps) {
|
|
|
24
29
|
{fileUrl.substring(fileUrl.lastIndexOf("/") + 1)}
|
|
25
30
|
</a>
|
|
26
31
|
)}
|
|
27
|
-
{setFileData &&
|
|
32
|
+
{setFileData && !disabled && (
|
|
33
|
+
<input type="file" onChange={handleChange} />
|
|
34
|
+
)}
|
|
28
35
|
</div>
|
|
29
36
|
);
|
|
30
37
|
}
|
|
@@ -30,7 +30,7 @@ export default function Input({
|
|
|
30
30
|
return (
|
|
31
31
|
<input
|
|
32
32
|
type={type}
|
|
33
|
-
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`}
|
|
33
|
+
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:bg-gray-400 disabled:opacity-50 disabled:pointer-events-none`}
|
|
34
34
|
value={value}
|
|
35
35
|
onChange={(e) =>
|
|
36
36
|
type === "checkbox"
|
|
@@ -4,12 +4,14 @@ export type MultiSelectProps = {
|
|
|
4
4
|
options: string[];
|
|
5
5
|
selectedOptions: string[];
|
|
6
6
|
onChange: (selected: string[]) => void;
|
|
7
|
+
disabled?: boolean;
|
|
7
8
|
};
|
|
8
9
|
|
|
9
10
|
const MultiSelect: React.FC<MultiSelectProps> = ({
|
|
10
11
|
options,
|
|
11
12
|
selectedOptions,
|
|
12
13
|
onChange,
|
|
14
|
+
disabled,
|
|
13
15
|
}) => {
|
|
14
16
|
const [isOpen, setIsOpen] = useState(false);
|
|
15
17
|
const [filter, setFilter] = useState("");
|
|
@@ -64,7 +66,9 @@ const MultiSelect: React.FC<MultiSelectProps> = ({
|
|
|
64
66
|
<div
|
|
65
67
|
key={option}
|
|
66
68
|
className="cursor-pointer p-2 hover:bg-primary-gray"
|
|
67
|
-
onClick={() =>
|
|
69
|
+
onClick={() => {
|
|
70
|
+
if (!disabled) handleOptionClick(option);
|
|
71
|
+
}}
|
|
68
72
|
>
|
|
69
73
|
<input
|
|
70
74
|
type="checkbox"
|
|
@@ -3,6 +3,7 @@ export type SelectProps = {
|
|
|
3
3
|
selected: string;
|
|
4
4
|
setSelected: (s: string) => void;
|
|
5
5
|
canDefault?: boolean;
|
|
6
|
+
disabled?: boolean;
|
|
6
7
|
};
|
|
7
8
|
|
|
8
9
|
export default function Select({
|
|
@@ -10,12 +11,14 @@ export default function Select({
|
|
|
10
11
|
selected,
|
|
11
12
|
setSelected,
|
|
12
13
|
canDefault,
|
|
14
|
+
disabled,
|
|
13
15
|
}: SelectProps) {
|
|
14
16
|
return (
|
|
15
17
|
<select
|
|
16
18
|
value={selected || ""}
|
|
17
19
|
onChange={(e) => setSelected(e.target.value)}
|
|
18
20
|
className="py-2 px-3 bg-white block w-full border-2 border-gray-200 rounded-lg text-sm focus:border-blue-500 focus:ring-blue-500 disabled:opacity-50 disabled:pointer-events-none"
|
|
21
|
+
disabled={disabled}
|
|
19
22
|
>
|
|
20
23
|
<option value="" disabled={!canDefault} hidden={!canDefault}>
|
|
21
24
|
selection
|