@algorithm-shift/design-system 1.2.52 → 1.2.54
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/chunk-27YZ2WSP.mjs +10 -5
- package/dist/chunk-27YZ2WSP.mjs.map +1 -1
- package/dist/client.js +116 -64
- package/dist/client.js.map +1 -1
- package/dist/client.mjs +48 -28
- package/dist/client.mjs.map +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +713 -472
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +583 -340
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/client.mjs
CHANGED
|
@@ -1,10 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
import { jsx } from 'react/jsx-runtime';
|
|
1
|
+
'use client';
|
|
2
|
+
"use client";
|
|
3
|
+
import {
|
|
4
|
+
cn
|
|
5
|
+
} from "./chunk-27YZ2WSP.mjs";
|
|
7
6
|
|
|
7
|
+
// src/components/Form/Wrapper.tsx
|
|
8
|
+
import { useMemo } from "react";
|
|
9
|
+
import { zodResolver } from "@hookform/resolvers/zod";
|
|
10
|
+
import { useForm } from "react-hook-form";
|
|
11
|
+
import { z } from "zod";
|
|
12
|
+
import { jsx } from "react/jsx-runtime";
|
|
8
13
|
function generateZodSchema(data) {
|
|
9
14
|
const fields = data.reduce((acc, f) => {
|
|
10
15
|
const name = f.name || "unnamed";
|
|
@@ -108,16 +113,23 @@ var FormWrapper = ({
|
|
|
108
113
|
);
|
|
109
114
|
};
|
|
110
115
|
var Wrapper_default = FormWrapper;
|
|
116
|
+
|
|
117
|
+
// src/components/Form/Form.tsx
|
|
118
|
+
import React2, { useMemo as useMemo2 } from "react";
|
|
119
|
+
import { zodResolver as zodResolver2 } from "@hookform/resolvers/zod";
|
|
120
|
+
import { useForm as useForm2, Controller } from "react-hook-form";
|
|
121
|
+
import { z as z2 } from "zod";
|
|
122
|
+
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
111
123
|
function generateZodSchema2(data) {
|
|
112
124
|
const fields = data.reduce((acc, f) => {
|
|
113
125
|
const name = f.name || "unnamed";
|
|
114
126
|
const message = f.message || `${name} is invalid`;
|
|
115
127
|
const passwordLen = f.passwordLength;
|
|
116
|
-
let fieldSchema =
|
|
128
|
+
let fieldSchema = z2.string({ message });
|
|
117
129
|
switch (f.type) {
|
|
118
130
|
case "Text":
|
|
119
131
|
case "Search":
|
|
120
|
-
fieldSchema =
|
|
132
|
+
fieldSchema = z2.string({ message });
|
|
121
133
|
if (f?.min && f?.min !== "") fieldSchema = fieldSchema.min(f.min);
|
|
122
134
|
else if (f.isRequired) fieldSchema = fieldSchema.min(1, { message: `${message}. Cannot be empty` });
|
|
123
135
|
if (f?.max && f?.max !== "") fieldSchema = fieldSchema.max(f.max);
|
|
@@ -126,23 +138,23 @@ function generateZodSchema2(data) {
|
|
|
126
138
|
if (f?.regex) fieldSchema = fieldSchema.regex(new RegExp(f.regex));
|
|
127
139
|
break;
|
|
128
140
|
case "Email":
|
|
129
|
-
fieldSchema =
|
|
141
|
+
fieldSchema = z2.email({ message });
|
|
130
142
|
break;
|
|
131
143
|
case "Password":
|
|
132
|
-
fieldSchema =
|
|
144
|
+
fieldSchema = z2.string({ message }).min(passwordLen, { message: `Password must be at least ${passwordLen} characters long` });
|
|
133
145
|
break;
|
|
134
146
|
case "Phone":
|
|
135
|
-
fieldSchema =
|
|
147
|
+
fieldSchema = z2.string().transform((val) => val.replace(/\D/g, "")).transform((val) => val.slice(-10)).refine((val) => {
|
|
136
148
|
return val.length === 10;
|
|
137
149
|
}, {
|
|
138
150
|
message: "Phone number must be 10 digits long"
|
|
139
151
|
});
|
|
140
152
|
break;
|
|
141
153
|
case "DatePicker":
|
|
142
|
-
fieldSchema =
|
|
154
|
+
fieldSchema = z2.iso.date({ message });
|
|
143
155
|
break;
|
|
144
156
|
case "FileInput":
|
|
145
|
-
fieldSchema =
|
|
157
|
+
fieldSchema = z2.instanceof(File, { message: "Please select a file" });
|
|
146
158
|
if (f?.maxSize) {
|
|
147
159
|
fieldSchema = fieldSchema.refine(
|
|
148
160
|
(file) => file.size <= f.maxSize,
|
|
@@ -157,24 +169,24 @@ function generateZodSchema2(data) {
|
|
|
157
169
|
}
|
|
158
170
|
break;
|
|
159
171
|
case "Checkbox":
|
|
160
|
-
fieldSchema =
|
|
172
|
+
fieldSchema = z2.boolean({ message });
|
|
161
173
|
break;
|
|
162
174
|
case "Dropdown":
|
|
163
|
-
fieldSchema =
|
|
175
|
+
fieldSchema = z2.string({ message });
|
|
164
176
|
break;
|
|
165
177
|
case "NumberInput":
|
|
166
|
-
fieldSchema =
|
|
178
|
+
fieldSchema = z2.number({ message });
|
|
167
179
|
if (f?.min !== void 0) fieldSchema = fieldSchema.min(f.min);
|
|
168
180
|
if (f?.max !== void 0) fieldSchema = fieldSchema.max(f.max);
|
|
169
181
|
break;
|
|
170
182
|
default:
|
|
171
|
-
fieldSchema =
|
|
183
|
+
fieldSchema = z2.any();
|
|
172
184
|
}
|
|
173
185
|
if (!f.isRequired) fieldSchema = fieldSchema.optional();
|
|
174
186
|
acc[name] = fieldSchema;
|
|
175
187
|
return acc;
|
|
176
188
|
}, {});
|
|
177
|
-
return
|
|
189
|
+
return z2.object(fields);
|
|
178
190
|
}
|
|
179
191
|
var Form = ({
|
|
180
192
|
validation,
|
|
@@ -183,7 +195,7 @@ var Form = ({
|
|
|
183
195
|
onSubmit,
|
|
184
196
|
onReset
|
|
185
197
|
}) => {
|
|
186
|
-
const schema =
|
|
198
|
+
const schema = useMemo2(() => {
|
|
187
199
|
if (!validation || validation.length === 0) return null;
|
|
188
200
|
return generateZodSchema2(validation);
|
|
189
201
|
}, [validation]);
|
|
@@ -192,8 +204,8 @@ var Form = ({
|
|
|
192
204
|
control,
|
|
193
205
|
formState: { errors },
|
|
194
206
|
reset
|
|
195
|
-
} =
|
|
196
|
-
resolver: schema ?
|
|
207
|
+
} = useForm2({
|
|
208
|
+
resolver: schema ? zodResolver2(schema) : void 0,
|
|
197
209
|
defaultValues
|
|
198
210
|
});
|
|
199
211
|
const formSubmit = (data) => {
|
|
@@ -203,7 +215,7 @@ var Form = ({
|
|
|
203
215
|
reset();
|
|
204
216
|
if (onReset) onReset();
|
|
205
217
|
};
|
|
206
|
-
return /* @__PURE__ */
|
|
218
|
+
return /* @__PURE__ */ jsx2(
|
|
207
219
|
"form",
|
|
208
220
|
{
|
|
209
221
|
onSubmit: handleSubmit(formSubmit),
|
|
@@ -211,13 +223,13 @@ var Form = ({
|
|
|
211
223
|
className: cn(
|
|
212
224
|
"space-y-4 min-h-[100px] h-auto flex justify-between flex-col"
|
|
213
225
|
),
|
|
214
|
-
children: /* @__PURE__ */
|
|
226
|
+
children: /* @__PURE__ */ jsx2("div", { className: "min-h-[50px]", children: React2.Children.map(children, (child) => {
|
|
215
227
|
const processChild = (child2) => {
|
|
216
228
|
if (React2.isValidElement(child2)) {
|
|
217
229
|
const node = child2.props?.node;
|
|
218
230
|
if (node?.category === "Form Controls") {
|
|
219
231
|
const name = node.properties?.name || "unnamed";
|
|
220
|
-
return /* @__PURE__ */
|
|
232
|
+
return /* @__PURE__ */ jsx2("div", { className: "flex flex-col", children: /* @__PURE__ */ jsx2(
|
|
221
233
|
Controller,
|
|
222
234
|
{
|
|
223
235
|
name,
|
|
@@ -266,15 +278,23 @@ function stateReducer(state, action) {
|
|
|
266
278
|
return state;
|
|
267
279
|
}
|
|
268
280
|
}
|
|
281
|
+
|
|
282
|
+
// src/components/StateManagment/StateContext.tsx
|
|
283
|
+
import { createContext, useContext, useReducer } from "react";
|
|
284
|
+
import { jsx as jsx3 } from "react/jsx-runtime";
|
|
269
285
|
var StateContext = createContext(null);
|
|
270
286
|
function StateProvider({ children, initialState = {} }) {
|
|
271
287
|
const [state, dispatch] = useReducer(stateReducer, initialState);
|
|
272
|
-
return /* @__PURE__ */
|
|
288
|
+
return /* @__PURE__ */ jsx3(StateContext.Provider, { value: { state, dispatch }, children });
|
|
273
289
|
}
|
|
274
290
|
function useAppState() {
|
|
275
291
|
return useContext(StateContext);
|
|
276
292
|
}
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
293
|
+
export {
|
|
294
|
+
Form_default as Form,
|
|
295
|
+
Wrapper_default as FormWrapper,
|
|
296
|
+
StateProvider,
|
|
297
|
+
stateReducer,
|
|
298
|
+
useAppState
|
|
299
|
+
};
|
|
280
300
|
//# sourceMappingURL=client.mjs.map
|
package/dist/client.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/Form/Wrapper.tsx","../src/components/Form/Form.tsx","../src/components/StateManagment/stateReducer.ts","../src/components/StateManagment/StateContext.tsx"],"names":["generateZodSchema","z","useMemo","useForm","zodResolver","jsx","React","child"],"mappings":"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","file":"client.mjs","sourcesContent":["'use client';\r\nimport React, { useMemo } from 'react';\r\n\r\nimport { zodResolver } from '@hookform/resolvers/zod';\r\nimport { useForm, UseFormReturn } from 'react-hook-form';\r\nimport { z } from 'zod';\r\n\r\nimport { cn } from '@/lib/utils';\r\n\r\ninterface FormWrapperProps<T extends z.ZodObject<any>> {\r\n validation?: any[];\r\n formName?: string;\r\n defaultValues?: Partial<z.infer<T>> | any;\r\n children?: React.ReactNode | ((form: UseFormReturn<z.infer<T>>) => React.ReactNode);\r\n onSubmit?: (data: z.infer<T>) => void;\r\n onReset?: () => void;\r\n}\r\n\r\nfunction generateZodSchema(data: any[]): z.ZodObject<any> {\r\n const fields = data.reduce((acc, f) => {\r\n const name = f.name || 'unnamed';\r\n const message = f.message || `${name} is invalid`;\r\n const passwordLen = f.passwordLength;\r\n\r\n let fieldSchema: any = z.string({ message });\r\n\r\n switch (f.type) {\r\n case 'Text':\r\n case 'Search':\r\n fieldSchema = z.string({ message });\r\n if (f?.min && f?.min !== '') fieldSchema = fieldSchema.min(f.min);\r\n else if (f.isRequired) fieldSchema = fieldSchema.min(1, { message: `${message}. Cannot be empty` });\r\n if (f?.max && f?.max !== '') fieldSchema = fieldSchema.max(f.max);\r\n if (f?.email) fieldSchema = fieldSchema.email();\r\n if (f?.url) fieldSchema = fieldSchema.url();\r\n if (f?.regex) fieldSchema = fieldSchema.regex(new RegExp(f.regex));\r\n break;\r\n case 'Email':\r\n fieldSchema = z.email({ message });\r\n break;\r\n case 'Password':\r\n fieldSchema = z.string({ message }).min(passwordLen, { message: `Password must be at least ${passwordLen} characters long` });\r\n break;\r\n case 'Phone':\r\n fieldSchema = z.string().transform(val => val.replace(/\\D/g, '')).transform(val => val.slice(-10)).refine(val => {\r\n return val.length === 10;\r\n }, {\r\n message: 'Phone number must be 10 digits long',\r\n });\r\n break;\r\n case 'DatePicker':\r\n fieldSchema = z.iso.date({ message });\r\n break;\r\n case 'FileInput':\r\n fieldSchema = z.instanceof(File, { message: 'Please select a file' });\r\n if (f?.maxSize) {\r\n fieldSchema = fieldSchema.refine(\r\n (file: File) => file.size <= f.maxSize,\r\n { message: `File size must be less than ${f.maxSize / 1024 / 1024}MB` }\r\n );\r\n }\r\n if (f?.acceptedTypes) {\r\n fieldSchema = fieldSchema.refine(\r\n (file: File) => f.acceptedTypes.includes(file.type),\r\n { message: `File type must be one of: ${f.acceptedTypes.join(', ')}` }\r\n );\r\n }\r\n break;\r\n case 'Checkbox':\r\n fieldSchema = z.boolean({ message });\r\n break;\r\n case 'Dropdown':\r\n fieldSchema = z.string({ message });\r\n break;\r\n case 'NumberInput':\r\n fieldSchema = z.number({ message });\r\n if (f?.min !== undefined) fieldSchema = fieldSchema.min(f.min);\r\n if (f?.max !== undefined) fieldSchema = fieldSchema.max(f.max);\r\n break;\r\n default:\r\n fieldSchema = z.any();\r\n }\r\n\r\n if (!f.isRequired) fieldSchema = fieldSchema.optional();\r\n\r\n acc[name] = fieldSchema;\r\n return acc;\r\n }, {} as Record<string, any>);\r\n return z.object(fields);\r\n}\r\n\r\nconst FormWrapper = <T extends z.ZodObject<any>>({\r\n validation,\r\n defaultValues,\r\n children,\r\n onSubmit,\r\n onReset,\r\n}: FormWrapperProps<T>) => {\r\n\r\n const schema = useMemo(() => {\r\n if (!validation || validation.length === 0) return null;\r\n return generateZodSchema(validation);\r\n }, [validation]);\r\n\r\n type FormData = z.infer<T>;\r\n\r\n const form = useForm<FormData>({\r\n resolver: schema ? zodResolver(schema) as any : undefined,\r\n defaultValues,\r\n });\r\n\r\n const formSubmit = (data: FormData) => {\r\n if (onSubmit) onSubmit(data);\r\n };\r\n\r\n const handleReset = () => {\r\n form.reset();\r\n if (onReset) onReset();\r\n };\r\n\r\n return (\r\n <form\r\n onSubmit={form.handleSubmit(formSubmit)}\r\n onReset={handleReset}\r\n className={cn(\r\n 'space-y-4 min-h-[100px] h-auto flex justify-between flex-col'\r\n )}\r\n >\r\n <div className='min-h-[50px]'>\r\n {typeof children === \"function\"\r\n ? (children as (form: UseFormReturn<FormData>) => React.ReactNode)(form)\r\n : children}\r\n </div>\r\n </form>\r\n );\r\n};\r\n\r\nexport default FormWrapper;","'use client';\r\nimport React, { useMemo } from 'react';\r\n\r\nimport { zodResolver } from '@hookform/resolvers/zod';\r\nimport { useForm, Controller } from 'react-hook-form';\r\nimport { z } from 'zod';\r\n\r\nimport { cn } from '@/lib/utils';\r\n\r\ninterface FormProps<T extends z.ZodObject<any>> {\r\n validation?: any[];\r\n formName?: string;\r\n defaultValues?: Partial<z.infer<T>> | any;\r\n children?: React.ReactNode;\r\n onSubmit?: (data: z.infer<T>) => void;\r\n onReset?: () => void;\r\n}\r\n\r\nfunction generateZodSchema(data: any[]): z.ZodObject<any> {\r\n const fields = data.reduce((acc, f) => {\r\n const name = f.name || 'unnamed';\r\n const message = f.message || `${name} is invalid`;\r\n const passwordLen = f.passwordLength;\r\n\r\n let fieldSchema: any = z.string({ message });\r\n\r\n switch (f.type) {\r\n case 'Text':\r\n case 'Search':\r\n fieldSchema = z.string({ message });\r\n if (f?.min && f?.min !== '') fieldSchema = fieldSchema.min(f.min);\r\n else if (f.isRequired) fieldSchema = fieldSchema.min(1, { message: `${message}. Cannot be empty` });\r\n if (f?.max && f?.max !== '') fieldSchema = fieldSchema.max(f.max);\r\n if (f?.email) fieldSchema = fieldSchema.email();\r\n if (f?.url) fieldSchema = fieldSchema.url();\r\n if (f?.regex) fieldSchema = fieldSchema.regex(new RegExp(f.regex));\r\n break;\r\n case 'Email':\r\n fieldSchema = z.email({ message });\r\n break;\r\n case 'Password':\r\n fieldSchema = z.string({ message }).min(passwordLen, { message: `Password must be at least ${passwordLen} characters long` });\r\n break;\r\n case 'Phone':\r\n fieldSchema = z.string().transform(val => val.replace(/\\D/g, '')).transform(val => val.slice(-10)).refine(val => {\r\n return val.length === 10;\r\n }, {\r\n message: 'Phone number must be 10 digits long',\r\n });\r\n break;\r\n case 'DatePicker':\r\n fieldSchema = z.iso.date({ message });\r\n break;\r\n case 'FileInput':\r\n fieldSchema = z.instanceof(File, { message: 'Please select a file' });\r\n if (f?.maxSize) {\r\n fieldSchema = fieldSchema.refine(\r\n (file: File) => file.size <= f.maxSize,\r\n { message: `File size must be less than ${f.maxSize / 1024 / 1024}MB` }\r\n );\r\n }\r\n if (f?.acceptedTypes) {\r\n fieldSchema = fieldSchema.refine(\r\n (file: File) => f.acceptedTypes.includes(file.type),\r\n { message: `File type must be one of: ${f.acceptedTypes.join(', ')}` }\r\n );\r\n }\r\n break;\r\n case 'Checkbox':\r\n fieldSchema = z.boolean({ message });\r\n break;\r\n case 'Dropdown':\r\n fieldSchema = z.string({ message });\r\n break;\r\n case 'NumberInput':\r\n fieldSchema = z.number({ message });\r\n if (f?.min !== undefined) fieldSchema = fieldSchema.min(f.min);\r\n if (f?.max !== undefined) fieldSchema = fieldSchema.max(f.max);\r\n break;\r\n default:\r\n fieldSchema = z.any();\r\n }\r\n\r\n if (!f.isRequired) fieldSchema = fieldSchema.optional();\r\n\r\n acc[name] = fieldSchema;\r\n return acc;\r\n }, {} as Record<string, any>);\r\n return z.object(fields);\r\n}\r\n\r\nconst Form = <T extends z.ZodObject<any>>({\r\n validation,\r\n defaultValues,\r\n children,\r\n onSubmit,\r\n onReset,\r\n}: FormProps<T>) => {\r\n\r\n const schema = useMemo(() => {\r\n if (!validation || validation.length === 0) return null;\r\n return generateZodSchema(validation);\r\n }, [validation]);\r\n\r\n type FormData = z.infer<T>;\r\n\r\n const {\r\n handleSubmit,\r\n control,\r\n formState: { errors },\r\n reset,\r\n } = useForm<FormData>({\r\n resolver: schema ? zodResolver(schema) as any : undefined,\r\n defaultValues,\r\n });\r\n\r\n const formSubmit = (data: FormData) => {\r\n if (onSubmit) onSubmit(data);\r\n };\r\n\r\n const handleReset = () => {\r\n reset();\r\n if (onReset) onReset();\r\n };\r\n\r\n return (\r\n <form\r\n onSubmit={handleSubmit(formSubmit)}\r\n onReset={handleReset}\r\n className={cn(\r\n 'space-y-4 min-h-[100px] h-auto flex justify-between flex-col'\r\n )}\r\n >\r\n <div className='min-h-[50px]'>\r\n {React.Children.map(children, child => {\r\n const processChild = (child: React.ReactNode): React.ReactNode => {\r\n if (React.isValidElement(child)) {\r\n const node = (child.props as any)?.node;\r\n\r\n if (node?.category === 'Form Controls') {\r\n const name = node.properties?.name || 'unnamed';\r\n return (\r\n <div key={node.id} className=\"flex flex-col\">\r\n <Controller\r\n name={name}\r\n control={control}\r\n render={({ field: controllerField }) => {\r\n const childElement = child as React.ReactElement<{ children?: React.ReactNode, input?: any }>;\r\n return React.cloneElement(childElement, {\r\n input: {\r\n ...controllerField,\r\n value: controllerField.value || '',\r\n hasFormContainer: true,\r\n validateOnMount: true,\r\n errorMessage: errors[name]?.message || null\r\n },\r\n children: undefined\r\n });\r\n }}\r\n />\r\n </div>\r\n );\r\n }\r\n\r\n // Recursively process children of this element\r\n if ((child as React.ReactElement<{ children?: React.ReactNode }>).props?.children) {\r\n const childElement = child as React.ReactElement<{ children?: React.ReactNode }>;\r\n return React.cloneElement(childElement, {\r\n children: React.Children.map(childElement.props.children, processChild),\r\n });\r\n }\r\n\r\n return React.cloneElement(child);\r\n }\r\n return child;\r\n };\r\n\r\n return processChild(child);\r\n })}\r\n </div>\r\n </form>\r\n );\r\n};\r\n\r\nexport default Form;","export type CanvasState = Record<string, any>;\r\n\r\nexport type CanvasAction =\r\n | { type: 'SET_STATE'; key: string; value: any }\r\n | { type: 'SET_MULTIPLE_STATES'; values: Record<string, any> };\r\n\r\nexport function stateReducer(state: CanvasState, action: CanvasAction): CanvasState {\r\n switch (action.type) {\r\n case 'SET_STATE':\r\n return { ...state, [action.key]: action.value };\r\n\r\n case 'SET_MULTIPLE_STATES':\r\n return { ...state, ...action.values };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","'use client';\r\nimport React, { createContext, useContext, useReducer } from 'react';\r\n\r\nimport { stateReducer, CanvasState } from './stateReducer';\r\n\r\nconst StateContext = createContext<any>(null);\r\n\r\nexport function StateProvider({ children, initialState = {} }: { children: React.ReactNode, initialState?: CanvasState }) {\r\n const [state, dispatch] = useReducer(stateReducer, initialState);\r\n return (\r\n <StateContext.Provider value={{ state, dispatch }}>\r\n {children}\r\n </StateContext.Provider>\r\n );\r\n}\r\n\r\nexport function useAppState() {\r\n return useContext(StateContext);\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/components/Form/Wrapper.tsx","../src/components/Form/Form.tsx","../src/components/StateManagment/stateReducer.ts","../src/components/StateManagment/StateContext.tsx"],"sourcesContent":["'use client';\r\nimport React, { useMemo } from 'react';\r\n\r\nimport { zodResolver } from '@hookform/resolvers/zod';\r\nimport { useForm, UseFormReturn } from 'react-hook-form';\r\nimport { z } from 'zod';\r\n\r\nimport { cn } from '@/lib/utils';\r\n\r\ninterface FormWrapperProps<T extends z.ZodObject<any>> {\r\n validation?: any[];\r\n formName?: string;\r\n defaultValues?: Partial<z.infer<T>> | any;\r\n children?: React.ReactNode | ((form: UseFormReturn<z.infer<T>>) => React.ReactNode);\r\n onSubmit?: (data: z.infer<T>) => void;\r\n onReset?: () => void;\r\n}\r\n\r\nfunction generateZodSchema(data: any[]): z.ZodObject<any> {\r\n const fields = data.reduce((acc, f) => {\r\n const name = f.name || 'unnamed';\r\n const message = f.message || `${name} is invalid`;\r\n const passwordLen = f.passwordLength;\r\n\r\n let fieldSchema: any = z.string({ message });\r\n\r\n switch (f.type) {\r\n case 'Text':\r\n case 'Search':\r\n fieldSchema = z.string({ message });\r\n if (f?.min && f?.min !== '') fieldSchema = fieldSchema.min(f.min);\r\n else if (f.isRequired) fieldSchema = fieldSchema.min(1, { message: `${message}. Cannot be empty` });\r\n if (f?.max && f?.max !== '') fieldSchema = fieldSchema.max(f.max);\r\n if (f?.email) fieldSchema = fieldSchema.email();\r\n if (f?.url) fieldSchema = fieldSchema.url();\r\n if (f?.regex) fieldSchema = fieldSchema.regex(new RegExp(f.regex));\r\n break;\r\n case 'Email':\r\n fieldSchema = z.email({ message });\r\n break;\r\n case 'Password':\r\n fieldSchema = z.string({ message }).min(passwordLen, { message: `Password must be at least ${passwordLen} characters long` });\r\n break;\r\n case 'Phone':\r\n fieldSchema = z.string().transform(val => val.replace(/\\D/g, '')).transform(val => val.slice(-10)).refine(val => {\r\n return val.length === 10;\r\n }, {\r\n message: 'Phone number must be 10 digits long',\r\n });\r\n break;\r\n case 'DatePicker':\r\n fieldSchema = z.iso.date({ message });\r\n break;\r\n case 'FileInput':\r\n fieldSchema = z.instanceof(File, { message: 'Please select a file' });\r\n if (f?.maxSize) {\r\n fieldSchema = fieldSchema.refine(\r\n (file: File) => file.size <= f.maxSize,\r\n { message: `File size must be less than ${f.maxSize / 1024 / 1024}MB` }\r\n );\r\n }\r\n if (f?.acceptedTypes) {\r\n fieldSchema = fieldSchema.refine(\r\n (file: File) => f.acceptedTypes.includes(file.type),\r\n { message: `File type must be one of: ${f.acceptedTypes.join(', ')}` }\r\n );\r\n }\r\n break;\r\n case 'Checkbox':\r\n fieldSchema = z.boolean({ message });\r\n break;\r\n case 'Dropdown':\r\n fieldSchema = z.string({ message });\r\n break;\r\n case 'NumberInput':\r\n fieldSchema = z.number({ message });\r\n if (f?.min !== undefined) fieldSchema = fieldSchema.min(f.min);\r\n if (f?.max !== undefined) fieldSchema = fieldSchema.max(f.max);\r\n break;\r\n default:\r\n fieldSchema = z.any();\r\n }\r\n\r\n if (!f.isRequired) fieldSchema = fieldSchema.optional();\r\n\r\n acc[name] = fieldSchema;\r\n return acc;\r\n }, {} as Record<string, any>);\r\n return z.object(fields);\r\n}\r\n\r\nconst FormWrapper = <T extends z.ZodObject<any>>({\r\n validation,\r\n defaultValues,\r\n children,\r\n onSubmit,\r\n onReset,\r\n}: FormWrapperProps<T>) => {\r\n\r\n const schema = useMemo(() => {\r\n if (!validation || validation.length === 0) return null;\r\n return generateZodSchema(validation);\r\n }, [validation]);\r\n\r\n type FormData = z.infer<T>;\r\n\r\n const form = useForm<FormData>({\r\n resolver: schema ? zodResolver(schema) as any : undefined,\r\n defaultValues,\r\n });\r\n\r\n const formSubmit = (data: FormData) => {\r\n if (onSubmit) onSubmit(data);\r\n };\r\n\r\n const handleReset = () => {\r\n form.reset();\r\n if (onReset) onReset();\r\n };\r\n\r\n return (\r\n <form\r\n onSubmit={form.handleSubmit(formSubmit)}\r\n onReset={handleReset}\r\n className={cn(\r\n 'space-y-4 min-h-[100px] h-auto flex justify-between flex-col'\r\n )}\r\n >\r\n <div className='min-h-[50px]'>\r\n {typeof children === \"function\"\r\n ? (children as (form: UseFormReturn<FormData>) => React.ReactNode)(form)\r\n : children}\r\n </div>\r\n </form>\r\n );\r\n};\r\n\r\nexport default FormWrapper;","'use client';\r\nimport React, { useMemo } from 'react';\r\n\r\nimport { zodResolver } from '@hookform/resolvers/zod';\r\nimport { useForm, Controller } from 'react-hook-form';\r\nimport { z } from 'zod';\r\n\r\nimport { cn } from '@/lib/utils';\r\n\r\ninterface FormProps<T extends z.ZodObject<any>> {\r\n validation?: any[];\r\n formName?: string;\r\n defaultValues?: Partial<z.infer<T>> | any;\r\n children?: React.ReactNode;\r\n onSubmit?: (data: z.infer<T>) => void;\r\n onReset?: () => void;\r\n}\r\n\r\nfunction generateZodSchema(data: any[]): z.ZodObject<any> {\r\n const fields = data.reduce((acc, f) => {\r\n const name = f.name || 'unnamed';\r\n const message = f.message || `${name} is invalid`;\r\n const passwordLen = f.passwordLength;\r\n\r\n let fieldSchema: any = z.string({ message });\r\n\r\n switch (f.type) {\r\n case 'Text':\r\n case 'Search':\r\n fieldSchema = z.string({ message });\r\n if (f?.min && f?.min !== '') fieldSchema = fieldSchema.min(f.min);\r\n else if (f.isRequired) fieldSchema = fieldSchema.min(1, { message: `${message}. Cannot be empty` });\r\n if (f?.max && f?.max !== '') fieldSchema = fieldSchema.max(f.max);\r\n if (f?.email) fieldSchema = fieldSchema.email();\r\n if (f?.url) fieldSchema = fieldSchema.url();\r\n if (f?.regex) fieldSchema = fieldSchema.regex(new RegExp(f.regex));\r\n break;\r\n case 'Email':\r\n fieldSchema = z.email({ message });\r\n break;\r\n case 'Password':\r\n fieldSchema = z.string({ message }).min(passwordLen, { message: `Password must be at least ${passwordLen} characters long` });\r\n break;\r\n case 'Phone':\r\n fieldSchema = z.string().transform(val => val.replace(/\\D/g, '')).transform(val => val.slice(-10)).refine(val => {\r\n return val.length === 10;\r\n }, {\r\n message: 'Phone number must be 10 digits long',\r\n });\r\n break;\r\n case 'DatePicker':\r\n fieldSchema = z.iso.date({ message });\r\n break;\r\n case 'FileInput':\r\n fieldSchema = z.instanceof(File, { message: 'Please select a file' });\r\n if (f?.maxSize) {\r\n fieldSchema = fieldSchema.refine(\r\n (file: File) => file.size <= f.maxSize,\r\n { message: `File size must be less than ${f.maxSize / 1024 / 1024}MB` }\r\n );\r\n }\r\n if (f?.acceptedTypes) {\r\n fieldSchema = fieldSchema.refine(\r\n (file: File) => f.acceptedTypes.includes(file.type),\r\n { message: `File type must be one of: ${f.acceptedTypes.join(', ')}` }\r\n );\r\n }\r\n break;\r\n case 'Checkbox':\r\n fieldSchema = z.boolean({ message });\r\n break;\r\n case 'Dropdown':\r\n fieldSchema = z.string({ message });\r\n break;\r\n case 'NumberInput':\r\n fieldSchema = z.number({ message });\r\n if (f?.min !== undefined) fieldSchema = fieldSchema.min(f.min);\r\n if (f?.max !== undefined) fieldSchema = fieldSchema.max(f.max);\r\n break;\r\n default:\r\n fieldSchema = z.any();\r\n }\r\n\r\n if (!f.isRequired) fieldSchema = fieldSchema.optional();\r\n\r\n acc[name] = fieldSchema;\r\n return acc;\r\n }, {} as Record<string, any>);\r\n return z.object(fields);\r\n}\r\n\r\nconst Form = <T extends z.ZodObject<any>>({\r\n validation,\r\n defaultValues,\r\n children,\r\n onSubmit,\r\n onReset,\r\n}: FormProps<T>) => {\r\n\r\n const schema = useMemo(() => {\r\n if (!validation || validation.length === 0) return null;\r\n return generateZodSchema(validation);\r\n }, [validation]);\r\n\r\n type FormData = z.infer<T>;\r\n\r\n const {\r\n handleSubmit,\r\n control,\r\n formState: { errors },\r\n reset,\r\n } = useForm<FormData>({\r\n resolver: schema ? zodResolver(schema) as any : undefined,\r\n defaultValues,\r\n });\r\n\r\n const formSubmit = (data: FormData) => {\r\n if (onSubmit) onSubmit(data);\r\n };\r\n\r\n const handleReset = () => {\r\n reset();\r\n if (onReset) onReset();\r\n };\r\n\r\n return (\r\n <form\r\n onSubmit={handleSubmit(formSubmit)}\r\n onReset={handleReset}\r\n className={cn(\r\n 'space-y-4 min-h-[100px] h-auto flex justify-between flex-col'\r\n )}\r\n >\r\n <div className='min-h-[50px]'>\r\n {React.Children.map(children, child => {\r\n const processChild = (child: React.ReactNode): React.ReactNode => {\r\n if (React.isValidElement(child)) {\r\n const node = (child.props as any)?.node;\r\n\r\n if (node?.category === 'Form Controls') {\r\n const name = node.properties?.name || 'unnamed';\r\n return (\r\n <div key={node.id} className=\"flex flex-col\">\r\n <Controller\r\n name={name}\r\n control={control}\r\n render={({ field: controllerField }) => {\r\n const childElement = child as React.ReactElement<{ children?: React.ReactNode, input?: any }>;\r\n return React.cloneElement(childElement, {\r\n input: {\r\n ...controllerField,\r\n value: controllerField.value || '',\r\n hasFormContainer: true,\r\n validateOnMount: true,\r\n errorMessage: errors[name]?.message || null\r\n },\r\n children: undefined\r\n });\r\n }}\r\n />\r\n </div>\r\n );\r\n }\r\n\r\n // Recursively process children of this element\r\n if ((child as React.ReactElement<{ children?: React.ReactNode }>).props?.children) {\r\n const childElement = child as React.ReactElement<{ children?: React.ReactNode }>;\r\n return React.cloneElement(childElement, {\r\n children: React.Children.map(childElement.props.children, processChild),\r\n });\r\n }\r\n\r\n return React.cloneElement(child);\r\n }\r\n return child;\r\n };\r\n\r\n return processChild(child);\r\n })}\r\n </div>\r\n </form>\r\n );\r\n};\r\n\r\nexport default Form;","export type CanvasState = Record<string, any>;\r\n\r\nexport type CanvasAction =\r\n | { type: 'SET_STATE'; key: string; value: any }\r\n | { type: 'SET_MULTIPLE_STATES'; values: Record<string, any> };\r\n\r\nexport function stateReducer(state: CanvasState, action: CanvasAction): CanvasState {\r\n switch (action.type) {\r\n case 'SET_STATE':\r\n return { ...state, [action.key]: action.value };\r\n\r\n case 'SET_MULTIPLE_STATES':\r\n return { ...state, ...action.values };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","'use client';\r\nimport React, { createContext, useContext, useReducer } from 'react';\r\n\r\nimport { stateReducer, CanvasState } from './stateReducer';\r\n\r\nconst StateContext = createContext<any>(null);\r\n\r\nexport function StateProvider({ children, initialState = {} }: { children: React.ReactNode, initialState?: CanvasState }) {\r\n const [state, dispatch] = useReducer(stateReducer, initialState);\r\n return (\r\n <StateContext.Provider value={{ state, dispatch }}>\r\n {children}\r\n </StateContext.Provider>\r\n );\r\n}\r\n\r\nexport function useAppState() {\r\n return useContext(StateContext);\r\n}\r\n"],"mappings":"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","names":["React","useMemo","zodResolver","useForm","z","jsx","generateZodSchema","z","useMemo","useForm","zodResolver","React","child","jsx"]}
|
package/dist/index.d.mts
CHANGED
|
@@ -21,7 +21,7 @@ interface ImageProps extends ElementProps {
|
|
|
21
21
|
|
|
22
22
|
type InputProperties = {
|
|
23
23
|
name?: string;
|
|
24
|
-
value?: string | undefined;
|
|
24
|
+
value?: string | undefined | any;
|
|
25
25
|
placeholder?: string | undefined;
|
|
26
26
|
errorMessage?: string | undefined;
|
|
27
27
|
isEditable?: boolean | undefined;
|
package/dist/index.d.ts
CHANGED
|
@@ -21,7 +21,7 @@ interface ImageProps extends ElementProps {
|
|
|
21
21
|
|
|
22
22
|
type InputProperties = {
|
|
23
23
|
name?: string;
|
|
24
|
-
value?: string | undefined;
|
|
24
|
+
value?: string | undefined | any;
|
|
25
25
|
placeholder?: string | undefined;
|
|
26
26
|
errorMessage?: string | undefined;
|
|
27
27
|
isEditable?: boolean | undefined;
|