next-anvil 0.1.0 → 0.3.0
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/bin/templates/resource.js +4 -4
- package/dist/components/AnvilForm.d.ts +14 -0
- package/dist/components/AnvilForm.d.ts.map +1 -0
- package/dist/components/AnvilForm.js +68 -0
- package/dist/components/AnvilForm.js.map +1 -0
- package/dist/components/fields/DateField.d.ts +15 -0
- package/dist/components/fields/DateField.d.ts.map +1 -0
- package/dist/components/fields/DateField.js +37 -0
- package/dist/components/fields/DateField.js.map +1 -0
- package/dist/components/fields/EmailField.d.ts +15 -0
- package/dist/components/fields/EmailField.d.ts.map +1 -0
- package/dist/components/fields/EmailField.js +14 -0
- package/dist/components/fields/EmailField.js.map +1 -0
- package/dist/components/fields/FieldWrapper.d.ts +17 -0
- package/dist/components/fields/FieldWrapper.d.ts.map +1 -0
- package/dist/components/fields/FieldWrapper.js +26 -0
- package/dist/components/fields/FieldWrapper.js.map +1 -0
- package/dist/components/fields/NumberField.d.ts +15 -0
- package/dist/components/fields/NumberField.d.ts.map +1 -0
- package/dist/components/fields/NumberField.js +14 -0
- package/dist/components/fields/NumberField.js.map +1 -0
- package/dist/components/fields/SelectField.d.ts +15 -0
- package/dist/components/fields/SelectField.d.ts.map +1 -0
- package/dist/components/fields/SelectField.js +19 -0
- package/dist/components/fields/SelectField.js.map +1 -0
- package/dist/components/fields/TextField.d.ts +15 -0
- package/dist/components/fields/TextField.d.ts.map +1 -0
- package/dist/components/fields/TextField.js +14 -0
- package/dist/components/fields/TextField.js.map +1 -0
- package/dist/components/fields/TextareaField.d.ts +15 -0
- package/dist/components/fields/TextareaField.d.ts.map +1 -0
- package/dist/components/fields/TextareaField.js +14 -0
- package/dist/components/fields/TextareaField.js.map +1 -0
- package/dist/components/fields/index.d.ts +11 -0
- package/dist/components/fields/index.d.ts.map +1 -0
- package/dist/components/fields/index.js +21 -0
- package/dist/components/fields/index.js.map +1 -0
- package/dist/components/index.d.ts +6 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +24 -0
- package/dist/components/index.js.map +1 -0
- package/dist/lib/fields/date.d.ts +16 -0
- package/dist/lib/fields/date.d.ts.map +1 -0
- package/dist/lib/fields/date.js +17 -0
- package/dist/lib/fields/date.js.map +1 -0
- package/dist/lib/fields/email.d.ts +16 -0
- package/dist/lib/fields/email.d.ts.map +1 -0
- package/dist/lib/fields/email.js +15 -0
- package/dist/lib/fields/email.js.map +1 -0
- package/dist/lib/fields/hidden.d.ts +9 -0
- package/dist/lib/fields/hidden.d.ts.map +1 -0
- package/dist/lib/fields/hidden.js +10 -0
- package/dist/lib/fields/hidden.js.map +1 -0
- package/dist/lib/fields/index.d.ts +8 -0
- package/dist/lib/fields/index.d.ts.map +1 -0
- package/dist/lib/fields/index.js +24 -0
- package/dist/lib/fields/index.js.map +1 -0
- package/dist/lib/fields/number.d.ts +17 -0
- package/dist/lib/fields/number.d.ts.map +1 -0
- package/dist/lib/fields/number.js +16 -0
- package/dist/lib/fields/number.js.map +1 -0
- package/dist/lib/fields/select.d.ts +20 -0
- package/dist/lib/fields/select.d.ts.map +1 -0
- package/dist/lib/fields/select.js +15 -0
- package/dist/lib/fields/select.js.map +1 -0
- package/dist/lib/fields/text.d.ts +19 -0
- package/dist/lib/fields/text.d.ts.map +1 -0
- package/dist/lib/fields/text.js +17 -0
- package/dist/lib/fields/text.js.map +1 -0
- package/dist/lib/fields/textarea.d.ts +19 -0
- package/dist/lib/fields/textarea.d.ts.map +1 -0
- package/dist/lib/fields/textarea.js +17 -0
- package/dist/lib/fields/textarea.js.map +1 -0
- package/dist/lib/fields/types.d.ts +42 -0
- package/dist/lib/fields/types.d.ts.map +1 -0
- package/dist/lib/fields/types.js +3 -0
- package/dist/lib/fields/types.js.map +1 -0
- package/dist/lib/form.d.ts +7 -0
- package/dist/lib/form.d.ts.map +1 -0
- package/dist/lib/form.js +7 -0
- package/dist/lib/form.js.map +1 -0
- package/dist/lib/resource.d.ts +21 -0
- package/dist/lib/resource.d.ts.map +1 -0
- package/dist/lib/resource.js +28 -0
- package/dist/lib/resource.js.map +1 -0
- package/dist/lib/table.d.ts +11 -0
- package/dist/lib/table.d.ts.map +1 -0
- package/dist/lib/table.js +7 -0
- package/dist/lib/table.js.map +1 -0
- package/dist/styles.css +402 -0
- package/package.json +19 -3
|
@@ -5,7 +5,7 @@ exports.formTemplate = formTemplate;
|
|
|
5
5
|
exports.tableTemplate = tableTemplate;
|
|
6
6
|
function indexTemplate(singular) {
|
|
7
7
|
return `
|
|
8
|
-
import { defineResource } from "
|
|
8
|
+
import { defineResource } from "next-anvil/resource";
|
|
9
9
|
import form from "./form";
|
|
10
10
|
import table from "./table";
|
|
11
11
|
|
|
@@ -18,8 +18,8 @@ export default defineResource({
|
|
|
18
18
|
}
|
|
19
19
|
function formTemplate(singular) {
|
|
20
20
|
return `
|
|
21
|
-
import { defineFormSchema } from "
|
|
22
|
-
import { text } from "
|
|
21
|
+
import { defineFormSchema } from "next-anvil/form";
|
|
22
|
+
import { text } from "next-anvil/fields";
|
|
23
23
|
|
|
24
24
|
export default defineFormSchema({
|
|
25
25
|
fields: {
|
|
@@ -34,7 +34,7 @@ export default defineFormSchema({
|
|
|
34
34
|
}
|
|
35
35
|
function tableTemplate() {
|
|
36
36
|
return `
|
|
37
|
-
import { defineTableSchema } from "
|
|
37
|
+
import { defineTableSchema } from "next-anvil/table";
|
|
38
38
|
|
|
39
39
|
export default defineTableSchema({
|
|
40
40
|
columns: [
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { FormSchema } from "@/lib/form";
|
|
2
|
+
interface AnvilFormProps {
|
|
3
|
+
schema: FormSchema;
|
|
4
|
+
initialData?: Record<string, any>;
|
|
5
|
+
onSubmit: (data: Record<string, any>) => Promise<void>;
|
|
6
|
+
onCancel?: () => void;
|
|
7
|
+
submitting?: boolean;
|
|
8
|
+
errors?: Record<string, string>;
|
|
9
|
+
submitLabel?: string;
|
|
10
|
+
cancelLabel?: string;
|
|
11
|
+
}
|
|
12
|
+
export declare function AnvilForm({ schema, initialData, onSubmit, onCancel, submitting: externalSubmitting, errors: externalErrors, submitLabel, cancelLabel, }: AnvilFormProps): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=AnvilForm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AnvilForm.d.ts","sourceRoot":"","sources":["../../src/components/AnvilForm.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAUxC,UAAU,cAAc;IACtB,MAAM,EAAE,UAAU,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAClC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,SAAS,CAAC,EACxB,MAAM,EACN,WAAgB,EAChB,QAAQ,EACR,QAAQ,EACR,UAAU,EAAE,kBAAkB,EAC9B,MAAM,EAAE,cAAmB,EAC3B,WAAoB,EACpB,WAAsB,GACvB,EAAE,cAAc,2CAmJhB"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
"use client";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.AnvilForm = AnvilForm;
|
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
+
const react_1 = require("react");
|
|
7
|
+
const fields_1 = require("./fields");
|
|
8
|
+
function AnvilForm({ schema, initialData = {}, onSubmit, onCancel, submitting: externalSubmitting, errors: externalErrors = {}, submitLabel = "Save", cancelLabel = "Cancel", }) {
|
|
9
|
+
const [formData, setFormData] = (0, react_1.useState)(initialData);
|
|
10
|
+
const [internalSubmitting, setInternalSubmitting] = (0, react_1.useState)(false);
|
|
11
|
+
const [internalErrors, setInternalErrors] = (0, react_1.useState)({});
|
|
12
|
+
const submitting = externalSubmitting ?? internalSubmitting;
|
|
13
|
+
const errors = { ...internalErrors, ...externalErrors };
|
|
14
|
+
async function handleSubmit(e) {
|
|
15
|
+
e.preventDefault();
|
|
16
|
+
setInternalSubmitting(true);
|
|
17
|
+
setInternalErrors({});
|
|
18
|
+
try {
|
|
19
|
+
await onSubmit(formData);
|
|
20
|
+
}
|
|
21
|
+
catch (error) {
|
|
22
|
+
const errorMap = {};
|
|
23
|
+
if (error.field) {
|
|
24
|
+
errorMap[error.field] = error.message;
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
errorMap._general = error.message || "An error occurred";
|
|
28
|
+
}
|
|
29
|
+
setInternalErrors(errorMap);
|
|
30
|
+
}
|
|
31
|
+
finally {
|
|
32
|
+
setInternalSubmitting(false);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
function renderField(fieldName, fieldSchema, value) {
|
|
36
|
+
// Skip hidden fields in form rendering
|
|
37
|
+
if (fieldSchema.type === "hidden") {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
const fieldError = errors[fieldName];
|
|
41
|
+
const isDisabled = submitting || fieldSchema.readOnly;
|
|
42
|
+
const commonProps = {
|
|
43
|
+
fieldName,
|
|
44
|
+
fieldSchema: fieldSchema,
|
|
45
|
+
value,
|
|
46
|
+
error: fieldError,
|
|
47
|
+
disabled: isDisabled,
|
|
48
|
+
};
|
|
49
|
+
switch (fieldSchema.type) {
|
|
50
|
+
case "text":
|
|
51
|
+
return ((0, jsx_runtime_1.jsx)(fields_1.TextField, { ...commonProps, onChange: (val) => setFormData({ ...formData, [fieldName]: val }) }, fieldName));
|
|
52
|
+
case "email":
|
|
53
|
+
return ((0, jsx_runtime_1.jsx)(fields_1.EmailField, { ...commonProps, onChange: (val) => setFormData({ ...formData, [fieldName]: val }) }, fieldName));
|
|
54
|
+
case "select":
|
|
55
|
+
return ((0, jsx_runtime_1.jsx)(fields_1.SelectField, { ...commonProps, onChange: (val) => setFormData({ ...formData, [fieldName]: val }) }, fieldName));
|
|
56
|
+
case "date":
|
|
57
|
+
return ((0, jsx_runtime_1.jsx)(fields_1.DateField, { ...commonProps, onChange: (val) => setFormData({ ...formData, [fieldName]: val }) }, fieldName));
|
|
58
|
+
case "number":
|
|
59
|
+
return ((0, jsx_runtime_1.jsx)(fields_1.NumberField, { ...commonProps, onChange: (val) => setFormData({ ...formData, [fieldName]: val }) }, fieldName));
|
|
60
|
+
case "textarea":
|
|
61
|
+
return ((0, jsx_runtime_1.jsx)(fields_1.TextareaField, { ...commonProps, onChange: (val) => setFormData({ ...formData, [fieldName]: val }) }, fieldName));
|
|
62
|
+
default:
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return ((0, jsx_runtime_1.jsxs)("form", { onSubmit: handleSubmit, className: "bg-white shadow rounded-lg p-6", children: [errors._general && ((0, jsx_runtime_1.jsxs)("div", { className: "mb-6 p-4 bg-red-50 border border-red-200 rounded-md text-red-700", children: [(0, jsx_runtime_1.jsx)("p", { className: "font-medium", children: "Error" }), (0, jsx_runtime_1.jsx)("p", { className: "text-sm mt-1", children: errors._general })] })), (0, jsx_runtime_1.jsx)("div", { className: "grid grid-cols-4 gap-6", children: Object.entries(schema.fields || {}).map(([fieldName, fieldSchema]) => renderField(fieldName, fieldSchema, formData[fieldName])) }), (0, jsx_runtime_1.jsxs)("div", { className: "mt-8 flex gap-3 border-t border-gray-200 pt-6", children: [(0, jsx_runtime_1.jsx)("button", { type: "submit", disabled: submitting, className: "px-4 py-2 bg-blue-600 text-white text-sm font-medium rounded-md hover:bg-blue-700 disabled:opacity-50 disabled:cursor-not-allowed transition-colors", children: submitting ? "Saving..." : submitLabel }), onCancel && ((0, jsx_runtime_1.jsx)("button", { type: "button", onClick: onCancel, disabled: submitting, className: "px-4 py-2 bg-gray-200 text-gray-700 text-sm font-medium rounded-md hover:bg-gray-300 disabled:opacity-50 transition-colors", children: cancelLabel }))] })] }));
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=AnvilForm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AnvilForm.js","sourceRoot":"","sources":["../../src/components/AnvilForm.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DateField - Date input field component
|
|
3
|
+
*/
|
|
4
|
+
import { DateFieldSchema } from "@/lib/fields";
|
|
5
|
+
interface DateFieldProps {
|
|
6
|
+
fieldName: string;
|
|
7
|
+
fieldSchema: DateFieldSchema;
|
|
8
|
+
value: any;
|
|
9
|
+
error?: string;
|
|
10
|
+
disabled?: boolean;
|
|
11
|
+
onChange: (value: string) => void;
|
|
12
|
+
}
|
|
13
|
+
export declare function DateField({ fieldName, fieldSchema, value, error, disabled, onChange, }: DateFieldProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=DateField.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DateField.d.ts","sourceRoot":"","sources":["../../../src/components/fields/DateField.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,UAAU,cAAc;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,eAAe,CAAC;IAC7B,KAAK,EAAE,GAAG,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED,wBAAgB,SAAS,CAAC,EACxB,SAAS,EACT,WAAW,EACX,KAAK,EACL,KAAK,EACL,QAAQ,EACR,QAAQ,GACT,EAAE,cAAc,2CA+ChB"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DateField = DateField;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
/**
|
|
6
|
+
* DateField - Date input field component
|
|
7
|
+
*/
|
|
8
|
+
const FieldWrapper_1 = require("./FieldWrapper");
|
|
9
|
+
function DateField({ fieldName, fieldSchema, value, error, disabled, onChange, }) {
|
|
10
|
+
const fieldId = `field-${fieldName}`;
|
|
11
|
+
const displayLabel = fieldSchema.label;
|
|
12
|
+
// Convert date value to YYYY-MM-DD format for input
|
|
13
|
+
const dateValue = (() => {
|
|
14
|
+
if (!value)
|
|
15
|
+
return "";
|
|
16
|
+
if (value instanceof Date) {
|
|
17
|
+
return value.toISOString().split("T")[0];
|
|
18
|
+
}
|
|
19
|
+
// If it's already in YYYY-MM-DD format, return as is
|
|
20
|
+
if (typeof value === "string" && /^\d{4}-\d{2}-\d{2}$/.test(value)) {
|
|
21
|
+
return value;
|
|
22
|
+
}
|
|
23
|
+
// Try to parse and convert
|
|
24
|
+
try {
|
|
25
|
+
const date = new Date(value);
|
|
26
|
+
if (!isNaN(date.getTime())) {
|
|
27
|
+
return date.toISOString().split("T")[0];
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
// Invalid date, return empty
|
|
32
|
+
}
|
|
33
|
+
return "";
|
|
34
|
+
})();
|
|
35
|
+
return ((0, jsx_runtime_1.jsx)(FieldWrapper_1.FieldWrapper, { fieldId: fieldId, label: displayLabel, required: fieldSchema.required, error: error, size: fieldSchema.size, children: (0, jsx_runtime_1.jsx)("input", { type: "date", id: fieldId, name: fieldName, value: dateValue, onChange: (e) => onChange(e.target.value), disabled: disabled || fieldSchema.readOnly, className: `w-full px-3 py-2 border text-black rounded-md shadow-sm focus:outline-none focus:ring-1 focus:ring-blue-500 focus:border-blue-500 ${error ? "border-red-500" : "border-gray-300"} ${fieldSchema.readOnly ? "bg-gray-100" : ""}` }) }));
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=DateField.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DateField.js","sourceRoot":"","sources":["../../../src/components/fields/DateField.tsx"],"names":[],"mappings":";;AAgBA,8BAsDC;;AAtED;;GAEG;AAEH,iDAA8C;AAY9C,SAAgB,SAAS,CAAC,EACxB,SAAS,EACT,WAAW,EACX,KAAK,EACL,KAAK,EACL,QAAQ,EACR,QAAQ,GACO;IACf,MAAM,OAAO,GAAG,SAAS,SAAS,EAAE,CAAC;IACrC,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC;IAEvC,oDAAoD;IACpD,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE;QACtB,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAC;QACtB,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;YAC1B,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,CAAC;QACD,qDAAqD;QACrD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACnE,OAAO,KAAK,CAAC;QACf,CAAC;QACD,2BAA2B;QAC3B,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;YAC7B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;gBAC3B,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,6BAA6B;QAC/B,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,EAAE,CAAC;IAEL,OAAO,CACL,uBAAC,2BAAY,IACX,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAC9B,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,WAAW,CAAC,IAAI,YAEtB,kCACE,IAAI,EAAC,MAAM,EACX,EAAE,EAAE,OAAO,EACX,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACzC,QAAQ,EAAE,QAAQ,IAAI,WAAW,CAAC,QAAQ,EAC1C,SAAS,EAAE,qIACT,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,iBAC7B,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,GAC/C,GACW,CAChB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* EmailField - Email input field component
|
|
3
|
+
*/
|
|
4
|
+
import { EmailFieldSchema } from "@/lib/fields";
|
|
5
|
+
interface EmailFieldProps {
|
|
6
|
+
fieldName: string;
|
|
7
|
+
fieldSchema: EmailFieldSchema;
|
|
8
|
+
value: any;
|
|
9
|
+
error?: string;
|
|
10
|
+
disabled?: boolean;
|
|
11
|
+
onChange: (value: string) => void;
|
|
12
|
+
}
|
|
13
|
+
export declare function EmailField({ fieldName, fieldSchema, value, error, disabled, onChange, }: EmailFieldProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=EmailField.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EmailField.d.ts","sourceRoot":"","sources":["../../../src/components/fields/EmailField.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,UAAU,eAAe;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,gBAAgB,CAAC;IAC9B,KAAK,EAAE,GAAG,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED,wBAAgB,UAAU,CAAC,EACzB,SAAS,EACT,WAAW,EACX,KAAK,EACL,KAAK,EACL,QAAQ,EACR,QAAQ,GACT,EAAE,eAAe,2CA0BjB"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EmailField = EmailField;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
/**
|
|
6
|
+
* EmailField - Email input field component
|
|
7
|
+
*/
|
|
8
|
+
const FieldWrapper_1 = require("./FieldWrapper");
|
|
9
|
+
function EmailField({ fieldName, fieldSchema, value, error, disabled, onChange, }) {
|
|
10
|
+
const fieldId = `field-${fieldName}`;
|
|
11
|
+
const displayLabel = fieldSchema.label || fieldName;
|
|
12
|
+
return ((0, jsx_runtime_1.jsx)(FieldWrapper_1.FieldWrapper, { fieldId: fieldId, label: displayLabel, required: fieldSchema.required, error: error, size: fieldSchema.size, children: (0, jsx_runtime_1.jsx)("input", { type: "email", id: fieldId, name: fieldName, value: value || "", onChange: (e) => onChange(e.target.value), disabled: disabled || fieldSchema.readOnly, placeholder: fieldSchema.placeholder, className: `w-full px-3 py-2 border text-black rounded-md shadow-sm focus:outline-none focus:ring-1 focus:ring-blue-500 focus:border-blue-500 ${error ? "border-red-500" : "border-gray-300"} ${fieldSchema.readOnly ? "bg-gray-100" : ""}` }) }));
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=EmailField.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EmailField.js","sourceRoot":"","sources":["../../../src/components/fields/EmailField.tsx"],"names":[],"mappings":";;AAgBA,gCAiCC;;AAjDD;;GAEG;AAEH,iDAA8C;AAY9C,SAAgB,UAAU,CAAC,EACzB,SAAS,EACT,WAAW,EACX,KAAK,EACL,KAAK,EACL,QAAQ,EACR,QAAQ,GACQ;IAChB,MAAM,OAAO,GAAG,SAAS,SAAS,EAAE,CAAC;IACrC,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,IAAI,SAAS,CAAC;IAEpD,OAAO,CACL,uBAAC,2BAAY,IACX,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAC9B,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,WAAW,CAAC,IAAI,YAEtB,kCACE,IAAI,EAAC,OAAO,EACZ,EAAE,EAAE,OAAO,EACX,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,KAAK,IAAI,EAAE,EAClB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACzC,QAAQ,EAAE,QAAQ,IAAI,WAAW,CAAC,QAAQ,EAC1C,WAAW,EAAE,WAAW,CAAC,WAAW,EACpC,SAAS,EAAE,qIACT,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,iBAC7B,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,GAC/C,GACW,CAChB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FieldWrapper - Base component for form fields
|
|
3
|
+
* Provides consistent label, error display, and styling
|
|
4
|
+
*/
|
|
5
|
+
import type { ReactNode } from "react";
|
|
6
|
+
import { FieldSize } from "@/lib/fields/types";
|
|
7
|
+
interface FieldWrapperProps {
|
|
8
|
+
fieldId: string;
|
|
9
|
+
label?: string;
|
|
10
|
+
required?: boolean;
|
|
11
|
+
error?: string;
|
|
12
|
+
size?: FieldSize;
|
|
13
|
+
children: ReactNode;
|
|
14
|
+
}
|
|
15
|
+
export declare function FieldWrapper({ fieldId, label, required, error, size, children, }: FieldWrapperProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=FieldWrapper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FieldWrapper.d.ts","sourceRoot":"","sources":["../../../src/components/fields/FieldWrapper.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,UAAU,iBAAiB;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAoBD,wBAAgB,YAAY,CAAC,EAC3B,OAAO,EACP,KAAK,EACL,QAAQ,EACR,KAAK,EACL,IAAI,EACJ,QAAQ,GACT,EAAE,iBAAiB,2CAkBnB"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FieldWrapper = FieldWrapper;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
/**
|
|
6
|
+
* Get grid column span class based on size
|
|
7
|
+
* Uses a 60-column grid system for precise widths:
|
|
8
|
+
* - large = 100% (60/60)
|
|
9
|
+
* - medium = 50% (30/60)
|
|
10
|
+
* - small = 33.33% (20/60)
|
|
11
|
+
* - tiny = 25% (15/60)
|
|
12
|
+
*/
|
|
13
|
+
function getSizeClass(size) {
|
|
14
|
+
const sizeMap = {
|
|
15
|
+
large: "col-span-4 md:col-span-4", // 100% (60/60)
|
|
16
|
+
medium: "col-span-4 md:col-span-3", // 50% (30/60)
|
|
17
|
+
small: "col-span-4 md:col-span-2", // 33.33% (20/60)
|
|
18
|
+
tiny: "col-span-4 md:col-span-1", // 25% (15/60)
|
|
19
|
+
};
|
|
20
|
+
return size ? sizeMap[size] : "col-span-4"; // Default to full width
|
|
21
|
+
}
|
|
22
|
+
function FieldWrapper({ fieldId, label, required, error, size, children, }) {
|
|
23
|
+
const sizeClass = getSizeClass(size);
|
|
24
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: sizeClass, children: [label && ((0, jsx_runtime_1.jsxs)("label", { htmlFor: fieldId, className: "block text-sm font-medium text-gray-700 mb-1", children: [label, required && (0, jsx_runtime_1.jsx)("span", { className: "text-red-500 ml-1", children: "*" })] })), children, error && (0, jsx_runtime_1.jsx)("p", { className: "mt-1 text-sm text-red-600", children: error })] }));
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=FieldWrapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FieldWrapper.js","sourceRoot":"","sources":["../../../src/components/fields/FieldWrapper.tsx"],"names":[],"mappings":";;AAmCA,oCAyBC;;AA3CD;;;;;;;GAOG;AACH,SAAS,YAAY,CAAC,IAAgB;IACpC,MAAM,OAAO,GAA8B;QACzC,KAAK,EAAE,0BAA0B,EAAE,eAAe;QAClD,MAAM,EAAE,0BAA0B,EAAE,cAAc;QAClD,KAAK,EAAE,0BAA0B,EAAE,iBAAiB;QACpD,IAAI,EAAE,0BAA0B,EAAE,cAAc;KACjD,CAAC;IACF,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,wBAAwB;AACtE,CAAC;AAED,SAAgB,YAAY,CAAC,EAC3B,OAAO,EACP,KAAK,EACL,QAAQ,EACR,KAAK,EACL,IAAI,EACJ,QAAQ,GACU;IAClB,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAErC,OAAO,CACL,iCAAK,SAAS,EAAE,SAAS,aACtB,KAAK,IAAI,CACR,mCACE,OAAO,EAAE,OAAO,EAChB,SAAS,EAAC,8CAA8C,aAEvD,KAAK,EACL,QAAQ,IAAI,iCAAM,SAAS,EAAC,mBAAmB,kBAAS,IACnD,CACT,EACA,QAAQ,EACR,KAAK,IAAI,8BAAG,SAAS,EAAC,2BAA2B,YAAE,KAAK,GAAK,IAC1D,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* NumberField - Number input field component
|
|
3
|
+
*/
|
|
4
|
+
import { NumberFieldSchema } from "@/lib/fields";
|
|
5
|
+
interface NumberFieldProps {
|
|
6
|
+
fieldName: string;
|
|
7
|
+
fieldSchema: NumberFieldSchema;
|
|
8
|
+
value: any;
|
|
9
|
+
error?: string;
|
|
10
|
+
disabled?: boolean;
|
|
11
|
+
onChange: (value: number | null) => void;
|
|
12
|
+
}
|
|
13
|
+
export declare function NumberField({ fieldName, fieldSchema, value, error, disabled, onChange, }: NumberFieldProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=NumberField.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NumberField.d.ts","sourceRoot":"","sources":["../../../src/components/fields/NumberField.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,UAAU,gBAAgB;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,iBAAiB,CAAC;IAC/B,KAAK,EAAE,GAAG,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CAC1C;AAED,wBAAgB,WAAW,CAAC,EAC1B,SAAS,EACT,WAAW,EACX,KAAK,EACL,KAAK,EACL,QAAQ,EACR,QAAQ,GACT,EAAE,gBAAgB,2CA8BlB"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NumberField = NumberField;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
/**
|
|
6
|
+
* NumberField - Number input field component
|
|
7
|
+
*/
|
|
8
|
+
const FieldWrapper_1 = require("./FieldWrapper");
|
|
9
|
+
function NumberField({ fieldName, fieldSchema, value, error, disabled, onChange, }) {
|
|
10
|
+
const fieldId = `field-${fieldName}`;
|
|
11
|
+
const displayLabel = fieldSchema.label || fieldName;
|
|
12
|
+
return ((0, jsx_runtime_1.jsx)(FieldWrapper_1.FieldWrapper, { fieldId: fieldId, label: displayLabel, required: fieldSchema.required, error: error, size: fieldSchema.size, children: (0, jsx_runtime_1.jsx)("input", { type: "number", id: fieldId, name: fieldName, value: value || "", onChange: (e) => onChange(e.target.value ? Number(e.target.value) : null), disabled: disabled || fieldSchema.readOnly, min: fieldSchema.min, max: fieldSchema.max, placeholder: fieldSchema.placeholder, className: `w-full px-3 py-2 text-black border rounded-md shadow-sm focus:outline-none focus:ring-1 focus:ring-blue-500 focus:border-blue-500 ${error ? "border-red-500" : "border-gray-300"} ${fieldSchema.readOnly ? "bg-gray-100" : ""}` }) }));
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=NumberField.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NumberField.js","sourceRoot":"","sources":["../../../src/components/fields/NumberField.tsx"],"names":[],"mappings":";;AAgBA,kCAqCC;;AArDD;;GAEG;AAEH,iDAA8C;AAY9C,SAAgB,WAAW,CAAC,EAC1B,SAAS,EACT,WAAW,EACX,KAAK,EACL,KAAK,EACL,QAAQ,EACR,QAAQ,GACS;IACjB,MAAM,OAAO,GAAG,SAAS,SAAS,EAAE,CAAC;IACrC,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,IAAI,SAAS,CAAC;IAEpD,OAAO,CACL,uBAAC,2BAAY,IACX,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAC9B,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,WAAW,CAAC,IAAI,YAEtB,kCACE,IAAI,EAAC,QAAQ,EACb,EAAE,EAAE,OAAO,EACX,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,KAAK,IAAI,EAAE,EAClB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CACd,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAE1D,QAAQ,EAAE,QAAQ,IAAI,WAAW,CAAC,QAAQ,EAC1C,GAAG,EAAE,WAAW,CAAC,GAAG,EACpB,GAAG,EAAE,WAAW,CAAC,GAAG,EACpB,WAAW,EAAE,WAAW,CAAC,WAAW,EACpC,SAAS,EAAE,sIACT,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,iBAC7B,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,GAC/C,GACW,CAChB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SelectField - Select dropdown field component
|
|
3
|
+
*/
|
|
4
|
+
import { SelectFieldSchema } from "@/lib/fields";
|
|
5
|
+
interface SelectFieldProps {
|
|
6
|
+
fieldName: string;
|
|
7
|
+
fieldSchema: SelectFieldSchema;
|
|
8
|
+
value: any;
|
|
9
|
+
error?: string;
|
|
10
|
+
disabled?: boolean;
|
|
11
|
+
onChange: (value: string) => void;
|
|
12
|
+
}
|
|
13
|
+
export declare function SelectField({ fieldName, fieldSchema, value, error, disabled, onChange, }: SelectFieldProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=SelectField.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectField.d.ts","sourceRoot":"","sources":["../../../src/components/fields/SelectField.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,UAAU,gBAAgB;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,iBAAiB,CAAC;IAC/B,KAAK,EAAE,GAAG,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED,wBAAgB,WAAW,CAAC,EAC1B,SAAS,EACT,WAAW,EACX,KAAK,EACL,KAAK,EACL,QAAQ,EACR,QAAQ,GACT,EAAE,gBAAgB,2CAqClB"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SelectField = SelectField;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
/**
|
|
6
|
+
* SelectField - Select dropdown field component
|
|
7
|
+
*/
|
|
8
|
+
const FieldWrapper_1 = require("./FieldWrapper");
|
|
9
|
+
function SelectField({ fieldName, fieldSchema, value, error, disabled, onChange, }) {
|
|
10
|
+
const fieldId = `field-${fieldName}`;
|
|
11
|
+
const displayLabel = fieldSchema.label || fieldName;
|
|
12
|
+
return ((0, jsx_runtime_1.jsx)(FieldWrapper_1.FieldWrapper, { fieldId: fieldId, label: displayLabel, required: fieldSchema.required, error: error, size: fieldSchema.size, children: (0, jsx_runtime_1.jsxs)("select", { id: fieldId, name: fieldName, value: value || "", onChange: (e) => onChange(e.target.value), disabled: disabled || fieldSchema.readOnly, className: `w-full px-3 py-2 border text-black rounded-md shadow-sm focus:outline-none focus:ring-1 focus:ring-blue-500 focus:border-blue-500 ${error ? "border-red-500" : "border-gray-300"} ${fieldSchema.readOnly ? "bg-gray-100" : ""}`, children: [(0, jsx_runtime_1.jsxs)("option", { value: "", children: ["Select ", displayLabel] }), fieldSchema.options.map((option) => {
|
|
13
|
+
const optionObject = typeof option === "string"
|
|
14
|
+
? { label: option, value: option }
|
|
15
|
+
: option;
|
|
16
|
+
return ((0, jsx_runtime_1.jsx)("option", { value: optionObject.value, children: optionObject.label }, optionObject.value));
|
|
17
|
+
})] }) }));
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=SelectField.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectField.js","sourceRoot":"","sources":["../../../src/components/fields/SelectField.tsx"],"names":[],"mappings":";;AAgBA,kCA4CC;;AA5DD;;GAEG;AAEH,iDAA8C;AAY9C,SAAgB,WAAW,CAAC,EAC1B,SAAS,EACT,WAAW,EACX,KAAK,EACL,KAAK,EACL,QAAQ,EACR,QAAQ,GACS;IACjB,MAAM,OAAO,GAAG,SAAS,SAAS,EAAE,CAAC;IACrC,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,IAAI,SAAS,CAAC;IAEpD,OAAO,CACL,uBAAC,2BAAY,IACX,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAC9B,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,WAAW,CAAC,IAAI,YAEtB,oCACE,EAAE,EAAE,OAAO,EACX,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,KAAK,IAAI,EAAE,EAClB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACzC,QAAQ,EAAE,QAAQ,IAAI,WAAW,CAAC,QAAQ,EAC1C,SAAS,EAAE,qIACT,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,iBAC7B,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,aAE/C,oCAAQ,KAAK,EAAC,EAAE,wBAAS,YAAY,IAAU,EAC9C,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;oBAClC,MAAM,YAAY,GAChB,OAAO,MAAM,KAAK,QAAQ;wBACxB,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;wBAClC,CAAC,CAAC,MAAM,CAAC;oBACb,OAAO,CACL,mCAAiC,KAAK,EAAE,YAAY,CAAC,KAAK,YACvD,YAAY,CAAC,KAAK,IADR,YAAY,CAAC,KAAK,CAEtB,CACV,CAAC;gBACJ,CAAC,CAAC,IACK,GACI,CAChB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TextField - Text input field component
|
|
3
|
+
*/
|
|
4
|
+
import { TextFieldSchema } from "@/lib/fields";
|
|
5
|
+
interface TextFieldProps {
|
|
6
|
+
fieldName: string;
|
|
7
|
+
fieldSchema: TextFieldSchema;
|
|
8
|
+
value: any;
|
|
9
|
+
error?: string;
|
|
10
|
+
disabled?: boolean;
|
|
11
|
+
onChange: (value: string) => void;
|
|
12
|
+
}
|
|
13
|
+
export declare function TextField({ fieldName, fieldSchema, value, error, disabled, onChange, }: TextFieldProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=TextField.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextField.d.ts","sourceRoot":"","sources":["../../../src/components/fields/TextField.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,UAAU,cAAc;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,eAAe,CAAC;IAC7B,KAAK,EAAE,GAAG,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED,wBAAgB,SAAS,CAAC,EACxB,SAAS,EACT,WAAW,EACX,KAAK,EACL,KAAK,EACL,QAAQ,EACR,QAAQ,GACT,EAAE,cAAc,2CA4BhB"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TextField = TextField;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
/**
|
|
6
|
+
* TextField - Text input field component
|
|
7
|
+
*/
|
|
8
|
+
const FieldWrapper_1 = require("./FieldWrapper");
|
|
9
|
+
function TextField({ fieldName, fieldSchema, value, error, disabled, onChange, }) {
|
|
10
|
+
const fieldId = `field-${fieldName}`;
|
|
11
|
+
const displayLabel = fieldSchema.label || fieldName;
|
|
12
|
+
return ((0, jsx_runtime_1.jsx)(FieldWrapper_1.FieldWrapper, { fieldId: fieldId, label: displayLabel, required: fieldSchema.required, error: error, size: fieldSchema.size, children: (0, jsx_runtime_1.jsx)("input", { type: "text", id: fieldId, name: fieldName, value: value || "", onChange: (e) => onChange(e.target.value), disabled: disabled || fieldSchema.readOnly, placeholder: fieldSchema.placeholder, minLength: fieldSchema.minLength, maxLength: fieldSchema.maxLength, className: `w-full px-3 py-2 border text-black rounded-md shadow-sm focus:outline-none focus:ring-1 focus:ring-blue-500 focus:border-blue-500 ${error ? "border-red-500" : "border-gray-300"} ${fieldSchema.readOnly ? "bg-gray-100" : ""}` }) }));
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=TextField.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextField.js","sourceRoot":"","sources":["../../../src/components/fields/TextField.tsx"],"names":[],"mappings":";;AAgBA,8BAmCC;;AAnDD;;GAEG;AAEH,iDAA8C;AAY9C,SAAgB,SAAS,CAAC,EACxB,SAAS,EACT,WAAW,EACX,KAAK,EACL,KAAK,EACL,QAAQ,EACR,QAAQ,GACO;IACf,MAAM,OAAO,GAAG,SAAS,SAAS,EAAE,CAAC;IACrC,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,IAAI,SAAS,CAAC;IAEpD,OAAO,CACL,uBAAC,2BAAY,IACX,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAC9B,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,WAAW,CAAC,IAAI,YAEtB,kCACE,IAAI,EAAC,MAAM,EACX,EAAE,EAAE,OAAO,EACX,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,KAAK,IAAI,EAAE,EAClB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACzC,QAAQ,EAAE,QAAQ,IAAI,WAAW,CAAC,QAAQ,EAC1C,WAAW,EAAE,WAAW,CAAC,WAAW,EACpC,SAAS,EAAE,WAAW,CAAC,SAAS,EAChC,SAAS,EAAE,WAAW,CAAC,SAAS,EAChC,SAAS,EAAE,qIACT,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,iBAC7B,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,GAC/C,GACW,CAChB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TextareaField - Textarea field component
|
|
3
|
+
*/
|
|
4
|
+
import { TextareaFieldSchema } from "@/lib/fields";
|
|
5
|
+
interface TextareaFieldProps {
|
|
6
|
+
fieldName: string;
|
|
7
|
+
fieldSchema: TextareaFieldSchema;
|
|
8
|
+
value: any;
|
|
9
|
+
error?: string;
|
|
10
|
+
disabled?: boolean;
|
|
11
|
+
onChange: (value: string) => void;
|
|
12
|
+
}
|
|
13
|
+
export declare function TextareaField({ fieldName, fieldSchema, value, error, disabled, onChange, }: TextareaFieldProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=TextareaField.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextareaField.d.ts","sourceRoot":"","sources":["../../../src/components/fields/TextareaField.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,UAAU,kBAAkB;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,mBAAmB,CAAC;IACjC,KAAK,EAAE,GAAG,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED,wBAAgB,aAAa,CAAC,EAC5B,SAAS,EACT,WAAW,EACX,KAAK,EACL,KAAK,EACL,QAAQ,EACR,QAAQ,GACT,EAAE,kBAAkB,2CA0BpB"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TextareaField = TextareaField;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
/**
|
|
6
|
+
* TextareaField - Textarea field component
|
|
7
|
+
*/
|
|
8
|
+
const FieldWrapper_1 = require("./FieldWrapper");
|
|
9
|
+
function TextareaField({ fieldName, fieldSchema, value, error, disabled, onChange, }) {
|
|
10
|
+
const fieldId = `field-${fieldName}`;
|
|
11
|
+
const displayLabel = fieldSchema.label || fieldName;
|
|
12
|
+
return ((0, jsx_runtime_1.jsx)(FieldWrapper_1.FieldWrapper, { fieldId: fieldId, label: displayLabel, required: fieldSchema.required, error: error, size: fieldSchema.size, children: (0, jsx_runtime_1.jsx)("textarea", { id: fieldId, name: fieldName, value: value || "", onChange: (e) => onChange(e.target.value), disabled: disabled || fieldSchema.readOnly, rows: fieldSchema.rows || 4, placeholder: fieldSchema.placeholder, className: `w-full px-3 py-2 border text-black rounded-md shadow-sm focus:outline-none focus:ring-1 focus:ring-blue-500 focus:border-blue-500 ${error ? "border-red-500" : "border-gray-300"} ${fieldSchema.readOnly ? "bg-gray-100" : ""}` }) }));
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=TextareaField.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextareaField.js","sourceRoot":"","sources":["../../../src/components/fields/TextareaField.tsx"],"names":[],"mappings":";;AAgBA,sCAiCC;;AAjDD;;GAEG;AAEH,iDAA8C;AAY9C,SAAgB,aAAa,CAAC,EAC5B,SAAS,EACT,WAAW,EACX,KAAK,EACL,KAAK,EACL,QAAQ,EACR,QAAQ,GACW;IACnB,MAAM,OAAO,GAAG,SAAS,SAAS,EAAE,CAAC;IACrC,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,IAAI,SAAS,CAAC;IAEpD,OAAO,CACL,uBAAC,2BAAY,IACX,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAC9B,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,WAAW,CAAC,IAAI,YAEtB,qCACE,EAAE,EAAE,OAAO,EACX,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,KAAK,IAAI,EAAE,EAClB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACzC,QAAQ,EAAE,QAAQ,IAAI,WAAW,CAAC,QAAQ,EAC1C,IAAI,EAAE,WAAW,CAAC,IAAI,IAAI,CAAC,EAC3B,WAAW,EAAE,WAAW,CAAC,WAAW,EACpC,SAAS,EAAE,qIACT,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,iBAC7B,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,GAC/C,GACW,CAChB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Form field components barrel export
|
|
3
|
+
*/
|
|
4
|
+
export { FieldWrapper } from "./FieldWrapper";
|
|
5
|
+
export { TextField } from "./TextField";
|
|
6
|
+
export { EmailField } from "./EmailField";
|
|
7
|
+
export { SelectField } from "./SelectField";
|
|
8
|
+
export { DateField } from "./DateField";
|
|
9
|
+
export { NumberField } from "./NumberField";
|
|
10
|
+
export { TextareaField } from "./TextareaField";
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/fields/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Form field components barrel export
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.TextareaField = exports.NumberField = exports.DateField = exports.SelectField = exports.EmailField = exports.TextField = exports.FieldWrapper = void 0;
|
|
7
|
+
var FieldWrapper_1 = require("./FieldWrapper");
|
|
8
|
+
Object.defineProperty(exports, "FieldWrapper", { enumerable: true, get: function () { return FieldWrapper_1.FieldWrapper; } });
|
|
9
|
+
var TextField_1 = require("./TextField");
|
|
10
|
+
Object.defineProperty(exports, "TextField", { enumerable: true, get: function () { return TextField_1.TextField; } });
|
|
11
|
+
var EmailField_1 = require("./EmailField");
|
|
12
|
+
Object.defineProperty(exports, "EmailField", { enumerable: true, get: function () { return EmailField_1.EmailField; } });
|
|
13
|
+
var SelectField_1 = require("./SelectField");
|
|
14
|
+
Object.defineProperty(exports, "SelectField", { enumerable: true, get: function () { return SelectField_1.SelectField; } });
|
|
15
|
+
var DateField_1 = require("./DateField");
|
|
16
|
+
Object.defineProperty(exports, "DateField", { enumerable: true, get: function () { return DateField_1.DateField; } });
|
|
17
|
+
var NumberField_1 = require("./NumberField");
|
|
18
|
+
Object.defineProperty(exports, "NumberField", { enumerable: true, get: function () { return NumberField_1.NumberField; } });
|
|
19
|
+
var TextareaField_1 = require("./TextareaField");
|
|
20
|
+
Object.defineProperty(exports, "TextareaField", { enumerable: true, get: function () { return TextareaField_1.TextareaField; } });
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/fields/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AACrB,yCAAwC;AAA/B,sGAAA,SAAS,OAAA;AAClB,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AACpB,yCAAwC;AAA/B,sGAAA,SAAS,OAAA;AAClB,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AACpB,iDAAgD;AAAvC,8GAAA,aAAa,OAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,cAAc,UAAU,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Anvil Components - Main export file
|
|
4
|
+
*/
|
|
5
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
8
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
9
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
10
|
+
}
|
|
11
|
+
Object.defineProperty(o, k2, desc);
|
|
12
|
+
}) : (function(o, m, k, k2) {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
o[k2] = m[k];
|
|
15
|
+
}));
|
|
16
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
17
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
18
|
+
};
|
|
19
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
exports.AnvilForm = void 0;
|
|
21
|
+
var AnvilForm_1 = require("./AnvilForm");
|
|
22
|
+
Object.defineProperty(exports, "AnvilForm", { enumerable: true, get: function () { return AnvilForm_1.AnvilForm; } });
|
|
23
|
+
__exportStar(require("./fields"), exports);
|
|
24
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;AAEH,yCAAwC;AAA/B,sGAAA,SAAS,OAAA;AAClB,2CAAyB"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { BaseFieldOptions } from "./types";
|
|
2
|
+
export interface DateFieldOptions extends BaseFieldOptions {
|
|
3
|
+
minDate?: Date;
|
|
4
|
+
maxDate?: Date;
|
|
5
|
+
}
|
|
6
|
+
export interface DateFieldSchema {
|
|
7
|
+
type: "date";
|
|
8
|
+
label: string;
|
|
9
|
+
required: boolean;
|
|
10
|
+
readOnly: boolean;
|
|
11
|
+
minDate: Date;
|
|
12
|
+
maxDate: Date;
|
|
13
|
+
size: DateFieldOptions["size"];
|
|
14
|
+
}
|
|
15
|
+
export declare function date(options: DateFieldOptions): DateFieldSchema;
|
|
16
|
+
//# sourceMappingURL=date.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../../src/lib/fields/date.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACtD,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,OAAO,CAAC,EAAE,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,IAAI,CAAC;IACd,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;CAClC;AAED,wBAAgB,IAAI,CAAC,OAAO,EAAE,gBAAgB,GAAG,eAAe,CAY7D"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.date = date;
|
|
4
|
+
function date(options) {
|
|
5
|
+
const minDate = options.minDate ? options.minDate : new Date(1900, 0, 1);
|
|
6
|
+
const maxDate = options.maxDate ? options.maxDate : new Date(2100, 0, 1);
|
|
7
|
+
return {
|
|
8
|
+
type: "date",
|
|
9
|
+
label: options.label,
|
|
10
|
+
required: options?.required ?? false,
|
|
11
|
+
readOnly: options?.readOnly ?? false,
|
|
12
|
+
size: options?.size ?? "medium",
|
|
13
|
+
minDate: minDate,
|
|
14
|
+
maxDate: maxDate,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=date.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date.js","sourceRoot":"","sources":["../../../src/lib/fields/date.ts"],"names":[],"mappings":";;AAiBA,oBAYG;AAZH,SAAgB,IAAI,CAAC,OAAyB;IAC1C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACzE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACzE,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,KAAK;QACpC,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,KAAK;QACpC,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,QAAQ;QAC/B,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,OAAO;KACjB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { BaseFieldOptions } from "./types";
|
|
2
|
+
export interface EmailFieldOptions extends BaseFieldOptions {
|
|
3
|
+
type: "email";
|
|
4
|
+
unique?: boolean;
|
|
5
|
+
}
|
|
6
|
+
export interface EmailFieldSchema {
|
|
7
|
+
type: "email";
|
|
8
|
+
label: string;
|
|
9
|
+
required: boolean;
|
|
10
|
+
readOnly: boolean;
|
|
11
|
+
unique: boolean;
|
|
12
|
+
placeholder: string;
|
|
13
|
+
size: EmailFieldOptions["size"];
|
|
14
|
+
}
|
|
15
|
+
export declare function email(options: EmailFieldOptions): EmailFieldSchema;
|
|
16
|
+
//# sourceMappingURL=email.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../../src/lib/fields/email.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB;IACvD,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;CACjC;AAEH,wBAAgB,KAAK,CAAC,OAAO,EAAE,iBAAiB,GAAG,gBAAgB,CAUhE"}
|