@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.
@@ -1,11 +1,13 @@
1
- import { clsx } from 'clsx';
2
- import { twMerge } from 'tailwind-merge';
3
-
1
+ 'use client';
4
2
  var __defProp = Object.defineProperty;
5
3
  var __export = (target, all) => {
6
4
  for (var name in all)
7
5
  __defProp(target, name, { get: all[name], enumerable: true });
8
6
  };
7
+
8
+ // src/lib/utils.ts
9
+ import { clsx } from "clsx";
10
+ import { twMerge } from "tailwind-merge";
9
11
  function cn(...inputs) {
10
12
  return twMerge(clsx(inputs));
11
13
  }
@@ -20,6 +22,9 @@ function getInitials(name) {
20
22
  return words[0].charAt(0) + words[1].charAt(0);
21
23
  }
22
24
 
23
- export { __export, cn, getInitials };
24
- //# sourceMappingURL=chunk-27YZ2WSP.mjs.map
25
+ export {
26
+ __export,
27
+ cn,
28
+ getInitials
29
+ };
25
30
  //# sourceMappingURL=chunk-27YZ2WSP.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/lib/utils.ts"],"names":[],"mappings":";;;;;;;;AAGO,SAAS,MAAM,MAAA,EAAsB;AAC1C,EAAA,OAAO,OAAA,CAAQ,IAAA,CAAK,MAAM,CAAC,CAAA;AAC7B;AAEO,SAAS,YAAY,IAAA,EAAc;AACxC,EAAA,MAAM,KAAA,GAAQ,IAAA,CAAK,KAAA,CAAM,GAAG,CAAA;AAC5B,EAAA,IAAI,KAAA,CAAM,WAAW,CAAA,EAAG;AACtB,IAAA,OAAO,EAAA;AAAA,EACT;AACA,EAAA,IAAI,KAAA,CAAM,WAAW,CAAA,EAAG;AACtB,IAAA,OAAO,KAAA,CAAM,CAAC,CAAA,CAAE,MAAA,CAAO,CAAC,CAAA;AAAA,EAC1B;AACA,EAAA,OAAO,KAAA,CAAM,CAAC,CAAA,CAAE,MAAA,CAAO,CAAC,IAAI,KAAA,CAAM,CAAC,CAAA,CAAE,MAAA,CAAO,CAAC,CAAA;AAC/C","file":"chunk-27YZ2WSP.mjs","sourcesContent":["import { clsx, type ClassValue } from \"clsx\"\r\nimport { twMerge } from \"tailwind-merge\"\r\n\r\nexport function cn(...inputs: ClassValue[]) {\r\n return twMerge(clsx(inputs))\r\n}\r\n\r\nexport function getInitials(name: string) {\r\n const words = name.split(' ');\r\n if (words.length === 0) {\r\n return '';\r\n }\r\n if (words.length === 1) {\r\n return words[0].charAt(0);\r\n }\r\n return words[0].charAt(0) + words[1].charAt(0);\r\n}"]}
1
+ {"version":3,"sources":["../src/lib/utils.ts"],"sourcesContent":["import { clsx, type ClassValue } from \"clsx\"\r\nimport { twMerge } from \"tailwind-merge\"\r\n\r\nexport function cn(...inputs: ClassValue[]) {\r\n return twMerge(clsx(inputs))\r\n}\r\n\r\nexport function getInitials(name: string) {\r\n const words = name.split(' ');\r\n if (words.length === 0) {\r\n return '';\r\n }\r\n if (words.length === 1) {\r\n return words[0].charAt(0);\r\n }\r\n return words[0].charAt(0) + words[1].charAt(0);\r\n}"],"mappings":";;;;;;;;AAAA,SAAS,YAA6B;AACtC,SAAS,eAAe;AAEjB,SAAS,MAAM,QAAsB;AAC1C,SAAO,QAAQ,KAAK,MAAM,CAAC;AAC7B;AAEO,SAAS,YAAY,MAAc;AACxC,QAAM,QAAQ,KAAK,MAAM,GAAG;AAC5B,MAAI,MAAM,WAAW,GAAG;AACtB,WAAO;AAAA,EACT;AACA,MAAI,MAAM,WAAW,GAAG;AACtB,WAAO,MAAM,CAAC,EAAE,OAAO,CAAC;AAAA,EAC1B;AACA,SAAO,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,EAAE,OAAO,CAAC;AAC/C;","names":[]}
package/dist/client.js CHANGED
@@ -1,30 +1,70 @@
1
- 'use strict';
2
-
3
- var React2 = require('react');
4
- var zod = require('@hookform/resolvers/zod');
5
- var reactHookForm = require('react-hook-form');
6
- var zod$1 = require('zod');
7
- var clsx = require('clsx');
8
- var tailwindMerge = require('tailwind-merge');
9
- var jsxRuntime = require('react/jsx-runtime');
1
+ 'use client';
2
+ "use strict";
3
+ "use client";
4
+ var __create = Object.create;
5
+ var __defProp = Object.defineProperty;
6
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
7
+ var __getOwnPropNames = Object.getOwnPropertyNames;
8
+ var __getProtoOf = Object.getPrototypeOf;
9
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
10
+ var __export = (target, all) => {
11
+ for (var name in all)
12
+ __defProp(target, name, { get: all[name], enumerable: true });
13
+ };
14
+ var __copyProps = (to, from, except, desc) => {
15
+ if (from && typeof from === "object" || typeof from === "function") {
16
+ for (let key of __getOwnPropNames(from))
17
+ if (!__hasOwnProp.call(to, key) && key !== except)
18
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
19
+ }
20
+ return to;
21
+ };
22
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
23
+ // If the importer is in node compatibility mode or this is not an ESM
24
+ // file that has been converted to a CommonJS file using a Babel-
25
+ // compatible transform (i.e. "__esModule" has not been set), then set
26
+ // "default" to the CommonJS "module.exports" for node compatibility.
27
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
28
+ mod
29
+ ));
30
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
10
31
 
11
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
32
+ // src/client.ts
33
+ var client_exports = {};
34
+ __export(client_exports, {
35
+ Form: () => Form_default,
36
+ FormWrapper: () => Wrapper_default,
37
+ StateProvider: () => StateProvider,
38
+ stateReducer: () => stateReducer,
39
+ useAppState: () => useAppState
40
+ });
41
+ module.exports = __toCommonJS(client_exports);
12
42
 
13
- var React2__default = /*#__PURE__*/_interopDefault(React2);
43
+ // src/components/Form/Wrapper.tsx
44
+ var import_react = require("react");
45
+ var import_zod = require("@hookform/resolvers/zod");
46
+ var import_react_hook_form = require("react-hook-form");
47
+ var import_zod2 = require("zod");
14
48
 
49
+ // src/lib/utils.ts
50
+ var import_clsx = require("clsx");
51
+ var import_tailwind_merge = require("tailwind-merge");
15
52
  function cn(...inputs) {
16
- return tailwindMerge.twMerge(clsx.clsx(inputs));
53
+ return (0, import_tailwind_merge.twMerge)((0, import_clsx.clsx)(inputs));
17
54
  }
55
+
56
+ // src/components/Form/Wrapper.tsx
57
+ var import_jsx_runtime = require("react/jsx-runtime");
18
58
  function generateZodSchema(data) {
19
59
  const fields = data.reduce((acc, f) => {
20
60
  const name = f.name || "unnamed";
21
61
  const message = f.message || `${name} is invalid`;
22
62
  const passwordLen = f.passwordLength;
23
- let fieldSchema = zod$1.z.string({ message });
63
+ let fieldSchema = import_zod2.z.string({ message });
24
64
  switch (f.type) {
25
65
  case "Text":
26
66
  case "Search":
27
- fieldSchema = zod$1.z.string({ message });
67
+ fieldSchema = import_zod2.z.string({ message });
28
68
  if (f?.min && f?.min !== "") fieldSchema = fieldSchema.min(f.min);
29
69
  else if (f.isRequired) fieldSchema = fieldSchema.min(1, { message: `${message}. Cannot be empty` });
30
70
  if (f?.max && f?.max !== "") fieldSchema = fieldSchema.max(f.max);
@@ -33,23 +73,23 @@ function generateZodSchema(data) {
33
73
  if (f?.regex) fieldSchema = fieldSchema.regex(new RegExp(f.regex));
34
74
  break;
35
75
  case "Email":
36
- fieldSchema = zod$1.z.email({ message });
76
+ fieldSchema = import_zod2.z.email({ message });
37
77
  break;
38
78
  case "Password":
39
- fieldSchema = zod$1.z.string({ message }).min(passwordLen, { message: `Password must be at least ${passwordLen} characters long` });
79
+ fieldSchema = import_zod2.z.string({ message }).min(passwordLen, { message: `Password must be at least ${passwordLen} characters long` });
40
80
  break;
41
81
  case "Phone":
42
- fieldSchema = zod$1.z.string().transform((val) => val.replace(/\D/g, "")).transform((val) => val.slice(-10)).refine((val) => {
82
+ fieldSchema = import_zod2.z.string().transform((val) => val.replace(/\D/g, "")).transform((val) => val.slice(-10)).refine((val) => {
43
83
  return val.length === 10;
44
84
  }, {
45
85
  message: "Phone number must be 10 digits long"
46
86
  });
47
87
  break;
48
88
  case "DatePicker":
49
- fieldSchema = zod$1.z.iso.date({ message });
89
+ fieldSchema = import_zod2.z.iso.date({ message });
50
90
  break;
51
91
  case "FileInput":
52
- fieldSchema = zod$1.z.instanceof(File, { message: "Please select a file" });
92
+ fieldSchema = import_zod2.z.instanceof(File, { message: "Please select a file" });
53
93
  if (f?.maxSize) {
54
94
  fieldSchema = fieldSchema.refine(
55
95
  (file) => file.size <= f.maxSize,
@@ -64,24 +104,24 @@ function generateZodSchema(data) {
64
104
  }
65
105
  break;
66
106
  case "Checkbox":
67
- fieldSchema = zod$1.z.boolean({ message });
107
+ fieldSchema = import_zod2.z.boolean({ message });
68
108
  break;
69
109
  case "Dropdown":
70
- fieldSchema = zod$1.z.string({ message });
110
+ fieldSchema = import_zod2.z.string({ message });
71
111
  break;
72
112
  case "NumberInput":
73
- fieldSchema = zod$1.z.number({ message });
113
+ fieldSchema = import_zod2.z.number({ message });
74
114
  if (f?.min !== void 0) fieldSchema = fieldSchema.min(f.min);
75
115
  if (f?.max !== void 0) fieldSchema = fieldSchema.max(f.max);
76
116
  break;
77
117
  default:
78
- fieldSchema = zod$1.z.any();
118
+ fieldSchema = import_zod2.z.any();
79
119
  }
80
120
  if (!f.isRequired) fieldSchema = fieldSchema.optional();
81
121
  acc[name] = fieldSchema;
82
122
  return acc;
83
123
  }, {});
84
- return zod$1.z.object(fields);
124
+ return import_zod2.z.object(fields);
85
125
  }
86
126
  var FormWrapper = ({
87
127
  validation,
@@ -90,12 +130,12 @@ var FormWrapper = ({
90
130
  onSubmit,
91
131
  onReset
92
132
  }) => {
93
- const schema = React2.useMemo(() => {
133
+ const schema = (0, import_react.useMemo)(() => {
94
134
  if (!validation || validation.length === 0) return null;
95
135
  return generateZodSchema(validation);
96
136
  }, [validation]);
97
- const form = reactHookForm.useForm({
98
- resolver: schema ? zod.zodResolver(schema) : void 0,
137
+ const form = (0, import_react_hook_form.useForm)({
138
+ resolver: schema ? (0, import_zod.zodResolver)(schema) : void 0,
99
139
  defaultValues
100
140
  });
101
141
  const formSubmit = (data) => {
@@ -105,7 +145,7 @@ var FormWrapper = ({
105
145
  form.reset();
106
146
  if (onReset) onReset();
107
147
  };
108
- return /* @__PURE__ */ jsxRuntime.jsx(
148
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
109
149
  "form",
110
150
  {
111
151
  onSubmit: form.handleSubmit(formSubmit),
@@ -113,21 +153,28 @@ var FormWrapper = ({
113
153
  className: cn(
114
154
  "space-y-4 min-h-[100px] h-auto flex justify-between flex-col"
115
155
  ),
116
- children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-h-[50px]", children: typeof children === "function" ? children(form) : children })
156
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "min-h-[50px]", children: typeof children === "function" ? children(form) : children })
117
157
  }
118
158
  );
119
159
  };
120
160
  var Wrapper_default = FormWrapper;
161
+
162
+ // src/components/Form/Form.tsx
163
+ var import_react2 = __toESM(require("react"));
164
+ var import_zod3 = require("@hookform/resolvers/zod");
165
+ var import_react_hook_form2 = require("react-hook-form");
166
+ var import_zod4 = require("zod");
167
+ var import_jsx_runtime2 = require("react/jsx-runtime");
121
168
  function generateZodSchema2(data) {
122
169
  const fields = data.reduce((acc, f) => {
123
170
  const name = f.name || "unnamed";
124
171
  const message = f.message || `${name} is invalid`;
125
172
  const passwordLen = f.passwordLength;
126
- let fieldSchema = zod$1.z.string({ message });
173
+ let fieldSchema = import_zod4.z.string({ message });
127
174
  switch (f.type) {
128
175
  case "Text":
129
176
  case "Search":
130
- fieldSchema = zod$1.z.string({ message });
177
+ fieldSchema = import_zod4.z.string({ message });
131
178
  if (f?.min && f?.min !== "") fieldSchema = fieldSchema.min(f.min);
132
179
  else if (f.isRequired) fieldSchema = fieldSchema.min(1, { message: `${message}. Cannot be empty` });
133
180
  if (f?.max && f?.max !== "") fieldSchema = fieldSchema.max(f.max);
@@ -136,23 +183,23 @@ function generateZodSchema2(data) {
136
183
  if (f?.regex) fieldSchema = fieldSchema.regex(new RegExp(f.regex));
137
184
  break;
138
185
  case "Email":
139
- fieldSchema = zod$1.z.email({ message });
186
+ fieldSchema = import_zod4.z.email({ message });
140
187
  break;
141
188
  case "Password":
142
- fieldSchema = zod$1.z.string({ message }).min(passwordLen, { message: `Password must be at least ${passwordLen} characters long` });
189
+ fieldSchema = import_zod4.z.string({ message }).min(passwordLen, { message: `Password must be at least ${passwordLen} characters long` });
143
190
  break;
144
191
  case "Phone":
145
- fieldSchema = zod$1.z.string().transform((val) => val.replace(/\D/g, "")).transform((val) => val.slice(-10)).refine((val) => {
192
+ fieldSchema = import_zod4.z.string().transform((val) => val.replace(/\D/g, "")).transform((val) => val.slice(-10)).refine((val) => {
146
193
  return val.length === 10;
147
194
  }, {
148
195
  message: "Phone number must be 10 digits long"
149
196
  });
150
197
  break;
151
198
  case "DatePicker":
152
- fieldSchema = zod$1.z.iso.date({ message });
199
+ fieldSchema = import_zod4.z.iso.date({ message });
153
200
  break;
154
201
  case "FileInput":
155
- fieldSchema = zod$1.z.instanceof(File, { message: "Please select a file" });
202
+ fieldSchema = import_zod4.z.instanceof(File, { message: "Please select a file" });
156
203
  if (f?.maxSize) {
157
204
  fieldSchema = fieldSchema.refine(
158
205
  (file) => file.size <= f.maxSize,
@@ -167,24 +214,24 @@ function generateZodSchema2(data) {
167
214
  }
168
215
  break;
169
216
  case "Checkbox":
170
- fieldSchema = zod$1.z.boolean({ message });
217
+ fieldSchema = import_zod4.z.boolean({ message });
171
218
  break;
172
219
  case "Dropdown":
173
- fieldSchema = zod$1.z.string({ message });
220
+ fieldSchema = import_zod4.z.string({ message });
174
221
  break;
175
222
  case "NumberInput":
176
- fieldSchema = zod$1.z.number({ message });
223
+ fieldSchema = import_zod4.z.number({ message });
177
224
  if (f?.min !== void 0) fieldSchema = fieldSchema.min(f.min);
178
225
  if (f?.max !== void 0) fieldSchema = fieldSchema.max(f.max);
179
226
  break;
180
227
  default:
181
- fieldSchema = zod$1.z.any();
228
+ fieldSchema = import_zod4.z.any();
182
229
  }
183
230
  if (!f.isRequired) fieldSchema = fieldSchema.optional();
184
231
  acc[name] = fieldSchema;
185
232
  return acc;
186
233
  }, {});
187
- return zod$1.z.object(fields);
234
+ return import_zod4.z.object(fields);
188
235
  }
189
236
  var Form = ({
190
237
  validation,
@@ -193,7 +240,7 @@ var Form = ({
193
240
  onSubmit,
194
241
  onReset
195
242
  }) => {
196
- const schema = React2.useMemo(() => {
243
+ const schema = (0, import_react2.useMemo)(() => {
197
244
  if (!validation || validation.length === 0) return null;
198
245
  return generateZodSchema2(validation);
199
246
  }, [validation]);
@@ -202,8 +249,8 @@ var Form = ({
202
249
  control,
203
250
  formState: { errors },
204
251
  reset
205
- } = reactHookForm.useForm({
206
- resolver: schema ? zod.zodResolver(schema) : void 0,
252
+ } = (0, import_react_hook_form2.useForm)({
253
+ resolver: schema ? (0, import_zod3.zodResolver)(schema) : void 0,
207
254
  defaultValues
208
255
  });
209
256
  const formSubmit = (data) => {
@@ -213,7 +260,7 @@ var Form = ({
213
260
  reset();
214
261
  if (onReset) onReset();
215
262
  };
216
- return /* @__PURE__ */ jsxRuntime.jsx(
263
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
217
264
  "form",
218
265
  {
219
266
  onSubmit: handleSubmit(formSubmit),
@@ -221,20 +268,20 @@ var Form = ({
221
268
  className: cn(
222
269
  "space-y-4 min-h-[100px] h-auto flex justify-between flex-col"
223
270
  ),
224
- children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-h-[50px]", children: React2__default.default.Children.map(children, (child) => {
271
+ children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { className: "min-h-[50px]", children: import_react2.default.Children.map(children, (child) => {
225
272
  const processChild = (child2) => {
226
- if (React2__default.default.isValidElement(child2)) {
273
+ if (import_react2.default.isValidElement(child2)) {
227
274
  const node = child2.props?.node;
228
275
  if (node?.category === "Form Controls") {
229
276
  const name = node.properties?.name || "unnamed";
230
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col", children: /* @__PURE__ */ jsxRuntime.jsx(
231
- reactHookForm.Controller,
277
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { className: "flex flex-col", children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
278
+ import_react_hook_form2.Controller,
232
279
  {
233
280
  name,
234
281
  control,
235
282
  render: ({ field: controllerField }) => {
236
283
  const childElement = child2;
237
- return React2__default.default.cloneElement(childElement, {
284
+ return import_react2.default.cloneElement(childElement, {
238
285
  input: {
239
286
  ...controllerField,
240
287
  value: controllerField.value || "",
@@ -250,11 +297,11 @@ var Form = ({
250
297
  }
251
298
  if (child2.props?.children) {
252
299
  const childElement = child2;
253
- return React2__default.default.cloneElement(childElement, {
254
- children: React2__default.default.Children.map(childElement.props.children, processChild)
300
+ return import_react2.default.cloneElement(childElement, {
301
+ children: import_react2.default.Children.map(childElement.props.children, processChild)
255
302
  });
256
303
  }
257
- return React2__default.default.cloneElement(child2);
304
+ return import_react2.default.cloneElement(child2);
258
305
  }
259
306
  return child2;
260
307
  };
@@ -276,19 +323,24 @@ function stateReducer(state, action) {
276
323
  return state;
277
324
  }
278
325
  }
279
- var StateContext = React2.createContext(null);
326
+
327
+ // src/components/StateManagment/StateContext.tsx
328
+ var import_react3 = require("react");
329
+ var import_jsx_runtime3 = require("react/jsx-runtime");
330
+ var StateContext = (0, import_react3.createContext)(null);
280
331
  function StateProvider({ children, initialState = {} }) {
281
- const [state, dispatch] = React2.useReducer(stateReducer, initialState);
282
- return /* @__PURE__ */ jsxRuntime.jsx(StateContext.Provider, { value: { state, dispatch }, children });
332
+ const [state, dispatch] = (0, import_react3.useReducer)(stateReducer, initialState);
333
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(StateContext.Provider, { value: { state, dispatch }, children });
283
334
  }
284
335
  function useAppState() {
285
- return React2.useContext(StateContext);
336
+ return (0, import_react3.useContext)(StateContext);
286
337
  }
287
-
288
- exports.Form = Form_default;
289
- exports.FormWrapper = Wrapper_default;
290
- exports.StateProvider = StateProvider;
291
- exports.stateReducer = stateReducer;
292
- exports.useAppState = useAppState;
293
- //# sourceMappingURL=client.js.map
338
+ // Annotate the CommonJS export names for ESM import in node:
339
+ 0 && (module.exports = {
340
+ Form,
341
+ FormWrapper,
342
+ StateProvider,
343
+ stateReducer,
344
+ useAppState
345
+ });
294
346
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/lib/utils.ts","../src/components/Form/Wrapper.tsx","../src/components/Form/Form.tsx","../src/components/StateManagment/stateReducer.ts","../src/components/StateManagment/StateContext.tsx"],"names":["twMerge","clsx","z","useMemo","useForm","zodResolver","jsx","generateZodSchema","React","child","Controller","createContext","useReducer","useContext"],"mappings":"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","file":"client.js","sourcesContent":["import { clsx, type ClassValue } from \"clsx\"\r\nimport { twMerge } from \"tailwind-merge\"\r\n\r\nexport function cn(...inputs: ClassValue[]) {\r\n return twMerge(clsx(inputs))\r\n}\r\n\r\nexport function getInitials(name: string) {\r\n const words = name.split(' ');\r\n if (words.length === 0) {\r\n return '';\r\n }\r\n if (words.length === 1) {\r\n return words[0].charAt(0);\r\n }\r\n return words[0].charAt(0) + words[1].charAt(0);\r\n}","'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/client.ts","../src/components/Form/Wrapper.tsx","../src/lib/utils.ts","../src/components/Form/Form.tsx","../src/components/StateManagment/stateReducer.ts","../src/components/StateManagment/StateContext.tsx"],"sourcesContent":["'use client';\r\n\r\nexport { default as FormWrapper } from './components/Form/Wrapper';\r\nexport { default as Form } from './components/Form/Form';\r\nexport { stateReducer } from './components/StateManagment/stateReducer';\r\nexport * from './components/StateManagment/StateContext';","'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;","import { clsx, type ClassValue } from \"clsx\"\r\nimport { twMerge } from \"tailwind-merge\"\r\n\r\nexport function cn(...inputs: ClassValue[]) {\r\n return twMerge(clsx(inputs))\r\n}\r\n\r\nexport function getInitials(name: string) {\r\n const words = name.split(' ');\r\n if (words.length === 0) {\r\n return '';\r\n }\r\n if (words.length === 1) {\r\n return words[0].charAt(0);\r\n }\r\n return words[0].charAt(0) + words[1].charAt(0);\r\n}","'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":["import_zod","import_react","import_zod","import_react_hook_form","import_jsx_runtime","generateZodSchema","React","child","import_react","import_jsx_runtime"]}