module-package-comp 1.4.6 → 1.4.7

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.
Files changed (47) hide show
  1. package/dist/component/ComponentDisplayer.d.ts +10 -0
  2. package/dist/component/ComponentDisplayer.js +86 -0
  3. package/dist/component/ComponentDisplayer.js.map +1 -0
  4. package/dist/component/PrimaryBtn.d.ts +6 -0
  5. package/dist/component/PrimaryBtn.js +7 -0
  6. package/dist/component/PrimaryBtn.js.map +1 -0
  7. package/dist/component/ShowAttr.d.ts +11 -0
  8. package/dist/component/ShowAttr.js +64 -0
  9. package/dist/component/ShowAttr.js.map +1 -0
  10. package/dist/component/ShowErrors.d.ts +3 -0
  11. package/dist/component/ShowErrors.js +6 -0
  12. package/dist/component/ShowErrors.js.map +1 -0
  13. package/dist/component/icons/WrongIcon.d.ts +1 -0
  14. package/dist/component/icons/WrongIcon.js +5 -0
  15. package/dist/component/icons/WrongIcon.js.map +1 -0
  16. package/dist/component/inputs/FileInput.d.ts +6 -0
  17. package/dist/component/inputs/FileInput.js +14 -0
  18. package/dist/component/inputs/FileInput.js.map +1 -0
  19. package/dist/component/inputs/Input.d.ts +15 -0
  20. package/dist/component/inputs/Input.js +7 -0
  21. package/dist/component/inputs/Input.js.map +1 -0
  22. package/dist/component/inputs/LabeledMutliSelect.d.ts +6 -0
  23. package/dist/component/inputs/LabeledMutliSelect.js +18 -0
  24. package/dist/component/inputs/LabeledMutliSelect.js.map +1 -0
  25. package/dist/component/inputs/LableledFileInput.d.ts +6 -0
  26. package/dist/component/inputs/LableledFileInput.js +18 -0
  27. package/dist/component/inputs/LableledFileInput.js.map +1 -0
  28. package/dist/component/inputs/LableledInput.d.ts +6 -0
  29. package/dist/component/inputs/LableledInput.js +18 -0
  30. package/dist/component/inputs/LableledInput.js.map +1 -0
  31. package/dist/component/inputs/LableledSelect.d.ts +6 -0
  32. package/dist/component/inputs/LableledSelect.js +18 -0
  33. package/dist/component/inputs/LableledSelect.js.map +1 -0
  34. package/dist/component/inputs/MultiSelect.d.ts +9 -0
  35. package/dist/component/inputs/MultiSelect.js +25 -0
  36. package/dist/component/inputs/MultiSelect.js.map +1 -0
  37. package/dist/component/inputs/Select.d.ts +8 -0
  38. package/dist/component/inputs/Select.js +5 -0
  39. package/dist/component/inputs/Select.js.map +1 -0
  40. package/dist/index.css +867 -0
  41. package/dist/index.d.ts +4 -0
  42. package/dist/index.js +5 -0
  43. package/dist/index.js.map +1 -0
  44. package/dist/util/type.d.ts +107 -0
  45. package/dist/util/type.js +40 -0
  46. package/dist/util/type.js.map +1 -0
  47. package/package.json +1 -1
@@ -0,0 +1,10 @@
1
+ import { Component, DataJSON } from "../util/type";
2
+ type ComponentDisplayerProps = {
3
+ component: Component;
4
+ data: DataJSON;
5
+ setData: (data: DataJSON) => void;
6
+ onSubmit?: () => void;
7
+ disabled?: boolean;
8
+ };
9
+ export declare function ComponentDisplayer({ component, data, setData, onSubmit, disabled, }: ComponentDisplayerProps): import("react/jsx-runtime").JSX.Element;
10
+ export {};
@@ -0,0 +1,86 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from "react";
3
+ import { ShowAttr } from "./ShowAttr";
4
+ import PrimaryBtn from "./PrimaryBtn";
5
+ import ShowErrors from "./ShowErrors";
6
+ export function ComponentDisplayer({ component, data, setData, onSubmit, disabled, }) {
7
+ const [errors, setErrors] = useState([]);
8
+ return (_jsxs("form", { onSubmit: (e) => {
9
+ e.preventDefault();
10
+ const errs = checkRequired(component.attributes, data);
11
+ if (errs.length === 0 && onSubmit) {
12
+ onSubmit();
13
+ }
14
+ else {
15
+ setErrors(errs);
16
+ }
17
+ }, className: "min-w-72", children: [_jsx("h1", { className: "font-bold text-center text-blue-800 text-4xl mb-8", children: component.label }), _jsx("div", { className: "space-y-3", children: component.attributes.map((attr) => {
18
+ if (canShow(attr, data, component.conditions || [])) {
19
+ return (_jsx(ShowAttr, { attribute: attr, value: data[attr.name] ? String(data[attr.name]) : "", setValue: (s) => {
20
+ const temp = Object.assign({}, data);
21
+ temp[attr.name] = s;
22
+ setData(temp);
23
+ }, data: data, disabled: disabled }, attr.name));
24
+ }
25
+ else {
26
+ if (data[attr.name]) {
27
+ const temp = Object.assign({}, data);
28
+ temp[attr.name] = "";
29
+ setData(temp);
30
+ }
31
+ }
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
+ }
34
+ // check the required attributes and return array string of errors
35
+ function checkRequired(attributes, data) {
36
+ const requiredAttributes = attributes.filter((attr) => { var _a; return (_a = attr.settings) === null || _a === void 0 ? void 0 : _a.required; });
37
+ const errors = [];
38
+ requiredAttributes.forEach((attr) => {
39
+ if (!data[attr.name]) {
40
+ errors.push(`${attr.label} is required`);
41
+ }
42
+ });
43
+ return errors;
44
+ }
45
+ function canShow(attr, data, conds) {
46
+ const conditions = conds.filter((c) => c[c.length - 1].delimiter === attr.name);
47
+ if (!conditions || conditions.length === 0) {
48
+ return true;
49
+ }
50
+ return conditions.some((conditionSet) => {
51
+ for (let i = 0; i < conditionSet.length; i++) {
52
+ const currentCond = conditionSet[i];
53
+ const result = evaluateCondition(currentCond, data);
54
+ if (currentCond.delimiter === "ou") {
55
+ if (result) {
56
+ return true;
57
+ }
58
+ }
59
+ else if (currentCond.delimiter === "et") {
60
+ if (!result) {
61
+ return false;
62
+ }
63
+ }
64
+ else {
65
+ return result;
66
+ }
67
+ }
68
+ });
69
+ }
70
+ function evaluateCondition(condition, data) {
71
+ const { attribute, cond, value } = condition;
72
+ const dataValue = data[attribute];
73
+ switch (cond) {
74
+ case "EQ":
75
+ return value === dataValue;
76
+ case "INF":
77
+ return value < dataValue;
78
+ case "SUP":
79
+ return value > dataValue;
80
+ case "CONTAIN":
81
+ return String(dataValue).includes(value);
82
+ default:
83
+ return false;
84
+ }
85
+ }
86
+ //# sourceMappingURL=ComponentDisplayer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComponentDisplayer.js","sourceRoot":"","sources":["../../src/component/ComponentDisplayer.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ type props = {
2
+ text: string;
3
+ disabled?: boolean;
4
+ };
5
+ export default function PrimaryBtn({ text, disabled }: props): import("react/jsx-runtime").JSX.Element;
6
+ export {};
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useRef } from "react";
3
+ export default function PrimaryBtn({ text, disabled }) {
4
+ const btn = useRef(null);
5
+ return (_jsx("button", { type: "submit", ref: btn, className: "rounded-2xl bg-[#0096DC] bg-opacity-85 px-8 py-2 font-bold text-white hover:bg-opacity-100", disabled: disabled, children: text }));
6
+ }
7
+ //# sourceMappingURL=PrimaryBtn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrimaryBtn.js","sourceRoot":"","sources":["../../src/component/PrimaryBtn.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAO/B,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAS;IAC1D,MAAM,GAAG,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAC;IAC5C,OAAO,CACL,iBACE,IAAI,EAAC,QAAQ,EACb,GAAG,EAAE,GAAG,EACR,SAAS,EACP,4FAA4F,EAE9F,QAAQ,EAAE,QAAQ,YAEjB,IAAI,GACE,CACV,CAAC;AACJ,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { Attribute, DataJSON } from "../util/type";
2
+ type ShowAttrProps = {
3
+ attribute: Attribute;
4
+ value: string;
5
+ setValue: (s: string) => void;
6
+ data: DataJSON;
7
+ showLabel?: boolean;
8
+ disabled?: boolean;
9
+ };
10
+ export declare function ShowAttr({ attribute, value, setValue, showLabel, data, disabled, }: ShowAttrProps): import("react/jsx-runtime").JSX.Element | undefined;
11
+ export {};
@@ -0,0 +1,64 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { AttributeTypeEnum } from "../util/type";
3
+ import LabeledSelect from "./inputs/LableledSelect";
4
+ import LabeledInput from "./inputs/LableledInput";
5
+ import LabeledMutliSelect from "./inputs/LabeledMutliSelect";
6
+ import { useMemo } from "react";
7
+ import { Parser } from "expr-eval";
8
+ import LabeledFileInput from "./inputs/LableledFileInput";
9
+ export function ShowAttr({ attribute, value, setValue, showLabel = true, data, disabled, }) {
10
+ var _a, _b, _c, _d;
11
+ const label = useMemo(() => (showLabel ? attribute.label || "" : ""), [attribute.label]);
12
+ const type = useMemo(() => {
13
+ if (attribute.type)
14
+ return AttributeTypeEnum[attribute.type];
15
+ }, [attribute.type]);
16
+ switch (type) {
17
+ case AttributeTypeEnum.NUMBER:
18
+ return (_jsx(LabeledInput, { label: label, value: value, setValue: setValue, type: "number", max: ((_a = attribute.settings) === null || _a === void 0 ? void 0 : _a.max) ? Number(attribute.settings.max) : undefined, min: ((_b = attribute.settings) === null || _b === void 0 ? void 0 : _b.min) ? Number(attribute.settings.min) : undefined, disabled: disabled }));
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, disabled: disabled }));
21
+ case AttributeTypeEnum.LIST:
22
+ return (_jsx(LabeledSelect, { label: label, selected: value, setSelected: setValue, options: attribute.content || [], disabled: disabled }));
23
+ case AttributeTypeEnum.BOOLEAN:
24
+ return (_jsx(LabeledInput, { type: "checkbox", label: label, checked: value === "true", setValue: (s) => setValue(s), disabled: disabled }));
25
+ case AttributeTypeEnum.DATE:
26
+ return (_jsx(LabeledInput, { type: "date", label: label, value: value, setValue: (date) => setValue(date), disabled: disabled }));
27
+ case AttributeTypeEnum.LINK:
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
+ case AttributeTypeEnum.MULTIPLE:
30
+ return (_jsx(LabeledMutliSelect, { label: label, selectedOptions: value !== "" ? value.split(",") : [], onChange: (selected) => setValue(selected.join(",")), options: attribute.content || [], disabled: disabled }));
31
+ case AttributeTypeEnum.FILE:
32
+ case AttributeTypeEnum.IMAGE:
33
+ return (_jsx(LabeledFileInput, { label: label, fileUrl: value.includes("http") ? value : undefined, setFileData: setValue, disabled: disabled }));
34
+ case AttributeTypeEnum.IMAGE_OUTPUT:
35
+ 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 })] }));
36
+ case AttributeTypeEnum.VIDEO_OUTPUT:
37
+ return _jsx(ShowVideo, { url: attribute.content });
38
+ case AttributeTypeEnum.TEXT_OUTPUT:
39
+ return (_jsxs("div", { className: "w-full", children: [_jsx("label", { className: "block text-sm font-bold mb-1", children: label }), _jsx("textarea", { className: "w-full bg-white", disabled: true, children: attribute.content })] }));
40
+ case AttributeTypeEnum.TITRE:
41
+ return (_jsx("div", { className: "w-full", children: _jsx("h2", { className: "text-3xl font-semibold", children: attribute.label }) }));
42
+ case AttributeTypeEnum.AUTOGEN:
43
+ let result = 0;
44
+ if (attribute.content && typeof attribute.content === "string") {
45
+ result = calculateContent(attribute.content, data);
46
+ return _jsx("p", { children: result });
47
+ }
48
+ }
49
+ }
50
+ function calculateContent(content, data) {
51
+ const parser = new Parser();
52
+ const expr = parser.parse(content);
53
+ const vars = expr.variables();
54
+ if (vars.every((v) => !!data[v])) {
55
+ return expr.evaluate(data);
56
+ }
57
+ else {
58
+ return 0;
59
+ }
60
+ }
61
+ function ShowVideo({ url }) {
62
+ return (_jsx("div", { children: _jsx("iframe", { width: "560", height: "315", src: "https://www.youtube.com/embed/" + url, title: "YouTube video player", allow: "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" }) }));
63
+ }
64
+ //# sourceMappingURL=ShowAttr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShowAttr.js","sourceRoot":"","sources":["../../src/component/ShowAttr.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export default function ShowErrors({ errors }: {
2
+ errors: string[];
3
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,6 @@
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-50 border border-red-300 text-red-600 px-3 py-2 rounded-xl relative", role: "alert", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(WrongIcon, {}), _jsxs("span", { className: "font-semibold", children: [errors.length, " error found."] })] }), _jsx("ul", { className: "mt-2 ml-7 list-disc list-inside", children: errors.map((error) => (_jsx("li", { children: error }))) })] }));
5
+ }
6
+ //# sourceMappingURL=ShowErrors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShowErrors.js","sourceRoot":"","sources":["../../src/component/ShowErrors.tsx"],"names":[],"mappings":";AAAA,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAE1C,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EAAE,MAAM,EAAwB;IACjE,OAAO,CACL,eACE,SAAS,EAAC,4EAA4E,EACtF,IAAI,EAAC,OAAO,aAEZ,eAAK,SAAS,EAAC,yBAAyB,aACtC,KAAC,SAAS,KAAG,EACb,gBAAM,SAAS,EAAC,eAAe,aAAE,MAAM,CAAC,MAAM,qBAAqB,IAC/D,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"}
@@ -0,0 +1 @@
1
+ export default function WrongIcon(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ export default function WrongIcon() {
3
+ return (_jsxs("svg", { fill: "#c01c28", width: "22px", height: "22px", viewBox: "0 0 200 200", "data-name": "Layer 1", id: "Layer_1", xmlns: "http://www.w3.org/2000/svg", stroke: "#c01c28", children: [_jsx("g", { id: "SVGRepo_bgCarrier", "stroke-width": "0" }), _jsx("g", { id: "SVGRepo_tracerCarrier", "stroke-linecap": "round", "stroke-linejoin": "round" }), _jsxs("g", { id: "SVGRepo_iconCarrier", children: [_jsx("title", {}), _jsx("path", { d: "M100,15a85,85,0,1,0,85,85A84.93,84.93,0,0,0,100,15Zm0,150a65,65,0,1,1,65-65A64.87,64.87,0,0,1,100,165Z" }), _jsx("path", { d: "M128.5,74a9.67,9.67,0,0,0-14,0L100,88.5l-14-14a9.9,9.9,0,0,0-14,14l14,14-14,14a9.9,9.9,0,0,0,14,14l14-14,14,14a9.9,9.9,0,0,0,14-14l-14-14,14-14A10.77,10.77,0,0,0,128.5,74Z" })] })] }));
4
+ }
5
+ //# sourceMappingURL=WrongIcon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WrongIcon.js","sourceRoot":"","sources":["../../../src/component/icons/WrongIcon.tsx"],"names":[],"mappings":";AAAA,MAAM,CAAC,OAAO,UAAU,SAAS;IAC/B,OAAO,CACL,eACE,IAAI,EAAC,SAAS,EACd,KAAK,EAAC,MAAM,EACZ,MAAM,EAAC,MAAM,EACb,OAAO,EAAC,aAAa,eACX,SAAS,EACnB,EAAE,EAAC,SAAS,EACZ,KAAK,EAAC,4BAA4B,EAClC,MAAM,EAAC,SAAS,aAEhB,YAAG,EAAE,EAAC,mBAAmB,kBAAc,GAAG,GAAG,EAE7C,YACE,EAAE,EAAC,uBAAuB,oBACX,OAAO,qBACN,OAAO,GACvB,EAEF,aAAG,EAAE,EAAC,qBAAqB,aACzB,iBAAS,EAET,eAAM,CAAC,EAAC,wGAAwG,GAAG,EAEnH,eAAM,CAAC,EAAC,6KAA6K,GAAG,IACtL,IACA,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,6 @@
1
+ export type FileInputProps = {
2
+ fileUrl?: string;
3
+ setFileData?: (fileData: string) => void;
4
+ disabled?: boolean;
5
+ };
6
+ export default function FileInput({ fileUrl, setFileData, disabled, }: FileInputProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,14 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ export default function FileInput({ fileUrl, setFileData, disabled, }) {
3
+ function handleChange(event) {
4
+ if (event.target.files && event.target.files[0] && setFileData) {
5
+ const reader = new FileReader();
6
+ reader.onloadend = () => {
7
+ setFileData(`${event.target.files[0].name}&&${reader.result}`);
8
+ };
9
+ reader.readAsDataURL(event.target.files[0]);
10
+ }
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 && !disabled && (_jsx("input", { type: "file", onChange: handleChange }))] }));
13
+ }
14
+ //# sourceMappingURL=FileInput.js.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,15 @@
1
+ import { HTMLInputTypeAttribute } from "react";
2
+ export type InputProps = {
3
+ value?: string;
4
+ setValue: (s: string) => void;
5
+ type: HTMLInputTypeAttribute;
6
+ onBlur?: () => void;
7
+ maxLength?: string;
8
+ minLength?: string;
9
+ max?: number;
10
+ min?: number;
11
+ placeholder?: string;
12
+ disabled?: boolean;
13
+ checked?: boolean;
14
+ };
15
+ export default function Input({ value, setValue, type, onBlur, maxLength, minLength, max, min, placeholder, disabled, checked, }: InputProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
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:bg-gray-400 disabled:opacity-50 disabled:pointer-events-none`, value: value, onChange: (e) => type === "checkbox"
4
+ ? setValue(String(e.target.checked))
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
+ }
7
+ //# sourceMappingURL=Input.js.map
@@ -0,0 +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,gKAAgK,EACnO,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"}
@@ -0,0 +1,6 @@
1
+ import { MultiSelectProps } from "./MultiSelect";
2
+ type Props = {
3
+ label: string;
4
+ } & MultiSelectProps;
5
+ export default function LabeledMutliSelect({ label, ...inputprops }: Props): import("react/jsx-runtime").JSX.Element;
6
+ export {};
@@ -0,0 +1,18 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
+ import MultiSelect from "./MultiSelect";
14
+ export default function LabeledMutliSelect(_a) {
15
+ var { label } = _a, inputprops = __rest(_a, ["label"]);
16
+ return (_jsxs("div", { className: "w-full", children: [_jsx("label", { className: "block text-sm font-bold mb-1", children: label }), _jsx(MultiSelect, Object.assign({}, inputprops))] }));
17
+ }
18
+ //# sourceMappingURL=LabeledMutliSelect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LabeledMutliSelect.js","sourceRoot":"","sources":["../../../src/component/inputs/LabeledMutliSelect.tsx"],"names":[],"mappings":";;;;;;;;;;;;AACA,OAAO,WAAiC,MAAM,eAAe,CAAC;AAM9D,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,EAA+B;QAA/B,EAAE,KAAK,OAAwB,EAAnB,UAAU,cAAtB,SAAwB,CAAF;IAC/D,OAAO,CACL,eAAK,SAAS,EAAC,QAAQ,aACrB,gBAAO,SAAS,EAAC,8BAA8B,YAAE,KAAK,GAAS,EAC/D,KAAC,WAAW,oBAAK,UAAU,EAAI,IAC3B,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { FileInputProps } from "./FileInput";
2
+ type Props = {
3
+ label: string;
4
+ } & FileInputProps;
5
+ export default function LabeledFileInput({ label, ...inputProps }: Props): import("react/jsx-runtime").JSX.Element;
6
+ export {};
@@ -0,0 +1,18 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
+ import FileInput from "./FileInput";
14
+ export default function LabeledFileInput(_a) {
15
+ var { label } = _a, inputProps = __rest(_a, ["label"]);
16
+ return (_jsxs("div", { className: "w-full flex gap-2 items-center", children: [_jsx("label", { className: "block text-base font-bold mb-1", children: label }), _jsx(FileInput, Object.assign({}, inputProps))] }));
17
+ }
18
+ //# sourceMappingURL=LableledFileInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LableledFileInput.js","sourceRoot":"","sources":["../../../src/component/inputs/LableledFileInput.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,SAA6B,MAAM,aAAa,CAAC;AAMxD,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EAA+B;QAA/B,EAAE,KAAK,OAAwB,EAAnB,UAAU,cAAtB,SAAwB,CAAF;IAC7D,OAAO,CACL,eAAK,SAAS,EAAC,gCAAgC,aAC7C,gBAAO,SAAS,EAAC,gCAAgC,YAAE,KAAK,GAAS,EACjE,KAAC,SAAS,oBAAK,UAAU,EAAI,IACzB,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { InputProps } from "./Input";
2
+ type Props = {
3
+ label: string;
4
+ } & InputProps;
5
+ export default function LabeledInput({ label, ...inputProps }: Props): import("react/jsx-runtime").JSX.Element;
6
+ export {};
@@ -0,0 +1,18 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
+ import Input from "./Input";
14
+ export default function LabeledInput(_a) {
15
+ var { label } = _a, inputProps = __rest(_a, ["label"]);
16
+ return (_jsxs("div", { className: "w-full flex gap-2 items-center", children: [_jsx("label", { className: "block text-base font-bold mb-1", children: label }), _jsx(Input, Object.assign({}, inputProps))] }));
17
+ }
18
+ //# sourceMappingURL=LableledInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LableledInput.js","sourceRoot":"","sources":["../../../src/component/inputs/LableledInput.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,KAAqB,MAAM,SAAS,CAAC;AAM5C,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EAA+B;QAA/B,EAAE,KAAK,OAAwB,EAAnB,UAAU,cAAtB,SAAwB,CAAF;IACzD,OAAO,CACL,eAAK,SAAS,EAAC,gCAAgC,aAC7C,gBAAO,SAAS,EAAC,gCAAgC,YAAE,KAAK,GAAS,EACjE,KAAC,KAAK,oBAAK,UAAU,EAAI,IACrB,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { SelectProps } from "./Select";
2
+ type Props = {
3
+ label: string;
4
+ } & SelectProps;
5
+ export default function LabeledSelect({ label, ...inputProps }: Props): import("react/jsx-runtime").JSX.Element;
6
+ export {};
@@ -0,0 +1,18 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
+ import Select from "./Select";
14
+ export default function LabeledSelect(_a) {
15
+ var { label } = _a, inputProps = __rest(_a, ["label"]);
16
+ return (_jsxs("div", { className: "w-full", children: [_jsx("label", { className: "block text-sm font-bold mb-1", children: label }), _jsx(Select, Object.assign({}, inputProps))] }));
17
+ }
18
+ //# sourceMappingURL=LableledSelect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LableledSelect.js","sourceRoot":"","sources":["../../../src/component/inputs/LableledSelect.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,MAAuB,MAAM,UAAU,CAAC;AAM/C,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EAA+B;QAA/B,EAAE,KAAK,OAAwB,EAAnB,UAAU,cAAtB,SAAwB,CAAF;IAC1D,OAAO,CACL,eAAK,SAAS,EAAC,QAAQ,aACrB,gBAAO,SAAS,EAAC,8BAA8B,YAAE,KAAK,GAAS,EAC/D,KAAC,MAAM,oBAAK,UAAU,EAAI,IACtB,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ export type MultiSelectProps = {
3
+ options: string[];
4
+ selectedOptions: string[];
5
+ onChange: (selected: string[]) => void;
6
+ disabled?: boolean;
7
+ };
8
+ declare const MultiSelect: React.FC<MultiSelectProps>;
9
+ export default MultiSelect;
@@ -0,0 +1,25 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from "react";
3
+ const MultiSelect = ({ options, selectedOptions, onChange, disabled, }) => {
4
+ const [isOpen, setIsOpen] = useState(false);
5
+ const [filter, setFilter] = useState("");
6
+ const toggleDropdown = () => setIsOpen(!isOpen);
7
+ const handleOptionClick = (option) => {
8
+ if (selectedOptions.includes(option)) {
9
+ onChange(selectedOptions.filter((selected) => selected !== option));
10
+ }
11
+ else {
12
+ onChange([...selectedOptions, option]);
13
+ }
14
+ };
15
+ const handleFilterChange = (e) => {
16
+ setFilter(e.target.value);
17
+ };
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", 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", 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))) })] }))] }));
23
+ };
24
+ export default MultiSelect;
25
+ //# sourceMappingURL=MultiSelect.js.map
@@ -0,0 +1 @@
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,oEAAoE,YAE7E,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,oFAAoF,aACjG,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"}
@@ -0,0 +1,8 @@
1
+ export type SelectProps = {
2
+ options: string[];
3
+ selected: string;
4
+ setSelected: (s: string) => void;
5
+ canDefault?: boolean;
6
+ disabled?: boolean;
7
+ };
8
+ export default function Select({ options, selected, setSelected, canDefault, disabled, }: SelectProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
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
+ }
5
+ //# sourceMappingURL=Select.js.map
@@ -0,0 +1 @@
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"}